English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french
查看: 2|回复: 0

被DeepSeek带火的知识蒸馏详解!

[复制链接]
查看: 2|回复: 0

被DeepSeek带火的知识蒸馏详解!

[复制链接]
查看: 2|回复: 0

227

主题

0

回帖

691

积分

高级会员

积分
691
6fPldgB

227

主题

0

回帖

691

积分

高级会员

积分
691
2025-2-27 15:59:28 | 显示全部楼层 |阅读模式
<div id="container" data-v-1d7a5742="" data-element="root" contentScore="9216">
今天来详细了解DeepSeek中提到的知识蒸馏技术,主要内容来自三巨头之一Geoffrey Hinton的一篇经典工作:https://arxiv.org/pdf/1503.02531。
主要从背景、定义、原理、代码复现等几个方面来介绍:
1、背景介绍

训练与部署的不一致性

在机器学习和深度学习领域,训练模型和部署模型通常存在显著差异。训练阶段,为了追求最佳性能,我们通常会使用复杂的模型架构和大量的计算资源,从海量且高度冗余的数据集中提取有用信息。例如,一些最先进的模型可能包含数十亿甚至上百亿的参数,或者通过多个模型集成来进一步提升性能。然而,这些庞大的模型在实际部署时面临诸多问题:

  • 推断速度慢大模型在处理数据时需要更多的时间来完成计算,这在需要实时响应的场景中是不可接受的。
  • 资源要求高大模型需要大量的内存和显存来存储模型参数和中间计算结果,这使得它们难以部署在资源受限的设备上,如移动设备或嵌入式系统。
因此,在部署阶段,我们对模型的延迟和计算资源有着严格的限制。这就引出了模型压缩的需求——在尽量不损失性能的前提下,减少模型的参数量,使其更适合实际应用环境。
模型压缩与知识蒸馏

模型压缩用于解决训练阶段与部署阶段之间的不一致性,特别是在模型规模与实际应用需求之间的矛盾,在尽量不损失模型性能的前提下,减少模型的参数量和计算复杂度,使其更适合在资源受限的环境中部署。
知识蒸馏(Knowledge Distillation)是其中一种非常有效的模型压缩技术。
2、什么是知识蒸馏?


