1. 程式人生 > >論文閱讀筆記五十四:Gradient Harmonized Single-stage Detector(CVPR2019)

論文閱讀筆記五十四:Gradient Harmonized Single-stage Detector(CVPR2019)

advance splay 出發 產生 sigmoid for 問題 信息 eee

技術分享圖片

論文原址:https://arxiv.org/pdf/1811.05181.pdf

github:https://github.com/libuyu/GHM_Detection

摘要

盡管單階段的檢測器速度較快,但在訓練時存在以下幾點不足,正負樣本之間的巨大差距,同樣,easy,hard樣本的巨大差距。本文從梯度角度出發,指出了上面兩個不足帶來的影響。然後,作者進一步提出了梯度協調機制(GHM)用於避開上面的不足。GHM的思想可以嵌入到用於分類的交叉熵損失或者用於回歸的Smooth-L1損失中,最後,本文修改過的損失函數GHM-C與GHM-R用於平衡anchor分類及回歸二者的梯度。

介紹

單階段檢測網絡十分高效,但是與二階段檢測在準確率上仍存在一定的差距。單階段檢測訓練過程最具挑戰的難點在於easy 與hard 樣本之間的不平衡以及正負樣本的不平衡問題。大量的簡單背景樣本會占據訓練的主導地位。而在兩階段網絡中不存在樣本不平衡的問題,這是因為在兩階段網絡中存在這proposal-driven的機制。後來,出現了基於OHEM的樣本挖掘技術,但這種方法舍棄了大部分樣本,訓練也不是很高效,後來Focal Loss通過修改損失函數來調整不平衡問題。但是Focal loss引入了兩個超參數,需要進行大量的實驗進行調試,同時,Focal loss是一種靜態損失,對數據集的分布不敏感,而在訓練過程中,數據集的分布是會發生變化的。

本文指出類別不平衡主要難點在於不平衡,而不平衡可以歸結為,梯度正則分布的不平衡。如果一個負樣本很容易被分類,則該樣本為easy example同時模型從中得到的信息量較少,比如,通過這個樣本,只產生了一點梯度信息。模型應該關註這個被分錯的樣本。從整體上來看,負樣本易於被分類多為easy examples,而hard examples多為正樣本。因此,兩種不平衡可以歸結為屬性上的不平衡。

上面兩種類型的不平衡(hard/easy , positive/negative)可以由gradient norm的分布表示。帶有梯度正則的樣本密度,被稱為梯度密度,如下圖左側所示,由於存在大量的簡單負樣本,小梯度正則的樣本的密度很大。雖然一個簡單樣本對整體的梯度貢獻很小,但大量的簡單樣本作用後會占據訓練的主導,使訓練過程並不是很高效。

技術分享圖片

本文發現,帶有較大梯度正則(very hard examples)的樣本密度比medium examples略多一點。本文將這些very hard examples看作為異常點,因為即使模型收斂,但這些點仍穩定存在。同時,異常點的梯度與其他正常點的差異較大,進而會影響模型的穩定性。

本文分析了梯度正則分布後就提出了gradient harmonizing mechanism(GHM)算法用於對單階段檢測進行高效的訓練,用於協調不同樣本之間的梯度分布。GHM首先對具有相似屬性(如梯度密度)樣本的數量進行統計,然後根據密度在每個樣本的梯度上附加一個調節參數。相比CE,FL,GHM的效果如上圖右側所示,帶GHM的訓練過程,由大量簡單樣本計算得到的梯度的權重被大幅度減少,同時異常點的權重也被相應的削弱。

通過修改損失函數可以對梯度進行修正,本文將GHM嵌入到分類損失中,得到GHM-C損失,該損失不需要參數調節。由於梯度密度是由minibatch中樣本分布決定的統計變量,在每一輪batch中,GHM-C是可以更具數據分布變化進行調整進而更新模型的動態損失。為了表明GHM的一般性,在邊界框的回歸分支中應用GHM,代表GHM-R損失。

Gradient Harmonizing Mechanism

問題描述:本文的關註點在於單階段檢測中樣本類別的極度不平衡問題。對於一個候選框,模型預測出的概率為p [0,1],P*代表對於特定類別的ground truth 標簽取值0或1,其二分類的交叉熵損失如下所示

技術分享圖片

而後,令x作為模型的輸出因此,p=sigmoid(x),對其求導如下,

技術分享圖片

定義了g等式如下所示,g與Lce對x的偏導值的正則相等,g代表一個樣本的屬性以及該樣本對整體梯度的作用,本文將g稱為梯度正則。

技術分享圖片

下圖展示了一個收斂的單階段檢測模型的g的分布。由於簡單負樣本的體量較大,使用log坐標來表示樣本的比例,進而展示不同屬性樣本變化細節。從圖中可以看出簡單樣本的數量非常大,對整體的梯度造成了一定的影響。另外,穩定的模型仍然無法處理very hard examples,其數量要比medium的樣本的數量還要多一些。這些樣本可以被看作是異常點,其梯度方向與大部分其他樣本的梯度方向差異很大。如果模型對這些異常點的學習較好,則其他大部分樣本的準確率相對就會低一些。

技術分享圖片

梯度密度:為了解決梯度正則分布中的不平衡問題,引入了一個針對梯度密度的協調方法,訓練樣本的梯度密度函數如下所示

技術分享圖片

技術分享圖片

g的梯度密度表示位於以g為長度為技術分享圖片的樣本的數量,同時,基於區域的有效長度來對其進行正則化處理。梯度協調參數的定義如下所示,N表示樣本數量的總數,

技術分享圖片

