Lable Smoothing 是分类问题中错误标注的一种解决方法。是一种正则化方法, 为了降低模型过拟合(overfitting)
出自inception v3,Transformer中就用到了
我们用softmax最后去输出一个概率的时候,label是正确的是1,错误的是0。也就是说,我们的训练是想让正确的那个分类的softmax的值逼近于1. 但我们知道softmax是很难逼近于1的,需要输出接近无限大的时候,才能逼近于1,使得训练比较困难。那么我们就不要搞成0和1这样,把1的值稍微降一些,降成0.9。在Transformer中,甚至降成了0.1,即对于正确的词,需要softmax输出>0.1就可以了
对于分类问题,特别是多分类问题,常常把向量转换成one-hot-vector(独热向量)。我们采用one-hot标签去进行计算交叉熵损失时,只考虑到训练样本中正确的标签位置(one-hot标签为1的位置)的损失,而忽略了错误标签位置(one-hot标签为0的位置)的损失。这样一来,模型可以在训练集上拟合的很好,但由于其他错误标签位置的损失没有计算,导致预测的时候,预测错误的概率增大。为了解决这一问题,标签平滑的正则化方法便应运而生。
没有标签平滑的损失计算的例子
有标签平滑的例子
标签平滑的公式
标签平滑的应用场景
只要loss损失函数中涉及到了cross entropy,都可以应用标签平滑处理。
标签平滑的实质就是促使神经网络中进行softmax激活函数激活之后的分类概率结果向正确分类靠近,即正确的分类概率输出大(对应的one-hot标签为1位置的softmax概率大),并且同样尽可能的远离错误分类(对应的one-hot标签为0位置的softmax概率小),即错误的分类概率输出小。
Label Smoothing 标签平滑 (Label smooth regularization, LSR)
于 2021-03-29 12:26:10 首次发布