【綜述專欄】Self-supervised Learning

2021-12-25 人工智慧前沿講習

收錄於話題 #綜述專欄 171個

在科學研究中,從方法論上來講,都應先見森林,再見樹木。當前,人工智慧科技迅猛發展,萬木爭榮,更應系統梳理脈絡。為此,我們特別精選國內外優秀的綜述論文,開闢「綜述」專欄,敬請關注。

地址:https://www.zhihu.com/people/zyf-98-4

來自清華Jie Tang老師對於自監督學習的綜述,不久前寫過一篇contrastive learning比較有趣的一些工作,完全沒基礎的可以先看看這裡。對文中比較有意思的引文大概都看了一遍,也會寫寫自己的理解,如果有錯希望大佬們及時糾正。
https://zhuanlan.zhihu.com/p/212873650supervised learning在過去的十年裡取得了巨大的成功,但是他對數據的依賴和易於攻擊的特點促使人們尋找更好的解決方案。作為一種替代方法,自監督學習(SSL)近年來因其在表示學習方面的卓越表現而吸引了許多研究者。自監督表示學習利用輸入數據本身作為監督,並且幾乎有利於所有類型的下遊任務。在這個調查中,我們看看新的自我監督學習方法在計算機視覺,自然語言處理,和graph learning。我們對現有的經驗方法進行了全面的回顧,並根據其目的將其歸納為生成性、對比性和產生性對比(對抗性)三大類。我們進一步研究相關的理論分析工作,以提供更深入的思考自我監督學習是如何工作的。最後,我們簡要討論了自監督學習的開放問題和未來的發展方向。提供了調查的幻燈片大綱。

01

INTRODUCTION

利用其他部分數據來預測數據,具體地說,這裡的「其他部分」可能是不完整的、轉換的、扭曲的或損壞的,也就是說model嘗試著恢復所有的數據。

這裡再簡單說一下self-supervised與unsupervised的區別(個人理解)。self-supervised是unsupervised的一種。然而unsupervised learning嘗試著學習數據的模式,像聚類,異常檢測等,他是完全沒有標籤的。而self-supervised learning關注點在於恢復,他有標籤,但是標籤往往是自己預測的,比如我拿出一張照片anchor,將其做翻轉得到x,那麼這兩個照片標籤一樣,再隨機抽取一張照片y,他和anchor的標籤視作不同,大概就是這個意思。
這篇文章的主要貢獻,以及你能獲得的東西主要有以下幾部分一個詳細的和最新的回顧自監督學習的表徵。介紹了背景知識、變量模型和重要的框架。人們可以很容易地掌握自我監督學習的前沿思想。generative, contrastive, 和 generative-contrastive (adversarial)三個部分各自的發展,以及最近生成模型向contrastive的轉變過程。提供了自監督學習方法的理論可靠性,並展示了它如何有益於下遊的監督學習任務。理論可靠性還是很make sense的提出了目前自監督學習還存在的一些問題以及未來可能的發展方向文章的組織大概是這樣的,section 2主要是介紹CV,NLP,graph learning的基礎知識,感覺自己已經掌握的可以跳過。section 3-5 依次是生成模型,對比模型,以及生成對抗模型。section 6重點在於理論分析,建議自己手推一遍。section 7討論一下存在的問題。

02

BACKGROUND

預訓練的詞表達是NLP的重要部分,word embedding將詞語使用低維空間的實值向量表達。當下主要有兩種word embedding:上下文的詞嵌入和沒有上下文的詞嵌入。
Non-contextual Embeddings不考慮詞的上下文關係,僅僅是一個token給一個embedding,顯然處理不了同詞不同義的問題,也不能對複雜的詞彙用法進行建模。為了處理上述的問題,contextual embedding應運而生,給定一個文本序列  ,  的contextual embedding依賴於整個序列 是產生embedding的函數,因為對於相同的token,當他所處的文本不同時,他的embedding也是不同的,因此這種叫做contextual embedding。這種嵌入可以區分詞語在不同語境中的語義分布式單詞嵌入將每個單詞表示為密集的、實值的、低維的向量。第一代的詞嵌入是作為一個神經網絡語言模型(NNLM)引入的,不過在這之前大家最好看看n-gram[1],什麼是n-gram呢,簡單來講就是,一個詞的出現,只取決於他前面的n個詞,以下:

