新闻  |   论坛  |   博客  |   在线研讨会
ECCV 2022 | 适用于分类,检测,分割的生成式知识蒸馏开源
计算机视觉工坊 | 2022-07-23 16:35:06    阅读:162   发布文章

作者丨美索不达米亚平原@知乎 (已授权)

来源丨https://zhuanlan.zhihu.com/p/539496128编辑丨极市平台

导读

 

本文主要介绍ECCV 2022关于知识蒸馏的工作: Masked Generative Distillation。该方法在图像分类和密集预测的实验中,其学生模型均获得大幅提升。


图片文章链接: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仅有两个超参,方便自由组合学生与教师进行蒸馏。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客