データ拡張

Data Augmentation

データ拡張(Data Augmentation)とは、既存の訓練データに変換を加えて新しいデータを生成し、データセットを人工的に拡大する手法です。特にデータが限られている場面で、モデルの汎化性能を向上させる効果があります。

画像データの拡張

回転、反転、スケーリング、クロッピング、色変換、ノイズ付加、Cutout、MixUp、CutMixなどが代表的です。深層学習の画像認識では標準的に使用されています。

表:データ拡張の要点まとめ
ひとことで言うと既存データに変換を加えて、学習用データを水増しする手法。
どこで使う画像(回転・反転・明るさ変更)、音声(速度変更)、テキスト(言い換え)。
注意点意味が変わる変換はNG。文字認識で「6」を反転させると「9」になってしまう。

テキストデータの拡張

同義語置換、ランダム挿入・削除・入れ替え、バックトランスレーション(他言語に翻訳して戻す)、LLMによる言い換え生成などの手法があります。

図:画像のデータ拡張の例
1元の画像1枚不良品のサンプル
▶
2回転・反転向きを変える
▶
3明るさ・色を変更撮影条件の違いを再現
▶
4切り抜き・拡大位置ずれに対応
▶
5枚数が数倍に少ないデータでも学習可能

注意点

データの性質を変えてしまう不適切な拡張は逆効果です。例えば、数字認識で6を180度回転すると9になってしまいます。ドメイン知識に基づいた適切な拡張手法の選択が重要です。