主要内容:
文章提出用 Dice Loss 替代 交叉熵(standard cross-entropy loss) 在数据不平衡的 NLP 任务上面提升效果
1. 数据不平衡
- 命名实体识别任务中,传统的BIO方法,数据序列中 O 标签一般是其他标签的5倍左右
-
阅读理解任务中,一般识别出答案的开始和结束位置,导致最后转换为二分类,序列中只要两个为正例,其余全是负例
2. 数据不平衡导致的问题:
- the training-test discrepancy:训练和测试阶段不一致的问题:
训练阶段,每个训练实例对目标函数的贡献一样,测试阶段F1值对正负例给与相同的权重 - the overwhelming effect of easy-negative examples:容易判别的负样本太多,那么模型很难学习到真正区分正样本与负样本的边界,很难捕捉到特征
3. 论文解决方案
- 提出基于 Sørensen–Dice系数的误差,是准确率和召回率的中和,对将负类预测为正类(False Positive FP)和将正类预测为负类(False Negative FN)给予同样的重要性,因此更适合样本不平衡的数据集,
- 主要是提出一种动态权重调整策略来解决容易判别的负类别过多的问题
交叉熵:
加权交叉熵:
从公式看出,在分类任务中,交叉熵损失是每个实例对最后的目标函数贡献相同,于采用加权交叉熵将不同类别的实例赋予不同的权重贡献,
可以看出,这个公式使得类别多的实例赋予更少的权重,类别少的实例赋予更多的权重值
- 另一中方式是数据重采样,从原始的数据集中采样获得新的训练集,从每个类别中选取同样多的训练样例,综合来看,使用weighted cross entropy的方法和对训练数据采样的方法本质是相同的,都是在训练时改变数据的分布。这两种方法都不常用,因为难以确定何时的a值,不合适的a可能会导致偏向较少的类型。
-
文章提出的自适应Dice Coefficient(DSC)与 Dice Loss(DL)
Dice Coefficient 是一个类似于F1的指标:
其中A是被预测为正的样本,B为所以的正样本
在二分类数据中,由TP,FP,FN定义可改写为:
对于一个样本 Xi 来说,其对应的DSC loss是:
但是这样一来,一个负样例(yi1 = 0) 就对目标函数不起作用,于是加入平滑因子之后:
后来为了加快收敛,于是将分母进行平方之后,Dice Loss:
Tversky Index(TI)与Tverskey Loss(TL)
-
TI本身可以视为Fβ值,更具推广意义的表达式为:
它有效平衡了 false-negatives FN和 false-positive FP,当α = β = 0.5 时,Tversky index 则退化成了 DSC
-
Tversky Loss是:
Self-adusting Dice Loss(DSC)
-
由于DL中,对于容易被判别的负样本,模型判别的概率很容易趋近于0,同时,模型也不容易判别在决策边界附近的正负样本。因此加入衰减因子为: