论文解读 | 解耦知识蒸馏

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

10 年来,DNN 的变革给计算机视觉领域带来了重大发展,促成了各种实时任务的繁荣,如图像分类、目标检测、语义分割等。然而强大的网络通常得益于大的网络容量,这通常以大量的计算和存储为代价,是工业应用所不喜欢的。在工业应用中,广泛采用的是轻量的模型。知识蒸馏是减小这种代价的一个有效方法,它可以把重型模型的知识迁移到轻型模型上,从而提高轻型模型的性能。知识蒸馏的概念最初是 Hinton 在论文 “Distilling the knowledge in a neural network” 中提出的,它通过最小化老师网络和学生网络输出 logit 的 KL 散度来完成知识迁移,见下图 (a)。但是自从 Fitnets 以来,有关知识蒸馏的研究大多都转移到了对中间层的深度特征的知识蒸馏,因为基于特征的蒸馏在各种任务上都性能更加优异。然而基于特征的蒸馏有一个缺点:在训练过程中,会引入大量额外的对计算和存储资源的需求。7881fcc48642f574f08e17bb772cc4e9.png

基于 logit 的蒸馏恰恰能解决这一问题,只是经典 KD 性能一般。从直觉上来说,基于 logit 的知识蒸馏应当能达到和基于特征的知识蒸馏相当的性能,因为 logits 相对于深层特征,表达了更高层次的语义。“Decoupled Knowledge Distillation”论文重构了经典知识蒸馏的表达方式,通过新的表达方式分析了经典的基于 logit 的知识蒸馏性能不理想的原因,并提出了解决问题的方法:解耦知识蒸馏(Decoupled Knowledge Distillation, DKD),一种新的基于 logit 的知识蒸馏,见上图 (b)。DKD 在各种任务上能达到 SOTA,比起基于特征的知识蒸馏,有着更高的训练效率和特征迁移性能。

重新思考知识蒸馏

重写知识蒸馏的公式

一些标记符号:
  1. 分类概率 ,其中 中的每个元素可以表示为公式(1), 表示第 i 类的 logit 输出。 

  2. 二元概率 , 表示目标类的概率, 表示所有其他的非目标类的概率,可以按下面的公式进行计算:

  3. 非目标类中的独立的模型概率分布

重写公式

表示老师, 表示学生,经典的 KD 使用 KL 散度来计算 loss,忽略温度 T,其 loss 值可以用公式(3)表示。

因为公式(1)和公式(2),我们有:所以公式(3)能表示为公式(4):

公式(4)可以进一步表示为公式(5):

在公式(5)中,KD loss 被表示成为了两项的加权求和的形式。加号左侧表示老师和学生之间对目标类的二元概率分布的相似性,论文把它叫做 Target Class Knowledge Distillation(TCKD)。加号右侧的项表示在非目标类中,老师和学生概率分布的相似程度,叫做 Non-Target Class Knowledge Distillation(NCKD)。故公式(5)可以表示为:

公式(6)是经典 KD 的新的表达方式,通过公式(6),论文研究分析了 TCKD 和 NCKD 对蒸馏的独立影响。

TCKD 与 NCKD 的效果

论文通过一系列的实验,探究了 TCKD 和 NCKD 对蒸馏的影响,总结如下:

  1. 单独使用 TCKD 进行蒸馏是没有帮助甚至是有害的。单独使用 NCKD 可以得到和经典 KD 相当或更好的性能。NCKD 和 TCKD 对蒸馏的重要性是不同的。NCKD 更重要。

  2. TCKD 能表示和训练样本难易相关的知识,训练样本越难,TCKD 就能提供更多的知识。

  3. NCKD 提供的非目标类的知识对基于 logit 的蒸馏至关重要,  NCKD 是基于 logit 的蒸馏有效果但被性能抑制的主要原因。从公式(6)可以看出,NCKD 与 耦合,其中 表示老师在目标类上的置信度。通常认为老师在训练样本上的置信度越高,它传递的知识越有价值越可靠。然而 NCKD 的损失权重被这样的置信度预测严重抑制,这就限制了知识迁移的效果。