n-gram是存在問題的,他不能對詞之間的聯繫和含義有很好的理解,只是單純的假設和前n個詞有關,並且上下文的長度也是有限的。NNLM[2]就解決了這個問題,NNLM旨在優化最大似然函數: 就是從第i個單詞開始,第j個單詞結束的子序列. NNLM的模型和主要的三個步驟如下:http://blog.sina.com.cn/s/blog_66a6172c0102v1zb.htmlA、將單詞  映射到m維的特徵空間中;B、使用單詞序列的對應向量集合作為輸入表達單詞序列的聯合概率方程;對NNLM而言,大多數運算集中在hidden layer的部分。之後word2vec被提出,到目前為止word2vec也是作為流行的embedding生成方式。Word2Vec解決的問題已經和上面講到的N-gram、NNLM等不一樣了,它要做的事情是:學習一個從高維稀疏離散向量到低維稠密連續向量的映射。該映射的特點是,近義詞向量的歐氏距離比較小,詞向量之間的加減法有實際物理意義。Word2Vec由兩部分組成:CBoW和Skip-Gram。其中CBoW的結構很簡單,在NNLM的基礎上去掉隱層,Embedding層直接連接到Softmax,CBoW的輸入是某個Word的上下文(例如前兩個詞和後兩個詞),Softmax的輸出是關於當前詞的某個概率,即CBoW是從上下文到當前詞的某種映射或者預測。Skip-Gram則是反過來,從當前詞預測上下文,至於為什麼叫Skip-Gram這個名字,原因是在處理過程中會對詞做採樣。word2vec我看來其實和自編碼器的結構很像,細節可以看看下面這篇文章https://zhuanlan.zhihu.com/p/26306795第一代word embedding就是Non-contextual Embeddings,因此第二代詞嵌入很快就出世了。包括ELMo:一種基於rnnn的雙向語言模型,為每個單詞標記學習多個嵌入,並根據下遊任務決定如何組合這些嵌入。BERT:基於transformer的雙向編碼器表示,有預訓練和fine-tune兩個部分。在訓練階段,BERT對句子中的一些符號進行掩碼,然後被訓練預測掩碼詞。在使用BERT時,我們首先使用預先訓練好的權重初始化BERT模型,然後在下遊任務上對預先訓練好的模型進行微調。2.1 Representation Learning in CV這裡主要介紹了幾個famous的backbone,重點介紹了resnet,就不贅述了2.2 Representation Learning on Graphs圖作為一種普遍存在的數據結構,廣泛應用於許多領域,成為許多系統的主幹。圖的機器學習的中心問題是找到一種表示圖結構的方法,以便機器學習模型可以很容易地利用它為了解決這一問題,研究者們提出了一系列在節點級和圖級進行圖表示學習的方法,這已成為近年來的研究熱點。一個圖定義如下  V是圖中的節點,E是邊,X是|V|個節點的特徵矩陣。節點級的表示學習旨在學一個隱含的節點表示  ,這也稱作網絡表示學習,網絡嵌入。也有一些graph-level的表示學習方法,旨在將整個圖表示成一個embedding。一般來說,現有的網絡嵌入方法可以大致分為三類factorization-based approaches比如NetMF,GraRep,HOPE淺層嵌入方法:DeepWalk,LINE,HARP基於神經網絡的方法:最近,圖卷積網絡(GCN)[3]由於利用了圖的卷積,有效地融合了圖的拓撲結構和節點特徵,其多種變體已經成為圖建模的主要方法然而,大多數高級圖形表示學習方法都需要外部指導,比如標註標籤。許多研究者致力於提出不依賴任何外部標籤的無監督算法。自監督學習也為有效利用豐富的未標記數據提供了機會

03

GENERATIVE SELF-SUPERVISED LEARNING

主要包含了自回歸模型,流學習模型,自編碼器和混合生成模型3.1 Auto-regressive (AR) Model自回歸模型可以看作是貝葉斯網絡的結構(有向圖),聯合分布可以表示為條件概率的乘積:

每個變量的概率取決於之前的變量,可以看到ARmodel往往是單向的。
在NLP中,自回歸語言建模的目標通常最大化前向自回歸時的最大似然,GPT和GPT2使用transformer解碼器結構。與GPT不同,GPT-2刪除了不同任務的微調過程。以便學習在不同任務之間泛化的統一表示,GPT2建模了  的關係,也就是給定不同的task,同樣的input會有不同的output。自回歸模型也被大量用於CV方向,像pixel-RNN與Pixel-CNN。pixel-RNN:每個像素都依賴於從左到上的隱藏狀態和RGB值,而這個過程很慢。

Pixel-CNN使用卷積進行這個過程,仍然生成圖像像素從角落開始。在使用CNN時,內核在卷積時只關注左邊和上面的像素。這也被稱為masked filters.
基於PixelCNN, WaveNet提出了一種原始音頻生成模型。為了處理長期的時間依賴關係,提出了擴展的因果卷積來改善感受野。此外,還採用了門控殘留塊和跳過連接,以增強更好的表現力。

GraphRNN[4]:使用深度自回歸模型生成實際的圖,它們將圖的生成過程分解為一個節點和邊的序列生成,這些節點和邊的生成取決於目前生成的圖,key insight就是一句話通過順序添加節點 / 邊來生成圖。GraphRNN的目標定義為觀察圖生成序列的似然性。GraphRNN可以看作是一個層次模型,其中圖級RNN維護圖的狀態並生成新節點,而edgelevel RNN則根據圖的當前狀態生成新邊。在這之後MRNN和GCPN這兩個自回歸模型相繼問世,兩者都使用強化學習框架來通過優化特定領域的獎勵來生成分子圖。然而,MRNN主要使用基於rnn的網絡來表示狀態,而GCPN使用基於gnc的編碼器網絡。文的獨立性,但是AR的一個主要的缺點就是她只能單向的訪問上下文信息,不能同時利用上下文信息。https://zhuanlan.zhihu.com/p/43157737其中,是一般的標準高斯分布。可以選擇任意的高斯分布,理論上,這樣的積分形式能夠擬合任意分布。有了這個分布,我們要求出參數,一般就是使用最大似然求解,我們需要最大化目標:,VAE和GAN從不同的方向避開了這個困難,VAE不直接優化上式,而是通過優化一個上界,得到近似的模型。但是,是積分的形式,一般來說很難計算。GAN則通過生成器和判別器對抗的方式,繞開了這個困難。3.3 Auto-encoding (AE) Model自動編碼模型的目標是從(損壞的)輸入中重構(部分)輸入。由於其靈活性,AE模型可能是最流行的生成模型,有許多變體。自編碼器和玻爾茲曼機無疑是最耳熟能詳的傳統AEmodel了,自編碼器可以看作是有向圖模型,而RBM則是無向圖,這類工作經常用於數據降維之中。上下文預測模型(CPM):NLP中的CBOW和Skip-Gram都是NLP領域的預測模型(上文中word2vec的兩個部分)。CBOW使用上下文預測input token,而Skip-Gram則是使用input-token預測上下文。受自然語言處理中單詞嵌入模型進展的啟發,許多基於相似上下文預測目標的網絡嵌入模型被提出。Deepwalk[5]基於Skip-Gram模型,採樣截斷隨機遊動來學習潛在節點嵌入。它把隨機遊走當作等價的句子,然後採取使用中間節點預測相鄰節點的方式進行訓練。然而LINE[6]的目標是基於當前節點生成鄰居,下面的E即邊,v是節點,w是權重

