OpenAI 研究員:數據不足時,如何實現監督學習

  • 2022 年 7 月 14 日
  • AI

作者丨Lilian Weng
編譯丨叢末

編輯丨陳彩嫻

現實應用中,數據易得,而有標籤的數據少有。
一般而言,當監督學習任務面臨標籤數據不足問題時,可以考慮以下四種解決辦法:
1.預訓練+微調:首先在一個大規模無監督數據語料庫上對一個強大的任務無關模型進行預訓練(例如通過自監督學習在自由文本上對語言模型進行預訓練,或者在無標籤影像上對視覺模型進行預訓練),之後再使用一小組標籤樣本在下游任務上對該模型進行微調。
2.半監督學習:同時從標籤樣本和無標籤樣本中學習,研究者使用該方法在視覺任務上進行了大量研究。
3.主動學習:標註成本高,即便成本預算有限,也希望儘可能收集更多的標籤數據。主動學習學習選擇最有價值的無標籤樣本,並在接下來的收集過程中收集此類數據,在預算有限的情況下,幫助模型儘可能達到預期效果。
4.預訓練+數據集自動生成:給定一個功能強大的預訓練模型,可以利用該模型來自動生成更多得多的標籤樣本。受小樣本學習大獲成功的驅動,該方法在語言領域的應用尤其普遍。
本文全面介紹半監督學習這一方法,作者為OpenAI研究員Lilian Weng,部落格地址://lilianweng.github.io/


1

什麼是半監督學習?

半監督學習同時使用標籤數據和無標籤數據來訓練模型。
有趣的是,現有關於半監督學習的文獻大多集中在視覺任務上。而預訓練+微調方法才是語言任務中更常見的範式。
本文所提到的所有方法的損失,都由兩部分構成:。其中監督損失
在樣本全部為標籤樣本的情況下非常容易計算出來。我們需要重點關注如何設計無監督損失。加權項通常選擇使用斜坡函數,其中t是訓練步數,隨著訓練次數的增加,的佔比提升。
聲明:此文並不覆蓋所有半監督方法,僅聚焦於模型架構調優方面的。關於在半監督學習中,如何使用生成模型和基於圖的方法,可以參考《深度半監督學習全覽》(An Overview of Deep Semi-Supervised Learning)這篇論文。



2

符號說明表

符號
含義
唯一標籤的數量。
標籤數據集,其中是真實標籤的獨熱表示。
無標籤數據集。
整個數據集,包括標籤樣本和無標籤樣本。
可以表示無標籤樣本, 也可以表示標籤樣本。
經過增強處理的無標籤樣本或標籤樣本。
第i個樣本。
分別表示損失,監督損失,無監督損失
無監督損失權重,隨著訓練步數增加而增加。
給定輸入情況下,標籤數據集的條件概率。
使用加權θ生成的神經網路,即期望訓練出的模型。
邏輯函數f的輸出值的向量。
預測的標籤分布。
兩個分布間的距離函數,例如均方誤差、交叉熵、KL散度等。
Teacher 模型權重的移動平均線加權超參數。
α為混合樣本的係數 ,
銳化預測分布的溫度。
選擇合格的預測結果的置信度閾值。



3

假設

在已有研究文獻中,討論了以下幾種假設來支撐對半監督學習方法中的某些設計進行決策。
假設1:平滑度假設(Smoothness Assumptions)
如果兩個數據樣本在特徵空間的高密度區域接近,它們的標籤應該會相同或非常相似。
假設2:聚類假設(Cluster Assumptions)
特徵空間既有密集區域,也有稀疏區域。密集分組的數據點很自然地形成聚類。同一聚類中的樣本應具有相同的標籤。這是對假設1的一個小擴展。
假設3:低密度分離假設(Low-density Separation Assumptions)
類之間的決策邊界往往位於稀疏的低密度區域,因為如果不這樣的話,決策邊界就會將高密度聚類分割為分別對應兩個聚類的兩個類,這就會導致假設1和假設2都失效。
假設4:流形假設(Manifold Assumptions)

高維數據往往位於低維流形上。儘管現實世界的數據可能是在非常高的維度上被觀察到的(例如,真實世界的物體/場景的影像),但它們實際上可以被更低維的流形捕獲,這種低維流形上會捕獲數據的某些屬性,並將一些相似的數據點進行緊密組合(例如真實世界的物體/場景的影像,並不是源自於所有像素組合的均勻分布)。這就使得模型能夠學習一種更有效的表徵方法去發現和評估無標籤數據點之間的相似性。這也是表徵學習的基礎。關於此假設,更詳細的闡述可參考《如何理解半監督學習中的流行假設》這篇文章。

