来源丨https://zhuanlan.zhihu.com/p/539496128
本文主要介绍ECCV 2022关于知识蒸馏的工作: Masked Generative Distillation。该方法在图像分类和密集预测的实验中,其学生模型均获得大幅提升。 >>加入极市CV技术交流群,走在计算机视觉的最前
文章链接:
https://arxiv.org/abs/2205.01529
代码链接:
https://github.com/yzd-v/MGD
一、简介
知识蒸馏主要可以分为logit蒸馏和feature蒸馏。其中feature蒸馏具有更好的拓展性,已经在很多视觉任务中得到了应用。但由于不同任务的模型结构差异,许多feature蒸馏方法是针对某个特定任务设计的。
之前的知识蒸馏方法着力于使学生去模仿更强的教师的特征,以使学生特征具有更强的表征能力。我们认为提升学生的表征能力并不一定需要通过直接模仿教师实现。从这点出发,我们把模仿任务修改成了生成任务:让学生凭借自己较弱的特征去生成教师较强的特征。在蒸馏过程中,我们对学生特征进行了随机mask,强制学生仅用自己的部分特征去生成教师的所有特征,以提升学生的表征能力。
为了证明MGD并不是通过模仿教师来提升学生,我们对学生和教师的特征图进行了可视化。可以看到,蒸馏前的学生与教师的注意力相差很大。在使用FGD蒸馏(模仿教师)后,学生的注意力和教师变得很接近,表现也得到了较大的提升。但当使用MGD蒸馏后,学生与教师差异很大,学生对于背景的响应大幅减小,对于目标的响应得到了增强,学生的最终表现也好于FGD蒸馏。
二、整体框架
MGD是在feature层面的蒸馏,可以很方便地被应用到不同任务,如分类,检测与语义分割。
三、实验结果
1. 图像分类
我们首先在图像分类任务上进行实验,在pixel层面进行随机mask,学生模型在ImageNet上获得了有效的提升。并且可以和logit蒸馏进行叠加,进一步提升学生模型。
对于分类任务而言,常常会对特征进行pixel层面的池化,模型对于channel维度更加敏感。所以我们还在channel维度进行了随机mask,学生模型可以获得更大的提升,在feature蒸馏方法中实现了sota。
2. 密集预测
我们也将MGD应用到了目标检测,实例分割与语义分割任务上,分别在COCO和CityScapes进行实验,学生模型均获得了大幅的提升。
四、分析
为了进一步证明MGD通过生成的方法提升学生的表征能力,我们在分类任务上与直接模仿教师的方法进行了对比。此处蒸馏使用直接训练得到的学生模型作为老师,可以看到,即便是学生自己作为老师,MGD也能为学生带来有效的提升,而直接模仿教师对于学生的提升非常小。
五、代码与更多蒸馏
我们已将代码开源:
https://github.com/yzd-v/MGD
开源代码中放了蒸馏的学生模型和训练log。三种任务的代码均基于MMLab的工具实现,易于复现,MGD仅有两个超参,方便自由组合学生与教师进行蒸馏。
公众号后台回复“目标检测综述”获取目标检测(2001-2021)综述PDF~