【文獻閱讀】Vision-Language Models for Vision Tasks: A Survey

發表于2024年2月

TPAMI

?摘要

大多數視覺識別研究在深度神經網絡(DNN)訓練中嚴重依賴標注數據,并且通常為每個單一視覺識別任務訓練一個DNN,這導致了一種費力且耗時的視覺識別范式。為應對這兩個挑戰,視覺語言模型(VLM)最近受到了廣泛研究,它從互聯網上幾乎無限可用的網絡規模圖像文本對中學習豐富的視覺語言相關性,并能夠使用單個VLM對各種視覺識別任務進行零樣本預測。本文對用于各種視覺識別任務的視覺語言模型進行了系統綜述,包括:(1)介紹視覺識別范式發展的背景;(2)VLM的基礎,總結廣泛采用的網絡架構、預訓練目標和下游任務;(3)VLM預訓練和評估中廣泛使用的數據集;(4)對現有VLM預訓練方法、VLM遷移學習方法和VLM知識蒸餾方法進行綜述和分類;(5)對所綜述方法進行基準測試分析討論;(6)在未來視覺識別的VLM研究中可能探索的幾個研究挑戰和潛在研究方向。
關鍵詞
大數據;大模型;深度學習;深度神經網絡;知識蒸餾;目標檢測;預訓練;語義分割;遷移學習;視覺語言模型;視覺識別;圖像分類

?一、引言

視覺識別(如圖像分類、目標檢測和語義分割)是計算機視覺研究中一個長期存在的挑戰,也是自動駕駛[1]、遙感[2]、機器人[3]等眾多計算機視覺應用的基石。隨著深度學習[4,5,6]的出現,視覺識別研究通過利用端到端可訓練的深度神經網絡(DNN)取得了巨大成功。然而,從傳統機器學習[7,8,9]向深度學習的轉變帶來了兩個新的重大挑戰,即在深度學習從頭開始的經典設置下DNN訓練收斂緩慢[4,5,6],以及在DNN訓練中費力收集大規模、特定任務和眾包標注的數據[10]。

最近,一種新的學習范式“預訓練、微調與預測”在廣泛的視覺識別任務中顯示出了巨大的有效性[11,12,13]。在這種新范式下,首先使用某些現成的大規模訓練數據(有標注或無標注)對DNN模型進行預訓練,然后使用特定任務的標注訓練數據對預訓練模型進行微調,如圖2(a)和(b)所示。通過在預訓練模型中學習到的全面知識,這種學習范式可以加速網絡收斂,并為各種下游任務訓練出性能良好的模型。

圖2。視覺識別中的三種DNN訓練范式。與(a)和(b)中的范式相比,(a)和(b)中的范式需要針對每個特定任務使用特定任務標記數據進行微調,(c)中的具有VLM的新學習范式使得能夠有效地使用網絡數據和零命中預測,而無需針對特定任務進行微調。這張圖展示了三種視覺識別訓練范式,分別是監督預訓練、微調與預測;無監督預訓練、微調與預測;視覺語言模型預訓練與零樣本預測,具體如下:?

(a)監督預訓練、微調與預測
1. 監督預訓練:使用大規模標注圖像對深度神經網絡進行預訓練,預訓練任務為圖像分類。
2. 特定任務微調:將預訓練的深度神經網絡,利用來自下游任務的眾包標注圖像進行特定任務的微調,下游任務包括圖像分類、目標檢測、語義分割等。
3. 預測:使用微調后的深度神經網絡對來自下游任務的未標注圖像進行預測,輸出各類別的預測概率,從而確定圖像類別。

(b)無監督預訓練、微調與預測
1. 無監督預訓練:利用大規模未標注圖像對深度神經網絡進行預訓練,通過 pretext tasks(如圖像修復、圖像重建等)學習特征表示。
2. 特定任務微調:與(a)中類似,將預訓練的深度神經網絡,用來自下游任務的眾包標注圖像進行特定任務的微調,下游任務同樣包括圖像分類、目標檢測、語義分割等。
3. 預測:使用微調后的深度神經網絡對來自下游任務的未標注圖像進行預測,輸出各類別的預測概率以確定圖像類別。

?(c)視覺語言模型預訓練與零樣本預測
1. 視覺語言模型預訓練:利用互聯網上幾乎無限可用的網絡規模圖像 - 文本對,通過圖像 - 文本對比學習、掩碼跨模態建模等預訓練目標,對文本深度神經網絡和圖像深度神經網絡進行聯合預訓練。
2. 無需微調的零樣本預測:對于下游任務(如圖像分類、目標檢測、語義分割等),在不進行微調的情況下,通過文本提示(如“A photo of a [class]” )生成文本嵌入,與圖像深度神經網絡提取的圖像嵌入進行相似性計算,根據相似性得分確定圖像類別。

?這三種范式的主要區別在于預訓練數據的標注情況和預訓練方式,以及在下游任務預測時是否需要進行微調。(a)基于有標注數據進行監督預訓練和微調;(b)基于無標注數據進行無監督預訓練,再進行微調;(c)利用圖像 - 文本對進行視覺語言模型預訓練,可直接進行零樣本預測 。

盡管“預訓練、微調與預測”范式取得了成功,但它仍然需要使用來自每個下游任務的標注訓練數據進行特定任務的微調。受自然語言處理[14,15,16]進展的啟發,一種名為“視覺語言模型預訓練與零樣本預測”的新深度學習范式最近受到了越來越多的關注[10,17,18]。在這種范式中,使用互聯網上幾乎無限可用的大規模圖像文本對來預訓練視覺語言模型(VLM),并且預訓練的VLM可以直接應用于下游視覺識別任務而無需微調,如圖2(c)所示。

VLM預訓練通常由某些視覺語言目標[10,18,19]指導,這些目標能夠從大規模圖像文本對中學習圖像文本對應關系[20,21]。例如,CLIP[10]采用圖像文本對比目標,并通過在嵌入空間中將配對的圖像和文本拉近,將其他的推開進行學習。通過這種方式,預訓練的VLM捕獲了豐富的視覺語言對應知識,并且可以通過匹配任何給定圖像文本嵌入來進行零樣本預測。這種新的學習范式能夠有效地利用網絡數據,并允許在沒有特定任務微調的情況下進行零樣本預測,它易于實現且性能出色。例如,預訓練的CLIP從經典圖像分類[22,23,24,25,26]到人類動作光學字符識別[10,27,28,29,30]等36個視覺識別任務中都取得了卓越的零樣本性能。

在視覺語言模型預訓練和零樣本預測取得巨大成功之后,除了各種VLM預訓練研究之外,還有兩條研究路線受到了廣泛探討。第一條路線探索使用遷移學習的VLM[31,32,33,34]。例如,提示調整[31,32]、視覺適應[33,34]等多種遷移方法都有一個共同目標,即讓預訓練的VLM有效地適應各種下游任務。第二條路線探索使用知識蒸餾的VLM[35,36,37]。例如,一些研究[35,36,37]探索如何將知識從VLM中蒸餾出來應用于下游任務,旨在在目標檢測、語義分割等任務中獲得更好的性能。

圖1(來自谷歌學術)。自開創性研究CLIP[10]以來,相關出版物數量呈指數級增長。圖1展示了視覺識別視覺語言模型(VLM)的出版物數量。 ?

盡管如圖1所示,近期大量論文表明研究界對從VLM中獲取大量知識有著濃厚興趣,但目前缺乏一個全面的綜述來幫助梳理現有的基于VLM的視覺識別研究、面臨的挑戰以及未來的研究方向。我們旨在通過對包括圖像分類、目標檢測、語義分割等各種視覺識別任務中的VLM研究進行系統綜述來填補這一空白。我們從背景、基礎、數據集、技術方法、基準測試和未來研究方向等不同角度進行綜述。我們相信,這項綜述將清晰呈現我們已經取得的成果,以及在這個新興且極具前景的研究方向上我們可以進一步取得的成果。

總之,這項工作的主要貢獻有三個方面。第一,它對用于視覺識別任務(包括圖像分類、目標檢測和語義分割)的VLM進行了系統綜述。據我們所知,這是首次對用于視覺識別的VLM進行的綜述,它通過對現有研究的全面總結和分類,勾勒出了這個有前景研究領域的全貌。第二,它研究了用于視覺識別的VLM的最新進展,包括對現有工作在多個公共數據集上的全面基準測試和討論。第三,它分享了在視覺識別的VLM研究中可能面臨的幾個研究挑戰和潛在研究方向。

本文的其余部分組織如下。第二節介紹視覺識別范式的發展以及一些相關綜述。第三節描述VLM的基礎,包括VLM評估中廣泛使用的深度網絡架構、預訓練目標、預訓練框架和下游任務。第四節介紹VLM預訓練和評估中常用的數據集。第五節回顧和分類VLM預訓練方法。第六節和第七節分別對VLM的遷移學習和知識蒸餾方法進行系統綜述。第八節在多個廣泛采用的數據集上對所綜述的方法進行基準測試。最后,我們在第九節分享幾個有前景的VLM研究方向。

?二、背景

本節首先介紹視覺識別訓練范式的發展,以及它如何演變為視覺語言模型預訓練和零樣本預測范式。然后,我們介紹用于視覺識別的視覺語言模型(VLM)的發展。我們還討論了幾個相關綜述,以突出本綜述的范圍和貢獻。

?(一)視覺識別訓練范式

視覺識別范式的發展大致可分為五個階段,包括:(1)傳統機器學習與預測;(2)深度學習從頭開始與預測;(3)監督預訓練、微調與預測;(4)無監督預訓練、微調與預測;(5)視覺語言模型預訓練與零樣本預測。接下來,我們將詳細介紹、比較和分析這五種訓練范式。

1. 傳統機器學習與預測:在深度學習時代[4]之前,視覺識別研究嚴重依賴手工制作的特征[9,38]的特征工程,以及將手工特征分類到預定義語義類別的輕量級學習模型[7,8,39]。然而,這種范式需要領域專家為特定的視覺識別任務制作有效的特征,它在處理復雜任務時表現不佳,并且可擴展性也較差。

2. 深度學習從頭開始與預測:隨著深度學習[4,5,6]的出現,視覺識別研究通過利用端到端可訓練的DNN取得了巨大成功。DNN避免了復雜的特征工程,使研究者能夠專注于神經網絡的架構工程以學習有效的特征。例如,ResNet[6]通過跳躍連接設計實現了非常深的網絡,并能夠從大量眾包標注數據中學習,在具有挑戰性的ImageNet基準測試[40]上取得了前所未有的性能。然而,從傳統機器學習向深度學習的轉變帶來了兩個新的重大挑戰:在深度學習從頭開始的經典設置下DNN訓練收斂緩慢,以及在DNN訓練中費力收集大規模、特定任務和眾包標注的數據[10]。

3. 監督預訓練、微調與預測:隨著發現從大規模標注數據集中學習到的特征可以轉移到下游任務[11],“深度學習從頭開始與預測”范式逐漸被“監督預訓練、微調與預測”的新范式所取代。如圖2(a)所示,這種新的學習范式在大規模標注數據(如ImageNet)上使用監督損失對DNN進行預訓練,然后使用特定任務的訓練數據對預訓練的DNN進行微調[11]。由于預訓練的DNN已經學習了某些視覺知識,它可以加速網絡收斂,并有助于在有限的特定任務訓練數據下訓練出性能良好的模型。
4. 無監督預訓練、微調與預測:盡管“監督預訓練、微調與預測”在許多視覺識別任務中取得了最先進的性能,但它在預訓練中需要大規模的標注數據。為了緩解這一限制,[12,13]采用了一種新的學習范式“無監督預訓練、微調與預測”,該范式探索自監督學習,從無標注數據中學習有用且可轉移的表示,如圖2(b)所示。為此,人們提出了各種自監督訓練目標[12,41],包括建模跨補丁關系的掩碼圖像建模[41]、通過對比訓練樣本學習判別特征的對比學習[12]等。然后,使用有標注的特定任務訓練數據對自監督預訓練模型在下游任務上進行微調。由于這種范式在預訓練中不需要標注數據,它可以利用更多的訓練數據來學習有用且可轉移的特征,與監督預訓練相比,能帶來更好的性能[12,13]。

圖2。視覺識別中的三種DNN訓練范式。與(a)和(b)中的范式相比,(a)和(b)中的范式需要針對每個特定任務使用特定任務標記數據進行微調,(c)中的具有VLM的新學習范式使得能夠有效地使用網絡數據和零命中預測,而無需針對特定任務進行微調?

5. VLM預訓練與零樣本預測:盡管使用監督或無監督預訓練的預訓練和微調提高了網絡收斂性,但它仍然需要如圖2(a)和(b)所示的使用有標注任務數據的微調階段。受自然語言處理[14,15,16]巨大成功的啟發,一種名為“視覺語言模型預訓練與零樣本預測”的新深度學習范式被提出用于視覺識別,如圖2(c)所示。利用互聯網上幾乎無限可用的大規模圖像文本對,通過某些視覺語言目標[10,18,19]對VLM進行預訓練,這些目標捕獲了豐富的視覺語言知識,并且可以通過匹配任何給定圖像和文本的嵌入對下游視覺識別任務進行零樣本預測(無需微調)。

與預訓練和微調相比,這種新范式能夠有效地利用大規模網絡數據,并在無需特定任務微調的情況下進行零樣本預測。大多數現有研究試圖從三個角度改進VLM:(1)收集大規模信息豐富的圖像文本數據;(2)設計高容量模型以有效地從大數據中學習;(3)設計新的預訓練目標以學習有效的VLM。在本文中,我們對這種新的視覺語言學習范式進行了系統綜述,旨在清晰呈現現有VLM研究的全貌、面臨的挑戰以及這個具有挑戰性但前景光明的研究領域的未來方向。

?(二)用于視覺識別的VLM發展

自CLIP[10]發展以來,與視覺識別相關的VLM研究取得了巨大進展。我們從三個方面展示用于視覺識別的VLM,如圖3所示:

圖3。用于視覺識別的VLMs的開發圖解。 這張圖展示了視覺語言模型(VLM)在視覺識別領域的發展趨勢,從預訓練目標、預訓練框架和下游任務三個方面呈現其演變過程,以 CLIP 和 ALIGN 為起點,具體如下:

預訓練目標(Pre - training Objective)

  • 發展趨勢:從單一目標(Single objective)向多個混合目標(Multiple hybrid objectives)發展 。
  • 模型示例:UniCL、FILIP、NLIP、FIBER 等模型依次體現了這一發展趨勢,展示了在預訓練目標設計上不斷豐富和融合多種目標以提升模型性能的過程。

預訓練框架(Pre - training Framework)

  • 發展趨勢:從多個分離網絡(Multiple separate networks )向統一網絡(A Unified network)發展 。
  • 模型示例:FLAVA、COCA、CLIPPO、OneR 等模型展示了預訓練框架的演進,反映了從使用多個獨立網絡分別處理圖像和文本,到采用統一網絡進行聯合處理,以提高數據模態間通信效率和訓練效果的趨勢。

下游任務(Downstream Task)

  • 發展趨勢:從簡單任務(Simple Task)向復雜任務(Complex Task)發展 。
  • 模型示例:SLIP、GroupViT、GLIP、DetCLIP 等模型體現了 VLM 處理任務難度的逐步提升,從最初處理相對簡單的視覺識別任務,發展到能夠應對更復雜、對模型能力要求更高的任務。

(1)預訓練目標:從“單一目標”到“多個混合目標”。早期的VLM[10,17]通常采用單一的預訓練目標,而近期的VLM[18,42]引入了多個目標(例如對比、對齊和生成目標),以探索它們的協同作用,從而獲得更穩健的VLM和在下游任務中更好的性能;

(2)預訓練框架:從“多個分離網絡”到“統一網絡”。早期的VLM[10,17]采用雙塔預訓練框架,而近期的VLM[43,44]嘗試采用單塔預訓練框架,用統一的網絡對圖像和文本進行編碼,減少了GPU內存使用,同時提高了數據模態之間的通信效率;

(3)下游任務:從簡單任務到復雜任務。早期的VLM[10,17]專注于圖像級別的視覺識別任務,而近期的VLM[45,46]更具通用性,也可以用于需要定位相關知識的復雜密集預測任務。

?(三)相關綜述

據我們所知,這是首次對用于各種視覺識別任務的VLM進行綜述的文章。已經有一些相關綜述對用于視覺語言任務(如視覺問答[47]、視覺推理的自然語言[48]和短語定位[49])的VLM進行了回顧。

例如,Li等人[50]分享了視覺語言任務的進展,包括針對各種特定任務方法的VLM預訓練。Du等人[51]和Chen等人[52]回顧了用于視覺語言任務[47,48,49]的VLM預訓練。Xu等人[53]和Wang等人[54]分享了多模態學習在多模態任務上的最新進展。

不同的是,如圖4所示,我們從三個主要方面回顧用于視覺識別任務的VLM:(1)用于視覺識別任務的VLM預訓練的最新進展;(2)從VLM到視覺識別任務的兩種典型遷移方法;(3)用于視覺識別任務的VLM預訓練方法的基準測試。

圖4.視覺識別的視覺語言模型的類型。?

視覺語言模型遷移學習(Vision - Language Model Transfer Learning)

  • 通過提示調整進行遷移(Transfer via Prompt Tuning)
    • 文本提示調整遷移(Transfer with Text Prompt Tuning):通過學習每個類別的可學習文本提示,使 VLM 適應下游任務,如 CoOp 通過學習上下文詞,CoCoOp 為每個圖像生成特定提示等。
    • 視覺提示調整遷移(Transfer with Visual Prompt Tuning):通過調制圖像編碼器輸入遷移 VLM,如 VP 采用可學習圖像擾動修改輸入圖像。
    • 文本 - 視覺提示調整遷移(Transfer with Text and Visual Prompt Tuning):聯合調制文本和圖像輸入,如 UPT 統一提示調整,MVLPT 探索多任務視覺語言提示調整等。
  • 通過特征適配進行遷移(Transfer via Feature Adapter):在 VLM 的語言和圖像編碼器后插入可訓練線性層等輕量級特征適配器,對其優化以適配圖像或文本特征,如 ClipAdapter、Tip - Adapter 等。
  • 其他遷移方法(Other Transfer Methods):包括直接微調(如 Wise - FT)、架構修改(如 MaskCLIP)、交叉注意力(如 VT - CLIP、CALIP)等方法。

視覺語言模型知識蒸餾(Vision - Language Model Knowledge Distillation)

  • 目標檢測的知識蒸餾(Knowledge Distillation for Object Detection):將 VLM 知識提取到目標檢測模型中,擴大檢測器詞匯量,如 ViLD、HierKD、ZSD - YOLO 等通過不同方式進行知識蒸餾,實現開放詞匯目標檢測。
  • 語義分割的知識蒸餾(Knowledge Distillation for Semantic Segmentation):利用 VLM 擴大語義分割模型詞匯量,實現開放詞匯語義分割或弱監督語義分割,如 CLIPSeg、LSeg、ZegCLIP 等采用不同策略進行知識蒸餾。

?三、VLM基礎

VLM預訓練[10,17]旨在預訓練一個VLM以學習圖像文本相關性,目標是在視覺識別任務[6,55,56]上進行有效的零樣本預測。給定圖像文本對[20,21],它首先使用文本編碼器和圖像編碼器提取圖像和文本特征[6,14,57,58],然后通過某些預訓練目標[10,17]學習視覺語言相關性。因此,VLM可以通過匹配任何給定圖像和文本的嵌入,以零樣本方式[10,17]在未見數據上進行評估。本節介紹VLM預訓練的基礎,包括用于提取圖像和文本特征的常見網絡架構、用于建模視覺語言相關性的預訓練目標、VLM預訓練的框架以及用于VLM評估的下游任務。

?(一)網絡架構

VLM預訓練使用深度神經網絡從預訓練數據集\(D=\{x_{n}^{I}, x_{n}^{T}\}_{n = 1}^{N}\)中的\(N\)個圖像文本對中提取圖像和文本特征,其中\(x_{n}^{I}\)和\(x_{n}^{T}\)分別表示一個圖像樣本及其配對的文本樣本。深度神經網絡有一個圖像編碼器\(f_{\theta}\)和一個文本編碼器\(f_{\phi}\),它們將圖像和文本(來自圖像文本對\(\{x_{n}^{I}, x_{n}^{T}\}\))分別編碼為圖像嵌入\(z_{n}^{I}=f_{\theta}(x_{n}^{I})\)和文本嵌入\(z_{n}^{T}=f_{\phi}(x_{n}^{T})\)。本節介紹在VLM預訓練中廣泛采用的深度神經網絡架構。

1. 學習圖像特征的架構:兩種類型的網絡架構已被廣泛用于學習圖像特征,即基于CNN的架構和基于Transformer的架構。

基于CNN的架構:不同的卷積神經網絡(如VGG[5]、ResNet[6]和EfficientNet[59])已被設計用于學習圖像特征。作為VLM預訓練中最受歡迎的卷積神經網絡之一,ResNet[6]在卷積塊之間采用跳躍連接,減輕了梯度消失和爆炸問題,使得構建非常深的神經網絡成為可能。為了更好地進行特征提取和視覺語言建模,一些研究[10]對原始網絡架構[6,59]進行了修改。以ResNet為例,他們引入了ResNet - D[60],在[61]中采用了抗鋸齒矩形2模糊池化,并在Transformer多頭注意力中用注意力池化取代了全局平均池化。

基于Transformer的架構:Transformer最近在視覺識別任務中得到了廣泛探索,如圖像分類[57]、目標檢測[62]和語義分割[63]。作為用于圖像特征學習的標準Transformer架構,ViT[57]采用了一堆Transformer塊,每個塊由一個多頭自注意力層和一個前饋網絡組成。輸入圖像首先被分割成固定大小的補丁,然后在進行線性投影和位置嵌入后輸入到Transformer編碼器中。[10,18,64]通過在Transformer編碼器之前添加一個歸一化層對ViT進行了修改。

2. 學習語言特征的架構:Transformer及其變體[14,16,58]已被廣泛用于學習文本特征。標準的Transformer[58]具有編碼器 - 解碼器結構,其中編碼器有6個塊,每個塊都有一個多頭自注意力層和一個多層感知機(MLP)。解碼器也有6個塊,每個塊都有一個多頭注意力層、一個掩碼多頭層和一個MLP。大多數VLM研究(如CLIP[10])采用標準的Transformer[58],并進行了一些小的修改(如\(GPT _{2}\) [16]),并且在沒有使用\(GPT2\)權重初始化的情況下從頭開始訓練。

?(二)VLM預訓練目標

作為VLM的核心,人們設計了各種視覺語言預訓練目標[10,12,14,19,42,65,66,67]來學習豐富的視覺語言相關性。它們大致可分為三類:對比目標、生成目標和對齊目標。

1. 對比目標:對比目標通過在特征空間中將配對樣本拉近,將其他樣本推開,來訓練VLM學習判別性表示[10,12,65]。

圖像對比學習旨在學習判別性圖像特征[12,13],通過在嵌入空間中,使查詢圖像與其正樣本(即其數據增強版本)靠近,與負樣本(即其他圖像)遠離。給定一批\(B\)張圖像,對比學習目標(例如InfoNCE[68]及其變體[12,13])通常如下定義:

