CrabNote螃蟹笔记

一文读懂蒸馏技术、暗知识。大神辛顿Hinton的神作,给中国打开了条路(人话解读论文)

一文读懂蒸馏技术、暗知识。大神辛顿Hinton的神作,给中国打开了条路(人话解读论文)

一文读懂蒸馏技术、暗知识。大神辛顿Hinton的神作,给中国打开了条路(人话解读论文) 一文读懂蒸馏技术、暗知识。大神辛顿Hinton的神作,给中国打开了条路(人话解读论文) Modified November 4, 2025 No access 1503.02531v1.pdf 论文原文节选 :……一个有两层800单元的小网络取得了146个测试错误。但如果这个小网络通过匹配大网络在温度20下产生的软目标来正则化,它只取得了74个测试错误。这表明软目标可以向蒸馏模型传递大量知识…… 通俗解读 : MNIST是一个手写数字识别的数据集,是检验模型的“新手村”。 • 大模型(教师) :错误数67。 • 小模型(自己学) :错误数146。 • 小模型(老师教) :错误数74。 结果非常惊人:学生模型通过学习教师模型的软目标,性能得到了巨大的提升,几乎追上了那个比它大得多的模型。 论文原文节选 :我们尝试从训练集中移除所有数字“3”的样本。……尽管从未在训练中见过“3”,这个蒸馏模型只犯了206个测试错误,其中133个是关于数字“3”的。……如果修正了偏置,模型在测试集上对“3”的正确率达到了98.6%。 通俗解读 : 这是一个“神来之笔”的实验,极好地证明了“暗知识”的力量。 他们故意不让学生模型学习任何关于“3”的知识。但是,教师模型在看到其他数字(比如“8”或“5”)时,它的软目标里会包含“这个有点像3”的信息。 学生模型虽然没见过“3”,但它从老师对其他数字的“评价”中学到了“3”应该是什么样子的。这就好比一个学生没见过真老虎,但老师在教“猫”的时候总说“这东西和老虎很像,但小一点”,在教“狮子”的时候说“这和老虎都是猛兽”,久而久之,这个学生就对“老虎”有了一个概念。 结果就是,这个学生模型在考试时,居然能以很高的准确率认出它从未见过的“3”。 第四页:在真实世界任务上的实验 第四节:在语音识别上的实验 (Experiments on speech recognition) 论文原文节选 :我们使用的架构有8个隐藏层,每层2560个单元……这是一个稍微过时版本的安卓语音搜索声学模型……我们训练了10个独立但结构相同的模型……集成模型将帧准确率从58.9%提升到61.1%。而蒸馏后的单一模型达到了60.8%…… 通 俗解读 : 在“新手村”MNIST上成功后,他们把这个方法用到了一个工业级的、非常复杂的任务上: 安卓手机的语音识别 。这是一个拥有8500万参数的巨大模型。 他们对比了三种情况下的表现(见论文中的Table 1): 1. 基线模型(单个大模型自己学) :准确率 58.9%。 2. 教师模型(10个大模型组成的集成) :准确率 61.1%。性能最好,但成本是10倍。 3. 学生模型(单个大模型,但由老师教) :准确率 60.8%。 结论 :蒸馏后的单个模型,只用了1倍的成本,就几乎获得了10倍成本的集成模型所带来的全部性能提升。这在工业界是极具价值的,因为它意味着可以用更低的服务器成本,为用户提供更准确的服务。 第五、六页:处理超大规模数据集的“专家模型” 第五节:在超大数据集上训练专家集成 (Training ensembles of specialists on very big datasets) 论文原文节选 :JFT是谷歌内部的一个数据集,有1亿张标记图片和15000个类别。……训练一个集成模型需要数年时间,这不是一个选项。 通俗解读 : 前面讨论的集成方法,是训练好几个“全才”模型。但如果数据集和模型都大到离谱(比如谷歌内部的JFT数据集,有1亿张图片,1.5万个分类),训练一个“全才”模型都要半年,训练一个由10个“全才”组成的集成模型就要等好几年,这显然不现实。 于是他们提出了一个新思路: 专家模型(Specialist Models) 。 这个新的“教师团”由以下成员组成: • 1个“全才”模型 :它能识别所有的1.5万个类别。 • 许多个“专家”模型 :每个专家只专注于一小部分特别容易混淆的类别。比如,一个“蘑菇专家”专门用来区分各种蘑菇,一个“汽车专家”专门用来区分不同型号的轿车。 专家的训练与工作方式 通俗解读 : 1. 如何确定专长领域? 先训练那个“全才”模型。然后分析它最容易把哪些类别搞混(比如,总把A车认成B车,把C车认成D车)。就把这些容易混淆的类别(A, B, C, D车)分给一个“汽车专家”去深入学习。 2. 专家如何学习? “专家”的训练数据是有偏的:一半是它负责的专业领域(如各种汽车),另一半是从其他所有类别中随机抽取的样本。这样它既能深化专业,又不会忘记其他东西长什么样。为了加速训练,专家的初始参数直接拷贝自“全才”模型,在此基础上进行微调。 3. 如何协同工作? 当一张新图片进来时: ◦ 步骤1 :先让“全才”模型看一眼,给出它认为最可能的一个或几个类别。 ◦ 步骤2 :根据“全才”的初步判断,去“激活”相关的“专家”。比如,“全才”觉得这像一辆丰田卡罗拉,那么就把“汽车专家”叫过来。 ◦ 步骤3 :结合“全才”的意见和被激活的“专家”的意见,给出最终的、更准确的判断。 这种方法的巨大优势在于,所有“专家”都可以 并行训练 ,极大地缩短了训练时间。 第七页:专家模型的结果与软目标的另一作用 5.5 结果 (Results) 论文原文节选 :通过61个专家模型,我们在整体测试准确率上获得了4.4%的相对提升。……我们受到一个总体趋势的鼓舞,即当我们有更多的专家覆盖一个特定类别时,准确率的提升会更大…… 通俗解读 : 实验结果表明(见论文中的Table 3和Table 4),引入了61个专家模型后,整个系统的准确率确实提高了。而且,一个类别被越多的专家所“覆盖”(比如一张“哈士奇”图片,可能同时被“狗专家”、“雪橇犬专家”、“动物专家”覆盖),分类的准确率提升就越明显。这证明了“专家会诊”策略是有效的。 第六节:软目标作为正则化器 (Soft Targets as Regularizers) 论文原文节选 :我们展示了这是一个非常显著的效果,通过使用远少于常规的数据来拟合拥有85M参数的基线语音模型。Table 5显示,只用3%的数据和硬目标来训练基线模型,会导致严重的过拟合……而同样模型用软目标训练,能够恢复完整训练集中的几乎所有信息。 通俗解读 : 这是本篇论文的又一个惊人发现,揭示了“软目标”的深层价值。 • 正则化 :是机器学习中防止模型“死记硬背”(即 过拟合 )的一种技术。 • 实验设置 :他们再次使用了那个巨大的语音模型,但这次只给它 3% 的训练数据。 结果(见论文中的Table 5): • 用3%的数据正常学(硬目标) :模型学得一塌糊涂,在测试集上表现很差(准确率44.5%),因为它把这3%的数据“背”下来了,完全没有泛化能力。 • 用3%的数据跟着老师学(软目标) :模型的表现非常好(准确率57.0%),几乎和用100%数据训练出的基线模型(58.9%)一样好! 结论 :软目标是一种极其高效的知识载体。教师模型在100%数据上学到的“智慧”,通过软目标这种形式,仅仅用3%的数据量就成功地传授给了学生模型。这说明软目标本身就是一种强大的 防止过拟合的工具(正则化器) ,它传递的不是死板的答案,而是数据内在的规律和结构。 第八、九页:讨论与总结 第八节:讨论 (Discussion) 通俗解读 : 本页对全文进行了总结: 1. 蒸馏是有效的 :论文证明了“知识蒸馏”能成功地将一个大型、笨重的集成模型或正则化良好的大模型的知识,迁移到一个更小、更便于部署的模型中。 2. 暗知识的力量 :即使训练数据里缺少某个类别(比如数字“3”),模型也能通过“暗知识”学会识别它,展示了强大的泛化能力。 3. 工业价值 :在安卓语音识别这种大规模应用上,蒸馏技术能以单个模型的成本,实现接近集成模型的性能,价值巨大。 4. 专家模型系统 :对于更大规模的系统,可以通过训练大量可以并行化的“专家”模型来提升一个已经很强大的“全才”模型的性能。 5. 未来工作 :作者提到,他们还没来得及验证是否能将所有这些“专家”的知识再“蒸馏”回那一个“全才”模型中,让它独自一人就具备所有专家的智慧。这是一个未来可以探索的方向。 第九页:致谢与参考文献 这一页是标准的学术论文格式,感谢了提供帮助的同事,并列出了引用的相关研究。 全篇总结 这篇论文的核心贡献可以归纳为: 1. 提出并系统化了“知识蒸馏”框架 :定义了教师模型、学生模型、软目标、硬目标和温度等核心概念,为模型压缩和知识迁移提供了一套行之有效的范式。 2. 揭示了“暗知识”的重要性 :指出模型输出的概率分布中,那些非正确答案的微小概率值蕴含着丰富的类别间相似性信息,是知识传递的关键。 3. 验证了其在大小任务上的有效性 :从简单的手写数字识别到复杂的工业级语音识别,都证明了蒸馏的巨大价值。 4. 展示了软目标的正则化能力 :证明了软目标是极其高效的知识载体,可以用极少量的数据传递大量信息,有效防止过拟合。 5. 提出了“专家模型”的扩展思路 :为处理超大规模问题提供了一种可并行化的、高效的集成学习新策略。 “知识蒸馏”至今仍然是模型压缩、提升小模型性能、知识迁移等领域应用最广泛、最基础的技术之一,深刻地影响了整个深度学习领域的发展。 如果觉得本文还不错,记得关注我,一起轻松享受经典论文 如果本文还不错,请点个心 ,感谢你的支持 关于"论文很好懂" (建议你仔细读读) 很多论文可以改变世界,也可以很有启发,甚至只是挺好玩的, 我会把晦涩难懂的论文,用简单的举例帮你秒懂 如果你有想搞懂的论文, 请把免费下载链接写到评论中 ,我会在1 7天内为你解读。 人手有限,我会按以下优先级原则处理: 1.粉丝优先。关注我的用户,留言会被优先处理 2.点赞优先。留言点赞数量大的论文,会被优先处理 3.时间顺序,出现更早的留言,会被优先处理 码字不易,传播时请注明出处 如果觉得本文还不错,记得关注我,一起轻松享受经典论文 No access 1503.02531v1.pdf No access 1503.02531v1.pdf 论文原文节选 :……一个有两层800单元的小网络取得了146个测试错误。但如果这个小网络通过匹配大网络在温度20下产生的软目标来正则化,它只取得了74个测试错误。这表明软目标可以向蒸馏模型传递大量知识…… 通俗解读 : MNIST是一个手写数字识别的数据集,是检验模型的“新手村”。 • 大模型(教师) :错误数67。 • 小模型(自己学) :错误数146。 • 小模型(老师教) :错误数74。 结果非常惊人:学生模型通过学习教师模型的软目标,性能得到了巨大的提升,几乎追上了那个比它大得多的模型。 论文原文节选 :我们尝试从训练集中移除所有数字“3”的样本。……尽管从未在训练中见过“3”,这个蒸馏模型只犯了206个测试错误,其中133个是关于数字“3”的。……如果修正了偏置,模型在测试集上对“3”的正确率达到了98.6%。 通俗解读 : 这是一个“神来之笔”的实验,极好地证明了“暗知识”的力量。 他们故意不让学生模型学习任何关于“3”的知识。但是,教师模型在看到其他数字(比如“8”或“5”)时,它的软目标里会包含“这个有点像3”的信息。 学生模型虽然没见过“3”,但它从老师对其他数字的“评价”中学到了“3”应该是什么样子的。这就好比一个学生没见过真老虎,但老师在教“猫”的时候总说“这东西和老虎很像,但小一点”,在教“狮子”的时候说“这和老虎都是猛兽”,久而久之,这个学生就对“老虎”有了一个概念。 结果就是,这个学生模型在考试时,居然能以很高的准确率认出它从未见过的“3”。 第四页:在真实世界任务上的实验 第四节:在语音识别上的实验 (Experiments on speech recognition) 论文原文节选 :我们使用的架构有8个隐藏层,每层2560个单元……这是一个稍微过时版本的安卓语音搜索声学模型……我们训练了10个独立但结构相同的模型……集成模型将帧准确率从58.9%提升到61.1%。而蒸馏后的单一模型达到了60.8%…… 通 俗解读 : 在“新手村”MNIST上成功后,他们把这个方法用到了一个工业级的、非常复杂的任务上: 安卓手机的语音识别 。这是一个拥有8500万参数的巨大模型。 他们对比了三种情况下的表现(见论文中的Table 1): 1. 基线模型(单个大模型自己学) :准确率 58.9%。 2. 教师模型(10个大模型组成的集成) :准确率 61.1%。性能最好,但成本是10倍。 3. 学生模型(单个大模型,但由老师教) :准确率 60.8%。 结论 :蒸馏后的单个模型,只用了1倍的成本,就几乎获得了10倍成本的集成模型所带来的全部性能提升。这在工业界是极具价值的,因为它意味着可以用更低的服务器成本,为用户提供更准确的服务。 第五、六页:处理超大规模数据集的“专家模型” 第五节:在超大数据集上训练专家集成 (Training ensembles of specialists on very big datasets) 论文原文节选 :JFT是谷歌内部的一个数据集,有1亿张标记图片和15000个类别。……训练一个集成模型需要数年时间,这不是一个选项。 通俗解读 : 前面讨论的集成方法,是训练好几个“全才”模型。但如果数据集和模型都大到离谱(比如谷歌内部的JFT数据集,有1亿张图片,1.5万个分类),训练一个“全才”模型都要半年,训练一个由10个“全才”组成的集成模型就要等好几年,这显然不现实。 于是他们提出了一个新思路: 专家模型(Specialist Models) 。 这个新的“教师团”由以下成员组成: • 1个“全才”模型 :它能识别所有的1.5万个类别。 • 许多个“专家”模型 :每个专家只专注于一小部分特别容易混淆的类别。比如,一个“蘑菇专家”专门用来区分各种蘑菇,一个“汽车专家”专门用来区分不同型号的轿车。 专家的训练与工作方式 通俗解读 : 1. 如何确定专长领域? 先训练那个“全才”模型。然后分析它最容易把哪些类别搞混(比如,总把A车认成B车,把C车认成D车)。就把这些容易混淆的类别(A, B, C, D车)分给一个“汽车专家”去深入学习。 2. 专家如何学习? “专家”的训练数据是有偏的:一半是它负责的专业领域(如各种汽车),另一半是从其他所有类别中随机抽取的样本。这样它既能深化专业,又不会忘记其他东西长什么样。为了加速训练,专家的初始参数直接拷贝自“全才”模型,在此基础上进行微调。 3. 如何协同工作? 当一张新图片进来时: ◦ 步骤1 :先让“全才”模型看一眼,给出它认为最可能的一个或几个类别。 ◦ 步骤2 :根据“全才”的初步判断,去“激活”相关的“专家”。比如,“全才”觉得这像一辆丰田卡罗拉,那么就把“汽车专家”叫过来。 ◦ 步骤3 :结合“全才”的意见和被激活的“专家”的意见,给出最终的、更准确的判断。 ◦ 步骤1 :先让“全才”模型看一眼,给出它认为最可能的一个或几个类别。 ◦ 步骤2 :根据“全才”的初步判断,去“激活”相关的“专家”。比如,“全才”觉得这像一辆丰田卡罗拉,那么就把“汽车专家”叫过来。 ◦ 步骤3 :结合“全才”的意见和被激活的“专家”的意见,给出最终的、更准确的判断。 这种方法的巨大优势在于,所有“专家”都可以 并行训练 ,极大地缩短了训练时间。 第七页:专家模型的结果与软目标的另一作用 5.5 结果 (Results) 论文原文节选 :通过61个专家模型,我们在整体测试准确率上获得了4.4%的相对提升。……我们受到一个总体趋势的鼓舞,即当我们有更多的专家覆盖一个特定类别时,准确率的提升会更大…… 通俗解读 : 实验结果表明(见论文中的Table 3和Table 4),引入了61个专家模型后,整个系统的准确率确实提高了。而且,一个类别被越多的专家所“覆盖”(比如一张“哈士奇”图片,可能同时被“狗专家”、“雪橇犬专家”、“动物专家”覆盖),分类的准确率提升就越明显。这证明了“专家会诊”策略是有效的。 第六节:软目标作为正则化器 (Soft Targets as Regularizers) 论文原文节选 :我们展示了这是一个非常显著的效果,通过使用远少于常规的数据来拟合拥有85M参数的基线语音模型。Table 5显示,只用3%的数据和硬目标来训练基线模型,会导致严重的过拟合……而同样模型用软目标训练,能够恢复完整训练集中的几乎所有信息。 通俗解读 : 这是本篇论文的又一个惊人发现,揭示了“软目标”的深层价值。 • 正则化 :是机器学习中防止模型“死记硬背”(即 过拟合 )的一种技术。 • 实验设置 :他们再次使用了那个巨大的语音模型,但这次只给它 3% 的训练数据。 结果(见论文中的Table 5): • 用3%的数据正常学(硬目标) :模型学得一塌糊涂,在测试集上表现很差(准确率44.5%),因为它把这3%的数据“背”下来了,完全没有泛化能力。 • 用3%的数据跟着老师学(软目标) :模型的表现非常好(准确率57.0%),几乎和用100%数据训练出的基线模型(58.9%)一样好! 结论 :软目标是一种极其高效的知识载体。教师模型在100%数据上学到的“智慧”,通过软目标这种形式,仅仅用3%的数据量就成功地传授给了学生模型。这说明软目标本身就是一种强大的 防止过拟合的工具(正则化器) ,它传递的不是死板的答案,而是数据内在的规律和结构。 第八、九页:讨论与总结 第八节:讨论 (Discussion) 通俗解读 : 本页对全文进行了总结: 1. 蒸馏是有效的 :论文证明了“知识蒸馏”能成功地将一个大型、笨重的集成模型或正则化良好的大模型的知识,迁移到一个更小、更便于部署的模型中。 2. 暗知识的力量 :即使训练数据里缺少某个类别(比如数字“3”),模型也能通过“暗知识”学会识别它,展示了强大的泛化能力。 3. 工业价值 :在安卓语音识别这种大规模应用上,蒸馏技术能以单个模型的成本,实现接近集成模型的性能,价值巨大。 4. 专家模型系统 :对于更大规模的系统,可以通过训练大量可以并行化的“专家”模型来提升一个已经很强大的“全才”模型的性能。 5. 未来工作 :作者提到,他们还没来得及验证是否能将所有这些“专家”的知识再“蒸馏”回那一个“全才”模型中,让它独自一人就具备所有专家的智慧。这是一个未来可以探索的方向。 第九页:致谢与参考文献 这一页是标准的学术论文格式,感谢了提供帮助的同事,并列出了引用的相关研究。 全篇总结 这篇论文的核心贡献可以归纳为: 1. 提出并系统化了“知识蒸馏”框架 :定义了教师模型、学生模型、软目标、硬目标和温度等核心概念,为模型压缩和知识迁移提供了一套行之有效的范式。 2. 揭示了“暗知识”的重要性 :指出模型输出的概率分布中,那些非正确答案的微小概率值蕴含着丰富的类别间相似性信息,是知识传递的关键。 3. 验证了其在大小任务上的有效性 :从简单的手写数字识别到复杂的工业级语音识别,都证明了蒸馏的巨大价值。 4. 展示了软目标的正则化能力 :证明了软目标是极其高效的知识载体,可以用极少量的数据传递大量信息,有效防止过拟合。 5. 提出了“专家模型”的扩展思路 :为处理超大规模问题提供了一种可并行化的、高效的集成学习新策略。 “知识蒸馏”至今仍然是模型压缩、提升小模型性能、知识迁移等领域应用最广泛、最基础的技术之一,深刻地影响了整个深度学习领域的发展。 如果觉得本文还不错,记得关注我,一起轻松享受经典论文 如果本文还不错,请点个心 ,感谢你的支持 关于"论文很好懂" (建议你仔细读读) 很多论文可以改变世界,也可以很有启发,甚至只是挺好玩的, 我会把晦涩难懂的论文,用简单的举例帮你秒懂 如果你有想搞懂的论文, 请把免费下载链接写到评论中 ,我会在1 7天内为你解读。 人手有限,我会按以下优先级原则处理: 1.粉丝优先。关注我的用户,留言会被优先处理 2.点赞优先。留言点赞数量大的论文,会被优先处理 3.时间顺序,出现更早的留言,会被优先处理 码字不易,传播时请注明出处 如果觉得本文还不错,记得关注我,一起轻松享受经典论文 🔗 原文链接: https://mp.weixin.qq.com/s/siycuiVi... https://mp.weixin.qq.com/s/siycuiVi... 原创 尼克西 论文很好懂2025年8月5日 08:03 北京 一点都不难,好论文会让你爽飞,我会用很多例子帮你秒懂,表怕~ 如果仍然遇到困难,教你一招: 看不懂的句子都跳过去,继续下一句, 读完比全懂更重要 下面,我们来一起逐页、逐段地学习这篇深度学习领域的经典论文——《Distilling the Knowledge in a Neural Network》(萃取神经网络中的知识)。 这篇论文由三位深度学习领域的巨擘——Geoffrey Hinton、Oriol Vinyals 和 Jeff Dean 共同发表。Geoffrey Hinton 被誉为“深度学习教父”,是2018年图灵奖的获得者之一,他对神经网络的贡献是奠基性的。 Jeff Dean 和 Oriol Vinyals 也是谷歌AI的领军人物,他们在大型模型和序列模型方面有杰出的成就。 这篇论文的核心思想非常巧妙,我们用一个比喻来概括: “让博学的老师(大模型)教出一个聪明的学生(小模型)” 。 现在,我们开始学习。 第一页:问题的提出与核心思想 摘要 (Abstract) 论文原文摘要 :提升机器学习算法性能的一个简单方法是,训练多个不同的模型,然后平均它们的预测结果。但不幸的是,使用一整个模型“集成”(ensemble)来做预测非常笨重,计算开销也很大,尤其当单个模型是大型神经网络时,很难部署给大量用户。……我们提出了一种叫做“蒸馏”(distillation)的方法,可以将一个集成模型的知识“压缩”到一个更易于部署的单一模型中。……我们还介绍了一种新型的集成模型,它由一个或多个通用模型和许多“专家模型”组成,这些专家模型专门学习区分通用模型容易混淆的类别。 通俗解读 : 想象一下,你要做一个非常难的决策,比如投资。你问了10个不同的顶级投资专家,然后综合他们的意见。通常,这个综合决策会比任何一个专家的单独意见要好。这就是 “模型集成”(Ensemble) 的思路。 但问题来了,你每次投资前都去问10个专家,又费时又费钱。在AI世界里也是一样,让10个巨大的神经网络模型同时运行来服务用户,服务器成本会高得离谱。 Hinton等人提出的 “知识蒸馏”(Knowledge Distillation) 就是为了解决这个问题。它的目标是:我们能不能只训练 一个 小模型,但让它的表现能像那10个专家组成的“专家团”一样好?方法就是,让那个“专家团”(被称为 教师模型/Teacher Model)去教这个学生(被称为 学生模型/Student Model )。 最后,他们还提到了一个更高级的玩法:这个教师“专家团”可以不全是全才,也可以包含一些只精通某个小领域的“偏才”( 专家模型/Specialist Models ),比如有的专门研究科技股,有的专门研究医药股。 第一节:引言 (Introduction) 论文原文节选 :许多昆虫有幼虫和成虫两种形态。幼虫形态专门为从环境中提取能量和营养而优化,而成虫形态则为完全不同的旅行和繁殖需求而优化。在机器学习领域……我们应该愿意训练非常“笨重”的模型(cumbersome models),如果这能让从数据中提取结构变得更容易的话。……一旦这个笨重的模型训练好了,我们就可以使用一种我们称之为“蒸馏”的特殊训练,将知识从笨重的模型迁移到一个更适合部署的小模型中。 通俗解读 : 这里用了一个非常精妙的“昆虫”比喻。 • 幼虫 :食量巨大,拼命生长,任务就是吸收营养。它不擅长飞行和繁殖。 • 成虫 :轻便、敏捷,任务是飞行和繁殖。 这对应了机器学习模型的两个阶段: • 训练阶段(像幼虫) :我们可以不计成本,使用巨大的、复杂的模型(比如集成模型),用海量的数据去“喂养”它,让它尽可能地学习数据中的规律。这个阶段可以很慢,计算量可以很大。 • 部署/推理阶段(像成虫) :模型需要被成千上万的用户实时调用,必须快速、高效、省资源。 “蒸馏”就是那个“化蛹成蝶”的过程:将“幼虫”阶段学到的所有知识和智慧,浓缩并迁移到轻便的“成虫”模型中。 论文原文节选 :一个可能阻碍这个方向研究的观念障碍是,我们倾向于将一个训练好的模型中的知识等同于它学到的参数值……一个更抽象的知识观,将其从任何特定的实例中解放出来,认为它是一种从输入向量到输出向量的映射。 通俗解读 : 这是一个关键的观念转变。以前我们认为,一个模型的“知识”就是它那一堆复杂的网络权重参数。所以,想换个小模型,就意味着参数全变了,知识也就没了。 Hinton说,这个想法太狭隘了。 真正的“知识”不是参数本身,而是模型学会的一种“能力” ,一种将“输入”(比如一张图片)映射到“输出”(比如图片的分类)的能力。只要学生模型能学会老师模型这种举一反三、触类旁通的“思考方式”,那它就学到了知识的精髓,而不用管它自己的参数长什么样。 第二页:蒸馏的核心技术 蒸馏的原理 论文原文节选 :……一个经过训练的模型会为所有错误的答案分配概率,虽然这些概率通常很小,但它们之间的大小关系告诉我们很多关于这个模型是如何泛化的。例如,一张宝马车的图片,被错认为垃圾车的概率可能非常小,但这个概率仍然比它被错认为胡萝卜的概率高出很多倍。 通俗解读 : 这是“知识蒸馏”最核心的洞见。假设一个普通模型在识别一张猫的图片时,它的输出可能是这样的(这被称为 “硬目标”/Hard Target ): • 猫:99% • 狗:0.5% • 老虎:0.5% • 飞机:0% 在传统的训练中,我们只告诉模型“正确答案是猫”,其他信息都忽略了。 但是,一个强大的教师模型(比如一个专家团)的输出可能是这样的(这被称为 “软目标”/Soft Target ): • 猫:90% • 狗:2% • 老虎:8% • 飞机:0.0001% 这个“软目标”包含了极其丰富的信息,它不仅仅告诉学生“这是猫”,它还告诉学生: “这很像猫,但它也有点像老虎(因为都是猫科动物),比像狗的程度要高得多,但基本不可能是飞机。” 这种类别之间的相似性信息,就是所谓的 “暗知识”(Dark Knowledge) 。学生模型学习这些软目标,就能学到教师模型的“思维方式”,从而获得更好的泛化能力。 第二节:蒸馏 (Distillation) 论文原文节选 :神经网络通常使用一个“softmax”输出层来产生类别概率……qi = exp(zi/T) / Σj exp(zj/T)。其中 T 是一个通常设为1的温度。使用更高的T值会产生一个更软的概率分布。 通俗解读 : 这里引入了一个关键参数: 温度 T (Temperature) 。 • zi 是神经网络对每个类别的原始打分,可以理解为模型未经处理的“信心分数”,专业上叫 logits 。 • Softmax 函数 :把这些原始分数转换成一个总和为1的概率分布。 • 温度 T :就是这个转换过程的“调节旋钮”。 ◦ T = 1 :是标准模式,输出的概率比较“尖锐”,最高的会很高,低的会很低。 ◦ T 1(高温) :相当于给原始分数“降火”,让它们之间的差距变小。输出的概率分布会变得更“平滑”、更“软”,所有类别的概率都会被提升,即使是错误的类别也能保留一定的概率值。这有助于“暗知识”的暴露。 ◦ T < 1(低温) :会让概率分布更“尖锐”,更加“自信”。 ◦ T = 1 :是标准模式,输出的概率比较“尖锐”,最高的会很高,低的会很低。 ◦ T 1(高温) :相当于给原始分数“降火”,让它们之间的差距变小。输出的概率分布会变得更“平滑”、更“软”,所有类别的概率都会被提升,即使是错误的类别也能保留一定的概率值。这有助于“暗知识”的暴露。 ◦ T < 1(低温) :会让概率分布更“尖锐”,更加“自信”。 蒸馏过程就是 : 1. 用一个 高温度 T 去“蒸”教师模型,得到包含“暗知识”的软目标。 2. 用 同样的高温度 T 去训练学生模型,让它的输出去拟合教师模型的软目标。 3. 训练完成后,把学生模型的 温度 T 调回到 1 ,让它在实际预测时能给出确定的答案。 第三页:初步实验与验证 2.1 匹配Logits是蒸馏的一个特例 (Matching logits is a special case of distillation) 通俗解读 : 这一节做了一个数学推导,证明了当温度T非常非常高时,用蒸馏方法(匹配软目标)得到的结果,和另一种早期方法(直接让学生模型的logits去匹配教师模型的logits)是等价的。 但作者指出,使用中等温度可能更好。因为非常负的logits(即教师模型认为“绝对不可能”的选项)可能包含很多噪声,不值得学习。而蒸馏通过温度控制,可以忽略这些极度不相关的负面信息,只关注那些比较相关的类别。 第三节:在MNIST上的初步实验 (Preliminary experiments on MNIST)