鏈接://stats.stackexchange.com/questions/66939/what-is-the-manifold-assumption-in-semi-supervised-learning



4

一致性正則化(Consistency Regularization)

一致性正則化,也叫一致性訓練,假設給定相同輸入,神經網路中的隨機性(例如使用 Dropout算法)或數據增強轉換不會更改模型預測。本節中的每個方法都有一個一致性正則化損失:
SimCLR、BYOL、SimCSE 等多個自監督學習方法都採用了這一思想。相同樣本的不同增強版本,產生的表徵都相同。語言建模中的交叉視圖訓練(Cross-view training )和自監督學習中的多視圖學習(Multi-view learning)的研究動機相同。

1.Π模型

圖1:Π-模型概覽。同一個輸入經過不同的隨機增強和 dropout掩膜的擾動產生兩個版本,通過網路得到兩個輸出,Π-模型預測這兩個輸出是一致的。(圖片來源:Laine 、 Aila  2017發表的論文《半監督學習的時序集成》 )

Sajjadi 等人在2016年發表的論文《深度半監督學習的隨機變換和擾動正則化》(Regularization With Stochastic Transformations and Perturbations for Deep Semi-Supervised Learning)中,提出了一種無監督學習損失,它能夠將同一數據點經過隨機變換(例如dropout、隨機最大池化)產生兩個版本,並在通過網路後輸出的兩個結果之間的差異最小化。由於其標籤沒有被明確使用,所以該損失可以應用到無標籤數據集。Laine 、Aila 後來在2017年發表的論文《半監督學習的時序集成》(Temporal Ensembling for Semi-Supervised Learning)中,為這種處理方式取了一個名字,叫做 Π模型。
其中,指同一個神經網路應用不同的隨機增強或dropout掩膜的取值。該損失使用整個數據集。

2.時序集成(Temporal ensembling)

圖2:時序集成概覽。其學習目標是對每個樣本的指數移動平均值( EMA)做出標籤預測。(圖片來源:Laine 、 Aila  2017發表的論文《半監督學習的時序集成》)
Π模型需要每個樣本通過神經網路兩次,這就使得計算成本增加一倍。為了減少成本,時序集成模型持續將每個訓練樣本的實時模型預測的指數移動平均值(EMA)作為學習目標,EMA 在每輪迭代中僅需計算和更新一次。由於時序集成模型的輸出被初始化為0,因而除以進行歸一化來糾正這一啟動偏差。出於同一原因,Adam 優化器也有這樣的偏差糾正項。
其中是在第t輪迭代中的集成預測,是在當前回合的模型預測。需要注意的是,由於=0,進行偏差糾正後,就完全等於在第1輪迭代中的模型預測值

3.均值教師(Mean teachers)

圖3:Mean Teacher 框架概覽(圖片來源:Tarvaninen、 Valpola在2017年發表的論文《均值教師模型是表現更好的模範模型:加權平均一致性目標優化半監督深度學習結果》)
時序集成模型將追蹤每一個訓練樣本的標籤預測的指數移動平均值作為學習目標。然而,這種標籤預測僅在每一次迭代中發生變化,當訓練數據集很大時,這種方法就顯得冗雜。
為了克服目標更新速度慢的問題,Tarvaninen、 Valpola在2017年發表的論文《均值教師模型是表現更好的模範模型:加權平均一致性目標優化半監督深度學習結果》(Mean teachers are better role models: Weight-averaged consistency targets improve semi-supervised deep learning results)中,提出了Mean Teacher演算法,該演算法通過跟蹤模型權值的移動平均值而不是模型輸出來更新目標。權重為θ的原始模型叫做Student模型,將權重為連續多個Student模型的移動平均權重θ′的模型,稱為Mean Teacher模型:
一致性正則化損失是Student模型和Teacher 模型的預測之間的距離,並且該差距應該最小化。Mean Teacher 模型能夠提供比Student模型更準確的預測。該結論在實證實驗中得到了證實,如圖 4 所示。

圖4:Π 模型和 Mean Teacher模型在 SVHN 數據集上的分類誤差。Mean Teacher模型(用橙線表示)比Student模型(用藍線表示)的表現更好。(圖片來源:Tarvaninen、 Valpola在2017年發表的論文《均值教師模型是表現更好的模範模型:加權平均一致性目標優化半監督深度學習結果》)
根據其消融研究:
  • 輸入增強方法(例如,輸入影像的隨機翻轉、高斯雜訊)或對Student模型進行dropout處理對於模型實現良好的性能是必要的。Teacher模式不需要進行dropout處理。
  • 性能對指數移動平均值的衰減超參數β敏感。一個比較好的策略是在增長階段使用較小的β=0.99,在後期Student模型改進放緩時使用較大的β=0.999。
  • 結果發現,一致性成本函數的均方誤差(MSE)比KL發散等其他成本函數的表現更好。

