Mixup
- 当前网络优化方法大多遵循经验风险最小化方法 (Empirical Risk Minimization, ERM),即使用采样的样本来估计训练集整体误差。如果模型体量固定,数据量足够,即可保证使用 ERM 时训练的收敛性。但如今网络体量都很大,这就造成:(1) 网络倾向于记忆训练样本,而不是泛化;(2) 网络难以抵御分布外样本,如肉眼感官没有区别的对抗样本。解决上述问题的一个途径就是使用邻域风险最小化原则 (Vicinal Risk Minimization, VRM),即通过先验知识构造训练样本在训练集分布上的邻域值。通常做法就是传统的数据增强,如翻转,旋转,放缩等。但是这种做法过于依赖特定数据库,此外需要人类的先验知识
- 本文的贡献是提出一种新的数据增强方式 mixup,即使用线性插值的方法得到新的扩展数据 (相当于加入了如下先验知识:对两个样本线性插值得到的新样本,其标签也由两个样本标签线性插值得到. “linearity is a good inductive bias from the perspective of Occam’s razor”),在具体实现时,可以直接对一个 mini-batch 里的样本 random shuffle 后再进行 mix-up。假设
(
x
i
,
y
i
)
,
(
x
j
,
y
j
)
(x_i,y_i),(x_j,y_j)
(xi?,yi?),(xj?,yj?) 是两个训练样本,
λ
∈
[
0
,
1
]
λ\in[0,1]
λ∈[0,1],则新的拓展数据为:
其中,
λ
~
B
e
t
a
(
α
,
α
)
\lambda\sim Beta(\alpha,\alpha)
λ~Beta(α,α) (
α
>
0
\alpha>0
α>0),
α
\alpha
α 为 mixup hyper-parameter,它被用于控制插值的强度,当
α
→
0
\alpha\rightarrow0
α→0 (i.e.
λ
λ
λ 几乎只取 0, 1) 时,本文提出的拓展方法就退化到了 ERM 的情景,而当
α
\alpha
α 足够大时,mixup 可能会导致模型在训练集上欠拟合,因此,通过选取一个合适的
α
\alpha
α,就可以达到 bias-variance balance。下图展示了
α
\alpha
α 取不同值时,Beta 分布的可视化结果: 不过作者也提到,不同数据集上合适的
α
\alpha
α 取值可能会非常不同,且总的来说,模型越大,mixup 带来的提升越明显 - 实验证明,mixup 在 ImageNet-2012, CIFAR-10, CIFAR-100, Google commands (speech data) 和 UCI (tabular data) 数据集上均提高了 SOTA 模型的泛化性能。同时,mixup 还能减少网络对错误标签的记忆,提高网络对对抗样本的鲁棒性,以及稳定 GAN 网络的训练
作者在论文中也提到,三个或更多样本的 convex combinations 并不能带来进一步的性能提升。同时,只对相同标签的样本进行插值也不能带来进一步的性能提升
Experiments
Image Classification Task
ImageNet-2012
Cifar-10 and Cifar-100
α
=
1
\alpha=1
α=1
Speech data
对于音频数据,作者在频谱图上进行 mixup. 可以看到,mixup 对于规模较大的模型更有效
Memorization of Corrupted Labels
Robustness to Adversarial Examples
Tabular data
Stabilization on GANs
这里作者在 discriminator 的训练中使用了 mixup (因为也是一个 classifier),generator 还是用自己生成的 data 在 discriminator 中的 loss 来训练。上图为在两个玩具数据集上训练得到的 GAN 网络,其中蓝色点为数据集中的样本
References
|