對上式進行變換,得到技術分享圖片技術分享圖片為一個正則項,代表與第i個樣本其相鄰梯度值的樣本數所占的比例。如果樣本服從均勻分布,則GD(gi)=N,對於任意gi及每個樣本,其參數值都為1,表示不需要進行改變,否則,通過這個正則項,可以相對降低大密度樣本的權重。

GHM-C Loss:損失函數如下,

技術分享圖片

如下圖所示,大量的簡單樣本的權重被衰減,同時異常值的權重也被降低。同時,其梯度密度在每一輪叠代中會發生變化,樣本的權重並不是固定的,因此GHM-C損失的動態屬性可以使訓練更加高效魯棒。

技術分享圖片

Unit Region Approximation:復雜度分析:常規計算所有樣本梯度值的算法復雜度為O(N^2),即使使用並行計算,每個計算節點仍有N的計算量。比較好的算法首先會以O(NlogN)的復雜度通過梯度正則對樣本進行排序,然後使用一個隊列來掃描樣本,以O(N)的方式得到密度。由於單階段檢測中的N為1e5或者1e6,其梯度計算量仍很大,基於排序的算法比並行計算提升的幅度有限。本文提出了近似的獲得樣本梯度密度的方法。

Unit Region:將g的空間劃以間隔技術分享圖片分為獨立的單元區域 ,因此有技術分享圖片個單元區域。rj代表索引為j的區域,技術分享圖片

令Rj代表落入rj區域的樣本數量。定義技術分享圖片用於獲得g所在單元區域的索引。

定義近似梯度密度函數,

技術分享圖片

假設參數技術分享圖片為1,只有一個單元,所有的樣本都在此區域,其梯度不會發生變化。其損失函數如下所示。

技術分享圖片

根據等式9,可以返現,落在相同區域的樣本的梯度密度值是相同的,可以利用直方圖統計,所有樣本梯度密度的計算的時間復雜度為O(MN),同時,可以應用並行計算,因此每個計算單元復雜度為M,e而M的值相對較小,因此損失的計算比較高效。

EMA:基於Mini-batch統計的方法存在一個問題:當一個mini-batch中存在大量的異常點時,統計結果為噪聲,而且使訓練變得不穩定。Exponential moving average(EMA)是解決此問題的常用方法,比如帶動量的SGD及BN處理。由於梯度密度的近似計算中的樣本來自於單元區域,因此可以在每個單元區域應用EMA,進而得到更多穩定的梯度密度。等式如下

技術分享圖片

GHM-R Loss:觀察偏移參數量,由模型預測出的及目標偏移如下所示,

技術分享圖片

技術分享圖片

回歸損失通常基於smooth L1損失函數,

技術分享圖片

技術分享圖片

當所有|d|>技術分享圖片的樣本,具有相同的梯度正則,技術分享圖片,如果依賴於梯度密度,則無法區分不同屬性的樣本,相比直接使用|d|作為區分不同屬性的評價標準,而|d|的理論值可以達到無限,單元區域近似無法應用到上面,為了簡化GHM在回歸損失上的應用,首先更改SL1的損失如下,

技術分享圖片

當d很小時,近似為一個方差函數(L2 loss),當d很大時近似一個線性損失(L1 loss),稱該損失為Authentic Smooth L1損失,就有很好的平滑性,其偏導存在且連續。ASL1的偏導如下,梯度值的範圍[0,1),單元區域中梯度的計算和CE損失的計算一樣較為方便。令u=0.02

技術分享圖片

定義ASL1的梯度正則如下所示,

技術分享圖片

其梯度分布如下圖所示,從圖中可以看出存在大量的異常點。而回歸損失只作用在正樣本中,因此,分類與回歸的分布是不同的。

技術分享圖片

應用GHM後的回歸損失如下,

技術分享圖片

SL1損失,ASL1損失及GHM的ASL1損失的梯度貢獻圖如下所示

技術分享圖片

在邊界回歸損失中,不是所有的簡單樣本都是不重要的,在分類中,一個簡單樣本通常是一個概率很低的背景區域,而且最終會被排除在候選之外。這類樣本的改進對於精度毫無作用,但是在邊界框的回歸過程中,一個簡單樣本仍然偏離ground truth位置。任何樣本的更好的預測將會直接提高最終候選框的質量。另外,高級的數據集更多關註的是定位的準確率。GHM-R損失可以通過提升easy樣本的重要部分的權重同時降低異常點的權重來協調邊界框回歸中easy及hard 樣本。

實驗

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

Reference

[1][Chen et al. 2017] Chen, Z.; Badrinarayanan, V.; Lee, C.-Y.;and Rabinovich, A. 2017. Gradnorm: Gradient normalization for adaptive loss balancing in deep multitask networks.arXiv preprint arXiv:1711.02257.

[2][Dai et al. 2016] Dai, J.; Li, Y.; He, K.; and Sun, J. 2016.R-fcn: Object detection via region-based fully convolutional
networks. In Advances in neural information processing systems,379–387.

[3][Felzenszwalb, Girshick, and McAllester 2010]Felzenszwalb, P. F.; Girshick, R. B.; and McAllester,D. 2010. Cascade object detection with deformable part models. In Computer vision and pattern recognition (CVPR), 2010 IEEE conference on, 2241–2248. IEEE.
[4][Fu et al. 2017] Fu, C.-Y.; Liu,W.; Ranga, A.; Tyagi, A.; and Berg, A. C. 2017. Dssd: Deconvolutional single shot detector.arXiv preprint arXiv:1701.06659.

論文閱讀筆記五十四:Gradient Harmonized Single-stage Detector(CVPR2019)