旷视研究院 · 2021年09月02日

CVPR 2021 论文解读Vol.10 | 通用实例蒸馏GID:青出于蓝而胜于蓝

image.png

论文标题:General Instance Distillation for Object Detection

收录会议:CVPR 2021

论文单位:旷视研究院

论文链接:https://arxiv.org/abs/2103.02340

作者:Xing Dai, Zeren Jiang, Zhao Wu, Yiping Bao, Zhicheng Wang, Si Liu, Erjin Zhou

解读人:张佳程

image.png

2019年在北京邮电大学取得学士学位,目前是北京邮电大学人工智能学院研二的学生。研究方向包括目标检测、模型压缩等。

本文提出一种新的基于判别性实例(不区分正、负样本)的蒸馏方法——general instance distillation (GID),它所包含的general instance selection module (GISM)可以综合利用基于特征的、基于关系的、基于响应的知识。本方法泛化性好,在多种检测框架上的实验表明学生模型的AP可以显著提高,甚至超越教师模型。

一、简介

复杂度的检测模型虽然可以取得SOTA的精度,但它们往往难以直接落地应用。模型压缩方法帮助模型在效率和精度之间进行折中。知识蒸馏是模型压缩的一种有效手段,它的核心思想是迫使轻量级的学生模型去学习教师模型提取到的知识,从而提高学生模型的性能。已有的知识蒸馏方法可以分别为三大类:

  • 基于特征的(feature-based,例如VID、NST、FitNets、fine-grained feature imitation)
  • 基于关系的(relation-based,例如IRG、Relational KD、CRD、similarity-preserving knowledge distillation)
  • 基于响应的(response-based,例如Hinton的知识蒸馏开山之作

其中,大多数蒸馏方法都是针对分类任务设计的,它们难以直接应用到检测任务中,原因在于检测任务中的正、负样本之间严重的不均衡性。一些面向目标检测设计的蒸馏算法面临着需要精心设计选取的正负样本比例、严重依赖GT、忽略了实例之间的潜在关系、在不同的目标检测框架中的泛化性较差等困境。本文提出的蒸馏方法(GID)具有以下特点:

  • 对实例之间的关联性知识进行建模。这是首次将关系知识引入用于检测任务的知识蒸馏中,并将其与基于响应和基于特征的知识相结合,使学生模型超越教师模型。
  • 避免手工设置正负样本的比例,避免只选择GT附近的区域进行蒸馏。虽然GT相关的区域带来的信息量最高,但是极度简单/困难的样本难以给学生模型带来增益,有时一些关键的背景信息可以提高学生模型的泛化性。另外,自动选择用于蒸馏的判别性实例(即general instances (GIs))使得知识传递更加有效,GID的实例选择不依赖GT标签。
  • 泛化性强。GIs是根据学生和教师模型的输出来计算的,不依赖特定检测器的某些模块或特征。GID在一阶段、二阶段和anchor-free的检测模型中都取得了SOTA的效果。

二、方法

image.png

目标区域附近的特征以及来自背景的判别性实例对于模型的学习都是有意义的。在检测模型中,预测结果指示了有意义的注意区域,在教师模型和学生模型之间这些区域的差异与它们的性能差距密切相关。作者基于此设计了GISM,它利用老师和学生的预测结果来挑选关键实例,如图2所示。

作者提出两个指标——GI score 和 GI box,来量化每个实例的差异并挑选判别性的实例,它们都是在训练阶段动态计算的。GI score是通过计算教师模型预测分数和学生模型预测分数的L1距离得到的,然后挑选更高得分的box作为GI box。每个预测实例r的score和box定义如下:

image.png

image.png

image.png

GID同时学习多种蒸馏知识来更好、更多地利用教师模型给出的信息,如图3所示。

image.png

image.png

image.png

image.png

三、实验结果

主要实验结果与泛化性分析:

在VOC和COCO数据集上进行实验,COCO训练迭代180k次(24 epochs),VOC训练迭代10k次(17.4 epochs)。作者在三个SOTA的流行检测框架上做了实验,分别是anchor-based一阶检测器RetinaNet、anchor-free一阶检测器FCOS和二阶检测器Faster R-CNN。

ResNet-50、ResNet-101分别被选作学生模型和教师模型的backbone。表格1中给出了与其他一些SOTA的蒸馏技术在VOC数据集上的对比实验结果。可以看到GID的效果更好,学生模型的性能在有些场景下甚至超过了教师模型。表格2中给出了在COCO数据集上的对比实验结果。可以看到GID明显提升了学生模型的性能,所有学生模型的性能都超越了教师模型。这些实验结果说明了GID在不同类型的检测框架中具有很好的泛化性。

image.png

image.png

之前有工作指出:蒸馏的信息与类别数是线性相关的,因此对于类数少的模型,蒸馏效率会降低。在COCO数据集中只训练一个类别(person)时,GID可以给学生模型带来2.4 AP / 1.9 AP50的性能增益。学生模型仍然超过了教师模式。这说明GID可以自适应地选择富含信息区域来提取和利用各种知识。

进一步来验证GID的泛化性,作者采用异族的backbone做实验。具体来讲,MobileNet-v2、ResNet-101分别被选作学生模型和教师模型的backbone。在RetinaNet上的实验结果表明,GID可以给学生模型带来2.5 AP / 3.0 AP50的性能增益。

可视化分析与消融实验:

image.png

image.png

作者将通用实例归纳为了三类:

image.png

随时间变化的蒸馏趋势:随着训练的进行,蒸馏的焦点从简单的实例转移到具有挑战的实例,如图4中的heat maps所示。这一场景表明,在训练过程中GISM会自适应地选择信息量最大、最具鉴别能力的区域进行提取。作者做了消融实验来进一步分析每种类型GIs的贡献,如表格5所示。提取每种类型的GIs都可以给学生模型带来性能增益,而将这三种类型结合起来可以获得最佳性能。

注意,仅使用negative GIs仍然有利于学生模型,这证明了GID可以有效地从背景区域中选择有用的信息、过滤有害的知识。此外,即使GISM选择的positive GIs只是GT实例的一个子集,仅使用它的结果也优于使用GT实例的结果,这表明一些极端困难或简单的GT实例对学生模型的学习无益。另外,利用GT实例进行蒸馏仍然是有效的,在训练的早期阶段,GT区域仍然是最具信息量和辨别力的区域。然而,充分利用背景中隐藏的信息会使学生模型获得更好的性能。

image.png

通过消融实验来了解每种类型的蒸馏知识对最终性能的影响。结果表明每个蒸馏组分都提高了性能,特别是基于特征和基于响应的知识(+ 1.7 AP)。三种蒸馏知识齐上阵得到了最佳结果(+ 2.9 AP),虽然这三类知识包含一些重叠的部分,但也存在着独特部分。

image.png

最后,作者还探索了GISM超参数K的影响,如表格7所示。随着K值的增加,学生模型获得了显著的性能增益,当K值在10到100之间时,模型性能趋于稳定和最优,当K值进一步增大时,性能开始下降,这主要是由于信息量大、区分性强的GIs被琐碎无用的GIs所淹没。

四、总结与思考

本文从一个全新的角度来区分和选择用于蒸馏的实例,并综合利用三种不同的蒸馏知识,显著提高了学生模型的性能,甚至使得学生模型超越了教师模型,十分有意义。

知识蒸馏的概念最早是2015年Hinton提出的,简单说就是迫使学生模型去学习教师模型的输出分布(soft-target)。之后这一领域便引发了广泛的关注,一些主要的改进思路包括但不限于:将教师模型中间层的局部或全局知识迁移到学生模型中、敦促学生模型学习输入到输出的特征流(层与层之间的关系)、借鉴生成对抗的方式来提升学生模型的决策边界鉴别能力、雇佣多个教师网络来指导学生网络(输出加权的方式)等等。可以看到蒸馏效果越来越好的代价是方法越来越复杂。本文抓住了目标检测蒸馏算法中的痛点——蒸馏实例的选择方式,提出了新颖有效的解决方法,在保证方法简洁性的同时大幅提高了学生模型的性能,非常有价值。

知识蒸馏时需要并行两个模型,这是十分消耗显存的,之前有研究提及一些蒸馏算法对batch size是敏感的,所以如何在有限显存资源下高效进行模型蒸馏也是一个可以研究的点。另外,当学生模型和教师模型性能差异很大时(例如MobileNet based RetinaNet和ResNet-101 based RetinaNet),虽然知识蒸馏可以提高学生模型的性能,但两者之间的差距仍旧很大,这直接影响了知识蒸馏算法的大规模应用,也说明这一方向还存在着非常大的优化空间。

首发:旷视研究院
作者:张佳程

专栏文章推荐

推荐阅读
关注数
7696
内容数
164
专注旷视研究院学术论文解读推送,涵盖计算机视觉,文字识别等
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息