Channel-wise Knowledge Distillation for Dense Prediction

结论

这是一篇2021年的文章,与以往用于密集预测任务的KD方法不同之处在于:通过对学生和教师网络的通道概率图之间的KL散度,使学生网络更加关注每个通道的最显著区域

摘要

知识蒸馏已被证明是训练密集目标检测模型的一种简单而有效的工具。轻量级的学生网络通过从大型教师网络转移来的额外监督进行训练。用于密集检测任务的大多数先前KD变体在空间域上对齐来自学生和教师网络的激活图,通常通过对每个空间位置上的激活值进行归一化并最小化逐点和/或逐对差异。与以前的方法不同,这里我们建议对每个通道的激活图进行归一化,以获得soft 概率图。通过简单地最小化两个网络的通道概率图之间的KL散度 ,蒸馏过程更加关注每个通道的最显著区域,这对密集检测任务很有价值。

介绍

密集预测任务是计算机视觉中的一组基本任务,包括语义分割和目标检测。这些任务需要学习强大的特征表示,以便在像素级别上理解复杂的场景。因此,最先进的模型通常需要高计算成本,这使得它们难以部署到移动设备上。因此,为密集预测任务设计的紧凑网络引起人们的广泛关注。此外,在以前的工作中已经研究了使用知识蒸馏(KD)来有效地训练轻量级网络。小型网络在大型教师网络的监督下进行培训,可以获得更好的性能。提出并研究了开创性的工作,主要用于图像分类任务。

密集预测任务是每像素的预测问题,比图像分类更具挑战性。先前的研究发现,将分类中的KD方法直接转移到语义分割可能不会产生令人满意的结果。严格对齐教师和学生网络之间的逐点分类分数或特征图可能会强制执行过于严格的约束,并导致次优解。然后,通过聚合不同空间位置的子集来进行一些特定于任务的关系,例如成对关系和类间关系。这种方法在捕捉空间结构信息方面可能比逐点对齐更好,并提高学生网络的性能。然而,激活图中的每个空间位置对知识转移的贡献都是相等的,这可能会从教师网络中带来冗余信息。

在这项工作中,我们提出了一种新的通道知识提取方法,通过对密集预测任务的每个通道中的激活图进行归一化,如图2(b)所示。

然后,我们最小化教师和学生网络之间归一化通道激活图的非对称KL散度该散度被转换为每个通道的分布。我们在图2(c)中展示了一个按通道分布的示例。每个通道的激活倾向于对场景类别的显著性进行编码。对于每个通道,引导学生网络更加注意模拟具有显著激活值的区域,从而在密集的预测任务中实现更准确的定位。例如,在对象检测中,学生网络更关注学习前景对象的激活

最近的一些作品利用了通道中包含的知识。通道蒸馏提出将每个通道中的激活转移到一个聚合标量中,这可能有助于图像级分类,但空间聚合会丢失所有空间信息,因此不适合密集预测。其他工作,比如MGD,通道交换和CSC,显示了通道信息的重要性。MGD将教师通道与学生通道相匹配,并将其作为作业问题来解决。通道交换使用融合模块在各种模态的子网络之间动态交换通道。

我们表明,对每个通道进行简单的归一化操作可以在很大程度上提高基线空间蒸馏。所提出的通道蒸馏简单且易于应用于各种任务和网络结构。我们将我们的主要贡献总结如下:

1、与现有的空间蒸馏方法不同,我们为密集预测任务提出了一种新的通道蒸馏范式。

2、在语义分割和目标检测方面,所提出的通道式蒸馏显著优于最先进的KD方法。

相关工作

大多数关于知识蒸馏的工作都集中在分类任务上。我们在这里的工作旨在研究用于密集预测的高效蒸馏方法,而不是像分类中那样天真地应用逐像素蒸馏。

通道知识。最近的几个相关工作也关注每个通道中包含的知识。zhou等人计算每个通道中激活的平均值,并在分类中对齐每个通道的加权差。CSC计算所有空间位置和用于传递知识的所有通道之间的成对关系。通道交换提出,每个通道中包含的信息是通用的,可以在不同的模式之间共享。

