【论文笔记_自蒸馏_2020】Regularizing Class-wise Predictions via Self-knowledge Distillation

通过自蒸馏,规范化分类预测
请添加图片描述

摘要

具有数百万个参数的深度神经网络可能会因为过度拟合而导致泛化效果不佳。为了缓解这个问题,我们提出了一种新的正则化方法,对类似样本之间的预测分布进行惩罚。特别是,我们在训练期间提炼出同一标签的不同样本之间的预测分布。这导致了单个网络的暗知识(即关于错误预测的知识)的正则化(即自我知识的提炼),迫使它以类的方式产生更有意义和一致的预测。因此,它减轻了过度自信的预测,减少了类内变化。我们在各种图像分类任务上的实验结果表明,这种简单而强大的方法不仅可以显著提高现代卷积神经网络的泛化能力,而且可以提高其校准性能。

1.介绍


在本文中,我们专注于为深度模型开发一个新的输出正则器,利用暗知识的概念[22],即关于DNN所做的错误预测的知识。它的重要性首先被所谓的知识蒸馏(KD)[22]所证明,并在随后的许多工作中得到研究[1, 39, 41, 54]。
请添加图片描述
图1. (a) 类-wise的自我知识提炼(CS-KD)的说明。 (b) 对错误分类的样本的预测分布。我们使用在CIFAR-100数据集上训练的PreAct ResNet-18。对于错误分类的样本,通过训练具有类正则化的DNN,增加了真实类的softmax分数。

虽然相关的工作[15, 21]使用知识蒸馏将教师网络学到的暗知识转移到学生网络,但我们在训练单个网络时将暗知识本身正规化,即自我知识蒸馏[53, 57]。具体来说,我们提出了一种新的正则化技术,被称为 “class-wise的自我知识蒸馏”(CS-KD),如图1(a)所示,在同一标签的不同样本之间匹配或蒸馏DNNs的预测分布。一种所提出的正则化方法迫使DNN在样本属于同一类别时产生类似的错误预测,而传统的交叉熵损失不考虑预测分布的这种一致性。此外,它可以同时实现两个理想的目标:防止过度自信的预测和减少类内的变化。我们注意到,文献中已经通过不同的方法对它们进行了研究,即熵正则化[13, 32, 36, 43]和基于边际的方法[5, 58],而我们使用一个单一的原则来实现这两个目标。

我们使用深度卷积神经网络,如ResNet[19]和DenseNet[23],证明了我们简单而强大的正则化方法在各种数据集上的有效性,这些数据集包括CIFAR-100[26]、TinyImageNet1、CUB-200-2011[46]、Stanford Dogs[25]、MIT67[38]和ImageNet[10]。在我们的实验中,我们的方法的top-1错误率一直低于之前的输出正则化方法,如基于角度边缘的方法[5,58]和熵正则化[13,32,36,43]。特别是,对于前5名的错误率和预期的校准误差,收益总体上趋于更大[16],这证实了我们的方法确实使预测分布更有意义。我们还发现,我们的方法的前1名错误率在整体上低于最近的自蒸馏方法[53, 57]。此外,我们研究了我们的方法的变体,将其与其他类型的正则化方法相结合以提高性能,如Mixup正则化[56]和原始KD方法[22]。例如,在ResNet-18和ResNet10下使用CUB-200-2011数据集,我们将Mixup的最高错误率从37.09%提高到30.71%,将KD的最高错误率从39.32%提高到34.47%。

我们注意到,使用像我们这样的一致性正则器的想法已经在文献中得到了研究[2, 7, 24, 31, 37, 44, 53]。虽然大多数先前的方法提议将原始输入和扰动输入的输出分布正则化为相似的分布,但我们的方法强制具有相同类别的不同样本之间的一致性。据我们所知,目前还没有人研究过这样的类的正则化。我们相信,所提出的方法可能会在其他应用中得到更广泛的使用,例如,人脸识别[11, 58]和图像检索[45]。

请添加图片描述
图2. (a)预测的标签,即top-1 softmax得分,和(b)由交叉熵(基线)和CS-KD训练的网络在错误分类样本上的对数-概率直方图。这些网络是在CIFAR-100的PreAct ResNet-18上训练的。

请添加图片描述

2.class-wise自蒸馏

在这一节中,我们介绍了一种新的正则化技术,即class-wise的自提炼(CSKD)。在本文中,我们专注于完全监督的分类任务,并将x∈X表示为输入,y∈Y={1,…,C}表示其真实标签。假设用一个softmax分类器来模拟后验预测分布,即给定输入x,预测分布为:
请添加图片描述

其中fi表示i类的DNN的对数,其参数为θ,T>0为温度比例参数。
2.1 class-wise正则化
我们考虑在同一类别的样本上匹配预测分布,这从模型本身提炼出它们的暗知识。为此,我们提出了一个类的正则化损失,它可以在同一类中执行一致的预测性分布。形式上,给定一个输入x和另一个具有相同标签y的随机采样输入x’,其定义如下:
请添加图片描述
其中KL表示Kullback-Leibler(KL)散度,hatθ是参数θ的固定拷贝。正如Miyato等人[31]所建议的,梯度不通过hatθ传播以避免模型崩溃问题。与最初的知识提炼方法(KD;[22])类似,提议的损失Lcls与两个预测相匹配。原有的KD匹配两个网络的单个样本的预测,而我们对单个网络的不同样本进行预测,即自我知识提炼。总训练损失LCS-KD定义如下:
请添加图片描述
其中,LCE是标准的交叉熵损失,λcls > 0是类正则化的损失权重。请注意,我们按照原来的KD[22],乘以温度的平方T2。算法1中总结了使用提议的损失LCS-KD的完整训练过程。
2.2 class-wise正则化的影响
提出的CS-KD可以说是通过单一机制实现两个目标的最简单方法,即防止过度自信的预测和减少类内差异。为了避免过度自信的预测,它利用了其他样本的模型预测作为软标签。它比产生 "人工 "软标签的标签平滑法[32, 43]更 “现实”。此外,我们的方法直接最小化了同一类别中两个对数之间的距离,它将减少类别内的变化。
我们还研究了拟议的方法是否迫使DNN产生有意义的预测。为此,我们调查了softmax分数中的预测值P(y|x),在CIFAR-100数据集[26]上使用标准的交叉熵损失和提议的CS-KD损失训练的PreAct ResNet-18[20]。具体来说,我们分析了CIFAR100数据集中两个具体的错误分类样本的预测。如图1(b)所示,CS-KD不仅放松了过度自信的预测,而且还增强了与真实类相关的预测值。这意味着CS-KD通过强迫DNN在类似的输入上产生类似的预测,从而诱发了有意义的预测。为了评估预测质量,我们还报告了在被交叉熵和我们的方法普遍错误分类的样本上,预测类和实情类的softmax分数的对数比例。如图2(a)所示,与交叉熵方法相比,我们的方法对错误分类的样本产生的预测信心较低。有趣的是,我们的方法增加了错误分类样本的真实分数,如图2(b)所示。在我们的实验中,我们发现通过强迫DNN产生这种有意义的预测,可以提高分类精度和校准效果(见3.2和3.4节)。

3.实验

3.1实验设置
数据集。为了证明我们的方法在数据多样性的一般情况下,我们考虑了各种图像分类任务,包括常规分类和细粒度分类任务。2 具体来说,我们使用CIFAR100[26]和TinyImageNet3数据集作为常规分类任务,使用CUB-200-2011[46]、斯坦福狗[25]和MIT67[38]数据集作为细粒度分类任务。与传统的分类任务相比,细粒度的图像分类任务具有视觉上相似的类别,并且每个类别包含的训练样本较少。ImageNet[10]被用于大规模分类任务。
网络架构。我们考虑两个最先进的卷积神经网络架构。ResNet[19]和DenseNet[23]。我们使用具有64个过滤器的标准ResNet-18和图像大小为224×224的增长率为32的DenseNet-121。对于CIFAR-100和TinyImageNet,我们使用PreAct ResNet-18[20],它修改了第一个卷积层4的核大小为3×3,步长为1,填充为1,而不是核大小为7×7,步长为2,填充为3,用于图像大小为32×32。我们使用DenseNet-BC结构[23],网络的第一个卷积层也按照PreAct ResNet-18的方式进行修改,用于图像大小为32×32的情况。
超参数。所有的网络都是从头开始训练,并通过随机梯度下降(SGD)进行优化,动量为0.9,权重衰减为0.0001,初始学习率为0.1。在所有数据集的历时100和150后,学习率被除以10,总历时为200。我们将常规的批次大小设置为128,细粒度分类任务设置为32。我们使用ImageNet[10]的标准数据增强技术,即翻转和随机裁剪。对于我们的方法,温度T从{1,4}中选择,损失权重λcls从{1,2,3,4}中选择。最佳参数的选择是为了最小化验证集上的top-1错误率。在补充材料中提供了关于超参数T和λcls的更详细的消融研究。

表1. 各种图像分类任务和模型结构的前1名错误率(%)。我们报告了使用不同随机种子的三次运行的平均值和标准偏差。括号中的数值表示从交叉熵中减少的相对错误率,最好的结果用黑体字表示。
在这里插入图片描述
表2. ResNet-18在各种图像分类任务中采用自我蒸馏方法的前1名错误率(%)。我们报告了使用不同随机种子的三次运行的平均值和标准差。括号内的数值表示从交叉熵中减少的相对错误率,最好的结果用粗体表示。自我蒸馏方法是在我们的代码库下重新实现的。
请添加图片描述
基线。我们将我们的方法与先前的正则化方法进行比较,如最先进的基于角度边际的方法[5,58],熵正则化[13,32,36,43]和自蒸馏方法[53,57]。他们也像我们一样对预测性分布进行正则化。

请添加图片描述
评价指标。为了评价,我们衡量以下指标:…

3.2分类精度
与输出正则化方法的比较。我们测量了所提方法的前1名错误率,通过与Virtual-softmax、AdaCos、Maximum-entropy和Label-smoothing在各种图像分类任务上的比较。表1显示,CS-KD一直优于其他基线。特别是,在CUB-200-2011数据集下,CS-KD将交叉熵损失的前1名错误率从46.00%提高到33.28%。我们还观察到,其他基线的前1名错误率往往比交叉熵损失更差,例如,MIT67和DenseNet下的Virtualsoftmax、Maximum-entropy和Label-smoothing)。如表6所示,CS-KD的前5名错误率超过了其他正则化方法,因为它鼓励有意义的预测。特别是,在CIFAR-100数据集下,CSKD将交叉熵损失的前5名错误率从6.91%提高到5.69%,而AdaCos的前5名错误率甚至比交叉熵损失还差。这些结果意味着,我们的方法比其他基线方法能诱导出更好的预测分布。

与自蒸馏方法的比较。我们还将我们的方法与最近提出的自蒸馏技术如DDGSD[53]和BYOT[57]进行比较。如表2所示,CS-KD在ResNet18上显示出更好的前1名错误率。例如,CS-KD在在CUB-200-2011数据集上的错误率为33.28%,而DDGSD和BYOT分别为41.17%和40.76%。所有测试的自我蒸馏方法都利用了知识蒸馏的正则化效应。CS-KD的优越性可以解释为其减少类内变化的独特效果。

对大规模数据集的评估。为了验证我们方法的可扩展性,我们在ImageNet数据集上对我们的方法进行了评估,该数据集具有不同的模型架构,如ResNet-50、ResNet-101和ResNeXt-101-32x4d[52]。如表5所示,我们的方法在所有测试的架构中持续改善了0.4%的top1错误率。这0.4%的改进与例如在ResNet-101上增加51层(即ResNet-152)[19]相当。

与其他正则化方法的兼容性。我们研究了与其他类型的正则化方法的正交用法,如Mixup[56]和知识提炼(KD)[22]。Mixup利用输入对和相应标签对的凸组合进行训练。我们将我们的方法与Mixup正则化结合起来,对混合输入和混合标签,而不是标准输入和标签,应用类的正则化损失Lcls。表3显示了我们的方法与Mixup正则化相结合的效果。有趣的是,这个简单的想法大大改善了细粒度分类任务的性能。特别是,我们的方法将Mixup正则化的最高错误率从37.09%提高到30.71%,其中交叉熵损失的最高错误率在CUB-200-2011数据集的ResNet-18下为46.00%。

