【论文笔记_自蒸馏_知识蒸馏_2022】Self-Distillation from the Last Mini-Batch for Consistency Regularization

请添加图片描述

摘要

知识提炼(KD)作为一种强大的正则化策略,通过利用学到的样本级软目标来提高泛化能力,显示了光明的前景。然而,在现有的KD中采用复杂的预训练教师网络或同伴学生的集合,既耗时又耗费计算成本。为了实现更高的蒸馏效率,人们提出了许多自我KD方法。然而,它们要么需要额外的网络结构修改,要么难以并行化。为了应对这些挑战,我们提出了一个高效、可靠的自蒸馏框架,命名为 “来自上一次小批量的自蒸馏”(DLB)。具体来说,我们通过限制每个小批的一半与前一个迭代相吻合来重新安排顺序采样。同时,其余的一半将与即将到来的迭代相吻合。之后,前一半的小批次对上一次迭代中产生的软目标进行即时提炼。我们提出的机制指导了训练的稳定性和一致性,从而对标签噪声具有鲁棒性。此外,我们的方法很容易实现,不需要占用额外的运行时间内存或需要修改模型结构。在三个分类基准上的实验结果表明,我们的方法可以在不同的网络结构下持续地超越最先进的自我渐变方法。此外,我们的方法通过获得额外的性能改进,显示出与增强策略的强大兼容性。
代码地址:https://github.com/Meta-knowledge-Lab/DLB获得。

1.介绍


一种流行的自我KD的表述,如Be Your Own Teacher(BYOT),需要对网络结构进行大量修改,这在很大程度上增加了它们在各种网络结构上泛化的难度[19,32,43]。在另一条线上,历史信息,包括以前的训练日志或模型快照,被利用来构建一个虚拟的老师,作为自我提炼的额外监督信号。最初,重生网络(BAN)依次蒸馏出与其上一代相同参数的网络[7]。通过快照蒸馏实现的一个进步是在一个世代内从之前的小型世代,即几个epoch中获取次级信息[36]。这种虚拟教师的更新频率是进一步在渐进式自我知识提炼[12]和回顾式学习[5]中,改进为epoch-level。现有的自我KD方法有以下缺点需要解决:首先,上一次迭代的最即时的信息被丢弃了。此外,存储过去模型的快照会消耗额外的运行内存成本,并随后增加并行化的难度[36]。最后,每次后向传播的梯度计算都与每批数据的两次前向过程有关,导致计算冗余和低计算效率。

表1. 在计算成本和平滑颗粒度方面与先进技术的比较。我们将我们的方法与标签平滑正则化[27]、无教师知识蒸馏(Tf-KDsel f , Tf-KDreg)[37]、分类自我知识蒸馏(CS-KD)[39]、渐进自我知识蒸馏(PS-KD)[12]、记忆重放知识蒸馏(Mr-KD)[30]、数据失真引导自我知识蒸馏(DDGSD)[35]、做自己的老师(BYOT)[43]进行比较。
请添加图片描述
为了解决现有自KD方法中的这些挑战,我们提出了一种简单而高效的自蒸馏方法,命名为 “来自上一次小批量的自蒸馏”(DLB)。与现有的自KD方法相比,DLB在计算上是高效的,并且通过只存储在最后一个迷你批次备份中产生的软目标来节省运行内存,从而使其在部署和并行化上变得简单。每一个数据实例的前向过程都与一次反向传播过程相关联,减轻了计算的冗余性。表1总结了与先进技术相比的主要区别。DLB产生即时的样本级平滑标签,用于自我稀释。利用上次迭代的软预测,我们的方法为每个训练样本提供了最即时的蒸馏。DLB的成功归功于从最即时的历史上的产生的软目标进行蒸馏,以强加训练的一致性和稳定性。更具体地说,目标网络在训练阶段的每个小批次中扮演着教师和学生的双重角色。作为老师,它提供软目标以在下一次迭代中规范自己。作为学生,它提炼出上一次迭代产生的平滑标签,并使监督学习目标(如交叉熵损失)最小化

