Mixup:Beyond Empirical Risk Minimization

 

Abstract

大规模神经网络功能很强大,但是显现出了不如预期的一些表现,例如对攻击样本的记忆力与敏感度。本文中,我们提出了一种缓解issues的学习原则称为mixup。总的来说,mixup通过对样本对及标签进行凸融合来训练深度神经网络。这样使得神经网络在训练任务调整成为它最擅长的简单线性学习。我们在ImageNet-2012,CIFAR-10,CIFAR-100,Google commads与UCI数据集上的实验显示mixup可以普遍改进SOTA神经网络结构的效果。我们还发现,mixup减少了对奇异数据的记忆,增加了对抗样本的鲁棒性,在GAN训练的时候提示了训练的稳定性。

Introduction

大型深度神经网络使得例如CV、语音识别、强化学习这些领域取得突破。在最成功的应用中,神经网络往往有两个共同点。首先,他们训练的目的是为了最小化训练集中的错误率,这种训练策略也称为经验风险最小化(Empirical Risk Minimization,ERM)原则。第二,随着训练样本数的增加SOTA神经网络的参数量线性增长。例如,Springberg提出的网络使用5*104样本数的CIFAR-10数据集,参数量为106,而Simonyan与Zisserman的网络使用106ImageNet-2012数据集,参数量为108,Chelba的网络使用109样本的1Billion Word数据集使用了2*1010参数。

可以发现典型的学习理论告诉我们只要神经网络的训练样本不再增加,ERM是可以确保收敛的。这里,学习机器的大小是有他的参数量进行度量的,或者由VC-complexity来度量相对复杂度。正如当前研究所显示的,这样的矛盾挑战了ERM在我们当前神经网络模型训练的适用性。换句话说,ERM使得大规模神经网络记住(而不是泛化)这些训练数据即使存在强约束或者在分类问题中标签是随机分配的。也就是说,基于ERM训练的神经网络当使用不在训练集分布中的样本进行评估的时候效果会剧烈波动,这也被称为对抗样本。这也就证明了ERM在测试样本分布于训练样本分布哪怕有一些不一致时不能解决或者提供足够的泛化性。然而,除了ERM还有什么选择?

在与训练样本不一样却相似的样本集上处理样本的方式称为data augmentation,总结成邻域风险最小化(Vicinal Risk Minimizaiton,VRM)。VRM中,需要人类的知识来描述训练数据中每个示例周围的邻域。然后,从训练实例的邻域分布中提取额外的虚拟实例,扩大训练分布的支持。举个例子,当进行图像分类的时候,通常将一个样本的领域描述成一系列水平映射、轻微旋转与些许缩放。虽然数据扩充最终使得泛化能力改进(Simard et al.,1998),但该过程依赖于数据集,因此需要使用专业知识。此外,数据扩充假定邻近类中的样本共享同一个类,并且不为不同类的样本之间的邻近关系建模。

贡献。受这些问题的启发,我们引入了一个简单的、与数据无关的数据增强方法,称为mixup(第二章)。简而言之,mixup构建了虚拟训练样本

是随机从训练数据集中抽取的两个样本,而且。因此,mixup结合了特征向量线性插值扩展了训练分布的先验知识,会导致相关目标线性插值。mixup可以在几行代码中实现,并引入最小的计算开销。

尽管mixup看起来简单,但是在CIFAR-10,CIFAR-100,ImageNet2012图像分类数据集上都取得了SOTA的成绩(3.1节与3.2节)。此外,当从错误的标签学习时(第3.4节),或者面对相反的例子时(第3.5节),mixup增强了神经网络的鲁棒性。最后,mixup改进了语音(3.3节)和表格(3.6节)数据的泛化性,可以用来稳定GANs的训练(3.7节)。用于重现我们在CIFAR-10上实验的源码可以在以下位置获取:https://github.com/facebookresearch/mixup-cifar10。

为了了解各种设计选择在mixup中的影响,我们进行了一套完整的消融研究实验(第3.8节)。结果表明,mixup的性能明显优于以前工作中的相关方法,并且每种设计选择都有助于最终的性能。最后,我们探讨了与先前工作的联系(第4节),并提出了一些讨论要点(第5节)。

2、From Empirical Risk Minimization to Mixup。

