人工智能超级核心论文——知识蒸馏——引言:什么是知识蒸馏

参考视频:
https://www.bilibili.com/video/BV1gS4y1k7vj/?spm_id_from=333.880.my_history.page.click&vd_source=de203b26ba8599fca1d56a5ac83a051c

一、Hard target和Soft targe
如有一组动物图片数据:

动物这一个图片数据是否属于该动物
1
0
汽车0

即在经过线性分类层后,网络百分百将该图片识别为牛,这样的分类称为Hard target。

另一组动物图片数据如下:

动物这一个图片数据是否属于该动物
0.7
0.25
汽车0.05

即在经过线性分类层后,网络认为该图片为牛的概率为0.75,马的概率为0.25,汽车的概率为0.05,这样的分类称为Soft target。

可以得知,第二组数据的熵明显高于第一组数据的熵。

换个角度来说。这张图片不是马和汽车概率当然不可能是相同的,明显牛更像马,而不是汽车,所以用这一种分类方式可以明显告诉我们这张图片像谁不像谁有多像有多不像。所以基于此,同一张图片能够传递更多的信息。

再举一个例子:
在这里插入图片描述
对于一个数字识别,按照这种分类方式,他能告诉我们这个数字像7的概率为0.5,同时还可以告诉我们,他像9的概率明显比像8的概率高。从这个例子中我们还容易知道按照这样分类的另一个好处:
假设我们的训练集为[0,9]的随机整数,但是由于遗失或者一些特殊情况,获得的训练集中,并没有“3”这个数字的样本,如果按照以往的一些网络模型来说,我们将训练完成的模型作用测试集,我们将不能很好的识别出训练集中的“3”,所以会导致过拟合的情况。如果我们使用这种分类方式,在不断的比较中,模型也可以对训练集中的“3”有很好的分类效果,即使训练集中并没有3。

在这里插入图片描述

二、蒸馏温度
在这里插入图片描述
蒸馏温度指T这个参数,通过调节这个参数,我们可以控制最后输出的数据间的起伏程度。如下图所示

类别得分Hard targetT=1T=3
-507.32x10^-70.0058
208.03x10^-140.0599
700.120.3170
910.880.6174

根据上表可以看到在T=3时,最后的判决更加平滑,能反应更多的信息,这就是蒸馏温度T的作用。

三、Teacher and Sudent
在水的蒸馏过程中,是将不纯净的水,通过加热, 冷凝,剔除掉没用的杂质,从而得到的水的单质。
在知识蒸馏的过程中,实际上我们需要找到Teacher Model和Student Model这两个网络。

Teacher Model里的网络通常都比较复杂,大型,运行所花费的资源多,但是能多训练的数据量大,有很好的训练效果。

Student Model里的网络通常比较小巧,灵活,能够部署在容量和资源有限的终端中。

所以本质上,我们的目的就是既想要网络的训练效果好,又想要网络足够的轻量化,以便于部署在终端中。而最原始的知识蒸馏中提出了一种新的训练方式来达成这种目的。
在这里插入图片描述
在一次训练后,我们会得到三个预测结果,分别为Teacher Model的soft标签(蒸馏温度为T),Student Model的soft预测(蒸馏温度为T),Student Model的hard预测。

然后将两者的soft预测做损失熵,再将hard预测和已知数据集的hard标签做损失熵,最后将两者的权熵作为整个训练的损失熵。

从类比的角度来说,就像是老师,学生和题目答案,学生要尽可能的去接受老师传授的知识,同时自己的答案也要靠近题目的标准答案,这样才能做正确题。
下图能更清晰的表达这一过程。
在这里插入图片描述

四、优点总结和应用场景
知识蒸馏主要可以用于以下场景:
①模型压缩
②优化训练,防止过拟合
③无限大,无监督数据集的数据挖掘
④少样本,零样本的学习
与其漫无目的的学习,不如有一个老师来教导。

五、发展趋势
(1)教学相长
“三人行,则必有我师。是故弟子不必不如师,师不必贤于弟子,闻道有先后,术业有专攻,如是而已”。
Student Model可以帮助Teacher Model成长。
(2)助教,多个老师,同学
“独学而无友,则孤陋而寡闻。”
引入助教和同学的概念,可以帮助训练。
(3)知识的表示(中间层),数据集蒸馏,对比学习
(4)多模态,知识图谱,预训练大模型的知识蒸馏
总之知识蒸馏是一种巨大但是符合人类思维的处理手段,它可以运用在深度学习的大部分地方。怎么蒸馏,蒸馏什么部分……等都 具有很深的挖掘和发展空间。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值