Decoupled Knowledge Distillation


前言

作者提出了一种新的知识蒸馏方法,称为解耦知识蒸馏(DKD)。这种方法将传统的KD损失重新定义为目标类知识蒸馏(TCKD)和非目标类知识蒸馏(NCKD)两部分,并使用超参数α和β来独立地控制这两部分的重要性。


一、TCKD和NCKD

目标类知识蒸馏(TCKD)关注的是教师模型和学生模型在目标类别上的预测概率的一致性, 它通过二元logit蒸馏来传递知识,即只提供目标类别的预测,而不涉及每个非目标类别的具体预测。TCKD传递的知识与训练样本的“难度”有关,即描述了识别每个训练样本的难易程度。

非目标类知识蒸馏(NCKD)关注的是教师模型和学生模型在非目标类别上的预测概率的一致性。实验结果表明,仅应用NCKD就能达到与经典KD相当或更好的结果,这表明非目标类别中包含的知识对logit蒸馏至关重要,这可能是显著的“暗知识”(dark knowledge)。

二、KD公式重构

将Logit分为 target和non-target

公式重构

详细推导过程如下,将Pi替换掉
在这里插入图片描述
在这里插入图片描述

三、TCKD和NCKD的影响

1. 各部分的性能增益

在这里插入图片描述
一类试验中的四个实验分别为:没有KD,经典KD,只有TCKD,只有NCKD。
直观地,TCKD集中于与目标类相关的知识,因为相应的损失函数只考虑二元概率。相反,NCKD侧重于非目标类的知识。注意到,TCKD的应用可能是没有帮助甚至危害的。然而只有NCKD的表现要犹优于传统的KD。消融试验结果表明,目标类相关的知识可能不如非目标类之间的知识重要。为了深入了解这一现象,进行以下进一步的分析。

2. TCKD传递关于训练样本的“难度”的知识。

在这里插入图片描述

根据公式(5),TCKD通过二元分类任务传递“暗知识”,这可能与样本的“难度”有关。例如,与pTt = 0.75的另一个训练样本相比,pTt = 0.99的训练样本对学生来说可能更容易学习。由于TCKD传达了训练样本的“难度”,假设当训练数据变得具有挑战性时,有效性就会显现出来。然而,CIFAR-100训练集很容易拟合。因此,教师提供的关于“困难”的知识是不具有信息性的。在这一部分中,从三个角度进行了实验验证:训练数据的难度越大,TCKD的优势越大。
(1)Applying Strong Augmentation(2)Noisy Labels(3)Challenging Datasets,最后,通过实验使用各种策略来增加训练数据的难度(如强增强、噪声标签、困难任务),证明了TCKD的有效性。实验结果表明,在对具有挑战性的训练数据进行知识提取时,与训练样本的“难度”相关的知识会更有用。

3. NCKD是logit蒸馏起作用但被大大抑制的主要原因。

table1实验结果表明在仅应用NCKD时性能与经典KD相当甚至更好。这表明,非目标类之间的知识对logit提取具有重要意义,可以作为突出的“暗知识”。然而由于NCKD损失通过1-pTt被耦合,pTt代表着教师网络对于target类别的置信度,从而使得教师网络的预测结果越好NCKD的权重反而越小。我们假设,这一事实将限制知识迁移的有效性。
我们设计了一个消融实验来验证预测良好的样本确实比其他样本传递更好的知识。首先根据pTt对训练样本进行排序,并将其平均分为两个子集。为清楚起见,一个子集包括pTt前50%的样本,而其余样本在另一个子集中。然后在每个子集上训练具有NCKD的学生网络,以比较性能增益(而交叉熵损失仍在整个集合上)。表5显示,在前50%样本上使用NCKD可以获得更好的性能,这表明预测良好的样本的知识比其他样本更丰富。然而,教师的高置信度抑制了预测良好的样本的损失权重。
在这里插入图片描述

四、解耦知识蒸馏

在这里插入图片描述
通过解耦NCKD和TCKD,DKD为logit蒸馏提供了一种高效、灵活的方法。

五、 实验

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值