Focal Loss for Dense Object Detection 是ICCV2017的Best student paper,文章思路很简单但非常具有开拓性意义,效果也非常令人称赞。
GHM(gradient harmonizing mechanism) 发表于 “Gradient Harmonized Single-stage Detector”,AAAI2019,是基于Focal loss的改进,也是个人推荐的一篇深度学习必读文章。
1、Focal Loss
Focal Loss的引入主要是为了解决难易样本数量不平衡(注意,区别于正负样本数量不平衡)的问题,实际可以使用的范围非常广泛,为了方便解释,还是拿目标检测的应用场景来说明:
单阶段的目标检测器通常会产生高达100k的候选目标,只有极少数是正样本,正负样本数量非常不平衡。我们在计算分类的时候常用的损失——交叉熵的公式如下:
为了解决正负样本不平衡的问题,我们通常会在交叉熵损失的前面加上一个参数,其实之前在上色项目的处理中,我们有通过计算不同类别的像素数目,然后基于像素数对不同类别赋予不同的权重,即:
尽管权重系数平衡了正负样本,但对难易样本的不平衡没有任何帮助。而实际上,目标检测中大量的候选目标都是易分样本。由于数量极不平衡,易分样本的数量相对来讲太多,最终主导了总的损失。而本文的作者认为,易分样本(即,置信度高的样本)对模型的提升效果非常小,模型应该主要关注与那些难分样本(这个假设是有问题的,是GHM的主要改进对象)
这时候,Focal Loss就上场了!
一个简单的思想:把高置信度§样本的损失再降低一些不就好了吗!
这样以来,训练过程关注对象的排序为正难>负难>正易>负易。
2、GHM
GHM(gradient harmonizing mechanism) 解决了上述两个问题。
说白了就是在概率梯度的两端,较为难分的样本和较为易分的样本会集中;这个时候以梯度的倒数作为惩罚系数,可以很好的平衡计算样本带来的负面效应。
因此作者引入梯度密度的概念,并在此基础上使用梯度系数的倒数作为惩罚权重,使得模型更为关注中间区域的易分对象,对极端容易分辨的和极端难以分辨的予以忽视。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218760.html原文链接:https://javaforall.net
