深度学习中的label smoothing

本文深入探讨了Label Smoothing技术,一种用于改善深度学习模型泛化能力的正则化策略。通过将传统One-Hot标签转化为更平滑的形式,减少模型对训练数据的过度依赖,从而避免过拟合。文章详细解释了Label Smoothing的工作原理、数学公式及其在训练过程中的应用,同时提供了实际案例和参考链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

label smoothing:

交叉熵:

H ( p , q ) = − ∑ i = 1 n p ( x i ) log ⁡ ( q ( x i ) ) H(p, q)=-\sum_{i=1}^{n} p\left(x_{i}\right) \log \left(q\left(x_{i}\right)\right) H(p,q)=i=1np(xi)log(q(xi))

其中p(xi)是真值, q(xi) 是预测值。

交叉熵的问题:

交叉熵的真值直接把正例设置为1,负例设置为0,非常的依赖标签的正确性,这样会可能会出现***过拟合***,神经网络最小化训练误差的时候会尽可能让网络的输出拟合label,但是在训练数据不足以表征所以的样本特征的情况下,这就会导致网络过拟合(只能区分训练集里面的数据)。

  • 训练数据不足:过于拟合训练集而对于未见到的数据会分错
  • 不均衡
  • noise label: 会对训练集里出现的错误label数据拟合的很好等
label smoothing:
什么是label smoothing?

label smoothing是一种正则化的策略。可以让传统的one-hot类型标签更soft,这样在计算loss的时候能有效抑制过拟合现象,相当于减少真实样本标签的类别在计算损失函数时的权重,最终起到抑制过拟合的效果。
标签平滑被提出用于训练 Inception-v2 ,在Imagenet上有较少过拟合的效果。

公式:

q ′ ( y ∣ x ) = ( 1 − ϵ ) ∗ q ( y ∣ x ) + ϵ u ( y ) q^{\prime}(y | x)=(1-\epsilon) * q(y | x)+\epsilon u(y) q(yx)=(1ϵ)q(yx)+ϵu(y)
ϵ \epsilon ϵ属于[0, 1], q ′ ( y ∣ x ) q^{\prime}(y | x) q(yx) 让label的真实分布和先验分布 u ( y ) u(y) u(y)结合在了一起。一般另 u ( y ) = 1 / ( k − 1 ) 或 1 / k u(y) = 1/(k-1)或1 / k u(y)=1/k11/k
代入交叉熵后:
H ( q ′ , p ) = − ∑ i = 1 K q i ′ log ⁡ p i = ( 1 − ϵ ) H ( q , p ) + ϵ H ( u , p ) H\left(q^{\prime}, p\right)=-\sum_{i=1}^{K} q_{i}^{\prime} \log p_{i}=(1-\epsilon) H(q, p)+\epsilon H(u, p) H(q,p)=i=1Kqilogpi=(1ϵ)H(q,p)+ϵH(u,p)
相当于减少了预测值和真值之间的惩罚,增加了预测值与先验分布之间的惩罚。一般可以设 ϵ = 0.1 \epsilon = 0.1 ϵ=0.1

作用:

能够一定程度防止模型过拟合,解决对真值的依赖。

参考:
https://blog.youkuaiyun.com/e01528/article/details/85019274
https://blog.youkuaiyun.com/xys430381_1/article/details/89150027

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值