4.將雜訊樣本作為學習目標

最近的幾種一致性訓練方法學習將原始的無標籤樣本與其相應的增強版本之間的預測差異最小化。這種思路與 Π 模型非常相似,但其一致性正則化損失僅適用於無標籤數據。

圖5:使用雜訊樣本的一致性訓練
在Goodfellow等人於2014年發表的論文《解釋和利用對抗性樣本》(Explaining and Harnessing Adversarial Examples)中,對抗性訓練(Adversarial Training)將對抗性雜訊應用到輸入上,並訓練模型使其對此類對抗性攻擊具有魯棒性。該方法在監督學習的應用公式如下:
其中是真實分布,近似於真值標籤的獨熱編碼,是模型預測,是計算兩個分布之間差異的距離函數。
Miyato 等人在2018年發表的論文《虛擬對抗性訓練:對監督和半監督方法都適用的正則化方法》(Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning)中提出虛擬對抗性訓練(Virtual Adversarial Training,VAT),該方法是對抗性訓練思想在半監督學習領域的一個延伸。由於是未知的,VAT 將該未知項替換為當前權重設定為時,當前模型對原始輸入的預測。需要注意的是,是模型權重的的固定值,因而在上不會進行梯度更新。
VAT 損失既適用於標籤樣本,也適用於無標籤樣本。它計算的是當前模型在每個數據點的預測流形的負平滑度。對這種損失進行優化能夠讓預測流形更加平滑。
Verma等人在2019年論文《半監督學習的插值一致性訓練》(Interpolation Consistency Training for Semi-Supervised Learning)中提出插值一致性訓練(Interpolation Consistency Training,ICT),通過添加更多數據點的插值來強化數據集,讓模型預測和對應標籤的插值儘可能一致。Hongyi Zhang等人在2018年的論文《Mixup:超越經驗風險最小化》(Mixup: Beyond Empirical Risk Minimization)中提出MixUp方法,即通過簡單的加權和來將兩個影像進行混合處理。插值一致性訓練即根據這一思路,讓預測模型為一個混合樣本生成標籤,來匹配對應輸入的預測插值:
其中表示Mean Teacher 模型的θ的移動平均值。

圖6:插值一致性訓練概覽。使用MixUp方法生成更多以插值標籤作為學習目標的插值樣本。(圖片來源:Verma等人在2019年論文《半監督學習的插值一致性訓練》)
由於兩個隨機選擇的無標籤樣本屬於不同類別的概率很高(例如ImageNet中就有1000個目標類別),因此在兩個隨機無標籤樣本之間應用Mixup方法,就很可能生成在決策邊界附近的插值。根據低密度分離(Low-density Separation)假設,決策邊界往往位於低密度區域。
其中表示θ的移動平均值。
與VAT類似,Xie 等人在2020年的論文《一致性訓練的無監督數據增強》(Unsupervised Data Augmentation for Consistency Training)中提出的無監督數據增強(Unsupervised Data Augmentation,UDA),學習給無標籤樣本和增強樣本預測相同的輸出。UDA特別聚焦於研究雜訊的「品質」如何通過一致性訓練來影響半監督學習的性能。要想生成有意義和有效的雜訊樣本,使用先進的數據增強方法至關重要。良好的數據增強方法應該能夠產生有效的(即不改變標籤)和多樣的雜訊,並帶有有針對性的歸納偏置(Inductive Biases)。
針對影像領域,UDA 採用的是RandAugment方法,該方法由Cubuk 等人在2019年的論文《RandAugment: 減少搜索空間的實用型自動數據增強方法》(RandAugment: Practical automated data augmentation with a reduced search space)中提出。它對Python影像處理庫PIL中可用的增強操作進行統一取樣,無需學習或優化,因此比使用AutoAugment方法,成本要便宜得多。

圖7:CIFAR-10分類中各種半監督學習方法的比較。在未經過RandAugment處理的50000個樣本進行訓練時,Wide-ResNet-28-2和PyramidNet+ShakeDrop 在完全監督下,錯誤率分別為**5.4**和**2.7**。
針對語言領域,UDA結合使用回譯( back-translation)和基於TF-IDF的詞替換(word replacement)兩種方法。回譯保留了高層次意義,但是不保留某些詞本身,而基於TF-IDF的詞替換則去掉TF-IDF分數較低的無資訊性詞。在語言任務的實驗中,研究者發現發現UDA與遷移學習和表徵學習是互補的;例如,在域內無標籤數據上對BERT模型進行微調(即圖8中的),能進一步提升性能。

