【AI不惑境】模型压缩中知识蒸馏技术原理及其发展现状和展望

知识蒸馏 | 知识蒸馏的算法原理与其他拓展介绍 如有错误,恳请指出。 这篇博客将记录我看视频后对知识蒸馏的笔记,视频链接见参考资料[1],其中包含知识蒸馏的算法原理(训练流程与测试流程),以及知识蒸馏能够正常工作的背后机理与其发展的趋势及展望。 在这篇博客中,主要都是介绍没有涉及具体的代码,我另外还将会记录一下知识蒸馏的测试过程,见另外的一篇博客。 文章目录框架1. 知识蒸馏的算法原理1.1 知识的表示与迁移1.2 训练流程1.3 推理过程1.4 KD与Labe Smoothing的区别2. 知识蒸馏的应用场景3. 知识蒸馏的背后机理4. 知识蒸馏. 阅读详情

大家好,这是专栏《AI不惑境》的第十一篇文章,讲述知识蒸馏相关的内容。

进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考。如果说学习是一个从模仿,到追随,到创造的过程,那么到这个阶段,应该跃过了模仿和追随的阶段,进入了创造的阶段。从这个境界开始,讲述的问题可能不再有答案,更多的是激发大家一起来思考。

作者&编辑 | 言有三

知识蒸馏是非常经典的基于迁移学习的模型压缩技术,在学术界的研究非常活跃,工业界也有许多的应用和较大的潜力,本文给大家梳理知识蒸馏的核心技术,发展现状,未来展望以及学习资源推荐。

1 知识蒸馏基础

1.1 什么是知识蒸馏

一般地,大模型往往是单个复杂网络或者是若干网络的集合,拥有良好的性能和泛化能力,而小模型因为网络规模较小,表达能力有限。利用大模型学习到的知识去指导小模型训练,使得小模型具有与大模型相当的性能,但是参数数量大幅降低,从而可以实现模型压缩与加速,就是知识蒸馏与迁移学习在模型优化中的应用。

Hinton等人最早在文章“Distilling the knowledge in a neural network”[1]中提出了知识蒸馏这个概念,其核心思想是一旦复杂网络模型训练完成,便可以用另一种训练方法从复杂模型中提取出来更小的模型,因此知识蒸馏框架通常包含了一个大模型(被称为teacher模型),和一个小模型(被称为student模型)。

1.2 为什么要进行知识蒸馏

以计算机视觉模型的训练为例,我们经常用在ImageNet上训练的模型作为预训练模型,之所以可以这样做,是因为深度学习模型在网络浅层学习的知识是图像的色彩和边缘等底层信息,某一个数据集学习到的信息也可以应用于其他领域。

那实际上知识蒸馏或者说迁移学习的必要性在哪里?

(1) 数据分布差异。深度学习模型的训练场景和测试场景往往有分布差异,以自动驾驶领域为例,大部分数据集的采集都是基于白天,光照良好的天气条件下,在这样的数据集上训练的模型,当将其用于黑夜,风雪等场景时,很有可能会无法正常工作,从而使得模型的实用性能非常受限。因此,必须考虑模型从源域到目标域的迁移能力。

(2) 受限的数据规模。数据的标注成本是非常高的,导致很多任务只能用少量的标注进行模型的训练。以医学领域为典型代表,数据集的规模并不大,因此在真正专用的模型训练之前往往需要先在通用任务上进行预训练。

(3) 通用与垂直领域。虽然我们可以训练许多通用的模型,但是真实需求是非常垂直或者说个性化的,比如ImageNet存在1000类,但是我们可能只需要用到其中若干类。此时就可以基于1000类ImageNet模型进行知识迁移,而不需要完全从头开始训练。

因此,在工业界对知识蒸馏和迁移学习也有着非常强烈的需求,接下来我们讲解其中的主要算法。

2 知识蒸馏主要算法

知识蒸馏是对模型的能力进行迁移,根据迁移的方法不同可以简单分为基于目标驱动的算法,基于特征匹配的算法两个大的方向,下面我们对其进行介绍。

2.1 知识蒸馏基本框架

Hinton最早在文章“Distilling the knowledge in a neural network”中提出了知识蒸馏的概念,即knowledge distilling,对后续的许多算法都产生了影响,其框架示意图如下:

从上图中可以看出,包括一个teacher model和一个student model,teacher model需要预先训练好,使用的就是标准分类softmax损失,但是它的输出使用带温度参数T的softmax函数进行映射,如下:

当T=1时,就是softmax本身。当T>1,称之为soft softmax,T越大,因为输入zk产生的概率f(zk)差异就会越小。

之所以要这么做,其背后的思想是当训练好一个模型之后,模型为所有的误标签都分配了很小的概率。然而实际上对于不同的错误标签,其被分配的概率仍然可能存在数个量级的悬殊差距。这个差距,在softmax中直接就被忽略了,但这其实是一部分有用的信息。

训练的时候小模型有两个损失,一个是与真实标签的softmax损失,一个是与teacher model的蒸馏损失,定义为KL散度。

当teacher model和student model各自的预测概率为pi,qi时,其蒸馏损失部分梯度传播如下:

可以看出形式非常的简单,梯度为两者预测概率之差,这就是最简单的知识蒸馏框架。

2.2 优化目标驱动的知识蒸馏框架

Hinton等人提出的框架是在模型最后的预测端,让student模型学习到与teacher模型的知识,这可以称之为直接使用优化目标进行驱动的框架,类似的还有ProjectionNet[2]。

PrjojectNet同时训练一个大模型和一个小模型,两者的输入都是样本,其中大模型就是普通的CNN网络,而小模型会对输入首先进行特征投影。每一个投影矩阵P都对应了一个映射,由一个d-bit长的向量表示,其中每一个bit为0或者1,这是一个更加稀疏的表达。特征用这种方法简化后自然就可以使用更加轻量的网络的结构进行训练。

那么怎么完成这个过程呢?文中使用的是locality sensitive hashing(LSH)算法,这是一种聚类任务中常用的降维的算法。

优化目标包含了3部分,分别是大模型的损失,投影损失,以及大模型和小模型的预测损失,全部使用交叉熵,各自定义如下:

基于优化目标驱动的方法其思想是非常直观,就是结果导向型,中间怎么实现的不关心,对它进行改进的一个有趣方向是GAN的运用。

2.3 特征匹配的知识蒸馏框架

结果导向型的知识蒸馏框架的具体细节是难以控制的,会让训练变得不稳定且缓慢。一种更直观的方式是将teacher模型和student模型的特征进行约束,从而保证student模型确实继承了teacher模型的知识,其中一个典型代表就是FitNets[3],FitNets将比较浅而宽的Teacher模型的知识迁移到更窄更深的Student模型上,框架如下:

FitNets背后的思想是,用网络的中间层的特征进行匹配,不仅仅是在输出端。

它的训练包含了两个阶段:

第一阶段就是根据Teacher模型的损失来指导预训练Student模型。记Teacher网络的某一中间层的权值Wt为Whint,意为指导的意思。Student网络的某一中间层的权值Ws为Wguided,即被指导的意思,在训练之初Student网络进行随机初始化。

我们需要学习一个映射函数Wr使得Wguided的维度匹配Whint,得到Ws',并最小化两者网络输出的MSE差异作为损失,如下:

第二个训练阶段,就是对整个网络进行知识蒸馏训练,与上述Hinton等人提出的策略一致。

不过FitNet直接将特征值进行了匹配,先验约束太强,有的框架对激活值进行了归一化[4]。

基于特征空间进行匹配的方法其实是知识蒸馏的主流,类似的方法非常多,包括注意力机制的使用[5],类似于风格迁移算法的特征匹配[6]等。

3 知识蒸馏算法的展望

上一节我们介绍了知识蒸馏的基本方法,当然知识蒸馏还有非常多有意思的研究方向,这里我们介绍其中几个。

3.1 不压缩模型

