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

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

目录

一 核心概念与背景

二 输出层知识蒸馏

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

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

相关文章:

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

目录 一 核心概念与背景 二 输出层知识蒸馏 1 教师模型训练 2 软标签生成(Soft Targets) 3 学生模型训练 三 扩展 1 有效性分析 2 关键影响因素 3 变体 一 核心概念与背景 知识蒸馏(Knowledge Distillation, KD)是一种模…...

应急响应(linux 篇,以centos 7为例)

一、基础命令 1.查看已经登录的用户w 2.查看所有用户最近一次登录:lastlog 3.查看历史上登录的用户还有登录失败的用户 历史上所有登录成功的记录 last /var/log/wtmp 历史上所有登录失败的记录 Lastb /var/log/btmp 4.SSH登录日志 查看所有日志:…...

EasyRTC:智能硬件适配,实现多端音视频互动新突破

一、智能硬件全面支持,轻松跨越平台障碍 EasyRTC 采用前沿的智能硬件适配技术,无缝对接 Windows、macOS、Linux、Android、iOS 等主流操作系统,并全面拥抱 WebRTC 标准。这一特性确保了“一次开发,多端运行”的便捷性&#xff0c…...

堆和栈的区别

堆和栈 不同点: 内存分配方式不同: 栈:栈上的内存是自动分配和释放的,通常用于存储函数调用过程中的局部变量、调用参数和使用的寄存器状态等信息。堆:堆上的内存是动态分配的,程序在运行时可以根据需要分…...

【信息系统项目管理师】专业英语重点词汇大汇总

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 一、信息和信息系统重要词汇汇总1.Computer(计算机)重要词汇2.Information system(信息系统)重要词汇3.Software Engineering(软件工程)重要词汇4.Network(网络)相关重要词汇5.信息安全重要词汇6.Electronic Co…...

CV -- YOLOv8 图像分割(GPU环境)

目录 参考视频: 标注 JSON转为TXT 训练 验证 参考视频: 使用 Yolov8 自定义数据集进行图像分割_哔哩哔哩_bilibili 标注 数据集: 我使用的是一些苹果数据集,可以在我的csdn资源中下载: https://download.csdn.net/do…...

Cherry-Studio下载安装教程,AI面向开发者的工具或平台(付安装包)

文章目录 一、Cherry Studio是什么?二、功能特点 一、Cherry Studio是什么? Cherry Studio 是一款开源跨平台的多模型服务桌面客户端,集成超 300 个大语言模型,内置 300 多个预配置 AI 助手,支持多格式文件处理、全局…...

【Javascript Day19】BOM

目录 BOM对象的方法 定时器方法 短信验证码案例 计时器元素动画 同步代码和异步代码 location对象 跳转查询页面参数 跳转多查询参数 BOM对象的方法 // window.alert("提示");// window 中提供的方法和属性,可以在省略window对象的情况下直接调用…...

git 操作 已经 commit 但是没有 push 怎么办

前言: 在操作commit后发现提交错了分支,直接切换分支是不行的,只能先取消commit的代码才能切换分支,因此记录一下git的操作 如果你已经执行了 git commit 但还没有进行 git push,可以通过以下几种方式撤回或修改提交…...

在 macOS 的 ARM 架构上按住 Command (⌘) + Shift + .(点)。这将暂时显示隐藏文件和文件夹。