圖8:不同文本分類任務上,無監督數據增強方法採用不同初始化設置的比較。(圖片來源:Xie 等人在2020年的論文《一致性訓練的無監督數據增強》)
在計算  時,UDA可以通過使用以下三種訓練技巧來優化結果:
  • 低置信度掩膜(Low confidence masking):如果樣本的預測置信度低於閾值,則對其進行掩膜處理。
  • 銳化預測分布(Sharpening Prediction Distribution):在Softmax中使用低溫來對預測概率分布進行銳化。
  • 域內數據過濾(In-Domain Data Filtration):為了從大的域外數據集中提取更多的域內數據 ,研究人員訓練一個分類器來預測域內標籤,然後保留具有高置信度預測的樣本作為域內候選樣本。
其中,是模型權重的固定值,與VAT中的一樣,因而沒有梯度更新,是經過增強的數據點,是預測置信度閾值,是分布銳化溫度。



5

偽標籤(Pseudo Labeling)

Lee等人在2013年的論文《偽標籤:深度神經網路的簡單而高效的半監督學習方法》(Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks)中提出偽標籤,它基於當前模型預測的最大的softmax概率,將偽標籤分配給無標籤樣本,然後在完全監督設置下,同時在標籤樣本和無標籤樣本上訓練模型。
為什麼偽標籤能起作用?偽標籤實際上相當於熵正則化,它將無標籤數據的類概率的條件熵( conditional entropy )最小化,從而實現類之間的低密度分離。換句話說,預測的類概率實際上是計算類重疊,最小化熵相當於減少類重疊,從而降低密度分離。

圖9:(a )表示僅使用600 個標籤數據對模型訓練後,在MINIST 測試集上進行測試輸出的t-SNE可視化結果,(b)表示使用600 個標籤數據以及60000 個無標籤數據的偽標籤對模型進行訓練後,在MINIST 測試集上進行測試輸出的t-SNE可視化結果。偽標籤能夠使學到的嵌入空間實現更好的分離效果。(圖片來源:Lee等人在2013年的論文《偽標籤:深度神經網路的簡單而高效的半監督學習方法》)
使用偽標籤進行訓練自然是一個迭代過程。這裡將生成偽標籤的模型叫做Teacher 模型,將使用偽標籤學習的模型稱作Student 模型。

1.標籤傳播(Label propagation)

Iscen等人在2019年發表的論文《深度半監督學習的標籤傳播》(Label Propagation for Deep Semi-supervised Learning)中提出標籤傳播概念,是一種基於特徵嵌入在樣本之間構建相似圖的思想。接著將偽標籤從已知樣本「擴散」到傳播權重與圖中成對相似性得分成正比的無標籤樣本。從概念上來看,它類似於k-NN分類器,兩者都存在無法很好地擴展到大型數據集上的問題。

圖10:標籤傳播工作原理示意圖。(圖片來源:Iscen等人在2019年發表的論文《深度半監督學習的標籤傳播》)

2.自訓練(Self-Training)

自訓練不是一個新概念,Scudder等人在1965年發表的論文《自適應模式識別機器的錯誤概率》(Probability of error of some adaptive pattern-recognition machines)、 Nigram & Ghani等人在CIKM 2000 上發表的論文《分析協同訓練的有效性和適用性》(Analyzing the Effectiveness and Applicability of Co-trainin)都涉及到這個概念。它是一種迭代演算法,輪番進行以下兩步操作,直到每個無標籤樣本都匹配到一個標籤:
  • 首先,它在標籤數據上構建分類器。
  • 接著,它使用該分類器預測無標籤數據的標籤,並將置信度最高的標籤轉換為標籤樣本。
Xie 等人在2020年發表的論文《使用雜訊學生進行自訓練來優化 ImageNet 分類》(Self-training with Noisy Student improves ImageNet classification)中,將自訓練應用於深度學習,並取得了巨大成果。在ImageNet分類任務中,研究者首先訓練了一個EfficientNet模型作為Teacher模型,為3億張無標籤影像生成偽標籤,然後訓練了一個更大的EfficientNet模型作為Student 模型,以學習真實標籤影像和偽標籤影像。在他們的實驗設置中,一個關鍵的元素是在Student模型訓練期間加入雜訊,而Teacher模型生成偽標籤過程則不加入雜訊來。因此,他們的方法被稱為「雜訊學生(Noisy Student )」,即使用隨機深度、dropout和RandAugment方法給Student 模型加入雜訊。Student 模型表現得比Teacher 模型更好,很大程度上就是加入雜訊帶來的好處。添加的雜訊具有複合效應,可以促使模型在標籤數據和無標籤數據上產生的決策邊界變得平滑。
Student 模型自訓練還有其他幾個重要的技術設置,包括:
  • Student 模型加應該足夠大(即比Teacher 模型大),以適用於更多數據。
  • 加入雜訊的Student 模型應該結合數據平衡方法,這對於平衡每個類重的偽標籤影像的數量尤其重要。
  • 軟偽標籤比硬標籤效果更好。
