作者|AI Box
來源|RUC AI Box
近年來,深度監(jiān)督學(xué)習(xí)取得了巨大的成功。然而,它依賴于手工標(biāo)簽,并且易受攻擊的弱點(diǎn)促使學(xué)者們探索更好的解決方案。近年來,自監(jiān)督學(xué)習(xí)作為一種新的學(xué)習(xí)方法,在表征學(xué)習(xí)方面取得了驕人的成績(jī)并吸引了越來越多的注意。自監(jiān)督表示學(xué)習(xí)利用輸入數(shù)據(jù)本身作為監(jiān)督信號(hào),幾乎有利于所有不同類型的下游任務(wù)。本期前沿解讀,我們解讀清華大學(xué)唐杰老師組發(fā)表的Self-supervised Learning: Generative or Contrastive 一探自監(jiān)督學(xué)習(xí)最新研究進(jìn)展。
論文標(biāo)題:
Self-supervised Learning: Generative or Contrastive
論文鏈接:
https:///pdf/2006.08218.pdf
本文主要介紹自監(jiān)督學(xué)習(xí)在計(jì)算機(jī)視覺,自然語言處理,和圖學(xué)習(xí)領(lǐng)域的方法,并對(duì)現(xiàn)有的方法進(jìn)行了全面的回顧,根據(jù)不同方法的目標(biāo)歸納為生成式(generative)、對(duì)比式(contrastive)和對(duì)比-生成式 / 對(duì)抗式(adversarial)三大類。最后,簡(jiǎn)要討論了自監(jiān)督學(xué)習(xí)的開放問題和未來的發(fā)展方向。
監(jiān)督學(xué)習(xí)在過去取得了巨大的成功,然而監(jiān)督學(xué)習(xí)的研究進(jìn)入了瓶頸期,因其依賴于昂貴的人工標(biāo)簽,卻飽受泛化錯(cuò)誤(generalization error)、偽相關(guān)(spurious correlations)和對(duì)抗攻擊(adversarial attacks)的困擾。自監(jiān)督學(xué)習(xí)以其良好的數(shù)據(jù)利用效率和泛化能力引起了人們的廣泛關(guān)注。本文將全面研究最新的自監(jiān)督學(xué)習(xí)模型的發(fā)展,并討論其理論上的合理性,包括預(yù)訓(xùn)練語言模型(Pretrained Language Model,PTM)、生成對(duì)抗網(wǎng)絡(luò)(GAN)、自動(dòng)編碼器及其拓展、最大化互信息(Deep Infomax,DIM)以及對(duì)比編碼(Contrastive Coding)。自監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)的區(qū)別主要在于,無監(jiān)督學(xué)習(xí)專注于檢測(cè)特定的數(shù)據(jù)模式,如聚類、社區(qū)發(fā)現(xiàn)或異常檢測(cè),而自監(jiān)督學(xué)習(xí)的目標(biāo)是恢復(fù)(recovering),仍處于監(jiān)督學(xué)習(xí)的范式中。下圖展示了兩者之間的區(qū)別,自監(jiān)督中的“related information” 可以來自其他模態(tài)、輸入的其他部分以及輸入的不同形式。
▲ 圖1. 監(jiān)督、無監(jiān)督和自監(jiān)督學(xué)習(xí)的區(qū)別 (Image source:Jie Tang et al.)
生成式自監(jiān)督學(xué)習(xí)
Auto-regressive (AR) Model
在自回歸模型中,聯(lián)合分布可以被分解為條件的乘積,每個(gè)變量概率依賴于之前的變量:在自然語言處理中,自回歸語言模型的目標(biāo)通常是最大化正向自回歸因子分解的似然。例如 GPT、GPT-2 使用 Transformer 解碼器結(jié)構(gòu)進(jìn)行建模;在計(jì)算機(jī)視覺中,自回歸模型用于逐像素建模圖像,例如在 PixelRNN 和 PixelCNN 中,下方(右側(cè))像素是根據(jù)上方(左側(cè))像素生成的;而在圖學(xué)習(xí)中,則可以通過深度自回歸模型來生成圖,例如 GraphRNN 的目標(biāo)為最大化觀察到的圖生成序列的似然。自回歸模型的優(yōu)點(diǎn)是能夠很好地建模上下文依賴關(guān)系。然而,其缺點(diǎn)是每個(gè)位置的 token 只能從一個(gè)方向訪問它的上下文。Auto-encoding (AE) Model
自動(dòng)編碼模型的目標(biāo)是從(損壞的)輸入中重構(gòu)(部分)輸入。標(biāo)準(zhǔn)的自動(dòng)編碼器,首先一個(gè)編碼器 對(duì)輸入進(jìn)行編碼得到隱表示 ,再通過解碼器 重構(gòu)輸入,目標(biāo)是使得輸入 和 盡可能的相近。Denoising AE,去噪自動(dòng)編碼器 Denoising AE 認(rèn)為表示應(yīng)該對(duì)引入的噪聲具有魯棒性,MLM(masked language model)就可以看作是去噪自動(dòng)編碼器模型,MLM 通過對(duì)序列中的 token 隨機(jī)替換為 mask token,并根據(jù)上下文預(yù)測(cè)它們。同時(shí)為了解決下游任務(wù)中輸入不存在 mask token 的問題,在實(shí)際使用中,替換 token 時(shí)可以選擇以一定概率隨機(jī)替換為其他單詞或是保持不變。與自回歸模型相比,在 MLM 模型中,所預(yù)測(cè)的 token 可以訪問雙向的上下文信息。然而,MLM 假設(shè)預(yù)測(cè)的 token 是相互獨(dú)立的。Variational AE,變分自動(dòng)編碼器 變分自動(dòng)編碼模型假設(shè)數(shù)據(jù)是從潛在變量表示中生成的。給定數(shù)據(jù) ,潛在變量 上的后驗(yàn)分布 通過 來逼近。根據(jù)變分推斷:
從自動(dòng)編碼器視角來看,第一項(xiàng)可以看作是正則化項(xiàng)保證后驗(yàn)分布 逼近先驗(yàn)分布 ,第二項(xiàng)就是根據(jù)潛在變量重構(gòu)輸入的似然。VAE 在圖像生成領(lǐng)域中有所應(yīng)用,代表模型有向量量化 VAE 模型 VQ-VAE,而在圖學(xué)習(xí)領(lǐng)域,則有變分圖自動(dòng)編碼器 VGAE。Hybrid model
結(jié)合 AR 模型和 AE 模型的各自優(yōu)點(diǎn),MADE 模型對(duì) AE 做了一個(gè)簡(jiǎn)單的修改,使得 AE 模型的參數(shù)遵循 AR 模型的約束。具體來說,對(duì)于原始的 AE,相鄰兩層之間的神經(jīng)元通過 MLPs 完全連接。然而,在 MADE 中,相鄰層之間的一些連接被 mask 了,以確保輸入的每個(gè)維度僅從之前的維度來重構(gòu)。
▲ 圖2. PLM實(shí)例示意圖. (Image source: Z Yang et al.)
在 NLP 領(lǐng)域中,PLM (Permutation Language Model) 模型則是一個(gè)代表性的混合方法,XLNet 引入 PLM,是一種生成自回歸預(yù)訓(xùn)練模型。XLNet 通過最大化因數(shù)分解順序的所有排列的期望似然來實(shí)現(xiàn)學(xué)習(xí)雙向上下文關(guān)系(見圖 )。具體的,假設(shè) 是長(zhǎng)度為 的所有可能的序列排序,則 PLM 的優(yōu)化目標(biāo)為:實(shí)際上,對(duì)于每個(gè)文本序列,都采樣了不同的分解因子。因此,每個(gè) token 都可以從雙向看到它的上下文信息。在此基礎(chǔ)上,XLNet 還對(duì)模型進(jìn)行了位置重參數(shù)化,使模型知道需要預(yù)測(cè)的位置,并引入了特殊的雙流自注意機(jī)制來實(shí)現(xiàn)目標(biāo)感知預(yù)測(cè)。此外,與 BERT 不同的是,XLNet 受到 AR 模型最新改進(jìn)的啟發(fā),提出了結(jié)合片段遞歸機(jī)制和相對(duì)位置編碼機(jī)制的 Transformer-XL 集成到預(yù)訓(xùn)練中,比 Transformer 更好地建模了長(zhǎng)距離依賴關(guān)系。對(duì)比式自監(jiān)督學(xué)習(xí)
大多數(shù)表示學(xué)習(xí)任務(wù)都希望對(duì)樣本 之間的關(guān)系建模。因此長(zhǎng)期以來,人們認(rèn)為生成模型是表征學(xué)習(xí)的唯一選擇。然而,隨著 Deep Infomax、MoCo 和 SimCLR 等模型的提出,對(duì)比學(xué)習(xí)(contrastive learning) 取得了突破性進(jìn)展,如圖 3 所示,在 ImageNet 上,自監(jiān)督模型的 Top-1 準(zhǔn)確率已經(jīng)接近監(jiān)督方法(ResNet50),揭示了判別式模型的潛力。
▲ 圖3. 自監(jiān)督學(xué)習(xí)模型在 ImageNet 上 Top-1 準(zhǔn)確率對(duì)比. (Image source: Jie Tang et al.)對(duì)比學(xué)習(xí)的宗旨在于“l(fā)earn to compare”,通過設(shè)定噪聲對(duì)比估計(jì)(Noise Contrastive Estimation,NCE)來實(shí)現(xiàn)這個(gè)目標(biāo):

其中, 與 相似,而 與 不相似, 是編碼器函數(shù)(表示學(xué)習(xí)方程)。相似度量和編碼函數(shù)可能會(huì)根據(jù)具體的任務(wù)有所不同,但是整體的框架仍然類似。當(dāng)有更多的不相似樣本對(duì)時(shí),我們可以得到 InfoNCE:
在這里,根據(jù)最近的對(duì)比學(xué)習(xí)模型框架,具體可細(xì)分為兩大類:實(shí)例-上下文對(duì)比(context-instance contrast)和實(shí)例-實(shí)例對(duì)比(instance-instance contrast)。他們都在下游任務(wù)中有不俗的表現(xiàn),尤其是分類任務(wù)。Context-Instance Contrast
Context-Instance Contrast,又稱為 Global-local Contrast,重點(diǎn)建模樣本局部特征與全局上下文表示之間的歸屬關(guān)系,其初衷在于當(dāng)我們學(xué)習(xí)局部特征的表示時(shí),我們希望它與全局內(nèi)容的表示相關(guān)聯(lián),比如條紋與老虎,句子與段落,節(jié)點(diǎn)與相鄰節(jié)點(diǎn)。這一類方法又可以細(xì)分為兩大類:預(yù)測(cè)相對(duì)位置(Predict Relative Position,PRP)和最大化互信息(Maximize Mutual Information,MI)。兩者的區(qū)別在于:1)PRP 關(guān)注于學(xué)習(xí)局部組件之間的相對(duì)位置。全局上下文是預(yù)測(cè)這些關(guān)系的隱含要求(例如,了解大象的長(zhǎng)相對(duì)于預(yù)測(cè)它頭和尾巴的相對(duì)位置至關(guān)重要);2)MI 側(cè)重于學(xué)習(xí)局部組件和全局上下文之間的明確歸屬關(guān)系。局部之間的相對(duì)位置被忽略。Predict Relative Position 許多數(shù)據(jù)蘊(yùn)含豐富的時(shí)空關(guān)系,例如圖 4 中,大象的頭在其尾巴的右邊,而在文本中,“Nice to meet you” 很可能出現(xiàn)在“Nice to meet you, too”的前面。許多模型都把識(shí)別其各部分之間的相對(duì)位置作為輔助任務(wù)(pretext task),例如圖 4 中,預(yù)測(cè)兩個(gè) patch 之間的相對(duì)位置,或是預(yù)測(cè)圖像的旋轉(zhuǎn)角,又或者是“解拼圖”。
▲ 圖4:Pretext Task示例. (Image source: Jie Tang et al.)
在 NLP 領(lǐng)域中,BERT 率先使用的 NSP(Next Sentence Prediction)也屬于類似的輔助任務(wù),NSP 要求模型判斷兩個(gè)句子是否具有上下文關(guān)系,然而最近的研究方法證明 NSP 可能對(duì)模型沒什么幫助甚至降低了性能。為了替換 NSP,ALBERT 提出了 SOP(Sentence Order Prediction)輔助任務(wù),其認(rèn)為 NSP 中隨機(jī)采樣的句子可能來自不同的文章,主題不同則難度自然很低,而 SOP 中,兩個(gè)互換位置的句子被認(rèn)為是負(fù)樣本,這使得模型將會(huì)集中在語義的連貫性學(xué)習(xí)。
Maximize Mutual Information MI 類任務(wù)利用統(tǒng)計(jì)學(xué)中的互信息,通常來說,模型的優(yōu)化目標(biāo)為:

其中, 表示表示編碼器, 則表示滿足約束的一類編碼器, 表示對(duì)于真實(shí)互信息的采樣估計(jì)。在應(yīng)用中,MI 計(jì)算困難,一個(gè)常見的做法是通過 NCE 來最大化互信息 的下界。Deep Infomax(DIM) 是第一個(gè)通過對(duì)比學(xué)習(xí)任務(wù)顯式建?;バ畔⒌乃惴?,它最大化了局部 patch 與其全局上下文之間的 MI。在實(shí)際應(yīng)用中,以圖像為例,我們可以把一張狗的圖像x編碼為 ,隨后取出一個(gè)局部向量 ,為了進(jìn)行實(shí)例和上下文之間的對(duì)比:
首先需要通過一個(gè)總結(jié)函數(shù)(summary function) ,來生成上下文向量 其次需要一個(gè)貓圖像作為 ,并得到其上下文向量 這樣就可以得到對(duì)比學(xué)習(xí)的目標(biāo)函數(shù):
Deep Infomax 給出了自監(jiān)督學(xué)習(xí)的新范式,這方面工作較有影響力的跟進(jìn),最先有在 speech recognition 領(lǐng)域的 CPC 模型,CPC 將音頻片段與其上下文音頻之間的互信息最大化。為了提高數(shù)據(jù)利用效率,它需要同時(shí)使用幾個(gè)負(fù)的上下文向量,CPC 隨后也被應(yīng)用到圖像分類中。
AMDIM 模型提出通過隨機(jī)生成一張圖像的不同 views(截?cái)?、變色等)用于生成局部特征向量和上下文向量,其與 Deep Infomax 的對(duì)比如下圖 5 所示,Deep Infomax 首先通過編碼器得到圖像的特征圖,隨后通過 readout(summary function)得到上下文向量,而 AMDIM 則通過隨機(jī)選擇圖像的另一個(gè) view 來生成上下文向量。
▲ 圖5. Deep Infomax 與 AMDIM 示意圖. (Image source: Jie Tang et al.)
在 NLP 領(lǐng)域,InfoWord 模型提出最大化句子的整體表示和句子的 n-grams 之間的互信息。而在圖學(xué)習(xí)領(lǐng)域則有 DGI(Deep Graph Infomax)模型,DGI 以節(jié)點(diǎn)表示作為局部特征,以隨機(jī)采樣的二跳鄰居節(jié)點(diǎn)的均值作為上下文向量,注意圖學(xué)習(xí)中的負(fù)樣本難以構(gòu)造,DGI 提出保留原有上下文節(jié)點(diǎn)的結(jié)構(gòu)但打亂順序來生成負(fù)樣本。
▲ 圖6. Deep Graph Infomax 示意圖. (Image source: Jie Tang et al.)Instance-Instance Contrast
盡管基于最大化互信息的模型取得了成功,但是一些最近的研究對(duì)優(yōu)化 MI 帶來的實(shí)際增益表示懷疑。M Tschannen et al.證明基于最大化互信息的模型的成功與 MI 本身聯(lián)系并不大。相反,它們的成功應(yīng)該更多地歸因于編碼器架構(gòu)和以及與度量學(xué)習(xí)相關(guān)的負(fù)采樣策略。度量學(xué)習(xí)的一個(gè)重點(diǎn)是在提高負(fù)采樣效率的同時(shí)執(zhí)行困難樣本采樣(hard positive sampling),而且它們對(duì)于基于最大化互信息的模型可能發(fā)揮了更關(guān)鍵的作用。而最新的相關(guān)研究 MoCo 和 SimCLR 也進(jìn)一步證實(shí)了上述觀點(diǎn),它們的性能優(yōu)于 context-instance 類方法,并通過 instance-instance 級(jí)的直接對(duì)比,相比監(jiān)督方法取得了具有競(jìng)爭(zhēng)力的結(jié)果。Cluster-based Discrimination instance-instance contrast 類的方法最早的研究方向是基于聚類的方法,DeepCluster 取得了接近 AlexNet 的成績(jī)。圖像分類任務(wù)要求模型正確地對(duì)圖像進(jìn)行分類,并且希望在同一個(gè)類別中圖像的表示應(yīng)該是相似的。因此,目標(biāo)是在嵌入空間內(nèi)保持相似的圖像表示相接近。在監(jiān)督學(xué)習(xí)中,這一目標(biāo)通過標(biāo)簽監(jiān)督來實(shí)現(xiàn);然而,在自監(jiān)督學(xué)習(xí)中,由于沒有標(biāo)簽,DeepCluster 通過聚類生成偽標(biāo)簽,再通過判別器預(yù)測(cè)偽標(biāo)簽。最近,局部聚合(Local Aggregation, LA)方法已經(jīng)突破了基于聚類的方法的邊界。LA 指出了 DeepCluster 算法的不足,并進(jìn)行了相應(yīng)的優(yōu)化。首先,在 DeepCluster 中,樣本被分配到互斥的類中,而 LA 對(duì)于每個(gè)樣本鄰居的識(shí)別是分開的。第二,DeepCluster 優(yōu)化交叉熵的判別損失,而 LA 使用一個(gè)目標(biāo)函數(shù)直接優(yōu)化局部軟聚類度量。這兩個(gè)變化在根本上提高了 LA 表示在下游任務(wù)中的性能。