去噪自編碼器模型的直覺是表示應該對噪聲的引入具有魯棒性。掩碼語言模型(MLM)可以看作是一個去噪AE模型。為了對文本序列進行建模,掩碼語言模型(MLM)隨機mask輸入的一些token(簡單理解就是將input分詞後的詞序列),然後根據它們的上下文信息對它們進行預測,這與完形填空任務類似。Bert也用了類似的方法,訓練時隨機的將一些token進行掩蓋。然而,這種方法的一個缺點是對於下遊任務沒有輸入[MASK]。為了減輕這種情況,作者在訓練中並不總是用[MASK]替換預測的標記。相反,他們會用原始單詞或概率很小的隨機單詞來替換它們。在BERT之後,很多類似的工作開始出現。Span-BERT[7]選擇去mask隨機的一段區域而不是單個的token,同時希望被遮擋Span邊界的詞向量能夠學到span的內容。ERNIE (Baidu) 通過掩蔽實體或短語來學習實體級和短語級知識,在漢語自然語言處理任務中取得了良好的效果。ERNIE (Tsinghua) 進一步將知識圖中的知識(實體和關係)集成到語言模型中。與AR模型相比,在去噪語言建模中,預測的token可以訪問雙方的上下文信息。然而,MLM假設如果給定了unmasked token,需要預測的token是相互獨立的。在graph-learning的領域,GPT-GNN作為一個GNN領域的預訓練模型,在圖上mask部分節點或者邊,然後讓GNN來預測被mask掉的邊和屬性。3.3.2 Variational AE Model變分自編碼器(VAE)是使用變分推理的一個重要例子。最近提出了一種新的、功能強大的變分自編碼器模型VQ-VAE[8]。VQ-VAE的目標是學習離散潛變量,因為許多模式是固有的離散,如語言,講話,和圖像。VQ- VAE依賴於矢量量化(VQ)來學習離散潛變量的後驗分布。具體地說,離散潛變量是通過使用共享的、可學習的嵌入表的最近鄰查找來計算的。在訓練中,通過直接通過估計器逼近梯度。

有句話總結得很好:自回歸模型在圖像比較大的情況下因計算需求暴增而失效。一個自然而然的想法是,如果能將照片壓縮到低維空間,在低維空間訓練自回歸神經網絡,再解碼到高維就好了。這也是VQ-VAE 以及 VQ-VAE-2[9] 算法的精髓。即在壓縮空間  上使用自回歸神經網絡,
變分自編碼模型也被用於圖的節點表示學習比如VGAE[10],這一部分我接觸較少,感興趣的看論文吧~3.4 Hybrid Generative Models3.4.1 Combining AR and AE Model.一些研究人員建議結合AR和AE的優點。在MADE(masked自編碼器),讓自編碼器的參數服從自回歸模型的限制,在AE中,層與層之間全連接,但是MADE使得相鄰層之間的一些連接被屏蔽,以確保每個輸入維度僅從它之前的維度重新構建。在NLP領域,Permutation Language Model (PLM)是一種結合了自回歸模型和自編碼模型優點的典型模型。XLNet引入了PLM,是一種廣義的自回歸預訓練方法。XLNet通過最大化因數分解順序的所有排列的期望可能性來實現雙向上下文學習。XLNet也是一個預訓練模型,那他相比於bert,gpt有什麼不同呢?重點:通過對句子中單詞排列組合,把一部分Ti下文的單詞排到Ti的上文位置中,於是,就看到了上文和下文,但是形式上看上去仍然是從左到右在預測後一個單詞。https://zhuanlan.zhihu.com/p/702574273.4.2 Combining AE and Flow-based Models在圖域,GraphAF是一種基於流的分子圖生成自回歸模型。它可以在一個迭代過程中生成分子,也可以並行計算準確的可能性。GraphAF將分子生成形式化為一個連續的決策過程。它將詳細的領域知識整合到獎勵設計中,比如價格檢查。受基於流模型最近進展的啟發,它定義了一個從基分布(如多元高斯分布)到分子圖結構的可逆轉換。另外,使用去量化技術將離散數據(包括節點類型和邊緣類型)轉換為連續數據。

04

CONTRASTIVE SELF-SUPERVISED LEARNING

這裡其實有很多內容我之前的一篇文章中有,我就不多寫了,寫的都是之前不會的
https://zhuanlan.zhihu.com/p/212873650

這裡將最近的對比學習框架分為兩種類型:context-instance對比和context-context 對比。它們在下遊任務中,特別是在分類問題上,取得了驚人的成績。
4.1 Context-Instance Contrast上下文-實例對比,或所謂的全局-局部對比,側重於對樣本的局部特徵與其全局上下文表示之間的歸屬關係進行建模。當我們學習局部特徵的表示時,我們希望它與全局內容的表示相關聯,比如條紋與老虎,句子與段落,節點與它們的鄰域。主要有兩種方式進行訓練:預測相對位置:關注於學習本地組件之間的相對位置。全局上下文是預測這些關係的隱含要求(比如,理解大象的長相對於預測頭尾之間的相對位置至關重要)。最大化互信息:學習局部部分和全局上下文之間的明確歸屬關係。忽略局部零件之間的相對位置。4.1.1 Predict Relative Position

