When Does Label Smoothing Help?

article/2025/8/19 2:48:14

原文链接:When Does Label Smoothing Help?

Hinton老师的这篇paper,解释了标签平滑策略在什么情况下是有效的?

摘要

通过从hard targets加权平均得到的soft targets,可以显著提升多分类神经网络的泛化性和训练速度。这种标签平滑策略可以避免模型过于“武断”,且已经在图片分类、语言翻译以及语音识别等任务上取得了sota效果。尽管已经有广泛应用,但对标签平滑的理解略显匮乏。这篇文章中,我们从实证角度论述,标签平滑除了提高模型泛化性之外,还可以提高模型的校准性(model calibration),可以有效提升模型的beam-search。然而,我们也观察到,在teacher-network训练中使用标签平滑策略,知识蒸馏得到的student-network性能会下降。为了解释这个问题,我们对网络的倒数第二层可视化,观察标签平滑是怎么改变模型表征的。发现,标签平滑有助于让模型从更紧凑的同类样本中学习,但这也导致了不同类别样本之间的相似性信息的损失,从而影响了模型蒸馏的效果。

引言

w/o: without

w/ :  with

采用标签平滑策略前后的几个任务效果对比:

这篇文章阐述了结合标签平滑策略训练的网络的行为,并说明了这种网络的几个有意思的地方。本文贡献如下:

1)在倒数第二层的线性映射中引入可视化方法。这种可视化方法可以对比有无标签平滑策略时,表征的差异。

2)我们论证了标签平滑策略可以隐含地起到对模型校准的作用。因此,模型预测的置信度和精度可以更好地对齐。

3)我们说明了标签平滑策略会降低知识蒸馏的效果。即在teacher-network中采用标签平滑策略,会导致student-network中的模型性能下降。我们进一步说明了导致这种结果变差的原因,是由于logits中的信息缺失造成的。

标签平滑策略定义:

k类的预测:

p_k = \frac{e^{x_t*w_k}}{\Sigma_{l=1}^L e^{x_t*w_k}}

交叉熵:

H(y, p)=\Sigma_{k=1}^K-y_k*log(p_k)

平滑后的标签:

y_k^{LS}=y_k(1-\alpha)+\alpha/K

倒数第二层表征

label smoothing encourages the activations of the penultimate layer to be close to the template of the correct class and equally distant to the templates of the incorrect classes.

隐含的模型校准

标签平滑可以降低ECE(estimated expected calibration error),可以在不使用temperature scaling的情况下校准网络。

图2左边表示ResNet-56预测的可靠性示意图:中间虚线表示理想的模型,准确率等于置信度。蓝色实线表示在hard-targes上训练,不使用temperature scaling的情况,可以看到这个模型明显过拟合了,因为准确率低于置信度。蓝色带十字架的实现表示在hard-targes上训练,使用temperature scaling(1.9)的情况,可以看到斜率接近于1。绿色实现表示在soft-targets上训练,不使用temperature scaling的情况,可以看出来,对比使用temperature scaling,可以取得类似的模型校准的效果。

 表3表示在不同的平滑率\alpha和温度参数T的情况下,ECE的变化情况。

图3和表4表示在机器学习上的测试情况:

 

 

知识蒸馏

如果在teacher model中增加LS的优化,teacher model的效果会变好,但是蒸馏的student的模型反而会变差。

在没有LS的时候,各个错误类别的logits不同,这个携带了信息,而且有些正确类别的样本反而会更靠近错误类别。但是增加了LS之后,这些信息都被抹去了。

结论&未来工作 

标签平滑强制对分类进行更紧密的分组,同时强制在聚类之间进行更等距的间隔。这种特性可以通过我们提出的可视化设计在低维空间中观察出来。标签平滑对泛化性和模型校准是有益的,但会减低知识蒸馏的效果。我们用信息丢失的角度解释了这个原因。在标签平滑策略下,鼓励模型同等地对待每个负类别。在硬标签策略下,缺乏对后面几层表征的约束,在预测类和实例之间缺乏logit变化。这可以通过估计输入样本和输出logit之间的互信息来量化,我们已经论述了,标签平滑可以降低互信息。这一发现提出了一个新的研究方向,重点关注标签平滑与信息瓶颈原理之间的关系,并对压缩、泛化和信息传输产生影响。


http://chatgpt.dhexx.cn/article/T4VReA7d.shtml

相关文章

【NLP基础理论】02 N-grams语言模型和Smoothing

