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。
走過路過的同學們給點個喜歡可以嘛,謝謝大家啦~