标签平滑论文笔记:2020《When Does Label Smoothing Help?》
标签平滑
- 介绍
- 实验1:标签平滑作用
- 实验2:针对ECE与温度缩放进行对比(作用相近)
- 实验3:标签平滑对知识蒸馏影响(变差)
- 实验3知识蒸馏:互信息I(X;Y)
- 链接
介绍
看成距离:
这里记倒数第二层的激活函数(logistc函数,即sigmoid函数)后输出值(在最后权重和softmax概率分布之前的值)为 x 。(倒数第二层偏置是1)
pk是样本属于第k个类的概率值,wk表示最后一层对应第k类的权重。
把wk看成第k类的模板(template),xTwk的值可以看成对欧式距离的一种简化表示(xTwk为负,对应x和带权重wk的第k类欧氏距离大,则分类的概率小;xTwk为正,对应欧氏距离小,分类的概率大):
其中 xTx在计算softmax输出时被分离出来,wkTwk是每个类的常数。
损失函数(交叉熵):
此样本对应的标签的第k个类的概率值是yk(one-hot硬标签)。这个网络的损失函数(交叉熵):
标签平滑
平滑参数:α
标签平滑鼓励网络的输出在接近带权重w(模板)比例的正确类的同时,与不正确的带权重比例的类保持等距。(具体不是很理解,从实验1的可视化结果可看出来)
实验1:标签平滑作用
可视化过程:
- 选择三个类。
- 找到过这三个类的模板比例的平面的标准正交基。
- 把这三个类的样本的倒数第二层的激活函数的值投影在平面上。
实验:
数据集: CIFAR-10,CIFAR-100,ImageNet
网络结构: AlexNet,ResNet-56,Inception-v4
没有标签平滑(without label smoothing)记为 w/o LS。
第一行:CIFAR-10/AlexNet 上的“飞机”、“汽车”和“鸟”三类。
第二行:CIFAR-100/ResNet-56上的“河狸”、“海豚”与“水獭”。
第三行:ImageNet/Inception-v4上的“猫鼬”、“鲤鱼”和“切刀肉”。
第四行:ImageNet/Inception-v4上的“玩具贵宾犬”、“ 迷你贵宾犬”和“鲤鱼”。
注意第四行的不同,选了两个相似类和一个其他类。
前两列对应的分别没有标签平滑的训练集和验证集。后两列是平滑后的对比,明显看出标签平滑使得类间远离,类内缩进,毫无关系的三个类(不包括第四行)呈正三角形。
即标签平滑鼓励倒数第二层激活函数之后的结果靠近正确的类的模板,并且同样的远离错误类的模板。
实验2:针对ECE与温度缩放进行对比(作用相近)
expected calibration error (ECE)预期校准误差
郭等人已经表明,现代神经网络虽然比过去更好的校准网络具有更好的性能,但校准不佳且过于自信。为了测量校准,作者计算了估计的预期校准误差(ECE)。他们证明了一个简单的后处理步骤,温度缩放,可以减少ECE并校准网络。温度缩放包括在应用softmax运算符之前将logits乘以标量。在这里,我们展示标签平滑也减少了ECE,可用于校准网络而无需温度缩放。
【补充:2017《On Calibration of Modern Neural Networks》
因为测试集的样本数量有限,不能单纯的用测试集的正确率来说明模型的好坏。我们希望达到一个这样的想法:最高精确度达到p的测试样本的结果的置信度(Confidence)为p。即(完美校准calibration)
好好体会这个式子,简单解释就是预测样本是哪一类的概率值为p(神经网络的输出向量中的最大的一项的概率),希望对它的预测的正确率达到概率p。(即下图中第二行的图中,希望是对角线的效果。)
上图x轴均代表置信率(Confidence),即样本的输出向量的最大的概率p (属于[0,1]),% of samples表示对应的样本占总样本的百分比,比如说x轴0.8,y轴0.05表示样本输出向量的最大概率是0.8的样本数量占总样本的5%,实际上p的分布是连续的,但我们用离散试验(阶梯图)。具体如下图(下标i针对第i个样本)
accuracy代表真实的预测正确率,红色的框框代表真实试验和对角线的差距。我们希望调整模型使得confidence和accuracy一致,即ECE最小化:
具体的将数据集划分成M个小块Bm实验(其中总样本为n个):
文章给出了调整ECE的方法之一:温度缩放,即
因为它仅改变输出的概率值,而不改变输出的预测结果。
补充完】
可以说在对角线右下方的实验信心偏高,但实际准确率不足,效果不好。
参照对角线,既没有温度变换(T=1)又没有作标签平滑(α=0)的蓝线表现最差。
机器翻译:略。
实验3:标签平滑对知识蒸馏影响(变差)
数据集:MNIST
老师:one-hot+dropout的训练误差为0.67%
学生:知识蒸馏训练误差为0.74%
老师:标签平滑的训练误差为0.59%
学生:知识蒸馏训练误差为0.91%
数据集:CIFAR-10
老师:ResNet-56
学生:AlexNet
关注:
1. 老师用标签平滑的正确率(图中深蓝实线)
2. 学生用标签平滑的正确率(不用知识蒸馏,图中浅蓝实线)
3. 学生用知识蒸馏的正确率(对应老师用one-hot标签,蒸馏T变化,图中红虚线)
4. 学生用知识蒸馏的正确率(对应老师用平滑标签,蒸馏T=1,图中深蓝虚线)
对于1,2,γ=α(标签平滑度);对于3,4,γ定义为上图中式子,计算了教师在训练集上的错误样本分配。
由于γ意义不同,1,2同时比较(图中深蓝实线,浅蓝实线);3,4同时比较(图中红虚线,深蓝虚线)。
1,2:标签平滑率的不断增加可以提高教师的准确性,而略微降低学生网络的基准性能。
3,4:可以看出使用硬目标的教师网络做知识蒸馏得到的学生网络表现会更好一些。
实验3知识蒸馏:互信息I(X;Y)
互信息I(X;Y),Mutual Information,缩写为MI,表示知道Y后X的不确定性是多少。这里简化计算X,Y互信息。
这里X是两个类中的600个样本的随机变量,Y表示每个样本输入神经网络的倒数第二层的激活函数后的再乘相应权重的两个值的差的随机变量。(至于细节文章并没有透露,反正Y表示的输出是一维,猜测是用到了真实和平滑的标签)即互信息I(X;Y)表示两个类的信息量(H(X))在知道Y后会变成多少( I(X;Y) = H(X) - H(X|Y) )。
定义的互信息输出范围在(0,log(N))之间。
由图可以看到,未使用标签平滑的教师网络(蓝色线)会保存更多的两个类的信息,使用标签平滑的教师网络(红色线)的两个类的信息则会更少,这证实了标签平滑会造成一定信息损失的猜想。最终作者提出了一个结论:教师网络准确率更高并不是蒸馏一个好的学生网络的充分条件。
【 补充:
KL散度D(p(x)||p(y)) 是描述两个分布的差异;
熵H(x) 表示随机变量x含的信息量(信息量多,则不确定量就大);
条件熵H(x|y) 表示已知y后,x的信息量;
互信息I(x;y)=H(x)-H(x|y)=KL(p(x,y)||p(x)p(y)) 表示知道y后x的信息量变成多少,当x,y无关时,H(x|y)=0,则知道y后x的信息量还是原来那么多。用散度理解是x,y的联合分布和边缘分布之积的差异。
补充完 】
链接
论文原文: When Does Label Smoothing Help?
论文翻译博文
参考博文
KL散度、互信息
标签平滑论文笔记:2020《When Does Label Smoothing Help?》相关推荐
- 经验 | 深度学习中从基础综述、论文笔记到工程经验、训练技巧
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:本文授权转自知乎作者跑者小越,https://zhuanla ...
- 从基础综述、论文笔记到工程经验、训练技巧:值得一看的目标检测好文推荐...
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文授权转自知乎作者跑者小越,https://zhuanlan.z ...
- 标签平滑深度学习:Google Brain解释了为什么标签平滑有用以及什么时候使用它(SOTA tips)...
点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 作者:Less Wright 编译:ronghuaiyang 导读 标签平滑算是 ...
- Hierarchical Graph Network for Multi-hop Question Answering 论文笔记
Hierarchical Graph Network for Multi-hop Question Answering 论文笔记 2020 EMNLP,Microsoft 365, 这篇文章所提出的层 ...
- [轻笔记] label smoothing(标签平滑)
看google AI最新的开源代码,发现有个技巧--label smoothing,网上查到的公式与代码中的公式不一样,于是做个笔记,并对见到的觉得有问题的关于label smoothing的博客也列 ...
- 推翻Hinton NeurIPS论文结论!审稿人评价:该文章在标签平滑和知识蒸馏的关系上取得了重大突破!...
今天给大家介绍一篇 ICLR 2021 的文章,来自卡耐基梅隆大学,香港科技大学,北京大学和马萨诸塞大学阿默斯特分校(是 MEAL 系列作者的一篇最新力作). 论文标题: Is Label Smoot ...
- 论文笔记:3D-CVF(ECCV 2020)
论文笔记:3D-CVF: Generating Joint Camera and LiDAR Features Using Cross-View Spatial Feature Fusion for ...
- label smooth标签平滑【ConvE(知识图谱补全-链接预测)中使用到】
今天我们来聊一聊label smooth这个tricks,标签平滑已经成为众所周知的机器学习或者说深度学习的正则化技巧.标签平滑--label smooth regularization作为一种简单的 ...
- 【推荐算法】Knowledge-aware Graph Neural Networks with Label Smoothness Regularization(KGNN-LS)论文笔记
题目:Knowledge-aware Graph Neural Networks with Label Smoothness Regularization for Recommender System ...
最新文章
- 有人说:穷学IT富搞金融!程序员究竟是不是一帮苦孩子在做?
- 手动修改user-agent
- framework调试
- AtCoder - 4172 Modulo Summation 贪心
- 服务器防火墙,linux下iptables防火墙配置相关
- 数据分析融入至BI工具的新思路
- linux常见命令用法之(二)
- r 语言初学者指南_阻止自然语言处理的初学者指南
- QTableView详细使用说明
- 算法题目打卡:Ques20201024
- Spring Thymeleaf无法显示图片
- matlab单服务台排队系统仿真,matlab单服务台排队系统实验报告.doc
- 锁存器—74HC573D
- win7蓝牙怎么连接_小米智能手环怎么连接手机蓝牙
- System.out简单解释
- 小白如何自学后端开发
- c语言里宏定义算变量嘛,C语言宏定义的一些总结
- 热点登陆打不开网页 服务器已关闭,手机登录路由器管理页面打不开怎么办?...
- 空气动力研究与发展中心计算机所,中国空气动力研究与发展中心报告.pdf
- 归一化数字角频率_说一说信号与系统中的“归一化处理“
热门文章
- PXI和PXI Express的比较
- 用HTML+CSS做一个漂亮简单的个人网页~个人相册介绍个人主页模板(6个页面) ~学生HTML个人网页作业作品~...
- python中 什么意思_Python里面的这几个梗,你能回答出来吗
- T3出行快手首秀直播PK赛项目总曝光破亿
- 让你的浏览器3D起来
- c语言ax2十bx十c 0求根,ax2+bx+c=0的求根公式
- 如何防止木马病毒盗窃QQ密码?
- 联想微型计算机3000 c305,桌面一体机新宠 联想3000 C305评测
- HMS Core 机器学习服务6.4.0版本更新啦,文本翻译功能增加10种小语种语言类型
- java实现游戏对战过程_【Java实战】Java实现简易坦克对战小游戏