本文轉自雷鋒網,如需轉載請至雷鋒網官網申請授權。
現實應用程式中,資料易得,而有標籤的資料少有。
一般而言,當監督學習任務面臨標籤資料不足問題時,可以考慮以下四個解決方法:
1.預訓練微調:首先在一個大規模無監督資料語料庫上對一個強大的任務無關模型進行預訓練(例如透過自監督學習在自由文字上對語言模型進行預訓練,或在無標籤影像上對視覺模型進行預訓練),之後再使用一小組標籤樣本在下游任務上對此模型進行微調。
2.半監督學習:同時從標籤樣本和無標籤樣本中學習,研究者使用該方法在視覺任務上進行了大量研究。
3.主動學習:標註成本高,即便成本預算有限,也希望盡可能收集更多的標籤資料。主動學習學習選擇最有價值的無標籤樣本,並在接下來的收集過程中收集此類數據,在預算有限的情況下,幫助模型盡可能達到預期效果。
4.預訓練 資料集自動產生:給定一個強大的預訓練模型,可以利用該模型來自動產生更多得多的標籤樣本。受小樣本學習大獲成功的驅動,此方法在語言領域的應用尤其普遍。
本文全面介紹半監督學習此方法,作者為OpenAI研究員Lilian Weng,部落格網址:https://lilianweng.github.io/
半監督學習同時使用標籤資料和無標籤資料來訓練模型。有趣的是,現有關於半監督學習的文獻大多集中在視覺任務上。而預訓練 微調方法才是語言任務中較常見的範式。本文所提到的所有方法的損失,都由兩部分構成:。其中監督損失在樣本全部為標籤樣本的情況下非常容易計算出來。我們需要專注於如何設計無監督損失。加權項通常選擇使用斜坡函數,其中t是訓練步數,隨著訓練次數的增加,的佔比提升。聲明:此文並未涵蓋所有半監督方法,僅聚焦於模型架構調優方面的。關於在半監督學習中,如何使用生成模型和基於圖的方法,可以參考《深度半監督學習全覽》(An Overview of Deep Semi-Supervised Learning)這篇論文。
#符號 # |
意義 |
#標籤資料集,其中 | 是真實標籤的獨熱表示。 |
########## |
可以表示無標籤樣本, 也可以表示標籤樣本。 |
#經過增強處理的無標籤樣本或標籤樣本。 |
|
第i個樣本。 |
|
#分別表示損失,監督損失,無監督損失 |
|
無監督損失權重,隨著訓練步數增加而增加。 |
|
#給定輸入情況下,標籤資料集的條件機率。 |
|
#使用加權θ#產生的神經網絡,即期望訓練出的模型。 |
|
邏輯函數f的輸出值的向量。 |
|
預測的標籤分佈。 |
|
兩個分佈間的距離函數,例如均方誤差、交叉熵、KL散度等。 |
|
######## #Teacher 模型權重的移動平均線加權超參數。 ########## |
|
#α為混合樣本的 係數, |
|
銳利化預測分佈的溫度。 |
|
在已有研究文獻中,討論了以下幾種假設來支撐對半監督學習方法中的某些設計進行決策。
假設1:平滑度假設(Smoothness Assumptions)
如果兩個資料樣本在特徵空間的高密度區域接近,它們的標籤應該會相同或非常相似。
假設2:聚類假設(Cluster Assumptions)
特徵空間既有密集區域,也有稀疏區域。密集分組的資料點自然形成聚類。同一聚類中的樣本應具有相同的標籤。這是對假設1的一個小擴展。
假設3:低密度分離假設(Low-density Separation Assumptions)
類別之間的決策邊界往往位於稀疏的低密度區域,因為如果不這樣的話,決策邊界就會將高密度聚類分割為分別對應兩個聚類的兩個類,這就會導致假設1和假設2都失效。
假設4:流形假設(Manifold Assumptions)
高維資料往往位於低維流形上。儘管現實世界的數據可能是在非常高的維度上被觀察到的(例如,真實世界的物體/場景的圖像),但它們實際上可以被更低維的流形捕獲,這種低維流形上會捕捉資料的某些屬性,並將一些相似的資料點進行緊密組合(例如真實世界的物件/場景的影像,並不是源自於所有像素組合的均勻分佈)。這就使得模型能夠學習一種更有效的表徵方法去發現和評估無標籤資料點之間的相似性。這也是表徵學習的基礎。關於這個假設,更詳細的闡述可參考《如何理解半監督學習中的流行假設》這篇文章。
連結:https://stats.stackexchange.com/questions/66939/what-is-the-manifold-assumption-in-semi-supervised-learning
一致性正則化,也叫一致性訓練,假設給定相同輸入,神經網路中的隨機性(例如使用 Dropout演算法)或資料增強轉換不會變更模型預測。本節中的每個方法都有一個一致性正規化損失:。 SimCLR、BYOL、SimCSE 等多個自監督學習方法都採用了這個想法。相同樣本的不同增強版本,產生的表徵都相同。語言建模中的交叉視圖訓練(Cross-view training )和自我監督學習中的多視圖學習(Multi-view learning)的研究動機相同。
#圖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:時序集成概覽。其學習目標是對每個樣本的指數移動平均值( EMA)做出標籤預測。 (圖片來源:Laine 、 Aila 2017發表的論文《半監督學習的時序整合》)
Π模型需要每個樣本通過神經網路兩次,這使得計算成本增加一倍。為了減少成本,時序整合模型持續將每個訓練樣本的即時模型預測的指數移動平均值(EMA)作為學習目標,EMA 在每輪迭代中僅需計算和更新一次。由於時序集成模型的輸出被初始化為0,因而除以進行歸一化來修正此啟動偏差。出於同一原因,Adam 優化器也有這樣的偏差修正項。 其中是在第t輪迭代中的整合預測,是在當前回合的模型預測。需要注意的是,由於=0,進行偏差修正後,就完全等於在第1輪迭代中的模型預測值。
#圖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 所示。
結果發現,一致性成本函數的均方誤差(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可以透過使用以下三種訓練技巧來最佳化結果:
其中,是模型權重的固定值,與VAT中的一樣,因而沒有梯度更新,是經過增強的資料點,是預測置信度閾值,是分佈銳化溫度。
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 模型。
Iscen等人於2019年發表的論文《深度半監督學習的標籤傳播》(Label Propagation for Deep Semi-supervised Learning)中提出標籤傳播概念,是一種基於特徵嵌入在樣本之間建構相似圖的想法。接著將偽標籤從已知樣本「擴散」到傳播權重與圖中成對相似性得分成正比的無標籤樣本。從概念來看,它類似於k-NN分類器,兩者都存在著無法很好地擴展到大型資料集上的問題。
#圖10:標籤傳播工作原理示意圖。 (圖片來源:Iscen等人於2019年發表的論文《深度半監督學習的標籤傳播》)
#自我訓練不是新概念,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 模型也提高了防禦FGSM(快速梯度符號攻擊,其使用輸入資料的損失梯度,並調整輸入資料從而最大化損失)的對抗魯棒性,即便模型未針對對抗穩健性進行最佳化。
Du 等人在2020年的論文《自訓練優化自然語言理解的預訓練》(Self-training Improves Pre-training for Natural Language Understanding)中提出SentAugment 方法,旨在解決語言領域進行自訓練時,域內無標籤資料不足的問題。它依靠句向量從大型語料庫中找到無標籤的域內樣本,並使用檢索到的句子進行自我訓練。
#確認偏誤是由於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等強化學習方法。
最佳化過程是在兩個模型之間的交替進行的:
#圖11:元偽標籤與其他半監督或自監督學習方法在圖像分類任務中的效能比較。 (圖片來源:Hieu Pham等人在2021年論文《元偽標籤》)
可以將一致性正規化、偽標籤兩種方法結合起來,應用到半監督式學習。
Berthelot等人在2019年的論文《MixMatch: 一種面向半監督學習的整體性方法》(MixMatch: A Holistic Approach to Semi-Supervised Learning)中提出的MixMatch 方法,是一種應用於半監督學習的整體性方法,它透過整合以下方法來使用無標籤資料:
#給定一批標籤資料和無標籤資料,透過運算得到其增強版本,和分別表示增強樣本和給無標籤樣本預測到的標籤。
其中是銳利化溫度,用來減少猜測到的標籤重疊;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損失由以下幾個項目組成:
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)FixMatchSohn等人在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的消融研究,## ####
该方法通过自监督学习在大型无监督数据语料库上对与任务无关的模型进行预训练,然后使用小型标签数据集在下游任务上对该模型进行微调,这是一种常见的范式,尤其是在语言任务中。研究表明,如果将半监督学习与预训练相结合,模型可以获得额外的收益。
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年的论文《重新思考预训练和自训练》)
该实验获得了一系列有趣的发现:
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年提出的一些成果:
#圖20:SimCLRv2 半監督蒸餾在 ImageNet 分類上的效能比較。 (圖片來源:Ting Chen等人在2020年的論文《大型自監督模型是強大的半監督學習者》)
透過對最近半監督學習方法的總結,我們可以發現不少方法都旨在減少確認偏差:
<span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">@</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">article</span>{<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">weng2021semi</span>,<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">title</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span> <span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"Learning with not Enough Data Part 1: Semi-Supervised Learning"</span>,<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">author</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span> <span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"Weng, Lilian"</span>,#########
以上是OpenAI 研究員:當資料不足時,如何實現監督學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!