▲ 圖7. DeepCluster 和 LA 方法示意圖. (Image source: Jie Tang et al.)基于聚類的判別也可以幫助預(yù)訓(xùn)練模型提升泛化能力,更好地將模型從輔助任務(wù)目標(biāo)轉(zhuǎn)移到實(shí)際任務(wù)中。傳統(tǒng)的表示學(xué)習(xí)模型只有兩個(gè)階段:一個(gè)是預(yù)訓(xùn)練階段,另一個(gè)是評(píng)估階段。ClusterFit 在上述兩個(gè)階段之間引入了一個(gè)與 DeepCluster 相似的聚類預(yù)測(cè)微調(diào)階段,提高了表示在下游分類評(píng)估中的性能。
Instance Discrimination 以實(shí)例判別(instance discrimination)作為輔助任務(wù)的模型原型是 InstDisc,在其基礎(chǔ)之上,CMC 提出將一幅圖像的多個(gè)不同 view 作為正樣本,將另一幅圖像作為負(fù)樣本。在嵌入空間中,CMC 將使一幅圖像的多個(gè) view 盡可能靠近,并拉開與其他樣本的距離。然而,它在某種程度上受到了 Deep InfoMax 思想的限制,僅僅對(duì)每個(gè)正樣本采樣一個(gè)負(fù)樣本。在 MoCo 中,通過 momentum contrast 進(jìn)一步發(fā)展了實(shí)例判別的思想,MoCo 極大的增加了負(fù)樣本的數(shù)量。對(duì)于一個(gè)給定的圖像 ,MoCo 希望通過一個(gè) query encoder 得到一個(gè)可以區(qū)分于任何其他圖像的 instinct 表示 。因此,對(duì)于其他圖像集中的 ,異步更新 key encoder 并得到 以及 ,并優(yōu)化下面的目標(biāo)函數(shù):
其中, 表示負(fù)樣本的數(shù)量,這個(gè)式子就是 InfoNCE 的一種表達(dá)。同時(shí),MoCo 還提出了其他兩個(gè)在提升負(fù)采樣效率方面至關(guān)重要的思想:首先,摒棄了傳統(tǒng)的端到端訓(xùn)練,采用帶有兩個(gè)編碼器(query and key encoder)的 momentum contrast 學(xué)習(xí)來避免訓(xùn)練初始階段的損失的波動(dòng)。其次,為了擴(kuò)大負(fù)樣本的容量,MoCo 采用隊(duì)列(K=65536)的方式將最近編碼過的批樣本保存為負(fù)樣本。這大大提高了負(fù)采樣效率。
▲ 圖8. MoCo 示意圖. (Image source: Kaiming He et al.)
MoCo 還采用了一些輔助的技術(shù)來保證訓(xùn)練的收斂性,如批隨機(jī)化以及 temperature 超參數(shù) 的調(diào)整。然而,MoCo 采用了一種過于簡(jiǎn)單的正樣本策略:正對(duì)表示來自同一樣本,沒有任何變換或增強(qiáng),使得正對(duì)太容易區(qū)分。PIRL 添加了上述提到的”解拼圖“的困難正樣本(hard positive example)增強(qiáng)。為了產(chǎn)生一個(gè) pretext-invariant 的表示,PIRL 要求編碼器把一個(gè)圖像和它的拼圖作為相似的對(duì)。
在 SimCLR 中,作者通過引入 10 種形式的數(shù)據(jù)增強(qiáng)進(jìn)一步說明了困難正樣本(hard positive example)策略的重要性。這種數(shù)據(jù)增強(qiáng)類似于 CMC,它利用幾個(gè)不同的 view 來增加正對(duì)。SimCLR 遵循端到端的訓(xùn)練框架,而不是 MoCo 的 momentum contrast,為處理大規(guī)模負(fù)樣本問題,SimCLR 選擇將 batch 大小 N 擴(kuò)展為 8196。
▲ 圖9. SimCLR 數(shù)據(jù)增強(qiáng)示意圖. (Image source: G Hinton et al.)具體來看,minibatch 中的 個(gè)樣本將會(huì)被增強(qiáng)為 個(gè)樣本 。對(duì)于一個(gè)正樣本,其他的 2(N-1) 個(gè)樣本將會(huì)被視為負(fù)樣本,我們可以得到成對(duì)對(duì)比損失 NT-Xent loss:
注意, 是非對(duì)稱的,此處 為正弦函數(shù)可以歸一化表示,最終的和損失為:
SimCLR 還提供了一些其他有用的技術(shù),包括 representation 和 contrast loss 之間的可學(xué)習(xí)的非線性轉(zhuǎn)換,更多的訓(xùn)練步數(shù),和更深的神經(jīng)網(wǎng)絡(luò)。Kaiming He et al. 進(jìn)行消融分析研究表明,SimCLR 中的技術(shù)也可以進(jìn)一步提高 MoCo 的性能。
在圖學(xué)習(xí)中,圖對(duì)比編碼(Graph Contrastive Coding, GCC)率先將實(shí)例判別作為結(jié)構(gòu)信息預(yù)訓(xùn)練的輔助任務(wù)。對(duì)于每個(gè)節(jié)點(diǎn),通過隨機(jī)游走獨(dú)立采樣兩個(gè)不同的子圖,并使用它們的歸一化圖 Laplacian 矩陣中的 top 特征向量作為節(jié)點(diǎn)的初始表示,然后使用 GNN 對(duì)它們進(jìn)行編碼,并像 MoCo 和 SimCLR 那樣計(jì)算 InfoNCE loss,其中相同節(jié)點(diǎn)(在不同的子圖中)的節(jié)點(diǎn)嵌入被視為相似正樣本,其余的視為不相似的負(fù)樣本。結(jié)果表明,GCC 比以前的工作,如 struc2vec、GraphWave 和 ProNE,學(xué)習(xí)了更好的可遷移的結(jié)構(gòu)知識(shí)。
對(duì)比-生成式(對(duì)抗式)自監(jiān)督學(xué)習(xí)
Why Generative-Contrastive (Adversarial)?
生成式模型往往會(huì)優(yōu)化下面的目標(biāo)似然方程:
其中, 是我們希望建模的樣本, 則是條件約束例如上下文信息,這個(gè)方程一般都會(huì)使用最大似然估計(jì) MLE 來優(yōu)化,然而 MLE 存在兩個(gè)缺陷:- Sensitive and Conservative Distribution(敏感的保守分布):當(dāng) 時(shí), 會(huì)變得非常大,使得模型對(duì)于罕見樣本會(huì)十分敏感,這會(huì)導(dǎo)致生成模型擬合的數(shù)據(jù)分布非常保守,性能受到限制。
- Low-level Abstraction Objective(低級(jí)抽象目標(biāo)):在使用 MLE 的過程中,表示分布建模的對(duì)象是樣本 級(jí)別,例如圖像中的像素,文本中的單詞以及圖中的節(jié)點(diǎn)。然而,大部分分類任務(wù)需要更高層次的抽象表示,例如目標(biāo)檢測(cè)、長(zhǎng)段落理解以及社區(qū)分類。
以上兩個(gè)缺陷嚴(yán)重的限制了生成式自監(jiān)督模型的發(fā)展,而使用判別式或?qū)Ρ仁侥繕?biāo)函數(shù)可以很好的解決上述問題。以自動(dòng)編碼器和 GAN 為例,自動(dòng)編碼器由于使用了一個(gè) pointwise 的 重構(gòu)損失,因此可能建模的是樣本中的 pixel-level 模式而不是樣本分布,而 GAN 利用了對(duì)比式目標(biāo)函數(shù)直接對(duì)比生成的樣本和真實(shí)樣本,建模的是 semantic-level 從而避免了這個(gè)問題。與對(duì)比學(xué)習(xí)不同,對(duì)抗學(xué)習(xí)仍然保留由編碼器和解碼器組成的生成器結(jié)構(gòu),而對(duì)比學(xué)習(xí)則放棄了解碼器(如下圖 10 所示)。這點(diǎn)區(qū)別非常重要,因?yàn)橐环矫?,生成器將生成式模型所特有的?qiáng)大的表達(dá)能力賦予了對(duì)抗學(xué)習(xí); 另一方面,這也使得對(duì)抗式方法的學(xué)習(xí)目標(biāo)相比與對(duì)比式方法更具挑戰(zhàn)性,也導(dǎo)致了收斂不穩(wěn)定。在對(duì)抗式學(xué)習(xí)的設(shè)置中,解碼器的存在要求表示具有“重構(gòu)性”,換句話說,表示應(yīng)當(dāng)包含所有必要的信息來構(gòu)鍵輸入。而在對(duì)比式學(xué)習(xí)的設(shè)置中,我們只需要學(xué)習(xí)“可區(qū)分的”信息就可以區(qū)分不同的樣本。
▲ 圖10. AE、GAN 和 Contrastive 方法的區(qū)別,總體上它們都包含兩個(gè)大的組件—-生成器和判別器。生成器可以進(jìn)一步分解為編碼器和解碼器,區(qū)別在于:1)隱編碼表示 在 AE 和 Contrastive 方法中是顯式的;2)AE 沒有判別器是純生成式模型,Contrastive 方法的判別器參數(shù)少于 GAN;3)AE 學(xué)習(xí)目標(biāo)是生成器,而 GAN 和 Contrastive 方法的學(xué)習(xí)目標(biāo)是判別器。(Image source: Jie Tang et al.)綜上所述,對(duì)抗式方法吸收了生成式方法和對(duì)比式方法各自的優(yōu)點(diǎn),但同時(shí)也有一些缺點(diǎn)。在我們需要擬合隱分布的情況下,使用對(duì)抗式方法會(huì)是一個(gè)更好的選擇。下面將具體討論它在表示學(xué)習(xí)中的各種應(yīng)用。
Generate with Complete Input
本小節(jié)將介紹 GAN 及其變種如何應(yīng)用到表示學(xué)習(xí)中,這些方法關(guān)注于捕捉樣本的完整信息。GAN 在圖像生成中占據(jù)主導(dǎo)地位,然而數(shù)據(jù)的生成與表示還是存在 gap 的,這是因?yàn)樵?AE 和 Contrastive 方法中,隱編碼表示 是顯式建模的,而 GAN 是隱式的,因此我們需要提取出 GAN 的隱分布 。AAE 率先嘗試彌補(bǔ)這個(gè) gap,AAE 參考 AE 的思想,為了提取隱分布 ,可以將 GAN 中的生成器替換為顯式建模的 VAE,回憶一下前文提到的 VAE 損失函數(shù):我們說過,AE 由于使用了 損失導(dǎo)致建模對(duì)象可能是 pixel-level,而 GAN 使用的對(duì)比式損失可以更好地建模 high-level 表示,因此為了緩解這個(gè)問題,AAE 將上面的損失函數(shù)中的 KL 項(xiàng)替換為了一個(gè)判別損失:它要求判別器區(qū)分來自編碼器的表示和先驗(yàn)分布。盡管如此,AAE 仍然保留了重構(gòu)損失與 GAN 的核心思想還是存在矛盾?;?AAE,BiGAN 和 ALI 模型主張保留對(duì)抗性學(xué)習(xí),并提出新的框架如下圖 11 所示。▲ 圖11. BiGAN 和 ALI 的框架圖 (Image source: J Donahue et al.)- 生成器 :這里生成器實(shí)際上扮演解碼器的角色,其會(huì)根據(jù)先驗(yàn)隱分布 生成 fake 樣本
- 編碼器 :新引入的單元,其將真實(shí)樣本 x 映射為表示 ,而這正是我們想要的表示
- 判別器 :給定輸入 和 ,判斷哪一個(gè)來自真實(shí)的樣本分布。容易看出,訓(xùn)練的目標(biāo)是 ,即編碼器 應(yīng)當(dāng)學(xué)會(huì)”轉(zhuǎn)換“生成器 ??雌饋硭坪鹾?AE 很像,但是區(qū)別在于編碼表示的分布不作任何關(guān)于數(shù)據(jù)的假設(shè),完全由判別器來決定,可以捕捉 semantic-level 的差異。
Pre-trained Language Model
在很長(zhǎng)一段時(shí)間內(nèi),預(yù)訓(xùn)練語言模型 PTM 都關(guān)注于根據(jù)輔助任務(wù)來最大化似然估計(jì),因?yàn)榕袆e式的目標(biāo)函數(shù)由于語言的生動(dòng)豐富性被認(rèn)為是無助的。然而,最近的一些研究顯示了 PTM 在對(duì)比學(xué)習(xí)方面的良好性能和潛力。這方面的先驅(qū)工作有 ELECTRA,在相同的算力下取得了超越 BERT 的表現(xiàn)。如下圖 12 所示,ELECTRA 提出了 RTD(Replaced Token Detection),利用 GAN 的結(jié)構(gòu)構(gòu)建了一個(gè)預(yù)訓(xùn)練語言模型,ELECTRA 的生成器可以看作一個(gè)小型的 Masked Language Model,將句子中的 masked token 替換為正常的單詞,而判別器 預(yù)測(cè)哪些單詞被替換掉,這里的替換的意思是與原始單詞不一致。▲ 圖12. ELECTRA 框架圖 (Image source: K Clark et al.)
其訓(xùn)練過程包含兩個(gè)階段:
- 生成器”熱啟動(dòng)“:按照 MLM 的輔助任務(wù) 訓(xùn)練 一些步驟以對(duì) 的參數(shù)進(jìn)行”預(yù)熱“。
- 訓(xùn)練判別器:判別器的參數(shù)將會(huì)初始化為 的參數(shù),并按照交叉熵判別損失 進(jìn)行訓(xùn)練,此時(shí)生成器的參數(shù)將會(huì)被凍結(jié)。最終的目標(biāo)函數(shù)為:

