我们知道,softmax容易使模型过度自信过拟合,label smoothing作为一种改善方案可以提高模型的泛化能力。

label_smoothing

上篇博客推导过反向求导的结果如下softmax求导/label_smoothing求导/知识蒸馏求导
y^i=softmax(zi)=exp⁡zi∑j=1Kexp⁡zjloss=−∑i=1Nyilog⁡y^i\hat{y}_i=\text{softmax}{(z_i)}=\frac{\exp{z_i}}{\sum_{j=1}^K\exp{z_j}}\\ loss=-\sum_{i=1}^Ny_i\log\hat{y}_i y^​i​=softmax(zi​)=∑j=1K​expzj​expzi​​loss=−i=1∑N​yi​logy^​i​
其中
yi={1−ϵi=trueϵK−1otherwisey_i=\left\{\begin{array}{ll}{1-\epsilon} & {i=true} \\ {\cfrac{\epsilon}{K-1}} & {otherwise}\end{array}\right. yi​=⎩⎨⎧​1−ϵK−1ϵ​​i=trueotherwise​
求导结果与上面softmax相同
∂loss∂zi=y^i−yi\frac{\partial{loss}}{\partial{z_i}}=\hat{y}_i-y_i ∂zi​∂loss​=y^​i​−yi​
令导数等于0,将y^i\hat{y}_iy^​i​代入
{exp⁡(zi)exp⁡(zi)+∑j≠iexp⁡(zj)=1−ϵi=trueexp⁡(zi)∑jexp⁡(zj)=ϵK−1i≠true\left\{\begin{array}{ll} \cfrac{\exp{(z_i)}}{\exp{(z_i)}+\sum_{j\neq i}\exp{(z_j)}}=1-\epsilon & {i=true} \\ \cfrac{\exp{(z_i)}}{\sum_j\exp{(z_j)}}=\cfrac{\epsilon}{K-1} & {i\neq true}\end{array}\right. ⎩⎪⎪⎪⎨⎪⎪⎪⎧​exp(zi​)+∑j​=i​exp(zj​)exp(zi​)​=1−ϵ∑j​exp(zj​)exp(zi​)​=K−1ϵ​​i=truei​=true​
假定错误类别的概率相等,化简上式得:
{zi=log⁡((1−ϵ)(K−1)ϵ)+zji=truezi=log⁡((1−ϵ)(K−1)ϵ)+zji≠true\left\{\begin{array}{ll} z_i=\log{\left({\cfrac{(1-\epsilon)(K-1)}{\epsilon}}\right)}+z_j & {i=true} \\ z_i=\log{\left({\cfrac{(1-\epsilon)(K-1)}{\epsilon}}\right)}+z_j & {i\neq true}\end{array}\right. ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧​zi​=log(ϵ(1−ϵ)(K−1)​)+zj​zi​=log(ϵ(1−ϵ)(K−1)​)+zj​​i=truei​=true​
将i≠truei\neq truei​=true时记为α\alphaα得:
zi∗={log⁡((1−ϵ)(K−1)ϵ)+αi=trueαi≠truez_i^{*}=\left\{\begin{array}{ll} \log{\left({\cfrac{(1-\epsilon)(K-1)}{\epsilon}}\right)}+\alpha & {i=true} \\ \alpha & {i\neq true}\end{array}\right. zi∗​=⎩⎪⎨⎪⎧​log(ϵ(1−ϵ)(K−1)​)+αα​i=truei​=true​
所以,使用label smoothing编码,损失函数为交叉熵的话,错误类别的logit不会要求是负无穷,当正确类别和错误类别的logit有一定误差,接近log⁡((1−ϵ)(K−1)ϵ)\log{\left({\cfrac{(1-\epsilon)(K-1)}{\epsilon}}\right)}log(ϵ(1−ϵ)(K−1)​)的情况下,loss就会很小趋于0。
简单的label smoothing为什么能够涨点呢

label smoothing理论推导相关推荐

  1. 目标检测的Tricks | 【Trick1】Label Smoothing

    如有错误,恳请指出. 文章目录 1. Label Smoothing理论概要 2. Label Smoothing实现代码 1. Label Smoothing理论概要 假设我们的分类只有两个,一个是 ...

  2. NB朴素贝叶斯理论推导与三种常见模型

    转自:http://www.tuicool.com/articles/zEJzIbR 朴素贝叶斯(Naive Bayes)是一种简单的分类算法,它的经典应用案例为人所熟知:文本分类(如垃圾邮件过滤). ...

  3. 朴素贝叶斯理论推导与三种常见模型

    朴素贝叶斯(Naive Bayes)是一种简单的分类算法,它的经典应用案例为人所熟知:文本分类(如垃圾邮件过滤).很多教材都从这些案例出发,本文就不重复这些内容了,而把重点放在理论推导(其实很浅显,别 ...

  4. Label Smoothing标签平滑详解+Pytorch保姆级实际操作

    目录 简介 从提出Label Smoothing的论文出发 不使用LS时的情况 不使用LS时可能带来的问题 LS作为正则化的一种方式 具体操作 为何LS可以避免偏激的输出 对LS的另一个角度理解 Py ...

  5. 【Pytorch】Label Smoothing

    理论介绍可以参考 [Inception-v3]<Rethinking the Inception Architecture for Computer Vision> 中的 4.5 Mode ...

  6. MSCKF理论推导与代码解析

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 在SLAM后端中,主要有两种主流方法用于优化:基于滤波的方法和基于非线性的方法.基于滤波的方法主要有M ...

  7. GAN完整理论推导与实现,Perfect!

    本文是机器之心第二个 GitHub 实现项目,上一个 GitHub 实现项目为从头开始构建卷积神经网络.在本文中,我们将从原论文出发,借助 Goodfellow 在 NIPS 2016 的演讲和台大李 ...

  8. UA MATH566 统计理论 推导卡方拟合优度检验

    UA MATH566 统计理论 推导卡方拟合优度检验 卡方拟合优度检验主要是检验categorical data的,假设一共有ddd种category,每一种理论比例为pip_ipi​,满足 ∑i=1 ...

  9. 机器学习入门学习笔记:(2.1)线性回归理论推导

    理论推导   机器学习所针对的问题有两种:一种是回归,一种是分类.回归是解决连续数据的预测问题,而分类是解决离散数据的预测问题.线性回归是一个典型的回归问题.其实我们在中学时期就接触过,叫最小二乘法. ...

最新文章

  1. SAP QM 模块主数据
  2. linux docker 目录挂载映射
  3. 数据中心运营之4P标准化运维规程
  4. [Leetcode总结] 102.二叉树的层序遍历
  5. python公式_Python读取excel文件中带公式的值的实现
  6. Java笔记-使用CXF开发WebService服务器
  7. epoll哪些触发模式_epoll的内部实现 百万级别句柄监听 lt和et模式非常好的解释...
  8. php soapclient 超时,PHP SoapClient超时
  9. fluent二维叶型仿真_FLUENT太阳能热水器仿真
  10. 结巴分词python教程_Python笔记:用结巴分词制作词云图
  11. ITOP4412开发板学习前的准备2 -- 安装ADB驱动
  12. catia中的螺旋伞齿轮画法_使用CATIA绘制斜齿轮(直齿轮)得画法教程.doc
  13. Hutool操作数据库的基本封装
  14. 丢失的遗传力--Missing heritability
  15. 树莓派4B安装中文输入法(Googlepinyin)
  16. 使用Python连接阿里云盘
  17. 百度飞桨领航团python零基础训练营笔记
  18. SEO优化技术之关键字
  19. python特殊符号
  20. day16_雷神_前端04

热门文章

  1. 如果你正在考虑少儿编程课,我有几个良心建议
  2. 数据结构:带头双向循环链表——增加、删除、查找、修改,详细解析
  3. iteye上推荐的网站(转)
  4. 在农村养殖什么最赚钱,推荐这两个项目,一年收入还是不错的
  5. linux配置本地镜像yum源
  6. 对接极兔速递物流开放平台API接口指南-快递鸟
  7. 一程序员在阿里HBase团队的所感所悟
  8. 基于深度学习算法实现视频人脸自动打码
  9. ESP8266+Arduino实现控制【开关外设装置-记录一】
  10. android oreo自带壁纸,OREO 8图标包