[21.11] METER
繽紛的儀表板
An Empirical Study of Training End-to-End Vision-and-Language Transformers
這是一篇彙整式論文。
所以你可以預期在這裡會看到實驗,還有……更多的實驗。
當前主流的 VLP 架構主要有三個組件:
- 其一:視覺編碼器,也就是我們常講的 ViT。
- 其二:文字編碼器,最常見的是 BERT。
- 最後:共編碼器,這裡就是把視覺和文字整理起來的地方。
作者首先整理了過去研究中使用架構的總表,把這三個組件一一拆解,然後娓娓道來。
定義問題
說到底,就是視覺組件的問題:
-
效率問題
在視覺和語言預訓練(VLP)中,大多數現有的模型依賴於預先訓練的目標檢測器(例如 Faster RCNN)來從影像中提取區域特徵。然而,這些目標檢測器在 VLP 過程中通常保持凍結狀態,限制了 VLP 模型的容量。此外,提取區域特徵的過程非常耗時,這可能會影響模型的效率和實用性。
-
探索太少
雖然 Transformer 在自然語言處理和電腦視覺中顯示出有希望的性能,但完全基於 Transformer 的 VLP 模型,特別是使用視覺 Transformer(ViT)作為影像編碼器的模型,仍然未得到充分的探索。雖然有一些基於 ViT 的 VLP 模型,但它們在下游任務如視覺問答等方面的性能仍然落後於最先進的性能。
-
優化器不一致
有些研究嘗試將卷積神經網路和文字的網格特徵直接輸入到 Transformer 中,但遇到 了優化器不一致的問題,通常在 CNN 和 Transformer 中使用不同的優化器。最近的研究顯示,與 ViT 相比,CNN 在精度和計算成本(FLOPs)上的表現稍差。
看到作者提到「優化器不一致」的部分,讓我立刻意識到:這不就是在說 SimVLM 嗎?
- 傳送門:SimVLM:簡單一點
畢竟人家也是 SoTA 架構,肯定是要給予足夠的尊重,但這不妨礙研究者們對其吹毛求疵,品頭論足一番,這畢竟是人類進步的原動力。
解決問題
METER 模型設計
作者有系統地研究如何訓練高效能的視覺和語言轉換器,並從多個維度剖析模型設計:視覺編碼器、文字編碼器、多模態融合模組、架構設計(僅編碼器與編碼器-解碼器)和預訓練目標。
-
Vision Encoder 挑選
本文主要探討了視覺變換器(ViTs)在視覺編碼器中的應用,特別是在處理 patch feature 方面。在 ViT 的機制中,影像首先被分割成多個 patch,然後這些 patch 被輸入到 Transformer 模型中進行處理。
近期 ViT 已經成為一個熱門的研究主題,並且已經被應用在視覺和語言預訓練(VLP)領域中。然而,當與基於區域特徵的先進模型(例如:VinVL)相比時,所有這些基 於 ViT 的模型的性能都顯得較差。
另外,目前缺乏對不同預訓練 ViT 的系統性研究,以確定哪些 ViT 最適合 VLP 應用。為了解決這個問題,作者比較了多種不同的 ViT 模型,包括下列:
- ViT (2020.10):
- DeiT (2020.12):
- CLIP-ViT (2021.02):
- Swin Transformer (2021.03):
- CaiT (2021.03):
- VOLO (2021.06):
- BEiT (2021.06):
-
Text Encoder 挑選
在 BERT 和 RoBERTa 之後,VLP 模型首先將輸入句子分割成子詞序列。此步驟是在進行文本和視覺信息融合之前的文本處理階段。在分割子詞序列後,會在句子的開頭和末尾插入兩個特 殊標記以產生輸入文本序列。這些特殊標記有助於定義句子的界限。
作者的目標是在將特徵發送到融合模組之前首先使用文字編碼器。他們探索了使用不同的語言模型,如 BERT、RoBERTa、ELECTRA、ALBERT 和 DeBERTa 進行文本編碼。除了使用不同的語言模型外,作者還嘗試使用一個簡單的字嵌入查找層,該層由 BERT 嵌入層初始化。
我們同樣把作者所選用的架構放上來:
- BERT (2018.10):
- RoBERTa (2019.07):
- ALBERT (2019.09):
- ELECTRA (2020.03):
- DeBERTa (2020.06):
-
Multimodal 架構
由於端對端的 VLP 模型變得越來越流行,作者在新環境中重新評估了這兩種融合模組的影響。這可能是為了了解在新的模型架構或設 置中哪種融合策略更有效。
-
合併注意力模組
在此模組中,文字和視覺特徵被簡單地連接在一起,然後一起輸入到單一的 Transformer 模組中。這種方法允許在同一個 Transformer 模組中同時處理文本和視覺信息。
-
共同注意力模組
共同注意力模組將文字和視覺特徵獨立地輸入到不同的 Transformer 模組中。這個模組使用交叉注意力技術來實現跨模式的互動,即在視覺和文本特徵之間實現互動。
對於基於區域的 VLP 模型,這兩種融合模組可以達到相似的表現。這表明,不同的融合策略可能對結果的影響不大。而合併注意力模組在參數效率上更高,因為它使用相同的參數集來處理兩種模式的特徵。這可能使得合併注意力模組在計算資源有限的情況下更為吸引人。
-
Encoder-Only vs. Encoder-Decoder
作者比較了兩種不同的模型架構:僅「編碼器」架構和「編碼器-解碼器」架構,並探討了它們在視覺語言預訓練(VLP)模型中的應用:
-
僅編碼器架構
在這種架構中,跨模態表示(例如視覺和文本特徵的結合)直接輸入到輸出層以產生最終輸出。VisualBERT 是採用僅編碼器架構的 VLP 模型的一個例子。
-
編碼器-解碼器架構
最近有一些模型,如:VL-T5 和 SimVLM,提倡使用編碼器-解碼器架構。在這種架構中,跨模態表示首先輸入到解碼器,然後再輸入到輸出層。解碼器在此過程中同時關注編碼器的表示和先前產生的標記,以自回歸的方式產生輸出。
作者通過上圖的例子(執行 MLM 建模任務)展示了這兩種架構之間的差異。具體來看,編碼器-解碼器模型在執行像視覺問答(VQA)這樣的分類任務時,將文字輸入到編碼器,將分類標記輸入到解碼器,然後解碼器相應地產生輸出結果。
預訓練策略
作者挑出了在視覺語言預訓練(VLP)模型中的三種主要預訓練任務,包括:掩蔽語言建模(MLM)、圖像文字匹配(ITM)和掩蔽影像建模(MIM):
-
掩蔽語言建模(MLM)
初始於純語言預訓練,後於 VLP 中延伸應用,目的是在給定圖像標題對時,隨機屏蔽一些輸入標記,並訓練模型以重建這些屏蔽的標記。
-
圖像-文字匹配(ITM)
模型需要辨識哪些圖像和標題相互匹配,通常作為二元分類問題。模型學習全域跨模態表示,並利用分類器預測是否匹配。
-
掩蔽影像建模(MIM)
這是一種在視覺預訓練模型中應用的技術,其靈感主要來自於掩蔽語言建模(MLM)。在 MIM 中,模型的目的是在某些視覺特徵被屏蔽或隱藏的情況下,嘗試重建或預測這些被屏蔽的視覺特徵。作者提出了一些改善方法,例如:Masked Patch Classification with In-batch Negatives 和 Masked Patch Classification with Discrete Code。
這裡沒有提到剛剛獲得成功 PrefixLM,我認為主要的原因可能 是:是在本篇論文中,作者認為 PrefixLM 並不是主流的方法,而且 SimVLM 的成功主要原因可能是他們的資料集規模龐大,因此沒有特別拿出 PrefixLM 進行討論。
掩蔽影像建模(MIM)
掩蔽影像建模(Masked Image Modeling, MIM)是一種在視覺預訓練模型中應用的技術,其靈感主要來自於掩蔽語言建模(MLM)。在 MIM 中,模型的目的是在某些視覺特徵被屏蔽或隱藏的情況下,嘗試重建或預測這些被屏蔽的視覺特徵。
例如:LXMERT 和 UNITER 等模型在某些輸入區域被屏蔽的情況下,訓練模型來回歸原始區域特徵。這通常是通過最小化均方誤差損失來實現的。儘管 MIM 在某些模型中顯示出潛力,但最近的一些先進模型(例如 ALBEF 和 VinVL)在 VLP 期間並未應用 MIM,表明可能對 MIM 在 VLP 模型中的真正效用存在疑慮。
既然有疑慮,於是作者提出了一些改善:
-
Masked Patch Classification with In-batch Negatives
這個方法是受到了 MLM 的啟發,它用一種特殊的方式來重建被遮蔽的圖像部分(或稱為 Patch)。 在訓練過程中,模型的任務是從所有可能的 Patch 中找出被遮蔽的原始 Patch。為了做到這一點,它創建了一個臨時的「詞彙表」,由當前批次中的所有 Patch 組成。 這樣模型就能嘗試從這個臨時「詞彙表」中找到被遮擋 Patch 的最佳匹配。
-
Masked Patch Classification with Discrete Code
這個方法的靈感來自於 BEiT,它的目的是透過訓練模型來重新創建被遮蓋掉的圖像部分(Patch)。首先,它用一個叫做 VQ-VAE 的模型,將圖像轉換成一組特定的標籤,這些標籤是離散的,這意味著它們是明確且分開的。 然後模型的任務是嘗試預測這些被遮蓋掉的圖像部分原來對應的標籤,而不是直接預測被遮蓋掉的圖像部分本身。
資料集
模型在四個常用資料集上預先訓練,包括 COCO、Conceptual Captions、SBU Captions 和 Visual Genome,依循著先前的研究,組合訓練資料共包含約 4M 張圖片。'
技術細節
- 除非另有說明,隱藏層大小設定為 768, Head 設定為 12。
- 視覺分支和語言分支之間沒有解碼器,也沒有參數共享。
- 除特殊情況外,模型僅使用 MLM 和 ITM 進行預訓練。
- 使用 AdamW 預先訓練模型 100,000 步,底層和頂層的學習率分別設定為 1e-5 和 5e-5。
- 預熱比率為 10%,學習率在總訓練步數的 10% 後線性衰減到 0。
- 根據所採用的視覺轉換器,使用 center-crop 將每個影像的大小調整為 224×224 或 384×384。