例如,在這樣的圖像數據中,大象的頭在尾巴的右邊。在文字資料裡,一句像「很高興認識你」的句子一般會出現在「我也很高興見到你」之前。各種模型都將識別其各部分之間的相對位置作為pretext(前置)任務。可以從一個樣本中預測兩個patch的相對位置,也可以恢復一幅圖像中變換後的片段的位置(求解jigsaw),也可以推斷一幅圖像的旋轉角度s度。PRP也可以作為創建hard positive sample的工具。例如PIRL使用jigsaw技術來擴大正樣本,但PIRL並沒有將求解jigsaw和恢復空間關係作為其目標。
在預訓練的語言模型中,也採用了類似的思想,如下一句預測(Next Sentence Prediction, NSP)。NSP損失最初是由BERT引入的,其中對於一個句子,模型被要求區分正確的下一個句子和一個隨機抽樣的句子。這是因為,在NSP中,下一個句子的negative sample是從其他段落中選取的,這些段落可能與當前的段落有不同的主題,這使得NSP變成了一個簡單得多的主題模型問題。ALBERT相應的提出了SOP,在SOP中,將兩個互換位置的句子視為否定樣例,使模型側重於語義的連貫。4.1.2 Maximize Mutual Information這種方法來源於統計學中的一個基本概念——互信息(MI)。互信息的目標是建模兩個變量之間的關聯,我們的目標是最大化它。一般來說,這類模型都想要最大化

 表示encoder,  表示一類有約束的編碼器。  是真實互信息的基於樣本的估計量。在實際應用中互信息非常難以計算,因此通常最大化  的下界。
然後講了Deep InfoMax和緊隨其後的CPC,AMDIM[11]。在Graph learning的領域, Deep Graph InfoMax (DGI)[12]將節點的表示作為局部信息,隨機抽取2跳鄰居的平均值作為上下文。但是在圖上生成負樣本比較困難,作者通過隨機變化生成負例。InfoGraph目標在於學習一個graph-level的表示而不是node-level的,因此他最大化graph-level representation和不同層次的子結構的互信息。就像CMC對於infoMAX的提升一樣。在Contrastive Multi-View GRL[13]中,提出了一種圖的多視圖對比表示學習方法。他們還發現,在圖學習中,圖擴散是產生擴增正樣本對的最有效方法。為了統一圖的預訓練,在Strategies for pre-training graph neural networks[14]作者從屬性/結構和節點級/圖級兩個維度系統地分析了圖神經網絡的預訓練策略。對於節點級的結構預測,他們提出了上下文預測來最大化k-hop鄰域的表示及其上下文圖之間的MI。對於化學領域的屬性,他們提出了屬性掩碼來根據鄰域預測節點的屬性,這是一個類似於BERT中的令牌掩碼的生成目標。S2GRL進一步將上下文圖中的節點分離為k-hop(所謂1hop就是一個節點和他周圍路徑為1的節點組成的子圖)上下文子圖,並分別最大化其與目標節點的MI。然而,圖預訓練的一個基本問題是如何學習圖之間的歸納偏差,而現有的圖預訓練工作僅適用於某一特定領域。4.2 Context-Context Contrast然基於mi的對比學習取得了很大的成功,但是有一些工作對他們提出了質疑On mutual information maximization for representation learning.一文通過證明一個MI上界估計器會導致病態和較低的性能,並說明了上述模型的成功只是與MI鬆散地聯繫在一起。相反,應該更多地歸因於編碼器架構和與度量學習相關的負採樣策略。度量學習的一個重要關注點是在提高負採樣效率的同時執行hard positive sampling,它們可能在基於mi的模型的成功中發揮更關鍵的作用。作為一種替代方法,上下文-上下文對比學習拋棄了MI,而像度量學習那樣直接研究不同樣本的全局表示之間的關係。一開始,研究人員借鑑了半監督學習的思想,通過基於聚類的區分產生偽標籤,並在表徵上取得了較好的表現。最近,CMC、MoCo、SimCLR和BYOL進一步支持了上述結論,通過上下文到上下文級別的直接比較,其性能優於基於context-instance的方法,並在分類任務上與監督方法取得了競爭結果。

4.2.1 Cluster-based Discrimination
在基於聚類的方法中首先研究了上下文-上下文對比,特別是在DeepCluster中首次實現了對監督模型AlexNet的競爭性能。在圖像分類問題中,我們就是要讓同類的image embedding儘可能接近,但是在unsupervised場景下,我們沒有標籤。Deep Cluster 提出利用聚類產生偽標籤,並要求鑑別器對圖像標籤進行預測。培訓可以分兩步。在第一步中,DeepCluster使用K-means對編碼的表示進行聚類,並為每個樣本生成偽標籤。在第二步中,鑑別器預測兩個樣本是否來自同一簇,並反向傳播到編碼器。這兩個步驟是迭代執行的。最近,局部聚合(Local Aggregation, LA)將基於DeepCluster的方法再次提升。指出了DeepCluster存在的不足,並進行了相應的優化。首先,在DeepCluster中,樣本被分配到互斥聚類中,而LA對每個樣本分別識別鄰居(LA識別的是鄰居,因此是local aggregation)。其次,深度聚類優化交叉熵的判別損失,而LA使用一個目標函數,直接優化局部軟聚類度量。這兩個變化大大提高了LA表示在下遊任務上的性能在embedding space中聚合相似向量的類似工作是VQ-VAE,VQ-VAE針對傳統圖像生成高保真度圖像的不足,提出了矢量量化的方法。對於圖像編碼的特徵矩陣,VQVAE將矩陣中的每個一維向量替換為嵌入字典中最接近的向量。這個過程和LA的過程是一樣的。在圖學習中,M3S採用類似的思想進行基於深度聚類的自監督預訓練,以更好地實現半監督預測。在每一階段,M3S先對自己進行預訓練,像DeepCluster一樣在未標記數據上生成偽標籤,然後將這些偽標籤與在有標記數據上進行監督訓練的模型所預測的偽標籤進行比較。在下一階段半監督訓練中,標記集中只加入top-k置信標籤。在When does self-supervision help graph convolutional networks? 中,該思想進一步發展為三個預處理任務:拓撲劃分(類似於光譜聚類)、節點特徵聚類和圖的完成。4.2.2 Instance Discrimination利用實例分辨作為前置任務的原型是InstDisc。CMC在InstDisc的基礎上提出將一幅圖像的多種不同視圖作為正樣本,將另一幅圖像作為負樣本。在嵌入空間中,CMC使得正樣本與anchor相互靠近,並從其他樣本中拉開。然而,它在某種程度上受到了深度信息模型的限制,即對每個正樣本進行一個負樣本的抽樣。MoCo是KaiMing He大神的新作,使用動量更新的方式解決負樣本過多帶來的問題,然而,MoCo採用了過於簡單的正樣本策略:一對正表示來自同一個樣本,沒有任何變換或增強,使得正樣本對太容易區分。PIRL添加了如4.1.1節所述的jigsaw增強。為了生成一個pre- invariant的表示,PIRL要求編碼器將一幅圖像和它的拼圖圖像視為正樣本對。在SimCLR中,作者進一步說明了hard positive examples的重要性,它通過10種不同的數據增強形式來產生正樣本,這些數據增強和CMC有點像。SimCLR不採用MoCo的動量對比,而是採用端到端訓練框架,為處理大規模負樣本問題,SimCLR選擇批量N大到8196。SimCLR還是值得詳細的講一講的一個小批量N個樣本通過數據增強變為2N個,有一對正樣本  ,其他的都是負樣本。然後她的損失函數是sim在這裡就是餘弦相似度,因為  是不對稱的,因此總的損失

