Raki的读paper小记:Dice Loss for Data-imbalanced NLP Tasks

82 篇文章 10 订阅

Abstract & Introduction & Related Work

  • 研究任务
    • 数据不平衡的NLP任务
  • 已有方法和相关工作
  • 面临挑战
    • 负样例明显多于正样例,而且大量的容易负面的例子压倒了训练。最常用的交叉熵标准实际上是以准确性为导向的,这在训练和测试之间产生了差异。在训练时,每个训练实例对目标函数的贡献是相同的,而在测试时,F1得分更多关注的是正面实例
  • 创新思路
    • 将交叉熵损失函数替换成dice loss
    • 为了进一步减轻训练中来自容易负样例例子的支配性影响,我们建议将训练中的例子与动态调整的权重联系起来,不强调容易负样例
  • 实验结论
    • 多个数据集上sota

在这里插入图片描述

MRC任务的正负样本不平衡的情况更加严重,这是由于MRC的任务通常被形式化为预测以查询和上下文为条件的开始和结束索引,并且给定一个任意长度的文本块,只有两个标记是积极的(或感兴趣的),其余的都是背景

数据不平衡会导致以下两个问题:

  1. 训练与测试的差异:如果不平衡标签,学习过程往往会收敛到一个强烈偏向于大多数标签的类别的点。这实际上造成了训练和测试之间的差异:在训练时,每个训练实例对目标函数的贡献是相同的,而在测试时,F1对正面和负面的实例给予相同的权重
  2. 容易负样本的压倒性影响:大量的负样本代表着容易负样本也是很多的,大量容易的例子往往会淹没训练,使得模型不能充分学习区分正面的例子和难负样本的例子

交叉熵和最大似然估计都不能解决以上两个问题

为了处理第一个问题,我们建议用基于Sørensen-Dice系数(Sorensen, 1948)或Tversky指数(Tversky, 1977)的损失来代替CE或MLE。Sørensen-Dice系数,简称dice loss,是精度和召回率的谐波平均值。它对假阳性(FPs)和假阴性(FNs)的重视程度相同,因此对数据不平衡的数据集更有免疫力。Tversky指数通过使用一个权重来交换精度和召回率来扩展dice loss,它可以被认为是 F β F_β Fβ 分数的近似值,因此具有更大的灵活性。因此,我们用dice loss或Tversky指数来代替CE损失,以解决第一个问题

仅仅使用dice loss或Tversky指数是不够的,因为它们无法解决容易负样本的例子的支配性影响。这本质上是因为dice loss实际上是F1分数的一个软版本。以二元分类任务为例,在测试时,只要一个例子的概率小于0.5,就会被归类为负数,但训练时会尽可能地把这个值推到0。这种差距对于平衡的数据集来说不是一个大问题,但是如果很大一部分的训练例子是容易负样本的例子,那就非常不利了:容易负样本的例子很容易支配训练,因为它们的概率可以很容易地被推到0。同时,该模型几乎不能区分难负样本的例子和阳性的例子。受计算机视觉中focal loss(Lin等人,2017)的启发,我们提出了一个动态权重调整策略,它将每个训练实例与一个与(1-p)成比例的权重联系起来,并且这个权重随着训练的进行而动态变化。这一策略有助于在训练过程中不强调自信的例子,因为它们的概率p接近于1,使模型注意到难负样本,从而减轻了容易负样本的支配性影响。结合这两种策略,我们观察到在广泛的数据不平衡的NLP任务上有明显的性能提升

Losses

Notation

在这里插入图片描述

Cross Entropy Loss

vanilla交叉熵和带权重的交叉熵损失函数,每一个 x i x_i xi 的贡献都是等同的

α i \alpha_i αi 为逆类别频率

l g ( n − n t n t + K ) \large lg(\frac{n-n_t}{n_t}+K) lg(ntnnt+K) 来计算系数
在这里插入图片描述

数据重采样策略是根据人类设计的标准从原始数据集中抽出训练样本来构建一个新的数据集,例如从每个类中提取相等的训练样本。这两种策略都相当于在训练过程中改变数据分布,因此具有相同的性质。从经验上看,这两种方法并没有被广泛使用,因为选择 α α α 的技巧性很强,特别是对于多类分类任务,不恰当的选择很容易偏向稀有类

Dice Coefficient and Tversky Index

DSC是用来衡量两个集合的相似度的
在这里插入图片描述
在我们的例子中,A是包含由特定模型预测的所有正面例子的集合,而B是数据集中所有金色正面例子的集合。当应用于布尔数据的真阳性(TP)、假阳性(FP)和假阴性(FN)的定义时,就可以写成以下样子:

在这里插入图片描述
可以看到 ( y i 1 = 0 ) (y_{i1}=0) (yi1=0) 负样例没有对DSC做出贡献,加入一个 γ \gamma γ 使其变得平滑
在这里插入图片描述
前人提出分母用平方的形式来更快的收敛,两个版本:
在这里插入图片描述
TI,一种近似F值的方法,是dice coefficient更平凡的例子
在这里插入图片描述

Self-adjusting Dice Loss

考虑数据集中只有一个样本 x i x_i xi,只要 p i 1 p_{i1} pi1 比0.5大就被分为正类,其F1分数:
在这里插入图片描述
比较公式5和公式11,我们可以看到公式5实际上是F1的一种软形式,使用连续的p而不是二进制的I(pi1>0.5)。这个差距对于平衡的数据集来说不是一个大问题,但是如果很大比例的训练例子是容易负样本的,那就非常不利了:容易负样本的例子可以很容易地主导训练,因为它们的概率可以很容易地被推到0。同时,该模型几乎不能区分难负样本和正例子,这对最终的F1性能有很大的负面影响

为了解决这个问题,提出以下公式
在这里插入图片描述
仔细观察公式.12可以发现,它实际上模仿了视觉中物体检测的focal loss(简称FL)(Lin等人,2017)的想法。focal loss是为单阶段物体检测器提出的,以处理训练过程中遇到的前景与背景的权衡问题。它通过增加一个 ( 1 − p ) γ (1-p)^γ (1p)γ 因子来降低分配给分类良好的例子的损失,导致最终损失为 − ( 1 − p ) γ l o g p -(1-p)^γlogp (1p)γlogp

在这里插入图片描述

在表2中,我们总结了所有上述的损失。图1从导数的角度给出了一个解释。DSC的导数在p超过0.5后就接近于零,这表明模型在正确分类后对例子的关注度降低。但对于其他损失,只有当概率正好为1时,导数才会达到0,这意味着他们会尽可能地将p推到1。
在这里插入图片描述

Experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Ablation Studies

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Conclusion

在本文中,我们提出了基于dice loss来缩小训练目标和评估指标(F1分数)之间的差距。实验结果表明,所提出的损失函数有助于在不改变模型结构的情况下实现明显的性能提升

Remark

如果它work了,那么它就是牛逼

作为一个非模型的组件,能普遍提点,除了牛逼还能说什么呢?

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值