成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文看完多模態:從視覺表征到多模態大模型

人工智能 新聞
本文梳理了2019年之后視覺表征和多模態表征的一些變化,主要涉及視覺表征和視覺預訓練、多模態表征對齊(或融合)和多模態預訓練、多模態大模型技術的相關工作。

本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。

轉眼2024,距離上次知乎寫作就快過去一年,上一次的計劃主題還是“開源大模型”(參見《ChatGPT的朋友們:大語言模型經典論文一次讀到吐》),無奈這個方向變化太快,而且也不乏優質總結文章,也就一直沒有動筆。正好最近做圖文多模態大模型相關的工作,在查閱資料的過程中沒遇到比較完整的脈絡梳理文章,往往需要綜合參考;反觀這個方向的綜述型論文又過于追求“完美”,個人感覺詳略把控不盡人意。

因此,借此機會結合自己的學習過程,對多模態和多模態大模型做一個系統的梳理,嘗試以一個親歷者的視角談談這部分技術的發展思路,希望能給讀者一些不一樣的收獲,如有偏頗,歡迎指正。

為了表述簡單,我們不嚴謹的將“圖文多模態”表述為“多模態”(標題有些夸張),如果后面有機會可以討論更多模態的相關工作。此外,本文假設讀者已經對視覺表征和多模態融合有一定入門背景,希望通過一篇文章回顧將過去幾年的經典工作。

一、總覽

由于是講“圖文多模態”,還是要從“圖”和“文”的表征方法講起,然后講清楚圖文表征的融合方法。對于文本模態的表征發展,我們在《閑話NLP:文本表征的半世今生》一文中有過一輪的梳理,因此本文只要講兩件事情:

  • 視覺表征:分為兩個部分問題,一是如何合理建模視覺輸入特征,二是如何通過預訓練手段進行充分學習表征,這兩點是基于視覺完成具體算法任務的基礎;
  • 視覺與自然語言的對齊(Visul Language Alignment)或融合:目的是將視覺和自然語言建模到同一表征空間并進行融合,實現自然語言和視覺語義的互通,這點同樣離不開預訓練這一過程。模態對齊是處理多模態問題的基礎,也是現在流行的多模態大模型技術前提。

對于視覺表征,從發展上可以分為卷積神經網絡(CNN)和Vision Transformer(VIT)兩大脈絡,二者分別都有各自的表征、預訓練以及多模態對齊的發展過程。而對于VIT線,另有多模態大模型如火如荼的發展,可謂日新月異。

因此,本文的行文思路也就非常簡單,如圖1所示。第一部分介紹以CNN為基礎的視覺表征和預訓練手段,以及在此基礎上的多模態對齊的方法。由于預訓練已經成為AI技術取得效果的標配,多模態對齊部分的內容也是以多模態預訓練技術承載;第二部分從VIT技術出發,分別介紹VIT視覺表征的預訓練探索工作、多模態對齊的預訓練工作以及近兩年火熱的研究方向多模態大模型。

圖片

由于多年間的優秀工作太多,不勝枚舉,本文僅挑選筆者從業過程中印象較深,且有標志性特點的工作為代表。優秀的工作不止于本文,不過還是期望通過有限的工作,將近幾年的圖文多模態相關技術串連起來,方便讀者按圖索驥進行更深入的學習。下面開始正式的內容。

二、CNN:視覺理解的一代先驅

2.1 卷積視覺表征模型和預訓練

對視覺信息的表征,簡單來說是將圖像信息轉化成深度學習輸入所需的特征向量或向量序列,如圖2。深度學習時代,卷積神經網絡(CNN)憑借其局部區域連接、權重共享以及位移不變性等特點,天然的符合了圖像信息的建模歸納假設,成為早期最適合視覺表征的模型。具體的,卷積神經網絡應用視覺表征的模型很多,我們簡單從LeNet-5、AlexNet、VGG和ResNet等模型的演進一窺其在關鍵要素。

圖片

2.1.1 卷積視覺表征:從LeNet到ResNet

LeNet-5早期在數字識別中取得了成功的應用,網絡結構是 [CONV-POOL-CONV-POOL-FC-FC]。卷積層使用 55的卷積核,步長為1;池化層使用 22 的區域,步長為2;后面是全連接層;AlexNet相比LeNet-5做了更多層數的堆疊,網絡參數進行了相應的調整,并在ImageNet大賽2012奪得冠軍;相應VGG網絡使用更小的卷積核,同時相比AlexNet進一步提升了網絡層數。

隨著研究的深入,神經網絡的層數也出現了爆發式地增長,由此也不可避免的帶來梯度消失和梯度爆炸的問題,使得模型訓練的困難度也隨之提升。一種解決方法是將神經網絡某些層跳過下一層神經元的連接,隔層相連,弱化每層之間的強聯系。這種神經網絡被稱為Residual Network(ResNet)殘差網絡,網絡結構的原理是將卷積層的堆疊,替換成跨層連接的模塊,如圖3所示。

圖片

有了合理的建模模型,可以使用具體任務的訓練數據學習視覺表征,進而完成不同的任務(如分類、分割、目標檢測等)。而更加有效的方式通常是先用“海量”的數據讓模型學到通用的視覺表征,再進行下游具體任務數據的學習,也就是預訓練+微調的范式。

2.1.2 卷積視覺預訓練

在CNN視覺表征體系下,早期的視覺預訓練有另一個叫法是遷移學習,在BERT的預訓練+微調范式流行之前就已經被廣泛應用。遷移學習中,傳統CNN視覺模型在做具體任務訓練之前,先在大量的圖像任務數據集上進行預先訓練(如ImageNet分類任務數據集等)。然后使用預訓練的CNN權重初始化Backbone,并增加一些任務定制網絡模塊,完成在下游任務上的微調(如Backbone+全連接層做分類任務)。

卷積神經網絡視覺表征和預訓練的優化升級工作還有很多,介紹相關內容的資料也很多,篇幅原因我們對此不進行詳細展開和概述,而是把更多的筆墨放在近幾年更熱門的研究方向上。

2.2 早期多模態融合與預訓練

