作者提出focal loss的出发点也是希望one-stage detector可以达到two-stage detector的准确率,同时不影响原有的速度。既然有了出发点,那么就要找one-stage detector的准确率不如two-stage detector的原因,作者认为原因是:样本的类别不均衡导致的。负样本数量太大,占总的loss的大部分,而且多是容易分类的,因此使得模型的优化方向并不是我们所希望的那样。OHEM算法(online hard example mining)虽然增加了错分类样本的权重,但是OHEM算法忽略了容易分类的样本。Focal Loss函数可以通过减少易分类样本的权重,使得模型在训练时更专注于难分类的样本。
因此可以通过设定a的值来控制正负样本对总的loss的共享权重。a取比较小的值来降低负样本(多的那类样本)的权重。
疑问:为什么α取较小的值可以降低负样本的权重??负样本占比较多。
显然前面的公式3虽然可以控制正负样本的权重,但是没法控制容易分类和难分类样本的权重,于是就有了Focal Loss:
这里的γ称作focusing parameter,γ>=0。幂次函数称为调制系数。
为什么要加上这个调制系数呢?目的是通过减少易分类样本的权重,从而使得模型在训练时更专注于难分类的样本。
两个重要性质:
- 当一个样本被分错的时候,pt是很小的,那么调制因子(1-Pt)接近1,损失不被影响;当Pt→1,因子(1-Pt)接近0,那么分的比较好的(well-classified)样本的权值就被调低了。因此调制系数就趋于1,也就是说相比原来的loss是没有什么大的改变的。当pt趋于1的时候(此时分类正确而且是易分类样本),调制系数趋于0,也就是对于总的loss的贡献很小。
- 当γ=0的时候,focal loss就是传统的交叉熵损失,当γ增加的时候,调制系数也会增加。 专注参数γ平滑地调节了易分样本调低权值的比例。γ增大能增强调制因子的影响,实验发现γ取2最好。直觉上来说,调制因子减少了易分样本的损失贡献,拓宽了样例接收到低损失的范围,增加了那些误分类的重要性。
二分类:
多分类
参考
1. Focal Loss for Dense Object Detection;
2. 【trick 3】Focal Loss —— 解决one-stage目标检测中正负样本不均衡的问题;
3. Focal loss原理解析;
完
标签:loss,样本,分类,FocalLoss,调制,算法,CV,focal,stage From: https://www.cnblogs.com/happyamyhope/p/16624589.html