加入雜訊的Student 模型還提高了防禦 FGSM(快速梯度符號攻擊,其使用輸入數據的損失梯度,並調整輸入數據從而最大化損失)的對抗魯棒性,即便該模型未針對對抗魯棒性進行優化。
Du 等人在2020年的論文《自訓練優化自然語言理解的預訓練》(Self-training Improves Pre-training for Natural Language Understanding)中提出SentAugment 方法,旨在解決語言領域進行自訓練時,域內無標籤數據不足的問題。它依靠句向量從大型語料庫中找到無標籤的域內樣本,並使用檢索到的句子進行自訓練。

3.減小確認偏誤(Confirmation Bias)

確認偏誤是由於Teacher模型還不夠成熟導致提供錯誤的偽標籤的問題。對錯誤標籤進行過擬合可能並不會產生更好的Student模型。
為了減小確認偏誤,Eric Arazo等人在論文《深度半監督學習中的偽標籤和確認偏誤》(Pseudo-Labeling and Confirmation Bias in Deep Semi-Supervised Learning)中提出了兩種新方法。
一種是採用軟標籤的Mixup方法,給定兩個樣本和它們對應的真標籤和偽標籤插值標籤方程可以轉化為softmax輸出的交叉熵損失:
如果標籤樣本太少,使用Mixup方法還不夠。因此論文作者通過對標籤樣本進行過取樣,從而對每個小批量中的標籤樣本設置最小數量。這比對標籤樣本進行權重補償效果更好,因為它會更頻繁地更新,而不是頻次少的更大幅度的更新——這種更新其實更不穩定。
與一致性正則化一樣,數據增強和dropout方法對於發揮偽標籤的作用,也很重要。
Hieu Pham等人在2021年論文《元偽標籤》(Meta Pseudo Labels)中提出元偽標籤,根據Student模型對在標籤數據集上表現的回饋,不斷調整Teacher模型。Teacher模型和Student模型同步進行訓練,Teacher模型學習生成更好的偽標籤,Student模型從偽標籤中學習。
將Teacher模型和Student模型的權重分別設為,Student模型在標籤樣本上的損失定義為的函數,並傾向於通過優化Teacher模型來相應地最小化這一損失。
然而,優化上述方程並非易事。借用MAML (模型無關的元學習, Model-Agnostic Meta-Learnin)的思路,它近似於在進行多步計算的同時,對進行一步梯度更新。
由於使用的是軟偽標籤,上述目標函數是可微函數。但是如果使用硬偽標籤,則是不可微函數,因此需要用到REINFORCE等強化學習方法
優化過程是在兩個模型之間的交替進行的:
  • Student模型更新:給定一批無標籤樣本,我們可以通過函數生成偽標籤,並使用一步隨機梯度下降優化
  • Teacher模型更新:給定一批標籤樣本,我們重複使用Student模型的更新來優化。此外,還將UDA對象應用於Teacher模型以兼并一致性正則化。

圖11:元偽標籤與其他半監督或自監督學習方法在影像分類任務中的性能比較。(圖片來源:Hieu Pham等人在2021年論文《元偽標籤》)



6

一致性正則化+偽標籤

可以將一致性正則化、偽標籤兩種方法結合起來,應用到半監督學習。 

1.MixMatch

Berthelot等人在2019年的論文《MixMatch: 一種面向半監督學習的整體性方法》(MixMatch: A Holistic Approach to Semi-Supervised Learning)中提出的MixMatch 方法,是一種應用於半監督學習的整體性方法,它通過整合以下方法來使用無標籤數據:
  • 一致性正則化(Consistency regularization):讓模型對受到擾動的無標籤樣本輸出相同的預測。
  • 熵最小化(Entropy minimization):讓模型對無標籤數據輸出置信預測。
  • MixUp 增強:讓模型在樣本之間進行線性行為。
給定一批標籤數據和無標籤數據,通過運算得到其增強版本,分別表示增強樣本和給無標籤樣本預測到的標籤。
 
其中是銳化溫度,用來減少猜測到的標籤重疊;K 是每一個無標籤樣本生成的增強版本個數;是MixMatch 函數中的參數。
對於每一個,MixMatch都會生成K個增強版本,等於k分別為1,….,K的的增強版本,模型基於平均值來猜測偽標籤。