接著是CNN體系下的多模態融合和預訓練,視覺和自然語言的跨模態對齊和融合有兩種表現形式:一種是雙塔結構,多模態分別表征,通過對比學習機制實現視覺和文本在同一空間中的距離度量;另一種是視覺表征和文本表征通過交互型網絡結構融合成多模態表征,進而完成下游任務應用。由于前者可以看作后者的特例,我們用后一種表現形式為例,將二者統一,進而講述以CNN為基礎的早期多模態融合與預訓練技術。

如圖4,展示了上述的多模態融合框架,包括視覺特征提取模塊、文本特征提取模塊和模態融合模塊。文本模塊是常見的Token Embedding方式;視覺表征方面,由于CNN已經驗證了有效性,因此大多數的工作在都考慮使用CNN做視覺特征抽取,得到高級語義特征,然后將高級語義表征作為輸入,和文本Token Embedding序列一起輸入到下游融合模塊。不同工作的差異主要集中在視覺特征提取CNN Backbone以及Modality Interaction兩個模塊。

圖片

我們以2019年作為粗略分界點,在此之后BERT的訓練范式開始流行,多模態方向上的研究熱點則是借鑒BERT的成功,使用Transformer網絡(特指Transformer Encoder)作為Modality Interaction模塊把視覺和自然語言進行特征融合,并通過大規模預訓練來學習得到多模態表征;而在此之前的方案通常是簡單的多層全連接網絡實現,我們不多贅述。

順著這個思路,確定了使用Transformer作為模型融合模塊這個大方向后,第二個問題是如何對視覺特征進行有效編碼,得到和文本一樣的Token Embedding序列作為模型輸入?這一問題的解法在CNN為主的時期有兩種主要方式,如圖5:

  • Region Feature Base:先通過基于CNN的目標檢測模型(Fast R-CNN等),識別圖像中的關鍵物體區域集合(ROI,Region Of Interest),并提取區域的表征向量,作為Transformer模型的視覺輸入Embedding序列。這么做的動機是,每個ROI區域,都有明確的語義表達(人、建筑、物品等),方便后續和文本特征的對齊。比較有代表性的工作如LXMERT、VL-BERT和UNITER等;
  • Grid Feature Base:區域特征方法雖然看上去合理,但是依賴前置的目標檢測模型,整體鏈路較重。因此也有工作探索,不經過區域檢測,直接使用CNN網絡提取深層的像素特征作為交互模型輸入,同樣取得了一些成果。比較有代表性的工作如Pixel-Bert等。

圖片

下面我們分別介紹這一時期的經典工作,了解其中基本思路和方法。

2.2.1 LXMERT

LXMERT是早期進行多模態特征融合的工作之一,如圖6,模型采用經典的兩路深層表征輸入結構。在視覺側關注單圖,圖像經過目標檢測模型得到區域塊的特征序列,又經過Transformer做進一步編碼區域塊之間的關系(Object-Relationship Encoder);文本側通過BERT結構得到文本的特征序列(Language Encoder),最后兩者使用深層Transformer結構做交叉Attention,最后進行多任務的預訓練。LXMERT的預訓練任務相比BERT較多,包括Masked圖像特征的預測、圖像Label的預測(貓、狗等)、VQA、圖文是否匹配以及純文本側的Masked語言模型(MLM)。

圖片

預訓練模型經過特定任務微調后,LXMERT在兩個視覺問答數據集(VQA和GQA)上達到了當時最先進的結果。作者還展示了LXMERT可以很好地泛化到一個具有挑戰性的視覺推理任務(NLVR2),并將之前的最佳結果提高了22%(從54%到76%),是一個比較優秀的工作。

2.2.2 VL-BERT

另一個Region Feature Base的經典工作是VL-BERT。如圖7,與LXMERT不同的是,VL-BERT屬于單路輸入模式,視覺特征在經過目標檢測模型進行Region特征提取后,直接和文本Embedding一起拼接輸入到Transformer網絡中進行多模態的交叉Attention。

圖片

VL-BERT設計了兩個預訓練任務:帶視覺特征的掩碼語言模型學習(Masked Language Modeling with Visual Clues)、帶文本特征的視覺Region分類(Masked RoI Classification with Linguistic Clues)。經過預訓練和微調流程,模型可以適用于多種視覺和語言任務,并在視覺問答、圖像-文本檢索、視覺常識推理等任務上都取得了非常不錯的性能。VL-BERT印證了,多模態語義特征不需要各自的單獨深度編碼,直接做交互也可以取得有效結果。

2.2.3 UNITER

如圖8,UNITER使用和VL-BERT類似的架構,同樣的單路架構,同樣是目標檢測模型做視覺的語義特征抽取,并進一步使用更多的訓練數據、更多的預訓練任務,希望得到一個更加通用的圖文多模態表征模型。UNITER通過在四個圖像和文本數據集(COCO, Visual Genome, Conceptual Captions, and SBU Captions)上進行大規模的預訓練,可以支持多種視覺和語言任務的聯合多模態表征。同時設計了四種預訓練任務:遮蔽語言建模(MLM),遮蔽區域建模(MRM,有三種變體),圖像-文本匹配(ITM),和詞-區域對齊(WRA)。

圖片

相比于之前方案,UNITER提出了通過最優傳輸(OT,Optimal Transport)的方法來進行WRA,在預訓練過程中顯式地加強詞和圖像區域之間的細粒度對齊。相比其他工作僅使用圖像-文本匹配(ITM)的全局對齊方式,WRA更加精準。經過大量的消融實驗,UNITER還探索了預訓練任務的最佳組合方式,并最終在視覺問答,圖像-文本檢索,指代表達理解,視覺常識推理,視覺蘊含,和NLVR2等任務上都達到了新的最先進的水平。

UNITER稱得上是Region Feature Based多模態預訓練的集大成者,同時期的大多數工作也多是類似結構上的修補或增強。但也不乏另辟蹊徑的工作,其中以Grid Feature Based相關工作最具影響力。

2.2.4 Pixel-BERT

Pixel-BERT是Grid Feature Based多模態融合代表工作之一。如圖9,與Region Feature Based方法不同的是,Pixel-BERT不需要使用目標檢測模型進行ROI區域的特征抽取,而是直接通過卷積網絡提取圖片的像素級別特征,直覺和文本特征一起輸入到下游的Transformer網絡進行特征融合。這種方式減少了目標檢測區域框標注的成本,同時緩解了視覺語義label與文本語義的不均衡問題(區域框的物體類別往往上千規模,而文本可以表達的語義遠不止于此)。

圖片

詳細來說,當時主流的Region Feature Based方法提取視覺特是使用如Fast R-CNN的目標檢測模型,通常在Visual Genome數據集上訓練得到。這種目標檢測模型,通常先提取可能存在物體的區域,然后根據區域特征進行物體類別的分類。相應的,這些區域的特征往往局限在固定的類目集合范圍內,語義范圍較為有限,這是也使用區域語義特征的固有缺陷。

圖片

此外,Pixel-BERT使用隨機像素采樣機制來增強視覺表示的魯棒性,并使用MLM和ITM作為預訓練任務進行預訓練。最后通過對下游任務進行廣泛的實驗,在包括視覺問答(VQA)、圖像文本檢索和視覺推理等下游任務中取得了SOTA效果。

三、VIT:擁抱Transformer

Pixel-BERT之類的網絡,減少了對與目標檢測模型的依賴,僅使用深層卷積神經網絡提取像素級別的特征作為下游多模態融合模塊,極大簡化了圖文多模態表征模型的網絡結構。那么,我們能不能進一步簡化視覺表征模塊,直接把圖像特征簡單加工后就直接輸入到Transformer網絡和文本特征一起做模態的融合?要做到這一點,我們需要先回答另一個問題,Transformer網絡能不能替換CNN作為視覺表征的Backnone?雖然現在來看,答案是肯定的,但在開始階段,這個過程并不是那么順利。

我們知道,CNN應用于視覺表征有著很強的歸納偏置或者說先驗,在 CNN 中,局部性、二維鄰域結構和平移不變性是在整個模型的每一層中都有體現,和視覺圖像的特點極其類似:

  • 局部感知性:卷積層通過卷積操作和參數共享,能夠高效地提取輸入圖像的局部特征。這種局部感知性使得CNN能夠捕捉圖像中的局部結構,例如邊緣、紋理等,從而更好地表征圖像。
  • 層級結構:CNN的層級結構包括卷積層、激活函數、池化層和全連接層。這種層級結構使得CNN能夠逐層提取和組合特征,從低級到高級,形成更復雜的視覺表征。
  • 參數共享:卷積層中的參數共享使得CNN的訓練更加高效。相同的卷積核在不同位置對圖像進行卷積操作,共享參數減少了模型的復雜度,同時也增強了模型的泛化能力。
  • 空間不變性:卷積操作具有平移不變性,即無論圖像中的物體在圖像中的位置如何變化,卷積核都能檢測到相應的特征,這對于圖像分類、目標檢測和圖像分割等計算機視覺任務非常重要。

而在 Transformer 中的Self-Attention層則是全局的,對于視覺輸入的局部關系建模、圖像的2D位置關系的建模,以及圖像元素的平移不變性的把握上,都需要從頭學習。然而,即便是困難重重,因為有BERT的巨大成功,仍然有許多的研究者前赴后繼投入到這個方向,并最終取得成功,其中Vision Transformer (ViT) 是最為經典的案例之一。

3.1 VIT范式視覺表征和預訓練

3.1.1 VIT:Transformer視覺表征

如圖10,VIT將輸入圖片平鋪成2D的Patch序列(16x16),并通過線性投影層將Patch轉化成固定長度的特征向量序列,對應自然語言處理中的詞向量輸入。同時,每個Patch可以有自己的位置序號,同樣通過一個Embedding層對應到位置向量。最終Patch向量序列和視覺位置向量相加作為Transfomer Encoder的模型輸入,這點與BERT模型類似。

圖片

同樣,VIT通過一個可訓練的CLS token得到整個圖片的表征,并接入全鏈接層服務于下游的分類任務。當經過大量的數據上預訓練,遷移到多個中等或小規模的圖像識別基準(ImageNet, CIFAR-100, VTAB 等)時,ViT取得了比CNN系的模型更好的結果,同時在訓練時需要的計算資源大大減少。按說,ViT的思路并不復雜,甚至一般人也不難想到,但是為什么真正有效的工作確沒有很快出現?不賣關子,VIT成功的秘訣在于大量的數據做預訓練,如果沒有這個過程,在開源任務上直接訓練,VIT網絡仍會遜色于具有更強歸納偏置的CNN網絡。

因此,在此之后的一大研究方向就是如何更加有效的對VIT結構的網絡進行預訓練。下面我們通過MAE和BEIT兩個優秀的工作,來討論這個方向上的兩類主流方案。

3.1.2 MAE:激進的Mask自監督預訓練

與自然語言理解類似,VIT模型能取得成功得益于預訓練+微調的訓練范式。前文提到,傳統CNN視覺模型的預訓練,僅僅是在大量的圖像任務數據集上進行預先訓練(如ImageNet分類任務等),然后使用訓練后的權重進行初始化Backbone,在下游任務上繼續微調完成相應任務。

早期的VIT的預訓練和CNN預訓練一樣,都是通過大規模的有監督分類任務數據集進行訓練,和BERT的自監督預訓練仍有區別。而自監督預訓練有著數據獲取成本低、不需要標注、任務難度大模型學習充分等諸多好處,因此很多研究工作探索自監督視覺預訓練,比較有代表性的實踐工作如Masked AutoEncoder(MAE)。

圖片

如圖11,所示,MAE以VIT為基礎模型,先對完整圖片進行Patch掩碼,接著使用一個Transformer Encoder對未Mask的Patch進行編碼,然后通過相對小的Transformer Decoder模型還原被Masked Patch,從而實現模型的自監督預訓練。

MAE取得成功的另一個核心原因是通過75%的高掩碼率來對圖像添加噪音,這樣圖像便很難通過周圍的像素來對被掩碼的像素進行重建,從而使編碼器去學習圖像中的語義信息。預訓練之后,解碼器被丟棄,編碼器可以應用于未掩碼的圖像來進行識別任務。

