自監督學習(SSL)從大量未標記的訓練數據中學習高質量的表示。隨著數據集的不斷擴大,確定哪些樣本對學習這些表示最有貢獻變得至關重要。這使得SSL能夠通過減少學習高質量表示所需的數據量來提高效率。然而,如何量化樣本對SSL的價值一直是一個未解決的問題。在這項工作中,我們首次對此進行了討論,我們證明了對比自監督學習最有貢獻的樣本在期望值上是那些與其他樣本的增強最相似的樣本。我們為這些子集的SSL的泛化性能提供了嚴格的保證。從經驗上看,我們發現,也許令人驚訝的是,對SSL貢獻最大的那些子集是對監督學習貢獻最少的那些子集。通過大量實驗,我們證明了我們的子集在CIFAR100、CIFAR10和STL10上的性能超過隨機子集超過3%。有趣的是,我們還發現我們可以安全地從CIFAR100中排除20%的樣本,從STL10中排除40%,而不影響下游任務的性能。
//sjoshi804.github.io/data-efficient-contrastive-learning/
1. 引言
大數據集驅動現代的機器學習模型。然而,一個關鍵問題是:什么樣的數據點對學習是必要的,是否更多的數據總能帶來更好的性能?回答這個問題至關重要,因為它可以減少在大數據集上訓練的大量成本,提高訓練模型的性能,并指導數據收集。這激發了一系列最近的研究,尋找監督學習最基本的子集(Toneva等,2019;Paul等,2021;Mirzasoleiman等,2020;Mindermann等,2022;Sorscher等,2022;Swayamdipta等,2020)。然而,隨著數據集的不斷擴大,獲取高質量的標簽變得過于昂貴。因此,人們對大規模無標簽數據集的自監督(SSL)預訓練產生了濃厚的興趣(Chen等,2020;Grill等,2020;Chen和He,2021;Zbontar等,2021)。然而,找到對SSL最重要的數據點仍然是一個未解決的問題。找出對SSL貢獻最大的樣例確實非常具有挑戰性。當標簽可用時,可以根據每個樣例的損失(或預測的置信度)或梯度范數來量化學習的價值。實際上,難以學習的樣例,即在訓練過程中損失大或梯度范數大的例子,是對最小化訓練損失貢獻最大的樣例。然而,在沒有標簽的情況下,SSL方法基于樣例與其他數據點的相似性來聚類樣例。因此,每個樣例的SSL損失和梯度與數據集中的其他樣例緊密相連。因此,刪除一個樣例會影響所有其他樣例的損失和梯度。這使得數據選擇對SSL來說比監督學習更具挑戰性。在這項工作中,我們首次解決了上述挑戰,找到了可以證明對SSL貢獻最大的樣例。特別的,我們關注的是對比自監督學習,它通過最大化同一樣例的增強視圖之間的對齊度,并最小化不同樣例的增強視圖之間的相似度來學習表示(Chen等,2020;Zbontar等,2021;Oord等,2018)。我們證明,對SSL貢獻最大的樣例是那些其增強視圖與其潛在類別中其他樣例的增強視圖之間的預期相似度最高的樣例。實際上,這樣的樣例將一個類中的不同組樣例拉到一起,并使對比損失能最大程度地把不同類別中的樣例的表示推開。我們證明這樣的樣例(1)確保了每個類別中樣例的增強視圖之間的高度對齊度,(2)保留了SSL在完整數據上學習的類別表示的中心。我們利用上述屬性為在子集上學習的SSL表示上訓練的線性分類器的性能提供泛化保證。
我們注意到,可能令人驚訝的是,對對比自監督學習(SSL)貢獻最大的樣例對監督學習的貢獻最小。特別地,我們使用預測的置信度以及遺忘分數(Toneva等,2019)即一個樣例在訓練過程中被正確分類后被誤分類的次數,來量化監督學習的樣例的難度。我們發現對SSL貢獻最大的樣例是對監督學習來說容易的樣例,這些樣例具有高置信度和低遺忘分數。這樣的樣例可以安全地從監督學習流程中排除(Toneva等,2019),而不會影響準確度。相反,對監督學習貢獻最大的難以學習的樣例會嚴重影響SSL的性能。我們廣泛評估了我們提出的方法在CIFAR10,CIFAR100(Krizhevsky等,2009)和STL(Coates等,2011a)中學習樣例表示的性能,使用的是ResNet50。我們證明了我們的子集在CIFAR100和STL上的性能超過隨機子集超過3%。有趣的是,我們發現在CIFAR100的樣例中,最多20%的樣例,以及在STL中,最多40%的樣例可以安全地排除,而不會影響下游性能。我們證明了對SSL貢獻最大的子集可以在訓練早期或通過一個小的代理模型有效地提取出來。我們也證實了我們的方法適用于其他的對比學習方法,例如BYOL(Grill等,2020),并進一步觀察到,對于BYOL,丟棄STL10中20%的樣例甚至可以提高下游性能2%。
2. 問題與方法
對比式自監督學習通過學習一個編碼器f,最大化同一樣例不同增強視圖(即正對)的表示之間的一致性,并最小化不同樣例的增強視圖(即負對)的表示之間的一致性,從而學習訓練數據中樣例的表示。我們的目標是找到一個最多包含r個訓練樣例的子集S ? V,使得通過在子集上最小化對比損失得到的編碼器
,使得神經網絡分類器在完整數據上獲得相似的錯誤。形式上,我們旨在解決以下問題:
我們首先研究子集S ?必須滿足哪些屬性,以使得在子集上學習到的表示能夠提供較小的下游分類錯誤。為此,我們依賴最近對對比學習優化和泛化的理論結果。特別是,Huang等人(2021)最近的結果顯示,通過對比學習獲得的表示的泛化性能依賴于:(1)正對的對齊,(2)類中心的離散度,以及(3)增強數據的集中度。對齊反映了樣例的增強視圖的表示之間的相似性,期望中的這種相似性。良好的對齊需要一個樣例的所有增強視圖具有相似的表示。類中心的離散度反映了類中心μl和μk有多遠。良好的離散度會導致所有類中心對之間的距離足夠大。
3. 實驗結果
在本節中,我們首先評估對比學習訓練的模型在由CL-Core和隨機子集找到的常見圖像分類基準數據集(即CIFAR10、CIFAR100和STL10)上的下游泛化性能。然后,我們對近似潛在類別和用于估計預期數據增強距離的代理模型的效果進行了廣泛的消融研究。最后,我們研究了在子集中用于監督學習的樣本的難度。
3.1. 下游泛化性能
SimCLR 圖3顯示,使用CL-Core找到的不同大小的子集在CIFAR100和STL10上比隨機子集的訓練性能提高了超過3%,在CIFAR10上提高了最多2%。BYOL 圖4(a)顯示,使用CL-Core從STL10找到的不同大小的子集進行訓練,在性能上超過隨機子集超過3%。有趣的是,80%大小的子集在全數據上的性能超過了BYOL 2%。這證實了CL-Core可以有效地找到對對比學習做出最大貢獻的樣例,并排除可能有害的樣例。
3.2 探究由CL-Core找到的子集
圖5(a)使用t-SNE可視化了在CIFAR100中從“bed”類別中由CL-Core選擇和未選擇的樣例。與選擇和未選擇樣例之間的預期數據增強距離較小的樣例之間有連接線。我們可以看到,被選擇的樣例與該類別中的許多其他樣例之間的預期數據增強距離很小。圖5(b)展示了從“bicycle”類別中選擇和未選擇的一些樣例。我們可以看到,被選擇的樣例代表了整個類別,而未被選擇的用哪個例則呈現了不常見的姿勢或視角。易樣本是最重要的接下來,我們使用遺忘分數(Toneva等人,2019),即在監督學習期間被正確分類后被錯誤分類的次數,來量化一個樣例的難度。圖4(e)顯示了那些在監督學習中可以安全丟棄的最不易遺忘的樣例(Toneva等人,2019)能夠顯著優于隨機基線,并且在較小的子集上實現可比較的性能。附錄A的圖6顯示了由CL-Core找到的子集具有較低的遺忘分數和較高的置信度,平均而言,它們對于監督學習來說是易樣本。實際上,對于SSL來說最重要的子集對于監督學習來說卻是最不重要的。困難樣例損害對比學習最后,圖4(f)確認了由CL-Core排名最低的樣例,即由具有與其潛在類別的其他樣例之間較大預期數據增強距離的樣例組成的子集,會嚴重阻礙對比學習。這些樣例很難學習,并且對于監督學習非常有益(Toneva等人,2019)。
在機器學習中,長期以來,數據表示的學習一直是一個理想的目標。構建這樣的表示可以使得分類或物體檢測等下游任務高效執行。此外,我們希望這些表示可以以一種可解釋的方式構建,這將允許我們對輸入特性進行細致的干預和推理。其他任務可能包括不同模態之間的交叉生成,或者校準預測使其信心匹配其準確性。一種有效學習表示的方法是通過變分自編碼器(VAE),它對可觀察輸入的潛在變量進行變分推斷。在這篇論文中,我們展示了如何利用VAE:將標簽信息融入學習過程;學習多模態數據的共享表示;以及校準現有神經分類器的預測。
數據源通常伴隨著額外的標簽信息,這可能表示輸入中存在某種特性。自然地,我們會問一個問題:是否可以使用額外的標簽信息來構造表示,使其提供關于特性的互操作性概念,例如“這個人在多大程度上在微笑?”。這篇論文的第一項貢獻是解決上述問題,并提出了一個成功使用標簽信息構造潛在空間的方法。此外,這還使我們能夠執行其他任務,如細致的干預;分類;以及有條件的生成。此外,我們也成功地處理了標簽信息缺失的情況,這在訓練這些模型時大大減少了數據負擔。
我們有時并未獲得標簽,而是觀察到了同一對象的另一種非結構化觀察,例如圖像的標題。在這種情況下,模型的目標稍微改變,變成了能夠學習數據的共享表示,使其能夠在模態之間進行交叉生成。這篇論文的第二項貢獻解決了這個問題。在這里,學習是通過在模態之間實施互相監督并引入雙向目標來進行的,這確保了模型中的對稱性。此外,憑借這種方法,我們能夠在某些模態在訓練過程中可能缺失的情況下學習這些表示。
不確定性量化在機器學習中是一項重要的任務,現在眾所周知,當前的深度學習模型嚴重高估了他們的信心。這篇論文的最后一項貢獻是探討如何使用VAE的表示來為神經分類器提取可靠的信心估計。這項研究導向了一種新穎的方法來校準神經分類器,該方法在現成的分類器上進行事后應用,且訓練和測試的速度非常快。
視覺提示調優(VPT)是一種有效的調整方法,用于將預訓練的Vision Transformers (ViTs)適應到下游任務。它利用額外的可學習的標記,稱為提示,來引導凍結的預訓練的ViTs。盡管VPT已經證明了其在監督視覺變換器中的應用性,但在自我監督的視覺變換器中常常表現不佳。通過實證觀察,我們推斷出VPT的有效性在很大程度上取決于提示標記與之交互的ViT塊。具體來說,當提示標記插入到后面的塊而不是第一個塊時,VPT在圖像分類任務中的性能有所提高,例如MAE和MoCo v3。這些觀察表明,存在一個插入提示標記的塊的最優位置。不幸的是,確定每個自我監督ViT中提示的最佳塊以適應多樣的未來場景是一個成本高昂的過程。為了緩解這個問題,我們提出了一種簡單而有效的方法,該方法學習每個ViT塊的一個門,以調整其對提示標記的干預。通過我們的方法,提示標記被選擇性地受到需要進行任務適應的塊的影響。我們的方法在FGVC和VTAB圖像分類以及ADE20K語義分割中優于VPT變體。代碼可在
//github.com/ryongithub/GatedPromptTuning 獲取。
在大規模語料庫上進行預訓練已經成為構建通用語言模型(LMs)的標準方法。適應新的數據分布以針對不同的下游任務是一項重大挑戰。簡單的微調可能會導致災難性的遺忘,當超參數化的LMs過度擬合新數據但無法保留預訓練特征時。終身學習(LLL)的目標是使信息系統能夠在時間跨度上從連續數據流中學習。然而,大部分先前的工作都是修改訓練策略,假定網絡架構是靜態固定的。我們發現額外的模型容量和適當的正則化是實現強大LLL性能的關鍵元素。因此,我們提出了Lifelong-MoE,這是一個可擴展的MoE(專家混合)架構,通過添加帶有正則化預訓練的專家動態增加模型容量。我們的結果表明,只引入有限數量的額外專家同時保持計算成本恒定,我們的模型可以穩定地適應數據分布的變化同時保留先前的知識。與現有的終身學習方法相比,LifelongMoE在19個下游NLP任務上實現了更好的少樣本性能。
在預訓練和微調范式下,預訓練語言模型(PLMs)在各種自然語言處理(NLP)任務中取得了巨大的成功。由于具有大量的參數,PLM需要大量的計算和資源。因此,模型剪枝被引入到大規模PLM的壓縮中。然而,以往的方法大多只考慮下游任務的特定知識,而忽略了修剪過程中基本的任務不可知知識,這可能會導致災難性遺忘問題,導致泛化能力較差。為了在我們的剪枝模型中保持任務不可知論和任務特定的知識,我們提出了對比剪枝(CAP)在預訓練和微調范式下。它被設計成一個通用框架,兼容結構化和非結構化剪枝。CAP統一于對比學習,使得經過修剪的模型能夠從預訓練的任務不可知知識模型和精細調整的任務特定知識模型中學習。此外,為了更好地保留剪枝模型的性能,快照(即每次剪枝迭代時的中間模型)也可以作為剪枝的有效監督。我們大量的實驗表明,采用CAP能夠持續地產生顯著的改進,特別是在非常高的稀疏性場景中。在只保留3%模型參數(即97%稀疏度)的情況下,CAP在QQP和MNLI任務中分別成功地實現了原BERT算法的99.2%和96.3%的性能。此外,我們的探索性實驗表明,經過CAP修剪的模型具有較好的泛化能力。
解糾纏方法的重點一直是識別數據中的獨立變異因素。然而,真實世界觀察的因果變量在統計上往往不是獨立的。在這項工作中,我們通過分析大規模實證研究(包括4260個模型)中對相關數據最突出的解糾纏方法的行為,彌合了與現實場景的差距。我們展示并量化了從數據集中系統導出的相關性被學習并反映在潛在表示中,這對解糾纏的下游應用(如公平)有影響。我們還演示了如何解決這些潛在的相關性,要么在訓練期間使用弱監督,要么通過事后糾正帶有少量標簽的預訓練模型。
考慮到用戶數據刪除請求、刪除噪聲的示例或刪除損壞的訓練數據,這只是希望從機器學習(ML)模型中刪除實例的幾個原因。然而,從ML模型中有效地刪除這些數據通常是困難的。在本文中,我們引入了數據移除(DaRE)森林,這是隨機森林的一種變體,可以在最少的再訓練的情況下刪除訓練數據。森林中每棵DaRE樹的模型更新都是精確的,這意味著從DaRE模型中刪除實例產生的模型與對更新后的數據進行從頭再訓練完全相同。
DaRE樹利用隨機性和緩存來高效刪除數據。DaRE樹的上層使用隨機節點,它均勻隨機地選擇分割屬性和閾值。這些節點很少需要更新,因為它們對數據的依賴性很小。在較低的層次上,選擇分割是為了貪婪地優化分割標準,如基尼指數或互信息。DaRE樹在每個節點上緩存統計信息,在每個葉子上緩存訓練數據,這樣當數據被刪除時,只更新必要的子樹。對于數值屬性,貪婪節點在閾值的隨機子集上進行優化,以便在逼近最優閾值的同時保持統計量。通過調整貪婪節點的閾值數量和隨機節點的數量,DaRE樹可以在更準確的預測和更有效的更新之間進行權衡。
在13個真實數據集和一個合成數據集上的實驗中,我們發現DaRE森林刪除數據的速度比從頭開始訓練的速度快幾個數量級,同時幾乎不犧牲預測能力。
神經序列標記被廣泛應用于許多自然語言處理(NLP)任務,如命名實體識別(NER)和用于對話系統和語義分析的槽標記。最近,大規模的預訓練語言模型在這些任務中顯示出了顯著的成功,只要對大量特定任務的標記數據進行微調。然而,獲取這樣大規模的標記訓練數據不僅代價昂貴,而且由于數據訪問和隱私限制,在許多敏感用戶應用中可能不可行。如果序列標記任務需要在標記級進行這樣的注釋,這種情況就會加劇。在這項工作中,我們提出以解決標簽短缺的神經序列標記模型。具體來說,我們提出了一個元自訓練框架,它利用很少的手工標注標簽來訓練神經序列模型。自訓練是一種通過迭代知識交換從大量無標記數據中學習的有效機制,而元學習有助于自適應樣本重加權,以減少噪聲偽標記帶來的誤差傳播。在6個基準數據集上的大量實驗表明了該方法的有效性,其中包括2個用于大規模多語言NER的基準數據集和4個用于面向任務的對話系統的槽標記數據集。在每個任務中,每個類別只有10個標注的例子,該方法比目前最先進的方法提高了10%,證明了其在有限的訓練標簽體系中的有效性。
//www.microsoft.com/en-us/research/uploads/prod/2020/10/MetaST_Few_shot_KDD_2021.pdf
預訓練已被證實能夠大大提升下游任務的性能。傳統方法中經常利用大規模的帶圖像標注分類數據集(如 ImageNet)進行模型監督預訓練,近年來自監督學習方法的出現,讓預訓練任務不再需要昂貴的人工標簽。然而,絕大多數方法都是針對圖像分類進行設計和優化的。但圖像級別的預測和區域級別 / 像素級別存在預測差異,因此這些預訓練模型在下游的密集預測任務上的性能可能不是最佳的。
基于此,來自阿德萊德大學、同濟大學、字節跳動的研究者設計了一種簡單且有效的密集自監督學習方法,不需要昂貴的密集人工標簽,就能在下游密集預測任務上實現出色的性能。目前該論文已被 CVPR 2021 接收。
//www.zhuanzhi.ai/paper/4b31c2807b7c37ca49ca8f7c43b4b7d4
該研究提出的新方法 DenseCL(Dense Contrastive Learning)通過考慮局部特征之間的對應關系,直接在輸入圖像的兩個視圖之間的像素(或區域)特征上優化成對的對比(不相似)損失來實現密集自監督學習。
兩種用于表征學習的對比學習范式的概念描述圖。
現有的自監督框架將同一張圖像的不同數據增強作為一對正樣本,利用剩余圖像的數據增強作為其負樣本,構建正負樣本對實現全局對比學習,這往往會忽略局部特征的聯系性與差異性。該研究提出的方法在此基礎上,將同一張圖像中最為相似的兩個像素(區域)特征作為一對正樣本,而將余下所有的像素(區域)特征作為其負樣本實現密集對比學習。
具體而言,該方法去掉了已有的自監督學習框架中的全局池化層,并將其全局映射層替換為密集映射層實現。在匹配策略的選擇上,研究者發現最大相似匹配和隨機相似匹配對最后的精度影響非常小。與基準方法 MoCo-v2[1] 相比,DenseCL 引入了可忽略的計算開銷(僅慢了不到 1%),但在遷移至下游密集任務(如目標檢測、語義分割)時,表現出了十分優異的性能。
基于深度學習的半監督學習(SSL)算法在醫學圖像分割方面取得了很有前途的結果,并可以通過利用未標記的數據減輕醫生昂貴的標注。然而,現有文獻中的大多數SSL算法都傾向于通過干擾網絡和/或數據來規約模型訓練。考慮到多/雙任務學習涉及到具有固有的預測擾動的各個級別的信息,我們在這項工作中提出了一個問題:我們能夠顯式地構建任務級別的正則化,而不是隱式地構建用于SSL的網絡和/或數據級別的擾動和轉換嗎?為了回答這個問題,我們首次提出了一個新的雙任務一致性半監督框架。具體地說,我們使用一個雙任務深度網絡來聯合預測一個像素級分割圖和一個幾何感知的目標集表示。通過可微任務轉換層將水平集表示轉換為近似分割映射。同時,我們在水平集導出的分割圖和直接預測的分割圖之間引入了一種雙任務一致性正則化,用于標記和未標記數據。在兩個公共數據集上的大量實驗表明,我們的方法可以通過合并未標記數據極大地提高性能。同時,我們的框架優于最先進的半監督醫學圖像分割方法。代碼可以在//github.com/Luoxd1996/DTC找到。
最近面向視覺任務的自監督預訓練取得了驚人的進展。我們調研了哪些因素可能在預訓練方法的效用中發揮作用。為此,我們評估了一系列綜合數據集和下游任務中的各種自監督算法。我們準備了一套合成數據,可以提供無窮無盡的帶注釋的圖像,以及完全控制數據集的難度。我們的實驗提供了關于自我監督的效用如何隨著可用標簽數量的增長而變化,以及效用如何隨著下游任務和訓練數據的屬性而變化的見解。代碼和數據在//github.com/princeton-vl/selfstudy中可用。