基于知识蒸馏的YOLOv3算法研究
期刊:计算机工程与应用 C
时间:2022
研究院:重庆大学 研究生
关键词:知识蒸馏 ;模型压缩 ;目标检测 ;YOLOv3
思想来源
当 前目标检测中主要基于特征提取层进行知识蒸馏 ,该类方法存在两个问题 ,
第一 ,没有对教师网络传递知识的重要 程度进行度量 ,
第二 ,仅对特征提取层进行蒸馏 ,教师网络的知识未充分传递给学生网络。
针对第一个问题 ,通过引 入信息图作为蒸馏的监督信号,强化了学生网络对教师网络重点知识的学习 ;
针对第二个问题,对特征提取层和特 征融合层的输出同时进行蒸馏,使学生网络更充分地学习教师网络传递的知识
本文的贡献点如下:(1)将信息图 作为监督信号对学生网络展开蒸馏。信息图是教师网 络传递的知识重要性的分布图,不仅过滤掉了教师网络 传递的背景信息,且强化了学生网络对教师网络重点知 识的学习。
(2)在特征提取层和特征融合层上同时展开 蒸馏。在特征提取层上蒸馏后,特征融合层上的蒸馏对 前者的蒸馏有一个校正作用,可以进一步提升蒸馏效果
相关研究
Chen 等人[14]打破了这个僵局,以 Faster R-CNN 为检测网络,对特征提取层,分类损失和 回归损失同时展开蒸馏,提升了二阶段目标检测模型的 精度。
Wang 等人[15]针对全局特征图的蒸馏算法会引入 大量背景信息的问题,提出使用信号图(mask-map[15])将 教师网络传递的知识限制在真实框附近,获得了更高的 精度
温静[18]将知识蒸馏的 Attention 转移算法 与归一化后的损失函数应用于智能车驾驶环境理解中 的目标检测任务,有效提高了小网络的准确性。
知识蒸馏算法改进
基于信息图的蒸馏
基于信息图的蒸馏过程分为 3 个步骤:(1)如图 5 所 示,将学生网络输出的特征层输入一个由 1×1 卷积组成 的自适应层,使学生网络输出特征层的维度和教师网络 保持一致;(2)在信息图的指导下计算特征层之间的平 方差损失,信息图对涵盖目标的区域均赋予了权重,非 目标区域的值为 0;(3)进行反向传播,只更新学生网络 的权重。经过模型多次训练,学生网络的输出将越来越 接近教师网络的输出。
息图的生成如图 6 所示,首先由教师网络的预测 框和真实标签获得 mask-map,mask-map 中包含圆圈的 部分值为 1,表示前景区域,未包含圆圈的部分值为 0, 表示背景区域。在教师网络传递的前景信息中,越靠近目 标 的 关 键 部 分 ,最 终 对 目 标 的 判 断 越 具 有 决 定 性 影 响,但 mask-map 中只有 0 值和 1 值,无法对不同前景信 息的重要性进行区分。教师网络输出的置信度包含了 前景信息的重要程度,越靠近目标核心部分的置信度越 大,越远离的置信度越小。本文基于教师网络输出的置 信度,对现有的 mask-map 进行改进,提出了可以在蒸馏 过程中提供监督信号的信息图,信息图的计算方式如式 (5)所示:
Information - map = confidenceteacher·mask - map (5) 式中,Information - map 表示信息图,confidenceteacher 表 示教师网络输出的置信度。将置信度和 mask - map 相 乘获得信息图,可以在值为 1 的部分获得有区分度的权 重,在计算损失时,权重更大的位置会受到更多关注,加 强了学生网络对教师网络传递的重点知识的学习。
特征融合层的蒸馏
在网络结构中,特征提取层负责获得图片的特征信 息,并以特征层的形式输出。特征融合层可以将不同尺 度的特征层进行拼接或相加,获得来自不同感受野的信 息,如图 7 所示。目前的知识蒸馏架构大多只针对特征 提取层展开蒸馏,无法获得教师网络在特征融合层的知 识。针对这个问题,本文提出同时对特征提取层和特征 融合层展开蒸馏,相比于现有的知识蒸馏架构,可以进一步提升蒸馏效果,蒸馏中的损失函数如式(6)所示: