NeurIPS 2022 | 視覺長尾學習模型為何無法較好地落地?

機器之心發表於2022-11-27

在這篇 NeurIPS 2022 論文中,來自新加坡國立、位元組跳動和華為的學者表明:這個問題的本質在於實際應用中的測試集並不是單一的均勻分佈的。因此,他們設計了 SADE 演算法,即使是在一個固定的長尾分佈資料集上訓練的模型,也能夠自適應地處理多個不同類別分佈的測試場景。


深度長尾學習是計算機視覺領域中最具挑戰性的問題之一,旨在從遵循長尾類別分佈的資料中訓練出效能良好且類別無偏的深度神經網路。在傳統視覺識別任務中,資料的類別分佈往往受人為調整而變得均衡,即不同類別的樣本量無明顯差別。


但在實際應用中,資料的不同類別往往遵循長尾分佈(如下圖所示):一小部分類別擁有大量的樣本(被稱為多數類),而其餘大部分類別只有較少的樣本量(被稱為少數類)。


圖片


該長尾類別不平衡問題使得神經網路的訓練變得非常困難。所得到的模型往往有偏於多數類,即傾向於分對更多多數類樣本,導致了模型在樣本量有限的少數類上表現不佳。在去年這個時候,機器之心也報導了首篇《深度長尾學習》綜述,呼籲大家正視長尾挑戰!


圖片


近年來,越來越多的研究開始探索長尾分類任務,並設計了各類方法來解決長尾類別不平衡問題,期望所得到的模型能在類別平衡的測試集上表現好。例如,Google 的 Logit Adjustment 從理論上提供了優雅的解法,能夠較好地處理長尾分類任務中的類別不平衡。然而,學者們近期發現長尾學習問題到達了一個瓶頸,即傳統的長尾分類問題似乎已經有了很好地解決方案,但卻依然無法較好地落地。那麼,問題到底出在哪裡呢?


這一問題的本質源於現存方法對傳統長尾分類任務的設定:假設測試資料集的類別是均勻分佈的,即不同的類別有相同的測試樣本量。在這樣的設定下,我們只需考慮如何最佳化模型在平衡資料集上的效能即可,因此最前沿的長尾學習方法往往都能在均勻分佈測試集上表現良好。但問題在於,在實際應用場景中,測試集的類別分佈是不可控的:它也許是均勻分佈,但也可能是與訓練集一樣的長尾分佈,甚至是反向長尾分佈(即訓練集中的少數類變成了測試集中的多數類)。


如下示意圖所示,由現存長尾方法訓練得到的模型雖能夠較在服從均勻分佈的測試集上表現良好,但卻無法處理好遵循其他類別分佈的測試集。這就導致那些在論文中看似表現良好的長尾學習模型無法較好地應用到實際場景中。


圖片


那麼,這個問題可以被解決嗎?讓我們看看這篇 NeurIPS 2022 的新方法究竟能夠為長尾學習的落地帶來哪些改變吧。

 

圖片


論文連結:https://arxiv.org/pdf/2107.09249.pdf


該工作呼籲大家研究測試分佈未知的長尾識別問題(Test-agnostic Long-tailed Recognition)。該任務旨在從一個固定的長尾分佈訓練集上訓練一個神經網路模型,並期望它能在服從不同類別分佈(包括均勻、長尾、反向長尾分佈)的測試集上表現良好。為了解決該任務,該論文提出了 SADE(Self-supervised Aggregation of Diverse Experts)演算法,在多個資料集的不同類別分佈測試集上均取得了顯著的效能提升。


圖片


總體而言,這項研究闡明瞭:即使是在一個固定的長尾分佈資料集上訓練的模型,也能夠自適應地處理不同類別分佈的測試場景。目前該方法的程式碼已經開源,感興趣的小夥伴可以在 Github 上檢視。


GitHub:https://github.com/Vanint/SADE-AgnosticLT


圖片


方法


