データ拡張

に公開

はじめに

概要

  • シラバス:E資格2024#2
  • データ拡張の目的を理解する

モデル訓練のステップ

  1. アーキテクチャの設計
  2. 入力層設計
  3. 中間層設計
  4. 出力層設計
  5. 誤差計算
  6. モデルに誤差を反映する
  7. 重みの更新の設定をする
  8. 最適なモデルを手に入れる

キーワード

データ拡張, ノイズ付与, RandAugument,MixUp, EDA

学習内容

データ拡張(Data Augmentation)とは

  • 既存の学習データに対して人工的に変換や加工を加えて、新たなデータを作り出す手法
  • 「ラベルが変わらない」前提でやることが多い

目的

  • データ量の水増し(擬似的に増やす)
  • 過学習の防止
  • 汎化性能の向上
  • バリエーションに強いモデルの訓練

具体例

画像

  • ノイズ付与(Gaussian Filter)
  • Random flip, erase, crop, contrast, brightness,rotate:画像のパラメータをランダムで変換する
  • RandAugument:ランダムに選ばれた複数の変換操作を画像に適用する
  • MixUp:2つの異なるデータとそのラベルを混ぜ合わせて、学習に使うデータ拡張手法
手法 内容
回転・平行移動・拡大縮小 画像を回したり、ずらしたり、スケールを変える
フリップ(左右反転) 鏡写しにする(例:顔・動物画像など)
色の変化 明度・コントラスト・色相などを調整
ノイズ追加 ランダムなピクセルノイズを加える
CutOut / MixUp / CutMix 一部を隠す、複数画像を合成する(高性能)

自然言語処理

  • EDA(Easy Data Augmentation):簡単かつ効果的なデータ拡張手法。基本操作(主に同義語置換、ランダム挿入、ランダム置換、ランダム削除)で1文から複数の類似文を生成する
  • MixUp:2つの異なるデータとそのラベルを混ぜ合わせて、学習に使うデータ拡張手法
手法 内容
同義語置換 単語を同義語に置き換える(例:small → little)
単語挿入・削除・順序変更 文の構造を変えても意味が保たれるようにする
バック翻訳 一度別の言語に翻訳して戻す(例:日→英→日)
ノイズ追加 タイポ(誤字)を入れる、文字を一部削除など

音声

手法名 内容
ノイズ追加 音声にランダムな雑音(ホワイトノイズや環境音)を加える
時間伸縮 音の長さを変えるが、音高(ピッチ)は保つ
ピッチシフト 音高を変えるが、速度は保つ
リバーブ 残響音を加える(部屋やホールの響きをシミュレート)
時間シフト 音声を前後にずらす
帯域マスク 特定の周波数帯域を一時的にマスクする
音量変化 音声の音量を大きくしたり小さくする
エコー追加 遅延付きの音を加えてエコー効果
背景音ミックス 音楽や街の雑踏音をミックス
GitHubで編集を提案

Discussion