解耦知识蒸馏(Decoupled Knowledge Distillation,DKD)论文解读

论文简介:

1、为了提供研究logit蒸馏的新观点,本文将经典的KD损失重新表述为两个部分,即目标类知识蒸馏(TCKD)和非目标类知识精馏(NCKD)。

2、TCKD传递了关于训练样本“难度”的知识,而NCKD是logit蒸馏工作的突出原因。

3、揭示了经典KD损失是一个耦合公式,既抑制了NCKD的有效性,又限制了平衡这两个部分的灵活性。

因此本文提出了解耦知识蒸馏(DKD),使TCKD和NCKD能够更有效、更灵活地发挥作用。

实验结论:本文的DKD在用于图像分类和对象检测任务的CIF AR-100、ImageNet和MSCOCO数据集上实现了可比甚至更好的结果,并具有更好的训练效率。

贡献:

1、通过将经典KD分为TCKD和NCKD,为研究logit蒸馏提供了一个有洞察力的观点。

2、分别分析和证明了这两部分的效果,揭示了经典KD损失的局限性,这是由其高度耦合的公式引起的。

3、NCKD与教师置信的耦合抑制了知识转移的有效性。TCKD与NCKD的耦合限制了平衡这两个部分的灵活性。

1、相关工作(Logit蒸馏)

Logit蒸馏需要边际计算和存储成本且性能较差,然而逻辑蒸馏应该达到与特征蒸馏相当的性能,因为逻辑蒸馏的语义级别高于深度特征。

假设:logit蒸馏的潜力受到未知原因的限制,导致性能不理想。为了研究这一问题,我们首先研究KD的机制

方法:将分类预测分为两个层次:

(1)针对目标类和所有非目标类的二元预测;

(2)针对每个非目标类进行多类别预测。

此时将经典KD损失重新表述为两部分,如下图所示。一种是目标类的二元逻辑蒸馏(TCKD),另一种是非目标类的多类别逻辑蒸馏(NCKD)

 TCKD:通过二元逻辑蒸馏传递知识,这意味着只提供目标类别的预测,而每个非目标类别的具体预测是未知的。——TCKD传递了关于训练样本“难度”的知识,即知识描述了识别每个训练样本的难度。

ps:为了验证这一点,从三个方面设计了实验,以增加训练数据的“难度”,即更强的增强、更具噪声的标签和固有的挑战性数据集

NCKD:只考虑非目标逻辑之间的知识。从实验上证明,只有应用NCKD才能获得与经典KD相当甚至更好的结果,这表明非目标逻辑中包含的知识至关重要,这可能是突出的“暗知识”

2、DKD方法解读 

2.1、符号说明

     对于来自第t类的训练样本,分类概率可以表示为p=\left [ p_{1},p_{2} ,...,p_{t},...,p_{C}\right ]\in R^{1\times C},其中p_{i}是第i类的概率,C是类的数量。p中的每个元素可以通过softmax函数获得:

p_{i}=\frac{\exp \left ( z_{i} \right )}{\sum_{j=1}^{C}\exp \left ( z_{j} \right )}

其中z_{i}表示第i类的logit。

      为了区分与目标类相关和无关的预测,我们定义了以下符号。b=\left [ p_{t},p_{/t} \right ]\in R^{1\times 2}表示目标类(p_{t})和所有其他非目标类(p_{/t})的二元概率,可通过下面公式计算:

p_{t}=\frac{\exp \left ( z_{t} \right )}{\sum_{j=1}^{C}\exp \left ( z_{j} \right )}

p_{/t}=\frac{\exp \left (\sum_{k=1,k\neq t}^{C} z_{k} \right )}{\sum_{j=1}^{C}\exp \left ( z_{j} \right )}

声明:\widehat{p}=\left [ \widehat{p}_{1} ,...,\widehat{p}_{t-1},...,\widehat{p}_{C}\right ]\in R^{1\times \left ( C-1 \right )} 独立地对非目标类之间的概率进行计算(即不考虑第t类)。每个元素的计算公式如下:

\widehat{p}_{t}=\frac{\exp \left ( z_{i} \right )}{\sum_{j=1,j\neq t}^{C}\exp \left ( z_{j} \right )}

2.2、KD重定义

ps:尝试用二进制概率b和非目标类之间的概率\widehat{p}来重新表述KD。

T和S分别表示教师网络和学生网络。经典KD使用KL散度作为损失函数,如下所示:

KD=KL\left ( p^{T}||p^{S} \right )=p_{t}^{T}\log \left ( \frac{p_{t}^{T}}{p_{t}^{S}} \right )+\sum_{i=1,i\neq t}^{C}p_{i}^{T}\log \left ( \frac{p_{i}^{T}}{p_{i}^{S}} \right )

假设\widehat{p}_{i}=\frac{p_{i}}{p_{/t}},则上面式子可以按如下推导:

KD=p_{t}^{T}\log \left ( \frac{p_{t}^{T}}{p_{t}^{S}} \right )+p_{/t}^{T}\sum_{i=1,i\neq t}^{C}\widehat{p}_{i}^{T}\left (\log \left ( \frac{\widehat{p}_{i}^{T}}{\widehat{p}_{i}^{S}} \right ) +\log \left ( \frac{p_{/t}^{T}}{p_{/t}^{S}} \right ) \right )