動機和方法框架 該工作發現:不同方法所得模型的效能分佈是相對固定的,並不會隨著測試分佈的變化而變化。如下表所示,傳統的 Softmax Cross-entropy 擬合原始長尾分佈,因此它在多數類(Many-shot classes)上表現得比少數類(Few-shot classes)更好。這一特性在不同類別分佈的測試集上表現一致。而由長尾學習方法(如 Balanced Softmax)所得到的模型則表現得更為均衡,且其效能分佈在各測試分佈上表現一致。


圖片


這一現象說明了透過不同方法得到的模型具有不同的技能特長,即擅長不同的類別分佈。例如,Softmax 更擅長長尾分佈,而 Balanced Softmax 更擅長均勻分佈。基於這一發現,自然能聯想到:如果能訓練多個擅長不同類別分佈的模型,並在測試場景下能夠有效地組合它們,我們就能自適應地處理任何類別分佈了!


然而,這聽起來很簡單,但做起來卻不太容易。這裡有兩個難題尚未解決:(1)如何在一個靜態的、固定的長尾分佈資料集上訓練多個擅長不同類別分佈的專家模型?(2)如何在完全無標註的測試資料上有效地組合多各專家模型?為了解決這些挑戰,SADE 提出了兩個解決策略:(a) 特長差異化的多專家模型學習策略,(b) 多專家模型測試場景自適應組合策略,如下圖所示。


圖片


(a) 特長差異化的多專家模型學習策略 為了學習這樣一個特長差異化的多專家模型,SADE 利用不同的損失函式訓來練不同的專家模型。如下圖所示,SADE 利用 Softmax loss 來學習擅長長尾分佈的專家模型,用 Balanced Softmax loss 來學習擅長均勻分佈的專家模型,並提出了一個新的 Inverse Softmax loss 來學習擅長反向長尾分佈的專家模型。


圖片


相較於之前致力於學習多個具有相同類別分佈的多專家學習方法 RIDE,該策略能有效學習擅長不同類別分佈的多專家模型,如下表所示。


圖片


(b) 多專家模型測試場景自適應策略 既然我們已經學到多個擅長不同類別分佈的專家模型,那麼接下就是如何自適應地組合它們。一個自然的想法就是適者生存,即更擅長目標測試集分佈的專家應該被分配更高的組合權重。


那麼問題來了:在無標籤的測試資料上,如何去檢測哪個專家更擅長測試集分佈呢?為了解決這一問題,該研究觀察到:給定一個測試分佈,更強的專家模型往往能在預測其熟練類別樣本時表現得更加穩定,即更強的專家對於其熟練類別樣本的不同變體預測具有更高的預測相似性,如下表所示。


圖片

 

基於該發現,SADE 提出透過最大化樣本不同變體之間的預測穩定性來檢測更強大的專家模型,並自適應地學習專家模型間的組合權重,如下圖所示。


圖片


該策略能有效學到適用於未知測試類別分佈的專家組合權重(如下表左),從而在不同類別分佈(除均勻分佈外)的測試集上都能獲得顯著的效能提升(如下表右)。


圖片


基於上述策略,SADE 能夠在多個資料集的各種類別分佈測試集(包括均勻分佈、長尾分佈、反向長尾分佈)上取得最優的效能。


圖片


在實際應用場景中,測試資料也許遵循部分類別分佈(partial class distribution),即只有部分類別存在。對於這種更加複雜的應用場景,SADE 也能表現良好,如下表所示。


圖片


總而言之,這篇 NeurIPS 2022 的研究表明:透過合理的方法設計,即使是一個在固定的長尾分佈資料集上訓練的模型,也能夠自適應地處理不同類別分佈的測試場景,而不只是單純地對一個固定的測試分佈不斷地過擬合。


因此,該研究有效地推動了視覺長尾學習模型在實際場景中的落地。我們希望透過對這項研究的介紹,大家能重新思考深度長尾學習的落地問題,並設計出更有效和更實際的長尾學習新正規化!

相關文章