AAAI2019的paper
代码 https://github.com/libuyu/GHM_Detection/tree/master/mmdetection
是pytorch 版本的
首先对梯度进行了统计,主要是和focal loss 做了比较,key points 是没有超参数,然后比focal loss 效果好
一作二作都是王小刚的博士生,翻了一下,王小刚有14个博士生,可怕。在onestage中,正负样本是极其不均衡的,比如ssd 生成的anchor有几万个,正样本可能就是不到一千个,这时候我会怎么选择负样本呢,在ssd里面,就选择分的最差的样本,怎么定义分的最差,将所有负样本的得分排个序,选择得分最高的三倍正样本的数量。其他的样本梯度值变为零,不参与梯度更新的过程。focal loss 的话用了所有样本loss,有些beyond 3倍的负样本可能还是有作用的(这里训练的时候是不是可以把3改成4?),用公式衰减了那些 easy 样本,让他们对loss做贡献,但又不主导loss 。focal loss 在ssd里面好像不work ,github上好多人说不work 首先参数要调,然后虽然收敛快,但是还是没有啥用,甚至掉点。
这篇的话,假设的是正负样本的问题可以转化难易样本的问题,难易样本的问题又可以转化到梯度的分布上。还做了一个假设,就是梯度小的是简单样本,梯度在1边上的就认为是outlier,而不是难分样本。
就可以用梯度的密度去度量。
对分类来说,做归一化的话就是,把梯度值划分为n个区间,然后计算出每个区间的数量,然后把该区域的梯度都除以这个数,这样来均衡。当然为了保证区间为1时,结果不变,所以乘了一个所有样本的个数N。
走过路过的同学们给点个喜欢可以嘛,谢谢大家啦~
网友评论