盡管 ELECTRA 的設(shè)計(jì)是仿照 GAN 的,但是其訓(xùn)練方式不符合 GAN,這是由于圖像數(shù)據(jù)連續(xù)的,而文本數(shù)據(jù)是離散的阻止了梯度的傳播。另一方面,ELECTRA 實(shí)際上將多分類轉(zhuǎn)化為了二分類,使得其計(jì)算量降低,但也可能因此降低性能。
Graph Learning
在圖學(xué)習(xí)領(lǐng)域中,也有利用對(duì)抗學(xué)習(xí)的實(shí)例,但是不同模型之間的區(qū)別很大。大部分方法都跟隨 BiGAN 和 ALI 選擇讓判別器區(qū)分生成的表示和先驗(yàn)分布,例如 ANE 的訓(xùn)練分為兩步:1)生成器 將采樣的圖編碼為嵌入表示,并計(jì)算 NCE 損失;2)判別器 區(qū)分生成的嵌入表示和先驗(yàn)分布。最終的損失是對(duì)抗損失加上 NCE 損失,最終 可以返回一個(gè)更好的表示。GraphGAN 建模鏈路預(yù)測(cè)任務(wù),并且遵循 GAN 的原始形似,直接判別節(jié)點(diǎn)而非表示。如下圖 13 所示,GraphGAN 表示分類任務(wù)中很多的錯(cuò)誤都是由于邊緣節(jié)點(diǎn)造成的,通常情況下同一聚簇內(nèi)的節(jié)點(diǎn)會(huì)在嵌入空間內(nèi)聚集,聚簇之間會(huì)存在包含少量節(jié)點(diǎn)的 density gap,作者證明如果能夠在 density gap 中生成足夠多的 fake 節(jié)點(diǎn),就能夠改善分類的性能。在訓(xùn)練過程中,GraphGAN 利用生成器在 density gap 中生成節(jié)點(diǎn),并利用判別器判斷節(jié)點(diǎn)的原始類別和生成的 fake 節(jié)點(diǎn)的類別,在測(cè)試階段,fake 節(jié)點(diǎn)將會(huì)被移除,此時(shí)分類的性能應(yīng)當(dāng)?shù)玫教嵘?/section>
▲ 圖13. GraphGAN 示意圖 (Image source: H Wang et al.)Discussions and Future Directions
Theoretical Foundation:盡管自監(jiān)督學(xué)習(xí)的方法眾多,但是對(duì)于自監(jiān)督學(xué)習(xí)背后的理論基礎(chǔ)的探討很少,理論分析十分重要,它可以避免讓我們誤入歧途。S Arora et al. 探討了對(duì)比學(xué)習(xí)目標(biāo)函數(shù)的泛化能力,而 M Tschannen et al. 則指出互信息與幾種基于互信息的方法的成功關(guān)系不大,反而是其中采樣策略和架構(gòu)設(shè)計(jì)可能更重要。這類工作對(duì)于自監(jiān)督學(xué)習(xí)形成堅(jiān)實(shí)的基礎(chǔ)至關(guān)重要,我們亟需更多的理論分析工作。Transferring to downstream tasks:在預(yù)訓(xùn)練和下游任務(wù)之間有一個(gè)較大的 gap。研究人員精心設(shè)計(jì)各種輔助任務(wù)(pretext task),以幫助模型學(xué)習(xí)數(shù)據(jù)集的一些重要特征,使得這些特征可以轉(zhuǎn)移到其他下游任務(wù)中,但有時(shí)可能也很難實(shí)現(xiàn)。此外,選擇輔助任務(wù)的過程似乎過于啟發(fā)式,沒有模式可循。對(duì)于預(yù)訓(xùn)練的任務(wù)選擇問題,一個(gè)可能令人興奮的方向是像神經(jīng)架構(gòu)搜索(Neural Architecture Search)那樣為特定的下游任務(wù)自動(dòng)設(shè)計(jì)預(yù)訓(xùn)練任務(wù)。Transferring across datasets:這個(gè)問題也被稱為如何學(xué)習(xí)歸納偏差或歸納學(xué)習(xí)。傳統(tǒng)上,我們將數(shù)據(jù)集分為用于學(xué)習(xí)模型參數(shù)的訓(xùn)練集和用于評(píng)估的測(cè)試集。這種學(xué)習(xí)范例的前提是現(xiàn)實(shí)世界中的數(shù)據(jù)符合我們訓(xùn)練數(shù)據(jù)集中的分布。然而,這種假設(shè)往往與實(shí)踐中不符。自監(jiān)督表示學(xué)習(xí)解決了部分問題,特別是在自然語言處理領(lǐng)域。大量的語料庫(kù)用于語言模型的預(yù)訓(xùn)練,有助于涵蓋大多數(shù)語言模式,因此有助于 PTM 在各種語言任務(wù)中的成功。然而,這是基于同一語言文本共享相同的嵌入空間這一事實(shí)。對(duì)于像機(jī)器翻譯這樣的任務(wù)和圖學(xué)習(xí)這樣的領(lǐng)域,不同數(shù)據(jù)集的嵌入空間不同,如何有效地學(xué)習(xí)可遷移的歸納偏差仍然是一個(gè)問題。Exploring potential of sampling strategies:M Tschannen et al. 指出采樣策略對(duì)于基于互信息的模型貢獻(xiàn)較大,MoCo 和 SimCLR 以及一系列對(duì)比學(xué)習(xí)方法也支持了這一觀點(diǎn),他們都提出要盡可能的增大負(fù)樣本的數(shù)量并增強(qiáng)正樣本,這一點(diǎn)在深度度量學(xué)習(xí)(metric learning)中有所探討。如何進(jìn)一步提升采樣帶來的性能,仍然是一個(gè)有待解決而又引人注目的問題。Early Degeneration for Contrastive Learning:盡管 MoCo 和 SimCLR 逼近了監(jiān)督學(xué)習(xí)的性能,然而,它們通常僅限于分類問題。同時(shí),語言模型預(yù)訓(xùn)練的對(duì)比-生成式方法 ELECTRA 在幾個(gè)標(biāo)準(zhǔn)的 NLP 基準(zhǔn)測(cè)試中也以更少的模型參數(shù)優(yōu)于其他的生成式方法。然而,一些評(píng)論表明,ELECTRA 在語言生成和神經(jīng)實(shí)體提取方面的表現(xiàn)并沒有達(dá)到預(yù)期。這一問題可能是由于對(duì)比式目標(biāo)函數(shù)經(jīng)常陷入嵌入空間的提前退化(early degeneration)問題,即模型過早地適應(yīng)了輔助任務(wù)(pretext task),從而失去了泛化能力。我們期望在保持對(duì)比學(xué)習(xí)優(yōu)勢(shì)的同時(shí),會(huì)有新的技術(shù)或范式來解決提前退化問題。[1] https://zhizhou-yu./2020/06/26/Self-supervised-Learning-Generative-or-Contrastive.html
[2] J. Donahue and K. Simonyan. Large scale adversarial representation learning
[3] K. Clark, M.-T. Luong, Q. V. Le, and C. D. Manning. Electra: Pretraining text encoders as discriminators rather than generators.
[4] K. He, H. Fan, Y. Wu, S. Xie, and R. Girshick. Momentum contrast for unsupervised visual representation learning.