相對于自然語言的自監督訓練,MAE使用了更大的掩碼比例。后人進一步分析,這么做動機是考慮自然語言和視覺特征的信息密度不同,簡單來說:文本數據是經過人類高度抽象之后的一種信號,信息是密集的,可以僅僅預測文本中的少量被掩碼掉的單詞就能很好的捕捉文本的語義特征。而圖像數據是一個信息密度非常小的矩陣,包含著大量的冗余信息,像素和它周圍的像素存在較大的相似性,恢復被掩碼的像素并不需要太多的語義信息。

3.1.3 BEIT:視覺“分詞”表征預訓練

另一類Transformer視覺模型預訓練的代表范式是BEIT(BERT Pre-Training of Image Transformers)模型。為了與BERT的預訓練框架對齊,BEIT通過輔助網絡模塊先對視覺Patch進行Tokenizer,得到整張圖各部分的視覺Token ID。然后將視覺Patch視為自然語言中的單詞進行掩碼預測,完成預訓練流程。

圖片

具體的如圖12,在預訓練之前,BEIT先通過一個離散自回歸編碼器( discrete Variational AutoEncoder,dVAE)學習了一個“圖像分詞”器,最終可以將圖像編碼成離散的視覺Token集合。而在預訓練階段,輸入的圖片存在兩個視角,一是圖像Patch,另一個是視覺Token。BEIT隨機對Patch進行掩碼,并將掩碼部分替換為特殊的Mask Embedding([M],圖中的灰色部分),隨后將掩碼后的Patch序列輸入到VIT結構的模型中。預訓練的目標則是基于被掩碼的圖像輸入向量序列,預測源圖像對應的視覺Token ID。

BEIT需要單獨的dVAE網絡輔助,相對MAE更為復雜。在效果上,MAE驗證了使用normalized pixels進行目標像素重建,也可以實現類似效果,因此視覺tokenization過程并非必須。但即便如此,BEIT為視覺預訓練提供了一個不錯的范式,同樣是一次十分有價值的探索。

3.2 VIT為基礎的多模態對齊與預訓練

以VIT為基礎的視覺預訓練可以通過Transformers對視覺進行有效表征,這種方法也逐漸成為目前視覺信息編碼的主流手段。以此為延伸,基于此的多模態預訓練工作也層出不窮,也為如今的多模態大模型的順理成章打下了堅實基礎。

如圖13,梳理了以VIT為延伸的多模態對齊和預訓練工作,各工作之間都或多或少的有所關聯,可謂是一脈相承。下面我們分別介紹這個技術方向的經典工作,讀完本小結下面的內容再來看圖中的模型關系,可能會更有感覺。

圖片

3.2.2 CLIP

CLIP模型是OpenAI 2021發布的多模態對齊方法。與OpenAI的許多工作類似,CLIP強調強大的通用性和Zero-Shot能力,也因此至今仍有很強的生命力,相關技術被廣泛應用。

CLIP的核心思路是通過對比學習的方法進行視覺和自然語言表征的對齊。如圖xx(1),CLIP首先分別對文本和圖像進行特征抽取,文本的Encoder為預訓練BERT,視覺側的Encoder可以使用傳統的CNN模型,也可是VIT系列模型。得到圖文表征向量后,在對特征進行標準化(Normalize)后計算Batch內圖文Pair對之間的余弦距離,通過Triple Loss或InfoNCELoss等目標函數拉近正樣本對之間的距離,同時使負樣本對的距離拉遠。

圖片

經過大量的圖文Pair對進行預訓練后,我們可以得到在同一表征空間下的文本Encoder和圖像Encoder。下游應用通常也是兩種方式,一是在下游任務上對模型進行微調,適應定制的圖文匹配任務,或者僅使用文本或圖像Encoder做單模態任務;另一種使用方式是直接使用預訓練的圖文表征Zero-Shot方式完成下游任務。

CLIP進行Zero-Shot的一種使用方式如圖14(2)和(3),對于一個圖像分類任務,可以首先將所有的候選類別分別填充“A photo of a {object}”的模板,其中object為候選類別,對于一張待預測類別的圖像,通過圖像Encoder的到視覺表征后,與所有類別的模板文本Encoder表征進行相似度計算,最后選擇相似度最高的類別即可作為預測結果。

CLIP憑借其簡潔的架構和出眾的效果,被后來很多工作引用,并使用CLIP預訓練的Backbone作為視覺表征模塊的初始化參數。

3.2.3 VILT

CLIP方法簡單有效,雙塔的網絡結構對于下游應用也十分友好。但是如同表示型語義匹配類似,雙塔結構同樣也有交互不足的問題,內積或余弦距離的模態融合方式匹配能力上限較低,對于一些需要細粒度跨模態匹配的任務(VQA等)有時力不從心。因此,交互式的多模態對齊和融合仍然極具價值,典型的如VILT模型。

VILT是VIT在圖文多模態方向上的工作延續。我們了解了基于Transformer的自然語言模型和視覺模型的預訓練范式后,進階到多模態融合十分容易理解。如圖15所示,與BERT文本對的輸入方式類似,VILT將文本和視覺Patch的Embedding直接拼接作為Transformer編碼器的輸入,兩種模態有各自可學習的位置編碼和模態類型編碼。

圖片

通過深層的Transformer編碼,文本與視覺的模態得到了充分的融合。ViLT使用常用的ITM(Image Text Matching)和MLM(Masked Language Modeling)作為預訓練目標。

  • ITM(Image Text Matching):圖文是否匹配的二分類目標,正樣本為常用數據集中提供的語義一致的圖文Pair對,負樣本對以0.5的概率隨機地用替換正圖文對中的圖片為其他圖片;此外借鑒前人工作,匹配目標還增加了圖文子區域的匹配目標Word Patch Alignment (WPA),該目標并不常用,我們也不作過多展開。
  • MLM(Masked Language Modeling):以0.15的概率對文本的Token進行掩碼,并通過圖文的整體上下文信息對預測被掩碼的Token。

如圖16,可以對比以CNN為基礎的多模態預訓練和以VIT為基礎的預訓練,在模型架構上的區別。

圖片

而在ViLT之后,多模態預訓練的一個較為明顯的趨勢,是進一步提升模態對齊與融合的效果以及模型結構的通用性,使用統一模型視角進行跨模態對齊和融合。在這個過程中,ALBEF(Align before Fuse)、BLIP(Bootstrapping Language-Image Pre-training)與BEIT-3系列等工作極具參考價值,下面我們簡單對比其設計思路。

