网站开发现状,高端网站建设多少钱,WordPress怎么添加语言,网页界面设计中表单的组成部分有哪些提示信息知识蒸馏是一种模型压缩技术#xff0c;它通过从一个大模型#xff08;教师模型#xff09;中传输知识到一个小模型#xff08;学生模型#xff09;中来提高学生模型的性能#xff0c;知识蒸馏也要用到真实的数据集标签。
软损失soft loss就是拿教师模型在蒸馏温度为T的…知识蒸馏是一种模型压缩技术它通过从一个大模型教师模型中传输知识到一个小模型学生模型中来提高学生模型的性能知识蒸馏也要用到真实的数据集标签。
软损失soft loss就是拿教师模型在蒸馏温度为T的情况下输出的预测标签和学生模型也在蒸馏温度为T的情况下输出的预测标签的交叉熵损失 硬损失hard loss顾名思义就是很硬和不太软柔放松就是直接在蒸馏温度为1也就是原生的softmax了下直接拿真实标签one-hot编码[0, 1, 0]是第二个种类和学生模型也在蒸馏温度为1的情况下输出的预测标签的交叉熵损失。 总损失就是一个软损失和硬损失的加权求和。
一开始有点疑惑知识蒸馏大模型训练小模型可是两者参数都不是一个级别的为什么结果小模型也就是student模型还是可以这么厉害
后面想想我感觉是和大模型也就是教师模型在蒸馏温度为T下输出的软标签有很大关系。 ①在知识蒸馏中大模型的输出被视为“软目标”或概率分布而不是硬标签。这意味着学生模型学习到如何模拟教师模型的不确定性和决策过程而不仅仅是复制教师模型的硬标签。这种软目标训练可以帮助学生模型更好地泛化。很好理解不输出真实标签硬标签one-hot编码比如[0, 1, 0]是第二个种类而输出[0.1, 0.8, 0.1]这样的软标签这样可以说我结果是第二个种类概率最大但是也有可能是第一或者第三。 ②并且我认为大模型是有很多无用的冗余参数的而知识蒸馏可以使学生模型变得更加紧凑去除一些冗余参数从而提高模型的计算效率和泛化性能。这种模型简化应该可以弥补参数规模不同的差距。刚好对应了知识蒸馏里的蒸馏二字类比到化学就是能从很多东西里蒸馏提取出最精华的“蒸馏水”的感觉感觉比喻有点怪不过是那个意思。
下图是蒸馏温度T和softmax的关系。
下图是知识蒸馏的计算流程一目了然。 下面两图中的教师模型是已经训练好的拥有庞大参数的大模型见识过很多很多东西。 开始知识蒸馏训练学生模型。可能会发生神奇的事情明明训练学生模型的时候没有让学生模型见过的样本数据也就是给学生模型中的训练集没有某些样本数据。通过下面的一通训练操作下来学生模型这个小模型竟然也可能学习到了原先没有见识过的样本的标签。原因其实是有教师模型在教它嘛可以理解。
下图是知识蒸馏的架构图。