- 作者:陈亦新(欢迎交流共同进步)
- 联系方式:微信cyx645016617
- 论文名称:mixup:beyond empirical risk minimization
综述
Mixup是MIT在ICLR 2018年上提出的一种数据增强算法。再介绍MixUP之间,我们首先简单了解两个概念:
- 经验风险最小化Empirical risk minimization ERM
- 临域风险最小化Vicinal Risk Minimization VRM
经验风险最小化是目前大多数网络优化都遵循的一个原则,即使用已知的经验数据(训练样本)训练得到的学习器的误差,也叫做经验误差或者训练误差。相对的,在新的样本(测试集、未知样本)上的误差称为“泛化误差”,显然,我们希望学习器的“泛化误差”越小越好。然而,通常我们事先并不知道新样本是什么样子的,实际能做的是努力使得经验误差越小越好。但是过分减小经验误差,可能会扩大泛化误差。
关于泛化性,通常可以通过大规模训练数据提高,但是实际上,获取有标签的大规模数据需要耗费巨大的人工成本,甚至有些情况下根本无法获取数据。解决这个问题的一个有效途径是“邻域风险最小化”,即通过先验知识构造训练样本的邻域值,一般的做法就是传统的数据增强方法,比如加噪、翻转、缩放等。但是这种方法比较依赖于特定的数据集和人类的先验知识。
Mixup是一种一般性的,不针对特定数据集的邻域分布方式。
数学公式
首先来看一般训练模型的经验风险的公式。其中x和y分别是样本和标签,两者服从分布P,因此我们的expected risk:
其中f(x)表示模型预测的结果,然后与y标签计算l()损失,然后其中x和y服从。但是unfortunately,分布P是不可知的。因此我们常常使用训练集来进行代替不可知P,因此我们用training data D,通过empirical distribution来approximate P:
因此我们现在可以来empirical risk来估计expected risk,这也就是我们常见的损失计算过程,其中 is Dirac Mass:
通过优化f()的参数,这个过程就是Empirical Risk Minimization ERM。这里作者认为:
While efficient to compute, the empirical risk (1) monitors the behaviour of f only at a finite set of n examples. When considering functions with a number parameters comparable to n (such as large neural networks), one trivial way to minimize (1) is to memorize the training data (Zhang et al., 2017). Memorization, in turn, leads to the undesirable behaviour of f outside the training data (Szegedy et al., 2014).
简单的说,大量参数的神经网络可能会memory有限的n个样本,从而造成在训练集之外的数据的undersirable behaviour低于预期的性能,也就是过拟合。
不过呢,我们目前用的估计 不可知分布P的方法是 one out of many possible choices。这里还有这样的方法叫做Vicinal Risk Minimization VRM。
其中v是指vicinity distribution邻近分布,是衡量在training feature-target pair 的邻域中,发现vitual feature-target pair 的概率。这里举一个例子,比方说我们对输入数据进行高斯噪音的增强,那么可以写成:
比较酷的写法,将来可以考虑用起来。因此如果我们用VRM代替ERM,那么expected risk变成:
这时候,我们就可以引出MixUp的贡献了,是一个变种的vicinal distribution公式:
简单的说,就是:
ERM vs mixup
有两幅图很有趣。左边的这个是,让模型预测x,这个x是从渐变到的,发现,如果模型给出的预测结果不在之间,那么就是miss。ERM miss的概率更大。
右边的图纵坐标是梯度的L1正则,简单的说就是用mixup的方法,梯度更平滑,训练更稳定。