大數據文摘授權轉載自AI科技評論
編譯:Jocelyn
編輯:陳彩嫻
本文對視覺-語言(VL)智能按時間順序進行了全面調研,並將這一領域的發展總結為三個階段:
第一個階段是2014-2018年,其間,專門的模型被設計用於不同的任務。第二個時代是2019-2021年,在此期間,通過使用有着高質量標籤的VL數據集進行預訓練,神經網絡模型能夠學習視覺和語言的聯合表徵。最後,隨着2021年CLIP的出現,第三個時代開始了,此時研究人員尋求在更大的弱標籤數據集上預訓練VL模型,並通過VL預訓練獲得性能強大的基於零樣本或少樣本的視覺模型。
我們相信這篇綜述將有助於人工智能(AI)和機器學習(ML)的研究人員和實踐者,特別是那些對計算機視覺和自然語言處理感興趣的人。
論文地址:
https://arxiv.org/pdf/2203.01922.pdf
研究背景
計算機視覺(CV)和自然語言處理(NLP)是人工智能的兩大分支,它們專注於在視覺和語言上模擬人類智能。在過去的十年中,深度學習極大地推進了單模態學習在這兩個領域的發展,並在一系列任務上取得了先進的成果。深度學習顯著進步的核心在於GPU的快速發展和大規模數據集的可用出現,這些加速了深度學習模型的大規模訓練。
隨着深度學習的發展,我們也看到了一系列功能強大的神經網絡的發展。傳統的神經網絡通常是由多層線性層和非線性激活組成的多層感知器(MLP)。LeCun等人於1998提出了卷積神經網絡(CNN),將平移不變性作為對2D視覺輸入的更好的歸納偏差,這啟發了大量的深度神經網絡,包括AlexNet,VGGNet, GoogleNet和ResNet。
另一個主要的突破是自然語言處理(NLP)領域的循環神經網絡(RNN),它提出了循環神經元用於序列數據建模。為了緩解長序列訓練中的梯度消失和梯度爆炸問題,LSTM(RNN的一種變體)和GRU(LSTM的一種更高效的版本)被提出。NLP的另一個重大突破是Transformer,它利用注意力機制追求更好的語言表徵。使用多個堆疊的注意力層,Transformer可以以高並行性在全局範圍內融合語言符號的信息,這有利於有效的表徵和大規模的訓練。
雖然我們在單模態領域技術取得了鼓舞人心的進展,但現實世界的問題往往是涉及多模態的。例如,自動駕駛汽車應該做到能夠處理人類的命令(語言)、交通信號(視覺)、道路狀況(視覺和聲音)。即便單模態學習也能從多模態學習中受益。例如,語言學習需要感知,而感知是許多語義公理的基礎。
感知是人類理解物質世界的方式,決定了人類語言背後的意義。由於我們聽到和看到的是同樣的事情,一些知識便被留下來作為常識,這些常識在我們的語言中是沒有記錄的。即便僅僅在語言領域,演講也比純文本包含更多有用的信息,例如,韻律可以暗示情感。
多模態感知在多模態和單模態任務中都有幫助,因此誕生了大量的相關研究工作。在多模態領域中,由於視覺是人類用於理解環境最重要的感官之一,並且語言-視覺特徵結合能夠極大地改善視覺和視覺-語言任務的表現,在視覺-語言集成的相關研究獲得到許多的關注。此外,視覺語言智能的普及還得益於該領域豐富的數據集和評估標準。
解決特定任務VL問題的雄心推動了VL學習的初步發展。這些VL問題包括圖像字幕、視覺問答(VQA)、圖像-文本匹配等。Xu一些人於2015年的工作集成了一個CNN圖像編碼器和一個RNN文本解碼器用於圖像說明。Antol等人於2016年通過將圖像和文本映射到相同的潛在空間並從潛在表徵中預測答案來解決VQA任務。Lee等人於2018年通過計算圖像和文本在句子級別或標記級別上的相似度來進行圖像-文本匹配。這些模型是為各種數據集的特定問題量身定製的,其中每個模型只能解決一個任務。
受語言和視覺的預訓練和微調的流行啟發,視覺和語言的跨學科領域迎來了一個新時代: 通過圖像-文本對的預訓練來學習視覺和語言的聯合表徵。VLP模型的興起主要是受到了架構設計和訓練方法中語言模型的啟發。例如,最近的許多研究採用了與BERT相似的架構和訓練方法。由於缺乏足夠大規模的人工標註數據,VL學習的發展面臨着嚴峻的挑戰。最近,一些研究通過採用對比學習和利用大規模網絡爬蟲爬取數據學習視覺語言特徵而打破了這一限制,它們所獲得的特徵可用於零樣本學習。
隨着VL領域的快速發展,目前亟需一個對該領域現有研究的全面調研。本文旨在提供一個結構化的、關於VL領域的最新進展的綜述,以幫助研究人員獲得一個整體的VL領域的情況,並更好地理解最新的研究成果。
我們將VL學習的發展分為三個階段。第一個是從2014-2018年,其間,專門的模型被設計用於不同的任務。第二個時代是2019-2021年,在此期間,通過使用有着高質量標籤的VL數據集進行預訓練,神經網絡模型能夠學習視覺和語言的聯合表徵。最後,隨着2021年CLIP的出現,第三個時代開始了,此時研究人員尋求在更大的弱標籤數據集上預訓練VL模型,並通過VL預訓練獲得性能強大的基於零樣本或少樣本的視覺模型。
回顧VL智能的整個發展過程,我們發現其總體目標是學習良好的視覺特徵。一個好的視覺特徵應該具有三個屬性,即對象級別、語言對齊和語義豐富。對象級別意味着視覺和語言特徵的細粒度應該分別與對象級別和單詞級別中的保持一致。語言對齊強調的是與語言對齊的視覺特徵可以幫助完成視覺任務。語義豐富是指不受領域限制地從大規模數據中學習特徵。
在VL的第一個時代,相關科學研究工作的目的是解決具體的問題,而不是學習上述良好的特徵。在第二個時代,研究人員基於圖像-文本對來訓練模型,以獲得語言對齊的視覺特徵。這個時代的一些研究成果採用檢測到的區域作為圖像特徵,從而學習對象級別的特徵。只有在第三個時代,研究人員才能處理大規模的數據集並使用蘊含豐富語義信息的特徵來預訓練。
特定任務問題
早期的 VL 方法是針對特定任務設計的。VL領域包含廣泛任務,包括圖像說明,視覺問答,圖文匹配,視覺對話等。
本節中,我們詳細介紹三個最常見的任務:圖像說明、視覺問答和圖文匹配。我們總結了特定任務方法的發展是從全局表徵到細粒度的以對象為中心的表徵。
大多數VL任務有三個階段,包括全局向量表徵和簡單融合;網格特徵表徵和跨模態注意力機制和以對象為中心的特徵表徵和自底向上自頂向下的attention。這三個階段的代表工作如圖1所示。
圖1所示,這三個階段的任務具體方法。主要區別在於視覺representation的粒度和視覺與語言特徵融合的方式。
A 圖像說明任務定義:圖像說明的目標是為給定的圖像生成「標題」,即用一句話總結圖像內容。標題通常包含感興趣的對象、對象的行為以及對象之間的位置關係。方法:深度學習出現之前,早期圖像說明方法主要基於規則。它們首先識別對象及其關係,然後根據預定義的規則生成標題。這種早期的方法由於視覺識別器詞彙量有限以及基於規則的方法在處理人類語言中複雜場景的局限性的原因而效果有限。
深度學習技術的突破極大地增強了圖像說明功能。Seq2Seq在機器翻譯方面取得了巨大的成功,它利用文本編碼器對源語言的文本進行編碼,利用文本解碼器從目標語言生成文本。
在Seq2Seq的編碼器-解碼器結構的基礎上,Xu等人提出用GoogleNet的圖像編碼器替代文本編碼器,並取得了當時最前沿的性能。於是這種編碼-解碼的結構開始流行起來,並被後續的工作廣泛採用。這個結構稱為img2seq,如圖2所示。
早期研究採用CNN模型作為圖像編碼器進行提取一種全局的CNN特性,將其作為初始隱藏狀態輸入文本解碼器。m-RNN和LRCN提出將全局CNN特徵添加到LSTM解碼器的每一步。
圖2所示,img2seq結構包含圖像編碼器(如CNN)和語言解碼器(如LSTM)。
全局CNN特徵有一個明顯的弱點,因為解碼器不能像人類那樣聚焦於圖像的重要區域。為解決這個問題,引入了注意機制。
Xu等人於2015年提出了一種將注意力機制引入特徵的方法。假設CNN特徵提取器的輸出特徵圖形狀為(H, W, C),其中H, W為特徵圖的高度和寬度,C為特徵維數。feature map可以沿空間維度扁平化為H × W的C個緯度的網格特徵。對於LSTM解碼器的每個cell,隱藏狀態都要關注網格特徵,以決定關注哪個網格。
與卷積相比,注意機制具有以下優點。它通過對重要的網格特徵給予更高的attention權重,使模型能夠聚焦於圖像的某些部分。此外,該模型能夠學習與人類直覺高度相似的對齊方式。模型的可解釋性也可以通過可視化的attention分數得到改善,這樣可能有助於排除網絡錯誤。
然而,將一幅圖像分割成大小相同的網格只是一種執行attention的樸素方法,因為網格與對象的對應關係很差。為了解決這個問題,一些研究人員試圖將注意力與更有意義的區域聯繫起來。
Anderson等人(2018)提出了一種自底向上和自頂向下的注意力方法(BUTD),將注意力與檢測模型獲得的顯著區域進行對應。BUTD使用在視覺基因組上預訓練的Faster-RCNN模型提取區域特徵。由於檢測到的對象區域通常包含有意義的視覺概念,且能夠與人類語言更好地匹配,因此BUTD顯著提高了圖像說明和VQA的性能。因此,預訓練的檢測器在後續的VL研究中被廣泛採用。
注意力機制運用的方式也有一些不同。例如,Lu等認為因為有些單詞與視覺特徵無關,解碼器不需要一直保持關注視覺特徵。因此,他們提議用一個門來決定注意力機制是否參與其中。AoA設計了一個特殊的「注意力疊加機制」的圖像說明任務。在標準注意力機制之後,它們將被關注的向量和query連接起來。然後由串聯向量生成信息向量和注意門,將信息向量與信息向量相乘得到輸出。
除上述工作,也有不運用注意力機制的工作。例如,Neural Baby Talk首先生成一個句子模板,然後用圖像中檢測到的概念填充它。Cornia等人通過預測名詞塊的序列來生成一個句子。它們首先檢測區域,然後使用排序網絡對區域進行排序。最後,每個區域將被轉換成一個名詞塊來組成句子。
綜上所述,早期圖像說明方法的發展主要有兩個方面,即視覺表徵和語言解碼。視覺表徵從圖像級的全局特徵發展到細粒度和對象級的區域特徵,語言解碼從LSTM發展到基於注意力機制的模型。
B. 視覺問答任務定義:給定一個圖像-問題對,視覺問答要求根據圖像回答一個問題。大多數研究都將視覺問答視為一個基於預定義答案集的分類問題。例如,VQA v2 有大約2K個預定義答案。方法:普遍的視覺問答是LSTM問題編碼器和VGG圖像編碼器的組合。輸出圖像潛入和問題嵌入,它們通過逐點相乘來簡單地進行融合。然後,融合向量經過一個線性層和一個Softmax層,輸出選擇每個候選答案的概率。模型的體系結構如圖3所示。視覺問答中的後續研究通常採用相同的方法原型。
圖3所示。vanilla VQA的體系結構包含一個CNN模型來編碼輸入圖像和一個LSTM模型來編碼輸入問題。將編碼後的圖像和問題特徵進行點積合併,然後通過全連通層來預測候選答案的概率。
早期研究通常採用全局圖像表徵和簡單融合的方式。Malinowski等於2015提出將CNN圖像特徵輸入到問題編碼器的每個LSTM 單元中。同年,Gao等使用了一個共享的LSTM來編碼問題和解碼答案。他們將CNN圖像特徵與每個解碼器單元的輸出融合,逐字生成答案。
問題回答通常只與圖像的某些區域有關。因此,由於不相關區域帶來的噪聲,全局表徵只會導致次優解。Yang 等人於2016年提出了堆疊注意網絡(stacking Attention Network, SAN)將多個問題引導的注意層堆疊起來。在每一層中,問題的語義表示被用作對圖像網格的查詢。SAN是是一個驗證視覺問答中注意力有效性的工作。Fukui等人同樣採用了網格特徵,他們通過雙線性池化融合圖像和語言特徵。
正如我們在圖像說明任務中所說,網格特徵具有它的局限性。針對這個問題,Shih等人提出使用邊緣框定位出的區域特徵作為視覺表徵。BUTD預訓練了一個強大的檢測器,並使用問題特徵作為queries來關注區域特徵。Lu等人認為對文字的關注與對圖像的關注同等重要。因此,他們開發了一種聯合執行文本引導的圖像注意力和圖像引導的文本注意力的共注意力方式。
除注意力以外,還有其他的模態融合策略。Ren等人將圖像特徵視為語言標記。它們將圖像嵌入與語言標記連接起來作為LSTM的輸入。Kim等人提出了一種用於模態融合的元素乘法迭代方法,名為多模態殘差網絡。MUTAN提出了模式間參數化的雙線性相互作用。雖然融合圖像和語言特徵的方法有很多,但注意力機制依舊是最常用的一種。
圖像問答的核心是獲取圖像和語言(問題)的聯合表徵。該領域的研究人員通過多種方式來更好地編碼和融合圖像與語言,為後續的視覺學習表徵VLP方法奠定了基礎。該領域大多數工作都是將圖像和語言獨立編碼,然後進行融合,這類似於視覺學習表徵VLP中的雙流方法。Ren等人將圖像嵌入視為一種語言標記,類似於單流方法。
C.圖文匹配任務定義:圖像-文本匹配 (ITM),或說圖文檢索,是視覺領域的基本課題之一。給定一個特定模態 (視覺或語言) 的query ,它的目標是從另一個模態中找到語義上最接近的目標。根據query和目標模式,它包含兩個子任務: 圖像-文本檢索和文本-圖像檢索。方法:圖像-文本匹配的核心是計算圖像與文本之間的相似度或距離。一個被廣泛採用的模型是將圖像和文本映射到共享的嵌入空間,然後計算它們的相似性。所匹配出的圖像結果預期與句子的相似度最高。
早期方法主要採用全局特徵對圖文信息進行編碼。Kiros等提出了一種基於鉸鏈的三聯體排序損失的交叉視圖表示方法。Faghri等人考慮硬負樣本因素來提高性能。Karpathy等人提出「深度片段」 (Deep Fragment),這是首次嘗試在圖像端和文本端都使用細粒度表示的方法。
「Deep Fragment」的體系結構如圖4所示。與直接表示整個圖像和句子不同,該方法將每個圖像片段和句子片段映射到跨模態嵌入空間中。然後於不同模式之間排列片段。由於一個圖像區域可能與多個單詞相關,他們會為每個單詞的嵌入找到最相似的區域。圖像與句子的相似度是對齊後的詞對與區域對的相似度之和。
由於注意力機制在其他視覺學習任務中取得了巨大成功,Huang等2016年提出將注意力機制引入到圖文匹配(ITM)中。他們開發了一種上下文調節的注意力方案,以關注出現在圖像和文本中的實例對。Nam等2017年提出了一種雙注意力框架,該框架通過多個步驟來關注圖像和文本中的特定區域,並從這兩種模態中收集重要信息。
這些方法證明了注意力機制在ITM任務中的有效性。但是它們也存在局限性,比如它們是基於多步驟的方法,並且一次只能關注一個語義部分。Lee等人於2018提出了一種名為SCAN的交叉注意力算法,用於計算圖像和句子之間的相似性。為實現交叉注意力機制,它們將圖像表示為一組區域,將句子表示為一組單詞。交叉注意的核心思想是,既要用句子作為query來關注圖像區域,也要用圖像作為query來關注單詞。
簡單來說,圖文匹配本質上是計算圖像和文本之間的相似度的問題。早期研究將圖像和文本編碼成全局特徵,並通過點積計算它們的餘弦相似度。在隨後的工作中,採用了細粒度特徵-目標級特徵來代表圖像,單詞級特徵來代表語言。他們還開發了更複雜的算法來計算相似性,比如交叉注意力的方法。
D.其他任務
在視覺-語言跨學科領域中,有許多我們無法詳細闡述的任務。因此,我們下面簡單中列出了一些重要的任務,包括:
文本-圖像生成:給定一段文本,生成包含該文本內容的圖像。關於這部分更多細節請查看文章的IV-B部分。
視覺對話:給定一個圖像,一段對話歷史,和一個關於圖像的問題,回答這個問題。
視覺推理:與要求回答有關輸入圖像問題的VQA任務類似,視覺推理要求進一步理解圖像的能力。視覺推理任務通常包含足夠的關於圖像中的對象、問題結構等的注釋。
視覺蘊涵:給定一幅圖像和一篇文本,判斷該圖像在語義上是否包含輸入文本。
短語基礎和參考表達式理解:這兩個任務需要一個模型來輸出與文本對應的邊界框。對短語基礎而言,文本是一組短語; 對於引用表達理解而言,文本是一種表達。
在特定任務方法的時代,研究人員為不同的任務設計了特定的模型。儘管不同任務的模型差異很大,但它們遵循着相似的軌跡。它們都有三個階段,如圖1所示。這個時代的技術發展為VLP時代奠定了基礎。
視覺語言聯合表徵
預訓練和微調範式已被廣泛應用於多個領域和各種下游任務。利用流行的大規模預訓練最重要的原因在於大量可用的數據集以及GPU的快速發展。在單模態的語言/視覺預訓練成功的推動下,研究人員開始探索語言和視覺的聯合表徵,因此提出了跨模態VLP模型。
近年來VLP模型的興起主要是受到了語言模型中架構設計和訓練方法的啟發。其中最重要的突破之一是由Vaswani等人於2017開發的用於改善語言表徵的Transformer。使用多個堆疊的注意層,Transformer可以以高並行性在全局範圍內融合語言標記上的信息,這有利於高效的表徵和大規模的訓練。
Transformer的一個成功應用是BERT,它利用Transformer編碼器並引入了雙向屏蔽技術,允許每個語言標記雙向關注其他標記。如圖5所示,訓練是通過用一個特殊的[MASK]標記(即掩模)替換一些文本標記來進行的,並使用其上下文信息來預測每個[MASK]。
該技術可以將語言表徵訓練看作是一個去噪過程,在去噪過程中,輸入的句子能夠學習去用一些有噪聲的標記進行自我重構。這種去噪訓練迫使存在[MASK]的標記利用所有不存在[MASK]的信息,從而產生語境化的表達。
基於Transformer語言模型開發的體系結構設計和掩模訓練技術是各種跨模態開發背後的主要原則,這些開發促進了最近VLP模型的激增。圖5(b)顯示了一個簡單的跨模態BERT。與語言訓練類似,它對圖像進行標記化,並使用一定的技術將圖像與語言標記一起嵌入,這些在後面將詳細介紹。通常,會將標記化的視覺特徵和文本特徵一起輸入帶有掩模語言訓練的Transformer編碼器,以學習聯合表徵。
圖5 (a)原始的單模態BERT,其中隱藏了一些語言符號進行預測,以訓練語言表示。(b)具有多模態的改進BERT,其中圖像和語言標記都被輸入到一個類似BERT的Transformer模型中。
在本節中,我們將介紹VLP模型的主要組成部分。如圖6所示,VLP模型中主要有三大部分,即視覺嵌入(VE)、文本嵌入(TE)和模態融合(MF)模塊。VE和TE通常分別用圖像和文本進行預訓練,而MF則將VE和TE提取的特徵,與圖像-文本的預訓練進行融合。
VLP的目標是學習對象級別語言對齊,語義豐富的視覺表徵。對象級別意味着學習後的表徵是詳細的,並與對象對齊,而不是針對整個圖像。使用被檢測到物體的特徵來表徵圖像的研究成果是對象級的。語義豐富力求一種能夠泛化到廣泛語義概念的表徵,並且需要從大規模數據集中學習。
在海量數據集上進行預訓練對於使用較小數據集的下游任務的性能提升至關重要,因為學習後的表徵可以在下游任務中傳遞。VLP模型已被證明是非常有效的支持下游任務的方法。
圖6 VLP模型的體系結構通常包括視覺嵌入(VE)、文本嵌入(TE)和模態融合(MF)。(a)為雙流模型,(b)為單流模型。在雙流模型中,模態融合是可選的,由語言和圖像編碼器之間的交互(通常是交叉注意)完成。在單流模型中,模態融合是在一個統一的編碼器(通常是多層變壓器)中完成的。
A 為何需要預訓練
深度學習本質上是一種統計數據驅動的方法,旨在從已見數據中學習映射函數,以便使用學習到的映射函數對新的數據進行預測。請注意,最終目標是在新的數據上實現良好的性能。在統計學方面,這樣的目標被表示為最小化整個數據空間的預期損失,該損失遵循固定但未知的分布。但是,由於分布是未知的,這種預期的損失最小化並不容易處理。
在實踐中,必須從該分布中採樣數據,並將經驗損失定義為預期損失的代替。這聽起來可能很奇怪,但實際上是機器學習中常用的做法。例如,對於判斷輸入圖像是否有貓的圖像分類問題,最實用的方法是收集有貓和無貓的訓練圖像,然後通過最小化在該訓練集上定義的經驗損失來訓練分類器。然而,有貓和無貓圖像的分布確實是未知的。
統計學習理論表明,對於從足夠多未知分布中採樣的獨立同分布(iid)數據,經驗損失最小化結果收斂於預期損失最小化結果。也就是說,漸近地,可以使用iid樣本來逼近由未知分布定義的損失函數。然而,在實踐中,數據永遠不足以代表未知的分布,因此會導致許多缺陷,例如使用新訓練集時性能低下、容易受到對抗性攻擊等。
預訓練允許人們利用無限量無標籤(或帶有弱標籤)的數據來學習符合下游任務的特徵。如此大規模的數據集有助於更好的定義預期損失近似值,以便從數據中學習更穩健和真實的規律。由於預訓練和微調階段之間的共享模型,在非常有限(例如,few‑shot)的監督下,微調後學習到的特徵被用於下游任務時能夠有很高的精度。這使得預訓練和微調範式成為解決(或減輕)數據短缺問題的有效方案。
B.模態嵌入
文本和圖像本質上是關於維度和結構的不同級別的信息。為解決這種模態差異,通常使用模態嵌入,即從每個模態中獨立提取特徵,然後將特徵映射到共享特徵空間中。如圖6所示,模態嵌入涉及視覺嵌入和文本嵌入,兩者都包含標記化過程和嵌入過程。視覺嵌入旨在遵循文本嵌入的原理,將圖像轉換為多個標記,其特徵級別為文本標記。Bugliarello 等進行的消融研究證明數據集和超參數的訓練是許多不同VLP模型性能改進的主要原因,並且還強調了模態嵌入的重要性。
1)文本標記化和嵌入
在文本嵌入之前,文本應該被標記化。考慮到語言的離散化性質,早期的工作只是將每個單詞視為一個標記。一項開創性的研究是Word2Vec,它提出了一個連續的CBOW和一個skip‑gram模型來訓練詞向量表徵。Word2Vec具有良好的計算效率,可以擴展到大型語料庫並產生高質量的嵌入。
然而,儘管它的詞彙量高達一百萬左右,但這種方法由於稀有或未見過的單詞而存在詞彙量不足的問題,因此難以學習諸如「est」之類的單詞子單元。為解決這個問題,Sennrich等人提出了一種子單詞標記化的方法,該方法使用字節編碼(BPE),將單詞分割成更小的單元。子單詞標記化被廣泛用於包括BERT在內的許多語言模型中。
大多數VLP模型採用來自預訓練BERT的文本嵌入。由於BERT是使用Transformer編碼器進行掩碼學習訓練的,因此它具有很強的雙向表徵能力。
2)視覺標記化和嵌入
與離散並排列在單個維度中的語言標記不同,圖像來自高維空間並具有相互關聯的像素值。因此,圖像標記化通常比文本標記化更為複雜。基本上,圖像標記化可以分為基於區域的、基於網格的和基於塊的,下面對它們分別介紹。
C.模態融合
D .訓練
圖7 VLP方法的總覽。研究成果按公布時間分類。我們還展示了每個作品來自的主要機構的標識。
E.預訓練研究概況 擴大模型和數據規模 未來趨勢
A.視覺理解
B.視覺生成
A.走向模態合作
B.走向通用統一模態
C.VL+知識