MIT博士生、北大校友,利用自監督算法,解決了數據集中這一常見的“難題”
本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。
訓練模型時,你是否也遭遇過這樣的“尷尬”時刻:
好不容易找到了自己想要的數據集,結果點進去一看,大部分樣本都是一類物體。(例如,數據集標簽「動物」,結果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),從而在決策區域被主類別極大地影響。
研究者們認為,即使是不平衡標簽,它的價值也可以被充分利用,并極大地提高模型分類的準確性。
如果能先“拋棄標簽信息”,通過自監督預訓練,讓模型學習到好的起始表示形式,是否就能有效地提高分類準確性?
從半監督,到自監督預訓練
作者們先對半監督下的不均衡學習進行了實驗。
實驗證明,利用無標記數據的半監督學習,能顯著提高分類結果。
從圖中可以看出,未標記數據,有助于建模更清晰的類邊界,促成更好的類間分離。
這是因為,尾類樣本所處區域數據密度低,在學習過程中,模型不能很好地對低密度區域進行建模,導致泛化性差。
而無標記數據,能有效提高低密度區域樣本量,使得模型能對邊界進行更好的建模。
然而,在一些很難利用半監督學習的極端情況下,仍然需要自監督學習出場。
這是因為,一旦自監督產生良好初始化,網絡就可以從預訓練任務中受益,學習到更通用的表示形式。
而實驗同樣證明了這一點。
正常預訓練的決策邊界,很大程度上會被頭類樣本改變,導致尾類樣本大量“泄漏”,無法很好地泛化。
而采用自監督預訓練的話,學習到的樣本保持清晰的分離效果,且能減少尾類樣本泄漏。
也就是說,為了利用自監督克服標簽偏見,在長尾學習的第一階段,需要先放棄標簽信息,進行自監督預訓練。
此階段后,可以使用任何標準訓練方法,訓練得到最終模型。(例如此前所用的遷移學習、重加權、域自適應……)
這樣,就能更好地解決長尾問題。
作者介紹
論文一作楊宇喆,目前是MIT計算機科學的三年級博士生,本科畢業于北京大學。
目前,楊宇喆的研究方向主要有兩個:基于學習的無線感應技術,應用方向是醫療保??;機器學習,主要是針對機器學習和強化學習的魯棒性進行研究。
論文二作Zhi Xu,本科畢業于伊利諾伊大學厄巴納-香檳分校,同樣是MIT的博士生,感興趣的研究方向是機器學習理論和現代應用,目前主要在研究強化學習的穩定性、效率、結構和復雜度。
論文地址:
https://arxiv.org/abs/2006.07529
項目地址:
https://github.com/YyzHarry/imbalanced-semi-self
論文解讀@楊宇喆:
https://zhuanlan.zhihu.com/p/259710601