Focal Loss 論文理解及公式推導
作者: Tsung-Yi, Lin, Priya Goyal, Ross Girshick, Kaiming He, Piotr Dollar
團隊: FAIR
精度最高的目標檢測器往往基於 RCNN 的 two-stage 方法,對候選目標位置再採用分類器處理. 而,one-stage 目標檢測器是對所有可能的目標位置進行規則的(regular)、密集取樣,更快速簡單,但是精度還在追趕 two-stage 檢測器. <論文所關注的問題於此.>
論文發現,密集檢測器訓練過程中,所遇到的極端前景背景類別不均衡(extreme foreground-background class imbalance)是核心原因.
對此,提出了 Focal Loss,通過修改標準的交叉熵損失函式,降低對能夠很好分類樣本的權重(down-weights the loss assigned to well-classified examples),解決類別不均衡問題.
Focal Loss 關注於在 hard samples 的稀疏子集進行訓練,並避免在訓練過程中大量的簡單負樣本淹沒檢測器.
Focal Loss 是動態縮放的交叉熵損失函式,隨著對正確分類的置信增加,縮放因子(scaling factor) 衰退到 0. 如圖:
Focal Loss 的縮放因子能夠動態的調整訓練過程中簡單樣本的權重,並讓模型快速關注於困難樣本(hard samples).
基於 Focal Loss 的 RetinaNet 的目標檢測器表現.
1. Focal Loss
Focal Loss 旨在解決 one-stage 目標檢測器在訓練過程中出現的極端前景背景類不均衡的問題(如,前景:背景 = 1:1000).
首先基於二值分類的交叉熵(cross entropy, CE) 引入 Focal Loss:
其中, 為 groundtruth 類別; 是模型對於類別 所得到的預測概率.
符號簡介起見,定義 :
則,.
CE Loss 如圖 Figure 1 中的上面的藍色曲線所示. 其一個顯著特點是,對於簡單易分的樣本(),其 loss 也是一致對待. 當累加了大量簡單樣本的 loss 後,具有很小 loss 值的可能淹沒稀少的類(rare class).
1.1 均衡交叉熵 Blanced CE
解決類別不均衡的一種常用方法是,對類別 +1 引入權重因子 ,對於類別 -1 引入權重 .
符號簡介起見,定義 :
則,-balanced CE loss 為:
1.2 Focal Loss 定義
雖然 能夠平衡 positive/negative 樣本的重要性,但不能區分 easy/had 樣本.
對此,Focal Loss 提出將損失函式降低 easy 樣本的權重,並關注於對 hard negatives 樣本的訓練.
新增調製因子(modulating factor) 到 CE loss,其中 為可調的 focusing 引數.
Focal Loss 定義為:
如圖 Figure 1,給出了 中幾個值的視覺化.
Focal Loss 的兩個屬性:
- [1] - 當樣本被誤分,且 值很小時,調製因子接近於 1,loss 不受影響. 隨著 ,則調製因子接近於 0,則容易分類的樣本的損失函式被降低權重.
- [2] - focusing 引數 平滑地調整哪些 easy 樣本會被降低權重的比率(rate). 當 ,FL=CE;隨著 $\gamma $ 增加,調製因子的影響也會隨之增加(實驗中發現 效果最佳.)
直觀上,調製因子能夠減少 easy 樣本對於損失函式的貢獻,並延伸了loss 值比較地的樣本範圍.
例如, 時,被分類為 的樣本,與 CE 相比,會減少 100x 倍;而且,被分類為 $p_t \approx 0.968 $ 的樣本,與 CE 相比,會有少於 1000x 倍的 loss 值. 這就自然增加了將難分類樣本的重要性(如 且 時,難分類樣本的 loss 值會增加 4x 倍.)
實際上,論文采用了 Focal Loss 的 -balanced 變形:
1.3. Focal Loss 例示
Focal Loss 並不侷限於具體的形式. 這裡給出另一種例示.
假設 ,
定義 為(類似於前面對於 的定義):
定義:,其中, 是 groundtruth 類別.
則:
當 時,樣本被正確分類,此時 .
有:
對於交叉熵損失函式 ,由,