データ拡張 とは
学習データの人工的な拡張
データ拡張
データ拡張は、既存データの修正コピーを作成することで、学習データの量を人工的に増やす技術です。
なぜ拡張を使うのか
- データセットサイズの増加 — 学習に十分なデータがない場合
- 過学習の防止 — モデルが多様なバリエーションから学習
- 堅牢性の向上 — 新しいデータでの汎化性能が向上
- コスト削減 — 実データ収集より安価
画像の手法
| 手法 | 説明 | |------|------| | 回転 | 任意の角度で回転 | | 反転 | 水平/垂直ミラーリング | | スケーリング | ズームイン/アウト | | クロップ | 画像の一部をランダムに切り取り | | 明るさ/コントラスト | 色特性の調整 | | ノイズ | ガウシアンノイズの追加 | | Cutout/Mixup | 現代的な技術 |
テキストの手法
- 逆翻訳 — 別言語を介して往復翻訳
- 同義語 — 単語を同義語に置換
- 挿入/削除 — ランダムな単語
- シャッフル — 語順の変更
- 生成 — LLMで新しいテキストを作成
音声の手法
- 再生速度の変更
- ピッチシフト
- 背景ノイズの追加
- タイムワーピング
ツール
- imgaug — 画像拡張ライブラリ(Python)
- Albumentations — 高速画像拡張
- nlpaug — テキスト拡張
- audiomentations — 音声拡張
- TensorFlow/PyTorch — 組み込み変換レイヤー