我们的方法

我们首先回顾了文献中相关的空间知识蒸馏方法。

空间蒸馏

现有的KD方法通常采用逐点排列或排列空间位置之间的结构化信息。其可以公式化如下:

l(y,y^S)+\alpha \cdot \varphi(\phi(y^T),\phi(y^S))

在这里,任务损失l(\cdot )仍然适用,y是ground-truth标签。例如,交叉熵损失通常用于语义分割。通过稍微改变符号,y^S,y^T这里分别表示学生和教师网络的logit或内部激活。\alpha是一个超参数来平衡损失项。

这些方法的简要概述如下。注意力转移(AT)使用注意力掩码将特征图压缩到单个通道中进行提取。逐像素损失直接对齐逐点类概率。局部亲和度是通过中心像素与其8个领域像素之间的距离来计算的。成对亲和度用于传递像素对之间的相似性。计算每个像素的特征与其对应的类原型之间的相似性,以传递结构知识。一些文章中使用对抗性方案来对齐来自两个网络的特征图之间的高阶关系。请注意,最后四项考虑了像素之间的相关性。如表1所示,现有的KD方法都是空间蒸馏方法。所有这些方法都将空间位置的N个通道激活值视为要操作的特征向量。

通道式蒸馏

为了更好地利用每个通道中的知识,我们建议在教师和学生网络之间对相应通道的激活进行软对齐。为此,我们首先将通道的激活转换为概率分布,这样我们就可以使用概率距离度量(如KL散度)来测量差异。如图2(c)所示,不同通道的激活倾向于对输入图像的场景类别的显著性进行编码。此外,用于语义分割的训练有素的教师网络显示了每个通道的明确类别特别掩码的激活图——这是预期的——如图1的右部分所示。在这里,我们提出了一种新颖的通道提炼范式,以引导学生从训练有素的老师那里学习知识。

让我们将教师和学生网络表示为TS,来自TS的激活图分别为y^T,y^S。通道式蒸馏损失可以用一般形式表示为:

\varphi (\phi(y^T),\phi(y^S)) = \varphi (\phi(y_c^T),\phi(y_c^S))

在我们的情况下,\phi(\cdot )用于将激活值转换为概率分布,如下所示:

\phi(y_c) = \frac{exp(\frac{y_{c,i}}{T})}{\sum_{i=1}^{W\cdot H}exp(\frac{y_{c,i}}{T})}

其中c=1,2,....,C对通道进行索引;并且i索引通道的空间位置,T是一个超参数(温度)。如果我们使用更大的T,概率会变得更soft,这意味着我们关注每个通道的更宽空间区域。通过应用softmax归一化,我们消除了大型网络和紧凑网络之间大小尺度的影响。如一篇文章中所观察到的,这种归一化对KD有帮助。如果教师和学生之间的通道数量不匹配,则使用1x1卷积层来对学生网络的通道数量进行上采样。\varphi(\cdot )评估教师网络和学生网络的通道分布之间的差异。我们使用KL散度:

\varphi(y^T,y^S) = \frac{T^2}{C}\sum_{c=1}^{C}\sum_{i=1}^{W\cdot H}\phi(y_{c,i}^T)\cdot log[\frac{\phi(y_{c,i}^T)}{\phi(y_{c,i}^S)})]

KL散度是一个不对称度量。从等式(4),我们可以看出,如果\phi(y_{c,i}^T)很大,\phi(y_{c,i}^S)应该与\phi(y_{c,i}^T)一样大,以最小化KL发散。否则,\phi(y_{c,i}^T)很小,则KL散度不太注意最小化\phi(y_{c,i}^S)。因此,学生网络倾向于在前景显著性中产生类似的激活分布,而与教师网络的背景区域相对应的激活对学生的影响较小。我们假设KL的这种不对称有利于密集预测任务的KD学习。

实验

与其他知识蒸馏方法在目标检测上的实验结果

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值