关于label smoothing的理解

背景介绍

提到label smoothing(标签平滑),首先介绍一下什么是hard label和soft label.

简单来说,hard label就是非1即0,不存在既可能是A也可能是B的情况,soft label则不同,它并不要求所有的”精力”全部倾向一个,允许模棱两可的状态,比如这幅画有40%的概率是猫, 60%的概率是狗。

什么时候会用到

标签平滑在机器学习或者深度学习中可以看作是一种正则化的技巧。它能提高分类任务中模型的泛化性能和准确率,缓解数据分布不平衡的问题。

为什么说能提高模型的泛化性能和准确率呢,我们需要从公式角度出发理解:

对于hard label的情况,softmax之后输出的结果为:

关于label smoothing的理解

![在这里插入图片描述](https://img-blog.csdnimg.cn/978a0cc999![在这里插入图

关于label smoothing的理解

关于label smoothing的理解
可以看出,如果要想损失的loss为0,那么极限条件就是让正样本的输出值为1,负样本的输出值为0,而要想达到负样本的概率为0,则要求模型输出的logits值为负无穷,而正样本的输出值为常数。这种做法的弊端显而易见:
(1)当数据样本中有信息标注错误时,造成的后果就是一错再错,泛化能力特别差。
(2)一般模型中最后的输出值一般都是有界的,并且由于模型中会加入一些正则化的手段等,不可能 ,很难更新到理想的效果,在同等训练epoch条件下。

label smooth是在《Rethinking the inception architecture for computer vision》里面提出来的。可以设定超参数对label进行soft。

关于label smoothing的理解
关于label smoothing的理解
关于label smoothing的理解

这里的负样本的softmax后的值为a,正负样本之间的差距只要达到

关于label smoothing的理解
就可以认为达到理想的值,loss为0,相比hard label的无穷大的界限,这种方法的界限是有界的,更容易让模型学习到,同时由于存在其他信息,会使模型的泛化能力更加好。
所以,在损失函数为交叉熵的情况下,如果我们使用label-smooth编码,错误类的logit不会要求是负无穷。且错误类和正确类的logit值有一定大小误差的情况下,loss就会很小很小。
关于label smoothing的理解
同时,可以看一下这张图,概率值达到一定值后,曲线变的越来越平缓,再优化很难更新。

综上,标签平滑可以产生相对较好的校准网络,从而更好的去泛化网络,最终用于对未知的数据进行预测。
【参考】
https://zhuanlan.zhihu.com/p/343807710

Original: https://blog.csdn.net/amf12345/article/details/123999241
Author: 星辰浩宇
Title: 关于label smoothing的理解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/544978/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球