データ拡張とは何か?
定義
データセット $X = \left\{ x \in \mathbb{R}^{n} \right\}$が与えられたとしよう。適当な変換 $f_{i} : \mathbb{R}^{n} \to \mathbb{R}^{n}$を使って $X$から $X^{\prime}$を得ることをデータオーグメンテーションdata augmentationという。
$$ X^{\prime} = X \cup \left( \bigcup_{i} \left\{ f_{i}(x) : x \in X \right\} \right) $$
説明
簡単に言うと、例えば画像において、元のデータセットに含まれる画像に左右反転、白黒処理などを適用して得られた新しい画像をデータセットに追加することだ。
データオーグメンテーションが初めて登場した理由は、データ収集の困難さを克服するためだったはずだ。1 100個のデータが必要だが、100個集めるのが難しい、あるいは不可能で、50個のデータしかないとしよう。オーグメンテーションを通じてデータを100個に増やすことで、この問題を解決できる。しかし、最近では単にデータ不足を解決するためだけに使われるのではなく、むしろオーバーフィッティングを防ぐために焦点が合わせられているようだ。2
画像オーグメンテーション
回転、左右反転、拡大、縮小などの単純な変換から、Mixup、CutMix、PuzzleMixなど、複数の画像を組み合わせる技術まで、様々なものが存在する。