SimCLR還提供了一些其他有用的技術,包括一個可學習的非線性轉換之間的表示和對比損失,更多的訓練步驟,和更深的神經網絡。進行消融研究表明SimCLR中的技術也可以進一步提高MoCo的性能。
InfoMin對增加正樣本做了更多的研究。作者認為,在對比學習中,為了獲得更好的擴充性觀點,我們應該選擇相互信息較少的view。在最佳情況下,視圖應該只共享標籤信息。為了產生這樣的最優view,作者首先提出了一種無監督的方法來最小化視圖之間的相互信息。但是這可能會導致預測標籤的信息丟失(比如一個純空白視圖)。因此,提出了一種半監督方法來尋找僅共享標籤信息的視圖。這項技術比MoCo v2提高了約2%BYOL則邁出了更為激進的一步,它拋棄了自監督學習中的負採樣,但卻取得了比InfoMin更好的結果。對於上面提到的對比學習方法,它們通過預測同一幅圖像的不同視圖來學習表示,並將預測問題直接投射到表示空間中。但是,在表示空間中直接預測可能會導致collapsed representations,因為多視圖之間通常都具有很強的預測性。如果沒有負樣本,神經網絡就太容易區分了。關於對比損失中負樣本函數的更多討論在第6.3.2節。他們更新參數的方式類似MoCo,online網絡梯度下降,而target網絡滑動更新。BYOL不僅效果很好,而且對batch size也更加的robust。圖學習中,圖對比編碼(GCC)率先將實例區分作為結構信息預訓練的前置任務。對於每個節點,我們分別對兩個子圖進行隨機遊走,並使用它們的歸一化圖拉普拉斯矩陣中的頂部特徵向量作為節點的初始表示。然後我們使用GNN對它們進行編碼,並像MoCo和SimCLR那樣計算InfoNCE損失,其中來自同一節點(在不同的子圖中)的節點嵌入被視為類似的。結果表明,GCC比以前的工作如struc2vec、GraphWave和ProNE更好地學習可轉移結構知識。4.3 Self-supervised Contrastive Pre-training for Semi-supervised Self-training雖然吧我們一直在說不用標籤可以***,但是標籤也是很重要滴,這也是我們和監督學習最大的gap。因此自監督無論多優秀,他們始終只是特徵提取器,為了下遊的任務我們仍然需要充足的label。為了縮小自監督預訓練和下遊任務之間的差距,半監督式學習正是我們所尋找的我們之前講的MoCo對很多下遊任務提升很大,但是對目標檢測在COCO數據集上並沒有提升。這是因為實例識別目標與目標檢測目標之間的差距。在這種情況下,雖然單純的自監督前訓練無法起到幫助作用,但基於半監督的自訓練可以起到很大的作用。半監督學習混合了小部分有標籤數據和大部分無標籤數據。不同的方法對數據分布做出了不同的假設。self-training (or self-labeling)可以說是最古老的方法了,它對少量有標記數據進行模型訓練,然後對未標記數據進行標記。只有具有置信度很高的數據與原始標籤數據combine在一起,訓練一個新的模型。我們迭代這個過程以找到最佳model,這和圖模型的M3C如出一轍。目前ImageNet上最先進的監督模型Self-training with noisy student improves imagenet classifification遵循了自我訓練範式,其中我們首先對帶標記的ImageNet圖像訓練一個有效網絡模型,並將其作為教師,對300M未標記圖像生成偽標籤。然後,我們訓練一個更大的EffificientNet作為一個學生模型在(偽標籤+真實標籤)數據集進行訓練。我們重複這個過程,讓學生儘可能逼近。在生成偽標籤的過程中,教師不被noise幹擾,使偽標籤儘可能準確。然而,在學生的學習過程中,我們通過隨機增廣的方式向學生注入諸如dropout、隨機深度、數據擴充等噪聲,使學生的泛化能力優於教師。對CV領域的任務而言,Zoph等。Rethinking pre-training and self-training這篇文章,驚奇地發現,就強大的數據擴充而言,預訓練的表現會有所下降,而自我訓練卻能從中受益。此外,標記數據越多,預訓練的價值就越低,而半輔助自訓練的價值就越高。他們還發現,訓練前和自我訓練的提高是相加的,也就是說,它們從不同的角度對成績做出了貢獻。聯合預訓練和自訓練的模型效果最好。Big self-supervised models are strong semi-supervised learners (SimCLR v2)證明了上述結論,表明ResNet-50在原有ImageNet標籤的10%的情況下,通過聯合預訓練和自訓練可以超過有監督的標籤。他們提出了一個三步框架用SimCLR v1進行自我監督的預培訓,進行一些較小的架構修改和更深層次的ResNet。以教師身份使用微調網絡生成未標記數據的標籤,以訓練較小的學生ResNet-50自監督對比預訓練和半監督自訓練的成功結合,為未來的數據高效深度學習範式打開了眼界。對其潛在機制的研究還有待開展。

