【Knowledge Distillation with the Reused Teacher Classifier】

1.介绍

给定一个具有大量参数的强大教师模型,知识蒸馏(KD)的目标是帮助另一个参数化较少的学生模型获得与较大的教师模型相似的泛化能力。实现这一目标的一种直接方法是在给定相同输入的情况下对齐它们的logits或类预测。由于KD技术概念简单,实用有效,在各种应用中都取得了巨大的成功。
在知识蒸馏中,学生模型和教师模型的差距成为一项关键性的挑战。
在本文中,我们提出了一个简单的知识蒸馏技术,并证明它可以显著弥合教师和学生模型之间的性能差距,而不需要详细的知识表示。我们提出的“SimKD”技术如下图所示。我们认为,教师模型强大的班级预测能力不仅归功于这些表达特征,而且同样重要的是,一个鉴别分类器。基于这一论点,我们在分类器的上一层通过特征对齐来训练学生模型,并直接复制教师分类器进行学生推理。这样,如果我们能将学生的特征与教师模型的特征完美地对齐,他们的表现差距就会消失。也就是说,单独的特征对齐错误解释了学生推理的准确性,这使得我们的知识转移更容易理解。根据我们的实验结果,单个L2损失的特征对齐已经出奇地好。如此简单的损耗使我们不必像以前的工作那样仔细地调优超参数,以平衡多个损耗的影响。
在这里插入图片描述

2.方法

2.1 标准的知识蒸馏模块

一般来说,当前流行的为图像分类任务设计的深度神经网络可以看作是一个具有多个非线性层的特征编码器(特征提取层)与一个通常包含单个具有softmax激活函数的全连接层的分类器进行组合的结构。这两个组件都将通过反向传播算法进行端到端训练。
在这里插入图片描述

2.2 简单的知识蒸馏(本文的方法)

在这里插入图片描述
近年来,提出了各种特征蒸馏方法。这些工作主要是从中级师生层对中收集和传输额外的梯度信息,以便更好地训练学生特征编码器(上图(b))。然而,它们的成功在很大程度上依赖于那些特别设计的知识表示,以包含适当的归纳偏差,以及精心选择的超参数来平衡不同损失的影响。两者都是劳动密集型和耗时的。也很难断定某一类型的表征在学生培养中所起的实际作用。
相反,我们提出了一种简单的知识蒸馏技术,称为SimKD,它摆脱了这些严格的要求,同时在大量的实验中仍然获得了最先进的结果。如上图©所示,SimKD的一个关键组成部分是“分类器重用”操作,即我们直接借用预先训练好的教师分类器进行学生推理,而不是训练一个新的分类器。这样就不需要用标签信息来计算交叉熵损失,使得特征对齐损失成为产生梯度的唯一来源。
我们认为教师分类器中包含的鉴别信息很重要,但在KD的文献中很大程度上被忽略了。然后,我们为它的重要作用提供了一个合理的解释。考虑这样一种情况,一个模型被要求处理几个具有不同数据分布的任务,一个基本的做法是冻结或共享一些浅层作为跨不同任务的特征提取器,同时微调最后一层以学习特定于任务的信息。在这种单模型多任务设置中,现有研究认为任务不变信息可以共享,而任务特定信息需要独立识别,通常由最终分类器进行识别。对于在同一数据集上训练具有不同能力的教师和学生模型的KD,类似地,我们可以合理地认为,数据中有一些能力不变的信息很容易通过不同的模型获得,而强大的教师模型可能包含额外的基本的能力特定信息,而简单的学生模型很难获得。此外,我们假设大多数特定于能力的信息包含在深层中,并期望重用这些层,甚至只有最后的分类器将有助于学生的训练。
基于这一假设,我们为学生模型提供了教师分类器进行推理,并强制其提取的特征与下面的这个L2损失函数相匹配:

在这里插入图片描述

其中P表示为将学生网络的特征输出与教师网络的特征输出进行对齐的函数。
有些令人惊讶的是,通过这种简单的技术,师生压缩中的性能下降将得到极大的缓解。随着高推理精度,这种单损失公式的简单性为我们的SimKD提供了良好的解释性。注意,来自预训练的教师模型的重用部分被允许合并更多的层,但不限于最终的分类器。通常情况下,重用的层数越多,学生的准确率越高,但会增加推理的负担。

3.实验

首先就是横向比较,和其他方法对比实验效果:
在这里插入图片描述
当然,这样的对比略有不公平,因为SimKD还会多一个project linear。

Classifier-Reusing Operation
首先就是研究“是否用Teacher的Classifier”
在这里插入图片描述
如果只使用KD,也就是红色的直线,效果比较差的。

如果不freeze,联合训练 encoder和Classifier,可以看出效果也比较差。

在这里插入图片描述
可以看出,训练的epoch不一样的时候,大家的结果还是差蛮多的,SimKD收敛的比较快。

先训student encoder,然后训Classifier:
在这里插入图片描述
可以看出,此时再训练,效果就会差,就是不如Teacher的Classifier效果好。

保留更多的Teacher的layer:
在这里插入图片描述
这些结果支持了作者的假设,即重用深层教师层有利于学生的表现提高,可能是由于大多数能力特定信息都包含在其中。

另一种解释是,重用更深的教师层将使浅教师层的近似更容易实现,从而减少性能下降。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值