多模態視頻理解模型新標杆!微軟黃學東團隊發佈 i-Code

黃學東領銜,微軟 Azure 認知服務研究團隊重磅發佈「視覺-語言-語音」多模態預訓練模型 i-Code。在 5 項多模態視頻理解任務以及 GLUE NLP 任務上樹立了業界新標杆!

編譯丨OGAI

編輯丨陳彩嫺

人類的智能涉及多個模態:我們整合視覺、語言和聲音信號,從而形成對世界全面的認識。然而,目前大多數的預訓練方法僅針對一到兩種模態設計。

在本文中,我們提出了一種多模態自監督預訓練框架「i-Code」,用戶可以靈活地將視覺、語音和語言的形式組合成統一的通用的向量表徵。在該框架下,我們首先將各個模態的數據輸入給預訓練的單模態編碼器。接着,我們通過多模態融合網絡集成各單模態編碼器的輸出,該網絡使用新型注意力機制等架構創新,有效地融合了不同模態的信息。

我們使用新的目標端到端地預訓練整個系統,新的目標包括掩碼模態單元建模和交叉模態對比學習。不同於以往只使用視頻進行預訓練的研究,i-Code 框架可以在訓練和推理過程中動態處理單模態、雙模態和三模態數據,靈活地將不同的模態組合投影到單個表示空間中。實驗結果表明,在 5 個視頻理解任務和 GLUE NLP 基準測試上,i-Code 的表現相較於目前最先進的技術的提升高達 11%,展示了集成多模態預訓練的威力!

1

引言

真正的類人智能要考慮來自各種信號和感覺器官的信息。智能系統應該是綜合的,引入來自所有可用模式的信號。在許多實際的數據體系中,我們可以利用視覺(V)、語言(L)和語音/音頻(S)模態的數據。目前,研究者們在建立理解單模態、雙模太的模型方面取得了巨大的進展,然而將這些工作推廣到能夠同時解譯視覺、語言、語音的三模態系統上仍然是一項艱鉅的任務。

三模態訓練需要大量的三模態數據(例如,帶文字描述的視頻),而此類數據的規模往往比可用的單模態或雙模態數據小好幾個數量級。例如,目前最大的帶標註的視頻數據集由 1.8 億段視頻組成,而最大的圖像描述數據集則包含高達 9 億個圖文對。

爲了解決該問題,本文提出了兩種解決方案。首先,除了三模態視頻,我們還利用了大規模的雙模態數據,例如:帶有文本描述的圖像(V+L)、帶有轉寫文本的語音(S+L)和視頻描述(V+S)。這極大地擴展了模型輸入數據的規模和多樣性,同時涵蓋了全部三種目標模式。其次,我們提出了一種融合架構,可以採用研究社區提出的最先進的單模態編碼器的上下文輸出,而非從頭開始構建一個獨立的模型。

本文提出了「i-Code」,其中 i 代表集成多模態學習。我們開發了一個有效的融合模塊,該模塊集成了單模態編碼器的輸出,進行跨模態理解,從而獲得最終的預測結果。爲了設計最佳的融合架構,我們試驗了多種 Transformer 架構內的自注意機制的變體,包括交叉和合並不同模態的注意力得分的機制。

接着,我們使用各種自監督目標利用雙模態和三模態數據對 i-Code 進行預訓練。這些目標包括:(1)掩碼單元建模。其中所有輸入信號都被轉換爲離散的詞例(Token),旨在預測各模態下的被遮蔽的單元的正確詞例。(2)對比學習。給定兩種輸入模態,模型預測給定的信號是否來自訓練數據中的同一個三元組(或數據對)。

我們在多個多模態對比基準上徹底評估了 i-Code。實驗結果證明了所提出的多模態預訓練框架的有效性。對 i-Code 進行微調,相較目前最先進,我們可以在 6 個多模態數據集和 GLUE NLP 基準測試中的算法獲得 11% 的性能提升。

2

大規模多模態預訓練數據

視頻中包含了視覺、語言、語音三種模態的數據。我們選用了最近發佈的視頻數據集 YT-Temporal-180M,使用給定的視頻編號和時間戳收集了其中的 1.8 億個視頻片段,每個片段的平均長度爲 7.8 秒。對於每個片段,我們平均採樣 8 幀作爲視覺輸入,提取到的原始音頻波形會被下游的語音編碼器進一步處理。每個片段還帶有一個文本腳本,改腳本是對原始 ASR 轉錄仔細去噪之後得到的。