05

GENERATIVE-CONTRASTIVE (ADVERSARIAL) SELF-SUPERVISED LEARNING

5.1 Why Generative-Contrastive (Adversarial)?
生成模型在自監督學習中成功的一個原因是,它能夠擬合數據分布,在此基礎上可以執行各種下遊任務。生成式自監督學習的目標通常表示為極大似然函數

這裡的x是我們希望建模的所有sample,c是條件限制像上下文信息等,然後通過最大似然估計(MLE)優化這個目標。然而,MLE有兩個致命的問題。
想像一下  此時目標變得非常大,使得生成模型對稀有樣本極其敏感。直接導致conservative分布,性能較差。抽象目標比較低級:在MLE中,表示的分布是建立在x-level上的,比如圖片中的像素,句子中的文本,圖中的節點等。但是大多數的分類任務是建立在高層次的語義信息上,比如目標檢測,段落理解和分子識別。這兩個問題嚴重製約了生成性自主監督學習的發展。幸運的是,區分和對比目標可以解決這個問題,因為它們是為人類層面的理解而設計的。以autoencoder和GAN為例,autoencoder利用了一種點態重構l2損失,它可以從樣本分布中擬合像素級模式。然而,GANs利用對比目標來區分生成的樣本和真實的樣本,它適合semanticlevel來避免這一問題。就與對比學習的區別而言,對抗方法仍然保留由編碼器和解碼器組成的生成器結構,而對比方法則放棄解碼器組件。它之所以重要是因為,一方面,生成器賦予了生成模型所特有強烈的表現能力;另一方面,這也使得對抗性方法的目標比對抗性方法的目標學習更具挑戰性,導致收斂不穩定。在對抗性設置中,解碼器的存在要求重構表示,換句話說,包含了構建輸入的所有必要信息。而在對比設置中,我們只需要學習可區分的信息就可以區分不同的樣本。綜上所述,對抗性方法吸收了生成性方法和對比方法的優點,也有一些缺點。在我們需要適應隱式分布的情況下,這是一個更好的選擇。在下面的幾個小節中,我們將討論它在表示學習中的各種應用。5.2 Generate with Complete Input在本節中,我們將介紹用於表示學習的GAN及其變體,它們關注於捕獲樣本的完整信息對抗性表示學習的起源應該歸功於生成式對抗性網絡,這裡主要的內容就是BiGAN和VAE-GAN。簡單來說VAE-GAN:VAE使用l1loss評估重構損失,VAE-GAN直接用判別器評估重構損失。前一部分是VAE,後一部分是GAN

BI-GAN:編碼器解碼器分開,使用一個額外的鑑別器來從編碼器或解碼器鑑別圖像和代碼。5.3 Recover with Partial Input正如我們上面提到的,GAN s架構並不是為學習表示而生的,需要修改來應用它的框架。我們不要求模型重構整個輸入,而是向模型提供部分輸入,並要求模型恢復其餘的部分。這類似於在自然語言處理中去噪自編碼器(DAE),如BERT,但以一種敵對的方式進行。著色任務即給定一個channel,預測其他兩個channel。解碼器和編碼器可以是任意的卷積神經網絡。有趣的是,為了避免VAE等傳統生成方法帶來的不確定性,作者將生成任務轉換為分類任務。他們首先計算出(A, B)的共同定位區域,然後將其分成313個類別。分類通過softmax層進行,並以超參數T作為調整。Inpainting還有更加直接的方案。我們將要求模型在給定圖像的其餘部分的情況下預測圖像的任意部分。然後利用鑑別器將被染圖像與原始圖像進行鑑別。超解析度方法SRGAN遵循同樣的思路,在敵對環境下從模糊的低解析度圖像中恢復高解析度圖像5.4 Pre-trained Language Model長期以來,預訓練語言模型(PTM)主要關注基於最大似然估計作為前置任務,這是由於語言的動態模式導致區分目標的是沒有什麼幫助的。然而,最近的一些研究顯示出了優異的性能,並闡明了PTM中對比目標的潛力。開創性的作品是ELECTRA,在相同的計算預算下超越了BERT。ELECTRA提出替換令牌檢測(RTD)並利用GAN的結構來預訓練語言模型。在此設置中,生成器G是一個小型掩碼語言模型(MLM),它將句子中的掩碼標記替換為單詞。鑑別器D被要求預測哪些詞被替換。注意,replace的意思與原始的未屏蔽輸入不同。培訓分兩個階段進行訓練前置任務  一段時間。和判別器一起進行訓練:D的參數初始化為G的,然後訓練目標  (交叉熵損失),這段時間內G的參數是不變的。同時,WKLM提出在實體級進行RTD。對於Wikipedia段落中的實體,WKLM將它們替換為類似的實體,並訓練語言模型在類似的區分目標中區分它們,就像ELECTRA,在回答問題等下遊任務中表現得很好。REALM進行了類似的工作,對語言模型進行了更高層次的檢索增強。然而,領域是不使用區分實體進行工作。在圖學習中,也有人嘗試使用對抗性學習。有趣的是,他們的想法完全不同. Adversarial Network Embedding (ANE) 設計一個生成器G通過兩個階段進行更新:G將採樣圖編碼為目標嵌入,並使用上下文編碼器F(如Skip-gram)計算傳統的NCE(Noise Contrastive Estimation)。優化後的目標是上述兩個目標的總和,生成器G可以對分類任務產生更好的節點表示。GraphGAN即為生成式模型和判別式模型的結合,其包含兩個重要部分,即生成器G(v|vc ; θG) 和判別器D(v|vc ; θD)。生成器為每一個節點維護一個向量,這些向量組合在一起構成θG。G(v|vc ; θG) 表示生成器認為給定節點Vc和參數θG下,V與Vc之間有一條邊的概率。G(v|vc ; θG)的目的就是通過學習去逼近真實分布Ptrue(V|Vc)。判別器也為每一個節點維護一個向量,這些向量組合在一起構成θD。D(v|vc ; θD)通過向量θD來判斷V與Vc之間是否有一條邊。GraphSGAN則在GraphGAN框架基礎上加入了半監督學習,通過加入部分人工標記的數據學習特徵模型,提升了性能。GraphSGAN框架解決的問題是:有由一小組有標記的節點和一組無標記的節點組成的圖,如何學習一個模型,可以預測無標記節點的標記。GraphSGAN將會把小部分有標記節點的圖映射到特徵空間,學到一個表示,並共同訓練生成器網絡和分類器網絡。由生成器生成偽輸入,通過拼接原始特徵wi和學習嵌入qi得到真實輸入。將真實輸入和由生成器生成的偽樣本輸入到分類器中,實現分類目標。5.6 Domain Adaptation and Multi-modality Representation對抗性學習中的鑑別器本質上是為了匹配潛在表示分布和數據分布的差異。這個功能自然涉及到領域適應和多模態表示問題,這些問題的目的是對齊不同的表示分布。

