识蒸馏十大关键概念详解:从教师-学生范式到模型压缩和重生网络

server/2024/9/23 2:02:23/

知识蒸馏(Knowledge Distillation)任务通常会使用以下术语和表述:

  1. Knowledge Distillation (KD): 知识蒸馏的直接称呼,指从一个大型复杂的教师模型(teacher model)中提取知识,并传递给一个小型简单的学生模型(student model)的过程。
  2. Teacher-Student Framework: 教师-学生框架,描述知识蒸馏中的双模型结构,即先用数据训练一个性能强大的教师模型,再用教师模型指导学生模型的训练,使其达到相近的性能水平。
  3. Model Compression: 模型压缩,知识蒸馏的主要动机之一,即通过蒸馏获得参数更少、计算更快的学生模型,便于部署和应用。
  4. Knowledge Transfer: 知识迁移,指教师模型向学生模型传递其学习到的知识表示和决策能力,使学生模型能够继承和吸收教师模型的优点。
  5. Soft Targets: 软目标,指用教师模型的预测概率分布(而非硬标签)作为学生模型训练的监督信号,可以传递更多的知识和信息。
  6. Temperature Scaling: 温度缩放,一种用于软化教师模型预测概率分布的技巧,通过调节温度参数控制分布的平滑度,以便学生模型更好地学习。
  7. Kullback-Leibler (KL) Divergence: KL散度,常用于度量学生模型和教师模型预测分布之间的差异,作为蒸馏过程中的损失函数之一。
  8. Hint Learning: 提示学习,一种蒸馏的变体方法,让教师模型的中间层输出(而非最终预测)指导学生模型的训练,以传递更细粒度的知识。
  9. Born-Again Networks: 重生网络,指用知识蒸馏迭代训练同构网络(即教师和学生有相同的架构),使模型性能不断提升的方法。
  10. Self-Distillation: 自蒸馏,一种特殊形式的知识蒸馏,where the student and teacher models are identical, aiming to improve the model’s own knowledge and performance.

http://www.ppmy.cn/server/30190.html

相关文章

Leetcode—1329. 将矩阵按对角线排序【中等】(unordered_map、priority_queue)

2024每日刷题&#xff08;121&#xff09; Leetcode—1329. 将矩阵按对角线排序 实现代码 class Solution { public:vector<vector<int>> diagonalSort(vector<vector<int>>& mat) {const int m mat.size();const int n mat[0].size();unorder…

【算法】唯一分解定理及最lcm和gcd关系 宝石组合

前言 今天在做一道宝石组合的题目时了解到了这个定理&#xff0c;还是蛮有意思的。 思想 唯一分解定理&#xff1a; 对于任何正整数n&#xff0c;有 n p 1 a 1 p 2 a 2 . . . p k a k n p_1^{a1} \times p_2^{a2} \times ... \times p_k^{ak} np1a1​p2a2​...pkak​ …

Java进阶-JINQ详解与使用

本文详细介绍了JINQ&#xff08;Java Integrated Query&#xff09;&#xff0c;一种强化Java中数据查询能力的库&#xff0c;提供类SQL的查询语法和类型安全的操作。文章首先解释了JINQ的基本功能和应用&#xff0c;随后通过具体示例展示了如何使用JINQ进行数据过滤、投影、连…

selenium 4.x 之验证码处理(python)

验证码处理 一般情况公司如果涉及web自动化测试需要对验证码进行处理的方式一般有一下几种&#xff1a; 关闭验证码功能&#xff08;开发处理&#xff09;设置万能验证码&#xff08;开发处理&#xff09;使用智能识别库进行验证 通过第三方打码平台识别验证码 1. 跳过验证功…

类和对象【四】运算符重载

文章目录 运算符重载的概念运算符重载&#xff08;函数&#xff09;返回值类型&#xff1a;任意类型函数名&#xff1a;operator已有操作符 运算符重载&#xff08;函数&#xff09;的特点和注意点3个比较特殊的运算符重载赋值运算符&#xff08;&#xff09;重载返回值类型和返…

Python面试十问

一、深浅拷贝的区别&#xff1f; 浅拷⻉&#xff1a; 拷⻉的是对象的引⽤&#xff0c;如果原对象改变&#xff0c;相应的拷⻉对象也会发⽣改变。 深拷⻉&#xff1a; 拷⻉对象中的每个元素&#xff0c;拷⻉对象和原有对象不在有关系&#xff0c;两个是独⽴的对象。 浅拷⻉(c…

【redis】redix在Linux下的环境配置和redis的全局命令

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…