TPAMI 2022 | 知识蒸馏为什么有效?因为有老师给你划“重点”
Preface
本文是发表在 TPAMI 上的论文,来自张拳石老师的课题组。最近买了他参与编著的《可解释人工智能导论》,碰巧在 Arxiv 上看到了这篇文章,正所谓人生何处不相逢。
论文标题:
Quantifying the Knowledge in a DNN to Explain Knowledge Distillation for Classification
https://arxiv.org/abs/2208.08741
文章主要目标是以信息论为基础,解释知识蒸馏为什么能让学生模型比一个从头学起的新模型效果更好的原因。为了更好地阐述新的概念,作者首先提出了知识点 Knowledge Point
(下文有时将其简称为 KP):KP 指的是样本中的一组输入单元(input unit),相对于其它的输入单元,在 DNN 中它的信息损失明显地更少。在文中先给出了 KP 的公式化定义,随后,作者提出了三个假设,并对应地提出了三个评估指标来验证它们。
通过知识蒸馏学出来的模型,所包含的有效 KP 更多;
知识蒸馏的学习过程会让学生模型同时学习多个 KP,而从头开始训练的模型是序贯地学习 KP;
知识蒸馏学习开始时,学生模型相比于从头训练的模型优化更加稳定。
最后,考虑到我们一般把知识蒸馏过程中的两个模型叫做 teacher network 与 student network,“知识点” 这个翻译实在是有点奇妙的韵律感,让我不禁联想到考试前,老师给学生划重点的熟悉场面 "重点?我讲过的都是重点" 。
为了验证这三个假设的正确性,作者进一步提出了验证它们的评估指标:
统计模型学到的 KP 的质量(quantity)与数量(quality);
模型学习 KP 的平均速度(不同的 KP 是否是以相同的速度被学习);
DNN 在学习过程中是否经历了 detour。
值得注意的是,作者特意指出了这篇文章分析的范围与前置条件:
作为让后续实验更加公平的必需条件,知识蒸馏所使用的教师模型一定是在目标任务上进行了很好的调试; 知识蒸馏一般有两种应用方式,第一种是对模型接近输出层的中间层输出进行学习(一般是高维的特征),这种情况下学生模型会去尝试学习教师模型所编码的实际知识;第二种是对模型 softmax 之前的输出进行学习(一般是低维的特征,和 label size 相同),这种情况下学生模型只会去挑选。
总的来说,这篇文章有以下贡献:
文章中所提出的知识点的概念是一种全新的分析 DNN 的视角; 以知识点为基础,提出了三个评估指标来解释知识蒸馏的机制;
提出了知识蒸馏有效的三个假设,并在多种类型的实验(图像分类,三维点云分类,二元情感分类,问答)中进行了验证。
这部分主要阐述文章的主要部分:关于信息损失的详细定义,从而引出知识点这个概念;通过知识点的概念详细解释 3 个假设,以及如何设计指标去进行量化的评估。为了行文通顺,这部分不会苛求与原文的结构一致,以能够将概念解释清楚为准。
3.1 信息损失与知识点
在正式定义知识点之前,首先给出两个概念:前景(foreground)与背景(background)。对于图像而言,前景与背景定义十分明晰。很多实验都已经表明,对于一个图像分类任务而言,背景的特征重要性相对而言远小于前景(比如辨识不同的鸟类,可以看它们的毛色/翅膀形态,但看天上的云帮助就不大)。基于此,作者首先提出,对于其它没有明确前背景概念的任务(如 NLP)而言,前景指代会对任务分类有帮助的特征集合,而背景表示对该分类任务没有帮助(或者帮助很小)的特征集合。
3.2.1 假设1
假设1:相比较于一个从头开始训练的模型,知识蒸馏使得学到的 DNN 编码了更多的 KP。
知识点的数量
知识点的质量
对于知识点的数量的定义十分明确:给定一个训练后的模型与一组样本,添加扰动后,所算出来的该模型对于样本的知识点的数量的平均值。但如何评价知识点的质量呢?
假设2:知识蒸馏使得(学生)模型能够同时学多个 KP,而一个从头训练的模型序贯学习不同的 KP。
这个关于并行串行的假设其实有点绝对了,在文中作者实际的论证点在于:知识蒸馏学习 KP 的速度会相对更快、更加同时。
假设3:知识蒸馏学习模型的优化过程比从头学习的模型更加稳定。
直觉上,有了教师模型的帮助,一个学生模型会比一个从头开始训练的模型更快地找到真正有用的知识点,而后者在训练的最开始往往会尝试更多的知识点,以此来确定真正有效的那一组。也就是说,有了知识蒸馏的帮助,学生模型会少走更多弯路,它在整个训练过程中所考察过的KP,会比从头训练的模型更少。作者基于此设计了指标:
在给定以上三个假设及其评价指标的基础上,如果假设均成立,我们应该观测到的现象是:
论文选择了三类不同的任务来验证所提出的假设:
图像分类任务
模型:AlexNet,VGG-11,VGG-16,VGG-19,ResNet-50,ResNet-101,ResNet-152
数据:ILSVRC-2014 DET,CUB200-2011,Pascal VOC 2012
自然语言处理任务 —— 值得注意的是,自然语言处理数据中的使用的前景与背景知识点是由人工定义的,即由人工来判断样本中某个 token 对于样本的结果是否有显著的影响。
问答:BERT+SQuAD
情感分类:BERT+SST-2
3D 点云分类任务 —— 由于数据中没有提供背景,作者基于采样的方式手动构造了样本的背景。
模型:PointNet,DGCNN,PointConv,PointNet++
数据:ModelNet40
可以看到,在大部分的实验组别(以及同一个模型的不同中间层)中,基于知识蒸馏学得的 S 模型都优于 B 模型,说明学生模型确实能从知识蒸馏中获得相对更多的 KP 数量与更高的 KP 质量、获得更快的 KP 学习速率、经历更少的 KP 候选。
不过在少数的 CNN 中间层中,其经历的 KP 候选集(假设3)反而会高于从头开始训练的模型,作者认为这是因为 CNN 通常不会被充分地微调(对于预训练模型来说),因此其所在的教师模型反而会在其中嵌入一些噪声(比如模型用于预训练 ImageNet 中有许多域外标签),因此不满足作者在最初提出的条件:教师模型必须是在目标任务上进行了充分的调试(在这儿等着呢)。
可以看出,在充分微调以后,CNN 中间层也能满足假设 3 了。
在满足作者所提出的 3 个假设的基础上,仍然可以观察到在相当一部分数据中,使用了知识蒸馏的学生模型的背景 KP 数量会比从头训练的更多,所以这个现象仍然有一定的普遍性。
参考文献
[1] T. Furlanello, Z. C. Lipton, M. Tschannen, L. Itti, and A. Anandkumar. Born again neural
networks, arXiv preprint arXiv:1805.04770, 2018
[2] D. Lopez-Paz, L. Bottou, B. Scholkopf, and V. Vapnik. Unifying distillation and privileged information. In ICLR, 2016
[3] J. Tang, R. Shivanna, Z. Zhao, D. Lin, A. Singh, E.H. Chi, and S. Jain. Understanding and improving knowledge distillation. arXiv preprint arXiv:2002.03532, 2020
[4] M. Phuong and C. Lampert. Towards understanding knowledge distillation. In International Conference on Machine Learning, pages 5142-5151, 2019
[5] R. Shwartz-Ziv and N. Tishby. Opening the black box of deep neural networks via information. arXiv preprint arXicv:1703.00810, 2017
[6] N. Wolchover: New theory cracks open the black box of deep learning. In Quanta Magazine, 2017
[7] C. Guan, X. Wang, Q. Zhang, R. Chen, D. He, and X. Xie. Towards a deep and unified understanding of deep neural models in nlp. In International Conference on Machine Learning, pages 2454–2463, 2019.
[8] H. Ma, Y. Zhang, F. Zhou, and Q. Zhang. Quantifying layerwise information discarding of neural networks. In arXiv:1906.04109, 2019.
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
微信扫码关注该文公众号作者