06

THEORY BEHIND SELF-SUPERVISED LEARNING

這一部分看原文比較好,最好手寫一遍,變分下界和互信息的推導都不難,但是確實揭示了為什麼這些工作能夠work。

07

DISCUSSIONS AND FUTURE DIRECTIONS

這一節討論了自監督學習存在的一些問題和未來可能的發展方向儘管自監督學習取得了巨大的成功,但很少有人研究其背後的機制。在第6節中,我們列舉了最近關於這一主題的一些研究,並表明理論分析對於避免誤導性的實證結論是重要的。Transferring to downstream tasks在前置任務和下遊任務之間有一個重要的差距。研究人員精心設計了前置任務,以幫助模型學習數據集的一些關鍵特徵,這些特徵可以轉移到其他工作中,但有時可能無法意識到這一點。此外,選擇前置任務的過程似乎過於啟發式和棘手,沒有模式可循。一個典型的例子是BERT和ALBERT中培訓前任務的選擇。BERT使用下一句預測(NSP)來提高句子層次的理解能力。然而,ALBERT表明NSP等於一個幼稚的主題模型,這對於語言模型的預訓練來說太容易了,甚至會降低BERT的性能。對於預訓練任務選擇問題,一個可能令人興奮的方向是自動為特定的下遊任務設計預訓練任務,就像Neural Architecture Search對神經網絡架構所做的那樣。Transferring across datasets這個問題也被稱為如何學習歸納偏差或歸納學習。傳統上,我們將數據集分為用於學習模型參數的訓練部分和用於評估的測試部分。這種學習範式的一個必要前提是,現實世界中的數據符合我們數據集中的分布。然而,這種假設在實驗中經常失敗。自監督表示學習解決了部分問題,特別是在自然語言處理領域。大量的語料庫用於語言模型的預培訓,有助於涵蓋語言的大多數模式,因此有助於在各種語言任務中成功的PTMs。然而,這是基於同一語言的文本共享相同的嵌入空間這一事實。對於像機器翻譯這樣的任務和像圖學習這樣的領域,不同數據集的嵌入空間不同,如何有效地學習可轉移的歸納偏差仍然是一個有待解決的問題。Exploring potential of sampling strategies正負樣本的採樣策略對model的影響十分巨大,他們提出利用超大數量的負樣本和增廣的正樣本,並在深度度量學習中研究了它們的影響。如何進一步釋放採樣的威力,是一個有待解決的、引人關注的問題。Early Degeneration for Contrastive Learning對比學習方法如MoCo和SimCLR正在迅速接近計算機視覺監督學習的性能。然而,他們令人難以置信的表現一般局限於分類問題。同時,生成對抗的方法ELETRA在語言模型預訓練中的表現也優於其他方法,然而,一些評論指出,ELETRA在語言生成和神經實體提取方面的表現並沒有達到預期。上述問題可能是由於對比目標經常陷入嵌入空間的早期退化問題,即模型過早地過適合區分藉口任務,從而失去了泛化的能力。我們期望在保留對比學習優勢的同時,會有新的技術或模式來解決早期退化問題。

[1] https://blog.csdn.net/songbinxu/article/details/80209197

[2] https://blog.csdn.net/u010089444/article/details/52624964

[3] https://www.zhihu.com/question/54504471

[4] https://www.sohu.com/a/317789513_473283

[5] https://zhuanlan.zhihu.com/p/45167021

[6] https://www.jianshu.com/p/79bd2ca90376

[7] https://zhuanlan.zhihu.com/p/75893972

[8] https://zhuanlan.zhihu.com/p/91434658

[9] https://zhuanlan.zhihu.com/p/68339385

[10] https://zhuanlan.zhihu.com/p/78340397

[11] https://zhuanlan.zhihu.com/p/212873650

[12] https://zhuanlan.zhihu.com/p/58682802

[13] https://www.zhuanzhi.ai/vip/515f0a8244c3f201c2b02a71a7eb036e

