摘要
在本文中,我們設計并訓練了一個生成式圖像到文本轉換 Transformer——GIT,以統一視覺-語言任務,如圖像/視頻字幕生成和問答。雖然生成式模型在預訓練和微調之間提供了一致的網絡架構,但現有工作通常包含復雜的結構(單/多模態編碼器/解碼器),并依賴于外部模塊,如目標檢測器/標注器和光學字符識別(OCR)。在 GIT 中,我們簡化了架構,僅使用一個圖像編碼器和一個文本解碼器,并采用單一的語言建模任務。此外,我們擴大了預訓練數據規模并提升了模型的大小,以增強模型性能。無需額外的復雜設計,我們的 GIT 在多個具有挑戰性的基準測試中取得了大幅領先的新 SOTA(State of the Art)。例如,我們的模型在 TextCaps 任務上首次超越了人類表現(CIDEr 分數 138.2 vs. 125.5)。此外,我們提出了一種新的基于生成的圖像分類和場景文本識別方案,并在標準基準測試上取得了可觀的表現。
1. 簡介
近年來,在視覺-語言(VL)預訓練方面取得了巨大的進展,特別是在基于大規模圖文對數據的研究,例如 CLIP(Radford et al., 2021)、Florence(Yuan et al., 2021)和 SimVLM(Wang et al., 2021b)。所學習的表示極大地提升了各種下游任務的性能,如圖像字幕生成(Lin et al., 2014)、視覺問答(VQA)(Goyal et al., 2017)以及圖文檢索。
在預訓練過程中,掩碼語言建模(MLM)和圖文匹配(ITM)任務被廣泛使用(Wang et al., 2020; Fang et al., 2021c; Li et al., 2020b; Zhang et al., 2021a; Chen et al., 2020b; Dou et al., 2021; Wang et al., 2021a; Kim et al., 2021)。然而,這些損失函數與下游任務不同,因此需要進行特定任務的適配。例如,在圖像字幕生成任務中移除了 ITM(Wang et al., 2021a; Li et al., 2020b),而在 VQA 任務中額外添加了一個隨機初始化的多層感知機(MLP)(Wang et al., 2021b; Li et al., 2020b)。為了減少這種不匹配,最近的方法(Cho et al., 2021; Wang et al., 2021b; Yang et al., 2021b; Wang et al., 2022b)嘗試設計統一的生成式模型進行預訓練,因為大多數 VL 任務都可以歸結為文本生成問題。這些方法通常采用多模態編碼器和文本解碼器,并精心設計文本輸入和文本目標。為了進一步推動這一方向的發展,我們提出了一種簡單的生成式圖像到文本 Transformer,稱為 GIT,它僅由一個圖像編碼器和一個文本解碼器組成。預訓練任務僅僅是將輸入圖像映射到整個關聯文本描述,使用語言建模目標進行訓練。盡管架構簡單,GIT 在多個具有挑戰性的基準測試上以較大幅度取得了新的 SOTA,如表 1 所示。
圖像編碼器是一個 Swin 風格的視覺 Transformer(Dosovitskiy et al., 2021; Yuan et al., 2021),基于對比學習任務(Jia et al., 2021; Radford et al., 2021; Yuan et al., 2021)在大規模圖文對數據上進行預訓練。這消除了對目標檢測器的依賴,而目標檢測器在許多現有方法中被廣泛使用(Anderson et al., 2018; Li et al., 2020b; Wang et al., 2020; Zhang et al., 2021a; Chen et al., 2020b; Fang et al., 2021c)。為了將其擴展到視頻領域,我們簡單地提取多個采樣幀的特征,并將它們拼接成視頻表示。文本解碼器是一個 Transformer 網絡,用于預測關聯文本。整個網絡使用語言建模任務進行訓練。對于 VQA 任務,輸入問題被視為文本前綴,并以自回歸方式生成答案。此外,我們提出了一種新的基于生成的 ImageNet 分類方案,其中預測標簽直接來自我們的生成式模型,而無需預定義詞匯表。
該方法簡單,但當我們擴展預訓練數據和模型規模后,性能卻令人驚訝地強大。圖 1 展示了 GIT 在 TextCaps 上微調后生成的字幕。示例表明,該模型在識別和描述場景文本、表格、圖表、食物、紙幣、標志、地標、字符、名人、產品等方面表現出色,表明我們的 GIT 模型已編碼了豐富的關于視覺世界的多模態知識。
我們的主要貢獻如下:
- 我們提出了 GIT,僅由一個圖像編碼器和一個文本解碼器組成,并基于語言建模任務在 8 億個圖文對數據上進行預訓練。
- 我們在多個任務上(圖像/視頻字幕生成和問答,見表 1)實現了新的 SOTA,而無需依賴目標檢測器、目標標簽和 OCR。在 TextCaps 任務上,我們首次超越了人類表現。這表明,即使是簡單的網絡架構,在規模擴展后也能取得強大性能。
- 我們證明了,GIT 在圖文對數據上進行預訓練后,即使在沒有專門針對視頻任務設計編碼器的情況下,也能夠在視頻任務上實現新的 SOTA。
- 我們提出了一種新的基于生成的圖像分類方案。在 ImageNet-1K 上,我們的 GIT 取得了 88.79% 的 top-1 準確率。
2. 相關工作
在 VL 預訓練方面,多任務預訓練被廣泛用于增強網絡的多種能力。例如,MLM 和 ITM 被廣泛采用作為預訓練任務(Li et al., 2020b; Kim et al., 2021; Zhang et al., 2021a; Wang et al., 2020; Xue et al., 2021b; Lu et al., 2019; Tan & Bansal, 2019)。最近,圖文對比損失也被引入(Yu et al., 2022; Li et al., 2021a; Wang et al., 2021a)。由于大多數 VL 任務可以被表述為文本生成任務(Cho et al., 2021),一個單一的生成式模型可以被預訓練以支持各種下游任務。這類方法通常通過精心設計的輸入輸出文本進行預訓練。例如,在 Cho et al.(2021)中,文本被適當屏蔽作為網絡輸入,目標是恢復屏蔽的文本片段。而 SimVLM(Wang et al., 2021b)則隨機拆分一個文本句子作為輸入和目標輸出。在這些方法中,多模態 Transformer 編碼器用于在解碼輸出之前融合文本輸入。
在圖像表示方面,大多數現有方法使用 Faster RCNN 來提取區域特征(Anderson et al., 2018; Li et al., 2020b; Wang et al., 2020; Zhang et al., 2021a; Chen et al., 2020b; Fang et al., 2021c)。近年來,密集表示(dense representation)方法受到了越來越多的關注(Huang et al., 2020; Wang et al., 2021b;a; Kim et al., 2021; Fang et al., 2021b; Dou et al., 2021; Li et al., 2021a),它無需邊界框標注,同時可以端到端地訓練整個網絡。除了來自特征圖的表示之外,目標標簽(Li et al., 2020b; Wang et al., 2020; Zhang et al., 2021a; Cornia et al., 2021; Fang et al., 2021b)也被用來幫助 Transformer 理解上下文,特別是新穎的目標。對于與場景文本相關的任務,OCR 通常用于生成場景文本作為額外的網絡輸入,例如 Hu et al.(2020)和 Yang et al.(2021c)。在文本預測方面,Transformer 網絡通常被使用,它可以通過交叉注意力模塊融合圖像 token,例如 Cho et al.(2021)、Alayrac et al.(2022)、Yang et al.(2021b)、Yu et al.(2022),或者僅使用自注意力模塊,將圖像 token 與文本 token 連接,例如 Li et al.(2020b)、Chen et al.(2020b)、Zhang et al.(2021a)、Wang et al.(2020)、Fang et al.(2021b)。
在 VL 任務的擴展方向上,LEMON(Hu et al., 2021a)研究了基于檢測器的字幕生成模型在 MLM 任務下的行為。CoCa(Yu et al., 2022)研究了不同的模型規模,但使用相同的預訓練數據。在本論文中,我們在 9 個不同的基準(3 個在主論文,6 個在補充材料,包括圖像/視頻字幕生成和問答任務)上進行了全面研究,涵蓋 3 種不同的模型規模和 3 種不同的預訓練數據規模(每個基準 9 個數據點)。
3 生成式圖像到文本轉換器
在大規模圖文數據的基礎上,我們的目標是預訓練一個簡潔而高效的視覺語言(VL)模型,以提升圖像/視頻描述生成和問答任務的性能。由于輸入是圖像而輸出是文本,最簡化的模型結構僅需包含一個圖像編碼器和一個文本解碼器——這也正是我們提出的 GIT(Generative Image-to-text Transformer)所采用的核心組件,如圖2所示。
3.1 網絡架構
圖像編碼器基于對比預訓練模型(Yuan等,2021)。輸入為原始圖像,輸出為緊湊的二維特征圖,該特征圖被展平為特征序列。通過額外的線性層和層歸一化層,圖像特征被投影至D維空間,作為文本解碼器的輸入。我們采用對比任務預訓練的圖像編碼器,因為近期研究表明此類編碼器具有更優性能(如Yuan等,2021;Dou等,2021;Alayrac等,2022)。在第4.6節和補充材料中,我們也觀察到更強的圖像編碼器能顯著提升視覺語言任務性能,這與基于目標檢測方法的研究結論一致(如Wang等,2020;Zhang等,2021a)。并行研究CoCa(Yu等,2022)將對比任務和生成任務統一為單一預訓練階段,而我們的方法等效于將兩者分步進行:(i) 使用對比任務預訓練圖像編碼器;(ii) 使用生成任務聯合預訓練圖像編碼器與文本解碼器。
文本解碼器是用于預測文本描述的Transformer模塊,由多個Transformer塊組成,每個塊包含自注意力層和前饋層。文本經分詞并嵌入為D維向量后,與位置編碼相加并通過層歸一化處理。圖像特征與文本嵌入向量拼接后作為Transformer模塊的輸入。文本以[BOS]標記起始,并以自回歸方式解碼直至[EOS]標記或達到最大步長。如圖3所示的序列到序列注意力掩碼確保文本標記僅依賴先前標記及所有圖像標記,同時圖像標記可相互關注——這與單向注意力掩碼不同(后者不允許所有圖像標記相互依賴)。
我們未對圖像編碼器進行精細初始化,而是隨機初始化文本解碼器。這一設計選擇受Wang等(2020)實驗研究的啟發:隨機初始化與BERT初始化相比性能相當,可能因為BERT初始化無法理解對視覺語言任務至關重要的圖像信號。擺脫初始化依賴后,我們能更自由探索不同架構設計。并行研究Flamingo(Alayrac等,2022)采用類似的"圖像編碼器+文本解碼器"架構,但其解碼器經預訓練后凍結以保留大語言模型的泛化能力;而在GIT中,所有參數均參與更新以更好適配視覺語言任務。另一種替代架構是基于交叉注意力的解碼器(通過交叉注意力融合圖像信號而非與自注意力拼接)。補充材料(附錄G.2)的實驗表明:在大規模預訓練下,基于自注意力的解碼器整體性能更優;而在小規模訓練時,基于交叉注意力的方法更佳。合理解釋是:充足訓練時解碼器參數能同時處理圖像與文本,且自注意力機制可使圖像標記在文本生成過程中更好更新;而交叉注意力會限制圖像標記間的相互關注。
3.2 預訓練
對于每個圖像-文本對,設I表示圖像, y i ( i ∈ 1 , . . . , N ) y_i(i ∈ {1, ..., N}) yi?(i∈1,...,N)表示文本標記, y 0 y_0 y0?為[BOS]標記, y N + 1 y_{N+1} yN+1?為[EOS]標記。我們采用語言建模(LM)損失進行模型訓練,即:
l = 1 N + 1 ∑ i = 1 N + 1 C E ( y i , p ( y i ∣ I , { y j , j = 0 , ? , i ? 1 } } ) , (1) l = { \frac { 1 } { N + 1 } } \sum _ { i = 1 } ^ { N + 1 } \mathrm { C E } ( y _ { i } , p ( y _ { i } | I , \{ y _ { j } , j = 0 , \cdots , i - 1 \} \} ) , \tag{1} l=N+11?i=1∑N+1?CE(yi?,p(yi?∣I,{yj?,j=0,?,i?1}}),(1)
其中CE表示采用標簽平滑系數為0.1的交叉熵損失函數。
另一種選擇是掩碼語言建模(MLM),該方法通常每次迭代預測15%的輸入標記。若要預測全部標記,至少需要運行1/0.15≈6.7個訓練周期。而語言建模(LM)每次迭代可預測所有標記,對于大規模預訓練數據效率更高。Hu等(2021a)的消融實驗也表明,LM在有限周期內能獲得更優性能。由于計算資源限制,我們的大規模訓練僅進行2個周期,因此選擇LM。此外,近期大規模語言模型(如Brown等,2020;Chowdhery等,2022)也多基于LM架構。若去除圖像輸入,該模型可退化為僅含解碼器的語言模型(架構類似GPT-3),這種設計未來可通過純文本數據擴展解碼器能力,我們將此留作后續工作。
3.3 微調
圖像描述生成:由于訓練數據格式與預訓練階段相同,我們采用相同的LM任務進行微調。
視覺問答(VQA):微調時將問題與真實答案拼接為特殊描述文本,但僅對答案及[EOS]標記計算LM損失。推理時,問題作為描述前綴,生成部分作為預測結果。相比現有VQAv2方法(Wang等,2021a;b;Zhang等,2021a;Li等,2022b),我們的生成式模型無需預定義候選答案(即使在推理階段),這要求模型至少預測兩個正確標記(答案標記與[EOS]標記)。現有方法則將問題轉化為分類任務,僅需單次預測。盡管生成式方法在VQAv2上性能略遜于判別式方法,我們仍選擇其自由形式答案的優勢。對于場景文本相關VQA任務,現有方法(Yang等,2021c;Hu等,2020)通常依賴OCR引擎和動態指針網絡,而我們的模型通過大規模預訓練自主學會讀取場景文本,在此類任務上達到新SOTA。
視頻任務:盡管模型未專門針對視頻設計,但通過簡單架構調整(從視頻片段采樣多幀,經圖像編碼器獨立編碼后添加可學習時序嵌入,最后拼接特征)即可實現競爭力甚至SOTA性能。
圖像分類:將類別名稱視為圖像描述,以自回歸方式微調GIT進行預測。不同于現有基于預定義詞表與線性分類層的方法,這種生成式方案便于新增數據和類別時無需引入新參數即可持續訓練。
溫馨提示:
閱讀全文請訪問"AI深語解構" GIT: 一個用于視覺與語言的生成式圖像到文本轉換 Transformer