【閱讀筆記】Gradient Harmonized Single-stage Detector

Li B , Liu Y , Wang X . Gradient Harmonized Single-stage Detector[J]. 2018.
https://github.com/libuyu/GHM_Detection

本文認爲影響單階段檢測器的訓練的本質問題不是不同類別的樣本數的差異,而是不同難度樣本的分佈不均衡。在訓練過程中,每個樣本產生一個梯度來更新模型的參數,不同樣本對參數更新的貢獻不同。在訓練過程中,模型已經有很好的判別的簡單樣本的數量非常大,在模型更新中很有可能佔據主導作用,那麼這樣的參數更新並不會改善模型的判斷能力,反而使整個訓練變得非常低效。爲了解決這個問題,作者設計了梯度均衡機制(Gradient Harmonizing mechanism)。
在這裏插入圖片描述

Gradient Harmonizing Mechanism

我們定義每個樣本的對 loss 求得的梯度的模值爲gg,定義 gradient density 爲
GD(g)=1lϵ(g)k=1Nδϵ(gk,g)GD(g)=\frac{1}{l_{\epsilon}(g)}\sum_{k=1}^{N}\delta_{\epsilon}(g_k,g)

δϵ(x,y)={1,if yϵ2xy+ϵ20,else\delta_{\epsilon}(x,y)=\left\{\begin{array}{l}1, if~y-\frac{\epsilon}{2} \leq x \leq y+\frac{\epsilon}{2}\\{0, else} \end{array} \right.

lϵ(g)=min(g+ϵ2,1)max(gϵ2,0)l_{\epsilon}(g) = min(g+\frac{\epsilon}{2}, 1) − max(g−\frac{\epsilon}{2}, 0)

定義 gradient density harmonizing parameter:
βi=NGD(gi)\beta_i=\frac{N}{GD(g_i)}

根據歸一化係數得到 GHM-C Loss:
LossGHMC=1Ni=0Nβilossi=i=0NlossiGD(gi)Loss_{GHM-C}=\frac{1}{N}\sum_{i=0}^{N}\beta_i*loss_i\\=\sum_{i=0}^{N}\frac{loss_i}{GD(g_i)}

我的理解是模型很容易就被訓練到容易識別簡單樣本的情形,利用 GHM-C Loss 將簡單樣本和 outlier 的梯度貢獻減少,提高訓練效率,減小 outlier 的影響。

在這裏插入圖片描述
AP 確實有所上升
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章