标签平滑 label smoothing

深度学习中最常见的问题就是模型的过拟合,我们通过正则化的技术来减少模型过拟合的情况;常用的正则化技术有:dropout,权重衰减,早停机制;除此之外,标签平滑也是一种正则化技术,因为它限制了softmax的最大概率,使得最大概率和其他概率相差不会特别大。
举个栗子:
标签进入模型中一般都会转化为one-hot编码,假设有个五分类的任务,某个标签会变成 [ 0 , 0 , 0 , 1 , 0 ] [0,0,0,1,0] [00010],前向传播经过softmax时,五个类别的概率是 [ 0.05 , 0.15 , 0.1 , 0.65 , 0.05 ] [0.05,0.15,0.1,0.65,0.05] [0.050.150.10.650.05],此时我们通过交叉熵来计算损失: C E = − ∑ i = 1 n y i l o g p i CE=-\sum_{i=1}^n y_ilogp_i CE=i=1nyilogpi,该样本的损失是 − l o g 0.65 -log0.65 log0.65,我们发现在计算损失时只考虑了最大输出概率的损失,这就意味模型只会优化正确标签的损失,而不关注错误标签的损失,那模型就不会去关注如何降低错误标签的预测概率,这将会导致模型在训练集上拟合的好,在测试集上拟合很糟糕,泛化能力差。
经过标签平滑后,我们设置平滑因子为 α = 0.1 α=0.1 α=0.1
y 1 = ( 1 − α ) ∗ [ 0 , 0 , 0 , 1 , 0 ] = [ 0 , 0 , 0 , 0.9 , 0 ] y_1=(1-α)*[0,0,0,1,0] =[0,0,0,0.9,0] y1=(1α)[0,0,0,1,0]=[0,0,0,0.9,0]
y 2 = α ∗ [ 1 , 1 , 1 , 1 , 1 ] = [ 0.1 , 0.1 , 0.1 , 0.1 , 0.1 ] y_2=α*[1,1,1,1,1] =[0.1,0.1,0.1,0.1,0.1] y2=α[1,1,1,1,1]=[0.1,0.1,0.1,0.1,0.1]
o n e − h o t 标 签 将 会 变 为 [ 0.1 , 0.1 , 0.1 , 1 , 0.1 ] one-hot标签将会变为[0.1,0.1,0.1,1,0.1] onehot[0.1,0.1,0.1,1,0.1]
此时再计算损失为 ( 0.1 ∗ l o g p 1 + 0.1 ∗ l o g p 2 + 0.1 ∗ l o g p 3 + 1 ∗ l o g p 4 + 0.1 ∗ l o g p 5 ) (0.1*logp_1+0.1*logp_2+0.1*logp_3+1*logp_4+0.1*logp_5) 0.1logp1+0.1logp2+0.1logp3+1logp4+0.1logp5
损失明显变大,这种情况模型不光会关注去减小正确标签的损失,也会关注去减小错误标签的损失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石头猿rock

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值