データと前処理

データ拡張 でーたかくちょう

データ拡張オーグメンテーション過学習対策画像変換訓練データ増加
データ拡張について教えて

簡単に言うとこんな感じ!

手持ちのデータを「加工・変形」して水増しするテクニックだよ。写真を回転させたり明るさを変えたりして「似て非なるデータ」を大量に作り出し、AIに豊富な経験を積ませる方法なんだ!


データ拡張とは

データ拡張(Data Augmentation)とは、既存の訓練データに対して様々な変換を加えることで、見かけ上のデータ量を増やす手法です。機械学習モデル、特にディープラーニングは大量のデータを必要とするため、データが少ない場合の過学習を防ぎ、汎化性能を高めるために広く使われています。

実際のビジネス現場では、医療画像の収集コストが高い・不良品の発生頻度が低いなど「十分なデータが集まらない」ことはよくあります。データ拡張はこうした現実的な制約を乗り越える実践的な解決策です。

変換後のデータは元データとラベルが同じである(意味が変わらない)ことが前提です。猫の写真を回転させても猫であることに変わりないため、そのまま訓練データとして使えます。


主な拡張手法

画像データの拡張

手法説明用途
水平・垂直反転左右・上下に鏡像化物体検出、分類
回転任意の角度で回転医療画像、衛星画像
クロップランダムな領域を切り抜き分類全般
明度・コントラスト変換明るさ・色味を変更照明条件の多様化
ノイズ付加ガウスノイズなどを加算ロバスト性向上
カットアウト/グリッドマスク一部領域をマスク遮蔽への耐性
MixUp / CutMix2枚の画像を合成汎化性能向上

テキストデータの拡張

手法説明
同義語置換単語を類義語で置き換え
ランダム削除・挿入単語をランダムに削除・追加
逆翻訳他言語に翻訳して戻す
LLMによる言い換えGPT等で表現を変える

音声データの拡張

  • タイムストレッチ:速度を変えて時間軸を伸縮
  • ピッチシフト:声の高さを変更
  • 背景ノイズ付加:実環境を模擬
  • SpecAugment:スペクトログラム上でマスキング

歴史と背景

  • 2012年AlexNetがImageNetで圧倒的な精度を達成。クロップ・反転の拡張が有効と実証
  • 2017年:MixUpが提案。ラベルも混合する手法として注目
  • 2019年:AutoAugmentが登場。拡張のパラメータをAI自体が探索する手法
  • 2020年代:LLMを使ったテキスト拡張が普及。合成データ生成との境界が曖昧に

拡張のやりすぎに注意

データ拡張は強力ですが、過度な拡張は逆効果になることもあります。

適切な拡張の例(文書分類)
  ○ 同義語置換、逆翻訳
  × ランダムに単語を並び替え(意味が破壊される)

適切な拡張の例(医療X線)
  ○ 輝度変換、水平反転
  × 垂直反転(臓器の位置関係が変わる)

「意味が保たれているか」を常に確認することが重要です。


関連する規格・RFC

(データ拡張に関する国際標準・RFCは特に存在しない)


関連用語