论文来源:IEEE Transactions on Pattern Analysis and Machine Intelligence 2020 论文链接:Focal Loss for Dense Object Detection | IEEE Xplore 论文代码:https://github.com/facebookresearch/Detectron
@inproceedings{lin2017focal,
title={Focal loss for dense object detection},
author={Lin, Tsung-Yi and Goyal, Priya and Girshick, Ross and He, Kaiming and Doll{\'a}r, Piotr},
booktitle={Proceedings of the IEEE international conference on computer vision},
pages={2980--2988},
year={2017}
}
标签 | 目的 | 方法 | 总结 |
---|---|---|---|
#Anchor #单阶段 | 解决正负样本严重不均衡的问题 | retinanet和focal loss | 针对训练过程中的实际问题,修改损失函数以达到优化的目的 |
作者认为之前的单阶段检测算法精度不高的原因可能是前后景类别(正负样本)严重不均衡导致的。因此作者重新设计了一个损失:Focal Loss,其能降低可以较好分类的样本的损失权重,防止训练过程中大量的easy negatives给检测器带来的压制影响,并基于Focal Loss设计提出并训练了RetinaNet。
RetinaNet的结构如下图:
主要包括三个部分:
作者提到基于R-CNN模式的两阶段算法在解决训练过程中的正负样本不均衡的方法是:
Focal loss的做法是设置一个sacling factor,如下图的(1-p_t)^{\gamma},其可以自动的对easy example进行降权,从而使模型更关注hard example。
首先,对于二分类任务,普通的交叉熵如下:
如果定义p_t:
那么交叉熵可以写成CE(p,y)=CE(p_t)=-log(p_t)
有一种常见的用于解决类别不均衡的方法是添加一个权重变量\alpha \in [0,1]:
Focal Loss的做法是添加了一个权重变量(1-p_t)^{\gamma}:
因此当p_t趋近于1时,可以较好分类的样本被降权;而\gamma可以用来调节权重比率。除此之外,还可以将\alpha和FL损失相结合:
除此之外还有其他的Focal Loss变种形式。