机器学习模型要解决的问题如下,其中y是预测值,x是输入,L是优化目标,θ1是优化参数。

因为深度学习模型没有解析解,往往无法得到最优解,我们经常会通过添加一些正则项来促使模型达到更好的性能。

Born Again Neural Networks[7]框架思想是通过增加同样的模型架构,并且重新进行优化,以增加一个模型为例,要解决的问题如下:

具体的流程就是:

(1) 训练一个教师模型使其收敛到较好的局部值。

(2) 对与教师模型结构相同的学生模型进行初始化,其优化目标包含两部分,一部分是要匹配教师模型的输出分布,比如采用KL散度,另一部分就是与教师模型训练时同样的目标,即数据集的预测真值。

然后通过下面这样的流程,一步一步往下传,所以被形象地命名为“born again”。

类似的框架还有Net2Net,network morphism等。

3.2 去掉teacher模型

一般知识蒸馏框架都需要包括一个Teacher模型和一个Student模型,而Deep mutual learning[8]则没有Teacher模型,它通过多个小模型进行协同训练,框架示意图如下。

Deep mutual learning在训练的过程中让两个学生网络相互学习,每一个网络都有两个损失。一个是任务本身的损失,另外一个就是KL散度。由于KL散度是非对称的,所以两个网络的散度会不同。

相比单独训练,每一个模型可以取得更高的精度。值得注意的是,就算是两个结构完全一样的模型,也会学习到不同的特征表达。

3.3 与其他框架的结合

在进行知识蒸馏时,我们通常假设teacher模型有更好的性能,而student模型是一个压缩版的模型,这不就是模型压缩吗?与模型剪枝,量化前后的模型对比是一样的。所以知识蒸馏也被用于与相关技术进行结合,apprentice[9]框架是一个代表。

网络结构如上图所示,Teacher模型是一个全精度模型,Apprentice模型是一个低精度模型。

当然模型蒸馏还有一些其他方向,以及对其中每一个方向的深入解读。对模型蒸馏感兴趣的同学,欢迎到有三AI知识星球的网络结构1000变-模型压缩-模型蒸馏板块进行学习,数十期内容定能满足你的求知欲。

扫码即可加入,了解有三AI知识星球详情请阅读以下文章。

【杂谈】有三AI知识星球一周年了!为什么公众号+星球才是完整的?

参考文献

[1] Hinton G, Vinyals O, Dean J. Distilling the knowledge in a neural network[J]. arXiv preprint arXiv:1503.02531, 2015.

[2] Ravi S. ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections[J]. arXiv: Learning, 2017.

[3] Romero A, Ballas N, Kahou S E, et al. Fitnets: Hints for thin deep nets[J]. arXiv preprint arXiv:1412.6550, 2014.

[4] Huang Z, Wang N. Like What You Like: Knowledge Distill via Neuron Selectivity Transfer.[J]. arXiv: Computer Vision and Pattern Recognition, 2017.

[5] Zagoruyko S, Komodakis N. Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer[C]. international conference on learning representations, 2017.

[6] Yim J, Joo D, Bae J, et al. A Gift from Knowledge Distillation: Fast Optimization, Network Minimization and Transfer Learning[C]. computer vision and pattern recognition, 2017: 7130-7138.

[7] Furlanello T, Lipton Z C, Tschannen M, et al. Born Again Neural Networks[C]. international conference on machine learning, 2018: 1602-1611.

[8] Zhang Y, Xiang T, Hospedales T M, et al. Deep Mutual Learning[C]. computer vision and pattern recognition, 2018: 4320-4328.

[9] Mishra A K, Marr D. Apprentice: Using Knowledge Distillation Techniques To Improve Low-Precision Network Accuracy[C]. international conference on learning representations, 2018.

总结

本次我们总结了模型蒸馏的核心技术,并对其重要方向进行了展望,推荐了相关的学习资源,下一期我们将介绍AutoML在模型优化上的进展。

有三AI秋季划-模型优化组

