Image Data Augmentation : Mixupとその応用

## 0. 本記事の概要
Deep Convolutional Neural Networkは多くのComputer Visionのタスクにおいて非常に優れた性能を示しています。Deep Learningを行う上で、大量の学習データを用意する必要がありますが、医療画像をはじめとする特定の分野においては、大量の学習データを集めることができない現状が散見されます。新型コロナウイルスへの感染を肺のX線画像からAIの力で診断しようという取り組みは世界で行わておりますが、日本においては特に、学習データとなる画像不足が問題点として挙げられています。


そのように、学習データが不足している（または多様でない）場合に、「**Data Augmentation**」を行い、その問題の解決を目指します。「Augmentation」 とは「増加・増強」という意味になりますが、その意味通り、「**Data Augmentation**」とは、データのサイズや品質を向上させ、それらを用いてより優れたDeep Learningモデルを学習できるようにする一連の技術のことを指します。


**Data Augmentation**に関する手法は今まで種々提案されてきていますが（[参照](https://qiita.com/syezo/private/c2b83ea24ed8f1647bda)）、今回は、Mixing Imagesの手法の1つである[mixup](https://arxiv.org/pdf/1710.09412.pdf)について簡単な調査を行ないます。

|       |       |    
|:-----------------|------------------:|
|題名|mixup: BEYOND EMPIRICAL RISK MINIMIZATION|
|著者|Hongyi Zhang, Moustapha Cisse, Yann N. Dauphin and David Lopez-Paz|
|出版|Proceedings of IEEE International Conference on Learning Representations| 
|発行日|2018.04.27|
|URL|[Arxiv](https://arxiv.org/pdf/1710.09412.pdf)|

この論文の調査を行ない、備忘録としてまとめたいと思います。これから本記事で説明する内容は、こちらの論文に従い、図表なども引用させていただきます。

## 1. 導入
大規模なDeep Neural Networkは、Compute Visionなどの分野でのブレークスルーをおこしてきました。成功したアプリケーションには2つの共通点があります。まず、1つ目は、学習データに対する平均誤差が最小になるように訓練される点（Empirical Risk Minimizationの原理 [[]()]）。2つ目は、Neural Networkのサイズが、学習データ数に比例して直線的に変化することです。例えば、VGG16 [[]()]のネットワークは、ImageNetデータセットの106枚の画像をモデル化するために108個のパラメータを使用します。


Empirical Risk Minimizationは、強い正則化が存在する場合や、ラベルがランダムに割り当てられる分類問題においても、大規模なNeural Networkを学習可能とします。Empirical Risk Minimizationで訓練されたNeural Networkは、学習分布から少しでも離れたテストで評価されると、予測値が大きく変化することも知られている。
しかし、Empirical Risk Minimizationに代わるものは何でしょうか。学習データと似ているが異なる例で学習するために選択する方法は、Data Augmentationとして知られており、Vicinal Risk Minimization [[]()]によって形式化されています。**Data Augmentation**では、学習データに各サンプルの近傍を把握するための人間の知識が必要となります。さらに、近傍のサンプルが同クラスを共有していることを前提としており、異なるクラスのサンプル間の近傍関係をモデル化は行いません。



そこで、この論文では、**Mixup**と呼ばれるシンプルかつデータに捉われない**Data Augmentation**手法を提案します（詳細は2章）。**Mixup**は、画像のペアのconvex combination（凸結合）とそのラベルに基づいてNeural Networkを学習します。
※凸結合とは、和が1となるような非負係数を持つ点（ベクトルやスカラー、あるいはより一般にアフィン空間の点）の線型結合のことをいいます。
**Mixup**では、特徴ベクトルの線形補間は、関連するターゲットの線形補間につながるはずであるという事前知識を組み込むことで、学習データ分布を拡張します。


実験により、**Mixup**がEmpirical Risk Minimizationを用いた**Data Augmentation**を大きく上回ることが分かりました。


※コードは[こちら](https://github.com/facebookresearch/mixup-cifar10)で公開されています。

## 2.提案手法
手法自体はシンプルで、$x$を対象のデータのベクトル表現、$y$をone-hotラベルとした時、以下の式で新たなデータ($\tilde{x}$, $\tilde{y}$)を得ます。

$\tilde{x}=\lambda x_i + (1-\lambda) x_j$
$\tilde{y}=\lambda y_i + (1-\lambda) y_j$

ここで、($x_i$, $y_i$)と($x_j$, $y_j$)はデータセットからランダムに選ばれたサンプルです。また、$\lambda\in[0,1]$であり、$\lambda \sim Beta(\alpha, \alpha) \quad  \alpha \in (0, \infty)$とします。

2つのサンプルに対して、ベクトル表現、ラベル情報を線形補完して新しいサンプルを作り出す手法です。Beta分布は以下のような確率密度関数（Wikipediaより引用）


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/642312/6a80da98-fb34-b1a1-0349-46f79c1d1079.png)


**mixup**では、$\lambda \sim Beta(\alpha, \alpha)$となるため、左右対称の分布となります。$\alpha$はハイパーパラメータとなるが、$\alpha=1$のときのEmpirical Risk Minimizationとの視覚的な比較が下の図です。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/642312/c548ba1b-5f27-ba6c-868c-f4ca254c85fb.png)


緑の点とオレンジの点がそれぞれのクラスのサンプルを表していて、青い領域は新たに生成されたサンプルの分布になります。Empirical Risk Minimizationと比較して、**mixup**では、より滑らかな分布でサンプルの生成ができていることが分かります。

## 3. 実験
この章では、画像や音声などの様々なデータセットを使った実験を行っています。

### 3.1 ImageNet データセット

ImageNet-2012データセットにおいて、Random CroppingとVertical Axis Transformations [[文献](https://arxiv.org/abs/1706.02677)]を学習するために、Empirical Risk Minimization（ERM）と**mixup**を用いて実験を行っています。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/642312/610f4199-57e5-23af-14ba-dec8a3d8bd0b.png)

### 3.2 CIFAR-10/CIFAR-100データセット

CIFAR-10とCIFAR-100データセットを用いて行った実験結果です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/642312/056d3c2d-9e4f-cebe-c630-043c560035c3.png)

### 3.3 SPEECH DATA
Google commands datasetという、65,000の発話音声（1秒の長さで30クラス）を含むデータセット。これら音声の16kHz以下をスペクトラム画像に変換し、**Data Augmentation**を適用しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/642312/bae8331d-8bf0-17e9-5a0f-62946b102246.png)

VGG-11の方のデータセットで効果が確認されています。

## 4. まとめ
3章では、上で紹介した実験のほかにも、

- MEMORIZATION OF CORRUPTED LABELS
- ROBUSTNESS TO ADVERSARIAL EXAMPLES
- TABULAR DATA
- STABILIZATION OF GENERATIVE ADVERSARIAL NETWORKS (GANS)

のような実験も行っています。ここでは紹介しきれませんでしたが、非常に興味深いと実験結果も多くありました。