【AI面试】Label Smoothing Loss 和 Smooth L1 Loss
创始人
2025-05-28 04:19:00
0

往期文章:

  1. AI/CV面试,直达目录汇总
  2. 【AI面试】NMS 与 Soft NMS 的辨析
  3. 【AI面试】L1 loss、L2 loss和Smooth L1 Loss,L1正则化和L2正则化

第一次听说Label Smoothing Loss ,还是在一次询问chatGPT时候,在他的回答中,提到了。其中下面的问题,和chatGPT的回答,都展示在了下面的地方。

smooth
原本我是想到了在faster RCNN目标检测算法中,对于目标框的位置回归部分,通常采用Smooth L1 Loss。于是我就想到,Smooth L1 Loss是否特能用于分类任务呢?当然,这里我就是脑洞一问,得知了用于分类任务中的Label Smoothing Loss

Label Smoothing LossSmooth L1 Loss里面,都有smooth,光滑的,平坦的,平整的。从Smooth L1 Loss,我们知道他是在L1 Loss的基础上,引入了L2 loss。在[1,1]的范围内,采用L2 loss,其他段都是L1 loss

一是避免了L1 lossx0的不可导,也使得在0附近的优化更加的平缓。具体的可以参考这里:【AI面试】L1 loss、L2 loss和Smooth L1 Loss,L1正则化和L2正则化

图

吸取Smooth L1 Loss的思想,在分类任务中,也想要Smooth 一些。于是,Label Smoothing运用而生。首席推荐阅读:

  1. 标签平滑 - Label Smoothing概述

上完上面,理解的,再看下面的:

  1. Wenet之LabelSmoothingLoss

实现方式:label_smoothing_loss.py

通过上述两个文章,大概就对Label Smoothing Loss 有了大概的了解,也知道他为什么要改写one-hot标签,而采用smooth的形式,平滑标签,使得参与损失loss计算的值,不只是局限于目标为1的点。

在这里插入图片描述

1、One Hot Label --> Smoothing Label

文本分类和图像分类实际上在训练模式上是类似的,基本都遵循这样的一个流程:

  • step 1. 一个深度网络(DNN,诸如LSTM、CNN、BERT等)来得到向量表示
  • step 2. 一个softmax分类器来输出预测的标签概率分布p
  • step 3. 使用Cross-entropy来计算真实标签(one-hot表示)与p之间的损失,从而优化

这里使用cross-entropy loss(简称CE-loss)基本上成了大家训练模型的默认方法,但它实际上存在一些问题。下面我举个例子:

比如有一个六个类别的分类任务,CE-loss是如何计算当前某个预测概率p相对于y的损失呢:

2可以看出,根据CE-loss的公式,只有y中为1的那一维度参与了loss的计算,其他的都忽略了。这样就会造成一些后果:

  1. 真实标签跟其他标签之间的关系被忽略了,很多有用的知识无法学到;比如:“鸟”和“飞机”本来也比较像,因此如果模型预测觉得二者更接近,那么应该给予更小的loss;
  2. 倾向于让模型更加“武断”,成为一个“非黑即白”的模型,导致泛化性能差;
  3. 面对易混淆的分类任务、有噪音(误打标)的数据集时,更容易受影响

总之,这都是由one-hot的不合理表示造成的,因为one-hot只是对真实情况的一种简化,其他错误并不参与损失计算。面对one-hot可能带来的容易过拟合的问题,有研究提出了Label Smoothing方法:

在这里插入图片描述
label smoothing就是把原来的one-hot表示,在每一维上都添加了一个随机噪音。这是一种简单粗暴,但又十分有效的方法,目前已经使用在很多的图像分类模型中了。

2、优劣势

one-hot 劣势:

  • 可能导致过拟合。0或1的标记方式导致模型概率估计值为1,或接近于1,这样的编码方式不够soft,容易导致过拟合。因为用于训练模型的training set通常是很有限的,往往不能覆盖所有的情况,特别是在训练样本比较少的情况下更为明显

Label Smoothing 优势:

  1. 一定程度上,可以缓解模型过于武断的问题,也有一定的抗噪能力
  2. 弥补了简单分类中监督信号不足(信息熵比较少)的问题,增加了信息量;
  3. 提供了训练数据中类别之间的关系(数据增强);
  4. 可能增强了模型泛化能力
  5. 降低feature norm (feature normalization)从而让每个类别的样本聚拢的效果
  6. 产生更好的校准网络,从而更好地泛化,最终对不可见的生产数据产生更准确的预测。

Label Smoothing 劣势:

  1. 单纯地添加随机噪音,也无法反映标签之间的关系,因此对模型的提升有限,甚至有欠拟合的风险。
  2. 它对构建将来作为教师的网络没有用处,hard 目标训练将产生一个更好的教师神经网络

3、发散总结

Smooth L1 Loss中的Smooth,引申到分类任务中,在label部分引入Smooth操作,平滑one hot的标签,使得模型的优化目标不再是1,而是一个小于1的数值。避免了过分的追求完美,使得模型过拟合。

但是,经过自己的粗浅思考,这种方法对于分类目标类别之间的特征差异较小,分类较难的任务,应该是有比较好的改观的,主要的改观就体现在泛化性上面。

而对于分类目标类别之间的特征差异较大,比较好分开的分类任务中,就没有必要引入smooth的操作了。因为这样会使得训练没有充分的挖掘模型的分类能力。模型能考100分,非要考90就可以,可能泛化性不够。

除此之外,发散开来。如果对于类别之间界限没有那么的清晰的分类任务场景,比如等级分类。同一事物,介于5级和6级之间,那往6上分也可以,往5上分也行的标签,是不是可以采用更加smooth的方式,使得除去目标1外的标签,不是均等的。这种最终还是需要有一个最大的值,只是这个值的数可能会更小。

上述的内容,都还需要检验。先学习记录,待后续补充。

相关内容

热门资讯

文化书院进行时|守好居民“钱袋... 签订合同如何避开“文字陷阱”?遇到违约纠纷该怎样维权?5月27日,淄博高新区四宝山街道华瑞园社区活动...
Kotlin学习笔记:4.4、... 内置函数一、什么是内置函数?二、举例说明一下内置扩展函数和内置普通函数三、内置扩展函数...
南极土著:特朗普关税政策的司法... 【文/南极土著】 在特朗普政府发布对等关税行政令面向全球征税后不久,我写了《美国国内制约特朗普关税...
命名实体识别BiLSTM-CR... 0、前言 命名实体识别(NER)属于自然语言处理中的最常见的也是最基础的...
XICE-HUAWEI-超级完... XICE-HUAWEI-超级完整的BGP-2 上一章的总结 BGP-大型路由协议,即可...
[前端笔记036]vue2之a... 前言 本笔记参考视频,尚硅谷:BV1Zy4y1K7SH p96 - p104 vue脚...
学前教育法实施,法律如何护航“... 6月1日,《中华人民共和国学前教育法》(以下简称“学前教育法”)正式实施,用法治方式破解突出问题,为...
贵州发布2025年避暑旅游季系... 贵阳网•甲秀新闻讯 5月30日,贵州省人民政府新闻办公室召开“2025‘避暑度假到贵州’新闻发布会”...
【中国那些事儿】美媒:中国专注... 【中国那些事儿】美媒:中国专注发展的政策展现强大战略眼光 中国日报网5月30日电 美国《纽约时报》...
国产化替代浪潮下,企业该如何保... 电子邮件,是日常工作到会经常用到的联系方式。但也正因为此,邮件攻击也成了...