圖12:MixMatch中的「標籤猜測」過程:K 個增強無標籤樣本的平均值,修正預測的邊際分布,最終使分布銳化銳。(圖片來源:Berthelot等人在2019年的論文《MixMatch: 一種面向半監督學習的整體性方法》)
根據該論文的消融研究,對無標籤數據進行 MixUp增強尤其重要。去除偽標籤分布上的溫度銳化會嚴重影響性能。對於標籤猜測,計算無標籤數據多個增強版本的平均值也是必不可少的。
Berthelot等人在2020年的論文《ReMixMatch:使用分布對齊和增強錨定進行半監督學習》(ReMixMatch: Semi-Supervised Learning with Distribution Alignment and Augmentation Anchoring)中,進一步提出ReMixMatch方法,通過引入以下兩種新機制來改進MixMatch方法:

圖13:ReMixMatch 方法對MixMatch方法的兩項改進的圖示。(圖片來源:
Berthelot等人在2020年的論文《ReMixMatch:使用分布對齊和增強錨定進行半監督學習》)
1.分布對齊(Distribution alignment)。該方法讓邊緣分布與真值標籤的邊緣分布相近。設定為真值標籤的類分布,是無標籤數據上的預測類分布的移動平均。模型對無標籤樣本的預測經過歸一化處理為以匹配真實邊緣分布。
需要注意的是,如果邊際分布不一致,熵最小化則不是一個有用的目標。並且,有標籤和無標籤數據上的類分布相互匹配的假設確實太絕對了,在現實環境中不一定是正確的。
2.增強錨定(Augmentation Anchoring)。給定一個無標籤樣本,首先會生成一個弱增強的「錨定」版本,接著使用 CTAugment (控制理論增強,Control Theory Augment)方法對K個強增強版本計算平均值。CTAugment僅僅對講模型預測保持在網路容差範圍內的增強版本進行取樣。
ReMixMatch損失由以下幾個項組成:
  • 應用了數據增強和Mixup方法的監督損失
  • 應用了數據增強和Mixup方法卻使用偽標籤作為目標的無監督損失
  • 不使用Mixup方法情況下,單個強增強的無標籤影像的交叉熵損失
  • 自監督學習中的旋轉損失( rotation loss)。

2.DivideMix

Junnan Li 等人在2020年論文《DivideMix:使用雜訊標籤學習來實現半監督學習》(DivideMix: Learning with Noisy Labels as Semi-supervised Learning)中提出DivideMix方法,它將半監督學習與使用雜訊標籤的學習(Learning with noisy labels,LNL)相結合。它通過高斯混合模型(GMM)對每個樣本損失分布進行建模,將訓練數據動態劃分為含有乾淨樣本的標籤數據集和含有雜訊樣本的無標籤數據集。
按照Arazo等人在2019年論文《無監督標籤雜訊建模和損失修正》(Unsupervised Label Noise Modeling and Loss Correction)中提出的想法,他們在每個樣本交叉熵損失上擬合了一個二元高斯混合模型。乾淨樣本期望比雜訊樣本更快得到更低的損失。更小均值的高斯混合模型對應乾淨標籤的聚類,這裡將其表示為c。如果高斯混合模型的後驗概率(即樣本屬於乾淨樣本集的概率)大於閾值,則該樣本被視為乾淨樣本,否則被視為雜訊樣本。
數據進行聚類的過程叫做協同劃分(co-divide)。為了避免確認偏誤,DividImax方法同時訓練兩個交叉的網路,其中每個網路都使用來自另一個網路的數據集分離出來的部分,類似於雙 Q 學習 (Double Q-Learning) 的工作原理。
‎圖14:DivideMix獨立訓練兩個網路,以減少確認偏誤。兩個網路同時運行‎協同劃分,、協同細化 和協同猜測。(圖片來源:Junnan Li 等人在2020年論文《DivideMix:使用雜訊標籤學習來實現半監督學習》)
與MixMatch相比,DivideMix有一個額外的用於處理噪音樣本的‎co-divide步驟,並在訓練期間做了如下改進:
標籤協同細化(Label co-refinement:):它將真值標籤與網路預測進行線性組合,其中是另一個網路產生乾淨數據集概率 條件下,多個增強版本的平均值。
標籤協同猜測(Label co-guessing):它對兩個模型對無標籤數據樣本的預測進行平均。

圖15:DivideMix演算法。(圖片來源:Junnan Li 等人在2020年論文《DivideMix:使用雜訊標籤學習來實現半監督學習》) 

3.FixMatch

