吕鑫作者

Google Brain最新论文:标签平滑何时才是有用的?

标签平滑(Label Smoothing):是深度学习中广泛使用的一种优化方式,不同于传统多分类问题中使用确定的标签作为硬目标,标签平滑使用硬目标的加权平均和标签上的均匀分布作为软目标。

01

论文背景

Christian Szegedy[1]等人在2016年第一次提出了标签平滑方法,该方法使用硬目标的加权平均和标签上的均匀分布作为软目标,可以显著的提升多种神经网络的泛化能力和学习速度。近些年来,标签平滑被证明可以用于很多的模型和任务中,包括图像分类机器翻译语音识别等。

虽然标签平滑的使用场景很广泛,但是人们对它的理解还是不够深刻。比如什么情况下可以用标签平滑而什么情况下不能用?我们今天介绍的这篇来自Google Brain论文便对标签平滑方法进行了深入的研究,能够比较好的解决这个问题。论文中指出标签平滑并不是万金油可以很好的应用到各种任务中,比如在知识蒸馏中使用标签平滑便会显著的降低学生网络的表现。为了形象的展示标签平滑的原理,论文作者设计了一个巧妙的可视化方法来说明标签平滑是如何改变网络倒数第二层学习到的表示的。此外该论文还对模型校准和知识蒸馏进行了深入分析,我们将在下面逐一介绍。

02

可视化实验

在介绍具体的实验之前,我们先对硬目标和软目标做一个形式化的描述。在一个分类问题中,如果使用硬目标作为优化目标,我们的交叉熵函数可以写作:

其中如果是正确的类y_k为1否则为0,p_k是神经网络预测是第k类的可能性。如果我们使用软目标,可将上式中的y_k替换为下式:

从标签平滑的定义我们可以看出,它鼓励神经网络选择正确的类,并且正确类和其余错误的类的差别是一致的。与之不同的是,如果我们使用硬目标,则会允许不同的错误类之间有很大不同。基于此论文作者提出了一个结论:标签平滑鼓励倒数第二层激活函数之后的结果靠近正确的类的模板,并且同样的远离错误类的模板。

作者设计了一个可视化的方案来证明这件事情,具体方案为:(1)挑选3个类;(2)选取通过这三个类的模板的标准正交基的平面;(3)将倒数第二层激活函数之后的结果映射到该平面。作者做了4组实验,第一组实验为在CIFAR-10/AlexNet(数据集/模型)上面“飞机”、“汽车”和“鸟”三类的结果,可视化结果如下所示:

从中我们可以看出,加了标签平滑之后(后两张图),每个类聚的更紧了,而且和其余类的距离大致一致。第二组实验为在CIFAR-100/ResNet-56(数据集/模型)上的实验结果,三个类分别为“河狸”、“海豚”与“水獭”,我们可以得到类似的结果:

在第三组实验中,作者测试了在ImageNet/Inception-v4(数据集/模型)上的表现,三个类分别为“猫鼬”、“鲤鱼”和“切刀肉”,结果如下:

因为ImageNet有很多细粒度的分类,可以用来测试比较相似的类之间的关系。作者在第四组实验中选择的三个类分别为“玩具贵宾犬”、“ 迷你贵宾犬”和“鲤鱼”,可以看出前两个类是很相似的,最后一个差别比较大的类在图中用蓝色表示,结果如下:

可以看出在使用硬目标的情况下,两个相似的类彼此比较靠近。但是标签平滑强制要求每个示例与所有剩余类的模板之间的距离相等,这就导致了后两张图中两个类距离较远,这在一定程度上造成了信息的损失。

03

模型校准实验

神经网络的的输出中除了分类结果之外,一般还会包含一个置信度分数。理想情况下,这个置信度分数应该是和预测准确率一致。例如,如果100个预测结果的置信度是80%,我们希望有80个结果预测正确的,如果是这样,我们就认为这个网络上是校准的。

Chuan Guo[2]等人最早于2017年提出,尽管现代的神经网络性能比过去更好,但是它们的校准效果更差,并且会过于自信。它们提出了Temperature Scaling的方法进行后处理,可以降低模型的预期校准误差(ECE)。在上面的实验中,我们可以看出加了标签平滑之后,同一类的表示聚集的更紧了,这在一定程度上可以防止神经网络变得过于自信。不会过于自信的神经网络是否能够提高模型的校准呢?作者也做了相应的实验来研究这个问题。

以图像识别任务为例,我们可以将准确率作为置信度的函数画出来,如果准确率在对角线下面,就说明该网络过于自信。作者在CIFAR-100/ResNet-56上做了实验,结果如下:

图中蓝色的线是没有加Temperature Scaling的硬目标结果,它显著的在对角线下面,因而可以知道模型确实有过于自信的现象。有叉号的蓝线是加了Temperature Scaling的硬目标结果,绿线是没有加Temperature Scaling的标签平滑结果,可以看出标签平滑可起到和Temperature Scaling类似的模型校准结果。

04

知识蒸馏实验

在这一节中,作者发现在知识蒸馏模型中,尽管标签平滑可以提高教师网络的准确率,但是使用标签平滑训练的教师网络相比于使用硬目标训练的教师网络,其相应的学生网络的表现却要更差。作者以ResNet-56作为教师网络,以AlexNet作为学生网络进行了实验,结果如下:

上面的一张图是教师网络的准确率,下面一张图是学生网络的准确率,红虚线代表的是使用硬目标的教师网络下的学生网络,蓝虚线代表的是使用标签平滑的教师网络下的学生网络,蓝实线是学生网络的baseline表现。可以看出使用硬目标的教师网络下的学生网络表现会更好一些。

造成这种现象的原因是标签平滑会在一定程度上造成信息损失,我们在上文中也提到了。为了验证这个猜想,作者做了另一个实验,考虑了在训练过程中模型的互信息变化情况,结果如下:

我们可以看到,未使用标签平滑的教师网络(蓝色线)会保存更多的互信息,使用标签平滑的教师网络(红色线)的互信息则会更少,这证实了标签平滑会造成一定信息损失的猜想。最终作者也提出了一个结论:教师网络准确率更高并不是蒸馏一个好的学生网络的充分条件。

论文原文:

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

参考文献:

[1] Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 2818-2826.

[2] Guo C, Pleiss G, Sun Y, et al. On calibration of modern neural networks[C]//Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017: 1321-1330.

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
理论知识蒸馏论文深度学习标签平滑Google Brain
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

知识蒸馏技术

Hinton 的工作引入了知识蒸馏压缩框架,即通过遵循“学生-教师”的范式减少深度网络的训练量,这种“学生-教师”的范式,即通过软化“教师”的输出而惩罚“学生”。为了完成这一点,学生学要训练以预测教师的输出,即真实的分类标签。这种方法十分简单,但它同样在各种图像分类任务中表现出较好的结果。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

推荐文章
暂无评论
暂无评论~