我们在三个基准数据集,即CIFAR-10[13]、CIFAR-100[13]、TinyImageNet上实证说明了我们方法的综合有效性。我们的方法既是任务无关的,也是模型无关的,即不需要对模型的拓扑结构进行修改。我们选择了六个有代表性的骨干CNN进行评估,包括ResNet-18, ResNet-110 [9], VGG-16, VGG-19 [25], DenseNet [11], WideResNet [41]。实验结果表明,我们的DLB可以持续提高泛化能力。我们还测试了DLB在损坏的数据上的鲁棒性。DLB在损坏的数据上施加的训练一致性和稳定性导致了更高的泛化能力。

这篇论文的主要贡献如下
1.我们提出了一个简单而高效的基于自蒸馏的一致性规范化方案,命名为DLB。在不修改网络结构的情况下,我们的方法只需要很少的额外计算成本以及运行时内存来实现。利用上次迭代的最新信息,我们的DLB很容易实现并行化。值得注意的是,所提出的方法也是与模型和任务无关的。
2.在三个流行的分类基准上的综合实验结果表明,在不同的模型上有一致的泛化改进。我们还从经验上证明了DLB与各种增强策略的兼容性。
3. 我们系统地分析了我们的方法对训练动态的影响。具体来说,其正则化效应的成功归因于通过利用即时的样本级平滑标签来指导训练的一致性。在标签损坏的情况下,一致性效应被进一步放大,显示出对标签噪声的强大鲁棒性。这些经验性的发现可能为理解知识提炼的效果提供了一个新的方向。

2.相关工作

知识蒸馏:…

自我知识提炼:为了提高知识转移的效率和效果,提出了自我知识蒸馏(SKD),利用自身的知识,不需要额外网络的参与[31]。有三种流行的方法来构建SKD模型,即:1)基于数据失真的自我蒸馏[15,35],2)使用历史信息作为虚拟教师,3)跨辅助头的蒸馏[17,43]。然而,第一种方法在一定程度上依赖于增强的效率。第二种是错过了上一个小批次的最新更新。最后一种需要对网络结构进行大量修改,这增加了其部署的难度。

蒸馏法作为正则化。KD被广泛用于许多任务中,如模型压缩、半监督学习、领域适应等[18, 26, 28]。然而,对KD的成功进行理论分析仍然是一个很大的挑战。最近,Yuan等人将KD的成功归因于其正则化效应,即从LSR的角度提供样本级的软目标[37]。它揭示了将KD应用于正则化领域的巨大前景。在这一思路下,通过疏散两批被识别为同一类别的样本的预测之间的一致性,设计了类的自我知识蒸馏(CS-KD)[39]。渐进式自我知识蒸馏法(PSKD)与我们的工作更为相似,它从上一个时代逐步蒸馏过去的知识,以软化当前时代的硬目标[12]。记忆重放知识蒸馏法(Mr-KD)通过存储一系列放弃的网络备份进行蒸馏,扩展了PS-KD[30]。然而,实现PS-KD或Mr-KD都需要额外的GPU内存来存储历史模型参数或整个过去的预测值在磁盘上。前一种策略对于大型模型如深度WRN[41]来说计算成本很高,而后一种策略在训练大型数据集如ImageNet[23]时效率很低。上述缺点导致训练效率低下,以及在手机、数码相机等终端设备上的实施困难[4],限制了它们在正则化方面的应用。另一方面,这些方法中没有最近几个小批次的许多最新信息。为了应对这些不足,我们提出了一个名为DLB的新的自我蒸馏框架,这将在下一节详细说明。

请添加图片描述
图1. 我们DLB的整体架构。我们用Bt, (fine)t(黄色方块), θt来表示一个小批的数据样本、随机增强和第t次迭代中的可训练参数。

3.方法