\[\mathcal{L}_{I}^{InfONCE }=-\frac{1}{B} \sum_{i=1}^{B} \log \frac{\exp \left(z_{i}^{I} \cdot z_{+}^{I} / \tau\right)}{\sum_{j=1, j \neq i}^{B+1} \exp \left(z_{i}^{I} \cdot z_{j}^{I} / \tau\right)}\]
其中,\(z_{i}^{I}\)是查詢嵌入,\(\{z_{j}^{I}\}_{j = 1, j \neq i}^{B + 1}\)是鍵嵌入,\(z_{+}^{I}\)代表\(z_{i}^{I}\)的正樣本鍵,其余為\(z_{i}^{I}\)的負樣本鍵。\(\tau\)是一個溫度超參數,用于控制學習到的表示的密度。

圖像 - 文本對比學習:旨在學習判別性的圖像 - 文本表示,通過拉近配對圖像和文本的嵌入,同時推開其他的[10,17]。這通常通過最小化對稱的圖像 - 文本InfoNCE損失[10]來實現,即\(\mathcal{L}_{infoNCE }^{IT}=\mathcal{L}_{I \to T}+\mathcal{L}_{T \to I}\),其中\(\mathcal{L}_{I \to T}\)將查詢圖像與文本鍵進行對比,\(\mathcal{L}_{T \to I}\)將查詢文本與圖像鍵進行對比。給定一批\(B\)個圖像 - 文本對,\(\mathcal{L}_{I \to T}\)和\(\mathcal{L}_{T \to I}\)定義如下:
\[\mathcal{L}_{I \to T}=-\frac{1}{B} \sum_{i=1}^{B} \log \frac{\exp \left(z_{i}^{I} \cdot z_{i}^{T} / \tau\right)}{\sum_{j=1}^{B} \exp \left(z_{i}^{I} \cdot z_{j}^{T} / \tau\right)}\]
\[\mathcal{L}_{T \to I}=-\frac{1}{B} \sum_{i=1}^{B} \log \frac{\exp \left(z_{i}^{T} \cdot z_{i}^{I} / \tau\right)}{\sum_{j=1}^{B} \exp \left(z_{i}^{T} \cdot z_{j}^{I} / \tau\right)}\]
其中,\(z^{I}\)和\(z^{T}\)分別表示圖像嵌入和文本嵌入。

圖像 - 文本 - 標簽對比學習:圖像 - 文本 - 標簽對比學習[65]將監督對比學習[69]引入圖像 - 文本對比學習中,通過重新表述公式(2)和(3)來定義,如下所示:
\[\mathcal{L}_{I \to T}^{ITL}=-\sum_{i=1}^{B} \frac{1}{|\mathcal{P}(i)|} \sum_{k \in \mathcal{P}(i)} \log \frac{\exp \left(z_{i}^{I} \cdot z_{k}^{T} / \tau\right)}{\sum_{j=1}^{B} \exp \left(z_{i}^{I} \cdot z_{j}^{T} / \tau\right)}\]
\[\mathcal{L}_{T \to I}^{ITL}=-\sum_{i=1}^{B} \frac{1}{|\mathcal{P}(i)|} \sum_{k \in \mathcal{P}(i)} \log \frac{\exp \left(z_{i}^{T} \cdot z_{k}^{I} / \tau\right)}{\sum_{j=1}^{B} \exp \left(z_{i}^{T} \cdot z_{j}^{I} / \tau\right)}\]
其中,\(k \in \mathcal{P}(i)=\{k | k \in B, y_{k}=y_{i}\}\)[65],\(y\)是\((z^{I}, z^{T})\)的類別標簽。通過公式(4)和(5),圖像 - 文本 - 標簽InfoNCE損失定義為:\(\mathcal{L}_{infoNCE }^{ITL}=\mathcal{L}_{I \to T}^{ITL}+\mathcal{L}_{T \to I}^{ITL}\)。

2. 生成目標:生成目標通過訓練網絡生成圖像/文本數據(通過圖像生成[12,70]、語言生成[14,19]或跨模態生成[42])來學習語義特征。

掩碼圖像建模:通過掩碼和重建圖像來學習跨補丁相關性[41,70]。它隨機掩碼輸入圖像的一組補丁,并訓練編碼器根據未掩碼的補丁重建被掩碼的補丁。給定一批\(B\)張圖像,損失函數可表示為:
\[\mathcal{L}_{MIM}=-\frac{1}{B} \sum_{i=1}^{B} \log f_{\theta}\left(\overline{x}_{i}^{I} | \hat{x}_{i}^{I}\right)\]
其中,\(\overline{x}_{i}^{I}\)和\(\hat{x}_{i}^{I}\)分別表示\(x_{i}^{I}\)中的掩碼補丁和未掩碼補丁。

掩碼語言建模:是自然語言處理中廣泛采用的預訓練目標[14]。它隨機掩碼輸入文本標記的一定百分比(例如BERT[14]中為15%),并使用未掩碼的標記重建它們:
\[\mathcal{L}_{MLM}=-\frac{1}{B} \sum_{i=1}^{B} \log f_{\phi}\left(\overline{x}_{i}^{T} | \hat{x}_{i}^{T}\right)\]
其中,\(\overline{x}_{i}^{T}\)和\(\hat{x}_{i}^{T}\)分別表示\(x_{i}^{T}\)中的掩碼標記和未掩碼標記。\(B\)表示批量大小。

掩碼跨模態建模:集成了掩碼圖像建模和掩碼語言建模[42]。給定一個圖像 - 文本對,它隨機掩碼圖像補丁的一個子集和文本標記的一個子集,然后學習根據未掩碼的圖像補丁和未掩碼的文本標記重建它們,如下所示:
\[\mathcal{L}_{MCM}=-\frac{1}{B} \sum_{i=1}^{B}\left[\log f_{\theta}\left(\overline{x}_{i}^{I} | \hat{x}_{i}^{I}, \hat{x}_{i}^{T}\right)+\log f_{\phi}\left(\overline{x}_{i}^{T} | \hat{x}_{i}^{I}, \hat{x}_{i}^{T}\right)\right]\]
其中,\(\overline{x}_{i}^{I} / \hat{x}_{i}^{I}\)表示\(x_{i}^{I}\)中的掩碼/未掩碼補丁,\(\overline{x}_{i}^{T} / \hat{x}_{i}^{T}\)表示\(x_{i}^{T}\)中的掩碼/未掩碼文本標記。

圖像到文本生成:旨在基于與\(x^{T}\)配對的圖像自回歸地預測文本\(x^{T}\)[19]:
\[\mathcal{L}_{ITG}=-\sum_{l=1}^{L} \log f_{\theta}\left(x^{T} | x_{<l}^{T}, z^{I}\right)\]
其中,\(L\)表示要為\(x^{T}\)預測的標記數量,\(z^{I}\)是與\(x^{T}\)配對的圖像的嵌入。

3. 對齊目標:對齊目標通過在嵌入空間中進行全局圖像 - 文本匹配[71,72]或局部區域 - 詞匹配[45,67]來對齊圖像 - 文本對。

圖像 - 文本匹配:對圖像和文本之間的全局相關性進行建模[71,72],可以用一個評分函數\(\mathcal{S}(\cdot)\)和一個二元分類損失來表示,評分函數\(\mathcal{S}(\cdot)\)用于衡量圖像和文本之間的對齊概率:
\[\mathcal{L}_{IT}=p \log \mathcal{S}\left(z^{I}, z^{T}\right)+(1 - p) \log \left(1-\mathcal{S}\left(z^{I}, z^{T}\right)\right)\]
其中,如果圖像和文本是配對的,\(p\)為1,否則為0。

區域 - 詞匹配:旨在對圖像 - 文本對中的局部跨模態相關性(即“圖像區域”和“詞”之間)進行建模[45,67],這對目標檢測等密集視覺識別任務非常有幫助。它可以表示為:
\[\mathcal{L}_{RW}=p \log \mathcal{S}^{r}\left(r^{I}, w^{T}\right)+(1 - p) \log \left(1-\mathcal{S}^{r}\left(r^{I}, w^{T}\right)\right)\]
其中,\((r^{I}, w^{T})\)表示一個區域 - 詞對,如果區域和詞是配對的,\(p = 1\),否則\(p = 0\)。\(\mathcal{S}^{r}(\cdot)\)表示一個局部評分函數,用于衡量“圖像區域”和“詞”之間的相似性。

?(三)VLM預訓練框架

本節介紹在VLM預訓練中廣泛采用的框架,包括雙塔、雙腿和單塔預訓練框架。

具體來說,雙塔框架在VLM預訓練中被廣泛應用[10,17],其中輸入圖像和文本分別由兩個獨立的編碼器進行編碼,如圖5(a)所示。略有不同的是,雙腿框架[19,42]引入了額外的多模態融合層,使得圖像和文本模態之間能夠進行特征交互,如圖5(b)所示。相比之下,單塔VLM[43,44]試圖在單個編碼器中統一視覺和語言學習,如圖5(c)所示,旨在促進數據模態之間的高效通信。

這張圖展示了視覺語言模型(VLM)預訓練的三種框架,分別是雙塔(Two - Tower)、雙腿(Two - Leg)和單塔(One - Tower)VLM,具體如下:

(a)雙塔 VLM(Two - Tower VLM)

  • 結構:由獨立的圖像深度神經網絡文本深度神經網絡組成。輸入圖像進入圖像深度神經網絡,生成圖像嵌入;輸入文本進入文本深度神經網絡,生成文本嵌入。
  • 原理:通過預訓練目標,分別對圖像和文本進行特征提取,然后學習圖像嵌入和文本嵌入之間的關系。這種框架下,圖像和文本的處理是相對獨立的,在后續通過預訓練目標來建立兩者聯系。

(b)雙腿 VLM(Two - Leg VLM)

  • 結構:同樣包含圖像深度神經網絡和文本深度神經網絡,但在兩者之上增加了多模態融合層(Multi - modal Fusion Layers) 。輸入圖像經圖像深度神經網絡生成圖像嵌入,輸入文本經文本深度神經網絡生成文本嵌入,然后兩者進入多模態融合層。
  • 原理:在分別提取圖像和文本特征后,利用多模態融合層促進圖像和文本模態之間的特征交互,使得模型能夠更好地學習到兩種模態之間的關聯,相比雙塔結構,增強了模態間的信息交流。

(c)單塔 VLM(One - Tower VLM)

  • 結構:使用統一的深度神經網絡。輸入的圖像和文本共同進入這個統一的深度神經網絡,直接生成圖像和文本嵌入
  • 原理:在單個網絡中統一視覺和語言學習,能夠更高效地促進數據模態之間的通信,減少了雙塔或雙腿結構中可能存在的模態間信息傳遞障礙,從整體上對圖像和文本進行聯合處理和特征提取。

?(四)評估設置和下游任務

本節介紹在VLM評估中廣泛采用的設置和下游任務。設置包括零樣本預測和線性探測,下游任務包括圖像分類、目標檢測、語義分割、圖像 - 文本檢索和動作識別。

1. 零樣本預測:作為評估VLM泛化能力最常用的方法[10,17,18,64,84],零樣本預測直接將預訓練的VLM應用于下游任務,而無需任何特定任務的微調[10]。

圖像分類[5,6]旨在將圖像分類到預定義的類別中。VLM通過比較圖像和文本的嵌入來實現零樣本圖像分類,其中“提示工程”通常用于生成與任務相關的提示,如“一張[標簽]的照片”[10]。