在 macOS 的 ARM 架构(如 M1/M2 系列的 Mac)上,设置 Finder(访达)来显示隐藏文件夹的步骤如下: 使用快捷键临时显示隐藏文件: 在Finder中按住 Command (⌘) Shift .(点&#xff…...

【核心算法篇二十】《DeepSeek符号回归:让AI化身「数学神探」破解数据背后的宇宙公式》

“宇宙最不可理解之处,就是它居然可以被理解。”——爱因斯坦 如果让AI来续写这句话,或许会是:"数据最迷人的地方,在于它总能用数学公式讲出故事。"今天我们要聊的DeepSeek符号回归技术,就是教AI从杂乱数据中自动发现精妙数学规律的「黑魔法」。全程高能预警,建…...

如何在 Visual Studio Code 中使用 DeepSeek R1 和 Cline?

让我们面对现实吧:像 GitHub Copilot 这样的 AI 编码助手非常棒,但它们的订阅费用可能会在你的钱包里烧一个洞。进入 DeepSeek R1 — 一个免费的开源语言模型,在推理和编码任务方面可与 GPT-4 和 Claude 3.5 相媲美。将它与 Cline 配对&#…...

PHP旅游门票预订系统小程序源码

🌍 旅游门票预订系统:一站式畅游新体验,开启您的梦幻旅程 🌟 一款基于ThinkPHPUniapp精心雕琢的旅游门票预订系统,正翘首以待,为您揭开便捷、高效、全面的旅游预订新篇章!它超越了传统预订平台…...

在项目中调用本地Deepseek(接入本地Deepseek)

前言 之前发表的文章已经讲了如何本地部署Deepseek模型,并且如何给Deepseek模型投喂数据、搭建本地知识库,但大部分人不知道怎么应用,让自己的项目接入AI模型。 文末有彩蛋哦!!! 要接入本地部署的deepsee…...

notepad++右键菜单不见了

卸载时没点击完成,又重新安装了一个,最终导致了一些bug,导致右键没有notepad菜单。 解决方式: 新建一个register.reg文件,加入以下代码,然后双击执行即可 代码说明:Open with Notepad 是右…...

如何用ollama快速布署deepseek-r1大模型

deepseek在春节期间因为特朗普的一番发言而在中国已几乎人尽皆知,热度到了连90高寿的老父亲都向我推荐这个中国产的AI大模型,而且它是开源的!我试验了下,用ollama也可以快速度安装布署deepseek-r1大模型。本想写篇文章来介绍下dee…...

python-leetcode 36.二叉树的最大深度

题目: 给定一个二叉树root,返回其最大深度 二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数 方法一:深度优先搜索 知道了左子树和右子树的最大深度l和r,那么该二叉树的最大深度即为:max(l,r)1 而左子树和右子树的最大深…...

MySQL事务的特性和隔离级别

一、事务的特性 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作,即这些操作要么同时成功,要么同时失败 事务的有以下四个特性(acid)&#xf…...

Oracle视图(基本使用)

视图 视图是通过定制的方式显示一个或者多个表的数据。 视图可以视为“虚拟表”或“存储的查询”。 视图的优点: 提供了另外一种级别的表安全性隐藏了数据的复杂性简化了用户的SQL命令隔离基表结构的改变通过重命名列,从另一个角度提供数据。 视图里…...

C++ Primer 类的作用域

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...

从零开始学iOS开发(第三十二篇):SwiftUI 拖拽交互 —— 构建流畅的拖放体验

欢迎来到本系列教程的第三十二篇。在前三十一篇中,你已经学习了从Swift基础到数据可视化的全方位iOS开发技能。现在,你能够构建出功能完善、数据清晰的应用了。但是,如何让用户与应用进行更自然的交互?如何让用户通过拖拽来重新排…...

别再手动数脉冲了!用STM32的TIM1定时器编码器模式搞定EC11旋转编码器(附完整CubeMX配置)

用STM32 TIM1编码器模式实现EC11旋转编码器的高效解码方案 旋转编码器作为人机交互的重要组件,在工业控制、消费电子等领域广泛应用。传统基于GPIO轮询或外部中断的处理方式不仅占用CPU资源,还容易因抖动导致误判。本文将详细介绍如何利用STM32的TIM1定时…...

锐捷交换机NFPP配置避坑指南:汇聚层端口限速调多少才不误伤用户?

锐捷交换机NFPP实战调优:如何平衡安全防护与业务连续性 当园区网的ARP请求如潮水般涌向汇聚层交换机时,NFPP功能就像一位严格的安检员——设置过于宽松会导致CPU资源被恶意流量耗尽,而阈值过于苛刻又会误伤正常业务流量。去年某高校网络中断事…...

5步掌握NewTab Redirect!:从零基础到专业级新标签页自定义

5步掌握NewTab Redirect!:从零基础到专业级新标签页自定义 【免费下载链接】NewTab-Redirect NewTab Redirect! is an extension for Google Chrome which allows the user to replace the page displayed when creating a new tab. 项目地址: https://gitcode.co…...

保姆级教程:用Fast DDS(ROS2同款)在Ubuntu上快速搭建你的第一个DDS通信Demo

从零构建DDS通信系统:Fast DDS实战指南与车载通信深度解析 在智能汽车与分布式系统开发领域,数据分发服务(DDS)正成为新一代通信架构的核心支柱。不同于传统点对点通信模式,DDS以数据为中心的发布/订阅机制&#xff0…...

从CoreMark跑分到实战:手把手教你用蜂鸟E203和Vivado在DDR200T开发板上做性能验证

从CoreMark跑分到实战:手把手教你用蜂鸟E203和Vivado在DDR200T开发板上做性能验证 在嵌入式开发领域,性能验证一直是工程师们关注的焦点。当我们拿到一款新的处理器内核,比如RISC-V架构的蜂鸟E203,如何快速准确地评估其性能表现&a…...

2026年,还想要入局大模型领域的学习和工作,还来得及吗?红利期还在吗?

AI这个圈子有一个很神奇的特点:就是复利性基本为零。 每次我看到类似「2026年,入行YYY方向还来得及吗?」的问题的时候,我都会想到这个特点。 原因其实很简单,我只从科研上举一些例子。比方说从2023年之后入行做生成的…...

双指针算法精解与应用

双指针算法 双指针算法主要分为两种类型:对撞指针和快慢指针。 对撞指针(左右指针) 适用于顺序结构,从两端向中间移动初始化: 左指针从起始位置开始右指针从末尾位置开始 终止条件: 指针相遇&#xff08…...

3分钟搞定VMware macOS虚拟机限制的终极方案

3分钟搞定VMware macOS虚拟机限制的终极方案 【免费下载链接】auto-unlocker Unlocker for VMWare macOS 项目地址: https://gitcode.com/gh_mirrors/au/auto-unlocker 你是否曾经想在VMware中运行macOS虚拟机,却发现系统根本不支持?VMware Playe…...

5分钟快速搭建个人微信机器人:WechatBot终极入门指南

5分钟快速搭建个人微信机器人:WechatBot终极入门指南 【免费下载链接】WechatBot 项目地址: https://gitcode.com/gh_mirrors/wechatb/WechatBot 还在为重复的微信消息回复而烦恼?想要一个24小时在线的智能助手帮你处理日常沟通?Wech…...