摘要:在 ICLR 2020 會議上,新加坡國立大學與 Facebook AI 合著了一篇論文《Decoupling Representation and classifier for long-tailed recognition》,提出了一個新穎的解決角度:在學習分類任務的過程中,將通常默認爲聯合起來學習的類別特徵表徵與分類器解耦(decoupling),尋求合適的表徵來最小化長尾樣本分類的負面影響。通過以上觀察和學習拆分,該研究在幾個公開的長尾分類數據集上重新修改了頭部類別和尾部類別的分類決策邊界,並且搭配不同的採樣策略進行交叉訓練實驗。

機器之心報道

機器之心編輯部

在圖像分類任務中類別不均衡問題一直是個難點,在實際應用中大部分的分類樣本很可能呈現長尾分佈。新加坡國立大學和 Facebook AI 的研究者提出了一種新型解決方案:將表徵學習和分類器學習分開,從而尋找合適的表徵來最小化長尾樣本分類的負面影響。該論文已被 ICLR 2020 接收。

圖像分類一直是深度學習領域中非常基本且工業應用廣泛的任務,然而如何處理待分類樣本中存在的類別不均衡問題是長期困擾學界與工業界的一個難題。相對來說,學術研究提供的普通圖像分類數據集維持了較爲均衡的不同類別樣本分佈;然而在實際應用中,大部分的分類樣本很可能呈現長尾分佈(long-tail distribution),這很有可能導致分類模型效果偏差:對於尾部的類別分類準確率不高。

針對長尾分佈的圖像識別任務,目前的研究和實踐提出了大致幾種解決思路,比如分類損失權重重分配(loss re-weighting)、數據集重採樣、尾部少量樣本過採樣、頭部過多樣本欠採樣,或者遷移學習。

在 ICLR 2020 會議上,新加坡國立大學與 Facebook AI 合著了一篇論文《Decoupling Representation and classifier for long-tailed recognition》,提出了一個新穎的解決角度:在學習分類任務的過程中,將通常默認爲聯合起來學習的類別特徵表徵與分類器解耦(decoupling),尋求合適的表徵來最小化長尾樣本分類的負面影響。

論文鏈接:https://openreview.net/pdf?id=r1gRTCVFvB

GitHub 鏈接:https://github.com/facebookresearch/classifier-balancing

該研究系統性地探究了不同的樣本均衡策略對長尾型數據分類的影響,並進行了詳實的實驗,結果表明:a) 當學習到高質量的類別表徵時,數據不均衡很可能不會成爲問題;b) 在學得上述表徵後,即便應用最簡單的樣本均衡採樣方式,也一樣有可能在僅調整分類器的情況下學習到非常魯棒的長尾樣本分類模型。

該研究將表徵學習和分類器學習分離開來,分別進行了延伸探究。

表徵學習

對於表徵學習來說,理想情況下好的類別表徵能夠準確識別出各種待分類類別。目前針對長尾類型數據分類任務,不同的採樣策略、損失權重重分配,以及邊界正則化(margin regularization)都可用於改善類別不均。

假設 p_j 爲樣本來自類別 j 中的概率,則 p_j 可用如下公式表示:

其中 n 爲訓練樣本總數,C 爲訓練類別總數,而 q 爲 [0,1] 其中一個值。

採樣策略包含以下幾種常用採樣方式:

樣本均衡採樣(Instance-balanced sampling):該方法最爲常見,即每一個訓練樣本都有均等的機會概率被選中,即上述公式中 q=1 的情況。

類別均衡採樣(Class-balanced sampling):每個類別都有同等的概率被選中,即公平地選取每個類別,然後再從類別中進行樣本選取,即上述公式中 q=0 的情況。

平方根採樣(Square-root sampling):本質上是之前兩種採樣方式的變種,通常是將概率公式中的 q 定值爲 0.5。

漸進式均衡採樣(Progressively-balanced sampling):根據訓練中的迭代次數 t(epoch)同時引入樣本均衡(IB)與類別均衡(CB)採樣並進行適當權重調整的一種新型採樣模式,公式爲

