【DL】浅谈深度学习中的知识蒸馏 | 输出层知识蒸馏

server/2025/2/21 5:01:46/

目录

一 核心概念与背景

二 输出层知识蒸馏

1 教师模型训练

2 软标签生成(Soft Targets)

3 学生模型训练

三 扩展

1 有效性分析

2 关键影响因素

3 变体



一 核心概念与背景

知识蒸馏(Knowledge Distillation, KD)是一种模型压缩知识迁移技术,由Hinton等人于2015年在《Distilling the Knowledge in a Neural Network》中提出。其核心目标是将复杂模型(教师模型)中的“知识”迁移到更轻量的模型(学生模型)中,使学生模型在保持较小计算代价的同时,逼近甚至超越教师模型的性能

核心思想:教师模型通过输出软标签(Soft Targets,即概率分布)传递隐含知识(如类别间相似性),而非仅依赖硬标签(One-hot编码标签)。学生模型通过模仿教师模型的输出分布,学习更泛化的特征表示。

输出层知识蒸馏

论文题目:Distilling the Knowledge in a Neural Network(2015.3.9)

论文地址:https://arxiv.org/pdf/1503.02531

【摘要】提高几乎任何机器学习算法性能的一个非常简单的方法是在同一数据上训练许多不同的模型,然后对它们的预测进行平均。不幸的是,使用整个模型集合进行预测是很麻烦的,并且可能过于昂贵,无法部署到大量的用户,特别是如果单个模型是大型神经网络。卡鲁阿纳及其合作者的研究表明,将一个集合中的知识压缩为一个更易于部署的单一模型是可能的,我们进一步使用不同的压缩技术来开发这种方法。我们在MNIST上取得了一些令人惊讶的结果,我们表明,通过将模型集合中的知识提取到单个模型中,我们可以显著地改进大量使用的商业系统的声学模型。我们还介绍了一种由一个或多个全模型和许多专家模型组成的新型集成,它们能够学习区分全模型混淆的细粒度类。与混合专家不同,这些专家模型可以快速并行地进行训练。

1 教师模型训练

教师模型对输入样本的预测输出是一个概率分布,而不是单一的类别标签。这种概率分布包含了教师模型对于各个类别的置信度,比硬标签提供了更多关于类间关系的信息

教师模型需在目标任务上充分训练至收敛,通常选择参数量大、性能优越的模型(如ResNet-152、BERT-large)。教师模型的logits输出(未经Softmax的原始分数)或经过温度参数调整的软概率分布

2 软标签生成(Soft Targets)

通过温度参数 T调整Softmax函数,生成更平滑的概率分布:

其中 T > 1时分布更平缓,揭示类别间相似性;T=1时为标准Softmax。

3 学生模型训练

生模型同时学习教师的软标签和真实标签,损失函数为加权和:

loss = αH(teacher(x),student(x)) + (1−α)H(target,student(x))

其中:H(teacher(x),student(x)) 是教师模型与学生模型的交叉熵H(target,student(x)) 是学生模型与真实情况的交叉熵α 是一个超参数,用来平衡两个损失项的权重

蒸馏的过程如下图。

三 扩展

1 有效性分析

 知识传递机制

软标签包含类间关系,而硬标签仅保留正确类别信息。

温度参数 T 控制知识粒度:高 T 强调类间关系,低 T 聚焦主要类别。

 正则化效应

教师模型的软标签为学生提供额外监督信号,缓解小模型过拟合问题。

 优化轨迹引导

教师模型的输出分布为学生模型提供更平滑的优化路径,降低陷入局部最优风险。

2 关键影响因素

 温度参数 T

经验值范围:T∈[3,10],需根据任务调整。过高导致分布过于平缓,过低则接近硬标签。

 教师-学生容量差距

学生模型需具备足够容量学习教师知识,差距过大会限制性能上限。渐进式蒸馏(如先训练中等模型)可缓解此问题。

 数据增强策略

使用与教师模型相同的数据增强方法,确保知识迁移一致性。

3 变体

 中间特征蒸馏

直接对齐教师与学生中间层的特征(如注意力图、特征图)。

 蒸馏(Self-Distillation)

同一模型在不同训练阶段或不同子模块间迁移知识,无需独立教师模型。

 对抗蒸馏

引入生成对抗网络(GAN),通过判别器强制学生模仿教师特征分布。

至此,本文的内容就结束啦。


http://www.ppmy.cn/server/169459.html

相关文章

亚信安全正式接入DeepSeek

亚信安全致力于“数据驱动、AI原生”战略,早在2024年5月,推出了“信立方”安全大模型、安全MaaS平台和一系列安全智能体,为网络安全运营、网络安全检测提供AI技术能力。自2024年12月DeepSeek-V3发布以来,亚信安全人工智能实验室利…

Qt QTabWidget 总结

Qt QTabWidget 总结 1. 基本概念 用途:管理多个标签页,每个页可包含独立内容,用户通过点击标签切换页面。组成: 标签栏(QTabBar):显示标签标题、图标,支持交互(点击、关…

【第15章:量子深度学习与未来趋势—15.1 量子计算基础与量子机器学习的发展背景】

想象一下,你正在用ChatGPT生成一篇小说,突然它卡在"主角穿越虫洞"的情节上——这不是因为想象力枯竭,而是传统计算机的晶体管已经烧到冒烟。当前AI大模型的参数规模每4个月翻一番,但摩尔定律的终结让经典计算机的算力增长首次跟不上AI的进化速度。这时候,量子计…

php 系统命令执行及绕过

文章目录 php的基础概念php的基础语法1. PHP 基本语法结构2. PHP 变量3.输出数据4.数组5.超全局变量6.文件操作 php的命令执行可以执行命令的函数命令执行绕过利用代码中命令(如ls)执行命令替换过滤过滤特定字符串神技:利用base64编码解码的绕…

数据库提权总结

Mysql提权 UDF提权是利用MYSQL的自定义函数功能,将MYSQL账号转化为系统system权限 前提: 1.UDF提权条件 (1)Mysql版本大于5.1版本udf.dll文件必须放置于MYSQL安装目录下的lib\plugin文件夹下。 (2)Mysql…

基于JavaSpringboot+Vue实现前后端分离房屋租赁系统

基于JavaSpringbootVue实现前后端分离房屋租赁系统 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 &a…

游戏引擎学习第105天

仓库:https://gitee.com/mrxiao_com/2d_game_2 查看当前进度 今天的工作重点是继续进行渲染系统的清理。昨天已经完成了一次渲染清理,现在还有一些内容需要继续处理。首先,已经解决了坐标系统的问题,其中世界坐标基本上是正确的&#xff0c…

goland无法debug项目

1、其实个原因是因为正在使用的Delve调试器版本太旧,无法兼容当前的Go语言版本1.2。Delve是Go语言的一个调试工具,用于提供源码级别的调试功能。Go语言每隔一段时间会发布新版本,而相应的调试器Delve也可能会更新以提供新的特性或修复已知问题…