即插即用、無需訓練:劍橋大學、騰訊AI Lab等提出免訓練跨模態文本生成框架
1. 導讀
本文提出了一個全新的 MAGIC (iMAge-guided text GeneratIon with CLIP)框架。該框架可以使用圖片模態的信息指導預訓練語言模型完成一系列跨模態生成任務,例如 image captioning 和 visually grounded story generation。與其他方法不同的是,MAGIC 框架無需多模態訓練數據,只需利用現成的語言模型(例如 GPT-2)和圖文匹配模型(例如 CLIP)就能夠以 zero-shot 的方式高質量地完成多模態生成任務。此外,不同于使用梯度更新生成模型 cache 的傳統方法,MAGIC 框架無需梯度更新,因而具備更高效的推理效率。
- 論文:https://arxiv.org/abs/2205.02655
- 代碼:https://github.com/yxuansu/MAGIC
2. 研究背景以及目的
借助日益強大的預訓練語言模型,我們已經可以根據文本前綴生成一段流利文本。當前,絕大多數工作的主要研究方向集中于利用文本模態的前綴來生成后續文本的方法。然而,如何有效利用其他模態的信息(例如圖片)來指導預訓練語言模型生成高質量的文本,仍然是一個待解決的難題。目前,針對此類問題最常見的解決思路是在收集好的高質量多模態平行數據的基礎上,訓練多模態的模型來完成特定的跨模態任務。例如,我們可以在圖文匹配的標注數據集上,通過監督學習的方法訓練 image captioning 模型,從而根據輸入圖片生成對應的文本描述。
但是,該方法存在標注數據獲取困難的弊端,并不適合所有應用場景。為了解決這一難題,許多研究者提出了一系列弱監督的方法。而這類方法也有其弊端,它們會受到不同多模態任務的特定限制。例如,在 image captioning 任務中,弱監督的方法需要使用特定的目標檢測器,來收集圖片內可識別目標的標簽信息。然而,當圖片中包含目標檢測器無法識別的物體 (out-of-domain object) 時,弱監督方法的有效性就會大打折扣。
為了擺脫對目標檢測器的依賴從而真正實現 zero-shot 跨模態文本生成,ZeroCap[1]提出在推理階段通過梯度更新的方式修正生成語言模型內部的隱狀態,從而使生成的文本描述和圖片內容盡可能接近。但是,這一方法也有其弊端,通過多次迭代梯度更新來調整模型的內部隱狀態,在當前預訓練語言模型參數量越來越大的趨勢下,其運行效率會變得越來越低,嚴重限制了該方法在實際場景中的應用。
本文提出了一個全新的 MAGIC 框架。MAGIC 通過直接插入可控的圖文匹配模型分數的方式,使得語言模型在解碼過程中選擇更接近圖片信息的生成結果。這樣,語言模型可以在不經過任何跨模態訓練的情況下,高質量地解決跨模態生成任務,得到明顯優于弱監督模型的文本生成質量。同時,與 ZeroCap 相比,MAGIC 還擁有接近 27 倍的推理速度提升。
3. 研究方法
3.1 無監督語言建模
為了適應特定跨模態任務的文本領域,該研究預先使用了跨模態訓練數據集中的文本數據,采取無監督的方式更新語言模型的參數(僅需在 1 塊 NVIDIA 1080Ti 上運行不到兩個小時),從而使得語言模型更加熟悉該領域的文本分布。具體而言,本文使用 MLE 損失函數訓練語言模型的參數:
此外,SimCTG[2]的最新工作證明了通過引入對比損失來校準模型的語義空間,能夠獲得質量更高的語言模型。因此,本文也同時優化如下的對比損失:
其中 是用來校準生成模型表示空間的 margin 參數,
用來計算 token 表示之間的余弦相似度。最終,本文將兩個損失函數合并,以此來優化文本模態的 GPT-2 語言模型:
3.2 MAGIC Search
本文提出了 MAGIC Search 解碼算法。MAGIC 使用視覺信息指導預訓練語言模型的生成過程。具體而言,給定文本前綴和圖片
,第 t 步的 token 選擇公式如下:
其中表示按照語言模型概率分布選擇的 top-k 個候選 token。同時,該研究借鑒了 SimCTG 中 contrastive search 的思路,在 token 選擇指標中引入了 model confidence 和 degeneration penalty 項來使得模型選擇更合適的 token。上述公式中最重要的一項是將視覺控制信息引入到模型解碼過程中的 magic score:
其中是 CLIP 的 image encoder 產生的圖片表示,
是 CLIP 的 text encoder 產生的文本表示。
參數用來調節視覺信息的控制力度。當其值為 0 時,語言模型的生成過程不再被視覺信息所影響,從而 magic search 退化為傳統的 contrastive search。
4. 實驗結論
4.1 Zero-shot Image Captioning
4.1.1 實驗設置
本文在 MS-COCO 和 Flickr30k 數據集上進行了大量的實驗,并選用以下的無監督 baseline 進行對比:
1.top-k sampling:不基于圖片信息,用 top-k 解碼方法使用語言模型來生成 caption
2.nucleus sampling:不基于圖片信息,用 nucleus 解碼方法使用語言模型生成 caption
3.contrastive search:不基于圖片信息,用 contrastive search 解碼方法使用語言模型來生成 caption
4.CLIPRe:使用 CLIP 模型從 MS-COCO 或 Flickr30k 的訓練數據中檢索文本數據
5.ZeroCap:在解碼過程中,使用 CLIP 信息來指導語言模型梯度更新的方法
值得注意的是 top-k sampling, nucleus sampling 和 contrastive search 解碼方法因為不基于圖片信息,所以可看作是文本生成模型在跨模態任務上的性能下界。此外,本文還選取了一批監督和弱監督的方法來進行對比。
對于評價方法,本文采用 image captioning 中經典的評價指標:BLEU-1, BLEU-4, METEOR, ROUGE-L, CIDEr 和 SPICE,同時也測試了不同模型的相對解碼速率。4.1.2 MS-COCO 和 Flickr30k 實驗結果
如上圖所示,本文發現當忽視 captions 的信息,只使用語言模型進行生成時效果并不好(Top-k, Nucleus, Contrastive),這說明沒有對應的圖片信息,只依靠語言模型很難完成這個跨模態的任務。CLIPRe 方法效果雖然顯著好于 Top-k 等純文本解碼方法,但仍然弱于當前 SOTA 無監督方法,ZeroCap,這是由 training set 和 test set 之間的數據差異所造成。這也證明了檢索模型在該任務上效果弱于生成模型。
本文 MAGIC 的生成結果顯著優于 ZeroCap,展示了 MAGIC 框架的有效性。并且因為 MAGIC 完全不依賴于梯度更新,其解碼速度比 ZeroCap 快接近 27 倍。
4.1.3. 跨領域實驗結果
此外,本文還進行了跨領域實驗以進一步測試 MAGIC 的泛化能力。具體而言,本文使用在源領域(例如 MS-COCO)上得到的無監督語言模型,在目標領域(例如 Flickr30k)的測試集上進行實驗。本文在該實驗中對比無監督解碼方法和 CLIPRe。其中 CLIPRe 的檢索數據集僅來自于源領域的訓練集,實驗結果如下:
從表格中結果可以發現,MAGIC 遠好于純文本解碼方法和 CLIPRe 強 baseline。
4.1.4. Case Study
該研究通過一些例子來定性的對比 baseline 和本文方法:
這幾個例子顯示出 MAGIC 不僅能夠生成非常流利的文本,同時其生成文本中的信息和圖片模態的關聯性也更強。例如圖 (a) 中,MAGIC 可以準確的生成 “building”,但是 ZeroCap 卻生成了“school bus” 這個無關的結果。此外,圖 (d) 中,雖然 ZeroCap 生成了 “boatboard” 這一相關詞匯,但其語句流利度低,并且存在語法錯誤。相比之下,MAGIC 生成的文本在通順流暢的同時,也與圖片顯示的內容一致。
4.2 基于視覺的故事生成
除了 image captioning 任務之外,該研究還將 MAGIC 框架拓展到了其他基于視覺的文本生成任務,例如基于視覺的故事生成(visually grounded story generation)。在該任務中,給一個圖片和故事標題,模型的任務是生成一個流利有趣并且與圖片內容及故事標題一致的故事。
4.2.1 實驗設置
本文在 ROCStories 數據集上進行了實驗,并選取以下的文本解碼方式作為該研究的 baseline:(1) Greedy search;(2)Beam search;(3)Top-K sampling;(4)Nucleus sampling;(5)Typical sampling;和(6)Contrastive search。
為了達到給 ROCStories 數據集中每一個測試樣例提供一個圖片信息的目的,本文使用 CLIP 模型從公開的 ConceptCaption 數據集中檢索和故事標題最相關的圖片。
為了有效評價模型的效果,本文采用了以下幾種評價指標:
1. 自動評價指標:本文采用之前文本生成研究中的一系列評價指標a.n-gram 重復率 (rep-n)b. 生成文本多樣性 (div.)c. 語義一致性(coh.):生成的故事和標題是否語義一致d. 圖文匹配相關性 (CLIPScore)e.MAUVE 分數
2. 人工評價指標:為了更精準的反映生成故事的質量,五個專業的標注員從以下幾個角度對生成故事的質量進行打分(1-5 分,1 分最差,5 分最好)a. 相關性:生成的故事是否和標題有關b. 流利度:生成的故事是否流利易懂c. 信息量:生成的故事是否多樣且有趣d. 故事圖片相關性:生成的故事是否和通過標題檢索得到的圖片語義一致
4.2.2 實驗結果
如上圖所示,MAGIC 在大多數的指標上都達到了最佳的效果,明顯優于其他方法。其中 rep-n, diversity 和 MAUVE 的最佳結果說明 MAGIC 生成的故事和人類文本更加接近。并且 MAGIC 在 coherence 和圖文匹配一致性分數上顯著優于其他的方法,說明 MAGIC 在綜合利用了圖片和文本標題的信息之后可以生成和標題信息更加相關的故事內容。人工評價的效果也顯示 MAGIC 生成的故事在各個角度上均達到了最好的效果。
4.2.3 Case Study
如上圖所示,MAGIC 可以有效的生成和圖片有關的信息。在第一個例子中,MAGIC 生成的故事包含了詳細的冰淇凌的種類和味道,除了 orange 的結果稍有差異,其他的文本都完美符合圖片中的描述。在第二個例子中,contrastive search 生成的結果和故事標題間相關度較差。與之相反,MAGIC 生成的內容和圖片中的信息及主題高度相關,例如:(1)和朋友們在沙灘;(2)打沙灘排球;(3)比賽持續了兩個小時;(4)朋友贏下了比賽。