KD将学生网络的预测分布正规化,以学习教师网络的暗知识。我们将我们的方法与KD结合起来,同时学习教师和自身的暗知识。表4显示,我们的方法达到了与KD相似的性能,而且我们的方法不使用额外的教师网络。此外,将我们的方法与KD相结合,进一步提高了我们方法的最高错误率,从39.32%提高到34.47%,在CUB-200-2011数据集上训练的ResNet-10下,交叉熵损失的最高错误率为48.36%。这些结果表明我们的方法具有广泛的适用性,可以与其他正则化方法兼容使用。

请添加图片描述
图3. 在CIFAR-100的PreAct ResNet-18上使用t-SNE对倒数第二层的各种特征嵌入进行了可视化分析。建议的方法(d)显示了最小的类内变化,导致了最好的top-1错误率。

请添加图片描述
图4. ResNet-18在混合数据集上的实验结果。由(a)交叉熵和(b)我们的方法训练的每个模型的分层分类准确率(%)。可以看出,由CS-KD训练的模型在不同领域的混淆类较少。© 细粒度标签分类的Top-1错误率(%)。

3.3消融实验

3.4校准效果

4.相关工作

正则化技术。为了防止神经网络的过度拟合,已经引入了许多技术,包括早期停止[3]、L1/L2正则化[35]、辍学[42]和批量正则化[40]。另外,预测分布的正则化方法也得到了探索。Szegedy等人[43]提出了labelsmoothing,它是对ground-truth和均匀分布的混合,Zhang等人[56]提出了一种名为Mixup的数据增强方法,它对一对随机训练样本和相应的标签进行线性插值。Müller等人[32]研究了一种名为Label-smoothing的方法,经验表明它不仅能提高泛化能力,还能改善各种任务的模型校准,如图像分类和机器翻译。同样,Pereyra等人[36]提出了惩罚性的低熵预测分布,它改善了强化学习和监督学习中的探索。此外,一些工作[2, 7, 37, 44]研究了用于半监督学习的损坏样本和原始样本的预测分布之间的一致性正则器。我们注意到,我们的方法与之前的方法享有正交的使用权,即我们的方法可以与之前的方法相结合,进一步提高泛化性能。

知识蒸馏。知识蒸馏[22]是一种有效的学习方法,将知识从强大的教师模型转移到学生身上。这项开创性的工作表明,人们可以使用带有温度比例的softmax来匹配转移暗知识的软目标,其中包含非目标标签的信息。在上述的师生框架中,有许多后续研究来提炼知识。最近,一些提炼知识本身的自蒸馏方法[53, 57]被提出。数据失真引导的自我蒸馏方法[53]在同一训练数据的不同增强版本之间转移知识。另一方面,Be Y our Own Teacher[57]则利用多个分支的合集预测来提高其性能。我们注意到,我们的方法和这些知识提炼方法有一个相似的部分,即使用软目标分布,但我们的方法只减少了类内的变化。我们还指出,我们的方法和先前的知识提炼方法的联合使用也是可能的。

基于边际的软性损失。最近,人们一直在努力通过扩大类间余量和减少类内差异来提高识别性能。一些方法利用了基于度量的方法,用欧氏距离来衡量特征之间的相似性,如三倍体[48]和对比损失[6]。为了使模型能够提取出具有鉴别力的特征,有人提出了中心损失[49]和范围损失[51],以最小化属于同一类别的样本之间的距离。最近,基于角度边缘的损失被提出,以进一步改进。L-softmax[29]和A-softmax[28]将角度边缘约束与softmax损失相结合,鼓励模型产生更多的鉴别特征。CosFace[47]、AM-softmax[14]和ArcFace[11]通过重新表述softmax损失,为类似的目的引入了角度边缘。与L-Softmax和A-Softmax不同的是,Virtual-softmax[5]通过注入额外的虚拟负类,鼓励在类之间有较大的余量。

5.结论

在本文中,我们发现了一种简单的正则化方法来提高深度神经网络的泛化性能。我们提出了正则化项,它通过最小化Kullback-Leibler分歧来惩罚同一标签的不同样本之间的预测分布。我们指出,我们的想法使暗知识(即关于错误预测的知识)本身正规化,鼓励模型产生更有意义的预测。此外,我们证明了我们提出的方法对神经网络的泛化和校准是有用的。我们认为,所提出的正则化技术将享有更广泛的应用,例如在深度强化学习[17]、迁移学习[1]、人脸验证[11]和检测分布外样本[27]中的探索。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值