Sohn等人在2020年的論文《FixMatch: 使用一致性和置信度簡化半監督學習》(FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence)中提出的FixMatch方法,通過弱增強方法在無標籤樣本上生成偽標籤,並且只保持高置信度的預測。在這裡,弱增強和高置信度過濾都有助於生成高品質的可信偽標籤目標。然後,FixMatch在給定一個經過大幅增強的樣本情況下,預測這些偽標籤。

圖16:FixMatch方法的工作原理圖示。(圖片來源:Sohn等人在2020年的論文《FixMatch: 使用一致性和置信度簡化半監督學習》) 

其中是無標籤樣本的偽標籤;是決定的相對大小的超參數。
弱增強:標準的平移和變換增強。
強增強:AutoAugment、 Cutout、 RandAugment和 CTAugment等數據增強方法。

圖17:FixMatch和其他幾種半監督學習方法在影像分類任務上的性能。(圖片來源:Sohn等人在2020年的論文《FixMatch: 使用一致性和置信度簡化半監督學習》) 
根據FixMatch的消融研究,
  • 當使用閾值τ時,使用溫度參數T對銳化預測分布不會產生顯著影響。
  • Cutout和CTAugment是強增強方法,對模型達到良好的性能「功不可沒」。
  • 當標籤猜測使用強增強來取代弱增強時,模型在訓練早期就發散了。如果捨棄弱增強,模型就會過度擬合猜測的標籤。
  • 使用弱增強而不是強增強進行偽標籤預測,會導致模型性能不穩定。強數據增強,對於模型性能的穩定性而言,至關重要。



7

結合強大的預訓練

該方法通過自監督學習在大型無監督數據語料庫上對與任務無關的模型進行預訓練,然後使用小型標籤數據集在下游任務上對該模型進行微調,這是一種常見的範式,尤其是在語言任務中。研究表明,如果將半監督學習與預訓練相結合,模型可以獲得額外的收益。
Zoph 等人在2020年的論文《重新思考預訓練和自訓練》(Rethinking Pre-training and Self-training),研究了自訓練比預訓練更有效多少。他們的實驗設置是使用ImageNet 進行預訓練或自訓練,從而改進 COCO結果。需要注意的是,在使用 ImageNet 進行自訓練時,它會丟棄標籤,僅將 ImageNet 樣本用作無標籤的數據點。何愷明等人在2018年的論文《重新思考ImageNet 預訓練》(Rethinking ImageNet Pre-training)中已經證明,如果下游任務(例如目標檢測)非常不同,ImageNet 分類預訓練的效果就不是很好。

圖18:(a) 數據增強(從弱到強)的結果和 (b) 標籤數據集大小對目標檢測性能的影響。在圖例中:「Rand Init」表示經過隨機權重初始化的模型;`ImageNet` 使用在ImageNet數據集上Top-1準確率為84.5%的預訓練模型進行初始化;`ImageNet++`使用在 ImageNet數據集上Top-1準確率為86.9%的預訓練模型進行初始化。(圖片來源:Zoph 等人在2020年的論文《重新思考預訓練和自訓練》)
該實驗獲得了一系列有趣的發現:
  • 可用於下游任務的標籤樣本越多,預訓練的有效性就越低。預訓練在低數據模式(20%)下是有幫助的,但在高數據情況下是中性的或起反作用的。
  • 在高數據/強增強模式下,即便預訓練會起反作用,自訓練也是有幫助的。
  • 即使使用相同的數據源,自訓練也可以在預訓練的基礎上帶來額外的改進。
  • 自監督預訓練(例如通過 SimCLR進行預訓練)會損害模型在高數據模式下的性能,跟監督預訓練差不多。
  • 聯合訓練監督和自監督學習目標有助於解決預訓練和下游任務之間的不匹配問題。預訓練、聯合訓練和自訓練都是加性的。
  • 雜訊標籤或非目標標籤(即預訓練標籤未與下游任務標籤對齊)比目標的偽標籤更差。
  • 自訓練在計算上比在預訓練模型上進行微調,更昂貴。
Ting Chen等人在2020年的論文《大型自監督模型是強大的半監督學習者》(Big Self-Supervised Models are Strong Semi-Supervised Learners)中,提出了一個三步程式(three-step procedure)方法,將自監督預訓練、有監督微調以及自訓練的優勢都結合在一起:
1.使用無監督或子監督方法對一個大模型進行訓練;
2.在一些標籤示例上對該模型進行有監督微調,其中使用大型(深且寬)的神經網路至關重要,因為使用更少的標籤樣本下,模型越大,性能更佳。
3.在自訓練中採用偽標籤,對無標籤示例進行蒸餾。
a.可以將一個大模型的知識蒸餾到一個小模型中,因為這種特定任務的用法並不需要學到的表示的額外容量。
b.蒸餾損失公式如下,其中Teacher網路是固定的,權重為

 

