CVPR2022 | 基于Transformer的one-to-all知识蒸馏新SOTA!

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

本文分享 CVPR 2022 Oral 的一篇论文『Knowledge Distillation via the Target-aware Transformer』,由RMIT&阿里&UTS&中山提出Target-aware Transformer,进行one-to-all知识蒸馏!性能SOTA!

详细信息如下:

fe540b2becf1bc42a27d8a70d33d99fd.png

  • 论文链接:https://arxiv.org/pdf/2205.10793.pdf


      01      

摘要


知识蒸馏(Knowledge distillation)成为提高小型神经网络性能的方法。以往的大多数研究都提出以一对一的空间匹配方式将表征特征从教师回归到学生。然而,人们往往忽略了这样一个事实,即由于结构的不同,同一空间位置上的语义信息通常是不同的。这极大地削弱了一对一蒸馏方法的基本假设。为此,作者提出了一种新的一对多空间匹配知识提取方法。

具体地说,作者允许将教师特征的每个像素提取到学生特征的所有空间位置,给定其相似性。在各种计算机视觉基准测试中,例如ImageNet、Pascal VOC和COCOStuff10k,本文的方法大大超过了最先进的方法。

      02      

Motivation

知识蒸馏是一种简单的技术来提高任何机器学习算法的性能。一种常见的情况是从较大的教师神经网络中提取知识到较小的学生神经网络中,这样与单独训练学生模型相比,学生模型的性能可以得到显著提高。具体地说,人们构造了一个外部损失函数来引导学生特征图模仿教师的特征图。最近,它已被应用于各种下游应用,如模型压缩、半监督学习。

以往的工作只从最后一层的神经网络中提取知识,例如图像分类任务中的Logits。近年来,人们发现提取中间特征图是一种更有效的方法。

57b1582eee5d29dd2aa88027cc3e7f60.png

为了计算上述方法的蒸馏损失,需要选择来自教师的源特征图和来自学生的目标特征图,其中这两个特征图必须具有相同的空间维度。如上图b所示,模型通常以一对一空间匹配的方式计算损失。该方法的一个基本假设是每个像素的空间信息是相同的。在实践中,这一假设通常是不成立的,因为学生模型通常比教师模型具有更少的卷积层。

上图 (a) 中显示了一个示例,即使在相同的空间位置,学生特征的感受野通常也明显小于教师的感受野,因此包含较少的语义信息。此外,最近的工作证明了感受野对模型表征能力的影响的重要性。这种差异是当前一对一匹配蒸馏导致次优结果的一个潜在原因。

为此,作者提出了一种新颖的one-to-all空间匹配知识蒸馏方法。在上图 (c) 中,本文的方法通过参数相关性将教师在每个空间位置的特征提炼成学生特征的所有部分,即蒸馏损失是所有学生部分的加权求和。为了对这种相关性进行建模,作者制定了一个Transformer结构,该结构重建了学生特征的相应各个组成部分,并产生了与目标教师特征的对齐。作者将其命名为目标感知transformer(target-aware transformer)。因此,作者使用参数相关性来衡量以学生特征和教师特征的表征成分为条件的语义距离,以控制特征聚合的强度,从而解决了一对一匹配知识提取的缺点。

由于本文的方法计算特征空间位置之间的相关性,当特征图很大时,它可能变得很难处理。为此,作者以两步分层的方式扩展了我们的方法:1)不计算所有空间位置的相关性,而是将特征图分割为几组patch,然后在每组中执行one-to-all的提取;2) 作者进一步将patch中的特征平均化为单个向量,以提取知识。这降低了本文方法的复杂性的数量级。

作者在两个流行的计算机视觉任务评估了本文的方法,即图像分类和语义分割。在ImageNet分类数据集上,tiny ResNet18学生的top-1准确率可以从70.04%提高到72.41%,超过最先进的知识蒸馏0.8%。对于COCOStuff10k上的分割任务,与之前的方法相比,本文的方法能够将mobilenetv2结构的mIoU提高1.75%。

      03      

方法

在本节中,作者首先简要描述了特征映射知识提取的基本要素,然后介绍了通过目标感知transformer进行知识提取的一般公式。当本文的方法计算给定特征映射的逐点相关性时,计算复杂性在大规模特征上变得难以处理,然后作者引入分层蒸馏方法来解决这一限制。

3.1. Formulation

假设教师和学生是两个卷积神经网络,用T和S表示。和分别表示教师特征和学生特征。在之前的工作中,蒸馏损失由网络最后一层特征的距离来表示:例如,在图像分类领域,它指的是进入softmax层之前的“logits”和交叉熵损失。具体而言,蒸馏损失定义为:

dbe4db5fc3848a3296d07f53982ab062.jpeg

其中,KLD(·)测量Kullback-Leibler散度,σ(·)是softmax函数,T(x)和S(x)是给定特定输入x的输出对数,τ是温度系数。在不丧失一般性的情况下,作者假设通道维度与C对齐,并将和 reshape为2D矩阵:

c7b793eb4ec82ac339a46fd77c5decb0.jpeg

这里,是一个将3D特征张量展平为2D矩阵的函数,其中矩阵的每一行按空间顺序与特征张量中的一个像素相关联,N=H×W。可以用基数N描述两组像素和:

65f3c2ca6866e1b0521cb4bd661bf894.jpeg

之前的工作简单地以一对一的空间匹配方式最小化两组和之间的差异,作者将这种方法称为特征匹配(FM):

5c1312401184105405d1fe949e1e6a25.png

这个公式假设教师和学生的语义分布完全匹配。然而,如前所述,对于通常包含更多层和更大特征通道的教师网络的特征图,与学生网络相比,相同像素位置的空间信息包含更丰富的语义信息。以像素方式直接回归特征可能会导致次优的提取结果。

为此,作者提出了一种one-to-all空间匹配知识提取方法,允许教师的每个特征位置以动态方式指导整个学生特征。为了让整个学生模仿教师的一个空间成分,作者提出了Target-Ware Transformer(TaT)来对学生特征在特定位置的语义进行像素级的重新配置。给定教师的空间分量(对齐目标),作者使用TaT引导整个学生在其相应位置重建特征。以对齐目标为条件,TaT应反映与学生特征组件的语义相似性。作者使用线性算子来避免改变学生语义的分布。变换算子的公式可定义为:

3e54f7c94d535093d6517b64169c2f08.png

其中,和表示教师和学生的相应第i个分量,表示内积,。作者使用内积来度量语义距离,并使用softmax函数进行归一化。的每个元素都类似于gate,控制将传播到第i个重新配置点的语义量。通过在所有组件中聚合这些相关语义,可以得到了以下结果:

73a3bd33236a2702503be6319a1d55c4.png

因此,上述两个公式可以表示为:

fdf6e349dcdf52ef3642d706f1b699cc.png

这是一种简单的非参数方法,仅依赖于原始特征。为了便于训练,作者引入了在学生特征和教师特征上应用额外线性变换的参数化方法。作者观察到,在消融研究中,参数化版本比非参数版本表现更好。在目标感知transformer的指导下,可将重新配置的学生特征表示为:

fb5367caa92028ecd8908c951b1af7e8.png

其中是由3×3 conv层加上BN层组成的线性函数。如果的通道数与的通道数不匹配,有助于对齐。

重构后,的每个组件都从原始特征中聚合出有意义的语义,增强了表达能力。本文的模型不要求学生以像素到像素的方式重建教师特征,允许学生作为一个整体“模仿老师”。要求通过教师特征最小化L 2损失。TaT知识蒸馏的目标可以通过以下方式给出:

43bdaf4a9f6041ba30d77ccc2e8e58cf.jpeg

