知识提炼

编辑
本词条由“匿名用户” 建档。

在机器学习中,知识提炼是将知识从一个大模型转移到一个小模型的过程。虽然大型模型(如非常深的神经网络或许多模型的集合体)比小型模型有更高的知识容量,但这种容量可能没有被充分利用。即使一个模型的知识容量利用得很少,评估它的计算成本也是一样高的。知识提炼将知识从一个大的模型转移到一个较小的模型,而不损失其有效性。由于小模型的评估成本较低,它们可以被部署在功能较弱的硬件上(如移动设备)。知识提炼已经成功地...

知识提炼

编辑

机器学习中,知识提炼是将知识从一个大模型转移到一个小模型的过程。虽然大型模型(如非常深的神经网络或许多模型的集合体)比小型模型有更高的知识容量,但这种容量可能没有被充分利用。即使一个模型的知识容量利用得很少,评估它的计算成本也是一样高的。知识提炼将知识从一个大的模型转移到一个较小的模型,而不损失其有效性。由于小模型的评估成本较低,它们可以被部署在功能较弱的硬件上(如移动设备)。知识提炼已经成功地用于机器学习的一些应用,如物体检测声学模型和自然语言处理。最近,它也被引入到适用于非网格数据的图神经网络中。

蒸馏的概念

编辑

将知识从一个大的模型转移到一个小的模型,需要以某种方式教给后者而不损失有效性。如果两个模型都是在相同的数据上训练的,那么在与大模型相同的计算资源和相同的数据下,小模型可能没有足够的能力学习一个简明的知识表示。然而,关于简明知识表征的一些信息被编码在分配给其输出的伪可能性中:当一个模型正确预测一个类别时,它给对应于该类别的输出变量分配一个大值,给其他输出变量分配小值。一个记录的输出值的分布提供了关于大模型如何代表知识的信息。因此,通过在数据上只训练大模型,利用其学习简明知识表征的更好能力,然后将这些知识提炼到较小的模型中,通过训练它来学习大模型的软输出,就可以实现经济部署有效模型的目标。模型压缩是一种将多个模型的知识压缩到单一神经网络中的方法,于2006年被引入。压缩是通过在由性能较高的集合体标记的大量伪数据上训练一个较小的模型来实现的,通过优化使压缩后的模型的对数值与集合体的对数值相匹配。知识提炼是这种方法的概括,由GeoffreyHinton等人在2015年的一篇预印本中介绍,该预印本提出了这个概念并展示了在图像分类任务中取得的一些结果。

知识提炼的表述

编辑

给定一个大型模型作为向量变量的函数为一个特定的分类任务进行训练,通常网络的最后一层是一个softmax,其形式为是一个被称为温度的参数,对于标准的softmax来说,通常被设置为1。到伪概率,而更高的温度值具有在输出类别中产生更柔和的伪概率分布的效果。

神经网络

知识蒸馏包括在称为转移集的数据集(不同于用于训练大模型的数据集)上训练一个较小的网络,称为蒸馏模型,使用交叉熵作为蒸馏模型的输出之间的损失函数大模型在同一记录上产生的输出(如果大模型是一个集合体,则是单个输出的平均值),使用高值的softmax温度在这种情况下,高温会增加输出的熵,因此与硬目标相比,为蒸馏模型提供了更多的学习信息,同时减少了不同记录之间的梯度方差,因此可以提高学习率。如果转移集有地面实况,可以通过在损失中加入蒸馏模型输出之间的交叉熵来加强这一过程(计算方法为{displaystyleE(mathbf{x}|t)=-t{2}sum_{i}{hat{y}}_{i}(mathbf{x}|t)log

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/175718/

(1)
词条目录
  1. 知识提炼
  2. 蒸馏的概念
  3. 知识提炼的表述

轻触这里

关闭目录

目录