如果你想系统性地学习模型优化相关的理论和实践,并获得持续的指导,欢迎加入有三AI秋季划-模型优化组,系统性地学习数据使用,模型使用和调参,模型性能分析,紧凑模型设计,模型剪枝,模型量化,模型部署,NAS等内容。

模型优化组介绍和往期的一些学习内容总结请参考阅读以下文章:

【通知】如何让你的2020年秋招CV项目经历更加硬核,可深入学习有三秋季划4大领域32个方向

【总结】有三AI秋季划模型优化组3月直播讲了哪些内容,为什么每一个从事深度学习的同学都应该掌握模型优化的内容

转载文章请后台联系

侵权必究

往期精选

什么是知识蒸馏? 研究目录一、知识蒸馏的基本原理二、知识蒸馏在苹果公司LLMs中的应用三、什么是知识蒸馏?四、知识蒸馏的基本原理是什么?五、知识蒸馏如何提高模型性能?六、知识蒸馏与模型压缩的关系是什么?七、知识蒸馏如何减少计算复杂度?八、知识蒸馏如何降低资源需求?九、知识蒸馏如何提高模型的泛化能力?十、知识蒸馏中的教师模型和学生模型是什么?十一、教师模型如何训练?十二、学生模型如何模仿教师模型?十三、知识蒸馏中的数据增强技术有哪些?十四、如何设计知识蒸馏的损失函数?十五、如何优化模型架构以提高知识蒸馏效果?十六、知识蒸馏在自 阅读详情

相关推荐

知识蒸馏介绍及比较

文章目录1 知识蒸馏(knowledge)背景2 知识蒸馏原理2.1 概念2.2 如何蒸馏3 常见的几种BERT蒸馏模型3.1 BERT蒸馏3.2 Distiled BiLSTM3.2 BERT-PKD(2019)——精调阶段的蒸馏3.3 DistilBERT(hugging face2019)——预训练阶段蒸馏3.4 TinyBERT(HW,2019)——两阶段蒸馏1 通用蒸馏2 针对特定任务的蒸馏3.5 MobileBERT(ACL2020) 1 知识蒸馏(knowledge)背景 在训练模型时,我们通

weiyaner的博客 1万+

bert模型蒸馏实战

由于bert模型参数很大,在用到生产环境中推理效率难以满足要求,因此经常需要将模型进行压缩。常用的模型压缩的方法有剪枝、蒸馏和量化等方法。比较容易实现的方法为知识蒸馏,下面便介绍如何将bert模型进行蒸馏。一、知识蒸馏原理模型蒸馏的目的是用一个小模型去学习大模型的知识,让小模型的效果接近大模型的效果,小模型被称为student,大模型被称为teacher。知识蒸馏的实现可以根据teacher和student的网络结构的不同设计不同的蒸馏步骤,基本结构如下所示: 损失函数需要计算两个部分,cross entr

donruo的博客 1767

【iceberg数据一致性】iceberg如何保证高并发数据一致性

那么在高并发的时候,同时操作某张表时是如何运作的呢?其实这里iceberg引用了乐观锁的方法。其实在写入数据的时候是有一个验证的操作的,即在准备写入时会检查原文件和带写入文件的差异,如果存在本次写入数据以外的数据,则代表有其他操作已经更新了原文件,那么本次写入会取消,并重试写入的步骤,知道验证完成,写入完成,如此就保证了数据的一致性,并且也解决了HMS锁的问题。在使用iceberg写数据时,一直弄不清楚为什么iceberg写入快,并且能够保证数据的一致性。今天决定搞清楚这个问题,经过查询和理解,写下来。

你的博客 1045

深度学习方法(十五):知识蒸馏(Distilling the Knowledge in a Neural Network),在线蒸馏

Distilling the Knowledge in a Neural Network 这篇介绍一下Hinton大神在15年做的一个黑科技技术,Hinton在一些报告中称之为Dark Knowledge,技术上一般叫做知识蒸馏(Knowledge Distillation)。核心思想是通过迁移知识,从而通过训练好的大模型得到更加适合推理的小模型。这个概念最早在06年的Paper: Model C...