知识蒸馏是一种模型压缩技术,通过训练一个小而高效的学生模型来模仿一个预训练的大且复杂的教师模型(或一组模型)的行为。这种训练设置通常被称为“教师-学生”模式,其中大型模型作为教师,小型模型作为学生。教师模型的知识通过最小化损失函数传递给学生模型,目标是匹配教师模型预测的类概率分布。
知识蒸馏的核心思想是将一个复杂且性能强大的“教师”模型的知识迁移到一个更小、更轻量的“学生”模型中。通过这种方式,学生模型可以在保持较小参数量的同时,尽可能地继承教师模型的性能。
该方法最早由Bucila等人在2006年提出(https://www.cs.cornell.edu/~caruana/compression.kdd06.pdf),并在2015年由Hinton等人推广,成为知识蒸馏领域的奠基之作。Hinton的工作引入了带温度参数的softmax函数,进一步增强了知识转移的有效性。
在 Geoffrey Hinton 等人的论文《Distilling the Knowledge in a Neural Network》中,作者通过昆虫的幼虫和成虫形态来比喻机器学习中的训练阶段和部署阶段。这种比喻强调了不同阶段对于模型的不同需求:就像昆虫的幼虫形态专注于从环境中吸收能量和养分,而其成虫形态则优化于移动和繁殖;同样地,在机器学习中,训练阶段需要处理大量数据以提取结构信息,而部署阶段则更关注于实时性和计算资源的有效利用。
教师与学生模型

教师模型:指的是那些庞大、复杂且可能计算成本高昂的模型或模型集合(ensemble)。这些模型虽然在训练阶段能够提供优秀的性能,但由于其复杂性,不适合直接用于实际部署。教师模型通常经过充分训练,可以很好地泛化到新数据上。
学生模型:相对较小且计算效率更高的模型,旨在模仿教师模型的表现同时保持低延迟和高效能,便于大规模部署。学生模型通过“知识蒸馏”过程从教师模型那里获得知识,从而能够在资源受限的环境下运行。
知识的理解

关于“知识”的理解存在一个常见的误解,即将其简单等同于模型的权重参数。然而,Hinton 等人提倡一种更为抽象的观点,即知识应被视为从输入向量到输出向量的学习映射关系。这不仅包括了对正确答案的概率预测,还涵盖了对不正确答案之间细微差异的理解。例如,在图像分类任务中,即使某个类别的概率非常小,它与其他错误类别相比仍然可能存在显著差异,这些差异反映了模型如何泛化的关键信息。
蒸馏技术

知识蒸馏是一种技术,它允许我们将教师模型中的知识转移到学生模型中。这不仅仅是复制权重的过程,而是涉及到使用教师模型生成的软目标(soft targets)作为指导,帮助学生模型学习到相似的泛化能力。通过调整 softmax 层的温度参数,可以使这些软目标更加平滑,从而让学生模型能够捕捉到更多有用的信息,并减少过拟合的风险。
3、知识蒸馏的工作原理

Soft Target vs Hard Target

Hard Targets是最常见的训练标签形式,通常指的是每个训练样本对应的一个确切的类别标签。例如,在分类问题中,如果任务是对图像进行数字识别(如MNIST数据集),那么hard target就是一个具体的数字(比如1)。在这种情况下,模型被训练来最大化正确类别的概率,而其他所有类别的概率则应尽可能地小。这通常通过最小化交叉熵损失函数来实现,该函数惩罚了模型对正确标签预测的概率不足,并且不考虑错误标签之间的相对概率。
相比之下,Soft Targets提供了一个更加细致的概率分布,不仅包含了正确的类别,还包括了模型认为可能相关的其他类别的概率。这意味着除了给出最有可能的类别之外,soft targets还提供了关于模型对于哪些类别可能是正确的、以及这些类别之间如何相互关联的信息。这种类型的标签可以通过一个已经训练好的教师模型生成,它为每个输入产生一个概率分布而不是单一的类别标签。

基于soft targets训练模型相较于hard targets训练模型,尤其是在资源受限的情况下有效地转移复杂模型的知识,具有以下几个显著的优势和意义:

  • 传递更丰富的信息:Soft targets不仅包含正确类别的概率,还包括了对其他类别的相对概率估计。这意味着模型可以学习到不同类别之间的相似性和差异性,使得即使是对于错误的类别预测,也能反映出它们之间的细微差别,从而提供比单一正确答案更多的信息。例如,在图像识别任务中,一个特定图像可能与多个类别有一定的相似性,而这些信息在hard target中是丢失的。
  • 减少梯度方差:当使用较高的温度参数T时,softmax输出的概率分布变得更加平滑,这意味着每个样本提供的信息量相对于hard target来说增加了,同时减少了梯度估计中的方差。这对于小数据集上的训练尤其有益,因为它可以防止过拟合并帮助模型更好地泛化到未见过的数据。
  • 提高泛化能力:相比于hard targets仅给出一个确切的类别标签,通过模仿教师模型(通常是大型或集成模型)生成的soft targets,学生模型能够学习到教师模型如何进行泛化的细节。这有助于模型更好地学习数据中的潜在结构和模式,特别是在处理复杂或模糊边界的问题时。对于那些难以明确区分的类别,soft targets能够指导模型认识到哪些错误类别之间更加接近,从而改进其泛化能力。
  • 加速收敛和降低过拟合风险:由于soft targets通常比hard targets拥有更高的熵,它们能提供更多的信息,并且减少梯度估计的方差。这对于小规模数据集特别有用,因为它可以帮助防止模型过度拟合训练数据中的噪声。论文中提到的一个实验显示,使用soft targets的学生模型即使只用3%的数据进行训练,也能够几乎恢复全量数据所能提供的信息,同时不需要早期停止来防止过拟合。这表明soft targets作为一种有效的正则化方法,能够帮助模型更好地泛化。

  • 增强模型的鲁棒性:通过利用soft targets进行训练,模型可以学习到输入数据的内在分布特性,而不仅仅是表面特征。这意味着模型对于输入数据的小变化(如轻微的图像变换)会更加稳健,因为它们已经学会了识别那些对最终分类决策影响较小的变化。
带温度的Softmax

传统softmax函数倾向于产生极端的概率分布,导致非正确类别的概率接近于零,这限制了其对模型训练的帮助。

如图所示,当输入一张马的图片时,对于未调整温度(默认为1)的 Softmax 输出,正标签的概率接近 1,而负标签的概率接近 0。这种尖锐的分布对学生模型不够友好,因为它只提供了关于正确答案的信息,而忽略了错误答案的信息。即驴比汽车更像马,识别为驴的概率应该大于识别为汽车的概率。

带温度的Softmax是一种调整softmax函数输出的方法,通过引入一个额外参数——温度(temperature, T),来控制输出概率分布的平滑度。这个概念在知识蒸馏中尤为重要,因为它能够影响教师模型如何向学生模型传递知识。

<ul data-id="u738a58b-IIPk5KeF"><li data-id="ld70c578-jbIJya8U">当T=1时,该公式退化为标准的softmax。<li data-id="ld70c578-iZvCozIy">当T>1时,输出的概率分布变得更平滑,即不同类别的概率差异减小,这使得即使是不太可能的类别也会分配到一定的概率值。<li data-id="ld70c578-2GISj2td">当T
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

227

主题

0

回帖

691

积分

高级会员

积分
691

QQ|智能设备 | 粤ICP备2024353841号-1

GMT+8, 2025-3-10 18:30 , Processed in 1.609370 second(s), 30 queries .

Powered by 智能设备

©2025

|网站地图