物件偵測

焦點損失(focal loss)

焦點損失(Lin 等人,2017,即 RetinaNet 論文)是對標準交叉熵分類損失的一項修改,目的是修正那個讓密集單階段偵測器癱瘓的極端前景/背景失衡。問題在於:單階段偵測器每張影像為數以萬計的錨框評分,但只有極少數含有物件——其餘都是「容易的」背景。即使每個容易的負樣本只貢獻微小的損失,它們數量龐大,加總後的梯度淹沒了那少數困難、有資訊量的樣本,訓練因而停滯。

焦點損失藉由降低容易樣本的權重,使模型聚焦於困難樣本(因而稱為「焦點」)。從真實類別的交叉熵出發,CE = −log(p_t),其中 p_t 是分派給正確類別的預測機率。焦點損失把它乘上一個調制因子 (1 − p_t)^γ:FL = −(1 − p_t)^γ · log(p_t)。當某樣本已被有信心地分類(p_t 接近 1),(1 − p_t)^γ 接近 0,其損失被抑制;當它被錯分(p_t 很小),該因子接近 1,完整的損失被保留。聚焦參數 γ(常為 2)控制容易樣本被折減的力道;一個可選的 α 則平衡正/負類別。

其效果是:一大批容易的負樣本,如今各自貢獻幾乎為零,再也無法壓垮梯度。在 γ = 2 時,一個以 p_t = 0.9 被分類的樣本,其損失被縮放 (0.1)² = 0.01——縮小 100 倍——而一個以 p_t = 0.1 的困難樣本被縮放 (0.9)² ≈ 0.81,幾乎不受影響。這讓單階段偵測器得以在完整的密集錨框集合上訓練,而不需要 SSD 所需的難負樣本挖掘或 1:3 取樣技巧。

焦點損失是讓單階段偵測器得以匹敵兩階段準確度的那塊缺失拼圖:RetinaNet——一個以焦點損失訓練、基於 FPN 的普通密集偵測器——在 COCO 上擊敗了當時的兩階段偵測器,同時還更快。這個構想遠遠推廣到偵測之外、任何具有嚴重類別失衡的任務,並至今仍是密集預測的預設工具。

焦點損失在固定的錨框集合內處理的是症狀(失衡的損失);它並不改變哪些錨框是正樣本。現代偵測器常把它與更好的標籤分配(ATSS、OTA)搭配或取而代之,後者從一開始就改變哪些樣本算作正樣本——這兩個構想互補,而非冗餘。

又稱
FL