最后,本文提出的方法的总损失可以通过以下方式定义:

0c4c45302fe794466631d62b6eb439e3.png

这里的可以是一般机器学习任务上的任何损失。α、 β和ϵ是平衡损失的权重因子。

3.2. Hierarchical Distillation

该算法克服了以往一对一空间匹配方式的局限性。然而,对于大型特征映射,TaT映射的计算复杂度将变得很难解决。假设特征图的空间维数为H和W,这意味着计算复杂度将达到。

因此,作者提出了一种分层蒸馏方法来解决这个大的特征映射限制。它包括两个步骤:1)patch-group蒸馏,将整个特征图分割成较小的patch,从而从老师那里提取局部信息给学生;2) 作者进一步将局部patch总结为一个向量,并将其提取为全局信息。

a2cf0f58cf57d670c05f67959366f387.png

3.2.1 Patch-group Distillation

如上所述,随着输入特征映射的空间维度增加,提取变得更加困难。一个简单的解决方案是将特征图划分为patch,并在patch中单独执行蒸馏。然而,patch之间的相关性被完全忽略,导致次优解。

因此作者提出了patch-group提取(上图(b)),允许学生从patch中学习局部特征,并在一定程度上保留它们之间的相关性。给定原始学生特征和教师特征,将其划分为大小为h×w的n×m个patch,其中h=H/n,w=W/m。它们进一步按顺序排列为g组,每组包含p=n·m/g个patch。

具体而言,group中的patch将在通道维度上concat在一起,形成一个新的尺寸为h×w×c·g的张量。这样,新张量的每个像素都包含来自原始特征p个位置的特征,其中明确包含空间模式。因此,在蒸馏过程中,学生不仅可以学习单个像素,还可以学习它们之间的相关性。直觉上,一个更大的群体将引入更丰富的相关性,但复杂的相关性将变得难以学习。

3.2.2 Anchor-point Distillation

patch-group蒸馏可以在patch层次上学习细粒度特征,并在一定程度上保持patch之间的空间相关性。然而,它无法感知长距离依赖。正如消融研究中所见,通过连接所有patch来保持整体相关性的尝试将失败。对于复杂场景,长距离依赖对于捕获不同对象的关系很重要。

作者通过提出的Anchor-point蒸馏来解决这个难题。如上图(c)所示,作者将局部区域总结为紧凑表示,称为anchor,在局部区域内具有代表性,以描述给定区域的语义,形成新的较小尺寸的特征图。由于新特征映射由原始特征的摘要组成,因此它可以近似地替换原始特征以获得全局依赖关系。

作者只需使用平均池化来提取anchor点。然后将所有anchor点分散回相关位置,以形成新的特征图。anchor点特征用于蒸馏,目标表示为。patch-group蒸馏使学生能够模拟局部特征,而Anchor-point蒸馏使学生能够学习粗Anchor-point特征的全局表示,这些特征相互补充。因此,这两个目标的结合可以带来更好的结果。综上,语义分割设计的目标可以写为:

9d7c1b40b9bfebe257c77c39fd617bbb.png


      04      

实验

322a7baa6d4e434d198afd40762b5af5.png

为了证明本文的方法的泛化能力,作者将本文的蒸馏方法应用于各种网络结构。上图展示了在CIFAR10上图像分类的结果,可以看出,本文的想法相比于其他SOTA具有明显的性能优势。

24c1ec16d4dd23e9e3c09f9bb89a0d1e.png

作者分别选择ResNet34和ResNet18作为教师和学生模型。上表中展示了学生和教师模型的最高精确度。本文的方法大大优于最先进的方法。即使没有的帮助,本文的模型在一个很小的ResNet18上也可以达到72.07%。

3a0caffc0172a69be1b588cc3d1d1a23.png

6f987cbb6b0a7136fe293a23a2e4aa43.png

由于在对图像分类进行提取时,特征映射的大小相当小,作者计划进一步研究本文的方法在语义分割上的泛化能力。上表分别展示了本文方法在Pascal VOC和COCOStuff10k上的语义分割实验结果。

b7552e77278565a13a6dfa44f5737ff6.png

作者比较了θ(·)的不同设置,包括identical mapping与Conv+BN。Cifar100的结果如上表所示。令人惊讶的是,θ(·)的identical mapping总是表现得更好。

de7970c1bca7051593b3cc4ceb58d7a6.png

通过将θ(·)和γ(·)设置为ImageNet上的identical mapping,作者进一步研究了非参数实现(如上表)。结果表明,半参数版本的性能最好。

faf9c7a3bee5f2c3c46522a0b8c2b265.png

作者进一步探索了系数ϵ的不同设置(见上图)。当从0.05增加到0.25时,目标可以带来积极和稳定的效果。

24d423648be95d62e4e4ae091230d8c6.png

上表展示了本文提出的两种蒸馏方式的消融实验结果,可以看出这两个部分的组合实现了最佳性能,表明两个目标是互补的。

840054d2317c0046df7d206783f8bef7.png

上表显示的结果表明,anchor-point蒸馏中,随着池化大小的增加,蒸馏计算量大大减少。另一方面,过大的池化范围会忽略有用的信息表示,并损害性能。

362bb034d5a09905866ffa3076d455a3.png

上表显示的结果表明,patch-group蒸馏中,通常较小的patch大小有利于patch组蒸馏,但过大的patch大小可能会不利,因为它接近原始特征。

c1243f75f335e935ee53c1f9b24566ee.png

上表显示的结果表明,patch-group蒸馏中,不同group数的实验结果,可以看出,4个patch作为一个组可以达到最佳性能。


      05      

总结

本文通过目标感知transformer开发了一个知识蒸馏框架,使学生能够聚合自身的有用语义,以增强每个像素的表现力,从而使学生作为一个整体模仿老师,而不是平行地最小化每个部分的不同。本文的方法被成功地扩展到语义分割,提出了由patch group和anchor point蒸馏组成的分层蒸馏,旨在关注局部特征和长期依赖性。作者进行了深入的实验,验证了该方法的有效性,提高了SOTA水平。

参考资料

[1]https://arxiv.org/pdf/2109.11295.pdf

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D感知、多传感器融合、SLAM、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D感知、多传感器融合、目标跟踪)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

abef03d393677a1ee5daeb2aec1796ff.jpeg

