データ拡張 - 訓練データを水増しする技術
画像・自然言語・音声のデータ拡張手法を整理。Mixup・CutMix・SpecAugmentなど、G検定頻出の実用テクニックを押さえます。
『データ拡張』は訓練データを水増しする技術。画像分類タスクで標準的に使われる実用テクニックです。
データ拡張って、どうやってデータを増やすの?
データ拡張(Data Augmentation) は、既存データにランダムな変換を施して新しいデータとして使う技術よ。
実質的に訓練データを増やせるの。
画像分類なら、ランダムクロップ、水平反転、回転、色調変更、ノイズ追加などが典型例ね。
写真をちょっと加工するだけで、学習データが増えちゃうんですかぁ?
そう。
例えば『猫』を水平反転しても猫のまま。
でもネットワークにとっては新しい画像なので、汎化性能が上がるのよ。
現代ではMixup、CutMix、RandAugmentなど高度な手法も登場。
Mixupは2枚の画像を線形補間して合成するの。
えっ、2枚混ぜちゃうの!?
犬と猫を0.3:0.7で混ぜた画像に、ラベル『犬0.3, 猫0.7』を付けて学習するのよ。
こうするとモデルが決定境界を滑らかに学べるの。
自然言語処理ではバックトランスレーションが有名。
日本語→英語→日本語と翻訳を往復させて言い換えを作るのよ。
翻訳を使ったデータ拡張、面白いです♪
音声認識ではSpecAugmentが広く使われる。
スペクトログラムに時間・周波数方向のマスキングをかける手法ね。
注意点は、タスクに応じて適切な変換を選ぶこと。
医療画像では過度な回転が不自然になったり、文字認識では水平反転がラベルを変えてしまったりするわ。
なるほど〜、用途に合わせて選ぶってことだね!
G検定では『データ拡張の目的 (汎化性能)』『画像・自然言語・音声の各手法』『Mixup・CutMix』を押さえて!
確認クイズ
データ拡張の手法で、2枚の画像を線形補間して合成する手法はどれか。
- Random Crop
- Mixup
- Dropout
- Batch Normalization
こたえを見る
正解: 2. Mixup
Mixupは2枚の画像を線形補間して合成し、ラベルも同様に混合する手法です。モデルが決定境界を滑らかに学ぶことで汎化性能が向上します。Random Cropは単純な切り抜き、DropoutとBatchNormはネットワーク内の技法です。
この記事の関連書籍
Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。
この記事について
G検定スタディが作成した教材です。運営について・記事の作り方
試験についてはこちらをご覧ください: JDLA G検定公式ページ