3.2.5 ALBEF與BLIP

ALBEF通過多任務聯合訓練將類似CLIP的對比學習和類ViLT的交互融合范式統一到一個訓練框架中。如圖17所示,模型結構包括一個圖像Encoder(12層)、一個文本Encoder(6層)和一個多模態融合的Encoder(6層),各Encoder均沿用Transformer網絡。ALBEF的訓練任務包括圖文對比ITC(Image-Text Contrastive Learning)、ITM(Image-Text Matching)、MLM(Masked Language Modeling)。

圖片

  • ITC:在圖文模態深層融合之前,在對圖文的表征序列Pooling后,通過對比學習Loss對圖文單模態表征進行對齊。這部分和CLIP模型的訓練設置類似,不同的是文本的Encoder相對視覺Encoder層數更淺。
  • ITM:圖文Encoder輸出的表征序列深層交互后,判斷輸入圖文對是否匹配,與VILT一樣是二分類任務。不同的是負樣本對的構造,使用對比學習模塊進行了Batch內的難負樣本挖掘。主要思路是,對比學習模塊中一個Batch中,模型認為最為相似的負樣本對可以作為難負樣本。
  • MLM:與VILT類似,隨機對輸入文本token進行掩碼,通過圖文上下文的輸入信息預測被掩碼的Token。

最后,由于ALBEF的預訓練數據多數為互聯網中挖掘的圖文對,天然存在較大的噪聲數據。為了緩解這個問題,ALBEF在訓練過程中通過一個動量自蒸餾的模塊(一個移動平均版本的ALBEF模型),生成訓練數據集的偽標簽,用來輔助模型的訓練。

ALBEF通過多任務訓練機制將模態對比匹配和深度模態融合結合在一起,下游任務可以根據具體需求使用不同的模塊進行微調。與之遙相呼應的的是BLIP模型,在ALBEF基礎上,將MLM替換為LM( Language Modeling)Loss,的使得訓練得到的模型同時可以支持圖像描述文本的生成能力,如圖18所示。使得多模態融合預訓練有了多模態大模型即視感。

圖片

經過大規模多模態數據的預訓練,ALBEF和BLIP在下游任務微調中均取得了十分亮眼的效果,在工業界也被廣泛應用。

3.2.8 VL-BEIT、VLMO與BEIT-3

ALBEF和BLIP之類的工作雖然能夠同時兼顧對比和深度融合兩種訓練模式,但視覺和自然語言仍然需要單獨的Encoder分別編碼,這顯然還不是我們所期望的真正的多模態統一模型框架。我們可以從Microsoft Research的VL-BEIT、VLMO與BEIT-3這一系列工作一窺這個方向的探索過程。

VL-BEIT可以看作是前文提到的BEIT在多模態對齊預訓練工作的延續,同時借鑒了ViLT的網絡結構。如圖19,與ViLT的區別在于,VL-BEIT期望將單模態和多模態統一到一個模型中,在預訓練任務設計上,同時考慮了純文本、純視覺以及圖文多模態任務。純文本任務為MLM(a);純視覺特征的MIM,其中MIM的目標是BEIT工作中的Visual Token ID(b);圖文多模態任務包括考慮文本特征的視覺Token預測,以及考慮視覺特征的文本Token預測(c)。

圖片

VLMO是VL-BEIT的同期工作,如圖20。VLMO相較于VL-BEIT的不同之處在于:1、舍棄了視覺側的Visual Token ID預測,簡化了整體的網絡結構;2、增加了類似CLIP的圖文對比學習任務,以及交互型的圖文匹配任務。雖然VLMO相對于VL-BEIT在效果上并不出彩,但為后續BEIT-3的工作奠定了基礎。網絡結構上,VLMO是VL-BEIT都使用MoME Transformer結構,對不同的模態使用不同的Expert頭,以區分不同模態的表征。

圖片

與VLMO網絡結構類似,BEIT-3將圖像、文本和圖文多模態輸入統一到一個單獨的Multiway Transformer網絡。不同于經典的Transformer,BEIT-3使用一個多類型輸入共享的多頭自注意力模塊(Multi-Head Self-Attention),不同類型的模態輸入各有一個全連接專家模塊單獨學習。如圖21,視覺模態使用V-FFN、文本模態對應L-FFN,圖文多模態輸入對應VL-FFN,模型會根據不同類型的模態輸入選擇不同的模塊生效。

圖片

在預訓練任務上,如圖22,BEIT-3相比之下也更加全面,不僅包括常用的圖文對比學習、MLM和圖像文本描述生成任務,還引進了文本和圖像的單模態任務。這樣的訓練方式,使得BEIT-3真正統一了多模態的不同輸入類型,同時更加全面和靈活的支持不同模態的下游任務。為了能夠實現這樣的能力,BEIT-3使用了更多的預訓練數據,模型容量相對于之前的工作也有了顯著的提高(達到1.9B),相應地最終也取得了在當時更好的效果。

圖片

BEIT-3將多模態對齊和預訓練的研究推到了一個新的高度,驗證了更多的數據+更大的模型取得更好的效果,在這個研究方向仍不失準。雖然開始飽受爭議,但隨著ChatGPT的問世,這個發展思路的正確性被進一步加深,也催生了后面多模態大模型的一眾研究工作。

四、多模態與大模型

寫到這里,經過大規模篇幅的鋪墊,終于到了大家都關心的多模態大模型章節。打開前兩天的筆記,原來的計劃是這部分內容參考綜述論文的梳理,選擇一些有代表性的工作進行問題的串連。當我重新下載這篇綜述論文,想截一張示意圖時,卻是目瞪狗呆。對比一下,圖23是年前的截圖,圖24是年后的。

圖片圖片

這個速度,屬實有點跟不上了。調整情緒后,我告訴自己很多工作萬變不離其宗,可以延續原來的思路繼續寫,不增加加新的內容。這樣,應該也挺合理的吧。下面我們通過各時期的優秀工作,來系統看一下類似GPT-4的多模態大模型的主流思路。

4.1 Flamingo

