mixup:超越经验风险最小化
论文原文:Zhang H, Cisse M, Dauphin Y N, et al. mixup: Beyond Empirical Risk Minimization[J]. 2017.
原文链接:https://arxiv.org/abs/1710.09412
1.摘要
大型深度神经网络是非常强大的,但在记忆和针对对抗样本的敏感性上却表现地不太理想。在这项研究中,我们提出了mixup,它是一个用以解决这些问题的简单学习原则。实质上,mixup是在样本对和其标签的凸组合(convex combinations)上训练神经网络的。通过这样做,mixup将神经网络正规化以支持训练样本之间的简单线性行为。我们分别在ImageNet-2012、CIFAR-10、CIFAR-100、Google命令和UCI数据集上进行试验,研究结果表明,mixup可以改进当前最先进的神经网络架构的泛化能力。我们还发现,mixup能够减少对错误标签的记忆,增加对抗样本的健壮性,并能够稳定对生成对抗网络的训练过程。
2.引入
大型深度神经网络在计算机视觉(Krizhevsky 等人于2012年提出)、语音识别(Hinton 等人于2012年提出)和强化学习(Silver等人于2016年提出)等领域均实现了突破性发展。在大多数的成功应用中,这些神经网络有两个共同点:首先,它们进行训练以将其训练数据的平均误差最小化,这种学习规则也被称为经验风险最小化(Empirical Risk Minimization,ERM)原则(Vapnik于1998年提出);其次,这些当前最先进的神经网络的大小与训练样本的数量呈线性关系。例如,Springenberg等人(于2015年提出)的网络使用106个参数来对CIFAR-10数据集中的5×104个图像进行建模,Simonyan和Zisserman(于2015年提出)的网络使用108个参数来对ImageNet-2012数据集中的106个图像进行建模,Chelba等人(于2013年提出)的网络使用2×10^10个参数对十亿单词(One Billion Word)数据集中的10^9个单词进行建模。
引人注目的是,学习理论(Vapnik和Chervonenkis于1971年提出)的经典结果告诉我们,只要学习机器(如神经网络)的大小不随着训练数据数量的增加而增加,那么ERM的收敛性就是可以得到保证的。其中,学习机器的大小是根据其参数数量,或相关地,根据其VC复杂度(Harvey等人于2017年提出)来衡量的
这一矛盾挑战了ERM训练当前神经网络模型的适应性,正如在最近的研究中所强调的那样。一方面,ERM允许大型神经网络记忆(而不是从中泛化)训练数据,即使是在强正则化,或是标签是随机分配的分类问题(Zhang等人于2017年提出)中。另一方面,在对训练分布之外的样本(也被称之为对抗样本)进行评估时,用ERM训练的神经网络会彻底地改变其预测结果(Szegedy等人于2014年提出)。这一证据表明,当测试分布与训练数据略有不同时,ERM便无法对其进行解释或为其提供泛化。那么,ERM的替代方案是什么呢?
选择在类似但不相同的样本上进行训练以增加到训练数据中的方法称为数据增强(data augmentation)(Simard等人于1998年提出),而后由邻域风险最小化原则(Vicinal Risk Minimization,VRM)形式化(Chapelle等人于2000年提出)。在VRM中,需要用人类知识来描述训练数据中每个样本周围的邻域区域。然后,可以从训练样本的附近分布中提取附加的虚拟样本,以扩大训练分布的支持。例如,当进行图像分类时,通常将一个图像的邻域定义为其水平反射、轻微旋转和轻微缩放的集合。虽然一直以来,数据增强都会促使改进泛化能力(Simard等人于1998年提出),但是该过程是依赖于数据集的,因此需要使用专家知识。除此之外,数据扩充假设邻域中的样本共享相同的类,并且不对不同类的样本之间的邻域关系进行建模。
贡献:受到这些问题的启发,我们引入了一个简单的、并且和数据无关的数据扩充例程,称为mixup。简而言之,mixup能够构建虚拟的训练样本:
![](https://img.haomeiwen.com/i6197134/6f35d35dc24e9cab.png)
其中(xi,yi)和(xj,yj)是从我们的训练数据中随机抽取的两个样本,且λ∈[0,1]。因此,mixup通过结合先验知识,即特征向量的线性插值应该导致相关目标的线性插值,来扩展训练分布。Mixup在很少的几行代码中就可以得以实施,并且引入了最少的计算开销。
尽管它很简单,但mixup在CIFAR-10、CIFAR-100和ImageNet-2012图像分类数据集中实现了当前最先进的性能。此外,当从错误数据中进行学习,或面对对抗样本时,mixup能够增强神经网络的健壮性。最后,mixup能够改善在语音和表格数据中的泛化能力,并可用于稳定GAN的训练过程。相关实验的源代码资源链接:https://coming.soon/mixup。
我们通过探讨与之前工作的联系来结束本文,并且提出一些观点以供讨论。
3.从经验风险最小到mixup
在监督学习当中,我们感兴趣的是找到一个函数f来描述随便一个特征向量X和目标向量Y之间的关系,这种关系遵循联合分布P(X,Y)。为此,我们定义了一个损失函数L用来惩罚预测值f(x)和实际目标值y之间的区别。然后呢,我们最小化在这个数据分布P上的平均损失,这也就是我们熟知的期望风险:![](https://img.haomeiwen.com/i6197134/80b5158832c0f86a.png)
不幸的是,这个分布P在绝大多数情况下都是未知的。不过呢,我们通常很容易获取一个训练数据集
![](https://img.haomeiwen.com/i6197134/9bd1e9ba59472a15.png)
![](https://img.haomeiwen.com/i6197134/d1aecdb9095b8c90.png)
![](https://img.haomeiwen.com/i6197134/f410ed76cb784019.png)
![](https://img.haomeiwen.com/i6197134/4327c7d5ef46ca75.png)
![](https://img.haomeiwen.com/i6197134/dd5c5fdfcaf2775c.png)
![](https://img.haomeiwen.com/i6197134/9ff9a0b076a25442.png)
然而,朴素估计
![](https://img.haomeiwen.com/i6197134/68d88e77dcb2002f.png)
![](https://img.haomeiwen.com/i6197134/19f0984f34302602.png)
![](https://img.haomeiwen.com/i6197134/f9de7b057677e328.png)
![](https://img.haomeiwen.com/i6197134/d1531c1041a1b335.png)
![](https://img.haomeiwen.com/i6197134/e00966223bce19b3.png)
![](https://img.haomeiwen.com/i6197134/55ff3e3f4ff596a0.png)
![](https://img.haomeiwen.com/i6197134/5422f8743abf8e30.png)
![](https://img.haomeiwen.com/i6197134/bcb9b829e21c2d33.png)
![](https://img.haomeiwen.com/i6197134/843632d715102ee6.png)
mixup的实现简单直接,下图展示了用PyTorch训练时实现mixup的几行必要的代码。
mixup究竟做了什么?mixup邻域分布可以被理解为一种数据增强方式,它令模型在处理样本和样本之间的区域时表现为线性。我们认为,这种线性建模减少了在预测训练样本以外的数据时的不适应性。从奥卡姆剃刀的原理出发,线性是一个很好的归纳偏见,因为它是最简单的可能的几种行为之一。图1显示了mixup导致决策边界从一个类到另一个类线性的转变,提供了一个更平滑的不确定性估计。图2显示了在CIFAR-10数据集上用mixup和ERM两个方法训练的两个神经网络模型的平均表现。两个模型有相同的结构,使用相同的训练过程,在同一个从训练数据里随机抽样而来的样本上来评估。用mixup训练的模型在预测训练数据之间的数据时更稳定。
![](https://img.haomeiwen.com/i6197134/1f9bebd653fc6018.png)
![](https://img.haomeiwen.com/i6197134/fe01fa4e3b489e06.png)
4.讨论
在此研究中,我们提出了mixup,一个和数据无关的、简单的数据增强原则。研究结果表明,mixup是邻域风险最小化的一种形式,它在虚拟样本(即构建为训练集中的两个随机样本及其标签的线性插值)中进行训练。将mixup集成到现有的训练管道中仅需要几行代码,并且很少或几乎没有计算开销。在广泛的评估中,结果已经表明,mixup改进了当前最先进的模型在ImageNet、CIFAR、语音和表格数据集中的泛化误差。此外,mixup有助于有助于消除对错误标签的记忆、对对抗样本的敏感性以及对抗训练的不稳定性。
在我们的实验中,以下思维趋势是一致的:随着α越来越大,实际数据的训练误差就会增加,而泛化差距会缩小。这就支持了我们的假设,即mixup隐式地控制了模型的复杂性。然而,我们还没有一个很好的理论来理解这种偏差—方差平衡(bias-variance trade-off)的“最佳点”。例如,在CIFAR-10分类中,即使在α → ∞(即仅对真实样本的平均值进行训练)的情况下,我们仍然可以在真实数据中获得非常低的训练误差。而在ImageNet分类中,当α → ∞时,真实数据的训练误差会显著增加。考虑到我们的ImageNet和Google命令实验是用不同的模型架构进行的,我们推测,增加模型容量会降低训练误差对较大的α的敏感性,从而给予mixup一个更大的优势。
与此同时,mixup还为进行进一步探索开辟了几种可能性。首先,是否有可能让类似的想法在其他类型的监督学习问题上发挥作用,比如回归和结构化预测?虽然将mixup泛化到回归问题是很简单的,但要将其应用到诸如图像分割这样的结构化预测问题上效果就不那么明显了。第二,类似的方法能否在监督学习之外的问题上有所帮助?插补原理似乎是一种合理的归纳偏置(inductive bias),即也有可能在无监督、半监督和强化学习中有所帮助。我们是否可以将mixup扩展到特征标签外插,以确保远离训练数据的强大的模型行为?虽然我们对这些方向的讨论仍然是具有推测性的,但我们对mixup未来所能开辟的可能性抱有极大的期待,并希望我们的观察结果将有助于未来的发展。
参考翻译:http://blog.csdn.net/cygqjbabx875u/article/details/78421324