データ拡張(Data Augmentation)とは、既存の訓練データに変換を加えて新しいデータを生成し、データセットを人工的に拡大する手法です。特にデータが限られている場面で、モデルの汎化性能を向上させる効果があります。
画像データの拡張
回転、反転、スケーリング、クロッピング、色変換、ノイズ付加、Cutout、MixUp、CutMixなどが代表的です。深層学習の画像認識では標準的に使用されています。
| ひとことで言うと | 既存データに変換を加えて、学習用データを水増しする手法。 |
|---|---|
| どこで使う | 画像(回転・反転・明るさ変更)、音声(速度変更)、テキスト(言い換え)。 |
| 注意点 | 意味が変わる変換はNG。文字認識で「6」を反転させると「9」になってしまう。 |
テキストデータの拡張
同義語置換、ランダム挿入・削除・入れ替え、バックトランスレーション(他言語に翻訳して戻す)、LLMによる言い換え生成などの手法があります。
1元の画像1枚不良品のサンプル
▶
2回転・反転向きを変える
▶
3明るさ・色を変更撮影条件の違いを再現
▶
4切り抜き・拡大位置ずれに対応
▶
5枚数が数倍に少ないデータでも学習可能
注意点
データの性質を変えてしまう不適切な拡張は逆効果です。例えば、数字認識で6を180度回転すると9になってしまいます。ドメイン知識に基づいた適切な拡張手法の選択が重要です。