Bin 的专栏 7万+

MATLAB 论文复现——面向电量-调频-容量市场的数据中心园区算力及电力资源规划

如何在保证数据中心服务质量的前提下,考虑数据中心负荷转移特性,并对其进行合理规划,对降低数据中心规划总成本及提升新型电力系统灵活性均有显著意义。然后,根据不同电力市场的结算规则,研究了数据中心园区参与电量-调频-容量市场的方式和经济收益。在此基础上,以综合成本最小化为目标,优化数据中心园区发电机、储能的建设容量以及服务器的建设数量。最后,以阿里巴巴公开运行数据为例,证明考虑多元电力市场能够大大降低数据中心规划成本,激励数据中心园区投资建设更多灵活性资源,为电网提供有效的调频服务和容量支撑。

sjr1478的博客 669

RagFlow专题三、RagFlow 关键技术(向量数据库、文档分块、Prompt 设计与召回排序优化)

FAISS 是由 Meta(Facebook)开源的高效向量检索库,适用于大规模向量搜索任务。,并了解了如何通过 RagFlow 机制优化信息检索和生成质量。(FAISS、Milvus、ES)用于高效存储和检索语义向量。提高 LLM 生成效果,增强 RagFlow 任务质量。(分块)策略,将文档拆分成更小的片段,提高检索效率。提高检索精准度,避免文本过长导致信息丢失。提升检索结果的相关性,提高生成质量。当多个检索结果被返回时,我们需要一个。在前一篇文章中,我们详细探讨了。在 RagFlow 任务中,

xiaoqi270620903的专栏 3042

迁移学习与知识蒸馏:共同发展

1.背景介绍 迁移学习和知识蒸馏是两种在人工智能领域中广泛应用的技术,它们都涉及到在一个任务上学习的模型被应用于另一个不同的任务。迁移学习主要关注于在已经训练好的模型上进行微调以适应新任务,而知识蒸馏则关注于从一个已经训练好的专家模型中抽取知识并将其转移到另一个模型中。在本文中,我们将详细介绍这两种技术的核心概念、算法原理、实例代码和未来发展趋势。 1.1 迁移学习 迁移学习是一种在不同领域...

AI天才研究院 867

MIPI D-PHY TX 一致性测试实例解析 Part 03

本文之前,已经讨论了MIPI D-PHY TX的1.3.x和1.4.x的测试项,1.5.x的测试项相对较少,主要是用于时钟和数据通道相关的时序测量

一只豌豆象的博客 5195

知识蒸馏算法原理

知识蒸馏算法原理 “蒸馏”的概念大概就是将本身不够纯净的水通过加热变成水蒸气,冷凝之后就成更纯净的水 知识蒸馏同样使用这种原理,将不太纯净的“知识”通过“蒸馏”的方式获得更加有用或者纯净的“知识” 体现在神经网络中如下图所示: 一个大而臃肿,但知识丰富且高效的“教师网络”,通过转换精准将特定领域的知识传授给“学生网络”,让“学生网络”在某个方面做得很好,并且不那么臃肿,类似“模型压缩” 为什么不直接使用教师网络?因为将算法应用在现实生活中很多设备的算力会被限制,因此需要尽可能.

charles_zhang_的博客 1万+

2021-10-29【微生物】丨基于qiime2工具16S/ITS分析全套流程(上)

目录摘要工具与方法使用命令结果展示总结二级目录三级目录 摘要 前两个月项目特别多,最近终于有机会闲下来写点文章,把之前搭建的流程梳理一遍。前同事分析16S/ITS使用的qiime1,我接手后感觉不太适应,希望能够使用新版本来搭建,于是花了几天时间重新搭了这个流程, 工具与方法 使用工具:qiime2 使用版本:qiime2-2021.4 参考文档:https://docs.qiime2.org/2021.4/(最新版本2021.8) 使用命令 在这里插入代码片 结果展示 总结 二级目录 三级目录 ...

1万+

华为OD机试真题 新系统2026-04-08 Python&JS 实现【直捣黄龙】

小王在玩一款叫做直捣黄龙的小游戏,在该游戏中他需要从入口位置进入敌营,绕过哨兵的层层封锁,达到敌军司令部实施斩首行动。 敌军阵营是一个n*n的矩阵,入口在坐标(0,n/2),敌军司令部在坐标(n-1,n/2),每个哨兵警戒以自己为中心的9宫格,一旦被哨兵发现则行动失败。

MISAYAONE的博客 592

【完结】你对深度学习模型的理解是否足够深刻,这12篇文章可以作为一个参考...

文/编辑 | 言有三好的模型结构是深度学习成功的关键因素之一,不仅是非常重要的学术研究方向,在工业界实践中也是模型是否能上线的关键。对各类底层深度学习模型设计和优化技术理解的深度是决定我...

hacker_long的专栏 1153

量化交易之因子分析大全

在机器学习项目中,特征工程是非常重要的。在量化研究中也是如此。本文将量化研究中常用到的特征,也就是因子进行详细收纳,并给出推导公式和实现代码。

夏之微风的博客 2285

模型压缩资料整理

文章目录一、剪枝二、蒸馏三、结构搜索(NAS)四、量化五、高效结构设计’ 参考文章: 模型压缩工作总结 深度学习模型压缩与加速综述 剪枝: 【AI不惑境】模型剪枝技术原理及其发展现状和展望 模型剪枝之pytorch prune 模型加速与压缩 | 剪枝乱炖 蒸馏: 知识蒸馏(Knowledge Distillation) 知识蒸馏是什么?一份入门随笔 Knowledge Distillation(知识蒸馏)Review–20篇paper回顾 7 Papers | CVPR 2020获奖论文;知识蒸馏综述 架

weixin_45325331的博客 284

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

「完结」你对深度学习模型的理解是否足够深刻,这12篇文章了解下

2020-05-28 18:07:49 文/编辑 | 言有三 好的模型结构是深度学习成功的关键因素之一,不仅是非常重要的学术研究方向,在工业界实践中也是模型是否能上线的关键。对各类底层深度学习模型设计和优化技术理解的深度是决定我们能否在深度学习项目中游刃有余的关键,因此我们在修行之路专栏的《不惑境界》中,着重于深入讲解主流的网络结构设计思想,包括对网络深度,宽度的理解,残差网络和分组网络的设计,多尺度与注意力机制的设计,以及深度学习模型压缩之模型剪枝,量化,蒸馏,还有AutoML技术,本次来给.

喜欢打酱油的老鸟 710

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【杂谈】深度学习之模型设计书看完了完全不过瘾?那这些拓展资料你都看了不?...

大家应该还记得有三在今年6月份出版的新书《深度学习之模型设计》吧,这是一本讲述深度学习模型设计核心算法的书籍,同时配套有大量实战案例,书籍介绍链接如下。言有三新书来袭!业界首次深入全面讲...

hacker_long的专栏 858

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【总结】有三AI所有原创模型分析设计优化与部署相关的学习资料汇总(2022年12月)...

好的模型结构是深度学习成功的关键因素之一,不仅是非常重要的学术研究方向,在工业界实践中也是模型是否能上线的关键。对各类底层深度学习模型设计和优化技术理解的深度是决定我们能否在深度学习项目中游刃有余的关键,而模型的部署则是项目的最后一环。为了让大家能够系统性掌握相关内容,为以后做研究以及就业打下基础,我们平台输出了海量与模型有关的内容,包括公众号文章,书籍,以及4门对应的视频课程,本次来汇总一下相关...

hacker_long的专栏 600

【杂谈】新手如何掌握深度学习模型?赠书2本,星球券10张

对深度学习模型的理解贯穿整个项目的研发周期,目前模型的发展也从精度优先到速度优先,从结构优化到平台,系统优化,开始关注安全性,可拓展性等问题,那么如何系统性地掌握这些知识呢?下面汇总我们...

hacker_long的专栏 904

一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理

知识蒸馏就是把一个大的教师模型的知识萃取出来,把他浓缩到一个小的学生模型,可以理解为一个大的教师神经网络把他的知识教给小的学生网络,这里有一个知识的迁移过程,从教师网络迁移到了学生网络身上,教师网络一般是比较臃肿,所以教师网络把知识教给学生网络,学生网络是一个比较小的网络,这样就可以用学生网络去做一些轻量化网络做的事情。

Coding... 8万+

知识蒸馏基本原理

知识蒸馏通过对Teacher模型的压缩得到效果接近的Student模型,由于网络模型复杂度的减小,使得压缩后的Student模型的性能得到较大提升。

null的专栏 4312

知识蒸馏原理

大模型包含的知识(特征)比较冗余,知识蒸馏就是将有用的知识(特征)进行迁移、泛化,最后小模型的预测结果和大模型非常相似。软标签:给出了三个类别的概率,马和驴的概率较高,说明两者相似度高,马和汽车概率差异大,说明两者相似度低。无限大、无监督数据集:将这些数据交给教师网络,教师网络得出结果,然后教师会交学生如何得出相应的结果。通过硬标签对教师网络进行训练,得出软标签,然后用软标签训练学生网络,就可以得到更多的信息。老师网络大,将老师的知识迁移到学生(蒸馏),学生的网络结构小。

原来是个傻子,请坐 !!! 1184

知识蒸馏—原理+代码实战(Distillation CNN 和 Progressive Distillation Diffusion)

知识蒸馏—原理+代码实战(Distillation CNN 和 Progressive Distillation Diffusion)

ZhengrongYue的博客 1万+

大模型知识蒸馏技术全解析:原理、应用及未来趋势一网打尽

知识蒸馏是一种模型压缩技术,通过将大模型(教师模型)的知识迁移到小模型(学生模型),让小模型在保持性能的同时大幅降低计算成本和部署难度。核心原理包括软目标生成(通过高温Softmax暴露教师模型的隐性知识)、目标函数设计(平衡软硬目标)和温度参数动态调节(控制学习难度)。典型案例包括DeepSeek-R1小模型、手机端翻译和边缘设备语音助手,展现了显著的降本增效价值。未来发展方向包括多教师蒸馏、动态策略和垂直领域应用(如医疗、自动驾驶等)。该技术打破了AI能力受限于云端大模型的困境,让资源受限的设备也能实现

m0_74942241的博客 1191

必看!一文读懂知识蒸馏技术

在大规模数据集上训练教师模型直到收敛。知识蒸馏作为一种模型压缩技术,具有诸多显著优势,使其在深度学习领域得到了广泛应用。首先,知识蒸馏能够显著降低模型的复杂度和计算成本。通过将教师模型的知识迁移到学生模型中,学生模型可以在保持较高性能的同时,大幅减少参数量和计算资源的消耗。例如,经过知识蒸馏优化的学生模型,其参数量可以比教师模型减少数倍甚至数十倍,推理速度可以提高数十倍。这使得模型能够在资源受限的设备上高效运行,如移动设备、嵌入式设备等,极大地拓展了深度学习模型的应用场景。

star_nwe的博客 2193

【深度学习】知识蒸馏原理以及实践从0到1

有没有什么方法可以在不扩展硬件的情况下利用这些强大但庞大的模型来训练最先进的模型?目前,有三种方法可以压缩神经网络,同时保持预测性能:权值裁剪、量化、知识蒸馏知识蒸馏的本质:用一个神经网络训练另一个神经网络这篇文章将要解决如下几个问题:1.为什么需要知识蒸馏?2.如何做知识蒸馏背后原理是什么?3.实践案例4.注意事项在深度学习的背景下,为了达到更好的预测效果,高性能的神经网络往往层数纵深,参数密集,难以部署在资源受限的设备上。

weixin_40293999的博客 4365
上一篇: 【通知】如何让你的2020年秋招CV项目经历更加硬核,可深入学习有三秋季划4大领域32个方向...
下一篇: 【AI不惑境】AutoML在深度学习模型设计和优化中有哪些用处?
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值