[14] https://zhuanlan.zhihu.com/p/112086408

本文目的在於學術交流,並不代表本公眾號贊同其觀點或對其內容真實性負責,版權歸原作者所有,如有侵權請告知刪除。


相關焦點

  • Self-supervised Learning入門
    收錄於話題 #self-supervised         自監督學習(Self-supervised)的思想,簡單來說,就是在只有一堆無監督的數據時,通過數據本身的結構或者特性,人為構造標籤(pretext
  • Self-Supervised Learning in Computer Vision
    來自 | 知乎作者 | NoahSYZhang地址 | https://zhuanlan.zhihu.com/p/336933815編輯 | 機器學習算法與自然語言處理公眾號本文僅作學術分享,若侵權,請聯繫後臺刪文處理最近在組會討論self-supervised
  • 【機器學習基礎】Self-Supervised Learning入門介紹
    self-supervised learning 變得非常火,首先是 kaiming 的 MoCo 引發一波熱議,然後最近 Yann 在 AAAI 上講 self-supervised learning 是未來。
  • 一文詳解最近異常火熱的self-supervised learning
    learning 變得非常火,首先是 kaiming 的 MoCo 引發一波熱議,然後最近 Yann 在 AAAI 上講 self-supervised learning 是未來。什麼是 Self-Supervised Learning首先介紹一下到底什麼是 SSL,我們知道一般機器學習分為監督學習,非監督學習和強化學習。而 self-supervised learning 是無監督學習裡面的一種,主要是希望能夠學習到一種通用的特徵表達用於下遊任務。
  • 再介紹一篇Contrastive Self-supervised Learning綜述論文
    文 | 黃浴@知乎本文已獲作者授權,禁止二次轉載之前已經介紹過三篇自監督學習的綜述:《怎樣緩解災難性遺忘?持續學習最新綜述三篇!》。這是最近2020年10月arXiv上的又一篇論文"A Survey On Contrastive Self-supervised Learning"。
  • 春節充電系列:李宏毅2017機器學習課程學習筆記12之半監督學習(Semi-supervised Learning)
    本文內容涉及機器學習中半監督學習的若干主要問題:semi-supervised learning for generative model, low-density separation assumption, smoothness assumption以及better representation。話不多說,讓我們一起學習這些內容吧 。
  • 一文讀懂 Self-Supervised Learning
    導讀:最近 self-supervised learning 變得非常火,首先是 kaiming 的 MoCo 引發一波熱議,然後最近 Yann 在 AAAI 上講 self-supervised learning 是未來。所以覺得有必要了解一下 SSL,也看了一些 paper 和 blog,最後決定寫這篇文章作為一個總結。
  • 自監督學習(Self-Supervised Learning) 2018-2020年發展綜述
    ,尤其是Contrastive Learning 的方法,在資源豐沛的情況下,可以傭簡單的架構便達到逼近 Supervised Learning 的效果,甚至在Model Capacity 增加的情況下,能與 Supervised Learning 平起平坐。
  • 自監督學習(Self-supervised Learning)
    目前CV領域主流的研究一般是結合多任務學習或者基於特定的學習方式,比如域自適應(Domain Adaptation)、自監督學習(Self-supervised)、無監督學習(Unsupervised Learning)以及增量學習(Incremental Learning)等,本文主要來聊一聊自監督學習一、什麼是自監督學習
  • 【自監督學習】Self-supervised Learning 再次入門
    機器學習算法與自然語言處理出品@公眾號原創專欄作者 huybery
  • DivideMix:Learning with Noisy Labels as Semi-supervised Learning
    損失函數設計訓練過程中,有標籤集採用交叉熵損失,無標籤集採用均方誤差損失。
  • 【綜述專欄】異常檢測:Anomaly Detection綜述
    為此,我們特別精選國內外優秀的綜述論文,開闢「綜述」專欄,敬請關注。Deep learning. nature, 521(7553):436, 2015.Semi-supervised deep neural network for network intrusion detection. 2016.Hongchao Song, Zhuqing Jiang, Aidong Men, and Bo Yang.
  • 長文總結半監督學習(Semi-Supervised Learning)
    consistency targets improve semi-supervised deep learning results論文連結:https://arxiv.org/abs/1703.01780代碼連結:
  • Multi-Task Learning的幾篇綜述文章
    任務聚類 參數task relation learning approach 任務關係學習 參數decomposition approach 分解 參數和其他機器學習方法結合:semi-supervised learningactive learningunsupervised learningreinforcement
  • 2021最新對比學習(Contrastive Learning)相關必讀論文整理分享
    資源整理自網絡,資源獲取見源地址:https://github.com/asheeshcric/awesome-contrastive-self-supervised-learning 2021: Self-supervised Pretraining of Visual Features in the Wild
  • self-supervised系列-何凱明的MoCo
    But supervised pre-training is still dominant in computer vision, where unsupervised methods generally lag behind.   現在CV中,有監督的預訓練仍舊是主流,無監督方向大有潛力。
  • 名著導讀 | Deep learning
    In computer science, computational learning theory (or just learning theory) is a subfield of artificial intelligence devoted to studying the design and analysis of machine learning algorithms.
  • Multi-task Learning and Beyond: 過去,現在與未來
    在 supervised auxiliary learning 的 setting 中,整個網絡和任務的選擇非常依賴於人類的先驗知識,並不具備絕對的普遍性。Meta Auxiliary Learning考慮 supervised auxiliary learning 對於任務選擇的局限性,我後續提出了一種基於 meta learning 的方法來自動生成
  • 一文掌握《對比學習(Contrastive Learning)》要旨,詳述MoCo和SimCLR算法
    "An empirical study of training self-supervised visual transformers." arXiv preprint arXiv:2104.02057 (2021).[5]Chen, Ting, et al.