目标检测之Focal Loss

focal loss的提出是在目标检测领域,为了解决难分样本和易分样本不均衡的问题。主要思想就是添加一个一个抑制参数,使得在训练计算损失时,抑制容易分类的样本的权重,从而让模型能够重点学习辨别那些不易区分的样本。是由log loss改进而来的,为了于log loss进行对比,公式如下:
在这里插入图片描述
其基本思想就是,对于类别极度不均衡的情况下,如果添加 ( 1 − p i ) γ (1−p_i)^{\gamma} (1pi)γ则会使预测概率大的样本(易分样本)得到的loss变小,而预测概率小的样本(难分样本),loss变得大,从而加强对难分样本的关注度。可以改善目标不均衡的现象,对此情况比 binary_crossentropy 要好很多。
目前在图像分割上只是适应于二分类。
详情参考retinanet

有两个参数可调, alpha和gamma.
alpha是控制类别不平衡的.
gamma是控制难易样本的.

alpha越大,recall会越高,precision会越低.
文中alpha取0.25,即正样本要比负样本占比小,这是因为负例易分

  • 当alpha增大时,比如说增大到1, 以一个检测的二分类为背景, 这时候focal loss就不会包含负样本的loss了, 想要focal loss最小我只要全预测为正即可, 这时候自然recall就会100%, precision也会降低.

  • 当alpha减小,比如减小到0, 这时候focal loss中只有负样本的loss, 那只要网络对所有样本全预测成负的就可以了.这时候recall就变成了0, precision也就100%了.

gamma越大,易分类样本的重要性越低,通常取gamma=2。

你可能感兴趣的:(深度学习,深度学习)