解耦知识蒸馏(DKD)

TCKD 和 NCKD 都是重要且不可缺少的。然而经典 KD 中,TCKD 和 NCKD 存在如下两方面的耦合:

  1. NCKD 与 耦合,当 TCKD 展现很好的预测效果时,NCKD 是被抑制的。

  2. NCKD 和 TCKD 在蒸馏中的作用不同,在经典 KD 中是耦合的,不能对每一项的权重进行单独调整。

论文提出了一种新颖的基于 logit 的蒸馏,叫 DKD,公式如下,可以通过两个超参 和 平衡 TCKD 和 NCKD 的重要性。

通过 DKD,可以在 CIFAR-100 数据集和 ImageNet 数据集上,取得和最先进的特征蒸馏 ReviewKD 相当的效果。ReviewKD 和 DKD 结合,在 COCO 上可以取得 SOTA 的性能。

DKD 的优点:1.训练效率 DKD 的训练效率和经典 KD 是相当的,不需要很多额外的计算和存储资源,但是性能却非常优秀。下图横坐标是每个 batch 的训练时间,纵坐标是模型的 accuracy。老师模型是 ResNet32×4,学生模型是 ResNet8×4。该图很好的展示了 DKD 能够在模型性能和训练代价(如训练时间,额外的参数)之间取得很好的平衡。

20312fa4a131aaeae3bf9f6ed7631c33.png

2.改善大的老师模型在蒸馏中的性能 经典 KD 存在一个问题,越大的模型并非总是更好的老师。一般的观点认为大的老师模型比起小一些的老师模型应该传递更多的知识,但是实验证明很多时候大模型却带来更差的性能。论文认为这主要是因为经典 KD 中 NCKD 抑制带来的。论文用实验证明 DKD 大大缓解了这个问题。实验数据见下图,都是在 CIFAR-100 数据集上做的测试。一组是 WRN-16-2 作为学生模型,WRN 系列模型作为老师模型;另一组是 WRN-16-2 作为学生模型,不同系列的模型作为老师模型。

1401b4dd03b33cc3b16212e85a6cd171.png

81446f8962e53b634ce47479708ef44c.png

初步分析

知识蒸馏是模型压缩中一个非常有潜力的方向,他可以把大模型的知识迁移到小模型上,提升小模型的性能。小模型根据需要,可以部署到边缘设备或移动设备上。自从 Fitnets 以来,有关知识蒸馏的研究大多都转移到了对中间层的深度特征的知识蒸馏,但在训练过程中,会引入大量额外的对计算和存储资源的需求。基于 logit 的蒸馏训练快,消耗资源少,有其独特的优势。模型优化方向需要跟踪研究提升 logit 蒸馏性能的方法。我们在 ImageNet 数据集上对 DKD 的效果进行了简单探索,见下表。试验中,学生模型是 ResNet-50,老师模型是 convnext_base_in22ft1k。通过 DKD 的方式,可把学生模型的精度提升到 81.65%,比 KD 提高了 0.21%,可见 DKD 方式确实能提供比经典 KD 更加优越的性能。DKD 对每一项的权重进行单独调整,这是它的优势,但与经典 KD 相比多了一个超参需要调整,从某一个角度说也是它的不足,因为在调参时需要花费更多的精力。

teacherconvnext_base_in22ft1k (85.82%)
KD81.44%
DKD81.65%

好了,有关 DKD 的介绍就到这里。期待大家继续支持和关注 Adlik 的 Github 仓库。

7fbbd4d5107f43fd6a344d690ba2738f.png

AdlikGithub仓库

参考文献

【1】Geoffrey E. Hinton, Oriol Vinyals, and Jeffrey Dean. Distilling the knowledge in a neural network. arXiv:1503.02531 [stat.ML], 2015. 

【2】Borui Zhao, Quan Cui, Renjie Song, Yiyu Qiu, Jiajun Liang. Decoupled Knowledge Distillation. arXiv:2203.08679 [cs.CV], 2022 

【3】Pengguang Chen, Shu Liu, Hengshuang Zhao, and Jiaya Jia. Distilling knowledge via knowledge review. arXiv:2104.09044 [cs.CV], 2021

Decoupled Knowledge Distillation解耦知识蒸馏 在过去的几十年里,计算机视觉领域已经被深度神经网络(DNN)彻底改变,它成功地促进了各种真实场景的任务,如图像分类、目标检测和语义分割。然而,大的网络通常受益于大的模型容量,引入了高计算和存储成本。在广泛部署轻量级模型的工业应用中,这样的成本并不可取。在文献中,降低成本的一个潜在方向是知识蒸馏(KD)。KD代表了一系列专注于将知识从重模型(教师)——转移到轻模型(学生)的方法,这可以在不引入额外成本的情况下提高轻模型的性能。 阅读详情

相关推荐

【论文精读】CVPR2022 - 解耦知识蒸馏

目前的蒸馏方法主要基于从中间层蒸馏深层特征,而logit蒸馏的意义被大大忽视。为了为研究logit蒸馏提供一个新的观点,我们将经典的KD损失重新表述为两部分,即目标类知识蒸馏(TCKD)和非目标类知识蒸馏(NCKD)。我们通过实证研究和证明了这两部分的影响: TCKD转移了关于训练样本的“困难”的知识,而NCKD是logit蒸馏工作有效的主要原因。更重要的是,我们揭示了经典的KD损失是一个耦合公式,它(1)抑制了NCKD的有效性,(2)限制了平衡这两部分的灵活性。

qq_50757624的博客 2605

Distilling Object Detectors via Decoupled Features

Abstract 相比于图像分类而言,目标检测器更加复杂,具有多个损失函数。而目前的的检测中,其主要将注意力集中在对象的区域中,但本文指出,从背景中提取的特征信息对于学生模型的学习也是必不可少的。且由于目标区域和背景区域包含的信息不同,所以所授予的权重也应该时不同的。在此基础上,本文提出了一种新的基于解耦特征的蒸馏算法DeFeat,性能有所提升, 1. Introduction 先介绍了为了提升目标检测的准确性,计算资源成本的增加和检测速度的明显降低。解决方法有:量化、剪枝、网络设计和知识蒸馏等。接下来介绍

jackson_j的博客 4578

DeepSeek文生图模型Janus-Pro论文解读 —— 多模态AI的革命?

整个AI行业仍在适应最近发布的、震惊人工智能领域的 DeepSeek-R1。1月28日除夕当天的凌晨,DeepSeek 又发布了另一款出色的开源模型 Janus-Pro。这一次,它是一款能与其他顶级相媲美的多模态人工智能模型。在本文中,我们将解读 DeepSeek 的 Janus-Pro 背后的研究论文《JanusPro:通过数据和模型扩展实现统一的多模态理解与生成》。

硅基创想家的博客 2496

Decoupled Knowledge Distillation(CVPR 2022)原理与代码解析

本文作者深入研究了KD的作用机制,将分类预测拆分为两个层次:(1)对目标类和所有非目标类进行二分类预测。(2)对每个非目标类进行多分类预测。进而将原始的KD损失也拆分为两部分,一种是针对目标类的二分类蒸馏,另一种是针对非目标类的多分类蒸馏。并分别称为target classification knowledge distillation(TCKD)和non-target classification knowledge distillation(NCKD)。通过分别单独研究两部分对性能的影响,作者发现NCK

00000cj的博客 3213

论文解读:Decoupled Knowledge Distillation

1. 论文基本信息 论文:Decoupled Knowledge Distillation 地址:https://arxiv.org/pdf/2203.08679.pdf 代码:https://github.com/megvii-research/mdistiller 2. 背景与摘要 知识蒸馏花样繁多,在有教师模型的基础上,知识蒸馏可以从response、relation、feature等角度进行研究,设计loss,本文中,作为认为其实最基础的KD仍然有很大的潜力可以挖掘。因此对KD方法进行改进,将教