然而,視頻數據中存在幀和轉錄文本之間對齊不準的問題。爲此,我們使用Azure 認知服務的 API 爲每個視頻片段的高分辨率中間幀生成字幕,以增強視頻數據集。

由於高質量的三模態視頻的規模有限,我們還使用了雙模態數據集進行預訓練,這已被廣泛應用於視覺語言表示學習等應用、零樣本跨模態生成、自動語音識別(ASR)和文本轉語音(TTS)等應用。這也是成對數據的數據集首次被用於訓練「視覺-語言-語音」模型。i-Code 在預訓練期間使用了以下雙模態數據集:

(1)視覺-語言:使用來自 Florence 計算機視覺基礎模型的預訓練數據中的7,280 萬對「圖像-描述文本」對。

(2)語言-語音:使用內部的 75 小時的英語語音轉錄數據。該數據集包含 6,320 萬對「轉錄-語音」對,涉及 Cortana、遠場語音和呼叫中心等多樣化的場景。

(3)視覺-語音:使用了視頻敘事數據集 SMiT,該數據及包含 500,000 段語音描述文本,每段文本描述了短視頻中一系列不同的事件。

3

i-Code 多模態預訓練框架

模型架構

i-Code 由四個模塊組成。前三個模塊是分別用於視覺、語言、語音的單模態編碼器。最後一個模塊是模態融合網絡。首先,我們將每個模態的原始輸入輸入到對應的單模態編碼器中。然後,我們通過線性投影層處理所有編碼後的輸入,通過模態融合網絡集成它們。i-Code 可以處理各種輸入:單模態輸入,兩種模態的任意組合,全部三種模態一起輸入。

我們並非從頭開始訓練每個單模態編碼器,而是設計了一個模塊化的框架:可以使用任何預訓練的模型替換單模態編碼器。這爲融合網絡提供了高質量的上下文表徵,從而進行更有效的多模態理解。我們採用了各種模態的最先進的編碼器:

(1)語言編碼器:採用 DeBERTa V3 base,該預訓練模型包含 1.83 億參數,用到了解耦注意力機制。

(2)視覺編碼器:採用 CoSwin Transformer。爲了使 i-Code 可以處理圖像和視頻幀序列,我們利用預訓練的 CoSwin Transformer 實例化了一個視頻 CoSwin Transformer,該模型包含 9,100 萬參數。

(3)語音編碼器:採用預訓練的 WavLM-large 模型,該模型包含 3.15 億參數,使用了時域卷積編碼器提取輸入語音波形,並進一步使用 transformer 編碼。值得注意的是,我們還可以使用其它的單模態編碼器來組成 i-Code 架構。

圖 1:(左)i-Code 模型架構(右)融合網絡中的注意力和前饋網絡操作。

模態融合模塊

每個單模態編碼器提取的特徵會通過單層前饋網絡投影,其維度等於融合網絡的隱藏維度。我們將投影的特徵輸入給模態融合網絡,生成集成的多模態表徵。由於單模態編碼器已經包含了位置信息,我們在融合模塊中不使用位置嵌入。融合網絡的主幹是一個 Transformer 編碼器,其中每一層都會執行跨模態注意力、前饋投影和層歸一化。如圖 1 所示,爲了促進更有效的跨模態理解,我們探索了傳統注意力機制的兩種變體:融合注意力和協同注意力。

融合注意力

此時,不同的模態共享相同的注意力參數。爲了幫助融合模塊區分不同的模態,我們在所有時間和空間維度上,將每個模態獨有的識別嵌入添加到投影后的特徵上(在所有的時間和空間維度上)。我們將來自不同模態的投影特徵連接在一起,輸入給融合網絡,融合網絡的每一層都與經典的 Transformer 編碼器層相同。

協同注意力

此時,每個 Transformer 層首先在每個模態內部的特徵之間執行自注意力機制,每個模態都具有模態特定的注意力參數。假設前一個 Transformer 層的語言、視覺和語音輸出分別爲、和。以語言模態的單個注意力頭爲例:

我們在自注意力子層後應用一個跨模態注意力:

