论文地址:Focal Loss for Dense Object Detection
ICCV2007 RBG和Kaiming大神新作
要解决的问题:
一阶段网络出现后,发现一阶段网络的检测准确率不如二阶段网路。经过一系列分析后,作者认为是:样本类别不均衡导致的。
因为二阶段网络会将ROI进行排序,根据比例挑选出一定数量的正负样本,保持了样本均衡。而一阶段网络,大多数格子点是不存在目标的,所以负样本占据了大部分。而对于这些负样本,大多数都是很用以区分的,希望模型在训练的时候不要太关注这些容易的样本,尽量降低他们的权重,否则这些样本会对整个样本数据集合进行中和。导致即使最后loss相同,但是难样本分类效果不佳。
先前的OHEM 算法虽然增加了错分类样本的权重,但是也忽略了容易分类的样本。
因此作者针对类别不均衡的问题,提出了在损失函数中更加关注难分类的样本,即减少易分类样本的权重,使得模型训练时更加关注难分类的样本。
focal-loss 曲线图如下:
可以看到,通过调节gama 值,与传统交叉熵相比,离真值越远的点所受到惩罚的力度越大。
推导过程
二分类交叉熵公式:
一般为了控制各类别样本的loss贡献,通常在各自类别前加权重系数。
但是这样却没有控制难易样本的权重。
于是增加一项与样本难易相关的系数,称为调制系数:
比如:gamam=2,一样easy example(pt=0.9)的loss要比标准的交叉熵loss小100+倍
经过组合就得到focal-loss公式:
作者通过实验发现a = 0.25 gama = 2 效果明显,检测精度几乎达到了二阶段的水平