Bendi新闻
>
CVPR 2024 | 知识蒸馏中的Logit标准化:辅助logit-based KD算法稳定涨点

CVPR 2024 | 知识蒸馏中的Logit标准化:辅助logit-based KD算法稳定涨点

7月前

©作者 | 孙上荃
单位 | 中科院信工所
研究方向 | 知识蒸馏


太长不看的一句话总结:传统知识蒸馏默认学生/教师网络的温度是全局一致的,这种设置迫使学生模仿教师的 logit 的具体值,而非其关系,论文方法提出 logit 标准化,解决了这个问题。

论文标题:
Logit Standardization in Knowledge Distillation

论文链接:

https://arxiv.org/abs/2403.01427

开源代码:

https://github.com/sunshangquan/logit-standardization-KD

项目主页:

https://sunsean21.github.io/logit-stand-KD.html


知识蒸馏(Knowledge Distillation)

该部分是给不熟悉的读者科普的,熟悉的读者可以看一下符号表达就跳过。

2015 年,Hinton #ref_1 注意到深度学习模型变得越来越大,率先想到是否可以利用一个训练好的大模型(俗称 Teacher、教师模型),教授一个小模型(俗称 Student、学生模型)进行学习。

以常见的分类问题举例,给定一个包含 个样本的图像分类数据集 是其中第 个样本图像, 对应的标签(数据集如果有 个类,则为 1 至 之间的一个整数,代表图像属于第 个类),学生网络 和教师网络 会读取一张输入图像 ,输出各自的 logit:

我们用带有温度 的 softmax 函数,就可以将 logit 转换为概率密度的形式:
其中 分别是学生和教师预测的概率密度,其满
随后,就可以用 KL 散度将学生的输出和教师的输出进行定量对比,以此作为损失函数对学生网络进行优化:

整个过程可以看下面的图 1a。


上面简单的概述内容还是有所局限,大家也可以看一下其他科普文章,例如:


潘小小:【经典简读】知识蒸馏(Knowledge Distillation)经典之作(https://zhuanlan.zhihu.com/p/102038521)。



问题背景与分析

距离 Hinton #ref_1 2015 年提出知识蒸馏已经过去了 9 年,温度这个超参数最早就被设定为教师、学生之间共享的,并且是对所有样本都全局不变的,而这样的设置并没有理论支持。


已有工作中,CTKD #ref_2 引入了对抗学习,针对不同难度的样本选择不一样的温度,但是它仍然让学生和教师共享温度;ATKD #ref_3 则是引入一种锐利度指标,针对性地选择学生和教师之间的温度平衡。但是他们均没有讨论学生和教师的温度来自于哪里,也没有理论性地讨论它们是否可以全局不一致、学生教师之间不共享。


因此针对这个问题,文章做出了三个贡献:


  1. 文章基于信息论中的熵最大化理论,推导了含有超参数温度的 softmax 函数表达式。基于推导过程,发现温度并没有明显的约束条件,即没有理论强制学生和教师在全局范围内共享温度(见 1.1.1、1.1.2)

  2. 文章发现已有的“共享温度”的设置会导致两个问题:

  3. 学生网络被迫输出和教师网络相当的 logit(见1.2)

  4. KL 散度难以真实反映学生的蒸馏效果(见2.3)

  5. 文章提出了 logit 标准化,可作为预处理辅助现有基于 logit 的知识蒸馏算法

注:本文初次于 2023 年 3 月投稿至 ICCV 2023,与 2023 年 8 月公开的 NormKD #ref_4 属于 concurrent work。

▲ 图1. logit 标准差辅助的知识蒸馏和传统知识蒸馏的对比

2.1 超参数-温度的来源

这部分推导了带有超参数温度的 softmax 函数,如果只想看结论,可直接跳到 1.3 小节。

2.1.1 教师网络的温度

基于 Edwin #ref_5 1957 年提出的最大熵理论(Maximum-Entropy Principle),可以证明出分类任务的 softmax 函数是求解条件熵最大化问题的唯一解形式,也就是说,对于一个训练好的教师网络,面对以下两个条件,其概率密度 应该使得熵处于最大值,两个条件分别为


  1. 变量向量 需要求和为 1。也就是说,它满足概率密度的形式。
  2. 原始 logit 向量 的期望为正确的 logit 项。也就是说,它需要预测正确。

其数学表达为以下式子:

针对这个求解问题,可以利用拉格朗日乘子法,引入拉格朗日乘子 (条件1)和 (条件2),将条件优化变为单一表达式:

对目标函数求导后取零,即可得到优化问题的解的形式。于是我们对 求偏导,得到:

对其取 0,我们得到

此处的 就变成了我们常见的 softmax 的分母,公式(7)就变为了我们常见的 softmax 函数。而 就是我们常见的温度变量,它的值取 1 时,就是分类任务中不带有温度的 KL 散度函数。

2.1.2 学生网络的温度

与上一小节类似,我们针对蒸馏任务,引入一个新的约束条件:

  1. 学生 logit 向量的期望需要等于教师 logit 的期望。也就是说,需要学生学习到教师的知识。
加入这第三个约束的求解问题的数学表达为:

类似地引入拉格朗日乘子 (条件1)、(条件2)、(条件3),可以将条件优化变为单一表达式:

求偏导,得到:

对其取 0,并且设 ,我们得到

其中为了简洁,分母为 。公式(11)变为了我们常见的 softmax 函数。而 就是我们常见的温度变量,它与 取等时,就是蒸馏任务中最常见的学生、教师共享温度的情况。

讨论:

  • 问题1:学生和教师之间是否可以取不同的温度?

答:如果对公式(5)和公式(8)分别对 求偏导,则其偏导表达式均会退回到对应的条件约束表达式,表达式恒成立,其结果与这三个变量 也因此无关,所以其取值并没有明显的约束形式。如果我们取 ,就是我们常见知识蒸馏中共享温度的情况。

  • 问题2:蒸馏过程中是否可以对不同样本取不同的温度?

答:与问题 1 类似,其取值并没有明显的约束形式,因此可以针对样本选择温度的取值。

2.2 共享温度的弊端(1/2)

上一小节讨论了 “学生和教师网络是否可以针对样本选择不同的温度” 的问题,但是我们还并不知道是否有必要选择不同的温度值,因此本节展示传统知识蒸馏共享温度带来的弊端。

首先我们将之前的 softmax 表达式统一得到一个一般形式,其表示为:
其中 分别为学生()和教师()的 softmax 表达式中的偏置项()和缩放项(),其中偏置项虽然可以通过分子分母相消,但是其有稳定 logit 均值的作用(之后 2.2 节中提到)。

对于一个蒸馏好的理想学生,我们假设对于给定样本,其损失函数(KL 散度)达到最小值。也就是说,这个理想学生可以完美学习教师的概率,那对于任意索引 ,都可以得到

那么对于任意一对索引 ,我们有:

将上面的式子按 从 1 到 求和,然后除以 ,可以得到:

别是学生和教师 logit 的均值。然后我们对公式(14)按 从 1 到 求和,我们可以得到:

其中, 是标准差函数。


假设我们设定教师和学生的温度相同,即 ,那么公式(14)就会变为:

由此可以看出经典知识蒸馏问题中共享温度的设定,最终会强制学生和教师 logit 之间存在一个固定的差 ,但是考虑到学生网络和教师网络之间的能力差距,学生很难生成与教师 logit 的均值相当的 logit #ref_6 #ref_7 #ref_8(见图 2 横轴)。


我们继续考虑教师和学生的温度相同的情况下的标准差,将公式(15)进行简化,可以得到:

由此可以看出经典知识蒸馏问题中共享温度的设定,最终也会强制学生和教师输出的 logit 标准差一致,考虑到其二者的能力差距,学生同样很难生成与教师 logit 的标准差相当的 logit(见图 2 纵轴)。

▲ 图2. 不同尺寸网络的 logit 均值和标准差的双变量散点图
图 2 展示了不同尺寸网络输出的 logit 均值和标准差,可以看出尺寸较大的网络均值更接近于 0,标准差也越小,也就是 logit 更紧凑。由此规律可以看出,较小的学生网络确实难以输出和较大的教师网络相当的 logit 范围。

2.3 小节

我们从本节可以得到以下结论:


  • 学生、教师网络的温度没有明显的约束条件,不必一定全局共享,可以人为指定

  • 在温度共享的情况下,学生、教师网络之间有一个 logit 范围的强制性匹配

  • 基于学生、教师网络的能力差距, 上述强制性匹配很可能限制学生网络的蒸馏效果



提出方法:Logit标准化

3.1 算法

为了打破上述的强制性匹配,文章基于公式(14)的形式,提出了 logit 标准化,即把 代入 softmax 函数:

其中 函数就是一种加权 -score 标准化函数,其表达形式如算法 1 所示,通过引入一个基础温度 来控制标准化后的 logit 值域(见 2.2 优势第四条)。而完整的 logit 标准化知识蒸馏算法则如算法 2 所示。
▲ 算法1:Z-score 函数算法;算法2:logit 标准化的知识蒸馏算法

3.2 优势

这样 -score 标准化后的 logit,,有至少四个好处(所有证明可见文章补充材料:https://sunsean21.github.io/resources/cvpr2024_supp.pdf):

  • 均值为零

之前的工作 #ref_1 #ref_3 常常有学生/教师 logit 的均值为 0 的假设,但是如图 2 所示,其几乎是不可能真实实现的,而基于提出的 logit 标准化函数,logit 均值会自动变为 0。


  • 标准差为

这个性质也是 -score 自带的性质,证明简单。这条性质使学生、教师 logit 被投影到同一范围的类-高斯分布内,而由于其投影过程是多对一的,意味着其反向过程是不确定的,确保了学生的原始 logit 可以不受“强制性匹配”的副作用影响。

  • 单调性

其定义为给定一串索引序列 ,如果其可以将原始 logit 进行由小到大的排序,即 ,那么其也能够将变换后 logit 进行相对应的排序,即 。由于 -score 属于线性变换函数,这条性质自动满足。这条性质确保了学生能够学习到教师网络 logit 必要的内在关系。

  • 有界性,上下界为


这条性质需要几步证明,可查询补充材料(https://sunsean21.github.io/resources/cvpr2024_supp.pdf)。这个性质保证了我们可以自己控制 softmax 函数内 logit 的值域范围,能够保证数值计算的稳定性。

3.3 Toy Case:共享温度的弊端(2/2)

上文中提到共享温度有两个弊端,文章此时举例了一个 toy case 展示其第二个弊端的过程,如图 3 所示。

有两个学生网络 ,一起向教师 学习。 的 logit 范围与 相仿,而 的 logit 范围远小于 的 logit,所以 的损失函数 小于 的损失函数 。然而其二者的预测结果却和损失函数的优劣产生了矛盾: 预测的 “Bird” 错误了,而 预测的 “Dog” 却是正确了。


这一矛盾说明了:在学生、教师共享温度的设定下,KL 散度可能无法准确描述学生的蒸馏性能和学习效果!

▲ 图3. 一个 toy case,展示了“温度共享”带来的KL散度无法准确评估学生网络性能的情况

而如果使用文章提出的 logit 标准化(见图 3 下半部分),标准化后的 的 logit 计算的损失函数 大于 的标准化后的 logit 计算的损失函数 ,与其二者预测结果相符,解决了上述问题。



实验结果

4.1 数值结果

在 CIFAR-100 上的结果如表 1、2 所示,文章在四个现有的 logit 知识蒸馏算法上进行了验证,分别为 KD #ref_1、CTKD #ref_2、DKD #ref_9 和 MLKD #ref_10。

▲ 表1. CIFAR-100 上面的蒸馏结果,此表为学生、教师的网络结构不同的情况

▲ 表2. CIFAR-100 上面的蒸馏结果,此表为学生、教师的网络结构相同的情况

在 ImageNet 上的结果如表 3 所示。

▲ 表3. ImageNet 上面的蒸馏结果

4.2 消融实验

针对超参数 ,文章在 四种情况下做了消融实验,下表表 4 展示了 的情况,可以看出在 的时候,均有不错的效果,当其取 9 的时候效果最佳。

▲ 表4. 消融实验

4.3 可视化结果

  • logit 范围:


从图 4 第一行中,可以看出经典知识蒸馏算法可以迫使学生产生与教师 logit 相仿的 logit 范围,但是其预测的最大 logit 值没有达到教师的值(12),预测产生了错误。而文章的方法可以使原始 logit 摆脱“强制性匹配”(见图 4b 第一行),而其标准化后的 logit 结果则与教师的几乎完美匹配(见图 4c 第一行)。


从图 4 第二行中可以从全局角度得出类似的结论。

▲ 图4. 第一行:一组学生、教师 logit 的柱状图可视化案例;第二行:学生、教师 logit 之间的平均差值的热度图

  • 特征可视化:


图 5 展示了四种基于 logit 知识蒸馏的 t-SNE 特征可视化,可以看出没有 logit 标准化进行蒸馏的网络输出特征没有很好地散落开,而 logit 标准化进行蒸馏的网络特征具有更好的可辨别性。
▲ 图5. 四种基于 logit 知识蒸馏的特征可视化

4.4 教师-学生鸿沟问题

学生、教师之间由于能力差距,强的老师可能无法做一个好的老师,文章将这个现象解释为学生难以输出与教师 logit 相仿范围的 logit,而这又是现有知识蒸馏所强制强迫的,因此限制了学生的学习。

图6展示了一组没有经过 logit 标准化的传统蒸馏和经过 logit 标准化的蒸馏的 logit 双变量分布可视化,可以看出传统知识蒸馏仍然无法使学生、教师之间的分布重合(粉色、紫色);而 logit 标准化后的 logit 分布则可以完全重合(深绿色、橙色)。

▲ 图6. logit 均值和标准差的双变量散点图

表 5 展示了一组不同能力老师的蒸馏效果,可以看出 logit 标准化普遍地提升了学生的性能,弥补了学生、教师网络之间的学习鸿沟。

▲ 表5. 一组不同能力老师的蒸馏效果,学生为 WRN-16-2

4.5 蒸馏ViT

文章 https://sunsean21.github.io/resources/cvpr2024_supp.pdf 还展示了蒸馏 ViT 的效果,见图 7 和表 6。

▲ 图7. 蒸馏 ViT 的训练轨迹可视化

▲ 表6. 蒸馏 ViT 的性能


参考文献

[1] [arXiv 2015] Distilling the Knowledge in a Neural Network https://arxiv.org/abs/1503.02531
[2] [AAAI 2023] Curriculum Temperature for Knowledge Distillation https://arxiv.org/abs/2211.16231
[3] [OpenReview 2022] Reducing the Teacher-Student Gap via Adaptive Temperatures  https://openreview.net/forum?id=h-z_zqT2yJU
[4] [arXiv 2023] NormKD: Normalized Logits for Knowledge Distillation https://arxiv.org/abs/2308.00520
[5] [Physical Review 1957] Information Theory and Statistical Mechanics https://journals.aps.org/pr/abstract/10.1103/PhysRev.106.620
[6] [ICCV 2019] On the efficacy of knowledge distillation. https://openaccess.thecvf.com/content_ICCV_2019/papers/Cho_On_the_Efficacy_of_Knowledge_Distillation_ICCV_2019_paper.pdf
[7] [AAAI 2020] Improved knowledge distillation via teacher assistant https://ojs.aaai.org/index.php/AAAI/article/view/5963/5819
[8] [ICCV 2021] Densely guided knowledge distillation using multiple teacher assistants https://openaccess.thecvf.com/content/ICCV2021/papers/Son_Densely_Guided_Knowledge_Distillation_Using_Multiple_Teacher_Assistants_ICCV_2021_paper.pdf
[9] [CVPR 2022] Decoupled Knowledge Distillation https://openaccess.thecvf.com/content/CVPR2022/papers/Zhao_Decoupled_Knowledge_Distillation_CVPR_2022_paper.pdf
[10] [CVPR 2023] Multi-Level Logit Distillation https://openaccess.thecvf.com/content/CVPR2023/papers/Jin_Multi-Level_Logit_Distillation_CVPR_2023_paper.pdf



更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:[email protected] 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·
·
·


微信扫码关注该文公众号作者

来源:PaperWeekly

相关新闻

​CVPR 2024 | 迁移预训练生成模型中的知识到边缘小模型CVPR 2024 | 无参数无训练也能大幅涨点!港城大等提出全新小样本3D分割模型ICLR 2024 杰出论文!涨点神器!Meta提出:ViT需要Registers顶刊TPAMI 2024!涨点显著!多尺度循环细化单目深度估计模型2024 年 AI 辅助研发趋势:全面探索、规模试点、领域特定智能生成CVPR 2024 | 腾讯提出LORS:低秩残差结构,瘦身模型不掉点!CVPR 2024 满分论文!LiSA:引入语义感知的激光雷达点云视觉定位网络权威专访 | 马飞教授:“中国临床肿瘤类器官标准化建设”深度解析,同质相承,共迎拐点!CVPR 2024 | 双手协作双物体的数据集TACO:引领可泛化手物交互的新方向CVPR 2024 | 知识感知注意力!用于组织病理学全幻灯片图像分析CVPR 2024 | MotionEditor:首个面向动作编辑的视频扩散模型CVPR 2024 | OmniParser:统一图文解析模型:文字检测识别、视觉信息抽取和表格识别CVPR 2024 | E2STR:基于多模态上下文学习构建的自进化文本识别模型CVPR 2024 | DrivingGaussian:环视动态自动驾驶场景重建仿真SGLT2抑制剂和利尿剂在心力衰竭中的应用:点击重置肾容量设定值?仅剩2席|系统梳理编程相关的数据结构及算法等Technical知识点,告别死记硬背,过面试拿Offer!【直播预告】6月15日晚9点:云听2024美国移民律协年会!NEC美国商赛知识点详解:Indifference curve无差别曲线CVPR 2024 中科院自动化所36篇入选!新主干/多模态/3D视觉/自动驾驶等全都有!CVPR 2024 | SAM-6D:分割一切遇见零样本6D位姿估计埃森哲:技术展望2024-AI拐点:重塑人类潜力(摘要版)CES 2024奇葩盘点:脑洞大开,一半都是智商税百分点舆情中心:2024新能源汽车露营受众人群研究报告百分点舆情中心:2024智能驾驶兴趣人群研究报告
logo
联系我们隐私协议©2024 bendi.news
Bendi新闻
Bendi.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Bendi.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。