はじめに
H. Zhang らの論文「mixup: Beyond Empirical Risk Minimization」のまとめ
arXivは https://arxiv.org/abs/1710.09412
GitHub上には既に
https://github.com/unsky/mixup
など幾つかの実装が存在する。
要点
- 新たな data augmentation 手法である
- 別のクラスの2つのデータからある比率で新たなデータを作成し、それに対応するラベルも同じ比率で作成する
- $x$を入力データ、$y$をラベルとし、$(x_i,y_i)$と$(x_j,y_j)$という2つのサンプルに対する新たなサンプルは$\lambda \in [0,1]$を用いて以下
\tilde{x} = \lambda x_i + (1-\lambda )x_j \\
\tilde{y} = \lambda y_i + (1-\lambda )y_j
理論的な背景
Empirical Risk Minimization
教師あり学習においては真のデータ$x$、真の目標値$y$とその結合分布$P(x,y)$との関係$f \in \mathcal{F}$とし、lossを$l$とするとリスク関数は
R(f) = \int l(f(x),y)dP(x,y)
となる。しかし実際は真の分布はわからず、入手したデータとラベルの分布$P_{\delta} (x,y)$を用いて
R_{\delta}(f) = \int \mathcal{l}(f(x),y)dP_{\delta}(x,y) = \frac{1}{n} \sum^n_{i=1} l(f(x_i),y_i)
Vicinal Risk Minimization
もっと真の分布$P$に近いものを用いたい。そこで
P_v(\tilde{x} ,\tilde{y}) = \frac{1}{n} \sum^n_{i=1} v(\tilde{x} ,\tilde{y} \ | \ x_i,y_i)
とする。$v$は例えば Gaussian vicinities
v(\tilde{x} ,\tilde{y} \ | \ x_i,y_i)= \mathcal{N}(\tilde{x} - x_i, \sigma^2)
を用いた場合、結局 data augmentation としてGaussian noiseを加えたものになる。
mixupを用いる場合は
v(\tilde{x} ,\tilde{y} \ | \ x_i,y_i) = \frac{1}{n} \sum^n_{j} \mathbb{E}_{\lambda} [\delta(\tilde{x} = \lambda \cdot x_i + (1-\lambda ) \cdot x_j, \tilde{y} = \lambda \cdot y_i + (1-\lambda) \cdot y_j)]
となる。$\lambda$は$\lambda \sim Beta(\alpha, \alpha), \ for \ \alpha \in (0,\infty)$ 。
実験と結果
書きかけ
コーディング例
書きかけ