<think>好的,我现在需要回答用户关于分割任务中知识蒸馏SOTA(State-of-the-Art)方法的问题。首先,我需要回顾一下知识蒸馏的基本概念,以及在分割任务中的应用现状。然后,我需要查找最近的论文和研究成果,找出当前被认为是最先进的方法。 用户之前已经询问过分割头和分类头的区别,现在转向分割任务中的知识蒸馏。这说明他们对深度学习中的模型压缩或知识迁移感兴趣,可能是在实际应用中需要部署轻量级模型,同时保持高性能。 首先,我需要明确知识蒸馏在分割任务中的挑战。分割任务需要像素级的预测,因此学生模型不仅需要捕获全局的语义信息,还要保留细节的空间信息。这与分类任务不同,后者主要关注全局特征。因此,传统的知识蒸馏方法可能需要调整,以适应分割的特点。 接下来,我应该回顾现有的知识蒸馏方法,特别是针对分割任务的。例如,早期的知识蒸馏可能直接将教师模型的输出概率作为软标签来指导学生模型,但在分割中,这样的方法可能不够,因为需要考虑每个像素的位置信息。 然后,我需要查找最的研究论文,比如CVPR、ICCV、ECCV等顶级会议中的相关论文,了解最SOTA方法。例如,可能有工作提出多层次的蒸馏,包括特征层面的蒸馏、输出层面的蒸馏,以及中间注意力图的蒸馏。 另外,还需要注意不同的分割任务,如语义分割、实例分割、全景分割等,是否在蒸馏方法上有不同的优化。例如,实例分割可能需要处理实例级别的信息,而语义分割更注重类别级别的区分。 此外,知识蒸馏可能会结合其他技术,如对抗训练、自蒸馏、或者利用未标记数据,这些都可能提升蒸馏效果。比如,一些方法可能使用生成对抗网络(GAN)来让学生模型更好地模仿教师模型的特征分布。 还需要考虑教师模型和学生模型的结构差异。例如,教师模型可能是大型的Transformer架构(如ViT),而学生模型可能是轻量级的CNN(如MobileNet)。如何在不同架构之间有效迁移知识也是一个挑战。 可能还需要提到一些具体的SOTA方法,例如: 1. **CIRKD**(Correlation-guided Intermediate Resolution Knowledge Distillation):针对语义分割,通过中间层的特征相关性进行蒸馏,保留空间细节。 2. **IFVD**(Inter-Region Affinity Distillation):利用区域间的相似性信息,提升学生模型对结构信息的理解。 3. **PKT**(Pixel-wise Knowledge Transfer):直接在像素级别进行蒸馏,结合特定的损失函数来对齐教师和学生的输出分布。 4. **DIST**(Dense Information Supervised Transfer):通过密集的特征匹配,增强学生模型对局部和全局信息的捕获能力。 5. **Decoupled Knowledge Distillation**(解耦知识蒸馏):将知识分解为类别信息和边界信息,分别进行蒸馏,以优化分割结果的结构准确性。 另外,一些工作可能结合了多教师蒸馏,或者利用自监督学习来增强蒸馏效果。例如,使用多个教师模型提供不同层面的监督,或者通过对比学习来提升特征表示。 在评估这些方法时,常用的数据集包括Cityscapes、PASCAL VOC、ADE20K等,需要比较在这些数据集上的mIoU(均交并比)等指标,以确定哪些方法当前处于领先地位。 还需要注意实际应用中的权衡,例如学生模型的推理速度、参数量与性能之间的平衡。某些方法可能在提升性能的同时,增加了训练复杂度,需要根据实际需求进行选择。 最后,总结当前的趋势,比如更高效的特征对齐方法、结合Transformer架构的蒸馏、以及针对特定分割任务的定制化蒸馏策略,这些都是当前的研究热点。</think>在分割任务的知识蒸馏(Knowledge Distillation, KD)领域,当前的最先进(SOTA)方法主要集中在如何高效迁移教师模型的密集预测能力到轻量级学生模型,同时保持像素级精度和结构一致性。以下是近年来的关键进展与技术总结: --- ### **1. 核心挑战** 分割任务需同时建模全局语义(如物体类别)和局部细节(如边缘形状),因此知识蒸馏需解决以下问题: - **空间信息保留**:学生需模仿教师模型的像素级响应和空间相关性。 - **多尺度特征对齐**:协调不同层次特征(低层细节 vs 高层语义)。 - **类别不均衡**:某些类别像素占比极小,需针对性优化。 -- ### **2. SOTA方法分类与代表工作** #### **(1) 输出级蒸馏(Output Distillation)** - **思想**:直接对齐教师(Teacher)与学生(Student)的最终输出概率图。 - **代表方法**: - **PIS(Pixel-wise Importance Sampling)**(CVPR 2022) 通过动态采样难区分像素(如物体边缘),针对性优化蒸馏损失。 - **CWD(Channel-wise Knowledge Distillation)**(ECCV 2022) 对齐教师和学生的通道间关系,增强类别间区分性。 - **优点**:实现简单,计算开销小;**缺点**:忽略中间特征信息。 #### **(2) 特征级蒸馏(Feature Distillation)** - **思想**:对齐教师与学生中间层的特征图,传递空间和语义信息。 - **代表方法**: - **IFVD(Inter-Region Affinity Distillation)**(CVPR 2021) 建模像素间区域亲和力(相似性矩阵),强制学生模仿教师的结构化关系。 - **FGD(Focal and Global Knowledge Distillation)**(ICCV 2023) 结合局部关键区域(如物体)和全局上下文的对齐,提升细粒度分割效果。 - **优点**:捕获多尺度信息;**缺点**:需设计复杂的特征对齐策略。 #### **(3) 关系级蒸馏(Relation Distillation)** - **思想**:迁移教师模型中像素间或通道间的高阶关系(如注意力图)。 - **代表方法**: - **DIST(Dense Information Supervised Transfer)**(NeurIPS 2022) 通过对比学习对齐教师与学生的像素级相似性分布。 - **KRKD(Knowledge Distillation via Instance Relationship Graphs)**(CVPR 2023) 构建实例级关系图(如类别间关联),增强语义一致性。 - **优点**:建模长程依赖;**缺点**:计算复杂度较高。 #### **(4) 解耦蒸馏(Decoupled Distillation)** - **思想**:将分割任务分解为不同子任务(如分类和边界预测),分别蒸馏- **代表方法**: - **DKD(Decoupled Knowledge Distillation for Semantic Segmentation)**(ICLR 2023) 分离类别语义蒸馏和边界细化蒸馏,针对性优化不同区域。 - **Boundary-Aware KD**(ECCV 2022) 通过边缘检测模块强化学生模型的边界预测能力。 - **优点**:任务导向,提升特定性能;**缺点**:需多任务联合训练。 -- ### **3. 关键技术创** - **动态权重分配**:根据像素难度动态调整蒸馏权重(如难样本聚焦)。 - **多教师协同蒸馏**:融合多个教师模型的知识(如不同架构或训练策略)。 - **自蒸馏(Self-Distillation)**:同一模型内部跨层知识迁移,无需额外教师。 - **无监督蒸馏**:利用未标注数据,通过对比学习或生成对抗网络(GAN)迁移知识--- ### **4. 性能对比(SOTA方法在Cityscapes数据集上的mIoU)** | **方法** | **教师模型** | **学生模型** | **mIoU (%)** | **参数量 (M)** | |--| | IFVD (CVPR 2021) | DeepLabV3+ | MobileNetV2 | 75.2 | 2.1 | | DKD (ICLR 2023) | Swin-L | ResNet-18 | 78.9 | 12.5 | | FGD (ICCV 2023) | SegFormer-B5 | MiT-B0 | 80.1 | 3.8 | | DIST (NeurIPS 2022) | OCRNet | DDRNet-23 | 81.5 | 5.7 | --- ### **5. 未来方向** 1. **跨模态蒸馏**:结合多模态数据(如RGB+深度)提升鲁棒性。 2. **动态架构蒸馏**:自适应调整学生网络结构以匹配教师知识。 3. **面向实时分割的蒸馏**:在极低参数量下保持实时性与精度平衡(如移动端部署)。 4. **3D分割扩展**:将2D蒸馏技术迁移至3D点云或医学体数据分割。 -- ### **参考文献(近年SOTA工作)** 1. **IFVD**: *"Knowledge Distillation via Instance Relationship Graph"* (CVPR 2021) 2. **DKD**: *"Decoupled Knowledge Distillation for Semantic Segmentation"* (ICLR 2023) 3. **FGD**: *"Focal and Global Knowledge Distillation for Dense Prediction"* (ICCV 2023) 4. **DIST**: *"Dense Information Supervised Distillation for Semantic Segmentation"* (NeurIPS 2022) --- ### **总结** 分割任务的知识蒸馏SOTA方法正朝着**细粒度对齐**(像素/区域/关系)、**动态优化**(自适应权重)和**任务解耦**(分类+边界)的方向发展。实际应用中需权衡性能、速度和部署成本,选择适合场景的蒸馏策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值