论文题目: Gradient Harmonized Single-stage Detector
论文地址: https://www.aaai.org/ojs/index.php/AAAI/article/view/4877
论文发表于: AAAI 2019(CCF A类会议)
论文大体内容:
本文主要提出了gradient harmonizing mechanism (GHM)的方法,来解决one-stage object detector正负样本不均衡的问题;
Motivation:
当前的object detector为了达到更好的精度往往使用two-stage的方法,但是这样会使得速度较慢。
Contribution:
本文作者提出GHM来降低简单易分样本的loss,包括分类的loss——GHM-C,回归的loss——GHM-R,并在COCO数据集上实验,取得比CE、Focal Loss[2]更好的效果(state-of-art)。
1. 本文首先提出了一个point:正负样本不均衡⇔分类难度的不均衡⇔梯度分布的不均衡,最后是能体现到梯度分布上去的。
2. 作者定义g为gradient norm,g越大代表这个样本越难以区分;
3. 为了更好衡量g,作者提出梯度密度(GD(g))的概念,等于g±ε的区间中,样本数加normalize后的值;
4. 根据梯度密度,可以得到分类的loss——GHM-C;
5. 可以看到,GHM-C Loss比Focal Loss对极易区分的样本减少weight,对极难区分的样本也减少weight,因为作者觉得那些是离群点,不应该要拟合。另外,作者认为梯度密度每一轮都要计算,所以样本的权重会变,这样使得模型更鲁棒。
6. 除此之外,作者还提出回归的loss——GHM-R;
实验
7. Dataset
COCO数据集[1],是微软团队提供的用于进行图像识别的数据集;
8. 实验结果
9. 附Lightgbm使用GHM-C Loss中自定义损失函数fobj代码;
//已隐藏
上面代码参考了[4]中使用bins分桶来计算的做法,同时也实现了不使用bins分桶来计算的做法,但是在自己实验中,发现两种方法的效果都并不是很好,需要用ghm_c_loss_momentum的方法才能取得与Focal Loss差不多的效果;
参考资料:
[1] https://cocodataset.org/
[2] https://blog.csdn.net/John159151/article/details/101307361
[3] https://zhuanlan.zhihu.com/p/55017036
[4] https://github.com/libuyu/mmdetection/blob/master/mmdet/models/losses/ghm_loss.py
以上均为个人见解,因本人水平有限,如发现有所错漏,敬请指出,谢谢!