- 标签平滑正则化(Label Smoothing Regularization, LSR)
分类模型,采用交叉熵
为目标函数,模型预测的 label 概率分布q(x)
,真实的 label 概率分布p(x)
.
对 label 编码有两种方式: hard label, soft label
hard label: [1, 0, 0, 0, 0] 类似one-hot
soft label: [0.9, 0.025, 0.025, 0.025, 0.025] 类似softmax
交叉熵损失函数: H ( p , q ) = − ∑ i = 1 k p ( x i ) ∗ l o g ( q ( x i ) ) H(p, q) = - \sum_{i=1}^{k} p(x_{i})*log(q(x_{i})) H(p,q)=−∑i=1kp(xi)∗log(q(xi)) ,其中p为真实label分布,q为预测label分布。
当采用 one-hot 编码方式,仅有y为1的一维参与loss计算,其他的都忽略了。
由于训练集有限时,不能覆盖所有情况,若编码标签不够soft,模型对标签过分相信,从而导致模型过拟合,缺乏泛化能力。(尤其label之间存在相对关系)
label smoothing 将原来的 one-hot 表示,在每一维上添加一个随机噪音。
注意:
- 较大的模型使用 label smoothing 可以有效的提升模型的精度,较小的模型使用 label smoothing 可能会降低模型的精度。
- Epsilon 描述了标签的软化程度。
一种方式:在label真实分布p(x)
中,加入噪声分布u(y)
,加权求和构成一个新分布:
p'(x)
p'(x) = (1-e) * q(x) + e * u(y)
其中,e∈[0,1],为了方便计算,u(y)
一般服从简单的均匀分布,则u(y) = 1/K
,K表示模型预测类别数目。
p'(x) = (1-e) * p(x) + e / K