如今GPT-4代表著多模態大模型的頂尖水平,但在此之前,甚至在ChatGPT之前就已有相關探索工作,其中谷歌的Flamingo最具當前主流技術雛形。事實上,Flamingo更像是圖文多模態領域的GPT-3,不同的是它支持圖文上下文的輸入,通過In-Context Few-Shot方式完成任務。Flamingo同樣支持視頻幀序列作為輸入,通過Prompt指令完成Video理解任務。

圖片

做到這種功能,在模型側和GPT-3類似,不同的是Flamingo在文本Transfomer網絡中增加視覺輸入特征,模型結構如圖26,包括三個部分。

  • 視覺側特征抽取使用預訓練的ResNet和采樣模塊(Perceiver Resampler,將變長的視覺特征輸入轉成少量的視覺特征)模型;
  • 文本側模型使用LLM(基座使用Chinchilla,同樣是谷歌發布的對標GPT-3的大語言模型,并提供了1.4B、7B、和70B等版本,分別對應Flamingo-3B、Flamingo-9B和Flamingo-80B);
  • GATED XATTN-DENSE層,用于連接LLM 層與視覺特征,允許 LM 在處理文本時考慮視覺信息。通過交叉注意力,LM 可以關注與視覺特征相關的部分。預訓練LLM和視覺ResNet參數訓練過程中是凍結狀態。

圖片

相應的,在數據層面Flamingo也是使用了多樣形式的訓練語聊,包括:

  • 圖文穿插形式:MultiModal MassiveWeb (M3W),43 Million;
  • 圖文Pair對形式:LTIP(Long Text & Image Pairs),312 Million;
  • 帶文本描述的短視頻:VTP (Video & Text Pairs) ,27 Million 。

最后Flamingo在各種多模態任務上的效果也非常優秀,甚至在有些數據集上通過few-shot方式可以超過經典模型的SOTA。

圖片

Flamingo憑借其出色的效果,吸引了許多研究者對于多模態大模型的注意,但當時這種規模的模型訓練不是誰都能玩的起,因此并沒有引起特別火熱的跟風潮。直到ChatGPT的出現,讓人逐漸接受了大模型這條道路的正確性,以前覺得自己玩不起的機構,砸鍋賣鐵拉投資也愿意投入,自此相關的開源研究開始如火如荼。

在眾多開源工作中,BLIP-2以及與之一脈相承的InstructBLIP算是早期的探路者之一,我們可以從這兩個工作開始講起。

4.2 BLIP-2和InstructBLIP

BLIP-2的論文標題是Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models,核心思路是通過利用預訓練好的視覺模型和語言模型來提升多模態效果和降低訓練成本。

BLIP-2的網絡結構如圖28所示,從架構上來說,和Flamingo十分類似。包括視覺編碼層、視覺與文本的Adapter(Q-Former)以及大語言模型層。

  • 視覺編碼層:使用ViT模型,權重初始化通過CLIP預訓練完成,并剔除最后一次提升輸出特征的豐富性;訓練過程中凍結權重,不更新;
  • 文本側的大語言模型層:早期的BLIP-2使用OPT/FlanT5來實驗Decoder based和Encoder-Decoder based LLM的效果;這部分同樣在訓練過程中凍結權重,不更新;
  • 圖文Adapter層:Q-Former結構,類似BLIP網絡(同樣先進行了圖文多模態預訓練模塊),通過Queries向量,提取視覺側的關鍵信息輸入到LLM;這部分是多模態大模型訓練過程中的主要參數。

圖片

和Flamingo相比,BLIP-2簡化了視覺特征和大模型的交互,直接僅僅將視覺特征和文本特征一起作為大模型的輸入,沒有深層的交互模塊(如GATED XATTN-DENSE層);另一方面在視覺和LLM的Adapter層做了更多的設計,即Q-Former結構,如圖29。從Q-Former結構圖,我們可以看到BLIP的影子,最大的不同在于一個Learned Queries模塊,用于對ViT輸出的視覺特征進行采樣(Pooling),得到固定長度的視覺特征序列。

圖片

上面提到,為了避免災難遺忘,BLIP-2凍結了ViT和LLM的參數,只訓練Q-Former模塊。為了訓練更加穩定,Q-Former模塊的訓練包括兩個階段。

  • Stage1: 將Q-Former與凍結的ViT拼接,借鑒BLIP,使用 ITC(圖文對比學習)、ITG(圖生成文本)和ITM(圖文匹配)任務進行學習,對參數進行初始化,學習圖文相關性特征。
  • Stage2:如圖30,將Stage1得到的模型再拼接LLM,即Q-Former的輸出可通過線性投影輸入到LLM(凍結參數),進行視覺到自然語言的生成學習,目標是訓練Q-Former使其輸出的視覺特征和LLM的輸入分布對齊。

圖片

BLIP-2通過視覺和LLM的特征對齊,使得LLM具備了多模態理解能力,但其訓練數據主要沿用BLIP(圖文Pair對形式),和當下的多模態模型的主流技術方案仍存在一定GAP,是早期代表性探索之一。不過,隨著指令微調成為大模型必備流程,后續BLIP-2也自然升級為InstructBLIP。

如圖31,InstructBLIP的網絡結構與BLIP-2幾乎一致,同樣也是2階段訓練,不同的是采樣了指令微調范式,將文本模態的Instruction也作為輸入同時給到Q-former和LLM進行學習。

圖片

對應的,InstructBLIP的另一個不同是訓練數據也使用指令形式,將各種類型任務的開源學術數據,使用模板構造成指令多模態數據。數據模板如圖31。

圖片

通過指令數據和指令微調,是的InstructBLIP可以像GPT-4一樣通過指令提示詞的方式完成任務,雖然效果上仍有差距。即使不是InstructBLIP的訓練范式并不是開創性的,但是我們依然可以用InstructBLIP作為參考,來看對比后面要介紹的其他工作。

4.3 Qwen-VL

阿里巴巴的Qwen-VL是另一個比較經典的模型,十分值得作為案例介紹多模態大模型的訓練要點。Qwen-VL使用Qwen-7B LLM作為語言模型基座,Openclip預訓練的ViT-bigG作為視覺特征Encoder,隨機初始化的單層Cross-Attention模塊作為視覺和自然語言的的Adapter,總參數大小約9.6B。

圖片

如圖33,Qwen-VL的訓練過程分為三個階段:

  • Stage1 為預訓練,目標是使用大量的圖文Pair對數據對齊視覺模塊和LLM的特征,這個階段凍結LLM模塊的參數;
  • Stage2 為多任務預訓練,使用更高質量的圖文多任務數據(主要來源自開源VL任務,部分自建數據集),更高的圖片像素輸入,全參數訓練;
  • Stage3 為指令微調階段,這個階段凍結視覺Encoder模塊,使用的數據主要來自大模型Self-Instruction方式自動生成,目標是提升模型的指令遵循和多輪對話能力。

圖片

Qwen-VL的另一個啟發是在Stage2和Stage3的訓練過程中,不止使用VL數據,還使用了純文本的訓練數據,避免遺忘LLM的能力,這個策略的效果在其他的工作中也有所印證。此外,相比InstructBLIP,Qwen-VL模型視覺和LLM的Adapter模塊簡化很多,僅僅是一個淺層的Attention Pooling模塊,通過更加細節的訓練流程和更加豐富的訓練數據,仍取得了比InstructBLIP更優的效果。

4.4 LLaVA1.5

同樣,微軟的LLaVA也是一個持續更新的系列工作,這里主要總結LLaVA和LLaVA1.5的核心思路。圖34為LLaVA1.5的數據和模型概況。可以看到,和Qwen-VL相比,LLaVA1.5在預訓練和指令微調數據上使用了更少的數據(將Qwen-VL的Stage2和Stage3都視作指令微調);在模型結構上,除了視覺Encoder和LLM均使用了不同的基座模型,視覺和自然語言的Adapter使用更簡單的MLP層。

圖片

LLaVA1.5模型的效果在一些評測數據集上相比Qwen-VL有更好的效果,說明通過一些優化工作,使用更少的數據,更簡單的Adapter結構,也能使LLM具備不錯的多模態理解能力。在數據層面,如圖35,對比LLaVA1.5和LLaVA工作,通過增加高質量細粒度的VL數據、豐富指令、純文本指令微調數據、提升圖片輸入像素、提升LLM參數規模等手段,可以有效提升模型效果。

圖片

4.5 VILA

另一個與LLaVA比較類似,但有所補充的工作是英偉達的VILA(不是顯卡)。VILA模型的網絡結構和LLaVA十分類似,我們不做過多贅述。不同的是VILA通過實驗,總結了多模態預訓練的一些經驗,其中有些經驗在相關工作中也有所體現,主要為以下三點:

  • LLM參與訓練更好:在預訓練階段凍結LLM參數,能做到不錯的zero-shot的能力,但會損失in-context學習的能力,而LLM參數參與訓練的話可以有效緩解;
  • 預訓練數據使用圖文交替數據更好:圖文Pair對并不是最優的選擇,圖文交錯的數據效果更好;

圖片

  • SFT時純文本數據圖文數據混合更好:在圖文指令微調訓練數據中混入純文本的指令數據,不僅可以緩解純文本能力的遺忘,還能提升VL任務的能力。

具體的,如圖37,VILA的訓練分為3個階段,視覺編碼模塊ViT參數均是凍結狀態。Step 0 使用圖文Pair數據對初始化Projector(圖文Adapter)參數,LLM模塊參數凍結;Step 1使用圖文交替數據全參數預訓練;Step 2使用指令微調數據進行全參數微調,其中微調數據混合了圖文指令和純文本指令;

圖片

VILA是較新的工作,因此有更豐富的模型效果對比,如圖38,相對各時期的SoTA,VILA在公開評測指標上有不錯的效果。

圖片

4.6 Gemini 1.0和Gemini 1.5

目光來到閉源世界,與VILA同階段,谷歌公司發布了Gemini系列,又在近期發布了性能更強的Gemini 1.5,可惜被另一個熱愛閉源的OpenAI的Sora搶了風頭,屬實悲催。由于Gemini系列并沒有開源,我們只能通過技術報告中的簡單介紹來了解其方法。

Gemini 1.0是一個多模態模型,這里模態除了圖圖像和文還包括音頻、視頻,符合谷歌多模態大模型一貫的ALL IN ONE的風格,這也是依賴積累豐富的數據資源和算力資源。Gemini 1.0提供Ultra、Pro和Nano版本,分別適應不同能力、參數大小和推理速度要求,最小的Nano甚至可以端上運行。

方法上,Gemini 1.0的網絡結構同樣是Transformer Decoders,支持32K上下文長度,使用了Multi-Query Attention等優化機制。如圖39,模型輸入可以是文本、音頻、視覺輸入,輸入視覺可以是圖片、圖表、截圖、PDFs或視頻等,輸出可以是圖片和文本(沒錯,可以生成圖片)。視覺的Encoder模塊借鑒了谷歌自己的Flamingo、CoCa和PaLI,結合這些模型,可以輸入多模態的同時,也可以通過離散的視覺Tokens生成圖片或視頻等視覺模態。

圖片

對于音頻模態,Gemini可以直接輸入Universal Speech Model (USM)的16kHz特征,具體可以參考USM工作。對于視頻理解,Gemini通過將視頻編碼為長上下文窗口中的一系列幀來實現。視頻幀或圖像可以與文本或音頻自然交織在一起,作為模型輸入的一部分。Gemini同時支持不同像素輸入的視覺以滿足不同粒度的理解任務。

在具體訓練數據方面,技術報告同樣并沒有提過多細節,只是簡單說了數據包括什么模態、經過了什么清洗步驟等,我們也不再深究。至于最近的Gemini 1.5,同樣是技術報告的形式發布,沒有特別多技術細節,主要介紹了模型是如何的強。區別要點包括:模型在Gemini 1.0基礎上引入了sparse mixture-of-expert (MoE),同時強化了上下文長度(32K->10M)同時幾乎沒有損失上下文感知能力。在訓練過程中,Gemini 1.5強化了指令微調過程,使用了用戶偏好數據。

總體來說,雖然Gemini沒有提供技術細節,但也體現了谷歌對于多模態大模型技術方向的判斷,比如我們可以get到網絡結構的MoE、一個模型更多模態、超長上下文、文本生成+多模態生成結合等。

4.7 LWM

最后,我們再介紹一篇和Gemini類似的開源工作《World Model on Million-Length Video And Language With RingAttention》,模型名LWM(Large World Model)。至于為什么叫World Model,意思可以通過視覺和視頻的理解物理世界,,LWM是UC Berkeley最近發布的一篇工作,個人認為在開源方向上是一個優秀的工作,但好像也是由于Sora和Gemini 1.5的熱度,沒有引起太多關注。

LWM希望完成的任務和Gemini十分相似,核心是超長上下文理解的多模態大模型。憑借支持1M的token輸入,LWM可以對超過一小時的視頻進行理解,在Gemini 1.5之前幾乎是多模態大模型中最長的上下文輸入(之一)。LWM的主要工作要點包括:

  • 支持超長上下文,可處理超長的文本、圖片序列或視頻等;
  • 一些技術難點方案:Masked Sequence Packing方法混合的輸入長度;通過loss weighting 平衡視覺和文本模態;模型自動生成長序列問答數據集用于模型訓練;
  • 實現了高性能的RingAttention,Masked Sequence Packing等優化項,完成了百萬級別長度的多模態序列的訓練;
  • 開源7B參數規模的大模型,包括長上下文的文本模態模型(LWM-Text,LWM-Text-Chat),和多模態模型(LWM,LWM-Chat)。

具體方案上,LWM使用Transformer架構,在LLama2 7B基礎上擴充上下文理解的長度上限,模型結構如圖40:

圖片

與之前大多數方法不同的是,視覺的編碼器使用VQGAN,可以將256 × 256輸入圖片編碼成16 × 16 離散Token。這使得LWM不僅可以生成文本,也可以基于文本生成Image Token還原成視頻。對于多圖或視頻幀,可以分別做視覺特征抽取,和文本模態一起輸入到LLM中。

在模型訓練流程上,主要分為兩個階段的訓練:

  • 階段一,使用Books數據集,先擴充文本LLM上下文長度到1M;
  • 階段二,長上下文的多模態訓練,即混合圖-文數據、視頻-文本數據、以及純文本的Books數據進行訓練。

上面兩個過程有兩個核心問題需要解決:1、長文檔的可擴展訓練;2、如何穩定地擴展LLM的上下文。前者關注訓練的效率和開銷,后者則關注長上下文拓展的有效性。針對問題1,LWM主要實現了高效的RingAttention,同時結合了FlashAttention;針對問題2,一方面,兩個訓練階段都是多輪訓練方式,逐步提升上下文長度的方式,如圖41。另一方面通過簡單的調整了RoPE的參數,提升模型長文本的位置編碼能力。

圖片

總的來說,LWM是一篇不錯的文章,最重要的是開源,技術方案基本沒有保留,值得拉出來單獨討論。在效果上LWM和Gemini 1.0 Pro以及GPT4有一定的競爭力,更多的細節可以閱讀原論文。

五、總結

寫到這里,吐一口老血,但還是要總結一下。本文梳理了2019年之后視覺表征和多模態表征的一些變化,主要涉及視覺表征和視覺預訓練、多模態表征對齊(或融合)和多模態預訓練、多模態大模型技術的相關工作。各工作之間的簡化關系如圖42,脈絡主要是結合筆者自己各階段的實踐經歷和認識,會出現一些地方不嚴謹的地方,歡迎指正。

圖片

關于未來暢想,從最近的工作上來看,多模態的呈現出以大模型為主線,逐步開始朝長上下文、混合模態、世界模型、多模態生成等方向發展。開始在自己工作的實踐中得到的一個個人觀點,是多模態大模型的驚艷能力主要來自于文本大模型中所蘊含的知識,以及超強的上下文理解能力,視覺特征只是從屬的信息輸入或感知源。但近期Gemini 1.5、LWM、甚至Sora等工作又開始嘗試大模型理解物理世界(引出世界模型的概念),大模型好像開始從文本之外的模態強化輸入信息的影響力。不管怎么說,持續的更新迭代讓人耳目一新,相信也會不斷刷新人們對人工智能邊界的認知。

責任編輯:張燕妮 來源: 自動駕駛之心
相關推薦

2024-07-23 10:34:57

2025-01-08 08:21:16

2025-02-10 07:10:00

多模態embeddingsAI

2025-03-25 09:06:11

2024-12-18 18:57:58

2024-12-30 00:01:00

多模態大模型Python

2024-09-25 14:53:00

2025-05-07 01:00:00

多模態大模型AI

2025-05-21 08:47:00

2025-03-19 09:30:00

2024-11-11 15:11:23

2024-12-12 00:25:09

2024-05-17 16:02:00

2024-11-12 10:20:00

模型數據

2023-11-22 09:53:02

自動駕駛算法

2025-04-07 00:00:00

多模態大模型

2020-12-10 06:12:02

人工智能生物識別信息安全

2023-05-15 12:14:02

ChatGPT語音模型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品 电影一区 亚洲 | 日韩视频专区 | 91久久精品国产91久久性色tv | 蜜桃视频在线观看www社区 | 国产精品亚洲精品日韩已方 | 国产亚洲第一页 | 成人在线免费观看视频 | 999免费观看视频 | 亚洲性视频 | 色姑娘综合网 | 欧美一区免费 | 97色在线观看免费视频 | 久久精品久久久久久 | 全免费a级毛片免费看视频免费下 | 欧美精品乱码99久久影院 | 九九热在线视频观看这里只有精品 | 国产精品区二区三区日本 | 日干夜干 | 91在线精品一区二区 | 欧美激情亚洲激情 | 亚洲理论在线观看电影 | 亚洲最大成人综合 | 一级片网站视频 | 欧美黑人巨大videos精品 | 午夜一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 亚洲在线一区二区 | 婷婷久久网 | 亚洲+变态+欧美+另类+精品 | 91资源在线| 成人免费网站在线 | a国产一区二区免费入口 | 国产成人精品一区二区 | 国产精品日韩欧美一区二区三区 | 免费播放一级片 | 亚洲精品乱码久久久久久9色 | 91精品国产综合久久福利软件 | 91麻豆产精品久久久久久夏晴子 | 99精品国产一区二区三区 | 精品日韩一区二区 | www,黄色,com|