Press "Enter" to skip to content

AAAI 2022 | 目标检测知识蒸馏没提升?试试锚框排序蒸馏

在 AAAI 2022 上,商汤通用感知组和南京理工大学联合设计了一种新的适用于目标检测的知识蒸馏方法。 在主流检测器中,1个物体往往会匹配多个anchors。 我们发现,这些anchors的得分高低顺序,可以作为有效的知识,从教师模型传递给学生模型,并取得比传统soft label更好的效果。 此外,我们提出用学生和教师模型之间的预测差异,反向引导特征蒸馏,可以显着提升特征蒸馏效率。

 

 

论文名称: Rank mimicking and Prediction-guided feature imitation

论文地址:

https://arxiv.org/abs/2112.04840

一、研究背景

 

知识蒸馏是一种模型压缩的有效手段,但是适用于目标检测的知识蒸馏方法却很少被研究。而且,我们通过实验发现,在分类任务上主导的soft label蒸馏,并不适用于目标检测,只能带来很小的提升。因此,设计一种适用于目标检测的知识蒸馏方法很有必要。

 

二、研究动机

 

我们从 特征、网络预测和NMS之后的检测结果 这三方面,详细比较了教师检测器和学生检测器的差异到底在哪里。我们发现,在一些困难样本上,教师模型和学生模型的表现非常不一致,它们最终的检测结果(after NMS),往往是从不同的anchor进行预测。这个现象表明,教师网络和学生网络在anchor的排序上存在差异。教师网络有更强的表征能力,能更加准确地建模出anchor之间的语义关系,让检测结果从语义信息最强的anchor输出,并能抑制其他弱一些的anchors;而学生网络在这方面,会表现得差一些。基于这个发现,我们设计了一种新的知识蒸馏方法: Rank Mimicking (排序蒸馏) 。

 

 

特征蒸馏的目的,是想让学生模型能够产生和教师一样准确的预测。但是,通过可视化,我们发现,在一些区域上,尽管学生模型的特征和教师模型的特征,有很大不同(如下图第二行黄框所示),但在这些区域,学生模型自己也可以产生准确的预测,并不需要依赖教师模型的指导(如下图第一行黄框所示)。这个现象就导致了特征蒸馏过程中,有很多无效的梯度,并不能帮助学生模型产生准确的预测。因此,我们提出了Prediction-guided feature imitation,利用预测的差异来反向引导特征蒸馏,让特征蒸馏直接拉近学生预测和教师预测之间的距离。

 

 

总结一下本文的主要贡献:

 

1. 目标检测中,anchors之间的排序可以作为有效的知识,从教师传递给学生。这是一种适用于检测的知识蒸馏方法,也比传统的soft label效果更好。

 

2. 根据检测网络的预测来引导特征蒸馏,显着提升特征蒸馏的效率。

 

三、研究方法

 

 

Rank mimicking:  考虑到现在的检测器,都是一对多的label assign方式:1个instance会对应多个anchors。这些anchors来自label category的score,经过softmax后,可以构成一个概率分布(如上图(b)所示)。可以清楚看到,这个概率分布反映了不同anchors的语义强弱顺序;落在物体身上的anchor,往往质量更高,有更大的score;而那些落在背景区域的anchor,一般是质量较差的。教师模型可以更加准确地建模不同anchor之间的语义关系,让最终的检测结果通过质量最高的anchor预测得到。很自然地,我们提出,让教师模型把这种知识传递给学生模型。对于第j个instance, 它的rank distribution可以从下面公式(5)得到:

 

 

其中,上标j表示instance的序号,下标i表示这个instance对应的第i个anchor。s和t分别表示学生和教师模型。得到rank distribution后,我们采用KL Divergence优化学生和教师之间的分布距离:

 

 

M指的是instance的总数。

 

· Rank mimicking和soft label的区别:  soft label蒸馏的是不同类别之间的分布关系,可以理解为anchor内局部信息的蒸馏。而我们的rank mimicking,是蒸馏不同anchors之间的分布关系,是一种全局信息蒸馏。

 

· Prediction-guided feature imitation: 特征蒸馏在以前的工作中,就被广泛研究过。以前的研究重点主要放在手工设计一些蒸馏区域,比如只有GT Box内部的特征。但是,特征蒸馏和网络预测之间的关系,很少被人考虑。我们发现,特征蒸馏并不能直接帮助学生模型产生和教师模型一样的预测;在一些区域上,学生模型自己就已经可以产生准确的预测,没必要再去强行拟合教师的特征,甚至这种强行拟合造成的大梯度,会影响学生模型的优化。在这里,我们提出用prediction difference作为特征蒸馏的权重,让蒸馏过程更加关注于那些学生落后于教师的区域。形式如下, 指的是预测差异, 指特征差异:

 

 

四、实验结果

 

· Rank mimicking和soft label相比:  在不同的检测器上,rank mimicking都明显优于soft label。

 

 

· 和SOTA相比:  我们也取得了很不错的性能。

 

 

五、后记

 

检测、分割等视觉任务,往往都有自己的特性。比如,在语义分割上,不同Pixel之间的relation可以作为有效的蒸馏知识;在目标检测上,本文提出的anchors之间的排序。我们希望,除了soft label、hint learning这些传统蒸馏方法之外,能够结合下游任务的特性,设计一些更加巧妙有效的蒸馏策略。

 

本文来自: 公众号【 商汤学术 】

 

作者:李钢、王宇杰 李钢黎嘎部分

 

Illustration  b y Виолетта Барсук  from i cons8

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注