在有监督学习中,我们对寻找一个函数来描述一个随机向量X与随机目标向量Y之间的关系感兴趣,他们的联合分布为。为了这个目的,我们定义一个loss函数来惩罚预测值f(x)与实际目标y之间的差异,例如。那么,我们在数据分布P上最小化loss函数l的平均值,也称为期望风险:

不幸的是,在大多数实际场景中的分布是未知的。相反,我们通常可以达到一系列训练数据,这里。通过训练集D,我们可以通过经验分布来估计 P

这里的狄拉克质心。通过经验分布,我们现在可以估计经验风险来评估期望风险了:

通过最小化来进行函数学习的方法被称为经验风险最小化(ERM)原理。为了高效计算,经验风险【1】通过一个大小为n个样本的子集来观测f的变化。当考虑具有n个参数的函数时(如大型神经网络),最小化【1】的一个简单方法是记忆训练数据(Zhang et al.,2017)。反过来,记忆会导致f在训练数据之外表现不佳(Szegedy et al.,2014)。

然而,朴素估计是许多近似真实分布P的可能选择之一。例如,在VRM准则中,P分布可以由下式估计:

这里是度量在训练特征目标对附件找到虚拟特征目标对概率的邻近分布。特别指出,文献中将高斯相邻表示为,相当于用加性的高斯噪声来扩展训练数据。为了学会使用VRM,我们通过相邻分布的采样来建议一个数据集,最小化经验相邻风险:

本文的贡献是提出了通用的相邻分布,称为mixup:

这里。简而言之,由mixup邻域分布产生虚拟特征目标向量

这里是随机从训练数据中抽取的两个特征目标向量,且。mixup超参数α控制特征-目标对之间插值的强度,恢复ERM原理为α->0。混合训练的实现非常简单,并且引入了最小的计算开销。图1a展示了在PyTorch中实现mixup训练所需的几行代码。最后,我们提到了可选的设计选择。首先,在初步的实验中,我们发现三个或更多例子的凸组合与从狄利克雷分布中采样的权值并没有提供进一步的增益,而是增加了mixup的计算成本。其次,我们当前的实现使用单个数据加载器来获取一个小批处理,然后在随机打乱后将mixup应用于相同的小批处理。我们发现这种策略同样有效,同时减少了I/O需求。第三,仅在具有相同标签的输入之间插入不会导致后续讨论的混合的性能增益。更多的实证比较可以在第3.8节中找到。

Mixup:Beyond Empirical Risk Minimization_第1张图片

Mixup的作用是什么?mixup邻域分布可以理解为数据增强的一种形式,它鼓励模型f在训练示例之间进行线性表示。我们认为,这种线性行为减少了在预测训练示例之外的不希望出现的振荡的数量。此外,从Occam’s razor的角度来看,线性是一个很好的归纳偏差的方式,因为它是最简单的概率行为之一。图1b显示,mixup导致决策边界线性地从一个类转换到另一个类,从而提供了更平滑的不确定性估计。图2展示了在CIFAR-10数据集上使用ERM和mixup训练的两个神经网络模型的平均表现。这两个模型具有相同的体系结构,使用相同的过程进行训练,并在随机抽样的训练数据之间的相同点进行评估。mixup训练后的模型在模型预测和训练样本之间的梯度准则方面更加稳定。

Mixup:Beyond Empirical Risk Minimization_第2张图片

Mixup:Beyond Empirical Risk Minimization_第3张图片

3、Experiments

3.1 IMAGENET CLASSIFICATION

我们在ImageNet2012分类数据集上评估mixup。这个数据集包含130万训练样本与5万验证样本,共分成1000类。训练过程中,我们遵循标准的数据扩展流程:尺寸缩放、长宽比失真、随机crop与水平翻转。在评估过程中,对测试图片进行中心224*224的crop。我们用mixup与ERM在ImageNet2012数据集上训练了几个SOTA的分类模型,top-1与top-5的错误率在表1中展示。

Mixup:Beyond Empirical Risk Minimization_第4张图片

本章的所有实验中,我们在caffe2中使用数据并行分布式训练,minibatch大小为1,024。我们使用(Goyal et al.,2017)中描述的学习率调节计划。具体来说,前五个epoch学习率有0.1增加到0.4,在整体训练90个epoch时,在30/60/80个epoch后分别除以10;或者在整体训练200epoch时,分别在60/120/180epoch除以10。