對於具有融合注意力機制的融合網絡模塊,我們使用了 6 個 Transformer 編碼器層,隱層的向量維度爲 768,融合模塊有 1.54 億個參數。對於協同注意融合模塊,爲了保持模型的維度與融合注意力模型相近,我們使用了 3 層 Transformer,隱藏維度相同,最終的模型具有 1.63 億個參數。融合模塊中的參數在預訓練中隨機初始化,而不是從預訓練的 Checkpoint 上被實例化。

4

i-Code 的預訓練

掩碼單元建模

此類自監督預訓練目標包括:

(1)掩碼語言模型(MLM)。MLM 在針對語言和「視覺-語言」預訓練的自監督學習方面取得了顯著的成功。在預訓練過程中,我們將 30% 的文本詞例屏蔽掉。模型需要預測被屏蔽掉的詞例,損失函數爲真實值和預測詞例索引之間的交叉熵。

(2)掩碼視覺模型(MVM)。我們在視覺自監督學習中採用了與 MLM 一致的高級策略。我們將視覺輸入轉換爲離散詞例,屏蔽輸入圖像中的某些區域,並最大化被屏蔽區域的預測值和真實詞例之間的交叉熵。給定一組幀序列,我們利用目前最先進的視覺矢量量化變分自編碼器(VQ-VAE)——PeCo,將每一幀離散爲詞例。我們採用 Wang 等人在論文「Bevt: Bert pretraining of video transformers」中提出的 3D tube 掩碼策略,跨時間維度屏蔽圖像區域進行掩蔽,每一幀屏蔽 50% 的區域。

(3)掩碼語音片段模型(MSM)。使用預訓練的 wav2vec 2.0 語音量化器模型將語音離散化爲詞例序列。我們使用與 HuBERT 和 wav2vec 2.0 相同的掩碼策略,隨機選擇 p% 的時間步作爲起始的索引,並屏蔽接下來的 L 步語音片段。此時,我們取 L=10、p=8。MSM 損失 爲預測標籤和真實標籤之間的交叉熵。

跨模態對比學習

我們先將每個單模態輸入通過相應的編碼器編碼,然後將編碼結果分別送入多模態編碼器。接下來,對每組單模態嵌入進行平均池化。對於語言和語音模態,多模態編碼器輸出沿時序維度取平均。視覺輸入則同時沿時間和空間維度取平均。我們分別將視覺、語言和語音的所獲得的表徵表示爲、、,並且將表徵歸一化爲單位向量,例如:

每個 batch(B)中的視覺語言對比損失爲:

其中,「視覺到語言」、「語言到視覺」的對比學習目標函數爲:

類似地,我們分別定義了「視覺-語音」、「語言-語音」的對比學習目標函數和。

在對視頻進行預訓練時,我們將視頻描述和 ASR 轉錄文本連接起來作爲視覺語言對比學習和 MLM 的語言輸入。預訓練目標函數是掩碼單元建模和對比學習目標的加權和:

5

實驗

我們在多模態情緒&情感分析、多模態推理、視頻問答以及一些單模態任務上評估了 i-Code 模型的性能。

多模態情緒&情感分析

我們在迄今爲止最大的多模態情感分析和情感識別數據集 CMU-MOSEI 上測試了 i-Code,該數據集包含 23,453 段視頻,提出了兩個任務:情緒分析和情感識別。

就情緒分析任務而言,給定一段視頻,模型需要預測說話人的情緒水平,其範圍爲高度消極(-3)到高度積極(3)。評價指標爲 MAE、預測情緒標籤和真實情緒標籤之間的相關性(Corr)和 F1 得分。該數據集還可以被用於構建二元分類任務評估模型,將-3到-1分作爲一個類別,將1到3分組作爲另一個類別。

表 1:CMU MOSEI 情緒分析結果

我們測試了 i-Code 使用不同融合注意力機制、預訓練數據時的性能。如表 1 所示,i-Code 在 CMU MOSEI 情緒分析任務上取得了目前最佳的性能。在 Dual 數據集上訓練的 i-Code 模型比在視頻數據集上訓練的 i-Code 模型展現出了更好的性能。在此數據集上,融合注意力的性能優於協同注意力機制。即使不進行多模態預訓練,利用最先進的編碼器的 i-Code 已經展現出與以前的模型相比具有競爭力的性能。

表 2:CMU MOSEI 情感識別結果

