ECCV 2020 Spotlight | 多標籤長尾識別前沿進展

PaperWeekly發表於2020-08-31
我們的 Distribution-Balanced Loss for Multi-Label Classification in Long-Tailed Datasets 很榮幸被接收為 ECCV 2020 的 Spotlight Presentation。

本文關注的是長尾分佈下的多標籤分類問題,並提出了一種分佈平衡損失函式(Distribution-Balanced Loss),在 COCO-MLT 和 VOC-MLT 這兩個人工構造的多標籤長尾資料集上進行實驗驗證,取得了很好的效果。文章和程式碼均已公開。

ECCV 2020 Spotlight | 多標籤長尾識別前沿進展

論文連結:https://arxiv.org/abs/2007.09654
程式碼連結:https://github.com/wutong16/DistributionBalancedLoss
影片連結:youtu.be/AoEJF-osMgM

背景

真實世界中的資料分佈往往是不平衡的,少數幾個頭部類別(比如人、車等)擁有大量可訓練樣本,而大多數類別的樣本數量十分有限,在統計直方圖上形成長長的“尾巴”。

長尾分佈問題近年來廣泛受到大家的關注,常用以驗證的有 ImageNet-LT, Place-LT, MS1M-LT [1],iNaturalist, long-tailed CIFAR10/100 [2] 等單標籤資料集。MMLab 也是最早關注並正式定義長尾識別的實驗室之一 [1] 。

然而,採集自真實場景的圖片常常具有豐富的語義資訊,多個物體共存是一種普遍情形。因此長尾分佈下的多標籤分類任務是這篇文章主要關注的問題。

動機

從單標籤向多標籤的轉換,有幾個自然的思路:對前者有效的方法對後者來說是否仍適用?兩種設定在訓練時的主要區別有哪些,又有怎樣的影響呢?

取樣難解耦

對於第一個問題,我們注意到重取樣(re-sampling)是一個常見而有效的策略,在幾個最新工作 [1,2,3,4] 中都作為關鍵元件出現,其中 [3,4] 提出重取樣法對分類器學習有顯著促進作用。但這種方法並不能順滑地遷移到多標籤情景中,因為標籤的共存性(co-occurrence)將導致不同類別在取樣時無法解耦。

舉個例子,如果資料集中有限的幾張牙刷圖片樣本都同時包含刷牙的人在其中,那麼在對“牙刷”這一尾部類別進行重取樣時,對“人”這一頭部類別的取樣也會只多不少。同時,注意到“刷牙的人”此時就會比“單獨出現的人”具有顯著更高的取樣頻率,為頭部類別額外引入類內不均衡的問題。 
ECCV 2020 Spotlight | 多標籤長尾識別前沿進展
▲ 圖1 重取樣過程以及取樣前後分佈直方圖對比

分類器出走

對於第二個問題,我們知道 Cross-Entropy Loss(CE Loss)是單標籤分類中常見的損失函式,其中 softmax 的計算強調分類器需要輸出唯一最大預測值,同時正負類別的預測值在損失函式中存在相互影響;而多標籤分類則多使用 Binary Cross-Entropy Loss(BCE Loss),將任務拆解為一系列相互獨立的二分類問題,並以 sigmoid 計算每一類別的輸出預測值。
ECCV 2020 Spotlight | 多標籤長尾識別前沿進展


現在我們來考慮分類器對一個負類輸出值的求導,兩種損失函式對應梯度的差別如上式所示。對於 CE Loss,當同一樣本中的正類輸出足夠高時,對負類輸出求導的梯度值也會隨之減小,而對 BCE Loss 來說,構造上的獨立性導致只有不斷降低負類輸出值本身才能夠降低自身梯度值,從而在訓練後期該輸出將穩定在一個相對更低的位置上。

這個過程的二者的視覺化對比如下圖所示。(注意這裡是損失函式的梯度函式,梯度值的大小影響最佳化速度)
ECCV 2020 Spotlight | 多標籤長尾識別前沿進展

▲ 圖2 CE 和 BCE 對負類輸出的梯度函式視覺化

