关于机器学习:GID旷视提出全方位的检测模型知识蒸馏-CVPR-2021

论文提出的GID框架可能主动抉择可分别指标用于常识蒸馏,而且综合了feature-based、relation-based和response-based常识,全方位蒸馏,实用于不同的检测框架中。从试验后果来看,成果非常不错,值得一看

起源:晓飞的算法工程笔记 公众号

论文: General Instance Distillation for Object Detection

  • 论文地址:https://arxiv.org/abs/2103.02340v2

Introduction


 在指标检测利用场景中,模型的轻量化和准确率是同样重要的,往往须要在速度和准确率之间衡量。常识蒸馏(Knowledge Distillation)是解决上述问题的一个无效办法,将大模型学习到的特征提取规定(常识)转移到小模型中,晋升小模型的准确率,再将小模型用于理论场景中,达到模型压缩的目标。
 目前的常识蒸馏办法大都针对分类工作,指标检测因为正负样本极度不均衡,间接将现有的办法利用到检测中个别都收益甚微。而目前提出的针对指标检测工作的常识蒸馏办法大都对常识进行了特定的束缚,比方管制蒸馏的正负样本比例或只蒸馏GT相干的区域。此外,这些办法大都不能同时利用于多种指标检测框架中。为此,论文心愿找到通用的常识蒸馏办法,不仅能利用于各种检测框架,还能转移尽可能多的常识,同时不必关怀正负样本。

 为了达到上述目标,论文联合response-based常识、feature-based常识和relation-based常识,提出了基于可分别指标的蒸馏办法GID(general instances Distillation),次要长处有以下:

  • 能够对单图中的多个实例间的关系进行建模并用于蒸馏中。只管曾经有钻研表明实例间的关系信息在检测中的重要性,但还没有钻研将其利用的常识蒸馏中。
  • 防止手动设置正负样本比例或只抉择GT相干区域进行蒸馏。尽管GT相干区域蕴含最多信息,但背景也可能蕴含对student的泛化能力学习有帮忙的信息。论文通过试验发现主动抉择的可分别实例(discriminative instance)对迁徙学习有显著的晋升作用,这些显著实例也称为通用实例(General Instance, GIs),因为不须要关怀其正负。
  • 对不同检测框架通用,GIs是依据student和teacher的输入进行抉择的,与网络的内部结构无关。

  总结起来,论文的次要奉献如下:

  • 定义通用实例(GIs)作为蒸馏指标,可能高效地晋升检测模型的蒸馏成果。
  • 基于GI,首次将relation-based常识引入到常识蒸馏中,并与response-based常识和feature-based常识单干,使得student能超过teacher。
  • 在MSCOCO和PASCAL VOC数据集上验证不同检测框架下的有效性,均达到SOTA。

General Instance Distillation


 有钻研提出GT左近的特色区域蕴含有助于常识蒸馏训练的丰盛信息,而论文发现不仅GT左近的区域,即便属于背景的区域,只有是可分别区域(discriminative patch)都对常识蒸馏有帮忙。基于下面的发现,论文设计了通用实例抉择模块(general instance selection module, GISM),用于从teacher和student的输入中抉择要害实例进行蒸馏。其次,为了更好地利用teacher的信息,论文综合应用了feature-based、relation-based和response-based常识用于蒸馏。

General Instance Selection Module

 在检测模型中,预测后果可能指出信息最丰盛的区域,而teacher和student的丰盛区域的差别恰好就是性能的差别。为了量化每个后果的差别,抉择可分别实例用于蒸馏,论文提出了两个指标:GI score和GI box,在每次迭代中动静计算。为了缩小计算耗费,通过计算分类分数的L1 score作为GI score,而GI box则间接抉择分类分数更高的box。

 整个GI的抉择过程如图2所示,对于实例$r$,其score和box的抉择定义为:

 $P_{GI}$和$B_{GI}$别离为GI score和GI box。对于one-stage检测器,$P_t$和$P_s$为teacher和student的分类分数,而对于two-stage检测器则为RPN的objectness分数,$B_t$和$B_s$同理。$R$为预测框数目,$C$为类别数。因为论文将teacher和student的detection head设置成齐全一样的,所以预测框也是能够依据地位一一对应的。
 须要留神的是,高GI score的实例可能重合度比拟高,导致蒸馏损失翻倍。为解决这一问题,应用NMS来去重,递归抉择反复实例中GI score最高的实例。在理论应用中,NMS的IoU为0.3,最终每张图片只抉择top-K个实例。

