标签平滑:Google Brain解释标签平滑有何用、何时用(SOTA tips)

2020 年 1 月 9 日 极市平台

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~




导读:标签平滑算是一种常规技术了,但是这背后的原理不知道大家有没有深究过,Google brain给出了他们的解释,并给出了一些使用它的SOTA的建议。


来自谷歌 Brain 的 Hinton, Muller 和 Cornblith 发表了一篇题为“When does label smoothing help?”的新论文,深入研究了标签平滑如何影响深度神经网络的最终激活层。他们建立了一种新的可视化方法来阐明标签平滑的内部效果,并对其内部工作原理提供了新的见解。标签平滑经常被使用,本文解释了为什么和标签平滑如何影响神经网络,以及何时使用,何时不使用的有价值的洞见。


使用了标签平滑在广泛的深度学习模型中都有提升


这篇文章是对论文观点的总结,帮助你快速地利用这些发现来进行自己的深度学习工作。建议对全文进行深入分析。



什么是标签平滑?


标签平滑是一种损失函数的修正,已被证明是非常有效的训练深度学习网络的方法。标签平滑提高了图像分类、翻译甚至语音识别的准确性。我们的团队用它来打破许多 FastAI 排行榜记录:


在我们的FastAI训练代码中调用了标签平滑


简单的解释是,它将神经网络的训练目标从“1”调整为“1-label smoothing adjustment”,这意味着神经网络被训练得对自己的答案不那么自信。默认值通常是 0.1,这意味着目标答案是 0.9(1 - 0.1)而不是 1。


例如:假设我们要将图像分类为狗和猫。如果我们看到一张狗的照片,我们训练 NN(通过交叉熵损失)向 1 表示狗,0 表示猫的方向移动。如果是一只猫,我们训练的方向正好相反,1 代表猫,0 代表狗。换句话说,这是一个 binary 或者说“hard”的答案。


然而,NN 有一个坏习惯,就是在训练过程中对预测变得“过于自信”,这可能会降低它们的泛化能力,从而在新的、看不见的未来数据上表现得同样出色。此外,大型数据集通常会包含标签错误的数据,这意味着神经网络在本质上应该对“正确答案”持怀疑态度,以减少一定程度上围绕错误答案的极端情况下的建模。

因此,标签平滑所做的就是通过训练 NN 向“1-adjustment”目标移动,然后在其余的类上除以这个 adjustment,从而使它对自己的答案不那么自信,而不是简单的设为 1。


对于我们的二分类猫/狗示例,0.1 的标签平滑意味着目标答案将是 0.90(90%确信)这是一个狗的图像,而 0.10(10%确信)这是一只猫,而不是先前的向 1 或 0 移动的结果。由于不太确定,它作为一种正则化形式,提高了它对新数据的预测能力。


可以看到,代码中的标签平滑有助于理解它如何比通常的数学运算更好地工作(来自 FastAI github)。ε 是标签平滑调整因子:


标签平滑的FastAI实现



标签平滑对神经网络的影响


现在我们进入文章的核心部分,直观地展示标签平滑对神经网络分类处理的影响。


首先,AlexNet 在训练中对“飞机、汽车和鸟类”进行分类。


左:没有使用标签平滑进行训练,右:使用标签标签平滑进行训练


验证集上的表现:

你可以看到的,标签平滑强制对分类进行更紧密的分组,同时强制在聚类之间进行更等距的间隔。


“河狸、海豚和水獭”的 ResNet 例子更能说明问题:

ResNet训练用于分类3个图像类别…请注意在聚类紧密性方面的巨大差异

ResNet验证集结果,标签平滑提高了最终的精度。请注意,在训练中,标签平滑会将激活值驱动到紧密的簇中,而在验证集中,它会在中心周围传播,并充分覆盖了预测的置信度范围


正如图像所显示的,标签平滑为最终的激活产生了更紧密的聚类和更大的类别间的分离。


这是为什么标签平滑可以产生更多的正则化和鲁棒的神经网络的主要原因,重要的是趋向于更好地泛化未来的数据。然而,除了得到了更好的激活值的中心,还有额外的好处。



标签平滑的隐式网络校正功能


在本文中,Hinton 等人从可视化过程出发,展示了如何在不需要手动调节温度的情况下,自动校准网络,减少网络校准误差。


以前的研究(Guo et al)表明,神经网络常常过于自信,相对于它们的真实准确性校准得很差。为了证明这一点,Guo 等人开发了一种名为 ECE(预期校准误差)的校准度量。通过使用这种度量方法,他们能够使用一种称为温度缩放的训练后的修改器来调整给定神经网络的校准值,并使网络更好地与它的真实能力保持一致(减少 ECE),从而提高最终精度。(在传递给 softmax 函数之前,通过将最终 logits 与温度标量相乘来执行温度缩放)。


这篇论文展示了一些例子,但是最好的例子是在 ImageNet 上使用和不使用标签平滑训练的 ResNet,并将这两个网络与温度调整网络进行了比较。