然而,對於一個特定類別(尤其是尾部),資料集中絕大多數都是它的負樣本,當分類器被海量負樣本包圍,且被要求對每一個負樣本都輸出一個足夠低的預測值時,分類器向量在訓練過程中將被迫遠遠偏離大量自然樣本的分佈,而僅僅過擬合在它的個別正樣本上。

可以想像分類器預測值在特徵向量(feature vector)空間中的分佈具有一個尖銳的波峰,泛化效能很差。

方法

針對上述問題,我們分別提出了 Re-balanced weightingNegative-tolerant regularization 兩個策略,並最終整合為一個損失函式的形式。

理想現實有差距,加權彌補

ECCV 2020 Spotlight | 多標籤長尾識別前沿進展
過度懲罰不可取,點到為止

第二個問題我們在文中稱為負樣本的過度抑制(over-suppression of negative labels),一個簡單粗暴的解決思路便是,不要對負樣本持續施加過重的懲罰,而是點到為止。

我們只需要對分類器的負類輸出進行一個簡單的線性變換就能夠實現上述功能,不要忘記加上正則化係數約束梯度值的範圍。變換後函式請見後文的整體公式,它對負類輸出的梯度與 CE 和 BCE 一同對比如下圖所示。
ECCV 2020 Spotlight | 多標籤長尾識別前沿進展
▲ 圖3 三種損失函式對負類輸出的梯度函式對比

權值正則兩相宜,統一框架

最後,上面兩個方法可以自然地融合為一個損失函式,並進行端到端的訓練,下圖視覺化了它的構造過程。


ECCV 2020 Spotlight | 多標籤長尾識別前沿進展
▲ 圖 4 分佈平衡損失函式構造過程

ECCV 2020 Spotlight | 多標籤長尾識別前沿進展


我們來回顧一下整體計算框架:(1) 首先應用重取樣法促進尾部類別分類器的學習,同時也對頭部類別引入了一定的類內取樣不均衡性;(2) 接著,利用重加權的方法對無法解耦的取樣在權重上予以平衡;(3)最後,正則化方法緩解了對負類別輸出的過度抑制。

如下圖所示,特徵向量(feature vector)空間各類別預測值的分佈得到了遞進式的平衡,這也是分佈平衡損失函式(Distribution-Balanced Loss)命名時的想法。
ECCV 2020 Spotlight | 多標籤長尾識別前沿進展
▲ 圖5 整體流程示意圖

實驗結果

ECCV 2020 Spotlight | 多標籤長尾識別前沿進展ECCV 2020 Spotlight | 多標籤長尾識別前沿進展

特別的,我們還測試了遞進實施每一步驟後,每一類別的指標增量(mAP increment),來分析每個技術對長尾分佈的不同位置處類別的影響,具體結果以及更多的 Ablation study 可以參考原文。

展望

這篇文章關注的是長尾分佈下的多標籤分類問題,並從已經較為成熟的單標籤不平衡分類方法中得到啟發,從二者的差別入手,提出了一個簡單而有效的方法。深度學習發展到今天,學術界預設採用的單一域平衡資料集已無法反映 AI 演算法的真正泛化能力。

我們邀請大家一起來攻關這個新興且更符合現實資料的領域,開放世界學習(Open World Learning),既包含類別分佈上的複雜性 [1],也包含資料域分佈上的複雜性 [5]。

最後,歡迎大家關注我們的工作,提出寶貴的建議!

參考文獻

[1] Liu et al., Large-Scale Long-Tailed Recognition in an Open World, in CVPR 2019 (Oral), liuziwei7.github.io/pro
[2] Cui et al., Class-Balanced Loss Based on Effective Number of Samples, in CVPR 2019
[3] Kang et al., Decoupling Representation and Classifier for Long-Tailed Recognition, in ICLR 2020
[4] Zhou et al., BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition, in CVPR 2020 (Oral)
[5] Liu et al., Open Compound Domain Adaptation, in CVPR 2020 (Oral), liuziwei7.github.io/p

相關文章