当前位置: 首页 > news >正文

轻量化模型-知识蒸馏1

硬标签、软标签和温度参数,其实就像老师给「水果分类」的三种不同判断方式 —— 硬标签是 “非黑即白定死类”,软标签是 “细致说清各概率”,温度参数则是 “调节概率的松紧度”。

1. 硬标签:简单粗暴的 “唯一答案”

硬标签就像老师拿到一个苹果后,只说一句:“这就是苹果,不是其他任何水果”——只给最终类别,完全忽略 “相似性”
比如我们要分 3 类水果:「苹果」「梨」「橙子」,硬标签会用 “独热编码”(像 “只有一个 1,其他都是 0” 的密码)来表示:

  • 如果样本是苹果,硬标签就是 [1, 0, 0](1 代表 “是”,0 代表 “不是”);
  • 如果样本是梨,硬标签就是 [0, 1, 0]
  • 如果样本是橙子,硬标签就是 [0, 0, 1]

2. 软标签:带 “相似性” 的 “概率清单”

软标签则像老师拿到苹果后,会细致分析:“这大概率是苹果(80%),但有点像梨(15%),不太像橙子(5%)”——给出每个类别的概率,能体现 “谁和谁更像”
它不是凭空来的:模型(比如教师模型)会先算出每个类别的 “原始分数”(叫 logits,比如苹果得 9 分、梨得 5 分、橙子得 2 分),再通过一个叫 “softmax (T)” 的公式,把分数转换成 “加起来等于 100% 的概率”,这就是软标签。
比如刚才的苹果,软标签可能是 [0.8, 0.15, 0.05](80% 苹果、15% 梨、5% 橙子)。

3. 温度参数 T:调节概率的 “松紧旋钮”

温度参数 T,就是控制软标签 “概率分布平滑程度” 的旋钮 ——T 越小,概率越 “集中”(像硬标签);T 越大,概率越 “分散”(相似性越明显)

还是用刚才的苹果(原始分数:苹果 9 分、梨 5 分、橙子 2 分),看 T 不同时软标签的变化:

温度参数 T软标签(概率分布)直观理解(老师的判断)
T=0.5(小 T)[0.98, 0.02, 0.00]“几乎 100% 是苹果,一点都不像梨和橙子”—— 概率高度集中,接近硬标签
T=1(中等 T)[0.80, 0.15, 0.05]“80% 是苹果,15% 像梨,5% 像橙子”—— 正常体现相似性
T=10(大 T)[0.45, 0.35, 0.20]“45% 像苹果,35% 像梨,20% 像橙子”—— 概率分散,更突出 “苹果和梨像” 的关联,甚至有点分不清

简单说:

  • T 越小,就像老师 “越固执”,只盯着最像的类别,其他类的概率几乎被忽略;
  • T 越大,就像老师 “越宽容”,会更细致地考虑 “和其他类的相似性”,把概率分给更多类别。

温度参数 T 的核心作用,是调节软标签(概率分布)的 “平滑程度”—— 简单说,它像一个 “松紧旋钮”:T 越小,概率越 “集中”(只盯着最可能的类别);T 越大,概率越 “分散”(更关注类别间的相似性)

它不改变 “哪个类别最可能” 的结论,但会改变 “各个类别概率的差距”,最终影响模型能学到的信息(比如是否能捕捉到 “猫和老虎相似” 这类关联)。

比如在 “小模型学大模型(知识蒸馏)” 中:如果想让小模型学到 “类别相似性”(比如区分 “贵宾犬” 和 “比熊犬” 的细微关联),就会调大 T;如果只需要小模型快速明确分类(比如 “狗” 和 “猫” 的粗分类),就会调小 T。

4.损失函数

损失函数本质是模型的 “错题评分标准”—— 它专门用来衡量 “模型的预测结果” 和 “真实情况” 之间的差距(这个差距叫 “损失值”)。就像老师批作业:正确答案是 “真实情况”,学生答案是 “模型预测”,损失函数就是 “扣分规则”,差距越大,扣的分(损失值)越多。

它的核心作用是给模型 “指方向”:模型会根据损失值的大小,调整自己的参数(比如 “怎么判断一张图是猫”),最终让损失值越来越小 —— 也就是预测得越来越准。

核心总结:损失函数的 3 个作用

  1. “打分”:量化模型预测和真实情况的差距,损失值越小 = 预测越准。
  2. “指路”:模型通过减少损失值来调整参数(比如从 “猫 10%” 调到 “猫 90%”),是模型 “学习” 的核心依据。
  3. “适配任务”:回归任务(预测数值)用 MSE,分类任务(预测类别)用交叉熵 —— 不同任务用不同的 “评分规则”,才能评得合理。

5.“KL 散度” 的基础