語義分割[56]旨在為圖像中的每個像素分配一個類別標簽。預訓練的VLM通過比較給定圖像像素和文本的嵌入,實現分割任務的零樣本預測。

??? 目標檢測[11,55]旨在定位和分類圖像中的物體,這對各種視覺應用都很重要。借助從輔助數據集[85,86]學習到的物體定位能力,預訓練的VLM通過比較給定物體提案和文本的嵌入,實現目標檢測任務的零樣本預測。

??? 圖像 - 文本檢索[87]旨在根據一種模態的線索從另一種模態中檢索所需的樣本,它包括兩個任務,即基于文本檢索圖像的文本到圖像檢索和基于圖像檢索文本的圖像到文本檢索。

2. 線性探測:在VLM評估中被廣泛采用[10]。它凍結預訓練的VLM,并訓練一個線性分類器對VLM編碼的嵌入進行分類,以評估VLM的表示。圖像分類[5,6]和動作識別[28,29]在這種評估中被廣泛應用,其中在動作識別任務中,視頻剪輯通常被下采樣以進行高效識別[10]。

?四、數據集

本節總結了VLM預訓練和評估中常用的數據集,詳細內容見表1和表2。

?(一)VLM預訓練數據集

對于VLM預訓練,人們從互聯網上收集了多個大規模圖像 - 文本數據集[10,17,20,21]。與傳統的眾包標注數據集[40,90,110]相比,圖像 - 文本數據集[10,21]規模更大且收集成本更低。例如,近期的圖像 - 文本數據集通常達到數十億規模[20,21,83]。除了圖像 - 文本數據集,一些研究[19,43,45,67]利用輔助數據集提供額外信息,以實現更好的視覺語言建模。例如,GLIP[67]利用Object365[85]來提取區域級特征。VLM預訓練的圖像 - 文本數據集和輔助數據集的詳細信息見在線附錄B。

?(二)VLM評估數據集

許多數據集已被用于VLM評估,如表2所示,包括27個用于圖像分類的數據集、4個用于目標檢測的數據集、4個用于語義分割的數據集、2個用于圖像 - 文本檢索的數據集和3個用于動作識別的數據集(數據集詳細信息見在線附錄C)。例如,這27個圖像分類數據集涵蓋了從細粒度任務(如用于寵物識別的Oxford - IIIT PETS[26]和用于汽車識別的Stanford Cars[25])到通用任務(如ImageNet[40])等廣泛的視覺識別任務。

?五、視覺語言模型預訓練


VLM預訓練探索了三種典型目標:對比目標、生成目標和對齊目標。本節結合多個VLM預訓練研究(見表3)對它們進行回顧。

?(一)基于對比目標的VLM預訓練

對比學習在VLM預訓練中得到了廣泛探索,它設計對比目標來學習判別性的圖像 - 文本特征[10,64,113]。

1. 圖像對比學習:此預訓練目標旨在學習圖像模態中的判別性特征,通常作為充分挖掘圖像數據潛力的輔助目標。例如,SLIP[64]采用公式(1)中定義的標準InfoNCE損失來學習判別性圖像特征。

2. 圖像 - 文本對比學習:圖像 - 文本對比旨在通過對比圖像 - 文本對來學習視覺 - 語言相關性,即將配對圖像和文本的嵌入拉近,同時推開其他圖像和文本的嵌入[10]。例如,CLIP[10]采用公式(2)中的對稱圖像 - 文本InfoNCE損失,通過圖像和文本嵌入之間的點積來衡量圖像 - 文本相似性,如圖6所示。預訓練的VLM因此學習到圖像 - 文本相關性,從而能夠在下游視覺識別任務中進行零樣本預測。

這張圖展示了視覺語言模型(VLM)中圖像和文本特征的編碼及對比過程,具體如下:

文本處理部分

  • 輸入文本(Input texts),如 “A running puppy...” ,進入文本編碼器(Text Encoder)。
  • 文本編碼器對輸入文本進行處理,輸出多個文本嵌入(Text Embeddings),表示為\(z_{1}^{T}, z_{2}^{T}, \cdots, z_{B}^{T}\)?,這里的B表示批量大小,即一次處理的文本數量。

圖像處理部分

  • 輸入圖像(Input images),例如小狗奔跑的圖片,進入圖像編碼器(Image Encoder)。
  • 圖像編碼器對輸入圖像進行處理,輸出多個圖像嵌入(Image Embeddings),表示為\(z_{1}^{I}, z_{2}^{I}, \cdots, z_{B}^{I}\)?,同樣B為批量大小。

特征對比部分

  • 將圖像嵌入和文本嵌入進行點積運算,形成一個矩陣。矩陣中的每個元素\(z_{i}^{I} \cdot z_{j}^{T}\)表示第i個圖像嵌入和第j個文本嵌入的相似度得分。通過這種方式,模型可以學習到圖像和文本之間的對應關系,常用于圖像 - 文本對比學習的預訓練目標中,以衡量圖像和文本之間的相似性,從而實現視覺語言相關性的建模。

CLIP巨大成功的啟發,許多研究從不同角度改進了對稱圖像 - 文本InfoNCE損失。例如,ALIGN[17]通過大規模(即18億)但有噪聲的圖像 - 文本對和抗噪聲對比學習來擴大VLM預訓練規模。

一些研究[112,113,114]則探索用更少的圖像 - 文本對進行數據高效的VLM預訓練。例如,DeCLIP[113]引入最近鄰監督來利用相似對的信息,使得在有限數據上進行有效預訓練成為可能。OTTER[112]采用最優傳輸對圖像和文本進行偽配對,大大減少了所需的訓練數據。ZeroVL[114]通過去偏數據采樣和拋硬幣混合的數據增強方法,利用有限的數據資源。

另一系列后續研究[18,116,129]旨在通過在各種語義級別上進行圖像 - 文本對比學習,實現全面的視覺 - 語言相關性建模。例如,FILIP[18]將區域 - 詞對齊引入對比學習,能夠學習細粒度的視覺 - 語言對應知識。PyramidCLIP[116]構建多個語義級別,并進行跨級別和同級別的對比學習,以實現有效的VLM預訓練。

此外,一些近期研究通過增強圖像 - 文本對進一步改進[125,126,127,128]。例如,LA - CLIP[126]和ALIP[127]使用大語言模型為給定圖像生成合成字幕,而RA - CLIP[125]檢索相關的圖像 - 文本對來增強圖像 - 文本對。為了促進數據模態之間的高效通信,[44]和[43]嘗試在單個編碼器中統一視覺和語言學習。

3. 圖像 - 文本 - 標簽對比學習:這種預訓練類型將圖像分類標簽[65]引入圖像 - 文本對比中(如公式(4)所定義),將圖像、文本和分類標簽編碼到一個共享空間中,如圖7所示。它既利用了有圖像標簽的監督預訓練,又利用了有圖像 - 文本對的無監督VLM預訓練。正如UniCL[65]中所報道的,這種預訓練允許同時學習判別性和特定任務(即圖像分類)的特征。[115]中的后續工作用約9億個圖像 - 文本對擴展了UniCL,在各種下游識別任務中取得了出色的性能。

這張圖展示了圖像 - 標簽對、圖像 - 文本對以及圖像 - 文本 - 標簽對之間的關系,具體如下:

圖像 - 標簽對(Image - label pairs)

圖中展示了兩組圖像 - 標簽對,分別是標注為 “[dog]” 的狗的圖像,以及標注為 “[cat]” 的貓的圖像 。這部分體現了傳統的圖像分類中,圖像與對應類別標簽的關聯關系,是一種簡單的視覺與語義標簽的映射。

圖像 - 文本對(Image - text pairs)

圖中展示了另外兩組圖像 - 文本對,分別是描述 “一只正在睡覺的貓(A cat is sleeping.)” 的貓的圖像,以及描述 “一只狗在玩球(A dog is playing with a ball.)” 的狗的圖像 。這體現了視覺語言模型中,圖像與自然語言描述之間的對應關系,強調了圖像和文本信息的結合。

圖像 - 文本 - 標簽對(Image - text - label pairs)

圖中用橙色虛線框將上述兩種關系整合起來,形成圖像 - 文本 - 標簽對 。它將圖像、文本描述以及類別標簽三者關聯在一起,在視覺語言模型預訓練中,這種三元組可以為模型提供更豐富的信息,有助于學習更全面的視覺語言相關性,例如在圖像 - 文本 - 標簽對比學習中發揮作用,使模型能更好地理解圖像內容、文本語義以及它們對應的類別信息。

?4. 討論:對比目標強制正樣本對在嵌入上與負樣本對不同。它們鼓勵VLM學習判別性的視覺和語言特征[10,17],通常更具判別性的特征會帶來更自信和準確的零樣本預測。然而,對比目標有兩個局限性:(1)聯合優化正樣本對和負樣本對既復雜又具有挑戰性[10,17];(2)它涉及一個啟發式的溫度超參數,用于控制特征的可區分性,如第三節 - B1所述。

?(二)基于生成目標的VLM預訓練

生成式VLM預訓練通過掩碼圖像建模、掩碼語言建模、掩碼跨模態建模和圖像到文本生成來學習生成圖像或文本,從而學習語義知識。

1. 掩碼圖像建模:該預訓練目標通過對圖像進行掩碼和重建來學習圖像上下文信息,如公式(6)所定義。在掩碼圖像建模(例如MAE[41]和BeiT[70])中,圖像中的某些補丁被掩碼,編碼器被訓練根據未掩碼的補丁來重建這些被掩碼的補丁,如圖8所示。例如,FLAVA[42]采用了與BeiT[70]中類似的矩形塊掩碼,而KELIP[120]和SegCLIP[46]在訓練中遵循MAE,掩碼掉大部分(即75%)的補丁。

這張圖展示了掩碼圖像建模(Masked Image Modelling)的過程,這是視覺語言模型預訓練中的一種生成式目標方法,具體步驟如下:(有一種自監督的感覺)

輸入圖像(Input Image)

原始圖像被劃分為多個圖像塊(patches) ,圖中以灰色和藍色方塊表示不同的圖像塊,這些圖像塊構成了輸入圖像的整體。

掩碼操作

部分圖像塊被掩碼(masked) ,圖中以灰色方塊表示被掩碼的圖像塊,藍色方塊表示未被掩碼的圖像塊。通過這種方式,模型無法直接獲取被掩碼部分的信息,需要根據未掩碼的圖像塊來推斷被掩碼部分的內容。

圖像編碼器(Image Encoder)

未被掩碼的圖像塊(藍色方塊)輸入到圖像編碼器中 。圖像編碼器對這些未被掩碼的圖像塊進行特征提取,將其轉換為特征表示,圖中以橙色方塊表示經過編碼器處理后的特征。

圖像解碼器(Image Decoder)

圖像解碼器接收來自圖像編碼器的特征表示(橙色方塊) ,并嘗試根據這些特征重建被掩碼的圖像塊。圖中綠色方塊表示解碼器輸出的重建后的圖像塊,最終組合成輸出圖像(Output Image) 。

輸出圖像(Output Image)

經過圖像解碼器的重建,得到完整的輸出圖像 ,其目標是盡可能恢復原始輸入圖像的樣子,尤其是被掩碼部分的內容。通過不斷調整模型參數,使重建的圖像與原始圖像接近,從而讓模型學習到圖像的上下文信息和結構特征

2. 掩碼語言建模:掩碼語言建模是自然語言處理中廣泛采用的預訓練目標[14],在VLM預訓練的文本特征學習中也證明了其有效性。它的工作方式是掩碼每個輸入文本中的一部分標記,并訓練網絡預測被掩碼的標記,如圖9所示。遵循[14],FLAVA[42]掩碼掉15%的文本標記,并從其余標記中重建它們,以建模單詞之間的相關性。FIBER[71]采用掩碼語言建模[14]作為VLM預訓練目標之一,以提取更好的語言特征。

