如何理解soft target这一做法?
1. 小模型可以得到原ensemble的泛化性能。但题主觉得因为原ensemble可以预测特征空间中任意点的target,所以进行学习的小模型可以获得更多的训练样本,进而得到和ensemble一样的泛化性能。但hinton文章中说似乎通过soft target训练的时候,哪怕给后来的模型一小部分数据(3%),也可以获得一样的泛化性能。同时Li的文章用了大量未标记的样本,通过ensemble预测logit然后训练,效果反而一般般。所以似乎是我的想法走偏了,但为什么呢。。
2. 为什么softtarget效果好,还有没有别的解释?文章看下来总感觉并没有那么convincing。不知其所以然。。
谢谢大家了~
----------题主的理解是----------
最近看起来soft target和label smoothing有着千丝万缕的关系。但一个是sample wise,一个是label wise。
周博磊
Naiyan Wang
深度学习(Deep Learning)、机器学习、人工智能 话题的优秀回答者
https://www.zhihu.com/question/50519680/answer/136363665
一句话简言之,Knowledge Distill是一种简单弥补分类问题监督信号不足的办法。
当然KD本身还有很多局限,比如当类别少的时候效果就不太显著,对于非分类问题也不适用。我们目前有一些尝试试图突破这些局限性,提出一种通用的Knowledge Transfer的方案。希望一切顺利的话,可以早日成文和大家交流。:-)
YJango
这是一种深层神经网络的训练方法。
2、计算soft target:利用训练好的大模型来计算soft target。也就是大模型“软化后”再经过softmax的output。
3、训练小模型,在小模型的基础上再加一个额外的soft target的loss function,通过lambda来调节两个loss functions的比重。
4、预测时,将训练好的小模型按常规方式(右图)使用。
由于我发过基于generalized distillation的application论文(Articulatory and spectrum features integration using generalized distillation framework),这里先给一个我用过的ppt的一页。(ppt其中提到的论文是Recurrent Neural Network Training with Dark Knowledge Transfer)
信息量:
hard target 包含的信息量(信息熵)很低,
soft target包含的信息量大,拥有不同类之间关系的信息(比如同时分类驴和马的时候,尽管某张图片是马,但是soft target就不会像hard target 那样只有马的index处的值为1,其余为0,而是在驴的部分也会有概率。)
问题是像左图的红色0.001这部分,在cross entropy的loss function中对于权重的更新贡献微乎其微,这样就起不到作用。把soft target软化(整体除以一个数值后再softmax),就可以达到右侧绿色的0.1这个数值。
我假设你已经看完了深层神经网络 · 超智能体关于深层为什么比浅层有效的解释,并找到了为什么要one hot vector编码。
在神经网络的隐藏层中可以通过加入更多隐藏层节点来拟合变体,降低熵和拟合难度。
举个例子,如果要分类10个不同物体的图片,完全可以只输出一个节点,用一维输出来表示。得到1就是第一个物体,得到9就是第9个物体。但是这样做的话,输出层的这一个节点就有10个变体,会使建模时的熵增加。但是若用10个节点来分别表示,那么每个节点就只有一个可能的取值(也就是没有变体),熵就可以降到最低。可是问题又来了,如何确保这10个类就是所有变体?该问题是和caffe 每个样本对应多个label?的问题是类似的,并没有把所有变体都摊开。
样本1: 2,3(样本1属于第二类和第三类)
样本2: 1,3,4(样本2属于第一类,第三类和第四类)
一种解决方式是重新编码,比如把属于2,3类的数据对应一个新的label(该label表示既是2又是3)。
把所有变体全部摊开,比如有n个类,输出层的节点个数会变成2^n-1(-1是排除哪一类都不是的情况)。
soft target也有类似的功效,就是Naiyan Wang的答案中提到的“一句话简言之,Knowledge Distill是一种简单弥补分类问题监督信号不足的办法”。在上述的问题中仅仅是“是 or 不是”,所以编码的基底为2,形成2^n。soft target的基底就不是2了,而是0-1的实数个,还要保证所有类的总和为1(我数学底子差,不知道该怎么计算这个个数)。
加入prior knowledge也是设计神经网络的核心。
soft target的作用在于generalization。同dropout、L2 regularization、pre-train有相同作用。
这其实也是我要在知乎Live深层学习入门误区想要分享内容的一部分。
简单说
dropout是阻碍神经网络学习过多训练集pattern的方法
L2 regularization是强制让神经网络的所有节点均摊变体的方法。
pretrain和soft target的方式比较接近,是加入prior knowledge,降低搜索空间的方法。
1,Recurrent Neural Network Training with Dark Knowledge Transfer中还测试了用pretrain soft target的方式来加入prior knowledge,效果还比distillation的方式好一点点(毕竟distillation会过分限制网络权重的更新走向)
2,我才投的期刊论文有做过两者的比较。当没有pretrain的时候用distillation,效果会提升。但是当已经应用了pretrain后还用distillation,效果基本不变(有稍微稍微的变差)
3,Distilling the Knowledge in a Neural Network我记得好像并没有提到是否有用dropout和L2也来训练small model。我的实验结果是:
如果用了dropout和L2,同样feature vector的soft target来训练的distillation不会给小模型什么提升(往往不如不用。有额外feature vector的soft target的会提升)。
如果不用dropout和L2,而单用distillation,那么就会达到dropout和L2类似的泛化能力,些许不如dropout。
也就是说dropout和L2还有pretrain还有distillation其实对网络都有相同功效。是有提升上限的。Unifying distillation and privileged information论文是没有用dropout和L2,我看过他的实验代码。如果用了dropout和L2,提升不会像图表显示的那么大。
4,你注意Hinton的实验结果所显示提升也是十分有限。压缩网络的前提是神经网络中的节点是由冗余的,而关于压缩神经网络的研究,我建议是从每层中权重W的分析入手。有很多关于这方面的论文。
<pre style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-right: 8px;margin-left: 8px;max-width: 100%;white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br /></section><section style="margin-right: 8px;margin-left: 8px;max-width: 100%;white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong>完<strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong></span></strong></span></strong></section><section style="max-width: 100%;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-right: 8px;margin-bottom: 15px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 16px;font-family: 微软雅黑;caret-color: red;box-sizing: border-box !important;overflow-wrap: break-word !important;">为您推荐</span></strong></span></section><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;">一文通俗了解对抗生成网络(GAN)核心思想<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;" /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;">关于KN95口罩:可以使用多久?怎么佩戴?<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;" /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;">IBM Watson大裁70% 员工,撕掉了国内大批伪AI企业最后一块遮羞布!<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;" /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;">全国多所高校延期开学,不止武汉!<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;" /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">深度学习必懂的13种概率分布</span></p></section></section></section></section></section></section></section></section>
本篇文章来源于: 深度学习这件小事
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
内容反馈