它本质是计算两个 “概率分布” 的差异。比如教师对一张猫图的预测分布是 [0.9, 0.08, 0.02](猫、狗、鸟的概率),学生一开始的预测是 [0.3, 0.5, 0.2],KL 散度就会算出一个很大的 “差异值”;随着学生学习,预测变成 [0.88, 0.1, 0.02],KL 散度就变小了 —— 说明学生越来越像教师。

简单说:KL 散度是 “学生抄作业的评分标准”,分数越低(差异越小),抄得越像

第二步:“扰动” 是用来解决什么问题的?

普通 KL 散度有个缺点:学生容易 “死记硬背” 教师的固定答案,遇到一点变化就慌了
比如教师只给 “清晰的猫图” 输出固定分布 [0.9, 0.08, 0.02],学生学会了匹配这个分布,但遇到 “稍微模糊的猫图”“光线暗的猫图”,就不会判断了 —— 因为教师没教过 “遇到变化该怎么调整答案”。

这时候 “扰动” 就派上用场了:给教师的 “作业” 加一点 “小噪音”,让教师的答案稍微变一变,迫使学生不仅学 “固定答案”,还学 “应对变化的能力”

一句话:它是 “加了小噪音的抄作业评分标准”
在知识蒸馏中,通过给教师模型的输入 / 输出加微小扰动,让教师的 “知识” 变得更灵活;再用 KL 散度衡量学生与 “带扰动的教师知识” 的差异,迫使学生不仅学教师的 “核心答案”,还学教师 “应对微小变化的鲁棒性”,最终让学生模型在实际使用中(遇到不完美数据时)效果更好。

6.特征蒸馏损失和交叉熵损失

  • 交叉熵损失(Cross-Entropy Loss):最常用的 “分类任务损失”,核心是让模型的 “预测结果” 贴近 “真实答案”(比如预测 “猫” 的概率要贴近标签里的 “猫 = 1,其他 = 0”)。
  • 特征蒸馏损失(Feature Distillation Loss):知识蒸馏专属的 “特征模仿损失”,核心是让学生模型的 “中间特征” 贴近教师模型的 “中间特征”(比如学生模型卷积层输出的特征图,要和教师的长得像)。
  • 交叉熵损失:保证学生模型 “分类结果准”(不跑偏,至少能正确识别类别);
  • 特征蒸馏损失:让学生模型 “学到教师的深层特征”(不仅能分类,还能像教师一样理解图片的关键细节,提升泛化能力,比如抗噪声、识别罕见样本)。

比如:最终的蒸馏总损失 = α×(蒸馏交叉熵损失) + β×(特征蒸馏损失)(α、β 是权重,平衡两者的重要性)。

http://www.dtcms.com/a/359183.html

相关文章:

  • Wheat Gene ID Convert Tool 小麦中国春不同参考基因组GeneID转换在线工具
  • 2025年外贸服装跟单管理软件TOP3推荐榜单
  • 手动安装的node到nvm吧版本管理的过程。
  • 基于Docker部署的Teable应用
  • [特殊字符]️ STL 容器快速参考手册
  • 海盗王64位dx9客户端修改篇之三
  • 【有序集合 有序映射 懒删除堆】 3510. 移除最小数对使数组有序 II|2608
  • 9. 函数和匿名函数(一)
  • enumerate 和for in搭配使用
  • 接雨水,leetCode热题100,C++实现
  • 【随笔】【Debian】【ArchLinux】基于Debian和ArchLinux的ISO镜像和虚拟机VM的系统镜像获取安装
  • C++的迭代器和指针的区别
  • 「日拱一码」066 深度学习——Transformer
  • Flutter MVVM+provider的基本示例
  • Qt中的锁和条件变量和信号量
  • Science:机器学习模型进行遗传变异外显率预测
  • 线段树相关算法题(5)
  • 【大语言模型 30】指令微调数据工程:高质量数据集构建
  • audioLDM模型代码阅读(二)——HiFi-GAN模型代码分析
  • 【光照】[光照模型]发展里程碑时间线
  • C++ 高并发内存池项目——无锁化设计、TLS 线程隔离与内存碎片优化
  • fork详解(附经典计算题)
  • 【系列07】端侧AI:构建与部署高效的本地化AI模型 第6章:知识蒸馏(Knowledge Distillation
  • mit6.824 2024spring Lab3A Raft
  • 简说DDPM
  • C语言---零碎语法知识补充(队列、函数指针、左移右移、任务标识符)
  • 机器人控制器开发(底层模块)——rk3588s 的 CAN 配置
  • 码农特供版《消费者权益保护法》逆向工程指北——附源码级注释与异常处理方案
  • 人工智能训练师复习题目实操题2.2.1 - 2.2.5
  • 手表--带屏幕音响-时间制切换12/24小时