圖19:半監督學習框架通過與任務無關的無監督預訓練(左)和特定任務的自訓練和蒸餾(右)來使用無標籤的數據語料庫。(圖片來源:Ting Chen等人在2020年的論文《大型自監督模型是強大的半監督學習者》) 

論文作者在 ImageNet 分類任務上進行了實驗。自監督預訓練使用 SimCLRv2,SimCLR 的直接改進版本。他們在實證研究中的觀察結果,證實了Zoph 等人在2020年提出的一些成果:
  • 更大模型的標籤學習更加高效;
  • SimCLR 中更大/更深的project heads可以改善表徵學習;
  • 使用無標籤數據進行蒸餾,能優化半監督學習。
圖20:SimCLRv2 + 半監督蒸餾在 ImageNet 分類上的性能對比。(圖片來源:Ting Chen等人在2020年的論文《大型自監督模型是強大的半監督學習者》)
通過對最近半監督學習方法的總結,我們可以發現不少方法都旨在減少確認偏誤:
  • 通過先進的數據增強方法將有效且多樣化的雜訊應用於樣本。
  • 在處理影像時,MixUp 是一種有效的數據增強方法。該方法同樣可用於語言任務,實現較小的增量優化((Guo et al. 2019)。
  • 設置閾值,並去掉置信度低的偽標籤。
  • 設置每個小批量中的標籤樣本的最少數量。
  • 銳化偽標籤分布來減少類重疊。
如需引用,請註明:
@article{weng2021semi,  title   = "Learning with not Enough Data Part 1: Semi-Supervised Learning",  author  = "Weng, Lilian",  journal = "lilianweng.github.io",  year    = "2021",  url     = "//lilianweng.github.io/posts/2021-12-05-semi-supervised/"}

參考文獻:

[1] Ouali, Hudelot & Tami. 「An Overview of Deep Semi-Supervised Learning」 arXiv preprint arXiv:2006.05278 (2020).
[2] Sajjadi, Javanmardi & Tasdizen 「Regularization With Stochastic Transformations and Perturbations for Deep Semi-Supervised Learning.」 arXiv preprint arXiv:1606.04586 (2016).
[3] Pham et al. 「Meta Pseudo Labels.」 CVPR 2021.
[4] Laine & Aila. 「Temporal Ensembling for Semi-Supervised Learning」 ICLR 2017.
[5] Tarvaninen & Valpola. 「Mean teachers are better role models: Weight-averaged consistency targets improve semi-supervised deep learning results.」 NeuriPS 2017
[6] Xie et al. 「Unsupervised Data Augmentation for Consistency Training.」 NeuriPS 2020.
[7] Miyato et al. 「Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning.」 IEEE transactions on pattern analysis and machine intelligence 41.8 (2018).
[8]Ian J. Goodfellow et al.」Explaining and Harnessing Adversarial Examples「,2014
[9] Verma et al. 「Interpolation consistency training for semi-supervised learning.」 IJCAI 2019
[10] Lee. 「Pseudo-label: The simple and efficient semi-supervised learning method for deep neural networks.」 ICML 2013 Workshop: Challenges in Representation Learning.
[11] Iscen et al. 「Label propagation for deep semi-supervised learning.」 CVPR 2019.
[12] Xie et al. 「Self-training with Noisy Student improves ImageNet classification」 CVPR 2020.
[13] Jingfei Du et al. 「Self-training Improves Pre-training for Natural Language Understanding.」 2020
[14 Iscen et al. 「Label propagation for deep semi-supervised learning.」 CVPR 2019
[15] Arazo et al. 「Pseudo-labeling and confirmation bias in deep semi-supervised learning.」 IJCNN 2020.
[16] Berthelot et al. 「MixMatch: A holistic approach to semi-supervised learning.」 NeuriPS 2019
[17] Berthelot et al. 「ReMixMatch: Semi-supervised learning with distribution alignment and augmentation anchoring.」 ICLR 2020
[18] Eric Arazo et al. Unsupervised Label Noise Modeling and Loss Correction,2019
[19] Sohn et al. 「FixMatch: Simplifying semi-supervised learning with consistency and confidence.」 CVPR 2020
[20] Junnan Li et al. 「DivideMix: Learning with Noisy Labels as Semi-supervised Learning.」 2020 [code]
[21] Zoph et al. 「Rethinking pre-training and self-training.」 2020.
[22] Chen et al. 「Big Self-Supervised Models are Strong Semi-Supervised Learners」 2020
掃碼添加 AI 科技評論 微訊號,投稿&進群:

雷峰網