知识蒸馏 (KD) 已被证明是一种用于训练紧凑密集预测模型的简单有效的工具。轻量级学生网络通过从大型教师网络转移的额外监督进行训练。大多数先前用于密集预测任务的 KD 变体在空间域中对齐来自学生和教师网络的激活图,通常通过标准化每个空间位置上的激活值并最小化逐点和/或成对差异。
与之前的方法不同,这里建议对每个通道的激活图进行归一化以获得Soft概率图。通过简单地最小化两个网络的通道概率图之间的 Kullback-Leibler (KL) 散度,蒸馏过程更加关注每个通道的最显著区域,这对于密集预测任务很有价值。
作者对一些密集的预测任务进行了实验,包括语义分割和目标检测。实验表明提出的方法大大优于最先进的蒸馏方法,并且在训练期间需要更少的计算成本。特别是,在 COCO 数据集上的 mAP 中将 RetinaNet 检测器(ResNet50 主干)提高了 3.4%,在 Cityscapes 数据集上的 mIoU 中将 PSPNet(ResNet18 主干)提高了 5.81%。
1、简介
密集预测任务是计算机视觉中的一组基础任务,包括语义分割和目标检测。这些任务需要学习强大的特征表示,以便在像素级别理解复杂的场景。因此,最先进的模型通常需要很高的计算成本,这使得它们难以部署到移动设备上。因此,为密集预测任务设计的紧凑网络引起了很多关注。
此外,在以前的工作中已经使用知识蒸馏(KD)研究了有效训练轻量级网络。紧凑型网络在大型教师网络的监督下进行训练,可以获得更好的性能。提出了开创性的工作并进行了深入研究,主要用于图像分类任务。
密集预测任务是逐像素预测问题,比图像级分类更具挑战性。以前的研究发现,直接将分类中的KD方法转移到语义分割中可能不会产生令人满意的结果。严格对齐教师和学生网络之间的逐点分类分数或特征图可能会实施过于严格的约束并导致次优解决方案。
最近的工作注重加强不同空间位置之间的相关性。如图 2(a) 所示,每个空间位置上的激活值被归一化。然后,通过聚合不同空间位置的子集来执行一些特定于任务的关系,例如成对关系和类间关系。这种方法在捕获空间结构信息方面可能比逐点对齐更有效,并可以提高学生网络的性能。然而,激活图中的每个空间位置对知识迁移的贡献是相同的,这可能会带来来自教师网络的冗余信息。
在这项工作中,通过对密集预测任务的每个通道中的激活图进行归一化来提出一种新的通道知识蒸馏,如图 2(b) 所示。然后,最小化教师和学生网络之间的归一化通道激活图的不对称 Kullback-Leibler
(KL) 散度——它被转换为每个通道的分布。
在图 2(c) 中展示了通道分布的示例。每个通道的激活倾向于编码场景类别的显著性。对于每个通道,引导学生网络更加注意模拟具有显著激活值的区域,从而在密集预测任务中实现更准确的定位。例如,在目标检测中,学生网络更注重学习前景目标的激活。
最近的一些作品利用了通道中包含的知识。通道蒸馏提出将每个通道中的激活转换为一个聚合标量,这可能有助于图像级分类,但空间聚合会丢失所有空间信息,因此不适合密集预测。其他工作,如 MGD
、Channel exchange
和 CSC
,显示了 channel-wise
信息的重要性。MGD
将教师通道与学生通道匹配,并将其作为作业问题解决。通道交换使用融合模块在各种模式的子网之间动态交换通道。
作者实验表明,每个通道的简单归一化操作可以大大改善基线空间蒸馏。所提出的通道蒸馏很简单,很容易应用于各种任务和网络结构。
主要贡献总结如下:
• 与现有的空间蒸馏方法不同,本文为密集预测任务提出了一种新颖的通道蒸馏范式,方法简单而有效。
• 所提出的通道蒸馏显著优于用于语义分割和目标检测的最先进的 KD 方法。
• 在语义分割和目标检测任务上展示了4个具有各种网络结构的基准数据集的一致改进,证明了方法是通用的。
2、相关方法
大多数在知识蒸馏方面的工作重点是分类任务。在这里的工作旨在研究高效的蒸馏方法来进行密集的预测,而不是天真地应用像素蒸馏,如分类中所做的那样。
2.1、语义分割的知识蒸馏
在probability loss and consistency loss
论文中作者构建了一个局部相似性图,以最大程度地减少教师和学生网络之间的分段边界信息的差异,其中中心像素和8-邻居像素之间的欧几里得距离用作传递的知识。
刘等提出了两种捕获像素之间结构化信息的方法,包括像素之间的成对相似性和歧视者捕获的整体相关性。
2.2、目标检测知识蒸馏
许多方法发现,区分前景和背景区域以进行目标检测很重要。模仿学生网络 RPN 内部的特征图通过L2损失与教师网络相似,并发现直接应用像素损失的特征图可能会损害目标检测的性能。
Wang等人可以在物体 Anchor 位置附近提炼细粒度特征。Zhang和Ma注意生成掩模,以区分前景和背景,取得了很好的效果。相反,作者这里softly align channel-wise 激活,以区分前景和背景区域。
2.3、Channel-wise knowledge
最近的一些作品还注意每个通道中包含的知识。周等人计算每个通道中激活的平均值,并在分类中对每个通道的加权差对齐。CSC计算所有空间位置之间的成对关系以及传输知识的所有通道。通道交换提出每个通道中包含的信息都是通用的,可以在不同的方式上共享。
3、本文方法
3.1、空间蒸馏
现有的 KD 方法通常在空间位置使用点对齐或对齐结构化信息,可以表达为:
这些方法的简要概述如下:
- 注意力转移(AT)使用注意力
Mask
将特征图挤压到单个通道进行蒸馏。 - 像素的损失直接与点级别的概率保持一致。
- 局部亲和力是通过中心像素及其8个邻居像素之间的距离计算的。
- 成对亲和力用于传递像素对之间的相似性。计算每个像素的特征及其相应的类原型之间的相似性,以迁移结构知识。
- 整体损失使用对抗方案来对齐两个网络的特征图之间的高阶关系。
请注意,最后四个术语考虑像素之间的相关性。如表1所示,现有的KD方法都是所有空间蒸馏方法。所有这些方法将空间位置的N通道激活值视为要操作的特征向量。
3.2、通道蒸馏
为了更好地利用每个通道中的知识,作者构造了对教师和学生网络之间相应通道的轻度激活。为此,首先将通道的激活转换为概率分布,以便可以使用诸如 KL 差异之类的概率距离度量测量差异。如图2(c)所示,不同通道的激活倾向于编码输入图像的场景类别的显着性。此外,训练的语义分割教师网络显示了每个通道的明确类别Mask
的激活图(预期),如图1的右侧所示。指导学生向训练好的老师学习知识。
将老师和学生网络表示为T和S,而T和S的激活图分别为和。通过通道蒸馏的损失可以像一般形式一样配制:
4、实验
4.1、消融实验
1、通道蒸馏的有效性
归一化通道的概率图和不对称 KL 差异在蒸馏方法中起重要作用。这里使用4种不同变体进行实验,以显示表4中提出的方法的有效性。所有蒸馏方法都应用于与输入相同的作用图。
- “PI”代表像素级知识蒸馏,该蒸馏使每个空间位置的激活归一化。
- “L2 W/O NORM”表示直接最大程度地减少了来自两个网络的特征图之间的差异,这两个网络都考虑了所有通道中所有位置的差异。
- “Bhat”是Bhattacharyya距离,这是对称分布测量。它与每个通道中的差异对齐。
从表4中可以看到测量归一化通道差异的不对称 KL 差异可实现最佳性能。请注意,由于 KL 差异是不对称的,因此无法互换学生和老师的意见。通过更改 KL 差异中输入的顺序进行实验,并且训练不会收敛。
2、温度参数和损失权重的影响
4.2、SOTA对比
1、语义分割
2、目标检测
5、参考
[1].Channel-wise Knowledge Distillation for Dense Prediction*.
作者:ChaucerG
文章来源:集智书童
推荐阅读
- 超轻目标检测 | 超越 NanoDet-Plus、YOLOv4-Tiny实时性、高精度都是你想要的!
- MediaPipe模型解读 | MoveNet-SinglePose:自底向上做单人姿态估计
- 基于隐式神经网络表达的数据压缩
更多嵌入式AI干货请关注 嵌入式AI 专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。