对于mixup来说我们发现可以带来ERM表现提升,然而对于大α值来说mixup会导致欠拟合。我们还发现,具有更高容量和/或更长的训练运行时间的模型从mixup中获益最大。例如,在经过90epoch的训练后,ResNet-101和ResNeXt-101的mixup相对于ERM获得了更大的改进(0.5%到0.6%),而较小的模型如ResNet-50(0.2%)则没有这么大的改进。当训练200个epoch时,与训练90epoch相比,ResNet-50混合变量的前1位误差进一步降低1.2%,而ERM类方式保持不变。

3.2 CIFAR-10与CIFAR-100

我们在CIFAR-10和CIFAR-100数据集进行了额外的图像分类实验,以进一步评估mixup的泛化性能。特别的是,我们进行ERM与mixup训练的对比:(Liu,2017)实现的ResNet18预训练模型,(Zagoruyko&Komodakis,2016b)实现的WideResNet-28-10预训练模型,(Veit,2017)实现的DenseNet预训练模型。对于DenseNet,我们将增长率改为40,遵循(Huang et al., 2017)提出的DenseNet-bc-190的思路。对于mixup来说,我们将α固定为1,这使得插值均匀分布在0和1之间。所有模型都是PyTorch在一块P100显卡在训练集上用128大小的minibatch训练200个epoch,并在测试集上进行评估。学习率从0.1开始,除了WideResNet外其他模型都在100与150epoch后学习率除以10。对于WideResNet我们遵循(Zagoruyko & Komodakis, 2016a),在60/120/180epoch分别除以10。权重衰减设置为10-4。在实验中不使用dropout。

我们在图3a中总结了我们的结果。无论是在CIFAR-10还是CIFAR-100分类问题中,mixup训练的模型都比类似ERM方法表现要好得多。如图3b所示,mixup与ERM几乎在同事收敛到他们最低的测试误差率。注意到,DenseNet模型训练了300epoch,并在150与225epoch时进行了额外的学习率衰减,这也可以解释图3a中DenseNet表现的的不一致与Huang et al. (2017)文献中原始结果。

3.3 SPEECH DATA

接下来,我们使用谷歌命令数据集进行语音识别实验(Warden,2017)。数据集包含65,000个话语,每个话语大约1秒长,属于30个类中的一个。这些类对应于语音命令,如yes、no、down、left,由数千个不同的人发出。为了对语音进行预处理,我们首先从原始波形中以16khz的采样速率提取归一化谱图。接下来,我们对频谱图进行零填充,使它们的大小相等为16kHz。对于语音数据,在波形和频谱两级均可以采用mixup。在这里,我们在向网络提供数据之前,在频谱应用mixup。

在本实验中,我们比较了LeNet (Lecun et al., 2001)和VGG-11 (Simonyan & Zisserman,2015)架构,它们分别由两个卷积层和两个完全连接的层组成。我们使用Adam作为优化器(Kingma & Ba, 2015),用100个示例的小批量对每个模型进行30个epoch的训练。初始学习率为10-3,每10个epoch除以10。对于mixup,我们初始五个epoch进行warmup,我们根据原始训练示例对网络进行训练,结果发现它加快了初始收敛速度。表4显示,mixup在这一任务上的性能优于ERM,特别是在使用VGG-11(容量更大的模型)时。

3.4 MEMORIZATION OF CORRUPTED LABELS

在Zhang等人(2017)之后,我们评估了ERM和mixup模型对随机损坏标签的鲁棒性。我们假设,增加mixup插值的强度α应该会在训练例子的基础上产生更多的虚拟例子,使得记忆更加困难。特别是,与记忆包含随机标签的插值相比,学习实际例子之间的插值该更容易。我们采用开源实现(Zhang, 2017)生成三个CIFAR-10训练集,其中20%、50%或80%的标签分别被随机噪声替代。所有测试标签保存完好,以备评估。Dropout(Srivastava et al., 2014)被认为是最先进的学习损坏的标签方法(Arpit et al.,2017)。因此我们在实验中对比了mixup,dropout,mixup+dropout与ERM。对于mixup我们选择;对于dropout来说,如Zagoruyko & Komodakis,2016a所述,我们在两个卷积层之间的ReLU激活层之后,在每个PreAct块中添加一个dropout层。我们从中选择dropout概率。当对比mixup与dropout时,我们选择。这些实验使用(Liu,2017)PreAct的ResNet-18模型。所有其他设置与3.2节一致。