Hello World 1671

【AAAI 2021】基于解耦标签的知识蒸馏:Knowledge Refinery: Learning from Decoupled Label

【AAAI 2021】基于解耦标签的知识蒸馏:Knowledge Refinery: Learning from Decoupled Label论文地址:主要问题:主要思路: 论文地址: https://ojs.aaai.org/index.php/AAAI/article/view/16888 主要问题: 目前的知识蒸馏需要预先训练一个额外的教师模型 主要思路: 这篇提出了一种叫做知识精炼(Knowledge Refinery,简称 KR)的方法,该方法使神经网络能够在没有师生训练策略的情况下动态学习知识

梁瑛平的博客 948

Dis2DR

论文还指出,随着参与蒸馏的网络组成不断减少,训练过程会越来越接近“直接在不完整模态数据上 fine-tune 教师模型”,此时最终性能明显低于完整 Dis2DR,进一步说明了特权知识蒸馏的重要性。论文指出,与直接使用不完整模态数据继续 fine-tune 教师模型相比,固定教师模型并对学生进行知识蒸馏,可以在学生训练过程中提供更加稳定的监督,并减少模型在不完整输入下发生遗忘的问题。同时,在 Visual 单模态设置下,Dis2DR 得到 MAE 4.51、RMSE 5.88,也表现出较强的单模态适应能力。

zhousb666的博客 289

用scons编译STM32F103工程

想用vscode来实现代码的编辑与调试代码,原先这个工程是用STM32CUBEIDE建立的,参照STM32CUBEIDE的编译过程,编写了下面的scons脚本,scons是初次了解,既然是python脚本,那么会什么就怎么写吧。 import os import sys import glob cross_compiler_prefix = 'arm-none-eabi-' CC = cross_compiler_prefix+'gcc' CXX = cross_compiler_prefix+'g+

cylinc的专栏 1622

CVPR 2022 论文分享会五月直播,精彩抢先看(下)

CVPR 2022 论文分享会旷视专场,最后 3 位来自旷视的论文入选作者将做客 ReadPaper 直播间,给小伙伴们带来 3 篇佳作的第一手解读。他们将会聊聊研究背景、实验过程以及背后的科研故事。在看论文的小伙伴,一定要记得关注B 站“ReadPaper 论文阅读”的直播间哟。五月下旬直播精彩内容抢先了解1赵博睿直播时间:5 月 24 日 12:00题目:解耦知识蒸...

旷视开发者技术社区 520

【CSP-J/S初赛知识点整理】

CSP-J/S初赛知识点整理

qq_43884946的博客 1万+

实测对比:DINOv2、CLIP、ResNet在图像相似度任务上谁更强?(含Python代码与避坑指南)

本文通过实测对比DINOv2、CLIP和ResNet在图像相似度任务中的表现,提供Python代码实现与避坑指南。实验结果显示,DINOv2在精度上表现最佳,CLIP在多模态场景中优势明显,而ResNet则在计算效率上更优。文章还针对不同业务场景给出了具体选型建议,帮助开发者在图像搜索和版权检测等项目中做出更明智的技术决策。

weixin_30588381的博客 285

Springer知识蒸馏专著解读:面向图像识别的知识蒸馏综述

本次文章介绍我们发表于由 Springer 出版的专著《Advancements in Knowledge Distillation: Towards New Horizons of Intelligent Systems 》中的第一章 “Categories of Response-Based, Feature-Based, and Relation-Based Knowledge Distil...

Paper weekly 1349

北航机器学习期末考试试题2020年春

北航机器学习期末考试试题2020春 看csdn上试题收费,积分还挺高,本着共享的理念,把2020春季ML考试的试题公开,若侵权,立删 前8道题10分,第9题20分 决策树采用ID3算法 对宇宙星球是否适合生存分类 SVM的原理;软间隔、硬间隔;以及对非线性样本点分类 集成学习的原理,以及及串行boosting以及bagging的简单概括 K-means与混合高斯模型的异同以及EM算法的原理,如何计算 马尔可夫随机场最大团;马尔可夫随机场的联合概率分布(势函数表示),贝叶斯网络联合概率分布 PCA主成分基于

qq_43343919的博客 5416

【论文解读】DMD:解耦多模态蒸馏,开启情感识别新范式 (CVPR 2023)

摘要:南京理工大学在CVPR2023发表的论文提出DMD框架,针对多模态情感识别中模态异质性和贡献不平衡问题。通过特征解耦将多模态特征分离为共有和特有空间,并设计双路径图蒸馏单元实现动态知识迁移。在CMU-MOSI/MOSEI数据集上取得SOTA性能,验证了解耦策略和动态蒸馏的有效性。该工作为处理多模态交互提供了新思路,强调分治策略和预对齐的重要性。论文代码已开源。(149字)

m0_58782205的博客 990

在国产麒麟V10(arm64)上离线部署Docker 24.0.6和Compose 2.30.1,保姆级避坑实录

本文详细介绍了在国产麒麟V10(arm64)操作系统上离线部署Docker 24.0.6和Compose 2.30.1的完整流程,包括环境准备、架构认知、安装步骤、系统服务优化及生产环境加固。特别针对ARM64架构的兼容性问题提供了解决方案,帮助用户在信创环境中高效部署容器化技术。

weixin_30342209的博客 484

01 底盘制动产品之轮速传感器

轮速传感器是用来测量汽车车轮转速的传感器。对于现代汽车而言,轮速信息是必不可少的,汽车动态控制系统(VDC)、汽车电子稳定程序(ESP)、防抱死制动系统(ABS)、自动变速器的控制系统等都需要轮速信息。

汽车软件工程师 | 好奇博主 | 处女座 4656

EfficientSAM论文解读

尽管SAM已经取得非常优越的分割性能,但是Vit-H image encoder has 632M 参数;decoder 仅仅有 3.87M,编码器的参数太大了,EfficientSAM模型的提出,最重要的事情是轻量化模型,主要是轻量化编码器。使用良好预训练的轻量级ViT图像编码器(例如,ViT-Tiny/-Small),以降低SAM的复杂性,同时保持良好的性能。如下图,EfficientSAM模型只有5M大小。

qq_47432746的博客 1769

【红外DDE算法】一种应用于高动态范围红外可视化的算法

【红外DDE算法】一种应用于高动态范围红外可视化的算法 - 这个算法背后的动机 - 展示这个算法的流程 - 然后讨论各个可调参数的意义。

sunwindl91181的博客 1682

【深度学习】专题解读 | 知识蒸馏最新进展

引言知识蒸馏旨在通过从较大模型(也称为教师模型)中提取信息来训练较小的模型(也称为学生模型)。这种方法的主要动机是使小模型能够接近大模型的性能,从而减少计算需求并提高效率。在知识蒸馏技术最初被提出时,主要应用于模型压缩的场景。与此同时,我们也看到一些研究开始利用知识蒸馏技术来提高模型的性能。这些工作的主要动机是使用大的模型的知识来提升小模型的精度,从而提高模型在特定任务上的性能。然而,随着大模型的...

fengdu78的博客 1379

kylinos-SP3的软件包降级到V10-SP1中的版本

如果想再次回退到原来版本,将repo改为原来的SP3版本,然后执行yum history 查看ID号,执行yum history rollback ID就可以恢复了。此时我们发现已安装的版本是1.32-2.ky10,而sp1网络源里的版本是1.30-11.ky10,我们将降级安装网络源中的低版本软件包。近期有个客户想要把kylinos-V10-sp3的软件包降级到kylinos-V10-SP1的版本。3、以tar包为例,查看已安装版本及网络源中其他版本。1、查看系统版本,确认是V10-SP3。

太极淘的博客 1103

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

每日论文解读(7.29)——MAPD论文解读:从专有模型到开源模型的多智能体协议蒸馏