KD=\underbrace{p_{t}^{T}\log \left ( \frac{p_{t}^{T}}{p_{t}^{S}} \right )+p_{/t}^{T}\log \left ( \frac{p_{/t}^{T}}{p_{/t}^{S}} \right )}+p_{/t}^{T}\underbrace{\sum_{i=1,i\neq t}^{C}\widehat{p}_{i}^{T}\log \left ( \frac{\widehat{p}_{i}^{T}}{\widehat{p}_{i}^{S}} \right )}

                                                       KL\left ( b^{T} ||b^{S}\right )                                KL\left ( \widehat{p}^{T}||\widehat{p}^{S} \right )

因此,上式可以改写为:

KD=KL\left ( b^{T}||b^{S} \right )+\left ( 1-p_{t}^{T} \right )KL\left ( \widehat{p}^{T}||\widehat{p}^{S} \right )

综上来看,KD损失被重新定义为两项的加权和。

1、KL\left ( b^{T}||b^{S} \right )表示教师和学生对目标类的二元概率之间的相似性,将其命名为目标类知识蒸馏(TCKD)。

2、KL\left ( \widehat{p}^{T}||\widehat{p}^{S} \right )表示非目标类中教师和学生概率之间的相似性,称为非目标类知识蒸馏(NCKD)。

KD=TCKD+\left ( 1-p_{t}^{T} \right )NCKD

ps:上述公式启发研究者需要研究TCKD和NCKD的个体效应,揭示经典耦合公式的局限性。

3、TCKD和NCKD

3.1、概述

研究了TCKD和NCKD对CIFAR-100的影响。选择ResNet、WideResNet(WRN)和ShuffleNet作为训练模型,其中考虑了相同和不同的架构。实验结果如下所示:

 

       对每一对师生网络,我们报告了(1)学生基线训练、(2)经典KD(其中TCKD和NCKD都使用)、(3)单独TCKD和(4)单独NCKD的结果。

1、TCKD专注于与目标类别相关的知识,因为相应的损失函数只考虑二进制概率。

2、NCKD侧重于非目标类之间的知识。

       当仅应用NCKD时,性能与经典KD相当甚至更好。这表明,非目标类之间的知识对于逻辑蒸馏至关重要,这可能是突出的“黑暗知识”。而且注意到NCKD损失与\left ( 1-p_{t}^{T} \right )相关。

3.2、NCKD和TCKD权重设置

p_{t}^{T}表示教师对目标类的置信,更可靠的预测会导致更小的NCKD权重。

教师对培训样本越有信心,就越能提供可靠和有价值的知识。然而,这种自信的预测高度抑制了损失权重。

设计了一个消融实验,以验证预测良好的样本确实比其他样本传递更好的知识

步骤1:首先,我们根据p_{t}^{T}对训练样本进行排序,并将它们平均分成两个子集。

步骤2:一个子集包括p_{t}^{T}最高50%的样本,而其余样本在另一个子集中。

步骤3:在每个子集上使用NCKD训练学生网络,以比较性能增益(而交叉熵损失仍然在整个集合上)。

 

       在前50%的样本上使用NCKD可以获得更好的性能,这表明预测良好的样本的知识比其他样本更丰富。然而,教师的高置信抑制了预测良好的样本的损失权重。

3.3、解耦知识蒸馏实现(DKD)

        TCKD和NCKD都是不可或缺的。然而,在经典KD公式中,TCKD和NCKD从以下方面耦合:

1、NCKD与\left ( 1-p_{t}^{T} \right );,可以抑制预测良好样本上的NCKD。——预测良好的样本可以带来更多的性能增益,因此耦合形式会限制NCKD的有效性

2、NCKD和TCKD的权重在经典KD框架下耦合。不允许为了平衡重要性而改变每个项目的权重。——假设TCKD和NCKD应该是分开的,因为他们的贡献来自不同的方面。

       因此我们提出了一种新的逻辑蒸馏方法,称为解耦知识蒸馏(DKD),以解决上述问题。我们提出的DKD在解耦公式中独立考虑TCKD和NCKD。具体来说,我们引入了两个超参数α和β,分别作为TCKD和NCKD的权重。DKD的损失函数可以表示为:

DKD=\alpha TCKD+\beta NCKD

       在DKD中,\left ( 1-p_{t}^{T} \right )被β取代,这将抑制NCKD的有效性。此外,允许调整α和β以平衡TCKD和NCKD的重要性。通过解耦NCKD和TCKD,DKD为logit蒸馏提供了一种高效、灵活的方式。算法1以类似PyTorch的样式提供DKD的伪代码,如下所示:

 

 4、总结

1、通过将经典的KD损失重新表述为两个部分,提供了一种解释logit蒸馏的新观点部分,即目标类知识蒸馏(TCKD)和非目标类知识精馏(NCKD)。分别研究和证明了这两部分的作用,发现KD的耦合公式限制了知识迁移的有效性和灵活性。

2、提出了解耦知识蒸馏(DKD),它在CIFAR-100、ImageNet和MS-COCO数据集上实现了显著改进,用于图像分类和对象检测任务。此外,还证明了DKD在训练效率和特征可迁移性方面的优势。

3、限制和未来工作:

 3.1、DKD无法在目标检测任务上胜过现有技术的基于特征的方法(例如ReviewKD),因为基于logit的方法无法传递关于定位的知识。

3.2、提供了如何调整β的直观指导。然而,蒸馏性能与β之间的严格相关性尚未得到充分研究。

<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)** - **思想**:将分割任务分解为不同子任务(如分类和边界预测),分别蒸馏。 - **代表方法**: - **DKDDecoupled 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方法正朝着**细粒度对齐**(像素/区域/关系)、**动态优化**(自适应权重)和**任务解耦**(分类+边界)的方向发展。实际应用中需权衡性能、速度和部署成本,选择适合场景的蒸馏策略。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一瞬にして失う

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值