論文題目:Gradient Harmonized Single-stage Detector
論文鏈接:https://arxiv.org/pdf/1811.05181.pdf
解決
正、負樣本簡單和困難眼樣本之間的不均衡問題,負樣本和簡單樣本數量多。
之前工作
- 基於實例挖掘: 爲了解決之前的不平衡問題,基於實例挖掘的方法如OHEM被廣泛使用,但它們直接放棄了大部分的例子,訓練效率低下。
- Focal Loss: 對於類不平衡,Focal Loss試圖通過修改交叉熵損失函數來解決這個問題。然而,Focal loss採用了兩個超參數,需要進行大量的調整。它是一種靜態損失,不適應數據分佈的變化,隨訓練過程的變化而變化。
提出
類不平衡可以歸結爲難度的不平衡,難度的不平衡可以歸結爲梯度範數分佈的不平衡。如果正樣本好分類,說明是個簡單樣本,對模型訓練的作用很小,產生的梯度很小由於異常值的梯度可能與其他常見的例子有較大的差異,因此可能會影響模型的穩定性。
- 揭示了單階段檢測器在梯度範數分佈方面存在顯著不平衡的基本原理,並提出了一種新的梯度協調機制(GHM)來解決這一問題。
- 將分類和迴歸的損失分別嵌入到GHM-C和GHM-R中,修正了不同屬性樣本的梯度貢獻,對超參數具有魯棒性。
- 通過與GHM的合併,我們可以很容易地訓練一個單階段檢測器,而不需要任何數據採樣策略,並在COCO基準上實現最優的結果。
CHM-C Loss
梯度範數
- original gradient norm ,即。g等於x對應的梯度範數。 g的值表示一個例子的屬性(例如easy或hard),表示這個例子對全局梯度的影響。雖然梯度的嚴格定義是在整個參數空間上,即g是一個例子梯度的相對範數,但爲了方便起見,本文將g稱爲梯度範數。
- N是總共樣例的個數。
- 爲了更好地理解梯度密度協調參數,可以將其改寫爲,分母是一個標準化器指示了鄰域梯度到第i個樣本的樣本分數。如果樣例關於梯度均勻分佈,對任何,$ GD(g_i)=N$,每個樣例有相同的 ,這意味着什麼都沒有改變。否則,密度較大的算例將被歸一化器相對降權。
- 可以看到Focal Loss和GHM-C損失的曲線有相似的趨勢,這意味着CHM-C Loss與設置的最好參數的focal loss 都有均勻梯度協調的優點。 此外,GHM-C還有一個特別的優點:降低了異常值梯度貢獻的權重。
- CHM-C Loss降低了大量簡單樣本和異常樣本的權重。由於梯度密度是每次迭代計算得到的,所以權值是隨着訓練動態改變適應的。
單元區域
- 將g的值域空間劃分爲長度爲的單位區域,即有個單位區域。
- 是第j個的區域,即
- 代表中的樣本個數
- 定義,即
- 定義近似梯度密度函數:
if 單位區域代表的樣本少,GD小, 大
特殊情況,只有一個單位區域,所有的樣本都在裏面, ,保持原始梯度貢獻。
EMA
類似SGD的動量,考慮之前迭代信息。
- 基於小批量統計的方法通常面臨一個問題:當大量的極端數據在一個小批量中採樣時,統計結果會產生嚴重的噪聲,訓練不穩定。
- 由於在近似算法中梯度密度來自於單元區域內的樣本個數,在每個單元上應用EMA來獲得更加穩定的梯度密度。
- 第j個單元的第t次迭代中的樣本數。
- 爲滑動平均數
- 是動量參數
- 使用EMA,梯度變化更加平滑並且對極端數據更加敏感。
GHM-R loss
-
smooth L1
-
是在二次部分和線性部分之間的分界點,在實際中通常設爲1/9
-
-
如果所有樣本的 大於,具有相同的梯度密度。這使得如果依賴梯度範數區分不同屬性的例子變得不可能。一個可以替代的選擇是直接使用|d|作爲不同屬性的度量,但新的問題是|d|在理論上可以達到無窮大,不能實現單位區域近似。
-
將傳統的SL1損失修改爲更簡潔的形式。當d很小的時候,近似二次函數,當d很大的時候近似線性
-
設置爲0.02
-
GHM-R損失可以通過增加簡單樣本的重要部分的權重和降低異常值的權重來協調簡單樣本和困難樣本對box迴歸的貢獻
實驗
採用RetinaNet+ResNet+FPN作爲網絡架構