label smoothing

背景:当我们将交叉熵损失函数用于分类任务的时候,我们期望真实的标签为1,而其他虚假的标签为0。换句话来说,我们认为原始数据的标注是准确无误的。但是,真实情况并不是这样,在某些领域,或者使用一些数据增强的方法时,都会存在着一些标注错误的问题出现。

因此,label smoothing的方法可以降低我们对于标签的信心,比如我们将损失目标的值从1降低到0.9,当然与此同时我们需要稍微增加一下其他label(label==0)的目标值。这种方法被称为标签平滑。

操作方式:

import tensorflow as tftf.keras.losses.binary_crossentropy(y_true,y_pred,from_logits = False, label_smoothing=0)"""
当label_smoothing 参数非0时, 指数平滑为 1/num_classesnew_onehot_labels = onehot_labels * (1-label_smoothing) + label_smoothing / num_classes比如而分类任务中,label_smoothing = 0.2时new_labels = [0 1] * (1-0.2) + 0.2/2 = [0 1] * (0.8) + 0.1
new_labels = [0.1, 0.9]
"""# 或者可以直接设置即可
train[np.where(y==0)] = 0.1
train[np.where(y==1)] = 0.9

一般来说,我们将0,1看作true or false。 而设置为0.1和0.9则可以看作,此情况存在可能性很低,此情况存在情况很大。但是使用这样的标签,在训练的过程中,同时导致了更小的梯度,因此我并不确定这个方法是否在程序中会起到作用。

通过实验对比可以看出,在有错误标签存在的情况下,确实是可以拥有更好的结果当然,这个平滑指数α需要去搜索才能得到最佳值,默认值0.1在大多数情况下效果很好。

Reference

1.https://arxiv.org/pdf/1906.02629.pdf

2.https://www.flixstock.com/label-smoothing-an-ingredient-of-higher-model-accuracy/

3.https://medium.com/@nainaakash012/when-does-label-smoothing-help-89654ec75326

4.https://www.kaggle.com/shahules/tackle-with-label-smoothing-proved

label smoothing相关推荐

  1. label smoothing(标签平滑)

    label smoothing是一种在分类问题中,防止过拟合的方法. label smoothing(标签平滑) 交叉熵损失函数在多分类任务中存在的问题 label smoothing(标签平滑) 参 ...

  2. 【正则化】Label Smoothing详解

    1. 概述 Label Smoothing(标签平滑),像 L1.L2 和 Dropout 一样,是一种正则化方法,通常用于分类问题,目的是防止模型在训练时过于自信地预测标签,改善泛化能力差的问题(也 ...

  3. 优化策略5 Label Smoothing Regularization_LSR原理分析

    Label Smoothing Regularization(LSR)是一种通过在输出y中添加噪声,实现对模型进行约束,降低模型过拟合(overfitting)程度的一种约束方法(regulariza ...

  4. 【AI面试】hard label与soft label,Label Smoothing Loss 和 Smooth L1 Loss

    往期文章: AI/CV面试,直达目录汇总 [AI面试]NMS 与 Soft NMS 的辨析 [AI面试]L1 loss.L2 loss和Smooth L1 Loss,L1正则化和L2正则化 在一次询问 ...

  5. [轻笔记] label smoothing(标签平滑)

    看google AI最新的开源代码,发现有个技巧--label smoothing,网上查到的公式与代码中的公式不一样,于是做个笔记,并对见到的觉得有问题的关于label smoothing的博客也列 ...

  6. 标签平滑论文笔记:2020《When Does Label Smoothing Help?》

    标签平滑 介绍 实验1:标签平滑作用 实验2:针对ECE与温度缩放进行对比(作用相近) 实验3:标签平滑对知识蒸馏影响(变差) 实验3知识蒸馏:互信息I(X;Y) 链接 介绍   看成距离:   这里 ...

  7. label smoothing理论推导

    我们知道,softmax容易使模型过度自信过拟合,label smoothing作为一种改善方案可以提高模型的泛化能力. label_smoothing 上篇博客推导过反向求导的结果如下softmax ...

  8. 【损失函数】NLLLoss损失、CrossEntropy_Loss交叉熵损失以及Label Smoothing示例与代码

      机缘巧合下,近期又详细学习了一遍各损失函数的计算,特此记录以便后续回顾.   为了公式表示更加清晰,我们设 y n ∈ { 1 , 2 , - , K } {{y_n} \in \{ 1,2, \ ...

  9. 浅谈Label Smoothing技术

    目录 一.从 One-Hot 到 Label Smoothing 二.Label Smoothing 的简单实现 三.Label Smoothing 的优缺点 四.什么时候使用 Label Smoot ...

  10. 分类任务中常用的Label smoothing

    目录 1.Label smoothing的原理 2.pytorh中如何使用Label smoothing 3.适用场景 1.Label smoothing的原理 交叉熵损失(softmax cross ...

最新文章

  1. CentOS系统配置solr
  2. Hadoop中RPC机制详解之Server端
  3. 基于FPGrowth挖掘算法的乳腺癌中医症型关联规则挖掘
  4. 布局管理器android,Android课程---布局管理器之相对布局(一)
  5. row number函数_Hive排名函数ROW_NUMBER,RANK 和 DENSE_RANK的区别
  6. crtsiii型无砟轨道板_无砟轨道裂缝破损怎么修补
  7. Python实例讲解 -- wxpython 最小到托盘及欢迎图片
  8. springMVC中数据流解析与装载
  9. Cisco 2960交换机配置
  10. java反编译工具_移动app安全测试 - 客户端 - 反编译保护
  11. Linux服务器异常关机,重启启动后weblogic无法启动
  12. 宏山激光sigmatube套料软件多台电脑安装教程
  13. tableau制作中国地图(全)
  14. 用devc++表白_【重大表白墙】19级倪yl,风吹起如花般破碎的流年,而你的笑容摇晃摇晃,成为我命途中最美的点缀...
  15. 中央民族大学计算机考研2020,2020年中央民族大学856计算机学科专业综合考研复习资料...
  16. php 随机字符串函数,PHP 生成随机字符串的方法函数
  17. Ditto 复制粘贴
  18. DTOJ 4426. 爱乐之城
  19. php portal 接口,WIFI Portal登录(示例代码)
  20. 英雄联盟电竞bway公开S12宣传片 IG夺冠镜头置结尾 这是有寓意

热门文章

  1. 在python中使用autoit_Python调用autoit
  2. 如何提升患者在就医过程中的体验感?
  3. JavaScript 深入学习教程
  4. oracle项目案例脚本
  5. DDD基础篇学习总结
  6. 微信抢红包的方案_微信关注抢红包方案
  7. Microsoft账户打不开登录界面、无法登录,但网络可正常上网,解决方法
  8. Google推出应用程序时间管理控件
  9. python爬虫——POST请求百度翻译案例(最后制作成小程序)
  10. 应用软件提示服务器正在运行,Win10开机提示服务器正在运行中怎么办?