【深度學習】Focal Loss 與 GHM——解決樣本不平衡問題


Focal Loss 與 GHM

Focal Loss

Focal Loss 的提出主要是為了解決難易樣本數量不平衡(注意:這有別於正負樣本數量不均衡問題)問題。下面以目標檢測應用場景來說明。

  1. 一些 one-stage 的目標檢測器通常會產生很多數量的 anchor box,但是只有極少數是正樣本,導致正負樣本數量不均衡。這里假設我們計算分類損失函數為交叉熵公式。

  2. 由於在目標檢測中,大量的候選目標都是易分樣本,這些樣本的損失很低,但是由於數量極不平衡,易分樣本數量相對來說太多,最終主導了總的損失,但是模型也應該關注那些難分樣本(難分樣本又分為普通難分樣本特別難分樣本,后面即將講到的GHM就是為了解決特別難分樣本的問題)。

基於以上兩個場景中的問題,Focal Loss 給出了很好的解決方法:


GHM

Focal Loss存在一些問題:

  • 如果讓模型過多關注 難分樣本 會引發一些問題,比如樣本中的離群點(outliers),已經收斂的模型可能會因為這些離群點還是被判別錯誤,總而言之,我們不應該過多關注易分樣本,但也不應該過多關注難分樣本;
  • \(\alpha\)\(\gamma\) 的取值全從實驗得出,且兩者要聯合一起實驗,因為它們的取值會相互影響。

幾個概念:

  • 梯度模長g\(g\) 正比於檢測的難易程度,\(g\) 越大則檢測難度越大,\(g\) 從交叉熵損失求梯度得來

    \[g=|p-p^*|= \begin{cases} 1-p, & \text{if p* = 1} \\ p, & \text{if p* = 0} \end{cases} \]

    \(p\) 是模型預測的概率,\(p^*\) 是 Ground-Truth 的標簽(取值為1或者0);

    \(g\) 正比於檢測的難易程度,\(g\) 越大則檢測難度越大;

  • 梯度模長與樣本數量的關系:梯度模長接近於 0 時樣本數量最多(這些可歸類為易分樣本),隨着梯度模長的增長,樣本數量迅速減少,但是當梯度模長接近於 1 時樣本數量也挺多(這些可歸類為難分樣本)。如果過多關注難分樣本,由於其梯度模長比一般樣本大很多,可能會降低模型的准確度。因此,要同時抑制易分樣本和難分樣本!

  • 抑制方法之梯度密度 \(G(D)\) 因為易分樣本和特別難分樣本數量都要比一般樣本多一些,而我們要做的就是衰減 單位區間數量多 的那類樣本,也就是物理學上的密度概念。

    \[GD(g) = \frac{1}{l_{\epsilon}}\sum_{k=1}^{N}\delta_{\epsilon}(g_k, g) \]

    \(\delta_{\epsilon}(g_k, g)\) 表示樣本 \(1 \sim N(樣本數量)\) 中,梯度模長分布在 \((g-\frac{\epsilon}{2}, g+\frac{\epsilon}{2} )\) 范圍內的樣本個數,\(l_{\epsilon}(g)\) 代表了 \((g-\frac{\epsilon}{2}, g+\frac{\epsilon}{2} )\) 區間的長度;

  • 最后對每個樣本,用交叉熵 \(CE\) \(\times\) 該樣本梯度密度的倒數即可。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

分類問題的GHM損失:

\[L_{GHM-C} = \sum_{i=1}^{N}\frac{L_{CE}(p_i, p_i^*)}{GD(g_i)} \]

回歸問題的GHM損失:

\[L_{GHM-R} = \sum_{i=1}^N \frac{ASL_1(d_i)}{GD(gr_i)} \]

其中,\(ASL_1(d_i)\) 為修正的 smooth L1 Loss。

抑制效果:


參考資料:

5分鍾理解Focal Loss與GHM-解決樣本不平衡利器——知乎


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM