半監督學習同時使用標籤數據和無標籤數據來訓練模型。有趣的是,現有關於半監督學習的文獻大多集中在視覺任務上。而預訓練+微調方法才是語言任務中更常見的範式。本文所提到的所有方法的損失,都由兩部分構成:。其中監督損失在樣本全部為標籤樣本的情況下非常容易計算出來。我們需要重點關注如何設計無監督損失。加權項通常選擇使用斜坡函數,其中t是訓練步數,隨著訓練次數的增加,的佔比提升。聲明:此文並不覆蓋所有半監督方法,僅聚焦於模型架構調優方面的。關於在半監督學習中,如何使用生成模型和基於圖的方法,可以參考《深度半監督學習全覽》(An Overview of Deep Semi-Supervised Learning)這篇論文。
Sajjadi 等人在2016年發表的論文《深度半監督學習的隨機變換和擾動正則化》(Regularization With Stochastic Transformations and Perturbations for Deep Semi-Supervised Learning)中,提出了一種無監督學習損失,它能夠將同一數據點經過隨機變換(例如dropout、隨機最大池化)產生兩個版本,並在通過網路後輸出的兩個結果之間的差異最小化。由於其標籤沒有被明確使用,所以該損失可以應用到無標籤數據集。Laine 、Aila 後來在2017年發表的論文《半監督學習的時序集成》(Temporal Ensembling for Semi-Supervised Learning)中,為這種處理方式取了一個名字,叫做 Π模型。其中,指同一個神經網路應用不同的隨機增強或dropout掩膜的取值。該損失使用整個數據集。
圖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方法,成本要便宜得多。
Lee等人在2013年的論文《偽標籤:深度神經網路的簡單而高效的半監督學習方法》(Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks)中提出偽標籤,它基於當前模型預測的最大的softmax概率,將偽標籤分配給無標籤樣本,然後在完全監督設置下,同時在標籤樣本和無標籤樣本上訓練模型。為什麼偽標籤能起作用?偽標籤實際上相當於熵正則化,它將無標籤數據的類概率的條件熵( conditional entropy )最小化,從而實現類之間的低密度分離。換句話說,預測的類概率實際上是計算類重疊,最小化熵相當於減少類重疊,從而降低密度分離。
Iscen等人在2019年發表的論文《深度半監督學習的標籤傳播》(Label Propagation for Deep Semi-supervised Learning)中提出標籤傳播概念,是一種基於特徵嵌入在樣本之間構建相似圖的思想。接著將偽標籤從已知樣本「擴散」到傳播權重與圖中成對相似性得分成正比的無標籤樣本。從概念上來看,它類似於k-NN分類器,兩者都存在無法很好地擴展到大型數據集上的問題。
自訓練不是一個新概念,Scudder等人在1965年發表的論文《自適應模式識別機器的錯誤概率》(Probability of error of some adaptive pattern-recognition machines)、Nigram & Ghani等人在CIKM 2000 上發表的論文《分析協同訓練的有效性和適用性》(Analyzing the Effectiveness and Applicability of Co-trainin)都涉及到這個概念。它是一種迭代演算法,輪番進行以下兩步操作,直到每個無標籤樣本都匹配到一個標籤:
加入雜訊的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等強化學習方法。優化過程是在兩個模型之間的交替進行的:
Berthelot等人在2019年的論文《MixMatch: 一種面向半監督學習的整體性方法》(MixMatch: A Holistic Approach to Semi-Supervised Learning)中提出的MixMatch 方法,是一種應用於半監督學習的整體性方法,它通過整合以下方法來使用無標籤數據:
圖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在給定一個經過大幅增強的樣本情況下,預測這些偽標籤。
在處理影像時,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. Goodfellowet 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 科技評論 微訊號,投稿&進群: