怎么做空包網(wǎng)站軟件外包公司好不好
多模態(tài)綜述
- 前言
- 1. CLIP & ViLT
- 2. ALBEF
- 3. VLMO
- 4. BLIP
- 5. CoCa
- 6. BeiTv3
- 總結(jié)
- 參考鏈接
前言
本篇學(xué)習(xí)筆記雖然是多模態(tài)綜述,本質(zhì)上是對ViLT后多模態(tài)模型的總結(jié),時間線為2021年至2022年,在這兩年,多模態(tài)領(lǐng)域的模型也是卷的飛起,不斷刷新領(lǐng)域的SOTA。在模型結(jié)構(gòu)和數(shù)據(jù)上提出了很多高效有用的方法,如果你對多模態(tài)近兩年的發(fā)展感興趣,不妨看一看這一篇文章~
1. CLIP & ViLT
之所以將CLIP和ViLT放在一起,是因為在ViLT這篇論文中對這兩項工作進行了很好的總結(jié)。從(a)到(d)是文圖領(lǐng)域特征抽取模型的發(fā)展過程(到ViLT為止),其中(b)展示的就是CLIP的模型結(jié)構(gòu)。它是一個典型的雙塔模型,在訓(xùn)練時通過對比學(xué)習(xí),將相同的圖文對距離拉得很近,對于不同圖文對的距離盡量拉得更遠。抽取到的圖文特征只需要進行簡單的點乘就可以做很多多模態(tài)的任務(wù)。但是CLIP模態(tài)交互的部分過于簡單,因此很難做復(fù)雜的理解任務(wù)。為此(c)中的方法在模態(tài)融合部分加入了復(fù)雜的模型,極大提升了效果。
在ViLT之前,幾乎所有的工作都是目標(biāo)檢測的視覺抽取任務(wù),由于都是提前抽取好特征緩存下來,研究人員并沒有把過多的注意力放在計算復(fù)雜度和推理延遲上。顯然在面對未見的下游任務(wù)場景時,視覺特征抽取部分的延遲是巨大的。因此ViLT應(yīng)運而生,ViLT受到ViT的啟發(fā),ViT的工作證明了基于圖像塊的視覺特征和基于目標(biāo)區(qū)域的視覺特征沒有太大區(qū)別,也能很好拿來做目標(biāo)檢測任務(wù)。因此ViLT的作者將圖像處理成圖像塊,和文本以相同的embedding形式輸入到模態(tài)融合Transformer中,這大大降低了計算復(fù)雜度,并且對于下游任務(wù)來說,極大降低了推理延遲。
盡管如此,ViLT訓(xùn)練成本巨大,并且在性能上還是和(c)中的方法有一定的差距,可能的原因是在多模態(tài)中,視覺特征要遠遠大于文本特征,而ViLT中文本特征通過BERT的Tokenizer有很好的表征,但是視覺特征只是簡單的隨機初始化。
因此從結(jié)構(gòu)上,一個好的多模態(tài)模型應(yīng)該更接近于(c)的形式,視覺特征抽取模型要比文本特征抽取模型大,并且在模態(tài)融合上有更大的模型。對于訓(xùn)練目標(biāo),應(yīng)該采用ITC+ITM+MLM方法的結(jié)合,即圖文對比學(xué)習(xí),圖文匹配,完形填空,高效且性能出色。
2. ALBEF
ALBEF正是上面討論的理想的多模態(tài)模型。ALBEF這篇工作來自于NeurIPS2021,與VILT出發(fā)的動機不同,ViLT只是為了提高模型的推理速度,而ALBEF的目的是在模型融合之前,就把圖像和文本的特征align起來。具體來說,ALBEF有如下的貢獻:
- 采用圖文對比學(xué)習(xí)的方法提前將圖文特征進行融合。
- 提出動量蒸餾方法解決噪聲網(wǎng)絡(luò)數(shù)據(jù)的問題。
對于第二個改進中提到的噪聲網(wǎng)絡(luò)數(shù)據(jù),是指從網(wǎng)絡(luò)中爬取的圖文數(shù)據(jù),文字內(nèi)容大多都是關(guān)鍵詞,而不是真正描述圖像中的內(nèi)容,因此成為了noisy的圖文數(shù)據(jù),導(dǎo)致模型很難學(xué)習(xí)到圖文特征。
上圖是ALBEF的整體模型架構(gòu)。從簡化模型的角度分析,左邊是ViT,右邊是劈成兩半的BERT,前半部分輸出和ViT的輸出進行ITC的任務(wù),后半部分對圖文的特征進行融合。具體來說,圖像這邊打包成patch輸入到ViT中,得到768維度的序列,文本這邊轉(zhuǎn)換為文本token序列喂入到6層的文本編碼器中,輸出768維的特征序列。接著圖文token序列中的cls表征通過下采樣和標(biāo)準(zhǔn)化降維到256維的特征,然后進行ITC的正負(fù)樣本對比,讓圖像和文本的特征盡可能拉進,就完成了第一階段的學(xué)習(xí)。
第二階段,圖像特征和文本特征共同輸入到multimodal encoder中來實現(xiàn)模態(tài)的融合,通過ITM和MLM兩個任務(wù)進行學(xué)習(xí)。ITM即圖文匹配任務(wù),判斷當(dāng)前的圖片和文本是不是同一對,但是ITM任務(wù)過于簡單,因此作者利用ITC任務(wù)中計算的余弦相似度,將最相似的樣本作為負(fù)樣本,來加大模型訓(xùn)練的難度,從而更好學(xué)習(xí)到特征的信息。MLM任務(wù)對輸入的文本進行隨機掩碼,利用上下文和圖像特征來預(yù)測mask的文本。這里也可以看出,雖然ITM和MLM畫在一起,但是屬于不同的前向過程,因此訓(xùn)練時間更長。
接著我們再探討ALBEF另一個貢獻點——動量蒸餾。由于預(yù)訓(xùn)練的圖像對從互聯(lián)網(wǎng)上收集,因此質(zhì)量很差,圖文經(jīng)常不匹配。對于ITC學(xué)習(xí),即使是負(fù)樣本的文本也可能與圖像匹配,對于MLM來說,可能存在更好的單詞能夠描述圖像。但是ITC和MLM的one-hot標(biāo)簽仍然對這些結(jié)果進行懲罰,這會讓模型的學(xué)習(xí)變得困難。作者提出采用動量模型生成的偽標(biāo)簽來幫助模型學(xué)習(xí)。訓(xùn)練時,作者訓(xùn)練基模型使其預(yù)測結(jié)果與動量模型的預(yù)測結(jié)果相匹配。具體來說,這個過程相當(dāng)于為整個訓(xùn)練又額外添加了兩個損失,即針對偽標(biāo)簽的ITC和MLM損失。
上圖是偽標(biāo)簽和原始標(biāo)簽的對比,可以看到偽標(biāo)簽有時候更能有效捕獲圖像的相關(guān)信息。
預(yù)訓(xùn)練采用的數(shù)據(jù)集和ViLT一致,都是4million數(shù)據(jù)集。此外作者又額外加入了更多噪聲的CC12million數(shù)據(jù)集,將性能進一步提高。
實驗在五個不同任務(wù)的數(shù)據(jù)集上進行,首先是消融實驗的結(jié)果:
可以看到加入了ITC后,模型的性能有了大幅度的提升,表明融合之前的模態(tài)對齊是很有必要的。并且更難的ITM、額外的兩個偽標(biāo)簽loss以及更大的訓(xùn)練數(shù)據(jù)集都對模型的性能有所提升。
上表是在Flickr30K數(shù)據(jù)集上零樣本的結(jié)果,ALBEF僅在4M數(shù)據(jù)集上預(yù)訓(xùn)練就超過了CLIP和ALIGN,二者都是在百倍大的規(guī)模數(shù)據(jù)集上進行預(yù)訓(xùn)練。微調(diào)結(jié)果也是同樣的趨勢:
此外,在多個下游任務(wù)上與其他SOTA模型相比也是大幅領(lǐng)先。
文中作者還從互信息的角度對ALBEF進行了理論分析,表明不同的訓(xùn)練任務(wù)可以解釋為生成圖像文本對視圖的不同方式,即數(shù)據(jù)增強。總而言之,ALBEF無論在訓(xùn)練速度,還是在推理速度,亦或是通用性和性能表現(xiàn)上都非常亮眼,屬于多模態(tài)領(lǐng)域里程碑式的工作。
3. VLMO
VLMO這篇工作來自于微軟團隊,中稿于NeurIPS2022,它主要提出兩個貢獻點:
- 模型結(jié)構(gòu)上的改進,Mixture-of-Modality-Experts。
- 訓(xùn)練方式的改進,采用分階段的模型預(yù)訓(xùn)練。
這些貢獻點的動機也很明確。對于第一個貢獻點,當(dāng)前的雙塔模型架構(gòu)應(yīng)用廣泛,如CLIP和ALIGN,它們采用雙編碼器架構(gòu),分別對文本和圖像進行編碼,模態(tài)交互通過圖像和文本特征的余弦相似度實現(xiàn)的。這種方法雖然計算高效,可以提前存儲特征信息,但是交互簡單難以處理復(fù)雜的任務(wù)。另一種模型架構(gòu)是跨模態(tài)注意力融合編碼器,它可以在復(fù)雜的VL分類任務(wù)上實現(xiàn)卓越的性能,但是需要計算所有可能的圖文對,以計算檢索任務(wù)的相似度,導(dǎo)致推理時間過慢。
因此本文的VLMO相當(dāng)于這兩種模型的融合,既可以做雙編碼器也可以做融合編碼器,它通過引入Multiway Transformer實現(xiàn),該模型應(yīng)用模態(tài)expert來取代標(biāo)準(zhǔn)Transformer中的前饋網(wǎng)絡(luò),對于不同模態(tài)的數(shù)據(jù),切換不同的expert來捕獲特定于模態(tài)的信息,并使用跨模態(tài)共享自注意力來對齊視覺和語言信息。
對于第二個貢獻點,由于多模態(tài)領(lǐng)域常用的數(shù)據(jù)集僅有4million大小,遠遠不能滿足大規(guī)模預(yù)訓(xùn)練的要求,但是在單獨的文本和圖像模態(tài)數(shù)據(jù)集卻十分豐富。因此作者提出一種分階段預(yù)訓(xùn)練策略,將vision expert在視覺領(lǐng)域訓(xùn)練好,language expert在文本領(lǐng)域訓(xùn)練好,這樣初始化好的參數(shù)再在多模態(tài)數(shù)據(jù)集上訓(xùn)練,就會在性能上有大幅的提升。
模型結(jié)構(gòu)從形式上和ALBEF一致,單個Transformer塊采用的是Multiway Transformer塊,相對于Transformer,它在FFN上進行了改動,變成了V-FFN,L-FFN和VL-FFN,根據(jù)訓(xùn)練數(shù)據(jù)模態(tài)的不同調(diào)整更新不同的FFN。訓(xùn)練任務(wù)目標(biāo)也和ALBEF一致,包括ITC,ITM和MLM,其中ITM也使用了Hard Negative Mining,即將一個batch中最相似的樣本作為負(fù)樣本。ITC的過程和CLIP一致,對V-FFN和L-FFN進行更新。ITM的過程是先單模態(tài)更新后模態(tài)融合,前L-F層分別對V-FFN和L-FFN進行更新,后F層對VL-FFN進行更新,執(zhí)行二分類任務(wù)。MLM模型和ITM一致,只是拿最后一層對mask的token進行預(yù)測。
接下來就是本文的第二個貢獻點具體實施過程,如上圖所示。首先學(xué)習(xí)圖像表征,更新V-FFN和多頭自注意力機制的參數(shù),接著凍住多頭自注意力和視覺參數(shù),對語言文本進行訓(xùn)練,更新L-FFN,最后所有參數(shù)都打開,在多模態(tài)數(shù)據(jù)下進行訓(xùn)練。這里有一個有趣的現(xiàn)象,作者是先在圖像上進行訓(xùn)練,再在文本上進行訓(xùn)練,而不是反過來,因為實驗發(fā)現(xiàn)反過來時效果會變差。
實驗部分如上表所示,可以看到無論是base模型,還是large模型,亦或是Large++模型,VLMO的性能都要好于其他模型,并且隨著模型增大,訓(xùn)練數(shù)據(jù)增多,模型的性能也進一步提升。
總結(jié)一下,本文提出了統(tǒng)一的視覺語言預(yù)訓(xùn)練模型VLMO,它既可以作為雙編碼器用于高效的視覺和語言的檢索,又可以作為融合編碼器為跨模態(tài)交互建模。此外,作者還表明利用大規(guī)模圖像和純文本語料的分階段預(yù)訓(xùn)練極大改善了視覺語言預(yù)訓(xùn)練。實驗部分表明,VLMO在各種視覺語言分類和檢索基準(zhǔn)上都要優(yōu)于先前的先進模型。
未來作者將從以下幾個方面對VLMO進行改進:
- 進一步擴大VLMO預(yù)訓(xùn)練模型的規(guī)模。
- VLMO微調(diào)執(zhí)行視覺語言生成任務(wù)是有趣的方向,比如根據(jù)圖像生成字幕。
- 視覺-語言預(yù)訓(xùn)練在多大程度上可以幫助彼此,特別是Multiway Transformer自然融合了圖文表征的時候。
- 可以嘗試融入更多模態(tài)的信息(speech,video,structured knowledge),支持通用的多模態(tài)預(yù)訓(xùn)練。
4. BLIP
隨著多模態(tài)領(lǐng)域的發(fā)展,近兩年的工作采用了Transformer Encoder和Decoder的方法,典型的工作就有來自ICML2022的BLIP。BLIP的動機和上篇工作VLMO有異曲同工之妙。首先都是從模型角度出發(fā),現(xiàn)有的方法大多數(shù)都是encoder架構(gòu)的模型,可以在理解任務(wù)上有出色的表現(xiàn),但是在生成任務(wù)上表現(xiàn)不佳。此外還有一些encoder-decoder架構(gòu)的模型,它們可以做生成任務(wù),但是又在圖文檢索等理解任務(wù)上表現(xiàn)不佳。第二個動機也是和數(shù)據(jù)有關(guān)。當(dāng)前大多數(shù)模型都是在充滿噪聲的大規(guī)模數(shù)據(jù)集上預(yù)訓(xùn)練,雖然通過擴大數(shù)據(jù)集獲得了性能上的提升,但是嘈雜的網(wǎng)絡(luò)文本對視覺的學(xué)習(xí)并不是最優(yōu)的。
因此,本文提出了BLIP模型,其主要貢獻點如下:
- Multimodal mixture of Encoder-Decoder(MED):一個用于有效多任務(wù)預(yù)訓(xùn)練和靈活遷移學(xué)習(xí)的新模型架構(gòu)。聯(lián)合了三個聯(lián)合預(yù)訓(xùn)練目標(biāo)ITC、ITM和LM。
- Captioning and Filtering(CapFilt):一種新的數(shù)據(jù)集增強方法,用于從噪聲文本對中學(xué)習(xí)。Captioner模塊用于為圖像生成描述,filter模塊從原始網(wǎng)絡(luò)文本和合成文本中刪除嘈雜的標(biāo)題。
上圖是MED的整體架構(gòu)。之前的工作如VLMO,它的MOME模型就是受到ALBEF的啟發(fā)構(gòu)建出來的,這里的MED模型同時受到ALBEF和VLMO啟發(fā),其Encoder就是ALBEF,其共享參數(shù)的形式就是參考了VLMO。具體來說,MED由四個模塊組成,第一個模塊是圖像的編碼器,將圖像打包成patch抽取圖像的特征。后面三個模塊本質(zhì)上是一個模型,只不過執(zhí)行不同的任務(wù),第一個模塊對文本進行單獨編碼,和圖像特征執(zhí)行ITC任務(wù),可以看成是CLIP模型。第二個模塊將文本和圖像的編碼進行混合,執(zhí)行ITM任務(wù),學(xué)習(xí)模態(tài)融合的知識。第三個模塊是解碼器模塊,在之前編碼器基礎(chǔ)上去除了Bi Self-Att,加入了Causal Self-Att,執(zhí)行LM任務(wù),讓模型擁有生成的能力。由于這篇工作的作者都是ALBEF的原班人馬,因此ALBEF中有用的trick也被搬到BLIP中,比如動量編碼器,難負(fù)樣本等。
接著就是BLIP第二個貢獻CapFilt,如上圖所示。左邊部分是在原始的噪聲數(shù)據(jù)集上訓(xùn)練并執(zhí)行下游任務(wù)的模塊,顯然這些數(shù)據(jù)并不是最優(yōu)的選擇。因此作者提出了Captioning和Filtering,合成CapFilt,前者用于給定網(wǎng)絡(luò)圖像生成圖像的caption,后者作為過濾器過濾噪聲文本。二者都是通過相同的MED模型初始化,并在COCO數(shù)據(jù)集上微調(diào),只不過前者基于ITC和ITM微調(diào),后者基于LM微調(diào)。微調(diào)后的模型作用于噪聲數(shù)據(jù)集,對數(shù)據(jù)集進行清洗,生成更可靠的caption。
為了進一步解釋上述過程,上圖展示了生成過濾的結(jié)果。第一張圖生成的caption明顯可以更好描述圖像,因此選擇生成的caption作為圖像的文本,第三張圖原始的文本更契合圖像內(nèi)容,因此保留原始的文本而丟棄生成的caption。
消融實驗部分很好說明了大模型,大的更干凈的數(shù)據(jù)集可以對模型性能有著更好的提升。
和別的模型相比,BLIP也是極具優(yōu)越性,在COCO和Flickr30K數(shù)據(jù)集上都達到了SOTA。
5. CoCa
之前的工作證明了decoder模型的優(yōu)越性,但是由于計算不同的loss需要多次前向過程,因此計算和時間成本過高。CoCa進一步簡化了之前工作的設(shè)計,文本端只使用decoder模型,只需要一次的前向過程就可以計算ITC Loss和Captioning Loss。其結(jié)構(gòu)和偽代碼如下圖所示:
可以看到整體的結(jié)構(gòu)和ALBEF幾乎一樣,只不過在文本端全部換成了Decoder,圖像特征也通過attention pooling用于模態(tài)的融合。整體的方法相當(dāng)簡潔,由于是decoder架構(gòu),所以作者在幾十億規(guī)模的數(shù)據(jù)集、21億參數(shù)的模型上進行預(yù)訓(xùn)練,scale的能力是相當(dāng)出色。
文中的多邊形圖也極大展示了CoCa的優(yōu)勢。CoCa在各個數(shù)據(jù)集以及零樣本上都展現(xiàn)出強大的能力,刷新了各個榜單的SOTA。
6. BeiTv3
隨著多模態(tài)領(lǐng)域的工作越來越豐富,研究人員開始追求真正的大一統(tǒng)模型。BeiTv3的目標(biāo)非常明確,它就是為了做更大一統(tǒng)的多模態(tài)模型,無論是模型大小還是目標(biāo)函數(shù)甚至是數(shù)據(jù)集的規(guī)模,都要求統(tǒng)一。這篇工作上來就賣弄它的結(jié)果,如下圖所示:
性能可謂是全方位包圍之前的模型。BEiTv3得出了兩點結(jié)論:
- 目標(biāo)函數(shù)不是越多越好,關(guān)鍵還是在于loss之間能否互相彌補。
- 數(shù)據(jù)不是越大越好,數(shù)據(jù)的質(zhì)量更為關(guān)鍵。
為了達到大一統(tǒng)的目的,本篇工作本質(zhì)上是融合了之前所有模型的優(yōu)勢,主要從以下三個方面展開:
- Transformer提供統(tǒng)一編碼,實現(xiàn)模態(tài)模型架構(gòu)的統(tǒng)一。
- mask-then-predict的訓(xùn)練目標(biāo),減少過多訓(xùn)練目標(biāo)帶來的效率低下和冗余。
- 擴大模型規(guī)模和預(yù)訓(xùn)練數(shù)據(jù)規(guī)模。
模型的具體結(jié)構(gòu)如上圖所示,其實就是VLMO的變體,并且預(yù)訓(xùn)練任務(wù)只做Masked Data Modeling。
在執(zhí)行下游任務(wù)時,模型也能實現(xiàn)很好的遷移,如上圖所示,通過調(diào)用模型中不同的模塊來執(zhí)行下游任務(wù),而這些模塊都在預(yù)訓(xùn)練階段得到充分的訓(xùn)練,只需要簡單微調(diào)甚至零樣本就能得到很好的效果。
總結(jié)
上述的一系列工作可以總結(jié)為上面這張圖。本文關(guān)于多模態(tài)的工作其實是從ViT出發(fā)的,之前多模態(tài)領(lǐng)域?qū)τ趫D像特征的抽取都需要借助CNN架構(gòu)的模型和目標(biāo)檢測任務(wù),效率低,性能差。隨著ViT提出后,多模態(tài)領(lǐng)域終于實現(xiàn)文圖框架上的統(tǒng)一,即ViLT工作的誕生。但是此時的工作還是在探索圖像特征抽取模型、文本特征抽取模型和特征融合模型之間的權(quán)重,因此性能甚至還不如之前的模型。ALBEF的工作奠定了模型的權(quán)重關(guān)系,結(jié)合了CLIP的方法,在融合前先進行一次文圖特征的對齊,整個訓(xùn)練過程設(shè)計了三個訓(xùn)練目標(biāo),在性能上實現(xiàn)了顯著的提升。但是ALBEF針對不同的模態(tài)總共設(shè)計了三個模型,既然都是統(tǒng)一的Transformer架構(gòu)的模型,為什么不能只使用一個模型呢?為此VLMO采用了Multiway Transformer,讓所有的模態(tài)特征學(xué)習(xí)都在一個模型中進行,通過凍結(jié)FFN和共享自注意力機制實現(xiàn),實驗結(jié)果上也是優(yōu)于ALBEF。但是之前這些工作都只能做多模態(tài)理解任務(wù),BLIP開創(chuàng)了生成任務(wù)的先河,加入了decoder架構(gòu),執(zhí)行LM任務(wù),并且利用對圖像生成caption的優(yōu)勢對數(shù)據(jù)進行質(zhì)量上的提升,從而進一步提高模型的性能。CoCa進一步簡化先前的工作,文本端只采用decoder架構(gòu)模型,只需要一次的前向過程就可以計算ITC Loss和Captioning Loss。最后,BeiTv3總結(jié)前面所有的工作,目標(biāo)是成為大一統(tǒng)的多模態(tài)模型,在模型和數(shù)據(jù)規(guī)模上都進一步scale,以搭積木的方式處理各種下游任務(wù),結(jié)果全方位包圍了多模態(tài)領(lǐng)域和多個單模態(tài)領(lǐng)域的SOTA。
上面主要是從模型結(jié)構(gòu)角度來分析多模態(tài)領(lǐng)域方法的改進,其實數(shù)據(jù)上也有很多改進。因為多模態(tài)領(lǐng)域數(shù)據(jù)集和單模態(tài)比起來明顯不足,于是很多工作都采用從網(wǎng)絡(luò)中爬取的文本對進行訓(xùn)練,但是網(wǎng)絡(luò)數(shù)據(jù)質(zhì)量不佳。為此ALBEF提出動量蒸餾方法解決噪聲網(wǎng)絡(luò)數(shù)據(jù)的問題,VLMO利用單模態(tài)數(shù)據(jù)集進行預(yù)訓(xùn)練,而BLIP出色的生成能力讓其可以為圖像生成更準(zhǔn)確的文本caption,從而進一步提升模型的性能。
實際上,雖然BeiTv3這篇工作的目標(biāo)是成為大一統(tǒng)模型,并且能夠做各種各樣的下游任務(wù),但都是需要通過模型的組合拼接實現(xiàn)的,從本質(zhì)上并沒有實現(xiàn)大一統(tǒng),真正的大一統(tǒng)模型是不需要根據(jù)下游任務(wù)調(diào)整模型結(jié)構(gòu)的,如現(xiàn)在的GPT-4等大模型,而這也正是當(dāng)前多模態(tài)領(lǐng)域發(fā)展的方向。
參考鏈接
https://arxiv.org/pdf/2104.13921.pdf
http://proceedings.mlr.press/v139/radford21a/radford21a.pdf
https://arxiv.org/pdf/2107.07651.pdf
https://proceedings.neurips.cc/paper_files/paper/2022/file/d46662aa53e78a62afd980a29e0c37ed-Paper-Conference.pdf
https://proceedings.mlr.press/v162/li22n/li22n.pdf
https://arxiv.org/pdf/2205.01917.pdf
https://arxiv.org/pdf/2208.10442.pdf