Feature-based Distillation

 FPN联合了骨干网络的不同层特色,可能显著晋升检测模型对多尺度指标的鲁棒性。于是,论文打算将FPN退出到蒸馏中,依据GI box的尺寸抉择对应的FPN层特色。
 因为每个FPN层的指标特色大小不同,间接进行pixel-wise蒸馏会导致模型更偏向于大指标。于是论文转而采纳ROIAlign将不同大小的特色输入为雷同大小再进行蒸馏,如图a所示。feature-based蒸馏损失计算如下:

 $K$为GISM抉择的GI数目,$t_i$和$s_i$为ROIAlign解决后的FPN特色,$f_{adapt}$用于将$s_i$缩放到$t_i$的雷同大小。

Relation-based Distillation

 物体间的关系信息是分类工作进行蒸馏的要害,但还没在检测工作蒸馏中进行尝试。同一场景中的物体,不论是前景还是背景,都是高度相干的,这对student网络的收敛有很大帮忙。
 为了开掘GIs中的关系常识,应用欧式间隔来度量实例间的间隔,而后用L1间隔来传递常识。如图a所示。relation蒸馏损失计算如下:

 $\mathbb{K}^2=\{(i,j)|i\ne j, 1\le i,j\le K\}$,$\phi$为归一化因子,$l$为smooth L1损失。

Response-based Distillation

 常识蒸馏的要害次要是来自teacher的response-based常识的束缚,这里的response-based常识指的是模型的最终输入。但因为检测输入往往存在正负样本不均衡或过多负样本的状况,如果间接将detection head的所有输入进行蒸馏,这种状况带来的噪声反而会侵害student的性能。
 有钻研提出只蒸馏detection head的正样本,但这种办法疏忽了可辨别的负样本的作用。为此,论文设计了distillation mask,将分类分支和回归分支的输入与GIs挂钩,比只抉择正样本要高效。

 不同检测模型的输入是不同的,论文定义了一个通用的办法来进行detection head的蒸馏,如图b所示。首先,基于GIs的distillation mask计算为:

 函数$F$是标签指定算法,输出为GI box,当匹配时,输入1,否则输入0。函数$F$对不同的模型的定义是不同的,对于RetinaNet,应用anchor和GIs间的IoU决定是否匹配,而对于FCOS则所有中心点在GIs外的输入都是0。
 而后,response-based损失计算如下:

 $R$为所有与抉择的GIs匹配的输入,teacher和student对应的输入其中一个匹配即可。$y_t$和$y_s$为分类分支输入,$r_t$和$r_s$为回归分支输入,$L_{cls}$和$L_{reg}$为分类损失函数和回归损失函数。须要留神的是,为了简便,对于two-stage检测器只蒸馏RPN输入。

Overall loss function

 模型的训练是端到端的,student的整体损失函数为:

 $L_{GT}$为模型本来的损失函数,$\lambda$为调节超参数。

Experiment


 在VOC上比照蒸馏成果。

 在COCO上比照蒸馏成果。

 抉择的GI box可视化,后面为5000迭的抉择,前面为90000迭的抉择。绿色代表GT,红色为正样本,黄色为两头(非正非负)样本,青色为负样本。

Conclusion


 论文提出的GID框架可能主动抉择可分别指标用于常识蒸馏,而且综合了feature-based、relation-based和response-based常识,全方位蒸馏,实用于不同的检测框架中。从试验后果来看,成果非常不错,值得一看。



如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据