深度学习中的各种tricks_1.0_label_smoothing
来源:互联网 发布:大数据都采用什么技术 编辑:程序博客网 时间:2024/06/05 16:31
深度学习中的各种tricks_1.0_label_smoothing
2017/11/16 - Thursday - 第一次修改
[ 用于整理遇到的NN设计中使用的不同结构和trick的原理与实现 ]
label smoothing (标签平滑)
在读cleverhans的示例代码时发现code中对于train_Y即训练标签做了label smoothing,于是找到paper中对于该方法的描述和理论分析,如下:
对于分类问题,常规做法时将类别做成one-hot vector,然后在网络最后一层全链接的输出后接一层softmax,softmax的输出是归一的,因此我们认为softmax的输出就是该样本属于某一类别的概率。由于标签是类别的one-hot vector, 因此表征我们已知该样本属于某一类别是概率为1的确定事件,而其他类别概率都为0。
softmax:
其中
cross entropy loss:
交叉熵对于logits可微,且偏导数形式简单:
对于groundtruth为one-hot的情况,即每个样本只有惟一的类别,则
因此提出一种机制,即要使得模型可以 less confident 。思路如下:考虑一个与样本无关的分布
可以理解为,对于 Dirac 函数分布的真实标签,我们将它变成以如下方式获得:首先从标注的真实标签的Dirac分布中取定,然后,以一定的概率
对于该操作的数学物理含义可以用交叉熵的概念说明:
可以认为 loss 函数分别以不同的权重对 predicted label 与标注的label 的差距 以及 predicted label 与 先验分布的差距 进行惩罚。根据文章的报告,可以对分类性能有一定程度的提升。(In our ImageNet experiments with K = 1000 classes, we used u(k) = 1/1000 and = 0.1. For ILSVRC 2012, we have found a consistent improvement of about 0.2% absolute both for top-1 error and the top-5 error )
reference:
- Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the Inception Architecture for Computer Vision[C]// Computer Vision and Pattern Recognition. IEEE, 2016:2818-2826.
- https://github.com/tensorflow/cleverhans/blob/master/cleverhans_tutorials/mnist_tutorial_tf.py
- 深度学习中的各种tricks_1.0_label_smoothing
- 深度学习中的各种tricks_2.0_maxout
- 深度学习中的 Batch_Size
- 深度学习中的初始化
- 深度学习中的初始化
- 深度学习中的可视化
- 深度学习中的 Batch_Size
- 深度学习中的panda
- 深度学习中的Numpy
- 自然语言处理、深度学习的各种资源
- 各种编程语言的深度学习库
- 深度学习各种优化函数详解
- 深度学习之各种优化算法
- 深度学习之各种优化算法
- 深度学习各种常见的Net
- 深度学习各种优化方法比较
- 深度 | 理解深度学习中的卷积
- 深度学习中的一些理解
- 窗口管理
- Redis 学习笔记(三)之散列类型命令
- React Native 常见错误汇总
- MyEclipse开发中Ctrl+T不显示集成机构处理方法
- wampserver启动丢失msvcr110.dll、vcruntime140.dll等此类文件
- 深度学习中的各种tricks_1.0_label_smoothing
- 融创向新乐视提供17.9亿 孙宏斌解局对乐视动作频频
- HTTP,SOAP和REST的比较
- spring 原理及自己理解
- 机器学习方案落地8步曲
- ELK日志监控系统搭建
- 动态sql语句 Java类写sql
- selenium webdriver的testNG框架的介绍及使用
- Ubuntu里权限相关问题