注: Unimelb Comp90042 NLP笔记 相关tutorial代码链接 N-grams Language Model (N-grams语言模型) 目录 N-grams Language Model (N-grams语言模型)1.1 Deriving n-gram language models(推导&#xff0…

Good-Turning Smoothing介绍及推理

在介绍Good-Turning Smoothing之前,我们可以先看一个有趣的例子: 假设你在钓鱼,已经抓到了18只鱼: 10条鲤鱼,3条黑鱼,2条刀鱼,1条鲨鱼,1条草鱼,1条鳗鱼… Q1:…

关于label smoothing的理解

背景介绍 提到label smoothing(标签平滑),首先介绍一下什么是hard label和soft label. 简单来说,hard label就是非1即0,不存在既可能是A也可能是B的情况,soft label则不同,它并不要求所有的“精…

Label-Smoothing

论文:Rethinking the Inception Architecture for Computer Vision 个人理解: 就是让softmax不那么相信某一类的数据,增强泛化性。主要操作就是,在制作标签的时候,属于那一类就让网络90%相信他,其他…

MATLAB Smoothing Spline 拟合

参考 The Elements of Statistical Learning (chapter 5.4) MATLAB - Smoothing Splines MATLAB - fit 1. 基础 Smoothing Spline 可以用于离散数据的函数拟合。考虑下面的问题:在所有存在二阶连续导数的函数中寻找拟合函数 f ( x ) f(x) f(x),可以使…

Label Smoothing分析

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 作者丨王峰知乎 来源丨https://zhuanlan.zhihu.com/p/302843504 编辑丨极市平台 转自 | 极市平台 导读 Label Smoothing在图像识别中能稳定涨点,但在人脸的…

label smoothing

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

标签平滑(Label Smoothing)详解

一、什么是label smoothing? 标签平滑(Label smoothing),像L1、L2和dropout一样,是机器学习领域的一种正则化方法,通常用于分类问题,目的是防止模型在训练时过于自信地预测标签,改善…

标签平滑Label Smoothing

Lable Smoothing 是分类问题中错误标注的一种解决方法。 对于分类问题,特别是多分类问题,常常把向量转换成one-hot-vector(独热向量) one-hot带来的问题:(对于独热的简单解释:https://blog.csd…

模型优化之Label Smoothing

1. 引言 Label Smoothing 又被称之为标签平滑,常常被用在分类网络中来作为防止过拟合的一种手段,整体方案简单易用,在小数据集上可以取得非常好的效果。 Label Smoothing 做为一种简单的训练trick,可以通过很少的代价&#xff08…

Smoothing

文章目录 返回主目录Add-one SmoothingAdd-K SmoothingInterpolationGood-Turning Smoothing 返回主目录 这是一个系列的文章,点击返回综合目录页 Add-one Smoothing P A d d − 1 ( W i ∣ W i − 1 ) C ( W i − 1 , W i ) 1 C ( W i ) V P_{Add-1}(W_i|W_{i-…

分类任务中常用的Label smoothing

目录 1.Label smoothing的原理 2.pytorh中如何使用Label smoothing 3.适用场景 1.Label smoothing的原理 交叉熵损失(softmax cross Entropy)中,常用公式: yi: 表示样本i的label,正类为1,负类为0; pi:…

平滑(smoothing)

1 问题的提出 由于在现实生活中,我们的观察尺度有限,我们的样本(输入)很可能没有办法包含所有可能的情况,那么我们怎么去处理先前看不见的事件呢? 举个例子,莎士比亚使用了30000个双连词(bigra…

【简单理解】自然语言处理-平滑方法(Smoothing)

【简单理解】自然语言处理-平滑方法(Smoothing) 简单介绍平滑策略 平滑策略的引入,主要使为了解决语言模型计算过程中出现的零概率问题。零概率问题又会对语言模型中N-gram模型的Perplexity评估带来困难。 零概率问题,就是在计算实例的概率时&#xf…

二十二、动网格Smoothing Spring方法及实例

1 概念介绍 最近一直忙着其他的事情,好久都没有更新,让各位家人们久等了。 今天我们接着聊一聊动网格问题,我们在文章二十一中介绍了动网格的Layering方法,但是Layering方法的局限性很高,只能对四边形网格或六面体网格…

numpy安装

1.以管理员的形式打开cmd 2.安装numpy插件 pip install numpy 3.安装成功后,输入pip list 命令查看是否安装成功 pip list 3.创建 #使用array创建一维数组 list01 [1,2,3,4] np01 np.array(list01) print(np01) print(type(np01)) #使用array创建二维数组 …

Matplotlib安装

安装matplotlib 使用python中pip命令安装 使用python中pip命令安装 第一步:使用winR输入cmd命令打开命令窗口,找到python安装目录下的Scripts目录,使用python -m pip install matplotlib命令 如果出现以下错误或警告,则需按照指示…

node安装

1、进入node官网,下载长期支持版,安装 2、输入node -v,能查询到版本号即为安装成功 3、为方便管理,修改默认的缓存和模块存放路径(C:\Users\Administrator\AppData\Roaming\npm),在nodede 安装文…

如何安装仿宋GB2312字体

步骤: 一、下载仿宋_GB2312.zip压缩包并解压缩; 百度网盘:https://pan.baidu.com/s/1L7yYKhoDmUw1RpNXVS5KDQ 提取码:eclz 阿里云盘:https://www.aliyundrive.com/s/ih3kDDidcGa 二、双击打开字体文件,…

安装Matplotlib

文章目录 一、pip安装二、conda安装1、anaconda navigator安装2、condan命令安装 一、pip安装 运行如下的命令即可 pip install matplotlib二、conda安装 Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等。conda是一个开源的…