對(duì)比學(xué)習(xí)可以應(yīng)用于監(jiān)督和無(wú)監(jiān)督的場(chǎng)景下,目前在CV、NLP等領(lǐng)域中取得了較好的性能。本文對(duì)對(duì)比學(xué)習(xí)進(jìn)行基礎(chǔ)介紹,以及其在NLP和多模態(tài)中的應(yīng)用。
引言
對(duì)比學(xué)習(xí)的主要思想是相似的樣本的表示相近,而不相似的遠(yuǎn)離。對(duì)比學(xué)習(xí)可以應(yīng)用于監(jiān)督和無(wú)監(jiān)督的場(chǎng)景下,并且目前在CV、NLP等領(lǐng)域中取得了較好的性能。本文先對(duì)對(duì)比學(xué)習(xí)進(jìn)行基礎(chǔ)介紹,之后會(huì)介紹對(duì)比學(xué)習(xí)在NLP和多模態(tài)中的應(yīng)用,歡迎大家批評(píng)和交流。
對(duì)比學(xué)習(xí)基礎(chǔ)介紹
損失函數(shù)
1. NCE[1](Noise-contrastive estimation):是估計(jì)統(tǒng)計(jì)模型的參數(shù)的一種方法,主要通過(guò)學(xué)習(xí)數(shù)據(jù)分布和噪聲分布之間的區(qū)別。下面給出NCE的原始形式,它包含一個(gè)正負(fù)樣本對(duì)。在之后的許多研究工作中,包含多個(gè)正樣本或負(fù)樣本也被廣義的稱為NCE。下式中x表示數(shù)據(jù),y為噪聲。
2. InfoNCE[2]:在CPC中提出,使用分類(lèi)交叉熵?fù)p失在一組負(fù)樣本中識(shí)別正樣本。原論文給出的式子如下:
3. Triplet Loss:三元組損失,最初是由谷歌在FaceNet[3]中提出,主要用于識(shí)別在不同角度和姿勢(shì)下的人臉。下式中加號(hào)在右下角表示max(x,0)。
4. N-pair Loss[4]:Multi-Class N-pair loss,是將Triplet Loss泛化到與多個(gè)負(fù)樣本進(jìn)行對(duì)比。
衡量標(biāo)準(zhǔn)
衡量指標(biāo)由(Wang & Isola, 2020)[5]提出,文中說(shuō)明了對(duì)比學(xué)習(xí)算法具有兩個(gè)關(guān)鍵屬性alignment和uniformity,很多有效的對(duì)比學(xué)習(xí)算法正是較好地滿足了這兩種性質(zhì)。
alignment:衡量正例樣本間的近似程度
uniformity:衡量特征向量在超球體上的分布的均勻性
文章同時(shí)給出了衡量?jī)煞N性質(zhì)的評(píng)價(jià)指標(biāo),并同時(shí)指出優(yōu)化這兩個(gè)指標(biāo)會(huì)在下游任務(wù)上表現(xiàn)更好。
關(guān)鍵技術(shù)
1. 正負(fù)樣本的構(gòu)造
數(shù)據(jù)增強(qiáng):給定訓(xùn)練數(shù)據(jù),需要進(jìn)行數(shù)據(jù)增強(qiáng)來(lái)得到更多正樣本。正確有效的數(shù)據(jù)增強(qiáng)技術(shù)對(duì)于學(xué)習(xí)好的表征至關(guān)重要。比如SimCLR[6]的實(shí)驗(yàn)表明,圖片的隨機(jī)裁剪和顏色失真是最有效的兩種方式。而對(duì)于句子來(lái)說(shuō),刪除或替換可能會(huì)導(dǎo)致語(yǔ)義的改變。
負(fù)樣本構(gòu)造:一般對(duì)比學(xué)習(xí)中使用in-batch negatives,將一個(gè)batch內(nèi)的不相關(guān)數(shù)據(jù)看作負(fù)樣本。
多個(gè)模態(tài):正樣本對(duì)可以是兩種模態(tài)的數(shù)據(jù),比如圖片和圖片對(duì)應(yīng)描述。
2. 大的batch size
在訓(xùn)練期間使用大的batch size是許多對(duì)比學(xué)習(xí)方法成功的一個(gè)關(guān)鍵因素。當(dāng)batch size足夠大時(shí),能夠提供大量的負(fù)樣本,使得模型學(xué)習(xí)更好表征來(lái)區(qū)別不同樣本。
對(duì)比學(xué)習(xí)在NLP領(lǐng)域的應(yīng)用
A Simple but Tough-to-Beat Data Augmentation Approach for Natural Language Understanding and Generation
受多視圖學(xué)習(xí)的啟發(fā),這篇文章主要提出了一種Cutoff的數(shù)據(jù)增強(qiáng)方法,包含以下三種策略:
Token cutoff:刪除選中的token信息。為了防止信息泄露,三種類(lèi)型的編碼都被改為0。
Feature cutoff:刪除特征,將整列置為0。。
Span cutoff:刪除連續(xù)的文本塊。
作者將Cutoff應(yīng)用到自然語(yǔ)言理解和機(jī)器翻譯任務(wù)上去,實(shí)驗(yàn)結(jié)果表明這種簡(jiǎn)單的數(shù)據(jù)增強(qiáng)方式得到了與基線相當(dāng)或更好的結(jié)果。目前,Cutoff也作為一種常用的數(shù)據(jù)增強(qiáng)方法應(yīng)用到不同的對(duì)比學(xué)習(xí)模型中去。
CERT:Contrastive Self-supervised Learning for Language Understanding
CERT主要流程圖如下??梢钥闯觯陬A(yù)訓(xùn)練Bert的基礎(chǔ)上,CERT增加了CSSL預(yù)訓(xùn)練任務(wù)來(lái)得到更好的表征。
本文首先通過(guò)back-translation方式進(jìn)行數(shù)據(jù)增強(qiáng),使用不同語(yǔ)言的翻譯模型來(lái)創(chuàng)建不同的正樣本。
CSSL Pretraining:使用類(lèi)似MoCo[7]的對(duì)比學(xué)習(xí)框架,采用一個(gè)隊(duì)列去存儲(chǔ)數(shù)據(jù)增強(qiáng)后的keys,并且使用一種動(dòng)量更新的方法對(duì)該隊(duì)列進(jìn)行更新。給定句子q,設(shè)隊(duì)列中存有與其互為正樣本的k+,故對(duì)比損失定義如下:
作者測(cè)試了CERT在GLUE 數(shù)據(jù)集的上的性能。在11個(gè)任務(wù)中,CERT在7個(gè)任務(wù)上優(yōu)于BERT,2個(gè)任務(wù)上效果相當(dāng),整體性能優(yōu)于BERT。這進(jìn)一步證明了對(duì)比自監(jiān)督學(xué)習(xí)是一個(gè)學(xué)習(xí)更好的語(yǔ)言表征的方法。
SimCSE: Simple Contrastive Learning of Sentence Embeddings(EMNLP2021)
SimCSE有兩個(gè)變體:Unsupervised SimCSE和Supervised SimCSE,主要不同在于對(duì)比學(xué)習(xí)的正負(fù)例的構(gòu)造。
Unsupervised SimCSE:
正樣本:一個(gè)句子通過(guò)編碼器進(jìn)行兩次編碼,兩次使用不同的dropout 掩碼,
Supervised SimCSE:
使用NLI(Natural Language Inference)數(shù)據(jù)集,利用其標(biāo)注的句子之間的關(guān)系來(lái)構(gòu)造對(duì)比學(xué)習(xí)的正負(fù)樣本。如上圖所示,給定一個(gè)前提
本文作者在多個(gè)數(shù)據(jù)集上評(píng)估了SimCSE的性能,發(fā)現(xiàn)在STS(語(yǔ)義文本相似性)系列任務(wù)上,SimCSE在無(wú)監(jiān)督和有監(jiān)督的條件下均大幅超越了之前的SOTA模型。
上面提到了衡量對(duì)比學(xué)習(xí)質(zhì)量的指標(biāo):alignment和uniformity,作者將其進(jìn)行了可視化,可以發(fā)現(xiàn)所有模型的uniformity都有所改進(jìn),表明預(yù)訓(xùn)練BERT的語(yǔ)義向量分布的奇異性被逐步減弱。
ESimCSE: Enhanced Sample Building Method for Contrastive Learning of Unsupervised Sentence Embedding
ESimCSE是對(duì)上述SimCSE構(gòu)建正負(fù)樣本方法的改進(jìn),主要出發(fā)點(diǎn)如下:
句子的長(zhǎng)度信息通常會(huì)被編碼,因此無(wú)監(jiān)督的SimCSE中的每個(gè)正對(duì)長(zhǎng)度是相同的。故用這些正對(duì)訓(xùn)練的無(wú)監(jiān)督SimCSE 往往會(huì)認(rèn)為長(zhǎng)度相同或相似的句子在語(yǔ)義上更相似。
Momentum Contrast(動(dòng)量對(duì)比)最早是在MoCo提出,是一種能夠有效的擴(kuò)展負(fù)例對(duì)并同時(shí)緩解內(nèi)存限制的一種方法。ESimCSE借鑒了這一思想來(lái)擴(kuò)展負(fù)例。
正例:作者先探究了句子對(duì)的長(zhǎng)度差對(duì)SimCSE的影響,當(dāng)長(zhǎng)度差大于3時(shí)無(wú)監(jiān)督SimCSE模型的效果大幅度降低。為了降低句子長(zhǎng)度差異的影響,作者嘗試了隨機(jī)插入、隨機(jī)刪除和詞重復(fù)三種方法構(gòu)建正例,發(fā)現(xiàn)前兩者導(dǎo)致語(yǔ)義相似度下降明顯,而詞重復(fù)可以保持較高的相似度,同時(shí)緩解了句子長(zhǎng)度帶來(lái)的問(wèn)題。故使用word repetition進(jìn)行正例構(gòu)造。
負(fù)例:① in-batch negatives ② 動(dòng)量更新隊(duì)列中的樣本
故損失函數(shù)如下:
實(shí)驗(yàn)表明,ESimCSE整體效果優(yōu)于無(wú)監(jiān)督的SimCSE,在語(yǔ)義文本相似性(STS)任務(wù)上效果優(yōu)于BERTbase版的SimCSE 2%。
對(duì)比學(xué)習(xí)在多模態(tài)中的應(yīng)用
Scaling Up Visual and Vision-Language Representation Learning With Noisy Text Supervision (ICML 2021)
本文提出ALIGN模型,作者利用了超過(guò)10億的圖像文本對(duì)的噪聲數(shù)據(jù)集,沒(méi)有進(jìn)行細(xì)致的數(shù)據(jù)清洗或處理。ALIGN使用一個(gè)簡(jiǎn)單的雙編碼器結(jié)構(gòu),基于對(duì)比學(xué)習(xí)損失來(lái)對(duì)齊圖像和文本對(duì)的視覺(jué)和語(yǔ)言表示 。作者證明了,數(shù)據(jù)規(guī)模的巨大提升可以彌補(bǔ)數(shù)據(jù)內(nèi)部存在的噪聲,因此即使使用簡(jiǎn)單的對(duì)比學(xué)習(xí)方式,模型也能達(dá)到SOTA的特征表示。
在預(yù)訓(xùn)練中,將匹配的圖像-文本對(duì)視為正樣本,并將當(dāng)前訓(xùn)練batch中的其他隨機(jī)圖像-文本對(duì)視為負(fù)樣本。損失函數(shù)如下:
text-to-imageloss
ALIGN模型得到的對(duì)齊的圖像和文本表示在跨模態(tài)匹配/檢索任務(wù)中實(shí)現(xiàn)了SOTA效果。同時(shí)ALIGN模型也適用于zero-shot圖像分類(lèi)、圖像分類(lèi)等任務(wù)。例如,ALIGN在ImageNet中達(dá)到了88.64%的Top-1準(zhǔn)確率 。
Align before Fuse: Vision and Language Representation Learning with Momentum Distillation (NeurIPS 2021)
作者提出了 ALign BEfore Fuse(ALBEF) ,首先用一個(gè)圖像編碼器和一個(gè)文本編碼器獨(dú)立地對(duì)圖像和文本進(jìn)行編碼。然后利用多模態(tài)編碼器,通過(guò)跨模態(tài)注意,將圖像特征與文本特征進(jìn)行融合。并提出動(dòng)量蒸餾(Momentum Distillation)對(duì)抗數(shù)據(jù)中的噪聲,得到更好的表征。
ALBEF預(yù)訓(xùn)練任務(wù):圖像-文本對(duì)比學(xué)習(xí)(ITC) 、掩蔽語(yǔ)言建模(MLM) 和圖像-文本匹配(ITM) 。
ITC:Image-Text Contrastive Learning,目的是在融合前學(xué)習(xí)到更好的單模態(tài)表征。受MoCo的啟發(fā),作者維護(hù)了兩個(gè)隊(duì)列來(lái)存儲(chǔ)最近的M個(gè)圖像-文本表示,故對(duì)于每個(gè)圖像和文本,作者計(jì)算圖像到文本和文本到圖像的相似度如下:
為ground truth(one-hot 編碼),ITC定義為p和y之間的交叉熵:
MLM:Masked Language Modeling,利用給定圖像和上下文文本來(lái)預(yù)測(cè)mask詞
ITM:Image-Text Matching,把圖像和文本是否匹配看作二分類(lèi)問(wèn)題
故整個(gè)預(yù)訓(xùn)練的損失函數(shù)為上述三者的和。
由于用于預(yù)訓(xùn)練的數(shù)據(jù)集往往含有噪聲,作者提出同時(shí)從動(dòng)量模型生產(chǎn)的偽標(biāo)簽中去學(xué)習(xí)。將上述相似度計(jì)算公式中的
同時(shí),作者從互信息最大化的角度來(lái)證明了ALBEF實(shí)際上最大化了圖像-文本對(duì)的不同views之間的互信息的下界。
與現(xiàn)有的方法相比,ALBEF在多個(gè)下游視覺(jué)語(yǔ)言任務(wù)上達(dá)到了SOTA的效果。
VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts
本文提出VLMO模型,既可以作為融合編碼器去做分類(lèi)任務(wù),也可以作為雙編碼器去做檢索任務(wù)。VLMO引入一個(gè) Mixture-of-Modality-Experts(MoME)的Transformer,能夠根據(jù)輸入數(shù)據(jù)的類(lèi)型選擇不同的expert,如下圖所示。
VLMO的預(yù)訓(xùn)練任務(wù)與前面類(lèi)似,通過(guò)圖像-文本對(duì)比學(xué)習(xí)、掩碼語(yǔ)言建模和圖像-文本對(duì)匹配進(jìn)行聯(lián)合預(yù)訓(xùn)練。
其中,Image-Text Contrast預(yù)訓(xùn)練任務(wù)具體為:給定一個(gè)batch的圖像文本對(duì),圖像文本對(duì)比學(xué)習(xí)的目標(biāo)是從n*n個(gè)可能的圖像文本對(duì)中預(yù)測(cè)匹配的對(duì),事實(shí)上在這一batch中有N個(gè)正樣本對(duì),之后使用交叉熵?fù)p失進(jìn)行訓(xùn)練。下式中,h為編碼,p為softmax歸一化后的相似性。
本文巧妙的地方在于采用了分階段的預(yù)訓(xùn)練方式,得到了更泛化的表示。
VLMO模型在VQA等多模態(tài)下游任務(wù)上進(jìn)行微調(diào),效果達(dá)到了SOTA。
審核編輯:gt
-
谷歌
+關(guān)注
關(guān)注
27文章
6219瀏覽量
107252 -
nlp
+關(guān)注
關(guān)注
1文章
490瀏覽量
22434
原文標(biāo)題:對(duì)比學(xué)習(xí)在NLP和多模態(tài)領(lǐng)域的應(yīng)用
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
電機(jī)系統(tǒng)節(jié)能關(guān)鍵技術(shù)及展望
淺談華為通信大模型的關(guān)鍵技術(shù)
SOA關(guān)鍵技術(shù)專(zhuān)利分析(一)

評(píng)論