?這張圖展示了掩碼語言建模(Masked Language Modelling)的過程,是自然語言處理和視覺語言模型預訓練中常用的一種方法,具體如下:

輸入文本(Input Text)

圖中輸入文本為 “the cat is very cute !” ,文本中的每個詞(token)都被單獨處理。每個詞都對應一個詞嵌入(Token Embedding) ,如 “the” 對應\(e_{the}\)?,“cat” 對應\(e_{cat}\)?等。同時,每個詞在文本中的位置也對應一個位置嵌入(Position Embedding) ,如\(e_0\)、\(e_1\)等。將詞嵌入和位置嵌入相加,得到每個詞最終輸入到模型中的表示。

掩碼操作

文本中的 “cute” 一詞被掩碼(mask) ,圖中用紅色叉號和 “[mask]” 標識。在掩碼語言建模中,通常會隨機選擇一定比例(如 BERT 中為 15% )的詞進行掩碼處理。

Transformer 編碼器(Transformer Encoder)

經過嵌入處理且包含掩碼詞的輸入文本進入 Transformer 編碼器 。Transformer 編碼器通過自注意力機制等操作,對文本中的各個詞之間的關系進行建模,學習文本的語義信息。

預測(Prediction)

Transformer 編碼器輸出的特征表示用于預測被掩碼的詞 。模型根據上下文信息,嘗試預測出被掩碼詞 “cute” ,通過不斷調整模型參數,使預測結果盡可能接近真實的被掩碼詞,從而讓模型學習到詞與詞之間的語義關聯和語言結構。

3. 掩碼跨模態建模:掩碼跨模態建模如公式(8)所定義,聯合掩碼和重建圖像補丁和文本標記,它繼承了掩碼圖像建模和掩碼語言建模的優點。其工作方式是掩碼一定比例的圖像補丁和文本標記,并訓練VLM根據未掩碼的圖像補丁和文本標記的嵌入來重建它們。例如,FLAVA[42]像[70]中那樣掩碼約40%的圖像補丁,像[14]中那樣掩碼15%的文本標記,然后使用多層感知器(MLP)來預測被掩碼的補丁和標記,從而捕獲豐富的視覺語言對應信息。

4. 圖像到文本生成:圖像到文本生成旨在為給定圖像生成描述性文本,通過訓練VLM預測標記化文本,捕捉細粒度的視覺語言相關性。它首先將輸入圖像編碼為中間嵌入,然后將其解碼為描述性文本,如公式(9)所定義。例如,COCA[19]、NLIP[123]和PaLI[83]使用標準的編碼器 - 解碼器架構和圖像字幕目標來訓練VLM,如圖10所示。

圖10。COCA [19]中圖像到字幕生成的簡化圖示。圖是根據[19]復制的。?

這張圖展示了圖像到文本生成(Image - to - Text Generation)的過程,是視覺語言模型預訓練中基于生成目標的一種方法,用于為給定圖像生成描述性文本,具體步驟如下:

輸入圖像(Input Image)

原始圖像首先進入圖像編碼器(Image Encoder) 。圖像編碼器將輸入圖像劃分為多個圖像塊(圖中以小圖片表示),并對這些圖像塊進行特征提取,輸出圖像的特征表示。

輸入文本(Input Text)

輸入文本(如 “A dog is playing with a ball” )進入單模態文本編碼器(Uni - modal Text Encoder) 。單模態文本編碼器對輸入文本中的每個詞進行處理,將其轉換為文本特征表示。

跨注意力機制(Cross - Attention)

圖像編碼器輸出的圖像特征表示與單模態文本編碼器輸出的文本特征表示,通過跨注意力機制(Cross - Attention)進行交互 。跨注意力機制使得模型能夠在圖像特征和文本特征之間建立聯系,讓模型知道圖像中的哪些部分與文本中的哪些詞相對應。

多模態文本解碼器(Multi - modal Text Decoder)

經過跨注意力機制交互后的特征輸入到多模態文本解碼器(Multi - modal Text Decoder) 。多模態文本解碼器基于這些融合的特征,自回歸地預測文本,即根據已生成的詞來預測下一個詞。

字幕損失(Captioning Loss)

多模態文本解碼器輸出的預測文本與輸入文本進行對比,計算字幕損失(Captioning Loss) 。通過最小化這個損失,不斷調整模型參數,使生成的文本盡可能接近真實的圖像描述,從而讓模型學習到如何根據圖像生成準確的文本描述,捕捉細粒度的視覺語言相關性。

5. 討論:生成目標通過跨模態生成或掩碼圖像/語言/跨模態建模來工作,鼓勵VLM學習豐富的視覺、語言和視覺語言上下文,以實現更好的零樣本預測。因此,生成目標通常作為其他VLM預訓練目標之上的附加目標,用于學習豐富的上下文信息[19,42,113]。

?(三)基于對齊目標的VLM預訓練

對齊目標通過學習預測給定文本是否正確描述給定圖像,來強制VLM對齊配對的圖像和文本。在VLM預訓練中,它大致可分為全局圖像文本匹配和局部區域詞匹配。

1. 圖像文本匹配:圖像文本匹配通過直接對齊配對的圖像和文本,對全局圖像文本相關性進行建模,如公式(10)所定義。例如,給定一批圖像文本對,FLAVA[42]通過一個分類器和一個二元分類損失,將給定圖像與其配對文本進行匹配。FIBER[71]遵循[72],通過成對相似性挖掘難負樣本,以更好地對齊圖像和文本。

2. 區域詞匹配:區域詞匹配目標通過對齊配對的圖像區域和詞標記,對局部細粒度的視覺語言相關性進行建模,這對目標檢測和語義分割等零樣本密集預測任務有很大幫助。例如,GLIP[67]、FIBER[71]和DetCLIP[45]用區域詞對齊分數(即區域視覺特征和標記級特征之間的點積相似性)取代物體分類的邏輯值,如圖11所示。

圖11。GLIP [67]使用字區對齊進行檢測的圖示。圖摘自[67]。 這張圖展示了基于區域 - 詞匹配(Region - Word Matching)的視覺語言模型處理過程,用于在視覺識別任務中建立圖像區域和文本詞匯之間的關聯,具體如下:

輸入部分

  • 文本輸入:給出提示文本(Prompted Texts),如 “A person is eating hot dogs and holding a cup” ,這些文本進入文本編碼器(Text Encoder) 。文本編碼器對文本進行處理,將每個詞轉換為詞嵌入(word embeddings),表示為\(w_{1}^{T}, w_{2}^{T}, \cdots, w_{L}^{T}\)?,其中L是文本中詞的數量。
  • 圖像輸入:輸入圖像進入圖像編碼器(Image Encoder) 。圖像編碼器將圖像劃分為多個區域(圖中以不同的矩形框表示),并為每個區域提取特征,得到區域特征(region features),表示為\(r_{1}^{I}, r_{2}^{I}, \cdots, r_{K}^{I}\)?,其中K是圖像中區域的數量。

深度融合(Deep Fusion)

圖像編碼器輸出的區域特征和文本編碼器輸出的詞嵌入,通過深度融合模塊進行交互 。該模塊計算區域特征和詞嵌入之間的點積,得到詞 - 區域對齊分數(Word - Region Alignment Score) ,即矩陣中的每個元素\(r_{i}^{I} \cdot w_{j}^{T}\)表示第i個區域特征和第j個詞嵌入的相似性得分。

損失計算

  • 定位損失(Localization Loss):用于衡量模型對圖像中物體定位的準確性,通過區域特征與相關詞嵌入的匹配情況計算得出。
  • 對齊損失(Alignment Loss):用于衡量圖像區域和文本詞匯之間的對齊程度,通過詞 - 區域對齊分數與真實對應關系的差異計算得出。通過最小化這兩種損失,不斷調整模型參數,使模型能夠更好地建立圖像區域和文本詞匯之間的對應關系,有助于在目標檢測、語義分割等密集視覺識別任務中實現更準確的預測。

3. 討論:對齊目標學習預測給定的圖像和文本數據是否匹配,它們簡單且易于優化,并且可以通過局部匹配圖像和文本數據,輕松擴展以對細粒度的視覺語言相關性進行建模。另一方面,它們通常在視覺或語言模態內學習到的相關信息較少。因此,對齊目標通常作為其他VLM預訓練目標的輔助損失,以增強對視覺和語言模態之間相關性的建模[42,121]。

?(四)總結與討論

總之,VLM預訓練通過不同的跨模態目標(如圖像文本對比學習、掩碼跨模態建模、圖像到文本生成以及圖像文本/區域詞匹配)對視覺語言相關性進行建模。各種單模態目標也被探索,以充分挖掘其自身模態的數據潛力,例如針對圖像模態的掩碼圖像建模和針對文本模態的掩碼語言建模。另一方面,近期的VLM預訓練側重于學習全局視覺語言相關性,這在圖像級識別任務(如圖像分類)中具有優勢。同時,一些研究[45,46,67,71,129,130,131]通過區域詞匹配對局部細粒度的視覺語言相關性進行建模,旨在在目標檢測和語義分割等任務中實現更好的密集預測。

?六、VLM遷移學習

除了直接將預訓練的VLM應用于下游任務而無需微調的零樣本預測之外,近期還研究了遷移學習,它通過提示調整[31,132]、特征適配器[33,34]等方法,使VLM適應下游任務。本節介紹預訓練VLM遷移學習的動機、常見的遷移學習設置,以及包括提示調整方法、特征適配器方法和其他方法在內的三種遷移學習方法。

?(一)遷移學習的動機

盡管預訓練的VLM展示出了強大的泛化能力,但在應用于各種下游任務時,它們通常面臨兩類差距:1)圖像和文本分布的差距,如下游數據集可能具有特定任務的圖像風格和文本格式;2)訓練目標的差距,如VLM通常使用與任務無關的目標進行訓練,學習通用概念,而下游任務通常涉及特定任務的目標,如粗粒度或細粒度分類、區域或像素級識別等。

?(二)遷移學習的常見設置

為了緩解第六節 - A中描述的領域差距,人們探索了三種遷移設置,包括監督遷移、少樣本監督遷移和無監督遷移。監督遷移使用所有有標簽的下游數據對預訓練的VLM進行微調,而少樣本監督遷移則更具標注效率,僅使用少量有標簽的下游樣本。不同的是,無監督遷移使用無標簽的下游數據對VLM進行微調。因此,它更具挑戰性,但對于VLM遷移來說更有前景且更高效。

?(三)常見的遷移學習方法

如表4所示,我們將現有的VLM遷移方法大致分為三類,包括提示調整方法、特征適配器方法和其他方法。

1. 通過提示調整進行遷移:受自然語言處理中“提示學習”[165]的啟發,許多VLM提示學習方法被提出,通過找到最優提示使VLM適應下游任務,而無需對整個VLM進行微調。大多數現有研究遵循文本提示調整、視覺提示調整和文本 - 視覺提示調整這三種方法。

??? - 文本提示調整遷移:與為每個任務手動設計文本提示的提示工程[165]不同,文本提示調整通過每個類別的幾個有標簽下游樣本,探索更有效和高效的可學習文本提示。例如,CoOp[31]探索上下文優化,使用可學習的詞向量為單個類名學習上下文詞。它將一個類別詞[標簽]擴展為一個句子“[V]1,[V]2.. [V]m[標簽]”,其中[V]表示可學習的詞向量,通過最小化與下游樣本的分類損失來進行優化,如圖12(a)所示。

圖12。(a)文本提示學習[31]和(B)視覺提示學習[147]的圖示。這張圖展示了兩種基于視覺語言模型的圖像分類遷移學習方法,分別是通過文本提示調整(Text Prompt Tuning)和視覺提示調整(Visual Prompt Tuning)來實現,具體如下:

(a)通過文本提示調整進行遷移(Text Prompt Tuning)

  • 可學習內容(Learnable Contents):對于每個類別(如 “dog”“cat”“bird” ),引入可學習的詞向量\([V_1, V_2, \cdots, V_m]\)?,將類別標簽(如 “dog” )擴展為一個句子 “[V_1, V_2, \cdots, V_m][label]” 。這里的可學習詞向量會在訓練過程中不斷調整,以優化文本表示。
  • 文本編碼器(Text Encoder):擴展后的文本進入文本編碼器,文本編碼器對其進行處理,得到文本特征表示。
  • 圖像編碼器(Image Encoder):輸入圖像(例如狗的圖片)進入圖像編碼器,提取圖像的視覺特征。
  • 分類損失(Classification Loss):將文本編碼器輸出的文本特征和圖像編碼器輸出的視覺特征進行結合,用于圖像分類,并計算分類損失。通過最小化分類損失,不斷調整可學習詞向量以及模型的其他參數,使模型能夠根據圖像和優化后的文本信息準確地對圖像進行分類。這種方法屬于提示調整遷移學習中的文本提示調整方式,通過學習可學習的文本內容來使模型適應下游的圖像分類任務。

(b)通過視覺提示調整進行遷移(Visual Prompt Tuning)

  • 視覺提示(Learnable Visual Prompt):對輸入圖像添加一個可學習的視覺提示(圖中以灰色方塊表示) ,與原始圖像進行融合,得到視覺提示圖像(Visual Prompted Image) 。可學習的視覺提示在訓練過程中不斷調整,以優化圖像表示。
  • 圖像編碼器(Image Encoder):視覺提示圖像進入圖像編碼器,提取調整后的視覺特征。
  • 文本編碼器(Text Encoder):對于不同的類別(如 “dog”“cat”“bird” ),使用固定的文本模板 “This is a photo of [label].” 生成文本提示,文本提示進入文本編碼器,得到文本特征表示。
  • 分類損失(Classification Loss):將文本編碼器輸出的文本特征和圖像編碼器輸出的調整后的視覺特征進行結合,用于圖像分類,并計算分類損失。通過最小化分類損失,不斷調整可學習的視覺提示以及模型的其他參數,使模型能夠根據調整后的圖像和文本信息準確地對圖像進行分類。這種方法屬于提示調整遷移學習中的視覺提示調整方式,通過學習可學習的視覺內容來使模型適應下游的圖像分類任務。

為了緩解提示學習中由于下游樣本有限而導致的過擬合問題,CoCoOp[32]探索條件上下文優化,為每個圖像生成特定的提示。SubPT[132]設計子空間提示調整,以提高學習到的提示的泛化能力。LASP[133]用手工設計的提示對可學習提示進行正則化。VPT[135]使用實例特定分布對文本提示進行建模,在下游任務上具有更好的泛化能力。KgCoOp[145]通過減輕文本知識的遺忘,增強了對未見類別的泛化能力。

此外,SoftCPT[141]同時在多個少樣本任務上對VLM進行微調,以從多任務學習中受益。PLOT[138]采用最優傳輸來學習多個提示,以描述一個類別的不同特征。DualCoOp[139]和TaI - DP[140]將VLM遷移到多標簽分類任務,其中DualCoOp采用正樣本和負樣本提示進行多標簽分類,而TaI - DP引入雙粒度提示調整,以捕獲粗粒度和細粒度的嵌入。DenseCLIP[142]探索語言引導的微調,使用視覺特征來調整文本提示,用于密集預測[55,56]。ProTeCt[146]提高了模型在分層分類任務中預測的一致性。

除了監督和少樣本監督提示學習之外,近期研究探索無監督提示調整,以提高標注效率和可擴展性。例如,UPL[143]通過對選定的偽標簽樣本進行自訓練來優化可學習提示。TPT[144]探索測試時提示調整,從單個下游樣本中學習自適應提示。

- 視覺提示調整遷移:與文本提示調整不同,視覺提示調整[148,166]通過調制圖像編碼器的輸入來遷移VLM,如圖12(b)所示。例如,VP[147]采用可學習的圖像擾動\(v\)來修改輸入圖像\(x^{I}\),修改方式為\(x^{I}+v\),旨在調整\(v\)以最小化識別損失。RePrompt[148]將檢索機制集成到視覺提示調整中,允許利用來自下游任務的知識。視覺提示調整能夠在像素級別適應下游任務,對它們尤其是密集預測任務有很大幫助。

?- 文本 - 視覺提示調整遷移:旨在同時調制文本和圖像輸入,從多模態的聯合提示優化中受益。例如,UPT[149]統一提示調整,以聯合優化文本和圖像提示,展示了這兩個提示調整任務的互補性。MVLPT[150]探索多任務視覺語言提示調整,將跨任務知識整合到文本和圖像提示調整中。MAPLE[151]通過對齊視覺提示和相應的語言提示進行多模態提示調整,實現文本提示和圖像提示之間的相互促進。CAVPT[152]在類感知視覺提示和文本提示之間引入交叉注意力,鼓勵視覺提示更多地關注視覺概念。

- 討論:提示調整通過用少量可學習的文本/圖像提示修改輸入文本/圖像,實現了參數高效的VLM遷移。它簡單且易于實現,并且幾乎不需要額外的網絡層或復雜的網絡修改。因此,提示調整允許以黑盒方式適應VLM,這在涉及知識產權問題的VLM遷移中具有明顯優勢。然而,它仍然存在一些局限性,例如在提示過程中,受原始VLM流形的限制,靈活性較低[31]。

2. 通過特征適配進行遷移:特征適配通過添加一個輕量級的特征適配器來微調VLM,以適應圖像或文本特征[167]。例如,ClipAdapter[33]在CLIP的語言和圖像編碼器之后插入幾個可訓練的線性層,并在保持CLIP架構和參數凍結的情況下對它們進行優化,如圖13所示。Tip - Adapter[34]提出了一種無需訓練的適配器,直接將少樣本有標簽圖像的嵌入作為適配器權重。SVL - Adapter[153]設計了一種自監督適配器,它使用一個額外的編碼器對輸入圖像進行自監督學習。總之,特征適配器使圖像和文本特征適應下游數據,為VLM遷移提供了一種有前景的替代提示調整的方法。

?圖13 特征adapter 。這張圖展示了一種基于視覺語言模型的圖像分類遷移學習方法,主要通過特征適配器(Feature Adapter)來實現,具體步驟如下:

文本處理部分

  • 文本提示(Text Prompt):對于不同的類別(如 “dog”“cat”“bird” ),使用固定的文本模板 “This is a photo of [label].” 生成文本提示。這里的 “[label]” 會被具體的類別標簽替換,例如對于 “dog” 類別,文本提示就是 “This is a photo of dog.”
  • 文本編碼器(Text Encoder):生成的文本提示進入文本編碼器進行處理,得到文本特征表示。文本編碼器通常是一個預訓練的語言模型,用于提取文本的語義信息。

圖像處理部分

  • 圖像編碼器(Image Encoder):輸入圖像(例如狗的圖片)進入圖像編碼器。圖像編碼器也是預訓練的模型,用于提取圖像的視覺特征。
  • 特征適配器(Feature Adapter):圖像編碼器輸出的視覺特征進入特征適配器。特征適配器是一個輕量級的可訓練模塊,其作用是對視覺特征進行調整,使其更好地適應下游任務(這里是圖像分類任務)。經過特征適配器處理后,得到適配后的特征(Adapted Features) 。

融合與分類

  • 將適配后的圖像特征與文本編碼器輸出的文本特征進行融合(圖中用圓圈內帶加號的符號表示融合操作) 。
  • 融合后的特征用于圖像分類,通過計算分類損失(Classification Loss) ,并利用損失來更新模型參數,從而使模型能夠根據圖像和文本的信息準確地對圖像進行分類,判斷圖像屬于哪個類別(如 “dog”“cat” 或 “bird” )。這種方法屬于視覺語言模型遷移學習中的一種,旨在通過添加特征適配器來調整預訓練模型的特征,以適應特定的圖像分類任務。

- 討論:特征適配通過添加輕量級特征適配器修改圖像和文本特征,從而使VLM適應下游任務。它靈活且有效,因為其架構和插入方式允許針對不同的下游任務進行靈活定制。因此,特征適配在使VLM適應非常不同和復雜的下游任務方面具有明顯優勢[168,169,170,171]。另一方面,它需要修改網絡架構,因此無法處理涉及知識產權問題的VLM。

3. 其他遷移方法:一些研究通過直接微調[162]、架構修改[163]和交叉注意力[157,158]來遷移VLM。具體來說,Wise - FT[162]結合微調后的VLM和原始VLM的權重,以從下游任務中學習新信息。MaskCLIP[163]通過修改CLIP圖像編碼器的架構來提取密集圖像特征。VT-CLIP[157]引入視覺引導注意力,使文本特征與下游圖像在語義上相關,從而獲得更好的遷移性能。CALIP[158]引入無參數注意力,實現視覺和文本特征之間的有效交互和通信,從而得到文本感知的圖像特征和視覺引導的文本特征。TaskRes[159]直接調整基于文本的分類器,以利用預訓練VLM中的舊知識。CuPL[160]和VCD[161]使用大語言模型(例如\(GPT_{3}\)[172])來增強文本提示,以學習豐富的判別性文本信息。

?(四)總結與討論

總之,提示調整和特征適配器是VLM遷移的兩種主要方法,它們分別通過修改輸入文本/圖像和適配圖像/文本特征來工作。此外,這兩種方法在凍結原始VLM的同時,都只引入了非常有限的參數,從而實現了高效遷移。此外,雖然大多數研究遵循少樣本監督遷移[31,32,132,134],但近期研究表明,無監督VLM遷移在各種任務上可以取得有競爭力的性能[143,144,160],這激發了對無監督VLM遷移的更多研究。

?七、VLM知識蒸餾

由于VLM捕獲了涵蓋廣泛視覺和文本概念的可泛化知識,一些研究探索如何在處理復雜的密集預測任務(如目標檢測和語義分割)時,提取VLM的通用且穩健的知識。本節介紹從VLM中提取知識的動機,以及在語義分割和目標檢測任務上的兩類知識蒸餾研究。

?(一)從VLM中提取知識的動機

與VLM遷移不同,VLM遷移通常在遷移過程中保持原始VLM架構不變[31,132,136],而VLM知識蒸餾在不限制VLM架構的情況下,將通用且穩健的VLM知識提取到特定任務模型中,這在處理各種密集預測任務時,有利于特定任務的設計[36,173,174]。例如,知識蒸餾允許將通用的VLM知識轉移到處理檢測任務中,同時利用最先進的檢測架構(如Faster R - CNN[55]和DETR[62])的優勢。

?(二)常見的知識蒸餾方法

由于VLM通常使用為圖像級表示設計的架構和目標進行預訓練,大多數VLM知識蒸餾方法側重于將圖像級知識轉移到區域或像素級任務(如目標檢測和語義分割)。在線附錄D中的表1列出了VLM知識蒸餾方法。

1. 目標檢測的知識蒸餾:開放詞匯目標檢測[175]旨在檢測由任意文本描述的物體,即超出基本類別的任何類別的物體。由于像CLIP這樣的VLM是在數十億規模的圖像 - 文本對上進行訓練的,涵蓋了非常廣泛的詞匯,許多研究探索提取VLM知識以擴大檢測器的詞匯量。

