Focal Loss是在Focal Loss for Dense Object Detection这篇论文里提出来的。ICCV2017 RBG和Kaiming的论文。提出Focal Loss是为了使得一阶段检测能达到和二阶段检测一样的准确率,同时还能保证速度。
作者认为one-stage和two-stage的表现差异主要原因是大量前景背景类别不平衡导致。在双阶段算法中,在候选框阶段,通过得分和nms筛选过滤掉了大量的负样本,然后在分类回归阶段又固定了正负样本比例,使得前景和背景相对平衡。而one-stage需要产生约100k的候选位置,虽然有类似的采样,但是训练仍然被大量负样本所主导。
损失函数形式
Focal loss是在交叉熵损失函数基础上进行的修改,二分类交叉熵损失:
可见普通的交叉熵对于正样本而言,输出概率越大损失越小。对于负样本而言,输出概率越小则损失越小。此时的损失函数在大量简单样本的迭代过程中比较缓慢且可能无法优化至最优。
Focal Loss首先在原有的基础上加了一个因子
其中γ>0更关注于困难的、错分的样本(概率在0.5附近的,离0和1都很远的),减少易分类样本的损失。