2021.8.10 update focal loss
, GHM
Focal Loss
和GHM
损失均是在目标检测任务,针对正负样本,其中正样本数量较少,难样本中正样本数量较多。
Focal Loss
论文链接:Focal Loss for Dense Object Detection
focal loss
分别针对样本不平衡和难易程度不同的问题
最常用的分类损失为交叉墒损失函数,考虑二分类,其损失函数如下:
为了解决样本类别不均衡问题,作者采用系数进行平衡,得到如下的式子:
为了解决样本难易程度不同问题,作者认为易分样本对模型的提升效果非常小,模型应该主要关注难分样本,故根据预测概率进行平衡,得到如下的式子:
其中是超参数,用于缩放,当比较大时,则为正易和负难,此时正易权重降低,而负难权重增加;反之,当比较小的时候,则对应正难和负易,此时正难权重增加,而负易权重降低。
所以,最后focal loss
的公式为:
其中,原文作者设置效果最好。
同理,多分类的focal loss
为:
GHM
论文链接:Gradient Harmonized Single-stage Detector
focal loss
过分关注难样本,可能存在离群点;focal loss
两个超参数需要联合调参
依旧考虑二分类问题,认为,则作者对进行求导,有:
根据求导的链式法则,则损失函数对于特征的梯度为:
由此,作者定义一个梯度范数来表示难易程度,其式子为:,分析可以看出对于难样本,其梯度范数值接近1,而对于易样本,其梯度范数值很小。作者通过统计样本的梯度范数与数量的关系,得到下图左边的分布图像:
作者的目的是既希望减少易样本的权重,其对模型更新意义不大减缓迭代,又希望减少极难样本的权重,其可能是离群点影响收敛。如上图的分布,在梯度范数值很小的时候,其数量很多,表明存在大量易样本;而在梯度范数值很大的时候,其数量较多,表明存在一些极难样本和离群点;梯度范数区间的中间部分数据则相对较少。所以作者根据样本数量去加上权重,定义梯度密度:
梯度密度的定义为指定区间的样本个数,其中,表示区间的长度,表示对应区间上的样本个数,其公式定义如下:
由此,根据上文定义得到调和参数,其中表示第个样本,表示样本总量。当较大时,则其权重较小。由此得到最终的分类损失函数:
参考文献:
- 5分钟理解Focal Loss与GHM——解决样本不平衡利器