论文摘要: 中国科学院大学等机构提出的MAPD框架解决了专有模型(如GPT、Claude)向开源模型(如Qwen)蒸馏Agentic Search能力时的核心挑战。传统方法因专有模型tokenizer不透明和语言风格差异导致性能下降,而MAPD创新性地引入结构化JSON协议作为中间表示,通过多智能体系统(MAS)离线生成标准化推理轨迹。训练阶段结合在线策略自蒸馏(OPSD)和GRPO强化学习,在HotpotQA等基准上达成SOTA(相对提升+42.8%),同时避免了风格漂移和幻觉问题。开源代码和协议数据集为

m0_74922316的博客 666

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Vision as LoRA论文解读

我们提出了“视觉即低秩适应”(Vision as LoRA,VoRA),这是一种将大语言模型(LLM)转变为多模态大语言模型(MLLM)的全新范式。与普遍采用的依赖外部视觉模块进行视觉编码的MLLM架构不同,VoRA通过将特定于视觉的低秩适应(LoRA)层直接集成到LLM中,实现了视觉能力的内化。这种设计使得在推理过程中,新增的参数能够无缝地合并到LLM中,消除了结构复杂性,并将计算开销降至最低。此外,VoRA继承了LLM处理灵活上下文的能力,可以处理任意分辨率的输入。

qq_61786525的博客 1063

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

频率解耦跨模态蒸馏:FreqKD(密歇根大学)FFT拆分高低频+非对称监督,RGB→IR检测+2.4 mAP

频率解耦蒸馏框架:首次发现 RGB-IR 模态差异在高频段是低频段的 2.4 倍,用 2D-FFT 径向掩膜分离两个频段,非对称监督——低频严格 MSE,高频松弛 log-MSE参数零开销:频率分解模块无任何可学习参数,截止频率 rc=0.50 直接从频谱发散分析读出,不需要调参LoRA 两阶段训练:Stage 1 冻结骨干仅训 LoRA 适配热红外域,Stage 2 合并适配器端到端微调检测头——高效且稳定全面 SOTA+强泛化。

2201_75517551的博客 826

SAM轻量级改进Mobile-SAM论文解读FASTER SEGMENT ANYTHING: TOWARDS LIGHTWEIGHT SAMFOR MOBILE APPLICATIONS

SAM在可用的训练资源有限的情况下性能不能令人满意,这主要是由图像编码器和掩膜解码器的耦合优化引起的,为此MobileSAM提出了解耦蒸馏。具体来说,是将重型图像编码器的知识提取为轻型图像编码器来使SAM适合移动设备,该轻型编码器可与原SAM中的掩码解码器自动兼容。由于我们的MobileSAM保留了原始SAM的所有管道,只是替换了图像编码器,因此它可以即插即用地为现有的基于SAM的项目从重量级SAM转变为轻量级SAM。

sunshineine的博客 3417

【论文解读系列】轻量级MobileSAM

给定编码器处理的图像嵌入,如他们的公开演示中所示,SAM可以在资源受限的设备中工作,因为掩码解码器是轻量级的。然而,原始SAM中的默认图像编码器是基于ViT-H的,具有超过600M的参数,这是非常重量级的,并使整个SAM管道与移动设备不兼容。因此,获得移动友好SAM的关键在于用轻量级的图像编码器取代重量级的图像编码器,这也自动保持了原始SAM的所有功能和特性。具体地说,将原始SAM中的图像编码器ViT-H的知识提取到一个轻量级的图像编码器中,该编码器可以自动与原始SAM中的掩码解码器兼容。

分享学习期间的笔记心得 1428
上一篇: Adlik 支持基于云燧i20的 AI推理服务部署,共建AI生态链
下一篇: LLVM编译器后端比较功能的添加
Linux基金会AI&Data基金会
博客等级 码龄6年 100粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

Linux基金会AI&Data基金会

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

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

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

打赏作者

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

抵扣说明:

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

余额充值