在知识提炼中,有效教师的条件是什么?
三个要点
✔️ 调查成功提炼知识的有效方法
✔️ 确定了教师一致和耐心的重要性
✔️ ImageNet 82.8%的ResNet-50模型的Top-1精度
Knowledge distillation: A good teacher is patient and consistent
written by Lucas Beyer, Xiaohua Zhai, Amélie Royer, Larisa Markeeva, Rohan Anil, Alexander Kolesnikov
(Submitted on 9 Jun 2021 (v1), last revised 21 Jun 2022 (this version, v2))
Comments: CVPR2022.
Subjects: Computer Vision and Pattern Recognition (cs.CV); Artificial Intelligence (cs.AI); Machine Learning (cs.LG)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
介绍
非常大的模型在计算机视觉任务中显示出最先进的性能,如图像分类、物体检测和语义分割。
然而,由于其计算成本高,较小的模型,如ResNet-50和MobileNet比高性能的大规模模型更常用。
本文介绍的论文通过确定更有效的方法来压缩大型模型,并通过知识蒸馏实现更好的性能,从而解决了这个问题。
结果显示,通过对教师和学生模型使用相同的输入,并通过主动增强来增加训练时间,在各种视觉数据集上都取得了优异的成绩,特别是在ImageNet中ResNet-50模型的Top-1准确性达到82.8%。
实验装置
实验将在特定任务上表现出高准确度的大型视觉模型(教师模型)压缩成较小的模型(学生模型),并减少性能损失。
实验中使用了以下五个数据集。
- 花102。
- 宠物
- Food101
- SUN397.
- ILSVRC-2012(ImageNet)。
这些都是多样化的图像分类任务,范围从37到1000个类别和1020到1281167幅图像。
分类精度被用作评价指标。
教师/学生模式
作为教师模型,该实验使用了BiT的模型(一个在ILSVRC-2012和ImageNet-21k上预训练的ResNet模型大集合)。与标准ResNet的一个主要区别是,没有使用批量规范化,而是使用了组规范化层和权重标准化。
一个BiT-ResNet-40的变体被用于学生模型(为简单起见,此后被称为ResNet-50)。
蒸馏损失
教师和学生模型的预测类概率向量$p_t,p_s$之间的KL-分歧被用于蒸馏损失。
$C$是类集。温度参数$T$也被使用($p_s\propto exp(log p_s/T),p_t\propto exp(log p_t/T)$)。
实验结果
本文将知识提炼解释为师生模式中的功能匹配任务。
基于这种解释,在知识提炼中总结出以下两条原则用于模型压缩
- 师生模式应该处理一致的、相同的(完全相同的clop Augmentation)输入("一致的教师")。
- 为了提高泛化能力,积极的增强处理和学习大量的历时("耐心的老师")。
始终如一的教师的重要性
首先,为了检验 "一致的教师 "假设,我们考虑了以下四种知识提炼的方案
- 固定教师:固定教师模型的预测值。
- 修正/rs:教师和学生模型的输入图像都调整为224x224。
- fix/cc: 教师模型在中心位置裁剪,学生模型随机裁剪。
- fix/ic_ens:使用1k种不同作物的平均预测值作为教师模型的预测值(初始作物)。学生模型随机裁剪了图像的一部分。
- 独立的噪音:在教师-学生模型中给予不同的输入。
- ind/rc:在教师和学生模型中分别应用独立的随机作物。
- ind/ic:分别在教师和学生模型中应用独立的概念作物。
- 一致的教学:在教师/学生模式中给予相同的投入。
- same/rc:在教师和学生模型中应用相同的随机作物。
- 相同/ic:在教师和学生模型中应用相同的概念作物。
- 功能匹配:在教师/学生模型中给出相同的输入(+增量)。
- same/ir,rc,mix: 一致性教学的扩展,对图像进行混合处理以增加多样性,然后向教师和学生模型提供相同的输入。
对于这些设置,在Flower102上10,000个历时的学习曲线如下所示
如图所示,一致的教师(相同/rc,相同/ic)设置显示出更好的结果,表明在教师/学生模式中被给予一致的输入的重要性。对比train/val曲线也可以看出,当教师的预测是固定的(固定,黑线),就会出现过拟合。
病人老师的重要性。
在正常的监督学习的情况下,积极的图像扩增(augmentation)有可能使实际的图像相对于图像标签而言被大大扭曲。
然而,如果把知识提炼解释为师生模型函数的匹配过程,并且给师生模型以一致的、相同的输入,那么即使输入是高度扭曲的,它们对于函数匹配仍然是有效的,可以用于积极的图像增强。
基于这个想法,我们研究了非常长的时间优化的情况(病人的老师),同时通过主动增强图像来避免过度拟合。结果如下。
图中显示了每个数据集在不同的历时训练时的测试精度。
如图所示,可以看出,经过非常多的历时训练,学生模型最终达到了教师模型的性能(红线)。值得注意的是,即使在训练了多达100万个epochs之后,也没有出现过拟合现象。还有。与从头开始学习或通过过渡学习相比,最终的结果在小的历时中要差一些,但要优于前者。
扩大到ImageNet的规模
由于上述实验是在一个相对较小的数据集上进行的,类似的实验是在一个更大的ImageNet上进行的。目前的结果如下。
如同上面的实验一样,可以看出CONSISTENT教学设置并没有过度拟合,而且随着学习时间的增加,性能也会提高。
主动进行增强处理的函数匹配设置在较长的学习时间内也显示出较好的性能,尽管在历时数较少的情况下会出现欠拟合。
最后,ResNet-50学生模型在ImageNet上取得了82.31%的Top-1准确率。
在不同的分辨率下进行知识提炼。
在以前的实验中,教师和学生接受了相同分辨率(224x224)的输入。然而,降低学生模型中的分辨率可能允许更快的处理。
因此,当学生模型中的输入图像分辨率小于教师模型时,历时数和Top-1准确率如下。
该表显示,即使学生和教师模型的分辨率不同,知识提炼的效果也很好。
研究还表明,即使在学生模型具有相同的224x224分辨率的情况下,从更高的分辨率和更精确的教师模型(S384→S224)中提炼出的知识可以带来更好的性能。
通过二阶预处理程序提高学习效率
主动进行增强处理的函数匹配设置,需要更多的学习时间,尽管最终的性能更高。
在这里,我们测试了使用一个更强大的优化器(Adam→Shampoo)是否能减少学习时间的增加。结果如下。
如图所示,使用Shampoo代替Adam使学习速度提高了四倍。
关于预训练模型的使用
基于转移学习的成功,当学生模型用预训练的模型初始化时,结果如下。
当学习时间很短时,用预训练的模型进行初始化显示出良好的效果。然而,随着学习时间的延长,从头开始学习最终取得了更好的表现。
在不同的模型系列中,知识的提炼。
鉴于知识提炼在不同的分辨率下是成功的,因此也考察了不同模型系列之间的知识提炼。
首先,当学生模型改为MobileNet v3 (Large)时,在300个历时后达到74.60的Top-1准确率,在1200个历时后达到76.31。另外,当学生模型为ResNet50,教师模型设置为集合设置(224x224默认+384x384 logit平均)时,在9600个历时后,Top-1的准确率达到了82.82。
一般来说,即使教师/学生模式是不同的模式结构,或者教师模式是在一个集合的环境中,知识提炼也被发现是成功的。
与现有方法的比较
这些实验的最佳结果以及与现有ResNet-50模型的比较如下。
总的来说,本文提出的知识提炼设置超过了现有的最先进的结果。
在 "域外 "数据中进行知识提炼。
如果把知识提炼看成是函数匹配,预计知识提炼对任意的图像输入都是有效的。
为了研究这个假设,我们在pets和sun397数据集上进行了实验。具体来说,我们对food101和ImageNet图像(域外)进行知识提炼,并与ipets和sun397图像(域内)的知识提炼进行比较。结果如下。
一般来说,域内知识提炼表现最好,但域外图像也显示出知识提炼在一定程度上的作用。
研究还发现,当领域相关或重叠时(宠物和ImageNet,sun397和ImageNet),可以达到接近领域内的性能,尽管需要更长的训练时间。
与无蒸馏损失的比较
最后,为了确认这些实验结果不是由于特殊的学习设置(积极的混合增强和长的学习时间),将结果与消除了蒸馏损失的正常监督学习进行了如下比较。
如图所示,没有知识提炼的主动混杂增强和长期学习导致了性能不佳和过度拟合。因此,主动混合增强和长期学习被证明在与知识提炼相结合时效果良好。
摘要
该论文没有提出一种新的模型压缩方法,而是对现有的知识提炼过程进行了重新考虑,并提出了一个更有效的学习过程。这些结果是基于对知识提炼的新解释,即 "师生模型的功能匹配"。
他们表明,知识提炼的性能可以通过以下方式得到改善:(1)保持教师和学生的输入相同,(2)积极应用增强技术来增加输入的多样性,以及(3)增加学习时间。
基于这些发现,一个大型模型被压缩到ResNet-50中,取得了超过现有最先进性能的重要结果,可以作为未来研究的强大基线。
与本文相关的类别