其中 T 爲數據集訓練迭代總數。

分類器學習

該研究也針對單獨拆分出來的分類器訓練進行了調研和分類概括:

重訓練分類器(Classifier Re-training, cRT):保持表徵固定不變,隨機重新初始化分類器並進行訓練。

最近類別平均分類器(Nereast Class Mean classifier, NCM):首先計算學習到的每個類別特徵均值,然後執行最近鄰搜索來確定類別。

τ-歸一化分類器(τ-normalized classifier):作者提出使用該方法對分類器中的類別邊界進行重新歸一化,以取得均衡。

實驗結果

通過以上觀察和學習拆分,該研究在幾個公開的長尾分類數據集上重新修改了頭部類別和尾部類別的分類決策邊界,並且搭配不同的採樣策略進行交叉訓練實驗。訓練出的不同分類器之間的對比結果如下圖所示:

同時,在 Places-LT、Imagenet-LT 和 iNaturalist2018 三個公開標準數據集上,該研究提出的策略也獲得了同比更高的分類準確率,實現了新的 SOTA 結果:

通過各類對比實驗,該研究得到了如下觀察:

1. 解耦表徵學習與分類爲兩個過程均取得了非常好的效果,並且打破了人們對長尾分類固有的「樣本均衡採樣學習效果最好,擁有最具泛化性的特徵表示」這一經驗之談。

2. 重新調整分類邊界對於長尾分佈的物體識別來說是非常有效的。

3. 將該研究提出的解耦學習規則應用到傳統網絡(如 ResNeXt)中,仍能取得很好的效果,這說明該策略確實對長尾分類具備一定指導意義。

該研究針對業界和學界頻繁遇到的長尾樣本分類難題,提出解構傳統的「分類器表徵聯合學習」範式,從另一個角度提供了新思路:調整它們在表徵空間的分類邊界或許是更加高效的方法。

該研究思路比較新穎,實驗結果也具有一定的代表性。對於研究長尾分類的學者或者業界工程師而言,這在傳統採樣方式下「面多了加水,水多了加面」的經驗之外,提供了額外思路。目前該研究的相關代碼已在 GitHub 上開源,感興趣的讀者可以下載進行更多的嘗試。

代碼實現

研究者在 GitHub 項目中提供了對應的訓練代碼和必要的訓練步驟。代碼整體是相對基本的分類訓練代碼,比較容易實現。具體到復現模型訓練,作者也給出了幾點注意事項。

1. 表徵學習階段

學習過程中保持網絡結構(比如 global pooling 之後不需要增加額外的全連接層)、超參數選擇、學習率和 batch size 的關係和正常分類問題一致(比如 ImageNet),以確保表徵學習的質量。

類別均衡採樣:採用多 GPU 實現的時候,需要考慮使得每塊設備上都有較爲均衡的類別樣本,避免出現樣本種類在卡上過於單一,從而使得 BN 的參數估計不準。

漸進式均衡採樣:爲提升採樣速度,該採樣方式可以分兩步進行。第一步先從類別中選擇所需類別,第二步從對應類別中隨機選擇樣本。

2. 分類器學習階段

重新學習分類器(cRT):重新隨機初始化分類器或者繼承特徵表示學習階段的分類器,重點在於保證學習率重置到起始大小並選擇 cosine 學習率。

τ-歸一化(tau-normalization):τ 的選取在驗證集上進行,如果沒有驗證集可以從訓練集模仿平衡驗證集,可參考原論文附錄 B.5。

可學習參數放縮(LWS):學習率的選擇與 cRT 一致,學習過程中要保證分類器參數固定不變,只學習放縮因子。

本文爲機器之心報道,轉載請聯繫本公衆號獲得授權。

------------------------------------------------

加入機器之心(全職記者 / 實習生): [email protected]

投稿或尋求報道:content @jiqizhixin.com

廣告 & 商務合作: [email protected]

相關文章