label smoothed cross entropy 标签平滑交叉熵

在将深度学习模型用于分类任务时,我们通常会遇到以下问题:过度拟合和过度自信。对过度拟合的研究非常深入,可以通过早期停止, 辍学,体重调整等方法解决。另一方面,我们缺乏解决过度自信的工具。标签平滑 是解决这两个问题的正则化技术。通过对 label 进行 weighted sum,能够取得比 one hot label 更好的效果。

label smoothing 将 label 由 [公式] 转化为 [公式],公式为:

如果分类模型的预测结果概率反映了其准确性,则对它进行校准例如,考虑我们数据集中的100个示例,每个示例的模型预测概率为0.9。如果我们的模型经过校准,则应正确分类90个示例。类似地,在另外100个预测概率为0.6的示例中,我们期望只有60个示例被正确分类。

模型校准对于

  • 模型的可解释性和可靠性
  • 确定下游应用程序的决策阈值
  • 将我们的模型集成到集成或机器学习管道中

过度自信的模型未经过校准,其预测概率始终高于准确性。例如,对于精度仅为0.6的输入,它可以预测0.9。请注意,测试误差较小的模型仍然可能过于自信,因此可以从标签平滑中受益。


标签平滑用y_hot和均匀分布的混合替换一键编码的标签矢量y_hot

y_ls =(1- α)* y_hot + α / K

其中K是标签类别的数量,而α是确定平滑量的超参数。如果α = 0,我们获得原始的一热编码y_hot如果α = 1,我们得到均匀分布。


当损失函数是交叉熵时,使用标签平滑,模型将softmax函数应用于倒数第二层的对数向量z,以计算其输出概率p在这种设置下,交叉熵损失函数相对于对数的梯度很简单

∇CE= p - y = softmax(z)-y

其中y是标签分布。特别是,我们可以看到

  1. 梯度下降将尝试使p尽可能接近y
  2. 渐变范围介于-1和1。

一键编码的标签鼓励将最大的logit间隙输入到softmax函数中。直观地,大的logit间隙与有限梯度相结合将使模型的适应性降低,并且对其预测过于自信。

相反,如下面的示例所示,平滑标签鼓励较小的logit间隙。在[3]中表明,这将导致更好的模型校准并防止过度自信的预测。


假设我们有K = 3类,并且我们的标签属于第一类。令[ abc ]为我们的logit向量。

如果我们不使用标签平滑,则标签矢量是单热编码矢量[1、0、0]。我们的模型将一个 » b一个 » Ç例如,将softmax应用于logit向量[10,0,0]会得出[0.9999,0,0]舍入到小数点后4位。

如果我们使用α = 0.1的标签平滑,则平滑的标签向量≈[0.9333,0.0333,0.0333]。logit向量[3.3322,0,0]在softmax之后将平滑的标签向量近似为小数点后4位,并且间隙较小。这就是为什么我们称标签平滑为一种正则化技术,因为它可以抑制最大的logit变得比其余的更大。

原文地址:https://www.cnblogs.com/baiyunwanglai/p/13276052.html