【AI 訓練路上的絆腳石】數據長尾問題如何解,原來要讓數據「自我監督」?

【為什麼我們挑選這篇文章】在機器學習的模型建立時,對於資料來源科學家們會有一個基本假設,就是資料的種類與數量是「平均分布」的。但現實中的資料往往呈現一種極端的不平衡現象,常見但少量的類別,與罕見卻大量的類別,兩者資料數量會形成非常懸殊的差距,稱為長尾分佈,這也是人們經常提到「二八法則」現象的一種。

訓練模型時,你是否也遭遇過這樣的「尷尬」時刻:

好不容易找到了自己想要的資料集,結果點進去一看,大部分樣本都是一類物體,例如,資料集標籤「動物」,結果 80% 的樣本都是「貓」。

若用上面這個資料集訓練的動物檢測模型,可能就只能識別「貓」一種動物。

這類資料不均衡(某一標籤數量太多,其餘標籤數量太少)的問題,在機器學習中被稱為 「長尾問題」,這個問題導致資料過度集中(尤其是大型資料集),樣本數量少的物體,泛化效果會非常差。

然而事實上,在一個資料集中,幾乎總有常見和不常見的類別,其中不常見的類別,又往往成為需要被識別的目標。例如:自動駕駛感知模型中,就要求 AI 能提前預測可能違規的情形,並及時阻止。然而在自動駕駛資料集裡,不可能全是肇禍、違規的場景(大部分場景還是安全的)。

那麼,這些不均衡的資料集,就真的不能用了嗎?

來自 MIT 的兩名博士生楊宇喆和 Zhi Xu,想到了一種新的解決方案,研究成果登上了 NeurIPS 2020 頂會。一起來看看。

為解決長尾問題,現有的演算法

事實上,此前為了解決“不均衡”資料集,研究者們已經嘗試過多種方法。僅僅是主流演算法,就分為七種:

重複採樣(re-sampling):分為對少樣本的過採樣、及多樣本的欠採樣,但這 2 種方法,都有欠缺的地方。其中,過採樣容易發生少樣本過擬合,無法學習更魯棒、易泛化的特徵,在不平衡資料上表現較差;欠採樣會造成多樣本嚴重資訊損失,導致發生欠擬合。

資料合成(synthetic samples):生成和少樣本相似的新資料。以 SMOTE 方法為例,對於任意選取的少類樣本,它用 K 近鄰選取相似樣本,並通過對樣本線性插值得到新樣本。這裡與 mixup 方法相似,因此,也有非均衡的 mixup 版本出現。

重加權(re-weighting):為不同類別(甚至不同樣本)分配不同的權重。其中,權重可以自我調整。這一方法誕生出很多變種,如對類別數目的倒數進行加權、對“有效”樣本數加權、對樣本數優化分類間距的損失加權等等。

遷移學習(transfer learning):對多類和少類樣本分別建模,將學到的多類樣本資訊/表示/知識遷移給少類別使用。

度量學習(metric learning):希望能學到更好的嵌入,以對少類附近的邊界/邊緣更好地建模。

元學習/域自我調整(meta learning/domain adaptation):分別對頭、尾部資料進行不同處理,自我調整地學習如何重加權,或是規劃成域自我調整問題。

解耦特徵和分類器(decoupling representation & classifier):研究發現,將特徵學習和分類器學習解耦、將不平衡學習分為兩個階段,並在特徵學習階段正常採樣、在分類器學習階段平衡採樣,可以帶來更好的長尾學習效果。這是目前最優的長尾分類演算法。

但這些,在樣本極端失衡的情況下也沒法用,如果真的只有幾個樣本,模型的性能差異就無法避免。關鍵在於,究竟該怎麼理解這裡面的「不均衡」?

「不均衡」標籤的內在價值

那些本身就不平衡的資料標籤,會不會具有什麼價值?

研究發現,這些不平衡的資料標籤,就像是一把雙刃劍。一方面,這些標籤提供了非常珍貴的監督資訊。在特定任務上,有監督學習通常比無監督學習的準確性更高,即使不平衡,標籤也都具有「正面價值」。但另一方面,標籤的不平衡,會導致模型在訓練過程中,被強加標籤偏見(label bias),從而在決策區域被主類別極大地影響。

研究者們認為,即使是不平衡標籤,它的價值也可以被充分利用,並極大地提高模型分類的準確性。如果能先「拋棄標籤資訊」,通過自監督預訓練,讓模型學習到好的起始表示形式,是否就能有效地提高分類準確性?

從半監督,到自監督預訓練

作者們先對半監督下的不均衡學習進行了實驗。證明利用無標記資料的半監督學習,能顯著提高分類結果。從圖中可以看出,未標記資料,有助於建模更清晰的類邊界,促成更好的類間分離。

這是因為,尾類樣本所處區域資料密度低,在學習過程中,模型不能很好地對低密度區域進行建模,導致泛化性差。而無標記資料,能有效提高低密度區域樣本量,使得模型能對邊界進行更好的建模。

然而,在一些很難利用半監督學習的極端情況下,仍然需要自監督學習出場。這是因為,一旦自監督產生良好初始化,網路就可以從預訓練任務中受益,學習到更通用的表示形式。

而實驗同樣證明了這一點。

正常預訓練的決策邊界,很大程度上會被頭類樣本改變,導致尾類樣本大量“洩漏”,無法很好地泛化。而採用自監督預訓練的話,學習到的樣本保持清晰的分離效果,且能減少尾類樣本洩漏。

也就是說,為了利用自監督克服標籤偏見,在長尾學習的第一階段,需要先放棄標籤資訊,進行自監督預訓練。此階段後,可以使用任何標準訓練方法,訓練得到最終模型。(例如此前所用的遷移學習、重加權、域自我調整……)

這樣,就能更好地解決長尾問題。

(本文經 AI 新媒體量子位 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈MIT 博士生、北大校友,利用自監督演算法,解決了資料集中這一常見的“難題 〉)

你可能會有興趣

科技部練功有成!AI 戰略計畫培訓 2000 人才,讓台灣成為國際重鎮

AI 導入起手式!企業該具備的原則與策略是什麼?


點關鍵字看更多相關文章: