《Focal Loss & GHM Loss & Dice Los》论文笔记

Focal Loss

在二分类问题中,交叉熵损失定义如下:
在这里插入图片描述
y y y 表示真实值,取值0与1, p p p表示模型预测正类的概率,取值0到1。

为了表述方便,将上述公式重新表述为:
在这里插入图片描述
对于类别不平衡问题,我们可以为每个类别加不同的权重,使得每个类别对总损失的贡献程度有差异,如下所示, α t \alpha_t αt 表示每个类的权重值,一般可取值“类样本数的逆频数”。
在这里插入图片描述
与类加权的思想非常相似,Focal Loss 在交叉熵损失的基础之上,添加了一个权重调节项 ( 1 − p ) γ (1 - p )^\gamma (1p)γ。如下所示:
在这里插入图片描述
直观上理解,当超参数 γ > 0 \gamma > 0 γ>0 时,易分类的样本概率值较大,则给与一个相对较低的权重;而难样本预测概率值较低,则给与一个较大的权重。因此 Focal Loss 本质是促使模型向“难样本学习”。

最终原论文采用了“结合类别加权,与难易样本调节”两种加权策略,损失函数如下:
在这里插入图片描述
特定数据集上,实验结果表明 γ = 2 \gamma = 2 γ=2 , α = 0.25 \alpha = 0.25 α=0.25, 通常情况下, 这两个超参数需要一起调整
 

GHM Loss

还是从二分类交叉熵损失开始,损失函数定义如下:
在这里插入图片描述
p ∗ p^* p 表示真实值,取值0或者1, p p p为模型预测的概率,取值0至1。 x x x 为模型的输出(未经过sigmoid激活函数),则损失对 x x x 的梯度为:
在这里插入图片描述
定义新变量 g g g g g g为 损失函数对 x x x 的梯度的一阶模长, 其含义表示该样本的难易程度:
在这里插入图片描述
论文给出了一个训练好的模型,对样本梯度模长,也就是 g g g 变量取值,的分布如下:
在这里插入图片描述
可以看出,易分类的样本占了绝大多数,并贡献了大部分的损失。在此情况下,虽然模型已收敛,但依然难以处理那些难样本( g g g 取值0.8-1之间),这部分难样本的数量甚至比中等难度的样本数量还多,如果强行迫使模型学习这些非常难的样本(可以当做outlier——异常点),会使整个模型的效果降低。作者将上述这种分布称为“梯度模长不协调分布(disharmony gradient norm distribution)”—— 易学习样本非常多,难样本比中等难度的样本数量还多。

为解决“梯度模长不协调分布“问题,作者的思想是,促使模型多学习那些中等难度的样本,降低异常点,以及易学习样本对总损失的贡献。引入了梯度密度函数的概念:
在这里插入图片描述
在这里插入图片描述
∑ n = 1 N σ ε ( g k , g ) \sum_{n=1}^N\sigma_{\varepsilon}(g_k, g) n=1Nσε(gk,g) 表示的是以变量 g g g 为中心, ε \varepsilon ε 为范围, 如果第 k k k 个样本的梯度模长在此范围内,则统计量加1,否则不加。 l ε ( g ) l_{\varepsilon}(g) lε(g) 表示有效的长度, 两者相除表示单位密度。

最后定义新变量“梯度密度调和参数(gradient density harmonizing parameter)”:
在这里插入图片描述
将分子移到分母项, G D ( g i ) / N GD(g_i)/N GD(gi)/N 表示某部分样本占总样本的比例。如果 g g g是均匀分布, 则 G D ( g i ) = N GD(g_i)=N GD(gi)=N, 从而 β i = 1 \beta_i=1 βi=1。 如果非均匀分布, 则密度较大的样本类将会赋予较低的权重,而密度较小的样本类将过得较高的权重。

由于 β i \beta_i βi 是针对每一样本,那么可以将 β i \beta_i βi作为权重系数,调节每一样本对总损失的贡献:
在这里插入图片描述

比较GHM Loss 与 Focal Loss, 可以发现两者调节损失的方式的很相似,都是“以加权形式调节单一样本对总损失的贡献”,只是GHM 机制比较不好理解。
 

Dice Loss

Dice Loss 来源于 Dice Coefficient(DSC),DSC 系数用于评估两个集合的相似度,取值0至1, 值越大表示越相似:
在这里插入图片描述
A A A 表示模型预测为正类的样本集合, B B B 表示真实标签为正类的样本集合,根据定义,DSC 与 F1 值是相同的, 因此 Dice Loss 是直接优化F1
在这里插入图片描述

TP、FP、FN 是离散值,上述DSC系数是基于离散值的。对于一个样本,可以定义连续形式(soft form)的 DSC 如下:
在这里插入图片描述

y i 1 y_{i1} yi1 表示第 i i i 个样本为正类的标签值, p i 1 p_{i1} pi1 为模型对第 i i i 个样本为正类的预测概率。直观来看,如果第 i i i 个样本为正类, 则预测概率越高,DSC值就越高。当第 i i i 个样本为负类时,分子为零,为了保留负类的 DSC 系数值,添加平滑项 γ \gamma γ 进行处理:
在这里插入图片描述

DSC值越大,表示单个样本预测的越准确,转换为损失如下(分母中项可以取平方,取平方有利于模型更快收敛):
D S C ( x i ) = 1 − 2 ∗ p i 1 ∗ y i 1 + γ p i 1 + y i 1 + γ DSC(x_i) =1 - \frac{2 * p_{i1} * y_{i1} + \gamma}{p_{i1} + y_{i1} + \gamma} DSC(xi)=1pi1+yi1+γ2pi1yi1+γ

另外为了加强处理难样本的能力,DL也可以借助Focal Loss 中的思想,转换为如下形式:

D S C ( x i ) = 2 ∗ ( 1 − p i 1 ) α ∗ p i 1 ∗ y i 1 + γ ( 1 − p i 1 ) α ∗ p i 1 + y i 1 + γ DSC(x_i) = \frac{2 * (1 - p_{i1})^\alpha * p_{i1} * y_{i1} + \gamma}{(1 - p_{i1})^\alpha * p_{i1} + y_{i1} + \gamma} DSC(xi)=(1pi1)αpi1+yi1+γ2(1pi1)αpi1yi1+γ
 

参考资料

1.《Focal Loss for Dense Object Detection》
2.《Gradient Harmonized Single-stage Detector》
3. 《Dice Loss for Data-imbalanced NLP Tasks》
4. NLP类别不均衡问题之loss大集合

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值