实验结果总结在表2中,我们注意到在训练期间在200个epoch后获得的最佳测试错误率。为了量化记忆,我们还评估了最后一个epoch真实标签和损坏标签上的训练错误。随着训练的进展,学习率越来越小(如小于0.01),ERM模型开始过度拟合损坏的标签。参数8或者32的mixup,在最好的和最后的epoch测试错误上都优于dropout,并且在保持对噪声标签的抵抗的同时,在真实标签上实现了更低的训练错误。有趣的是,mixup+dropout的性能最好,这表明这两种方法是兼容的。

3.5 ROBUSTNESS TO ADVERSARIAL EXAMPLES

使用ERM训练的模型的一个不是预期的结果是它们对对抗性例子的脆弱性(Szegedy et al., 2014)。对抗性样本是通过在合法样本中加入微小的(视觉上难以察觉的)扰动来获得的,以降低模型的性能。对抗性噪声是由相对于合法样本的损失梯度面上升而产生的。提高对抗性样本的鲁棒性是当前研究的热点之一。

Mixup:Beyond Empirical Risk Minimization_第5张图片

在解决这一问题的几种方法中,有人提出对模型Jacobian矩阵范数进行惩罚,以控制其Lipschitz常数(Drucker & Le Cun, 1992;Cisse等,2017;Bartlett等,2017;Hein & Andriushchenko, 2017)。其他方法通过产生和训练对抗性的例子来进行数据扩充(Goodfellow et al.,2015)。不幸的是,所有这些方法都给ERM增加了大量的计算开销。在此,我们通过惩罚损失梯度的范数,证明了mixup方法可以在不影响ERM速度的前提下在最合理的方向显著提高神经网络的鲁棒性,(例如通往其他训练点的方向)。实际上,图2显示,与普通ERM相比,mixup模型之间的损失和梯度范数更小。

为了评估mixup模型对对抗实例的鲁棒性,我们使用了三个ResNet-101模型:其中两个在ImageNet-2012上使用ERM进行了训练,第三个使用mixup进行了训练。在第一组实验中,我们研究了单ERM模型和mixup模型对白盒攻击的鲁棒性。也就是说,对于这两个模型中的每一个,我们都使用模型本身来生成相反的例子,或者使用Fast Gradient Sign Method(FGSM),或者使用iterative FGSM (I-FGSM)方法(Goodfellow et al.,2015),允许对每个像素的最大扰动为。对于I-FGSM,我们使用相同步长下的10次迭代。在第二组实验中,我们评估了对黑盒攻击的鲁棒性。也就是说,我们使用第一个ERM模型来产生对抗性的例子再使用FGSM和I-FGSM。然后,我们对这些例子验证了第二ERM模型和mixup模型的鲁棒性。表3总结了这两种设置的结果。

对于FGSM白盒攻击,mixup模型的前1位误差是ERM模型的2 / 7倍。对于FGSM黑盒攻击,mixup模型的top-1误差是ERM模型的1 / 25倍。此外,虽然mixup和ERM对白盒I-FGSM攻击都不鲁棒,但在黑盒I-FGSM设置下,mixup比ERM鲁棒40%左右。总的来说,与ERM相比,mixup产生的神经网络在没有额外开销的情况下,对于白盒和黑盒设置中的对抗样本,其鲁棒性显著高于ERM。

Mixup:Beyond Empirical Risk Minimization_第6张图片

Mixup:Beyond Empirical Risk Minimization_第7张图片

3.6 TABULAR DATA

为了进一步探索mixup对非图像数据的性能,我们从UCI数据集中抽取了6个任意分类问题进行了一系列实验(Lichman, 2013)。该部分的神经网络是完全连通的,具有128个ReLU单元的两个隐藏层。这些网络的参数使用Adam (Kingma & Ba, 2015)学习,其超参数为默认超参数,超过10个epoch,每mini-batch大小为16。表4显示,mixup提高了6个考虑的数据集中4个数据集的平均测试错误,并且性能总是高于ERM。

