# データオーグメンテーション ## 定義 データオーグメンテーション(data augmentation)とは、訓練データの量を増やすために用いられる手法の系統である。従来は訓練データが限られる医療画像処理などのタスクで使われてきたが、大量のデータがある場合でもノイズや敵対的攻撃に対してモデルをより堅牢にする効果があることがここ数年で明らかになった。画像処理の分野で標準的な手順となっており、自然言語処理のタスクにも採用されるようになってきている。画像とテキストでは処理の手法が異なり、データフォーマットに大きく依存する。主なタイプは3つある。(Source: [[@2023__OReillyJapan__機械学習システムデザイン - Chapter 4 訓練データ]] §4.4) - **ラベルを保ったシンプルな変換**: 画像処理ではラベルを保ったまま画像にランダムな変更(トリミング、回転、反転、一部の消去)を加える。PyTorch・TensorFlow・Kerasなどの主要フレームワークが対応する。AlexNetの論文では、GPUで過去のバッチを訓練する一方、変換後の画像をCPU上のコードで生成するため計算力をほぼ必要としないと述べられている。自然言語処理では、文の意味や感情を変えないよう単語を類似する単語にランダムに置き換える手法(同義語辞書や単語埋め込み空間での近傍探索を利用)があり、訓練データを簡単に2倍や3倍に増やせる。(Source: 同 §4.4.1) - **摂動(perturbation)**: ラベルを保ったまま操作する点は同じだが、モデルを騙して予測を誤らせる目的でも使われるため独立して扱われる。ニューラルネットワークはノイズに敏感で、Suらは1ピクセルの変更だけでKaggle CIFAR-10のテスト画像の67.97%、ImageNetのテスト画像の16.04%を誤分類させられることを示した。画像の解像度が高くなるほど敵対的攻撃の成功率は高くなる。ノイズを加えて誤分類を誘発するデータは敵対的サンプル(adversarial example)、その作成手法は敵対的攻撃(adversarial attack)と呼ばれ、DeepFool(必要最小限のノイズを見つけるアルゴリズム)などがある。この種のオーグメンテーションは敵対的オーグメンテーションと呼ばれ、決定境界近くのノイズを含むサンプルを追加することで決定境界の弱点をモデルが認識しパフォーマンスを改善できる。自然言語処理では文字の追加が文を意味不明にしやすいため敵対的オーグメンテーションは一般的でないが、BERTは各シーケンスの全トークンの15%をランダムに選び、その10%(全体の1.5%)をランダムな単語に置き換える摂動によりわずかなパフォーマンス向上を示した。(Source: 同 §4.4.2) - **データの合成**: 訓練データの一部を合成してモデルのパフォーマンスを向上させる。自然言語処理ではテンプレート(例:「[LOCATION]から[NUMBER]マイル以内にある[CUISINE]料理店を教えて」)から大量の訓練用の質問文を生成できる。画像処理では、犬(0)と猫(1)のようにラベルの異なる2サンプルの凸結合 $x' = \gamma x_1 + (1-\gamma) x_2$ から連続的なラベル $\gamma \times 0 + (1-\gamma) \times 1$ を持つ新サンプルを生成するミックスアップ(mixup)があり、不正なラベルの記録を減らし敵対的サンプルへの頑健性を高め、GAN訓練を安定させることが示されている。Sandfortらは、CycleGANで生成した画像を訓練データに加えることでCTスキャン画像のセグメンテーションタスクのパフォーマンスを大幅に向上させた。ニューラルネットワークによる訓練データの合成は活発に研究されているが実現場ではまだあまり普及していない。(Source: 同 §4.4.3) ## 横断的知見 (この節は今後、複数ソースの突き合わせで得られた知見を蓄積する。現時点では単一ソース([[@2023__OReillyJapan__機械学習システムデザイン - Chapter 4 訓練データ]])からの知見のみ。) ## 未解決の問い - ラベルを保ったシンプルな変換・摂動・データの合成の3タイプはどのような順序・組み合わせで適用すべきか。本ソースは3タイプを並列に説明するのみで、適用順序や組み合わせの指針は示さない。 - 敵対的オーグメンテーションで追加するノイズの強度(決定境界近くのサンプルをどの程度の頻度・強度で追加すべきか)についての定量的な基準は示されていない。 - ミックスアップの凸結合パラメータ$\gamma$の選び方(固定か分布からサンプリングするか)や、複数サンプルへの拡張は本ソースでは扱われていない。 - 自然言語処理での敵対的オーグメンテーションが一般的でない理由(文字追加が文を意味不明にしやすい)を克服する手法(単語埋め込み空間での摂動など)は、半教師学習の摂動([[ラベル不足への対処]])とどう関係するか。本ソースは両者を別々に説明するのみで接続していない。 ## 関連 - source: [[@2023__OReillyJapan__機械学習システムデザイン - Chapter 4 訓練データ]] - concept: [[ラベル不足への対処]](半教師学習の摂動仮説・能動学習のサンプル合成と重なる領域) / [[サンプリング手法]](データの水増しという点で対をなす、データの間引き手法) ## 出典 - Chip Huyen 著, 江川崇・平山順一 訳, 『機械学習システムデザイン』, オライリー・ジャパン, 2023, 4 章, §4.4.