《Focal loss for dense object detection》筆記

目標檢測中,類別不平衡問題很嚴重,特別是背景類和其他目標類的不平衡。一階算法在一張圖片上大概會評估10410510^4-10^5個候選位置,只有一些位置含有objects。訓練樣本類別不平衡會影響訓練效果,導致分類器更傾向於預測數量非常多的背景類。針對這個問題,focal loss 把容易分類的類別的loss相對降低,其他類別的loss相對提高,從而保證網絡能夠正確學到東西。

Focal loss的公式定義如下
FL(pt)=αt(1pt)γlog(pt) \text{FL}(p_t) = -\alpha_t (1 - p_t)^{\gamma} \log (p_t)
其中ptp_t表示是否爲gt類的概率
pt={pif y=11potherwise p_t = \begin{cases} p & \text{if } y = 1 \\ 1 - p & \text{otherwise} \end{cases}
γ\gamma是調製因子,把類別的loss log(pt)\log (p_t)壓低,越容易學習的類別,ptp_t越大,(1pt)γ(1-p_t)^\gamma抑制loss的效果越大,loss log(pt)\log (p_t)越低。對於背景類來說,它的訓練樣本很多,網絡很容易學到怎麼對背景類分類,背景類的概率ptp_t值比較高。因此,γ\gamma可以把背景類的loss壓低。對於其他類,因爲比較難學,他們的預測概率ptp_t偏低,他們的loss相對背景類來說不會降低太多。這樣做的效果平衡了背景類和其他類的loss,減少了背景類的預測對其他類預測的影響。

focal loss 對於不同的概率產生的loss的效果如下圖所示
Focal loss
概率越接近於1,loss越小。

αt\alpha_t是類別t的權重,針對類別不平衡問題。數量少的類別的αt\alpha_t權重比較高,數量少的類別的αt\alpha_t權重比較低,這是針對類別不平衡問題的常見做法。

論文中使用Focal loss的一階算法RetinaNet與其他算法的結果如下
experiments
可以看到,Focal loss的使用有助於提高訓練效果。

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