例如,ViLD[36]將VLM知識提取到一個兩階段檢測器中,該檢測器的嵌入空間被強制與CLIP圖像編碼器的嵌入空間一致。在ViLD之后,HierKD[176]探索分層全局 - 局部知識蒸餾,RKD[177]探索基于區域的知識蒸餾,以更好地對齊區域級和圖像級嵌入。ZSD - YOLO[178]引入自標注數據增強,利用CLIP實現更好的目標檢測。OADP[179]在轉移上下文知識的同時保留提案特征。BARON[180]使用鄰域采樣來提取區域袋而不是單個區域的知識。RO - ViT[181]從VLM中提取區域信息,用于開放詞匯檢測。

另一系列研究通過提示學習探索VLM知識蒸餾[165]。例如,DetPro[37]引入檢測提示技術,用于學習開放詞匯目標檢測的連續提示表示。PromptDet[182]引入區域提示學習,使詞嵌入與區域圖像嵌入對齊。此外,一些研究[183,184,185,186,187]探索VLM預測的偽標簽,以改進目標檢測器。

例如,PBOVD[183]使用VLM預測的偽邊界框訓練目標檢測器,而XPM[184]引入一種穩健的跨模態偽標簽策略,使用VLM生成的偽掩碼進行開放詞匯實例分割。\(P^{3}\)OVD[185]利用提示驅動的自訓練,通過細粒度的提示調整來優化VLM生成的偽標簽。

2. 語義分割的知識蒸餾:開放詞匯語義分割的知識蒸餾利用VLM擴大分割模型的詞匯量,旨在分割由任意文本描述的像素(即超出基本類別的任何類別的像素)。例如,[35,186,187]通過將像素分組為多個段進行類別無關的分割,然后使用CLIP進行段識別,實現開放詞匯語義分割。

CLIPSeg[188]引入一個輕量級的Transformer解碼器,擴展CLIP用于語義分割。LSeg[189]最大化CLIP文本嵌入與分割模型編碼的像素級圖像嵌入之間的相關性。ZegCLIP1. 語義分割的知識蒸餾:開放詞匯語義分割的知識蒸餾利用VLM擴大分割模型的詞匯量,旨在分割由任意文本描述的像素(即超出基本類別的任何類別的像素)。

例如,[35,186,187]通過將像素分組為多個段進行類別無關的分割,然后使用CLIP進行段識別,實現開放詞匯語義分割。CLIPSeg[188]引入一個輕量級的Transformer解碼器,擴展CLIP用于語義分割。LSeg[189]最大化CLIP文本嵌入與分割模型編碼的像素級圖像嵌入之間的相關性。ZegCLIP[174]使用CLIP生成語義掩碼,并引入關系描述符來減輕對基本類別的過擬合。MaskCLIP+[163]和SSIW[190]利用VLM預測的像素級偽標簽進行知識蒸餾。FreeSeg[191]首先生成掩碼提案,然后對其進行零樣本分類。

弱監督語義分割的知識蒸餾旨在利用VLM和弱監督(如圖像級標簽)進行語義分割。例如,CLIP-ES[192]通過設計一個softmax函數和一個基于類感知注意力的親和模塊,使用CLIP細化類激活圖,以緩解類別混淆問題。CLIMS[193]利用CLIP知識生成高質量的類激活圖,以實現更好的弱監督語義分割。

2. 總結與討論:總之,大多數VLM研究在兩個密集視覺識別任務(即目標檢測和語義分割)上探索知識蒸餾。對于目標檢測,這些研究旨在更好地對齊圖像級和對象級表示;對于語義分割,重點則是解決圖像級和像素級表示之間的不匹配問題。

它們也可以根據方法進行分類,包括特征空間蒸餾(強制VLM的編碼器與檢測或分割編碼器之間的嵌入一致性)和偽標簽蒸餾(使用VLM生成的偽標簽來正則化檢測或分割模型)。此外,與VLM轉移相比,VLM知識蒸餾在允許使用不同的下游網絡方面具有明顯更好的靈活性,而無需考慮原始VLM。

?八、性能比較

在本節中,我們對第五節至第七節中回顧的VLM預訓練、VLM轉移學習和VLM知識蒸餾方法進行比較、分析和討論。

?(一)VLM預訓練的性能

如第三節 - D所述,零樣本預測作為一種廣泛采用的評估設置,用于評估VLM在未經任務特定微調的情況下對未見任務的泛化能力。本小節介紹在不同視覺識別任務(包括圖像分類、目標檢測和語義分割)上零樣本預測的性能。

表5展示了在11個廣泛采用的圖像分類任務上的評估結果。請注意,由于VLM預訓練通常有不同的實現方式,表中顯示的是VLM的最佳性能。從表5和圖14中可以得出三個結論:1)VLM的性能通常與訓練數據的大小相關。

如圖14中的第一個圖所示,擴大預訓練數據會導致性能持續提升;2)VLM的性能通常與模型大小相關。如圖中的第二個圖所示,在使用相同預訓練數據的情況下,擴大模型大小會持續提高VLM的性能;3)使用大規模圖像文本訓練數據,VLM可以在各種下游任務上實現卓越的零樣本性能。如表5所示,COCA[19]在ImageNet上取得了最先進的性能,FILIP[18]在11個任務上的表現始終良好。

VLM卓越的泛化能力主要歸因于三個因素:

1)大數據 - 由于圖像文本對在互聯網上幾乎無限可用,VLM通常在數百萬或數十億的圖像和文本樣本上進行訓練,這些樣本涵蓋了非常廣泛的視覺和語言概念,從而帶來了強大的泛化能力;

2)大模型 - 與傳統視覺識別模型相比,VLM通常采用更大的模型(例如COCA[19]中的ViT - G有20億個參數),為從大數據中有效學習提供了強大的能力;

3)任務無關學習 - VLM預訓練中的監督通常是通用的且與任務無關。與傳統視覺識別中的特定任務標簽相比,圖像文本對中的文本提供了與任務無關、多樣且信息豐富的語言監督,有助于訓練出在各種下游任務中都能良好工作的可泛化模型。

請注意,一些研究[45,46,67,71,129,131]使用局部VLM預訓練目標(如區域 - 詞匹配[67])來研究用于目標檢測和語義分割的VLM預訓練。表6和表7總結了在目標檢測和語義分割任務上零樣本預測的性能。我們可以觀察到,VLM能夠在這兩個密集預測任務上實現有效的零樣本預測。請注意,表6和表7中的結果可能與前面段落中的結論不一致,這主要是因為在密集視覺任務上,這一領域的研究較少,涉及的VLM也非常有限。

VLM的局限性:如前所述,盡管隨著數據/模型大小的增加,VLM明顯受益,但它們仍然存在一些局限性:

1)當數據/模型大小持續增加時,性能會飽和,進一步擴大規模不會提高性能[113,194];

(2)在VLM預訓練中使用大規模數據需要大量的計算資源,例如CLIP ViT - L[10]需要256個V100 GPU,訓練288小時;

(3)使用大模型在訓練和推理中都會帶來過多的計算和內存開銷。

?(二)VLM轉移學習的性能

本節總結了在監督轉移、少樣本監督轉移和無監督轉移設置下VLM轉移的性能。表8展示了在11個廣泛采用的圖像分類數據集(如EuroSAT[104]、UCF101[29])上,使用不同骨干網絡(如CNN骨干網絡ResNet - 50和Transformer骨干網絡ViT - B和ViT - L)的結果。請注意,表8總結了所有少樣本監督方法在16樣本設置下的性能。

從表8中可以得出三個結論。首先,VLM轉移設置始終有助于下游任務。例如,監督的Wise - FT、少樣本監督的CoOp和無監督的TPT在ImageNet上分別將準確率提高了10.9%、1.7%和0.8%。由于預訓練的VLM通常與特定任務的數據存在領域差距,VLM轉移可以通過從特定任務的數據(無論是否有標簽)中學習來緩解這些差距。

其次,少樣本監督轉移的性能遠遠落后于監督轉移(例如Wise - FT[162]中的87.1%和CuPL[160]中的76.6%),這主要是因為VLM可能會過度擬合少樣本有標簽樣本,從而導致泛化能力下降。第三,無監督轉移的性能可以與少樣本監督轉移相媲美(例如無監督的UPL[143]比2樣本監督的CoOp[31]高出0.4%,無監督的TPT[144]與16樣本的CoOp[31]相當),這主要是因為無監督轉移可以訪問大量無標簽的下游數據,過擬合風險較低。然而,無監督轉移也面臨一些挑戰,例如偽標簽有噪聲。我們期待在這個有前景但具有挑戰性的研究方向上有更多的研究。

?(三)VLM知識蒸餾的性能

本節介紹VLM知識蒸餾在目標檢測和語義分割任務中的作用。表9和表10分別展示了在廣泛使用的檢測數據集(如COCO[106]和LVIS[107])和分割數據集(如PASCAL VOC[90]和ADE20k[111])上的知識蒸餾性能。我們可以觀察到,VLM知識蒸餾在檢測和分割任務上始終帶來明顯的性能提升,這主要是因為它引入了通用且穩健的VLM知識,同時受益于檢測和分割模型中的特定任務設計。

?(四)總結

從表5 - 表10中可以得出幾個結論。在性能方面,VLM預訓練由于其精心設計的預訓練目標,在廣泛的圖像分類任務上實現了卓越的零樣本預測。然而,用于密集視覺識別任務(區域或像素級檢測和分割)的VLM預訓練的發展遠遠落后。此外,VLM轉移在多個圖像分類數據集和視覺骨干網絡上取得了顯著進展。但是,監督或少樣本監督轉移仍然需要有標簽的圖像,而更有前景但具有挑戰性的無監督VLM轉移在很大程度上被忽視了。

在基準測試方面,大多數VLM轉移研究采用相同的預訓練VLM作為基線模型,并在相同的下游任務上進行評估,這極大地促進了基準測試。它們還發布了代碼,并且不需要大量的計算資源,大大簡化了重現和基準測試的過程。不同的是,VLM預訓練使用不同的數據(例如CLIP[10]、LAION400M[21]和CC12M[79])和網絡(例如ResNet[6]、ViT[57]、Transformer[58]和BERT[14])進行研究,這使得公平的基準測試成為一項非常具有挑戰性的任務。一些VLM預訓練研究還使用非公開的訓練數據[10,18,83],或者需要大量的計算資源(例如[10]中需要256個V100 GPU)。對于VLM知識蒸餾,許多研究采用不同的特定任務骨干網絡(例如ViLD采用Faster R - CNN,OV - DETR使用DETR),這使得基準測試變得非常復雜。因此,VLM預訓練和VLM知識蒸餾在訓練數據、網絡和下游任務方面缺乏一定的規范。

?九、未來方向

VLM能夠有效利用網絡數據,無需任何特定任務的微調即可進行零樣本預測,并且能夠對任意類別的圖像進行開放詞匯視覺識別。它在視覺識別性能方面取得了巨大成功。在本節中,我們分享一些在未來視覺識別的VLM研究中可能面臨的研究挑戰和潛在研究方向。

對于VLM預訓練,有以下四個挑戰和潛在研究方向:

1. 細粒度視覺語言相關性建模:借助局部視覺語言對應知識[45,67],VLM可以更好地識別圖像中的補丁和像素,這對目標檢測和語義分割等密集預測任務非常有幫助,這些任務在各種視覺識別任務中起著重要作用。鑒于在這個方向上的VLM研究非常有限[45,46,67,71,129,131],我們期待更多關于用于零樣本密集預測任務的細粒度VLM預訓練的研究。

2. 視覺和語言學習的統一:Transformer[57,58]的出現使得通過以相同方式對圖像和文本進行標記化,在單個Transformer中統一圖像和文本學習成為可能。與現有VLM[10,17]中使用兩個單獨的網絡不同,統一視覺和語言學習能夠促進數據模態之間的高效通信,這對訓練效果和訓練效率都有好處。這個問題已經引起了一些關注[43,44],但為了實現更可持續的VLM,還需要更多的努力。

3. 多語言預訓練VLM:大多數現有的VLM是用單一語言(即英語)進行訓練的[10,17],這可能會在文化和地區方面引入偏差[77,79],并阻礙VLM在其他語言領域的應用。使用多種語言的文本對VLM進行預訓練[119,120],可以學習不同語言中相同詞義但不同的文化視覺特征[20],使VLM能夠在不同的語言場景中高效、有效地工作。我們期待更多關于多語言VLM的研究。

4. 數據高效的VLM:大多數現有工作使用大規模訓練數據和大量計算來訓練VLM,這使得其可持續性成為一個重大問題。使用有限的圖像文本數據訓練有效的VLM可以大大緩解這個問題。例如,除了從每個圖像文本對中學習之外,還可以通過圖像文本對之間的監督學習更多有用信息[112,113]。

5. 使用大語言模型(LLMs)預訓練VLM:近期研究[126,127]從LLMs中檢索豐富的語言知識,以增強VLM預訓練。具體來說,它們使用LLMs來增強原始圖像文本對中的文本,這提供了更豐富的語言知識,并有助于更好地學習視覺語言相關性。我們期待在未來的研究中,對LLMs在VLM預訓練中的應用進行更多探索。

對于VLM轉移學習,有以下三個挑戰和潛在研究方向:

1. 無監督VLM轉移:大多數現有的VLM轉移研究采用監督或少樣本監督設置,這需要有標簽的數據,而少樣本監督容易對少樣本樣本過度擬合。無監督VLM轉移可以探索大量無標簽數據,過擬合風險低得多。在后續的VLM研究中,預計會有更多關于無監督VLM轉移的研究。

2. 使用視覺提示/適配器的VLM轉移:大多數現有的VLM轉移研究集中在文本提示學習[31]上。視覺提示學習或視覺適配器與文本提示互補,能夠在各種密集預測任務中實現像素級適應,但在很大程度上被忽視了。預計會有更多關于視覺領域VLM轉移的研究。

3. 測試時VLM轉移:大多數現有研究通過在每個下游任務上對VLM進行微調(即提示學習)來進行轉移,在面對許多下游任務時會導致重復工作。測試時VLM轉移允許在推理時動態調整提示,避免了現有VLM轉移中重復的訓練過程。我們可以預見,未來會有更多關于測試時VLM轉移的研究。

4. 使用LLMs的VLM轉移:與提示工程和提示學習不同,一些嘗試[160,161]利用LLMs[172]生成更能描述下游任務的文本提示。這種方法是自動的,并且幾乎不需要有標簽的數據。我們期待在未來的研究中,對LLMs在VLM轉移中的應用進行更多探索。

VLM知識蒸餾可以從兩個方面進一步探索。第一是從多個VLM進行知識蒸餾,通過協調從多個VLM進行的知識蒸餾,可以收獲它們的協同效應。第二是將知識蒸餾應用于其他視覺識別任務,如實例分割、全景分割、行人重識別等。

?十、結論

用于視覺識別的視覺語言模型能夠有效利用網絡數據,無需特定任務的微調即可進行零樣本預測,這種模型易于實現,并且在廣泛的識別任務中取得了巨大成功。本綜述從背景、基礎、數據集、技術方法、基準測試和未來研究方向等多個角度,對用于視覺識別的視覺語言模型進行了廣泛回顧。以表格形式對VLM數據集、方法和性能進行的比較總結,清晰地展示了VLM預訓練的近期發展全貌,這將極大地有助于在這個新興且前景光明的研究方向上開展未來研究。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/75790.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/75790.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/75790.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Kubernetes】StorageClass 的作用是什么?如何實現動態存儲供應?

StorageClass 使得用戶能夠根據不同的存儲需求動態地申請和管理存儲資源。 StorageClass 定義了如何創建存儲資源&#xff0c;并指定了存儲供應的配置&#xff0c;例如存儲類型、質量、訪問模式等。為動態存儲供應提供了基礎&#xff0c;使得 Kubernetes 可以在用戶創建 PVC 時…

Muduo網絡庫介紹

1.Reactor介紹 1.回調函數 **回調&#xff08;Callback&#xff09;**是一種編程技術&#xff0c;允許將一個函數作為參數傳遞給另一個函數&#xff0c;并在適當的時候調用該函數 1.工作原理 定義回調函數 注冊回調函數 觸發回調 2.優點 異步編程 回調函數允許在事件發生時…

Debian編譯安裝mysql8.0.41源碼包 筆記250401

Debian編譯安裝mysql8.0.41源碼包 以下是在Debian系統上通過編譯源碼安裝MySQL 8.0.41的完整步驟&#xff0c;包含依賴管理、編譯參數優化和常見問題處理&#xff1a; 準備工作 1. 安裝編譯依賴 sudo apt update sudo apt install -y \cmake gcc g make libssl-dev …

Git常用問題收集

gitignore 忽略文件夾 不生效 有時候我們接手別人的項目時&#xff0c;發現有的忽略不對想要修改&#xff0c;但發現修改忽略.gitignore后無效。原因是如果某些文件已經被納入版本管理在.gitignore中忽略路徑是不起作用的&#xff0c;這時候需要先清除本地緩存&#xff0c;然后…

編程哲學——TCP可靠傳輸

TCP TCP可靠傳輸 TCP的可靠傳輸表現在 &#xff08;1&#xff09;建立連接時三次握手&#xff0c;四次揮手 有點像是這樣對話&#xff1a; ”我們開始對話吧“ ”收到“ ”好的&#xff0c;我收到你收到了“ &#xff08;2&#xff09;數據傳輸時ACK應答和超時重傳 ”我們去吃…

【MediaPlayer】基于libvlc+awtk的媒體播放器

基于libvlcawtk的媒體播放器 libvlc下載地址 awtk下載地址 代碼實現libvlc相關邏輯接口UI媒體接口實例化媒體播放器注意事項 libvlc 下載地址 可以到https://download.videolan.org/pub/videolan/vlc/去下載一個vlc版本&#xff0c;下載后其實是vlc的windows客戶端&#xff0…

pulsar中的延遲隊列使用詳解

Apache Pulsar的延遲隊列支持任意時間精度的延遲消息投遞&#xff0c;適用于金融交易、定時提醒等高時效性場景。其核心設計通過堆外內存索引隊列與持久化分片存儲實現&#xff0c;兼顧靈活性與可擴展性。以下從實現原理、使用方式、優化策略及挑戰展開解析&#xff1a; 一、核…

單鏈表的實現 | 附學生信息管理系統的實現

目錄 1.前言&#xff1a; 2.單鏈表的相關概念&#xff1a; 2.1定義&#xff1a; 2.2形式&#xff1a; 2.3特點&#xff1a; 3.常見功能及代碼 &#xff1a; 3.1創建節點&#xff1a; 3.2頭插&#xff1a; 3.3尾插&#xff1a; 3.4頭刪&#xff1a; 3.5尾刪&#xff1a; 3.6插入…

java實用工具類Localstorage

public class LocalStorageUtil {//提供ThreadLocal對象,private static ThreadLocal threadLocalnew ThreadLocal();public static Object get(){return threadLocal.get();}public static void set(Object o){threadLocal.set(o);}public static void remove(){threadLocal.r…

LLM-大語言模型淺談

目錄 核心定義 典型代表 核心原理 用途 優勢與局限 未來發展方向 LLM&#xff08;Large Language Model&#xff09;大語言模型&#xff0c;指通過海量文本數據訓練 能夠理解和生成人類語言的深度學習模型。 核心定義 一種基于深度神經網絡&#xff08;如Transformer架…

【小兔鮮】day03 Home模塊與一級分類

【小兔鮮】day03 Home模塊與一級分類 1. Home-整體結構搭建和分類實現1.1 頁面結構 2. Home-banner輪播圖功能實現 1. Home-整體結構搭建和分類實現 1.1 頁面結構 分類實現 2. Home-banner輪播圖功能實現 輪播圖實現 在HomeBanner.vue中寫出輪播圖的結構 在apis目錄下新建h…

C++中的多態和模板

#include <iostream> #include <cstdlib> #include <ctime> #include <string>using namespace std;// 武器基類 class Weapon { public:virtual ~Weapon() {}virtual string getName() const 0; // 獲取武器名稱virtual int getAtk() const 0; …

Spring 概念

Spring 是一個功能強大、靈活且廣泛使用的 Java 企業級開發框架&#xff0c;它誕生于 2003 年&#xff0c;由 Rod Johnson 創建&#xff0c;初衷是簡化 Java EE 的開發過程。 一、Spring 是什么&#xff1f; 簡單來說&#xff1a; Spring 是一個輕量級的 Java 開發框架&#…

神經網絡之損失函數

引言&#xff1a;損失函數 &#xff08;Loss Function&#xff09;是機器學習和深度學習中非常重要的一個概念。用于衡量模型的預測值與真實值之間的差異&#xff0c;從而指導模型優化其參數以最小化這種差異。 一、損失函數作用 量化誤差&#xff1a;損失函數是將預測值和真實…

Java 基礎-32-枚舉-枚舉的應用場景

在Java編程中&#xff0c;枚舉&#xff08;Enum&#xff09;提供了一種強大的方式來定義一組固定的常量。它們不僅限于簡單的用途&#xff0c;還可以包含構造函數、方法和字段等高級功能&#xff0c;使其適用于多種不同的應用場景。本文將探討幾種常見的使用枚舉的場景&#xf…

【網絡安全】安全的網絡設計

網絡設計是網絡安全的基礎&#xff0c;一個好的網絡設計可以有效的防止攻擊者的入侵。在本篇文章中&#xff0c;我們將詳細介紹如何設計一個安全的網絡&#xff0c;包括網絡架構&#xff0c;網絡設備&#xff0c;網絡策略&#xff0c;以及如何處理網絡安全事件。 一、網絡架構…

網絡安全-等級保護(等保) 0. 前言

各位伙伴好&#xff1a; 招投標總結已過去一年了&#xff0c;時間飛逝&#xff0c;一直忙于工作&#xff0c;等保相關的內容斷斷續續整理了近半年的時間&#xff0c;但一直無暇完成博客內容。 等保已經是一個成熟的體系&#xff0c;現在已進入等保2.0時代&#xff0c;相關政策…

TLS協議詳解

TLS協議 一&#xff0c;TLS協議的組成 TLS協議架構模塊分為兩層&#xff1a;TLS記錄協議&#xff0c;TLS握手協議 ① TLS記錄協議&#xff1a; 是所有子協議的基層&#xff0c;規定了TLS收發數據的基本單位。所有子協議都需要通過記錄協議發出&#xff0c;多個記錄數據可以在…

ollama更新升級及警告解決

1. 概述 在大模型業務處理中&#xff0c;需要用到gemma3 和 qwen2.5-VL&#xff0c;當前服務器的ollama版本 0.3.11&#xff0c;無法滿足要求&#xff0c;需要更新升級。 2. 實施過程 參考官網升級要求&#xff1a; curl -fsSL https://ollama.com/install.sh | sh 不知道…

ubuntu 配置固定ip

在裝服務器系統的時候&#xff0c;DHCP自動獲取ip時&#xff0c;路由可能會重新分配ip&#xff0c;為避免產生影響&#xff0c;可以關閉DHCP將主機設置為靜態ip。 系統環境 Ubuntu 22.04-Desktop 配置方式 一、如果是裝的Ubuntu圖形化&#xff08;就是可以用鼠標操作點擊應用…