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

目录

[一 核心概念与背景](#一 核心概念与背景)

[二 输出层知识蒸馏](#二 输出层知识蒸馏)

[1 教师模型训练](#1 教师模型训练)

[2 软标签生成(Soft Targets)](#2 软标签生成(Soft Targets))

[3 学生模型训练](#3 学生模型训练)

[三 扩展](#三 扩展)

[1 有效性分析](#1 有效性分析)

[2 关键影响因素](#2 关键影响因素)

[3 变体](#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),通过判别器强制学生模仿教师特征分布。

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

相关推荐
玉木子11 分钟前
机器学习(七)决策树-分类
决策树·机器学习·分类
YF云飞28 分钟前
数据仓库进化:Agent驱动数智化新范式
数据仓库·人工智能·ai
悠哉悠哉愿意42 分钟前
【数学建模学习笔记】机器学习分类:KNN分类
学习·机器学习·数学建模
ningmengjing_44 分钟前
理解损失函数:机器学习的指南针与裁判
人工智能·深度学习·机器学习
程序猿炎义1 小时前
【NVIDIA AIQ】自定义函数实践
人工智能·python·学习
小陈phd1 小时前
高级RAG策略学习(四)——上下文窗口增强检索RAG
人工智能·学习·langchain
居然JuRan1 小时前
阿里云多模态大模型岗三面面经
人工智能
THMAIL1 小时前
深度学习从入门到精通 - BERT与预训练模型:NLP领域的核弹级技术详解
人工智能·python·深度学习·自然语言处理·性能优化·bert
nju_spy1 小时前
Kaggle - LLM Science Exam 大模型做科学选择题
人工智能·机器学习·大模型·rag·南京大学·gpu分布计算·wikipedia 维基百科
relis2 小时前
解密llama.cpp中的batch与ubatch:深度学习推理优化的内存艺术
深度学习·batch·llama