曾幾何時,多模態(tài)預訓練已經(jīng)不是一個新的話題,各大頂會諸多論文仿佛搭上Visual和BERT,就能成功paper+=1,VisualBERT、ViLBERT層出不窮,傻傻分不清楚。..。..這些年NLPer在跨界上忙活的不亦樂乎,提取視覺特征后和文本詞向量一同輸入到萬能的Transformer中,加大力度預訓練,總有意想不到的SOTA。
如何在多模態(tài)的語境中更細致準確地利用Transformer強大的表達能力呢?Facebook最新的 Transformer is All You Need 也許可以給你答案。
這篇貌似標題黨的文章開宗明義,針對文本+視覺的多模態(tài)任務,用好Transformer就夠了,與許多前作不同,這次提出的模型一個模型可以解決多個任務:目標檢測、自然語言理解、視覺問答,各個模型板塊各司其職、條理清晰:視覺編碼器、文本編碼器、特征融合解碼器,都是建立在多層Transformer之上,最后添加為每個任務設計的處理器,通過多任務訓練,一舉刷新了多個任務的榜單。
文本編碼器用Transformer提取文本特征是個老生常談的問題,從BERT石破天驚開始,純文本領域近乎已被Transformer蠶食殆盡,所以該文也不能免俗,直接借用BERT的結(jié)構(gòu)提取文本內(nèi)容,區(qū)別在于,為了解決多個任務,在文本序列前添加了一個針對不同任務的參數(shù)向量,在最后輸出隱藏狀態(tài)到解碼器時再去掉。
視覺編碼器本文將Transformer強大的表達能力運用到視覺特征的提取中,由于圖片像素點數(shù)量巨大,首先通過基于卷積神經(jīng)網(wǎng)絡的ResNet-50提取卷積特征,極大程度上地降低了特征數(shù)量,最終得到的feature map大小為,然后用全聯(lián)接層調(diào)整單個特征的維度到,再利用多層Transformer中的注意力機制提取各個feature之間的關系,由于Transformer的輸入是序列,文章將拉成一條長為的序列,另外和文本編碼器類似,同樣添加了與下游任務相關的。
其中是調(diào)整維度的全聯(lián)接層,是多層Transformer編碼器。
模態(tài)融合解碼器多模態(tài)的關鍵之一就在于怎么同時利用多個模態(tài),在本文中是通過Transformer的解碼器實現(xiàn)的,這個解碼器首先將任務相關的query做self-attention,再將結(jié)果與文本編碼器和視覺編碼器的結(jié)果做cross-attention,針對單一模態(tài)的任務,選取對應編碼器的輸出即可,針對多模態(tài)的任務,取兩個編碼器輸出的拼接。
任務處理器(task-specific output head)之前多模態(tài)預訓練模型往往只針對某一項任務,而本文提出的一個模型可以解決多個文本+視覺任務,與BERT可以解決多個文本任務類似,本文的模型在模態(tài)融合解碼器的結(jié)果上添加為每個任務設計的處理器,這個處理器相對簡單,用于從隱藏狀態(tài)中提取出與特定任務相匹配的特征。
目標檢測:添加box_head和class_head兩個前饋神經(jīng)網(wǎng)絡從最后一層隱藏狀態(tài)中提取特征用來確定目標位置和預測目標類型。
自然語言理解、視覺問答:通過基于全聯(lián)接層的分類模型實現(xiàn),將模態(tài)融合解碼器結(jié)果的第一位隱藏狀態(tài)輸入到兩層全聯(lián)接層并以GeLU作為激活函數(shù),最后計算交叉熵損失。
實驗與總結(jié)本文提出的多模態(tài)預訓練模型各個板塊劃分明確,通過多層Transformer分別提取特征,再利用解碼器機制融合特征并完成下游任務,同時借助最后一層任務相關的處理器,可以通過一個模型解決多個任務,同時也讓多任務預訓練成為可能,并在實驗中的各個數(shù)據(jù)集上得到了論文主要進行了兩部分實驗:
多任務學習:
這里的多任務涉及目標檢測和視覺問答兩個任務,在目標檢測上運用COCO和VG兩個數(shù)據(jù)集,在視覺問答上運用VQAv2數(shù)據(jù)集。對比了單一任務和多任務同時訓練的結(jié)果,同時對比了不同任務共用解碼器的結(jié)果。
從結(jié)果中我們可以看出,單純的使用多任務訓練并不一定可以提高結(jié)果,不同任務間雖然相關但是卻不完全相同,這可能是任務本身差異或者數(shù)據(jù)集的特性所導致,第二行和第五行可以很明顯地看出COCO上的目標檢測和VQAv2的視覺問答相結(jié)合后,結(jié)果有顯著的下降,然而VG上的目標檢測卻能夠和視覺問答很好地結(jié)合,通過三個數(shù)據(jù)集上的共同訓練,可以得到最高的結(jié)果。
多模態(tài)學習:
這一實驗中,為了體現(xiàn)所提出模型能夠有效解決多個多種模態(tài)的不同任務,論文作者在之前COCO、VG、VQAv2的基礎上,增加了單一文本任務GLUE的幾個數(shù)據(jù)集(QNLI、QQP、MNLI、SST-2)和視覺推斷數(shù)據(jù)集SNLI-VE,從數(shù)據(jù)集的數(shù)量上可以看出本文模型的全能性。與本文對比的有純文本的BERT、基于Transformer的視覺模型DETR、多模態(tài)預訓練模型VisualBERT。
仔細看各個數(shù)據(jù)集上的結(jié)果,不難看出本文提出的模型其實并不能在所有數(shù)據(jù)集多上刷出SOTA,比如COCO上遜色于DETR,SNLI-VE遜色于VisualBERT,SST-2遜色于BERT,其他數(shù)據(jù)集上都有一定的提高,但是模型卻勝在一個“全”字,模型的結(jié)構(gòu)十分清晰明了,各個板塊的作用十分明確,同時針對不同任務的處理器也對后續(xù)多模態(tài)任務富有啟發(fā)性。
原文標題:【Transformer】沒有什么多模態(tài)任務是一層Transformer解決不了的!
文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
責任編輯:haq
-
編碼器
+關注
關注
45文章
3647瀏覽量
134730 -
Transforme
+關注
關注
0文章
12瀏覽量
8795 -
多模
+關注
關注
1文章
28瀏覽量
10867
原文標題:【Transformer】沒有什么多模態(tài)任務是一層Transformer解決不了的!
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論