M4C精讀:融合多種模態到公共語義空間,使用指針增強多模態變形器來迭代應答TextVQA任務
Iterative Answer Prediction with Pointer-Augmented Multimodal Transformers for TextVQA
摘要
許多視覺場景都包含了承載重要信息的文本,因此理解圖像中的文本對於後續的推理任務是至關重要的。例如,一個警告標誌上的深水標籤警告人們在現場的危險。最近的工作探索了TextVQA任務,它要求閱讀和理解圖像中的文本來回答一個問題。然而,現有的TextVQA方法大多基於兩種模式之間的自定義成對融合機制,並將TextVQA轉換爲分類任務,限制爲單個預測步驟。在這項工作中,我們提出了一種新的基於多模態轉換器架構的TextVQA任務模型,該架構具有豐富的圖像文本表示。我們的模型通過將不同的模式嵌入到一個共同的語義空間中來自然地融合不同的模式,在這個語義空間中,自我注意被應用到模式間和模式內的環境中。此外,通過動態指針網絡實現了答案的迭代解碼,允許模型通過多步預測而不是一步分類來形成答案。我們的模型在用於TextVQA任務的三個基準數據集上優於現有方法的一大截兒。
1.簡介
作爲視覺推理的一個突出任務,視覺問題回答(VQA)任務[4]在數據集(如[4,17,22,21,20])和方法(如[14,3,6,25,33])方面得到了廣泛的關注。然而,這些數據集和方法主要關注場景中的可視化組件。另一方面,他們往往忽略了一個至關重要的模式——圖像中的文本——它承載着理解和推理場景的基本信息。例如,在圖1中,標誌上的深水警告人們場景中的危險。爲了解決這個缺陷,最近提出了新的VQA數據集[44,8,37],其中的問題明確要求理解和推理圖像中的文本,稱爲TextVQA任務。
圖1所示。與之前在TextVQA任務上的工作(例如[44])相比,我們的模型伴隨着豐富的圖像文本特徵,在一個聯合嵌入空間上處理所有的模態,而不是模態之間的成對融合機制。此外,通過指針的迭代解碼來預測答案,而不是在固定的詞彙表上進行一步分類或從圖像中複製單個文本標記。
TextVQA任務特別要求模型通過三種方式來查看、閱讀和推理:輸入問題、圖像中的可視內容(如可視對象)和圖像中的文本。基於圖像的OCR結果,針對TextVQA任務提出了幾種方法[44,8,37,7]。特別是,LoRRA[44]擴展了以前的VQA使用OCR注意力分支對[43]進行建模並添加OCR標記作爲答案分類器的動態詞彙表,允許從圖像中複製單個OCR標記作爲答案。類似地,在[37]中,OCR標記被分組成塊,並添加到VQA模型的輸出空間中。
雖然這些方法在一定程度上使閱讀圖像中的文本成爲可能,但它們通常依賴於兩種模式之間的自定義成對多模態融合機制(例如對圖像區域的單跳注意和基於輸入問題的文本標記),這限制了模式之間可能的交互類型。
此外,他們將答案預測視爲一個單步分類問題——從訓練集中選擇一個答案或從圖像中複製一個文本標記——這使得生成複雜的答案變得很困難,比如有多個單詞的圖書標題或招牌名稱,或者有常見單詞和特定的圖像文本標記的答案,比如麥當勞漢堡,麥當勞來自於圖片中的文字,而漢堡來自於模特自己的詞彙。此外,以往工作中基於圖像文本嵌入的文字特徵表達能力有限,忽略了重要的線索,如外觀(如字體和顏色)和文本標記在圖像中的位置。例如,具有不同字體並且在空間上彼此分離的標記通常不屬於同一街道標記。
在本文中,我們爲了解決上述限制,提出新型多模態多複製網格(M4C)模型的TextVQA任務,基於transformer[48]架構,並通過動態指針進行迭代應答解碼,如圖1所示。我們的模型自然地融合了這三種輸入模式,並在一個多模態轉換器中均勻地捕獲模式內和模式間的交互,它將每種模式中的所有實體投射到一個通用的語義嵌入空間中,並應用自我注意機制[38,48]來收集每個實體的關係表示。不同於把應答預測作爲分類任務,我們在多個步驟執行迭代應答,通過一個動態指針網絡增強我們的應答解碼器,它允許以一種置換不變的方式選擇圖像中的文本,而不需要依賴比如以前工作中的LoRRA [44]中的任何特殊位置索引。此外,我們的模型能夠將自己的詞彙表與生成的答案中的圖像中的文本相結合,如圖4和圖5中的示例所示。最後,我們介紹了一種基於多種線索的圖像文本標記的豐富表示方法,包括其單詞嵌入、外觀、位置和字符級信息。
本文的貢獻如下:1)我們證明了多個(兩個以上)輸入模態可以通過我們的多模態變壓器結構自然地融合和聯合建模。2)與之前在TextVQA上的工作不同,我們的模型在單個分類步驟之外對答案進行推理,並通過我們的點擴展多步驟解碼器進行預測。3)我們對圖像中的文本標記採用了豐富的特徵表示,並證明了它比之前工作中僅基於單詞嵌入的特徵更好。4)我們的模型在三個富有挑戰的數據集上取得了相比以前的重大提升,TextVQA [44] (+25% relative), ST-VQA [8] (+65% relative), and OCR-VQA [37] (+32% relative)。
2.相關工作
基於閱讀和理解圖像文本的VQA。最近,一些數據集和方法[44,8,37,7]被提出用於基於圖像中的文本的可視化問題回答(稱爲TextVQA任務)。LoRRA [44],在此任務之前的一項重要工作是擴展了Pythia[43]框架的VQA,並允許它複製一個單一的OCR令牌從圖像作爲答案,通過應用一個單一的注意跳躍(受問題限制)OCR標記,並將OCR標記索引包含在答案分類器的輸出空間中。在[37]中提出了一個概念上類似的模型,其中OCR標記被分組成塊,並添加到VQA模型的輸入特性和輸出答案空間中。此外,一些其他的方法[8,7]通過使用OCR輸入擴展現有的VQA模型來支持文本閱讀。然而,這些現有的方法受限於圖像文本的簡單特徵表示、多模態學習方法和單步分類應答。在這項工作中,我們使用M4C模型來解決這些限制。
視覺和語言任務中的多模態學習。早期視覺和語言任務的方法常常通過對一種模式的注意而對另一種模式的注意來將圖像和文本結合起來,例如基於文本的圖像注意(如[51,34])。一些方法已經探索了多模態融合機制,如雙線性模型(如[14,25])、自我注意(如[15])和圖網絡(如[30])。受在自然語言任務中Transformer和BERT架構的成功的啓發,一些最近的工作[33,1,47,31,29,45,53,11]利用自監督也在大規模數據集上應用了基於變換的圖像與文本融合。然而,現有的大多數作品都用一組特定的參數來處理每種模態,這使得它們很難擴展到更多的輸入模態。另一方面,在我們的工作中,我們將所有來自每種形式的實體投射到一個聯合嵌入空間中,用transformer架構在所有事物的列表上同樣的對待它們。我們的結果表明,聯合嵌入和自我注意是有效的建模多個(兩個以上)輸入模式。
使用指針進行動態複製。 TextVQA任務的許多答案來自於圖像中的文本標記,如圖書標題或街道標誌。由於很難在答案詞彙表中包含所有可能的文本標記,因此從圖像中複製文本通常是更容易的答案預測選項。之前的工作已經探索了在不同的任務中動態複製輸入,例如文本摘要[42],知識檢索[52,基於指針網絡[50]的圖像字幕[35]及其變體。對於TextVQA任務,[44,37]提出通過複製OCR標記的索引添加到分類器輸出中。但是,除了複製單個標記的限制之外(或塊),這些方法的一個缺點是它們需要預先定義的OCR標記數量(因爲分類器的輸出維度是固定的),並且它們的輸出依賴於標記的順序。我們使用置換不變的指針網絡和我們的多模態轉換器克服了這個缺點。
3.多模態多複製網格(M4C)
在這項工作中,我們提出了多模態多複製網格(M4C),一種新的TextVQA任務的方法,基於指針增強的多模態變壓器結構與迭代答案預測。給定一個問題和一個圖像作爲輸入,我們從三種模式中提取特徵表示——問題、圖像中的視覺對象和圖像中的文本。這三種模式分別表示爲疑問詞特徵列表,來自現成目標檢測器的可視目標特徵列表,和基於外部OCR系統的OCR標記特徵列表。
我們的模型將實體的特徵表現(在我們的例子中是問題詞、檢測到的對象和檢測到的OCR標記)從三種模式投射成一個學習的公共嵌入空間中的向量。然後,將多層轉換器[48]應用於所有投影特徵的列表中,用模內和模間上下文豐富它們的表示。我們的模型通過動態指針網絡的迭代解碼來預測答案。在解碼過程中,它以自迴歸的方式輸入前一個輸出來預測下一個答案組件。在每個步驟中,它要麼從圖像中複製一個OCR標記,要麼從其固定的回答詞彙表中選擇一個單詞。圖2顯示了我們的模型的概述。
3.1所有模式的公共嵌入空間
我們的模型接收來自三種模式的輸入——問題詞語、可視對象和OCR標記。我們爲每種模態提取特徵表示,並通過以下特定領域的嵌入方法將它們投射到一個公共的d維語義空間中。
嵌入問題詞語。給出一個K個單詞序列的問題,我們使用預先訓練好的BERT[13]模型將這些單詞嵌入到維特徵向量 (其中 )。在訓練過程中,使用問題回答損失對BERT參數進行微調。
嵌入檢測到的對象。 給定一幅圖像,我們通過一個預先訓練好的檢測器(在我們的例子中是Faster R-CNN[41])獲得一組M個可視對象。追隨之前的工作[3,43,44],我們從第個對象的檢測器輸出中提取外觀特徵(其中)。爲了捕獲其在圖像中的位置,我們從第對象的相對邊界框座標,引入一個4維度位置特徵,其中分別是圖像的寬度和高度。然後,外觀特徵和位置特徵通過兩個學習過的線性變換被投影到d維度空間(其中與前面的問題詞嵌入相同).並將其歸結爲最終嵌入對象:
式中,是學習過的投影矩陣。是歸一化層,線性變換的輸出相加,以確保對象嵌入與問題詞嵌入具有相同的尺度。在訓練中,我們微調了最後一層速度更快的R-CNN檢測器。
嵌入具有豐富表示的OCR標記。 直觀地說,爲了在圖像中表示文本,不僅需要對其字符進行編碼,還需要對其外觀進行編碼(例如,圖像中的顏色、字體和背景)和空間位置(例如,出現在書的封面上的單詞更可能是書的標題)。我們在模型中遵循這種直覺,並使用豐富的OCR表示法,該表示法由四種類型的特徵組成,在我們的實驗中顯示,這明顯優於單字嵌入(如FastText)在之前的工作[44]。通過外部OCR系統在圖像中獲取一組個OCR標記後,從第個令牌(其中我們提取一個300維的FastText [9]向量,它是一個嵌入了子單詞信息的單詞;和上面的對象檢測中Faster R-CNN檢測器一樣,外觀特徵由OCR標記的邊界框上的RoI-Pooling提取;一個604 維字符的金字塔直方圖(PHOC)[2]向量,捕捉標記中出現的字符,這對OCR錯誤更健壯,可以看作是一個粗糙的字符模型,基於OCR標記的相對邊界框座標的四維定位特徵。我們將每個特徵線性投影到維空間中,並將它們加起來(經過層歸一化後)作爲最終OCR標記嵌入,如下:
式中,是學習過的投影矩陣。是歸一化層。
3.2.多模態融合和指針增強變換器的迭代答案預測
將每個模態中的所有實體(問題詞語、可視對象和OCR標記)作爲向量嵌入到維聯合嵌入空間中之後,如3.1節,我們應用一個隱含維數爲的個變形層[48]堆棧在所有個實體列表上。通過變形器中的多頭自我注意機制,每個實體都可以自由地關注所有其他實體,而不管他們是否來自相同的模態。例如,允許一個OCR標記伴隨另一個OCR標記、檢測到的對象或問題詞。這使得通過相同的變形器參數集以同樣的方式建模模態間和模態內部關係成爲可能。我們的多模態轉換器的輸出是每個模態中實體的維特徵向量的列表,這可以看作是它們在多模態上下文中豐富的嵌入。
圖2。M4C模型概覽。我們通過特定於域的嵌入方法將所有實體(問題詞、檢測到的可視對象和檢測到的OCR標記)投射到一個公共的-dimensional語義空間中,並在投射的事物列表上應用多模態transformer層。基於變形器輸出,我們通過迭代自迴歸譯碼來預測答案,在每個步驟中,我們的模型要麼通過動態指針網絡選擇一個OCR標記,要麼從其固定的回答詞彙表中選擇一個單詞。
我們使用與解碼器完全相同的transformer層,通過迭代解碼來預測問題的答案。我們以自迴歸的方式,一個詞一個詞地對答案進行解碼,總共個步驟,其中每個解碼的單詞可以是圖像中的OCR標記,也可以是從我們固定的答案單詞詞彙表中提取的單詞。如圖2所示,在解碼的每個步驟中,我們輸入先前預測的單詞的嵌入,並根據動態指針網絡的transformer輸出預測下一個答案單詞。
讓是圖像中個OCR標記的d維變形器輸出。假設我們有個經常出現在訓練集答案中字彙表。在第個解碼步驟,transformer模型輸出一個維向量,對應於第t步的輸入(本節稍後解釋)。從中,我們預測了從固定答案詞彙表中選擇一個單詞的維分數和在解碼步驟時,從圖像中選擇OCR標記的維分數。在我們的實現中,固定的回答詞彙第個單詞的得分(其中),通過一個簡單的線性層來預測:
其中是答案詞彙表中第個單詞的維參數,而是標量參數。
爲了從圖片中個OCR標記中選擇一個,我們使用一個動態指針網絡擴展轉換器模型,預測每個標記通過解碼輸出與每個OCR標記的輸出表示之間的雙線性交互作用的複製分數(其中)
其中是矩陣,是維度向量。
在預測過程中,串聯固定答案詞彙得分和動態OCR複製得分選擇機制,從所有V + N候選詞中選擇得分最高的元素(一個單詞或一個OCR標記)。
在我們的迭代自迴歸譯碼過程中,如果譯碼時步的預測是一個OCR標記,我們將它的OCR表示作爲變形器輸入輸入到下一個預測步。否則(之前的預測是固定答案詞彙表中的一個單詞),我們在Eqn. 3中輸入相應的權重向量作爲下一步的輸入。此外,我們添加兩個額外的d維向量作爲輸入——一個對應於步驟的位置嵌入向量,以及一個類型嵌入向量,該類型嵌入向量對應於先前的預測是一個固定詞彙表單詞還是一個OCR標記。與機器翻譯類似,我們使用兩個特殊的標記來增加回答詞彙表,<begin>和<end>。這裏<begin>用作第一個解碼步驟的輸入,我們在預測到<end>之後停止解碼過程。爲了保證應答解碼的因果性,我們在transformer架構[48]的自我注意層中屏蔽了注意權重.這樣,問題詞、檢測到的對象和OCR標記就不能參與任何解碼步驟,所有的解碼步驟只能關注之前的解碼步驟,除了問題詞、檢測對象和OCR標記外。這類似於[40]中的前綴LM。
3.3訓練
在訓練過程中,我們監督我們的多模轉換器在每個解碼步驟。與機器翻譯等序列預測任務類似,我們使用teacherforce28來訓練我們的多步回答解碼器,其中每個groundtruth回答都被標記爲單詞序列。給定一個答案單詞可以同時出現在固定答案詞彙表和OCR標記中,我們應用多標籤sigmoid損失(而不是softmax損失)在連接的分數上。
4.實驗
我們在TextVQA任務的三個具有挑戰性的數據集上評估我們的模型,包括TextVQA[44]、ST-VQA[8]和OCR-VQA[37](我們僅爲研究目的使用這些數據集)。我們的模型在所有三個數據集上都比以前的工作表現好得多。
表1。在TextVQA數據集上,我們簡化了M4C模型,並與之前的工作LoRRA[44]進行了詳細的比較。我們的多模態變形器(第3行vs . 1行)、豐富的OCR表示(第8行vs . 5行)和迭代答案預測(第11行vs . 8行)都顯著提高了準確性。值得注意的是,即使使用較少的預訓練參數(第9行與第1行),我們的模型仍然比LoRRA的性能高出9.5%(絕對)。
我們的最終模型在沒有和使用ST-VQA數據集作爲額外訓練數據的情況下,測試精度分別達到39.01%(第11行)和40.46%(第14行),比具有挑戰性的DCD ZJU方法高出9%(絕對)。詳情見第4.1節。
圖3。TextVQA、ST-VQA、OCR-VQA驗證集在不同最大解碼步驟下的準確率單步()和多步()回答預測之間存在較大差距。我們在實驗中默認使用12步。
圖4。來自我們的M4C模型的TextVQA驗證集的質量示例(橙色單詞來自OCR標記,藍色單詞來自固定答案詞彙表)。與之前LoRRA[44]從訓練集中選擇一個答案或者只複製一個OCR標記相比,我們的模型可以複製多個OCR標記,並通過迭代解碼將其與固定詞彙表結合起來。
表2。在ST-VQA數據集上,我們的不帶解碼器的受限模型(M4C w/o dec)已經大大優於以前的工作。我們的最後一個模型實現了+0.18(絕對)ANLS超過挑戰冠軍,VTA[7]的推進。詳見4.2節。
圖5。來自我們的M4C模型在ST-VQA驗證集上的質量示例(來自OCR標記的橙色單詞和來自固定答案詞彙表的藍色單詞)。我們的模型可以選擇多個OCR標記,並將它們與其固定的詞彙表結合起來,以預測答案。
表3。在OCR-VQA數據集上,我們嘗試使用迭代解碼器(我們的完整模型)或單步分類器(M4C w/o dec)作爲輸出模塊,我們的迭代解碼器大大提高了精度,大大優於基線方法。詳情見第4.3節。
圖6。來自我們的M4C模型在OCRVQA驗證集上的定性示例(來自OCR標記的橙色單詞和來自固定答案詞彙表的藍色單詞)。
5.結論
在本文中,我們提出了多模態多複製網格(M4C)用於基於對圖像中的文本的理解和推理的可視化問題回答。M4C對圖像中的文本採用豐富的表示形式,通過指針增強的多模態轉換器體系結構在聯合嵌入空間上對所有模式進行聯合建模,並通過迭代解碼預測答案,在TextVQA任務的三個具有挑戰性的數據集上大大超過了之前的工作。結果表明,通過領域特定的嵌入和同質的自我注意來處理多模態是有效的,可以通過多步解碼而不是一步分類來產生複雜的答案。