3.1准备工作
在这项工作中,我们把重点放在有监督的分类任务上作为案例研究。为了清楚起见,我们把K类标记的数据集写成D = {(xi, yi)}N i=1,其中N是训练实例的总数。在每个小批次中,一批由n个样本组成的请添加图片描述被数据失真请添加图片描述增强,得出失真图像请添加图片描述。之后,它们被送入目标神经网络hθ以优化交叉熵损失函数,定义如下:
请添加图片描述
从形式上看,在一个softmax分类器中,对k∈[K]类的预测分布pi=(pi(1),…,pi(K))被表述为:
请添加图片描述
其中fk是来自backbone编码器的第k个分量,参数为θ。 温度τ在公式(2)中通常被设置为1。为了提高泛化能力,传统知识蒸馏法[10]通过优化每个mini-batch中教师和学生的软输出之间的额外KL散度损失来转移预训练的教师知识,即:
请添加图片描述
其中请添加图片描述分别是学生和教师的软预测,以温度τ为参数。较高的温度会导致更均匀的分布,从而导致类似于标签平滑的正则化效果[27, 37]。与以前的工作相比,即预先训练一个复杂的网络来生成~pτ i,我们的工作使用上一批次的历史信息来有效地生成~pτ i,作为一个更即时的平滑标签,用于正则化。

3.2上一个批次的自蒸馏
图1直观地显示了所提出的自我蒸馏的整体训练过程。我们提出的框架没有采用复杂的预训练教师模型来提供样本平滑的标签,而是利用上一个小批次的备份信息来生成软目标。它导致了对训练一致性的规范化。为了清楚地表示,我们将第t次迭代中采样的原始数据批表示为请添加图片描述,而网络参数表示为θt。形式上,我们用在相同的网络中的第t-1次迭代中产生的软标签pτ,t-1 i,即用θ t-1参数化的f,来代替公式(3)中的~pτ i。因此,我们为DLB引入一个额外的上一次的一致性正则化损失,如下所示:
请添加图片描述

我们在第t-1次迭代中完成所有pτ,t-1 i的计算,而不是像以前的工作[12]中设计的那样,将整个θ t-1存储在第t次迭代中,这样会消耗运行时间的内存。我们采用数据采样器,在第t - 1次迭代时同时获得Bt和Bt-1,以便实施。在第t-1次迭代中,Bt-1和Bt的预测都会更新LCE。而来自Bt的预测通过温度τ进行平滑处理,然后在第t次迭代中存储用于正则化。存储一批经过平滑处理的标签需要很少的额外内存成本,因此效率更高。总而言之,总体损失函数的表述为:
请添加图片描述
其中α是平衡两个条款的系数。简而言之,我们对每个小批量的一半进行约束,使其与上一次迭代相吻合,其余的一半与即将到来的迭代相吻合。之后,前一半的小批次对上一次迭代中产生的软目标进行即时提炼。整个训练过程在算法1中得到了总结。

请添加图片描述

4.实验

4.1数据集和设置


表2. 在CIFAR-10、CIFAR100和TinyImageNet上与标签平滑正则化和最先进的自我蒸馏方法在平均top-1错误率(%)方面的性能比较。我们计算了三次运行的平均值和偏差。最好和次好的性能分别以红色和绿色突出显示。
请添加图片描述
(省略了很多,详见原文)

5.不足和结论

在这项研究中,我们为一致性正则化引入了一种高效的自我蒸馏机制。在没有复杂的预训练教师模型或同伴学生集合的情况下,我们的方法(DLB)在重新安排采样顺序后,提炼出前一次迭代中即时生成的平滑标签。DLB通过施加训练一致性来规范网络,这在数据损坏的情况下被进一步放大。因此,它提高了对标签噪声的鲁棒性。在三个基准数据集上的实验结果表明,我们的方法可以持续超越最先进的自我蒸馏机制。此外,DLB作为一种通用的正则化方法,与增强技术结合使用,带来了额外的性能增益。然而,由于计算资源的限制,我们没有评估大规模数据集(如ImageNet)的性能,这将留给未来的工作。此外,由于我们的方法依赖于软标签之间的知识传递,在本文中,我们主要关注的是分类,这产生了另一个未来的方向,即扩展到其他任务,如语义分割、物体检测。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值