ICML2021 | Self-Tuning: 如何减少对标记数据的需求?
文 | 王希梅,高敬涵,龍明盛,王建民
源 | THUML
本文介紹ICML2021的中稿論文:Self-Tuning for Data-Efficient Deep Learning,就“如何減少對標記數(shù)據(jù)的需求”這一重要問題給出了我們的思考。
論文標題:
Self-Tuning for Data-Efficient Deep Learning
論文鏈接:
http://ise.thss.tsinghua.edu.cn/~mlong/doc/Self-Tuning-for-Data-Efficient-Deep-Learning-icml21.pdf
GitHub鏈接:
https://github.com/thuml/Self-Tuning
引言
大規(guī)模標記數(shù)據(jù)集推動深度學習獲得了廣泛應用,然而,在現(xiàn)實場景中收集足量的標記數(shù)據(jù)往往耗時耗力。為了減少對標記數(shù)據(jù)的需求,半監(jiān)督學習和遷移學習的研究者們從兩個不同的視角給出了自己的思考:半監(jiān)督學習(Semi-supervised Learning, SSL)側(cè)重于同時探索標記數(shù)據(jù)和無標記數(shù)據(jù),通過挖掘無標記數(shù)據(jù)的內(nèi)在結(jié)構(gòu)增強模型的泛化能力,而遷移學習(Transfer Learning, TL)旨在將預訓練模型微調(diào)到目標數(shù)據(jù)中,也就是我們耳熟能詳?shù)?strong>預訓練-微調(diào)范式。
半監(jiān)督學習的最新進展,例如UDA,FixMatch等方法,證明了自訓練(Self-Training)的巨大潛力。通過弱增廣樣本為強增廣樣本生成偽標記(pseudo-label),FixMatch就可以在Cifar10、SVHN、STL-10數(shù)據(jù)集上取得了令人耳目一新的效果。然而,細心的讀者會發(fā)現(xiàn),上述數(shù)據(jù)集都是類別數(shù)較少的簡單數(shù)據(jù)集(都是10類),當類別數(shù)增加到100時,FixMatch這種從頭開始訓練(train from scratch)的自訓練方法的表現(xiàn)就差強人意了。進一步地,我們在CUB200上將類別數(shù)從10逐漸增加到200時,發(fā)現(xiàn)FixMatch的準確率隨著偽標簽的準確率的下降而快速下降。這說明,隨著類別數(shù)的增加,偽標簽的質(zhì)量逐漸下降,而自訓練的模型也被錯誤的偽標簽所誤導,從而難以在測試數(shù)據(jù)集上取得可觀的效果。這一現(xiàn)象,被前人總結(jié)為自訓練的確認偏差(confirmation bias)問題,說明Self-training雖然是良藥,偶爾卻有毒。
遷移學習在計算機視覺和自然語言處理中被廣泛使用,預訓練-微調(diào)(fine-tuning)的范式也比傳統(tǒng)的領(lǐng)域適應(domain adaptation)約束更少,更具落地價值。然而,現(xiàn)有的遷移學習方法專注于從不同角度挖掘預訓練模型和標記數(shù)據(jù),卻對更為容易獲取的無標記數(shù)據(jù)熟視無睹。以遷移學習的最新方法Co-Tuning為例,它通過學習源領(lǐng)域類別和目標領(lǐng)域類別的映射關(guān)系,實現(xiàn)了預訓練模型參數(shù)的完全遷移。然而,因為僅僅將預訓練模型遷移到標記數(shù)據(jù)中,Co-Tuning容易過擬合到有限的標記數(shù)據(jù)上,測試準確率隨著標記數(shù)據(jù)比例的減少而迅速下降,我們將這一現(xiàn)象總結(jié)為模型漂移(model shift)問題。
為了擺脫遷移學習和半監(jiān)督學習的困境,我們提出了一種稱為數(shù)據(jù)高效深度學習(data-efficient deep learning)的新場景, 通過同時挖掘預訓練模型和無標記數(shù)據(jù)的知識,使他們的潛力得到充分釋放。這可能是遷移學習在工業(yè)界最為現(xiàn)實的落地場景:當我們試圖獲得目標領(lǐng)域的一個優(yōu)秀模型時,源領(lǐng)域的預訓練模型和目標領(lǐng)域的無標記數(shù)據(jù)幾乎唾手可得。同時,為了解決前述的確認偏差和模型漂移問題,我們提出了一種稱為Self-Tuning的新方法,將標記數(shù)據(jù)和無標記數(shù)據(jù)的探索與預訓練模型的遷移融為一體,以及一種通用的偽標簽組對比機制(Pseudo Group Contrast),從而減輕對偽標簽的依賴,提高對偽標簽的容忍度。在多個標準數(shù)據(jù)集的實驗表明,Self-Tuning遠遠優(yōu)于半監(jiān)督學習和遷移學習的同類方法。例如,在標簽比例為15%的Stanford-Cars數(shù)據(jù)集上,Self-Tuning的測試精度比fine-tuning幾乎提高了一倍。
如何解決確認偏差問題?
為了找出自訓練的確認偏差(confirmation bias)問題的根源,我們首先分析了偽標簽(pseudo-label)廣泛采用的交叉熵損失函數(shù)(Cross-Entropy, CE):
其中,是輸入生成的偽標簽, 而是模型對于樣本。通常地,大多數(shù)自訓練方法都會針對confidence做一個閾值過濾,只有大于閾值 (比如FixMatch中設置了0.95的閾值)的樣本的預測標簽才會被視為合格的偽標簽加入模型訓練。然而,如圖2所示,由于交叉熵損失函數(shù)專注于學習不同類別的分類面,如果某些偽標簽存在錯誤,通過交叉熵損失函數(shù)訓練的模型就會輕易地被錯誤的偽標簽所誤導。
為了解決交叉熵損失函數(shù)的類別鑒別(class discrimination)特性對自訓練帶來的挑戰(zhàn),最近取得突破進展的基于樣本鑒別(sample discrimination)思想的對比學習損失函數(shù)吸引了我們的注意。給定由輸入生成的查詢樣本,在不同數(shù)據(jù)增廣下生成的副本,以及個不同輸入生成的負樣本,則通過內(nèi)積度量相似性的對比學習(Constrastive Learning, CL)損失函數(shù)可以定義為
可以看出,對比學習旨在最大化同一樣本在兩個不同數(shù)據(jù)增廣下的表征相似性,而最小化不同樣本間的表征相似性,從而實現(xiàn)樣本鑒別,挖掘數(shù)據(jù)中隱藏的流形結(jié)構(gòu)。這種設計與偽標簽無關(guān),天然地不受錯誤的偽標簽的影響。然而,標準的對比學習損失函數(shù)未能將標簽和偽標簽嵌入到模型訓練中,從而使有用的鑒別信息束之高閣。
為了解決這一挑戰(zhàn),我們提出了一種通用的偽標簽組對比機制(Pseudo Group Contrast, PGC)。對于任何一個查詢樣本,它的偽標簽用表示。PGC將具有相同偽標簽()的樣本都視為正樣本,而具有不同偽標簽()的樣本則組成了負樣本,從而最大化查詢樣本與具有相同偽標簽的正樣本的表征相似性,實現(xiàn)偽標簽的組對比。
那么,為什么PGC機制就可以提高對錯誤的偽標簽的容忍度呢?我們認為,這是因為PGC采用了具有競爭機制的softmax函數(shù),同一偽標簽下的正樣本會互相競爭。如果正樣本的偽標簽是錯誤的,這些偽標簽的樣本也會在競爭中落敗,因為那些具有正確偽標簽的正例樣本的表征與查詢樣本的表征更相似。這樣的話,模型在訓練過程中會更多地受到正確的偽標簽的影響,而不是像交叉熵損失函數(shù)那樣直接地受到錯誤的偽標簽的誤導。我們在CUB數(shù)據(jù)集上的分析實驗也證明了這一點:1. 在模型訓練伊始,Self-Tuning和FixMatch具有相似的偽標簽準確率,但是隨著模型逐漸趨于收斂,Self-Tuning的測試集準確率明顯高于FixMatch。2. 在具有不同類別數(shù)的CUB數(shù)據(jù)集上,Self-Tuning的測試準確率始終高于偽標簽準確率,而FixMatch的測試準確率被偽標簽準確率給限制住了。
如何解決模型漂移問題?
如前所述,當我們只在有限的標記數(shù)據(jù)集上微調(diào)預訓練模型時,模型漂移問題往往難以避免。為了解決這個問題,近期發(fā)表的一篇名為SimCLRv2的論文提出可以綜合利用預訓練模型、標記數(shù)據(jù)和無標記數(shù)據(jù)的信息。他們給出了一個有趣的解決方案:首先在標記數(shù)據(jù)集()上微調(diào)預訓練模型(),繼而在無標記數(shù)據(jù)集()上進行知識蒸餾。然而,通過這一從到再到的“序列化”方式,微調(diào)后的模型依然傾向于向有限的標記數(shù)據(jù)偏移。我們認為,應該將標記和未標記數(shù)據(jù)的探索與預訓練模型的遷移統(tǒng)一起來。
與SimCLRv2的“序列化”方式不同,我們提出了一種“一體化”的形式來解決模型漂移問題。首先,與半監(jiān)督學習從零開始訓練模型的通用實踐不同,Self-Tuning的模型起點是一個相對準確的大規(guī)模預訓練模型,通過更準確的初始化模型來提供一個更好的隱式正則。同時,預訓練模型的知識將并行地流入標記數(shù)據(jù)和無標記數(shù)據(jù)中,標記數(shù)據(jù)和無標記數(shù)據(jù)產(chǎn)生的梯度也會同時更新模型參數(shù)。這種“一體化”的形式有利于同時探索標記數(shù)據(jù)的判別信息和無標記數(shù)的內(nèi)在結(jié)構(gòu),大大緩解模型漂移的挑戰(zhàn)。
另一方面,在對比學習中,負樣本的規(guī)模越大,模型的效果往往越好。與MoCo類似,我們也通過引入隊列的方式將負樣本規(guī)模與批量大小(batch-size)解耦,使得負樣本規(guī)??梢赃h大于批量大小。另一方面,隊列的方式可以保證每次對比時,每個偽類下的負樣本數(shù)目恒定,不受每個minibatch隨機采樣的影響。與標準的對比學習不同的是,由于偽標簽的引入,PGC需要維護C個隊列,其中C是類別數(shù)。在每次模型迭代中,對于無標記樣本,將根據(jù)他們的偽標簽漸進地替換對應隊列里面最早的樣本。而對于標記數(shù)據(jù),因為他們天然地擁有準確的標簽,則可以根據(jù)他們的標簽來更新對應的隊列。值得注意的是,我們在標記數(shù)據(jù)和無標記數(shù)據(jù)間共享了這些隊列。這一設計的好處在于:將標記數(shù)據(jù)中寶貴的準確標簽嵌入到共享隊列中,從而提高了無標記數(shù)據(jù)的候選樣本的偽標簽準確性。
實驗
在實驗部分,我們在5種數(shù)據(jù)集、3種標記數(shù)據(jù)比例和4種預訓練模型下,測試了Self-Tuning的效果,同時與5種主流遷移學習方法、6種主流半監(jiān)督學習方法以及他們的至強組合進行了充分的對比。
遷移學習的Benchmark
我們首先在遷移學習的常用數(shù)據(jù)集CUB-200-2011, Stanford Cas和FGVC Aircraft下進行實驗,將標記數(shù)據(jù)的比例依次設置為15%,30%和50%,采用ResNet-50作為預訓練模型。結(jié)果顯示,Self-Tuning大幅領(lǐng)先于現(xiàn)有方法,例如,在標簽比例為15%的Stanford-Cars數(shù)據(jù)集上,Self-Tuning的測試精度比fine-tuning幾乎提高了一倍。
半監(jiān)督學習的Benchmark
在半監(jiān)督學習的主流數(shù)據(jù)集CIFAR-100、CIFAR-10、SVHN和STL-10中,我們采用了類別數(shù)最多、最困難的CIFAR-100數(shù)據(jù)集。由于在ImageNet上預訓練的WRN-28-8模型尚未公開,我們采用了參數(shù)少得多的EfficientNet-B2模型。實驗結(jié)果表明,預訓練模型的引入對于半監(jiān)督學習有如虎添翼的效果。同時,由于采用了對偽標簽依賴更小的PGC損失函數(shù),Self-Tuning充分挖掘了預訓練模型、標記數(shù)據(jù)和無標記數(shù)據(jù)的所有信息,在各種實驗設定下均取得了state-of-the-art的測試準確率。
無監(jiān)督預訓練模型
為了證明Self-Tuning可以拓展到無監(jiān)督預訓練模型中,我們做了MoCov2遷移到CUB-200的實驗。無論是每類4個樣本還是每類25個樣本的實驗設定,Self-Tuning相較于遷移學習和半監(jiān)督學習的方法都有明顯提升。
命名實體識別
為了證明Self-Tuning可以拓展到自然語言處理(NLP)的任務中,我們在一個英語命名實體識別數(shù)據(jù)集CoNLL 2003上進行了實驗。按照Co-Tuning的實驗設定,我們采用掩蔽語言建模的BERT作為預訓練模型。以命名實體的F1得分作為度量指標的話,fine-tuning的F1得分為90.81,BSS、L2-SP和Co-Tuning分別達到90.85、91.02和91.27,而Self-Tuning取得了明顯更高的94.53的F1得分,初步證明了Self-Tuning在NLP領(lǐng)域的強大潛力。更加詳盡的NLP實驗,會在未來的期刊版本中進行拓展。
消融實驗
在消融實驗部分,我們從兩個不同的角度進行了對比。首先是損失函數(shù),PGC損失函數(shù)比Cross-Entropy和Contrastive Learning的損失函數(shù)有明顯提升。其次是信息的探索方式,無論是去掉標記數(shù)據(jù)還是無標記數(shù)據(jù)上的PGC損失函數(shù),抑或在標記數(shù)據(jù)和無標記數(shù)據(jù)間設置單獨的負樣本隊列,都不及Self-Tuning所提的“一體化”信息探索。
展望
在深度學習社區(qū)中,如何減少對標記數(shù)據(jù)的需求是一個至關(guān)重要的問題。考慮到遷移學習和半監(jiān)督學習的普通實踐中只關(guān)注預訓練模型或無標記數(shù)據(jù)的不足,本文提出了一種新的數(shù)據(jù)高效的深度學習機制,可以充分發(fā)揮預訓練模型和無標記數(shù)據(jù)的優(yōu)勢。這一機制可能是遷移學習在工業(yè)界最為現(xiàn)實的落地場景,值得我們繼續(xù)大力研究。另一方面,我們提出的Self-Tuning方法簡單通用,是遷移學習、半監(jiān)督學習和對比學習等領(lǐng)域的核心思想的集大成者,可以提高對偽標簽的容忍度。對于其他需要用到偽標簽的場景,應該也有一定的借鑒價值。
后臺回復關(guān)鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關(guān)鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
總結(jié)
以上是生活随笔為你收集整理的ICML2021 | Self-Tuning: 如何减少对标记数据的需求?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文本分类实战技巧(tricks)汇总
- 下一篇: 四个关键步骤,精进算法和数据结构