3.7 STABILIZATION OF GENERATIVE ADVERSARIAL NETWORK(GANS)

生成式对抗网络,也称为GANs (Goodfellow et al., 2014),是一种强大的隐性生成模型。在GANs中,一个生成器和一个鉴别器相互竞争来建立一个分布P的模型。一方面,生成器g通过竞争将噪声向量转化成类似真实样本的假样本。另一方面,鉴别器通过竞争来区分真是样本x与虚假样本g(z)。在数学上,训练一个GAN等价于求解最优化问题。

这里l是二进制cross entropy loss。不幸的是,求解之前的min-max方程是一个出了名的优化难题(Goodfellow, 2016),因为鉴别器经常为生成器提供消失梯度。我们认为mixup应该稳定GAN训练,因为它在识别器的梯度上充当regularizer,类似于图1b中的二元分类器。然后,判别器的平滑性保证了梯度信息的稳定来源。GANsmixup公式为:

图5展示了混合GAN(橙色样本)训练在建模两个玩具数据集(蓝色样本)时的稳定效果。这些实验中的网络是全连接的,有512个ReLU单元组成的3个隐层。生成网络接受二维高斯噪声向量。使用带有默认参数的Adam优化器对网络进行20,000个mini-batch为128的训练,其中识别器在每个生成器迭代之前进行5次迭代的训练。mixupGANs的训练对于超参数和体系结构的选择似乎非常鲁棒。

Mixup:Beyond Empirical Risk Minimization_第8张图片

3.8 ABLATION STUDIES

mixup是一种数据增强方法,它只包含两个部分:原始输入的随机凸组合,以及相应的one-hot标签编码的凸组合。然而,有几种设计选择可供选择。例如,关于如何增加输入,我们可以选择插值神经网络的潜在表示(即特征图),我们可以选择只在最近的邻居之间插值,或者只在同类输入之间插值。当要插值的输入来自两个不同的类时,我们可以选择为合成输入分配一个标签,例如使用在凸组合中权重更大的输入标签。为了比较这些可能性,我们在CIFAR-10数据集上使用PreAct ResNet-18架构进行了一系列ablation研究实验。

对于每种数据扩展方法,我们都测试了两种权重衰减设置(10-4对于mixup,5×10-4对于ERM)。所有其他设置和超参数都与第3.2节中报告的相同。

为了比较插值原始输入和插值潜在表示,我们在每个残差块(表示层1-4)或最上层“average pooling+fully connected”层(表示层5)之前测试学习表示的随机凸组合。为了比较mixup随机输入对(RP)和混合最近邻(KNN),我们首先计算每个训练样本的200个最近邻样本,要么来自同一个类(SC),要么来自所有类(AC)。然后在训练过程中,对于每一个小批量的样本,我们将样本替换为一个合成样本,并将其凸组合与来自其最近邻居的随机抽取相结合。为了比较mixup所有类(AC)和mixup在同一个类(SC)中,我们凸组合了一个小批与它的样本索引的随机排列,其中排列是在每批基(AC)或每类基(SC)中完成的。为了比较只有mixup输入的mixup输入和标签,我们要么使用one-hot编码的凸组合作为目标,要么选择较近的训练样本的one-hot编码作为目标。对于label smoothing,我们遵循Szegedy et al. (2016)方法,不正确的类目标设置成,正确类的目标设置成。将高斯噪声添加到输入中用作另一个baseline。我们报告了最后10个epoch的中值测试误差。结果如表5所示。

从ablation实验中,我们得到以下观察结果。首先,mixup是我们测试的最好的数据增强方法,明显优于第二好的方法(mix input+label smooth)。第二,正则化的影响可以通过比较测试误差小(10-4)与大(5×10-4)权重衰减发现。例如,对于ERM,较大的权值衰减效果更好,而对于mixup,较小的权值衰减效果更好,这证实了它的正则化效果。我们还看到,当插值到更高的潜在表示层时,大权值衰减的优势越来越大,这表明正则化的强度在下降。在所有的输入插值方法中,混合所有类的随机对(AC + RP)具有最强的正则化效果。Label soothing和添加高斯噪声的正则化效果相对较小。最后,我们注意到SMOTE算法(Chawla et al., 2002)并没有带来显著的性能提升。

4、Related Work

从图像分类(Krizhevsky et al.,2012)到语音识别(Graves et al.,2013;Amodei et al ., 2016),数据扩充是深度学习所有成功应用的核心。在所有情况下,都利用大量的领域知识来设计适当的数据转换,从而改进泛化。例如,在图像分类中,通常使用旋转、平移、裁剪、调整大小、翻转(Lecun et al., 2001;Simonyan & Zisserman, 2015)和随机擦除(Zhong et al., 2017),通过训练数据在模型中强制视觉上可信的不变性。同样,在语音识别中,为了提高训练模型的鲁棒性和准确性,噪声注入是一种普遍的做法(Amodei et al.,2016)。

与mixup相关的是,Chawla等人(2002)提出通过插值最近邻来增加不平衡数据集中的稀有类;DeVries & Taylor(2017)研究表明,在特征空间中,插值和外推同一类的最近邻可以提高泛化能力。但是,他们的建议只在输入/特性级别的某个类中的最近邻居之间运行,因此不考虑相应标签的更改。最近的一些方法也提出通过label smoothing(Szegedy et al., 2016)或惩罚高置信度softmax分布(Pereyra et al.,2017)来规范神经网络的输出分布(Szegedy et al., 2016)。这些方法与mixup有相似之处,因为监督依赖于多个平滑的标签,而不是像传统的ERM那样依赖于单个硬标签。然而,这些工作中的label smoothing是独立于相关的特征值应用或正则化的。

Mixup共享了以前的数据增强和正则化方案中的有点,并且克服了他们的缺点。与DeVries & Taylor(2017)的方法一样,它不需要相关领域的重要知识。就像label smoothing一样,对每个示例的监督并不是由GT标签过度控制的。与这两种方法不同,mixup变换在数据增强和监控信号之间建立了线性关系。我们相信,这产生了一个强大的正则化约束,提高泛化,正如我们的实验所证明的。线性约束通过对近似函数导数的影响,也与其他方法有关,如Sobolev神经网络训练(Czarnecki et al.,2017)或WGAN-GP (Gulrajani et al.,2017)。

5、DISCUSSION

我们提出了mixup,这是一个与数据无关的、直接的数据扩充算法。我们已经证明,mixup是一种局部风险最小化的形式,它训练由训练集及其标签中的两个随机例子的线性插值构造的虚拟例子。将mixup合并到现有的训练流程中只需要几行代码,并且只引入很少的计算开销。通过广泛的评估,我们已经表明,mixup提高了最先进的模型在ImageNet、CIFAR、speech和tabular数据集上的泛化误差。此外,mixup有助于克服记忆错误的标签、对抗性例子的敏感性和对抗性训练中的不稳定性。

在我们的实验中,以下趋势是一致的:随α着越来越大,真实数据上的训练误差增加,而泛化差距减小。这支持了我们的假设,即mixup隐性的控制了模型的复杂性。然而,我们还没有一个好的理论来理解这种偏差-方差权衡的“最佳点”。 例如,在CIFAR-10分类我们可以得到很低的训练误差在实际数据即使 (即训练只正式样本对的平均值),而在ImageNet分类中, 真实数据的训练误差当时显著增加。基于我们的ImageNet和google commands在不同模型体系结构下的实验,我们推测增加模型容量将使训练误差对大的不敏感,从而使mixup具有更显著的优势。

mixup也为进一步的探索提供了几种可能性。首先,在其他类型的监督学习问题上,如回归和结构化预测,是否可能有类似的想法? 虽然将mixup问题推广到回归问题很简单,但它在图像分割等结构化预测问题中的应用却不那么明显。第二,在监督学习之外,类似的方法能证明有用吗? 插值原理似乎是一个合理的归纳偏差,它也可能有助于无监督、半监督和强化学习。我们是否可以将mixup扩展到特征标签外推,以确保模型行为远离训练数据? 虽然我们对这些方向的讨论仍然是推测性的,但我们对由于mixup出现的可能性感到兴奋,并希望我们的观察将证明对未来的发展有用。

你可能感兴趣的:(机器学习,深度学习读书笔记)