NLP相关技术

  • 标签平滑正则化(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 表示,在每一维上添加一个随机噪音。

注意:

  1. 较大的模型使用 label smoothing 可以有效的提升模型的精度,较小的模型使用 label smoothing 可能会降低模型的精度。
  2. 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

你可能感兴趣的:(NLP,自然语言处理,人工智能)