目录
一、为什么提出Focal loss
Focal loss最先是由何凯明在RetinaNet里提出的。
初衷:他想让one-stage检测算法达到two-stage的准确度,同时不影响原有速度。
为什么一阶段不如二阶段准确?,作者认为是样本类别不均衡导致的。在样本集中简单负样本太多,占据了Loss的绝大部分,因此使得模型优化的方向并不是我们希望的那样。
怎么解决?之前有人提出过OHEM来解决类别不均衡问题,但它只增加了难分类样本的权重,却忽略了易分类的样本权重,而作者提出的Focal loss则都考虑了。
二、Focal loss公式进化过程
最开始的损失是交叉熵损失,它各个样本的损失权重是一样的。
下面是他的简写。pt表示分类正确的概率。
这里我们引入一个交叉熵的改进版。
他的at和pt的定义一样。因此可以通过设定a的值来控制正负样本对总的loss的共享权重
但是公式3虽然可以控制正负样本权重,却无法控制难易样本权重。所以就有了Focal loss
调制系数 γ是用来降低易分类样本权重,增加难分类样本权重的。
三、Focal loss后话
按道理来说,大于0.5小于1可以增加正样本的权重,降低负样本的权重,大于1可以增加难样本权重,减少易分类样本权重。而在实验中证明,占据主导地位,当变大时, 需要变小才能让效果更好。所以最后实验最佳取2,取0.25最好。