Focal Loss for Dense Object Detection读书笔记

这是17年ICCV的paper,来自kaiming。正如作者所言,这篇paper并不novel,但是有较大的contribution。但也是一篇很有争议的paper,很多人将该想法应用了其他task上面并不work,少量work的提升也不明显。

这篇文章的背景是在detection的任务方面,one-stage的方法速度虽然相较于two-stage更快,但是其准确率会下降1-2%。(这个文章已经得以解决,yolo-v3已经可以取得与two-stage近似的效果),作者认为造成这个结果的原因在于大量背景信息淹没了重要信息,表现为大量容易学的样本引导了梯度下降的方向,而在two-stage的方法中,由于控制了正负样本的比例或者OHEM的方法控制了大量负样本(背景相对好学)对梯度下降方向的影响。作者于是提出了一种新的loss,命名为focal loss来解决这一问题。

1.Focal Loss

作者首先对cross-entropy函数进行一个简化,由于在计算中我们实际上只是关心正确类对应的概率(如果label为0,则关心predict为0的概率,如果label为1,则关心predict为1的概率),从而做了如下的简化处理。

Focal Loss for Dense Object Detection读书笔记

1.1 Balanced Cross Entropy

Focal Loss for Dense Object Detection读书笔记

当label为1时,权重为a,label为0时,权重为1-a。这个就是简单地对正负样本的损失进行加权。

1.2 Focal Loss Definition

作者认为3.1的方法只是对正负样本的损失加了不同权重,这种方法可能比不上对容易和难的样本加不同的权重,容易的权重低,难的权重高。

Focal Loss for Dense Object Detection读书笔记

作者在这里还引入了超参数v(不知道那个符号怎么打),该参数代表易难样本权重差别的难度,v越大,差别越大,作者给出了【0,5】的取值范围,如果v = 0,那么focal loss退化成为普通的CEloss。

考虑到上式的p代表正确分类的概率,p值越大代表预测越准确,p值越小代表预测越不准确。从(4)可以看出,当p值趋向于1的时候,权重几乎为0,当p趋向于0时,权重趋向于1,这样就实现了在训练过程中自动的调整难易样本的权重。作者还尝试将Balanced Cross Entropy和Focal Loss Definition结合起来,得到下述式子:

Focal Loss for Dense Object Detection读书笔记

这种两者结合的方法相比于focal loss会有一点提升。

2.实验分析

2.1

Focal Loss for Dense Object Detection读书笔记

作者比较了在不同的超参数v下的CDF曲线。CDF(commulative distribution function)是将所有的loss进行归一化之后按照从小到大排序,横坐标代表loss数量的比例,纵坐标代表已有的loss相加占总loss的比例,该曲线越弯曲,代表loss之间的差别越大,即说明难学的样本(loss大)在总loss中的权重更大,从而可以更好地指导梯度下降的方向。从上面两个图可以看出,增加v都会使得CDF曲线变得弯曲,特别是对于background,这种效果更为明显,这也验证了backgroud中存在大量容易学习的样本。

实验结果比较:

Focal Loss for Dense Object Detection读书笔记

focal取得了完胜。

3 一些想法

3.1 作者在这里将难学定义为预测对的概率小,是否可以转化为预测的概率接近于0.5,因为有些标注不一定可以做到完美。

3.2 是否可以引入新的损失函数,label为1的个数等于predict中label为1对应的概率之和。