就情感識別而言,我們按照 Ekman 情感分析體系爲視頻賦予以下標籤:快樂、悲傷、憤怒、恐懼、厭惡、驚訝。評價指標爲準確率(accuracy)、精度(precision)、召回率(recal)和 Micro-F1。我們在未進行模態對齊的數據集上評估模型性能。如表 2 所示,相較於之前的最佳模型,i-Code 的準確率提高了 4.1%,F1 提高了 3.3%,協同注意力的性能優於融合注意力。同時利用 Dual 數據和視頻數據進行預訓練,可以有效提升模型性能。

表 3:UN-FUNNY 二分類結果

我們在 UR-FUNNY 數據集上測試了 i-Code 在情感二分類任務上的性能。給定一段視頻幀和聲音,模型需要預測該片段是否會立即引起笑聲。對比基線包括Bi-Bimodal 融合網絡、低秩矩陣融合、MultiBench、張量融合網絡等利用了三模態輸入的模型。如表 3 所示,i-Code 模型的準確率相較於之前最優的模型高出了 7.5%,使用視頻預訓練和融合注意力融合網絡時的性能最優。

多模態推理

我們使用 VIOLIN 數據集評估 i-Code 的跨模態推理能力,該數據集的輸入是一段剪輯自電視節目的視頻片段。該片段由視頻幀 V、對齊後的描述文本 T 和音頻 S 組成。模型的任務是判斷文本假設 H 與視頻片段矛盾還是相符。我們將融合網絡輸出的平均值作爲多模態表徵,並以此訓練一個二分類器。如表 4 所示,i-Code 的準確率相較於之前最優的對比基線提升了 3.5%。其中,D、V、NP 分別代表使用 Dual、視頻作爲預訓練數據和不使用預訓練數據;M、C 分別代表使用融合注意力機制和協同注意力機制。

表 4:VIOLIN 數據集上的多模態推理結果

視頻問答

在視頻問答(VQA)任務中,給定一段包含視頻幀 v、視頻描述 t、音頻 s 的視頻,以及問題 q。問答系統需要從若干候選答案中選擇出正確的答案。我們將問題、候選答案、文本描述連接起來作爲文本輸入。接着,我們將文本輸入、視頻幀、語音波形一起輸入給 i-Code 模型,對各模態的輸出取平均,得到的多模態表徵。我們通過投影層將表徵轉換爲 logit 得分,並將 softmax 應用於這些得分得到分類概率。

我們分別在 How2QA、KnowIT 數據集上測試了 i-Code 在視頻問答任務上的性能。How2QA 包含來自 HowTo100M 的 37,000 daunt視頻片段;KnowIT 包含 24,282 個人類標註的問答對,每個問題附有 4 個候選答案。實驗結果如表 5 和表 6 所示。

表 5:How2QA 數據集上的視頻問答性能

表 6:KnowIT 數據集上的視頻問答性能

單模態任務

我們進一步研究了 i-Code 單模態任務上的表現。純語言NLP任務)上的表現。如表 7 所示,我們將 i-Code(D+M)與之前發佈的多模態模型以及參數量相當的語言模型進行了比較。

實驗結果表明,i-Code 大幅提升了多模態模型的性能,相較於之前最先進的模型,其平均得分提高了 11%。與之前的純語言模型相比,i-Code 也表現出了更強的性能,在 7 個任務以及整體性能上都超過了 DeBERTa V3 。

以往,多模態模型(尤其是視覺語言模型)中的語言編碼器的性能通常在只涉及語言的任務上相較於語言模型較弱。這種性能差距通常是由於多模態數據集中的語言數據質量較差導致的。我們推測,掩碼語言建模目標以及語言-語音對比學習有助於 i-Code 縮小這一差距。

表 7:在語言任務(GLUE)上與之前的模型的性能對比。

6

性能分析

如表 8 所示,以 MOSEI 情感識別任務爲例,我們發現僅使用單一模態數據時,語音是最有效的。這也許是因爲音色能夠反映出人類的情感。使用雙模態數據比使用單模態數據的性能往往更好。在使用雙模態數據時,使用「語言-語音」可以獲得最佳的模型性能。

表 8:CMU MOSEI 情感識別任務上的模態消融實驗結果

此外,在大規模多模態數據集上的自監督預訓練顯著提升了模型性能。