▊ 寫在前面
在本文中,作者提出了VX2TEXT,一個用于從“視訊+X”(X代表文本、語音或音頻等)的多模态輸入來生成文本 的架構。為了利用Transformer網絡,每個模态首先由可學習的 tokenizer轉換為一組語言embedding。
這使得VX2TEXT能夠在語言空間中執行多模态融合,進而消除了特殊跨模态融合子產品的需要。為了解決在連續輸入(如視訊或音頻)上的tokenization的不可微性,作者使用了一個relaxation方案,可以實作端到端訓練。
此外,與之前的僅編碼器模型不同,VX2TEXT網絡包括一個自回歸解碼器,可以從語言編碼器融合的多模态embedding中生成開放式文本。這使得VX2TEXT能夠進行生成任務,并使它直接适用于不同的“視訊+X到文本 ”問題,而不需要為每個任務設計專門的head。
VX2TEXT不僅在概念上很簡單,而且非常有效:實驗表明,VX2TEXT在三個基于視訊的文本生成任務上【captioning(字幕), question answering(問答),audio-visual scene-aware dialog(視聽場景感覺對話框)】優于SOTA方法。
▊ 1. 論文和代碼位址
VX2TEXT: End-to-End Learning of Video-Based Text Generation From Multimodal Inputs
論文位址:https://arxiv.org/abs/2101.12059
代碼位址:尚未開源
▊ 2. Motivation
人工智能的基本目标之一是開發出能夠可靠地用自然語言感覺真實世界并與人類交流的對話多模态系統。近年來,這一領域取得了巨大的進展,主要展現在video captioning、question answering、audio-visual dialog等任務的發展。要在這些任務上達到比較好的性能,模型需要完成三個基本的目标:
1)從每個單獨的模态中提取顯著的資訊;
2)有效地結合不同模态的線索來生成query;
3)生成并以人類可了解的文本呈現結果。
在本文中,作者提出了VX2TEXT,它将這三個步驟嵌入到一個統一的、端到端可訓練的架構中。目标(1)和(2)是通過利用特定模态的分類器,将每個模态的輸入信号的語義轉換為一個公共的語義語言空間,使用特定于模态的預訓練語言模型能夠直接解釋多模态内容。
具體來說,VX2TEXT将在現有資料集上預訓練好的特定模态的分類器的分類結果作為文本标簽,并使用預訓練的語言模型将其轉換為單詞embedding 。這個解決方案的好處是,它能夠通過現有的語言編碼器進行多模态資訊的融合,而不需要設計專門的跨模态網絡子產品或通過代理任務(pretext tasks)學習如何融合不同模态的資訊。實驗證明,這樣的設計不僅要簡單得多,而且還比以前的方法具有更好的性能。
為了實作目标(3),作者采用了生成式文本解碼器,将編碼器計算出的多模态特征轉換為文本,進而實作了以人類可了解的語言生成結果的目标。另外,由于VX2TEXT對不同模态的特征進行分别編碼,是以VX2TEXT可以使用相同的結構解決不同的“視訊+X到文本”問題,不必為每個任務設計專門的head。
作者将這些步驟內建到一個單一的體系結構中,并對其進行端到端訓練。此外,作者在連續的模态(如音頻或視訊)上采用了可微分的tokenization,這使得整個模型(包括特定于模态的分類器)可以基于最終目标進行端到端的訓練。實驗表明,統一的VX2TEXT架構訓練比單獨學習子產品産生了顯著的性能提升。
▊ 3. 方法
本文的架構如上圖所示。
網絡的目标是設計一個統一的架構,可以從視訊和伴随的模态(例如,音頻,語音,或對話框曆史)中生成開放式文本 。為了友善表示,首先對符号進行定義。
設,,,是一個多模态樣本,其中表示第m個模态。對于特定的任務t,作者采用了一個單獨的token來表示,其中。
然後,目标是訓練一個模型,,,,;,該模型是針對任務t,來生成輸出的文本,,,。W表示可訓練的參數。根據任務的不同,生成的文本可能是answers、questions、對interactive responses或 captions的形式。
總的來說,本文的方法可以總結為三個步驟:
1)首先,利用預訓練的模态特定分類器來獲得每種模态最可能的類别預測(也就是對預測結果進行采樣)。
2)然後,通過作者提出的可微tokenization方案,将預測類别的文本embedding到語義語言空間中,這使得對整個系統可以進行端到端訓練。
3)最後,使用基于編碼器-解碼器的 生成 語言模型将多種模态的embedding向量映射到自由形式的文本中。
3.1. Differentiable Tokenization
目前,大多數方法依賴于額外的跨模态融合子產品來組合來自不同模态的輸入資料,但是這種方式會導緻額外的計算。相反,作者提出了通過一個簡單的方案将不同模态的輸入信号映射到一個公共的語義語言空間來執行多模态融合。
首先使用一個預訓練的模态分類器來預測預定義語言詞彙上的大量類别。然後,作者利用現有的語言嵌入模型,将每個模态特定的分類器預測的top 個文本類别映射到一個公共的語義語言空間中。
但這樣的方法也有一些缺點,首先,預訓練的模态特異性分類器可能不能推廣到目标資料域(source資料域和target資料域可能不比對 )。其次,從每個分類器中選擇top 個類别是不可微分的,是以阻礙了針對目标任務來微調特定于模态的分類器(由于不可微分,阻礙了分類器的微調 )。為了解決這些限制,作者提出了一種可微的tokenization方案,能夠對整個網絡進行端到端的訓練。
首先,用、、,表示一組特異于模态的網絡。對于每個模态m,我們使用一個網絡模型,在一個預定義的類别空間,,上進行分類任務。設為類别c,,的網絡的歸一化機率輸出,其中。
然後,我們将這些分類預測通過兩步轉換為一組文本embedding:
1)每個模态,根據機率采樣個類别;
2)将這些類别通過矩陣乘法進行embedding:
其中是用于embedding的矩陣,是模态m、第k個采樣類别的one hot向量。
為了使得采樣這個過程是可微的,作者采用了Gumbel-Softmax Trick和一種可微近似的tokenization方法。具體來說,作者通過添加Gumbel噪聲來重新參數化預測的機率分布,其中,。然後,我們從每個模态m的重新參數化分布中采樣top 類别。
使用這種重新參數化的分布,選擇Top 類别相當于從原始分布中抽樣的類别。然而,選擇Top 的過程仍然是不可微的。為了解決這個問題,我們使用了一個Straight-Through Estimator。具體來說,在正向傳播過程中,我們采樣了如上所述的Top 類别。在反向傳播過程中,我們估計每個類别c的梯度為:
這就形成了一個統一的公式,它使整個模型能夠端到端的訓練。
3.2. Generative Encoder-Decoder
在相同的語言空間中嵌入了不同的模态,這使得我們可以直接使用文本編碼器來融合多模态資訊。具體操作是,将特定任務t得到的embedding 全部喂入到一個文本編碼器中:
其中代表用于分隔的token,這裡的就是一個聚合了所有模态資訊的特征。
然後,我們将新的多模态特征提供給解碼器進行文本生成。解碼器以一種自動回歸的方式生成結果,這意味着它使用以前被解碼的輸出作為其輸入的一部分。
其中,是目前時間步的生成結果,為前面時間步生成的結果。
3.3. Training
在訓練過程中,作者遵循teacher-forcing的做法,這意味着我們在相應的位置用ground-truth tokens 替換前面時間步生成的結果:
損失函數為标準的交叉熵函數:
3.4. Inference
大多數以前的多模态Transformer依賴于特定于任務的head來處理不同的任務。是以,為生成任務設計的head通常與在鑒别任務中使用的head有很大的不同。然而,VX2TEXT可以無縫地解決了這兩種類型的任務,而不需要更改其體系結構。
對于生成任務( generative tasks),例如,字幕和視訊對話框,作者使用Beam Search或 Greedy Decoding來生成連貫的句子。相反,對于鑒别任務(discriminative tasks),例如,在TVQA上的問題回答,該模型需要從提供的候選集中選擇最可能的答案。
在這種情況下,作者将整個候選答案集作為模型的額外輸入,然後在自回歸解碼器定義的機率分布下估計每個候選輸出。最後,選擇最高機率的答案作為預測的輸出。
▊ 4.實驗
4.1. Assessing the Importance of Each Modality
上圖展示了AVSD和TVQA資料集上不同模态的實驗結果。我們觀察到,每種模态都為這兩個任務提供了性能增益。
4.2. The Effect of Differentiable Tokenization
上圖展示了AVSD和TVQA資料集上各種Tokenization的實驗結果。可以注意到, Differentiable Tokenization通過聯合端到端優化整個模型,進一步提高了這兩個任務的性能。
4.3. The Benefit of a Generative Model
以生成方式訓練的VX2TEXT模型在所有訓練集大小上都顯著優于其鑒别模型。
4.4. Comparison With the State-of-the-Art
4.4.1. AVSD
在AVSD資料集上,VX2TEXT比現有的方法都有顯著的提升。
4.4.2. TVQA
上表顯示,在TVQA上,VX2TEXT在驗證集和測試集上都顯著優于之前的所有方法。
4.4.3. TVC
在TVC的captioning任務上,VX2TEXT顯著優于SOTA方法。
4.5. Qualitative Results
從上圖可以看出,VX2TEXT成功地識别出了視訊中的action。
▊ 5. 總結
在這項工作中,作者提出了一個統一架構來解決從“視訊+X”多模态輸入中生成文本 的問題。作者首先将所有模态特征映射到語義空間,以便實作Transformer網絡的應用。
然後,作者引入了一種可微 tokenization的機制,将模态特定分類器的連續輸出轉換為語言空間,這使得整個模型可以進行端到端的訓練。
▊ 作者簡介
研究領域:FightingCV公衆号營運者,研究方向為多模态内容了解,專注于解決視覺模态和語言模态相結合的任務,促進Vision-Language模型的實地應用。
知乎/公衆号:FightingCV