首页 > 编程知识 正文

论文阅读三:GHM《Gradient Harmonized Single-stage Detector》

时间:2023-05-05 00:02:04 阅读:244110 作者:3860

论文链接:Gradient Harmonized Single-stage Detector
论文来自香港中文大学

一、论文出发点

   我们都知道,one-stage检测器一个极大的问题就是easy样本和hard样本之间的不平衡,致使少量的hard的样本淹没在大量的easy的样本中,使网络的学习偏向与easy样本,而忽略hard的样本。2016年的OHEM将所有的负样本根据loss的值进行排序,只取topk的负样本,将正负样本比例控制在1:3,但是这种方法直接抛弃了大量的样本。2017年,何凯明大神提出了focal loss,focal loss认为如果预测的概率p很高,例如大于0.9,这样的样本网络已经学习的很好了,对模型的提升效果不大,模型应该更多的关注那些预测概率很低的样本,因此模型的思想就是,在loss的前面加weight,对于高置信度的样本weight是极大抑制作用。

二、focal loss

交叉熵的公式如下:
focal loss的公式如下:

一个简单的思想:把高置信度p样本的损失再降低一些,例如 r = 2 r=2 r=2时,p = 0.968, ( 1 − 0.968 ) 2 = 0.001 (1 - 0.968)^2 = 0.001 (1−0.968)2=0.001,损失衰减了1000倍,可以看到,置信度p越大,对应的loss衰减的就越大。
放一张focal loss论文中的曲线图:
可以看到曲线图中,衰减值 r r r直接可以将高置信度的loss进行衰减。

三、GHM

  focal loss的问题是什么呢,可以看到,focal loss减少高置信度的权重,相对的提高低置信度的权重,但是置信度比较低的样本有可能是outliers(离群点),学习这些outliers是不利与模型的收敛的。那么,怎么样才能衰减easy 样本的同时,也不去过多关注特别难分的样本,GHM解决的就是这个问题。

3.1 梯度模长

GHM定义了一个梯度模长的概念:

p p p是模型预测的概率, p ∗ p^* p∗是样本的ground truth, p ∗ p^* p∗取值为0或1。
论文中指出, g g g是从交叉熵损失求导得来的,所以 g g g可以代表样本的难易程度, g g g越大,样本难度比较大,并且可以指明这些样本对梯度的影响度。下图是论文中统计one-stage中的梯度范数:
可以看到梯度模长小于0.2表明是easy 样本,这些样本量很大,我们不希望去过多的关注,同时梯度模长大于0.9的,是hard样本,这些hard的样本可以认为是outliers,论文指出这些outliers可以不用过多关注。

3.2 梯度密度

从梯度范数图可以发现,easy样本和outliers的样本数量偏多,因此作者又定义了梯度密度,即单位梯度模长的样本个数:
δ ϵ ( g k , g ) delta_{epsilon}(g_k, g) δϵ​(gk​,g) 表明了样本1~N中,梯度模长分布在 ( g − ϵ 2 , g + ϵ 2 ) (g - frac{epsilon}{2}, g + frac{epsilon}{2}) (g−2ϵ​,g+2ϵ​) 范围内的样本个数, l ϵ ( g ) l_{epsilon}(g) lϵ​(g)代表了 ( g − ϵ 2 , g + ϵ 2 ) (g - frac{epsilon}{2}, g + frac{epsilon}{2}) (g−2ϵ​,g+2ϵ​)的区间长度。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。