目標檢測中,類別不平衡問題很嚴重,特別是背景類和其他目標類的不平衡。一階算法在一張圖片上大概會評估個候選位置,只有一些位置含有objects。訓練樣本類別不平衡會影響訓練效果,導致分類器更傾向於預測數量非常多的背景類。針對這個問題,focal loss 把容易分類的類別的loss相對降低,其他類別的loss相對提高,從而保證網絡能夠正確學到東西。
Focal loss的公式定義如下
其中表示是否爲gt類的概率
是調製因子,把類別的loss 壓低,越容易學習的類別,越大,抑制loss的效果越大,loss 越低。對於背景類來說,它的訓練樣本很多,網絡很容易學到怎麼對背景類分類,背景類的概率值比較高。因此,可以把背景類的loss壓低。對於其他類,因爲比較難學,他們的預測概率偏低,他們的loss相對背景類來說不會降低太多。這樣做的效果平衡了背景類和其他類的loss,減少了背景類的預測對其他類預測的影響。
focal loss 對於不同的概率產生的loss的效果如下圖所示
概率越接近於1,loss越小。
是類別t的權重,針對類別不平衡問題。數量少的類別的權重比較高,數量少的類別的權重比較低,這是針對類別不平衡問題的常見做法。
論文中使用Focal loss的一階算法RetinaNet與其他算法的結果如下
可以看到,Focal loss的使用有助於提高訓練效果。