©Paperweekly 原创 · 作者 | An. 单位 | 中科院自动化所 研究方向 | 计算机视觉、模型压缩
Knowledge Distillation from A Stronger Teacher 论文链接:
https://arxiv.org/pdf/2205.10536.pdf 代码链接:
https://github.com/hunto/DIST_KD
深度神经网络在计算机视觉领域取得了显著成功,在追求更好性能的道路上,现有的深度学习模型通常变得更深更宽。然而,由于计算和内存资源的限制,这些模型难以实际应用部署。因此,针对深度学习模型的压缩方法得到了广泛的研究,知识蒸馏(Knowledge Distillation, KD)就是其中非常重要的一类方法。 知识蒸馏是指在训练期间从更大模型(教师)中提取知识来提高小模型(学生)性能的方法,其本质在于如何将知识从教师传递给学生。最直观有效的方法是通过 Kullback-Leibler(KL)散度 [1] 来匹配师生的概率预测得分,其他常见的知识蒸馏方法还包括特征蒸馏 [2] 和关系蒸馏 [3] 。 随着模型规模和模型性能的不断增加,实验发现,性能更好的模型作为教师,往往并不能带来学生蒸馏性能的提升,甚至比从头开始训练的表现更糟糕。这一现象可被概况为“更强的模型不一定是好教师”。过往的研究主要集中在解决模型规模显著不同时的知识蒸馏问题,常见的解决方案是引入中等规模的模型作为中间过渡,缓解教师和学生在模型大小上的巨大差异。 然而,模型大小的增加只是更强大教师的一种范式,现有的方法缺乏对更先进的训练策略对知识蒸馏影响的深入分析。本文旨在探究和提出一个足够通用的方案来解决“更强的模型不一定是好教师”的问题,既包括更大的模型规模,也包括更强的训练策略。 作者认为将知识从教师传递到学生时, 我们真正关心的是教师的概率预测的相对顺序,而不需要准确地模仿其绝对值。 本文提出了一种利用皮尔逊(Pearson)相关系数 [4] 替换 KL 散度的知识蒸馏方法。除了学习概率预测的类间关系(inter-class relations),作者还提出可以学习不同实例相对于每个类的类内关系(intra-class relations)。该方法被称为 DIST(Knowledge D i stillation from A S tronger T eacher)。 如图 1 所示,不同于过往的方法,学生只是被适当地引导以提取那些真正有用的关系。DIST 的训练成本和原始 KD 几乎一致,在多个任务和数据集上取得了 SOTA 的效果。
▲ 图1. DIST 和现有 KD 方法的不同
原始 KD [1] 利用最小化教师和学生概率预测得分的差异,将知识从预先训练好的教师模型传递到学生模型。具体公式如下:
过往研究表明与 ground-truth 一同训练有利于提高学生性能,整体训练损失由原始分类损失 和蒸馏损失 组成:
通过系统地研究设计和训练深度神经网络的流行策略,作者发现——如图 2 所示,当教师和学生采用更先进的训练策略时,教师的性能会更好,但它和学生之间的差异也会变得相当大。从图中可以看出,当采用更先进的训练策略时(B2),与 ResNet-50 相比,ResNet-18 的输出并未有太大变化。
▲ 图 2. 不同训练策略下教师和学生的预测差异(KL 散度) 由此可以推测, 当教师过于强大时,利用 KL 散度准确模仿教师的概率预测得分可能十分具有挑战性,这可能是原始 KD 的失败的原因 。同时,蒸馏损失和分类损失的不一致也会更严重,这将导致对学生训练的干扰。 因此,作者认为可以采用一种更松弛的方式匹配教师和学生的概率预测。
方法:DIST
概率预测得分表示教师对所有类别的置信度(或偏好)。根据上文的实验现象和推测,我们真正关心的是教师预测的相对关系,而不是绝对值。因此,我们可以选择一种 的度量 ,在精确匹配 的基础上引入 的额外映射 和 ,即: 因此, 并不一定要求 和 完全相同。 当 和 是保序映射时,我们就可以保证 和 具有相同的预测排序,而不影响预测向量的语义信息和推断结果。
这种匹配方式具有尺度和平移不变性,可以满足对关系的松弛匹配。为了满足式(5)的性质,作者采用了广泛使用的皮尔逊距离作为度量,即: 通过这种方式,原始 KD 的精确匹配得到松弛,取而代之的是最大线性相关,以保留教师和学生每个实例在概率预测的关系,即类间关系(inter-class),具体损失函数可表示为:
3.2 类内关系的补充
除了类间关系,每个类在多个实例的概率预测的相对关系也蕴含着丰富的知识。该知识反映了教师对不同实例在同一类的相似度判断。例如,标签为“猫”“狗”和“飞机”的三张图像,在“猫”类上的预测得分分别是 、 、 。因为飞机是无生命的, 的相对关系蕴含着语义相似度的信息,这种类内关系值得传递。其具体损失函数可表示为: 整体的训练损失函数 可由分类损失、类间 KD 损失和类内 KD 损失组成,即:
实验
1. 图像分类: 如表 1 所示,DIST 方法明显优于过往的 KD 方法,在相同和不同模型结构间都取得了最好的分类性能。
▲ 表1. ImageNet 上不同蒸馏方法的对比
2. 目标检测: 如表 2 所示,通过简单地替换损失函数,DIST 就显著优于原始 KD。此外,在 DIST 基础上加上最简单的 FPN 特征均方误差最小化,就能取得超越目标检测中最先进的 KD 方法。这充分说明了 DIST 在下游任务中的有效性。▲ 表2. COCO 验证集上不同 KD 方法对比
3. 语义分割: 如表 3 所示,DIST 在语义分割任务上明显优于现有的知识蒸馏方法,这也证明了本文所提出的方法在关系建模上的有效性。
▲ 表3. Cityscapes 数据集上不同 KD 方法的对比
4. 从更大的教师模型中蒸馏: 如表 4 所示,当教师模型变大时,DIST 相较于 KD 能为学生带来更多的性能收益。 ▲ 表4. DIST 和 KD 在不同模型大小教师下的蒸馏表现对比 5. 从更先进的训练策略中蒸馏: 表 5 的结果表明,当采用更先进的训练策略时,DIST 相较于 KD 能为学生带来更多的性能收益。
▲ 表5. DIST 和 KD 在不同训练策略下的蒸馏表现对比 6. 消融实验: 表 6 的结果表明,类间关系和类内关系都优于原始 KD,它们结合能进一步提高性能。
▲ 表6. 类间和类内关系的消融实验
[1] G. Hinton, O. Vinyals, and J. Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531, 2015. 1, 3, 5, 6, 7, 8, 14 [2] B. Heo, J. Kim, S. Yun, H. Park, N. Kwak, and J. Y. Choi. A comprehensive overhaul of feature distillation. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 1921–1930, 2019. 1, 6 [3] Y. Tian, D. Krishnan, and P. Isola. Contrastive representation distillation. In International Conference on Learning Representations, 2019. 1, 6, 8, 14 [4] K. Pearson. Vii. mathematical contributions to the theory of evolution.—iii. regression, heredity, and panmixia. Philosophical Transactions of the Royal Society of London. Series A, containing papers of a mathematical or physical character, (187):253–318, 1896. 2
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读 ,也可以是学术热点剖析 、科研心得 或竞赛经验讲解 等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品 ,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬 ,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱: [email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02 )快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」 也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」 订阅我们的专栏吧