与未校准的网络相比,标签平滑极大地提高了置信度/准确率。其结果几乎与使用温度缩放进行手动调节相同。


正如你所看到的,使用标签平滑训练产生的网络具有更好的 ECE(预期校准误差),更简单地说,相对于它自己的精度有一个更理想的置信度。


实际上,经过平滑处理的标签网络并不是“过于自信”的,因此应该能够在未来的真实数据上进行泛化并表现得更好。



知识蒸馏(什么时候不使用标签平滑)


论文的最后一部分讨论了这样一个发现,即尽管标签平滑可以产生用于各种任务的改进的神经网络……如果最终的模型将作为其他“学生”网络的老师,那么它不应该被使用。


作者注意到,尽管使用标签平滑化训练提高了教师的最终准确性,但与使用“硬”目标训练的教师相比,它未能向学生网络传递足够多的知识(没有标签平滑化)。


标签平滑“擦除”了在hard目标训练中保留的一些细节。这样的泛化有利于教师网络的性能,但是它传递给学生网络的信息更少。


标签平滑产生的模型是不好的教师模型的原因可以通过初始的可视化或多或少的表现出来。通过强制将最终的分类划分为更紧密的集群,该网络删除了更多的细节,将重点放在类之间的核心区别上。


这种“舍入”有助于网络更好地处理不可见数据。然而,丢失的信息最终会对它教授新学生模型的能力产生负面影响。


因此,准确性更高的老师并不能更好地向学生提炼信息。



总结


在几乎所有的情况下,使用标签平滑训练可以产生更好的校准网络,从而更好地泛化,最终对不可见的生产数据产生更准确的预测。因此,标签平滑应该是大多数深度学习训练的一部分。然而,有一种情况是,它对构建将来作为教师的网络没有用处,hard 目标训练将产生一个更好的教师神经网络。


英文原文:https://medium.com/@lessw/label-smoothing-deep-learning-google-brain-explains-why-it-works-and-when-to-use-sota-tips-977733ef020



PS:点击阅读原文进入极市社区,能够直接跳转本文链接哦~


-End-


*延伸阅读




CV细分方向交流群


添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群(已经添加小助手的好友直接私信),更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流一起来让思想之光照的更远吧~



△长按添加极市小助手


△长按关注极市平台



       觉得有用麻烦给个在看啦~  

登录查看更多
1

相关内容

标签平滑,在AI领域多指利用软标签方法对标签进行平滑,以限制模型过拟合。
【Google】无监督机器翻译,Unsupervised Machine Translation
专知会员服务
35+阅读 · 2020年3月3日
【Google AI】开源NoisyStudent:自监督图像分类
专知会员服务
54+阅读 · 2020年2月18日
【模型泛化教程】标签平滑与Keras, TensorFlow,和深度学习
专知会员服务
20+阅读 · 2019年12月31日
网络宽度对深度学习模型性能有什么影响?
极市平台
15+阅读 · 2019年7月7日
如何优化你的图像分类模型效果?
AI研习社
4+阅读 · 2019年5月26日
超强半监督学习 MixMatch
极市平台
8+阅读 · 2019年5月22日
PyTorch 学习笔记(六):PyTorch的十七个损失函数
极市平台
47+阅读 · 2019年5月13日
7个实用的深度学习技巧
机器学习算法与Python学习
16+阅读 · 2019年3月6日
深度学习如何调参?
炼数成金订阅号
6+阅读 · 2018年10月18日
Arxiv
43+阅读 · 2019年12月20日
Question Generation by Transformers
Arxiv
5+阅读 · 2019年9月14日
Arxiv
6+阅读 · 2018年10月3日
Arxiv
3+阅读 · 2018年6月1日
Arxiv
9+阅读 · 2018年2月4日
Arxiv
8+阅读 · 2018年1月19日
Arxiv
10+阅读 · 2017年12月29日
VIP会员
相关资讯
网络宽度对深度学习模型性能有什么影响?
极市平台
15+阅读 · 2019年7月7日
如何优化你的图像分类模型效果?
AI研习社
4+阅读 · 2019年5月26日
超强半监督学习 MixMatch
极市平台
8+阅读 · 2019年5月22日
PyTorch 学习笔记(六):PyTorch的十七个损失函数
极市平台
47+阅读 · 2019年5月13日
7个实用的深度学习技巧
机器学习算法与Python学习
16+阅读 · 2019年3月6日
深度学习如何调参?
炼数成金订阅号
6+阅读 · 2018年10月18日
相关论文
Arxiv
43+阅读 · 2019年12月20日
Question Generation by Transformers
Arxiv
5+阅读 · 2019年9月14日
Arxiv
6+阅读 · 2018年10月3日
Arxiv
3+阅读 · 2018年6月1日
Arxiv
9+阅读 · 2018年2月4日
Arxiv
8+阅读 · 2018年1月19日
Arxiv
10+阅读 · 2017年12月29日
Top
微信扫码咨询专知VIP会员