transformer是一種主要基于自注意力機制的深度神經(jīng)網(wǎng)絡(luò)威沫,最初應(yīng)用于自然語言處理領(lǐng)域。受到transformer強大的表示能力的啟發(fā)洼专,研究人員提議將transformer擴展到計算機視覺任務(wù)棒掠。與其他網(wǎng)絡(luò)類型(例如卷積網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò))相比,基于transformer的模型在各種視覺基準上顯示出競爭甚至更好的性能屁商。在本文中烟很,我們通過將這些視覺轉(zhuǎn)換器模型分類為不同的任務(wù),并分析了這些方法的優(yōu)缺點棒假,提供了文獻綜述溯职。特別地,主要類別包括基本圖像分類帽哑,高級視覺,低級視覺和視頻處理叹俏。由于自注意力是transformer的基本組成部分妻枕,因此也簡要回顧了計算機視覺中的自注意力。包括有效的transformer方法粘驰,可將transformer推入實際應(yīng)用屡谐。最后,我們討論了視覺transformer的進一步研究方向蝌数。
1.簡介
深度神經(jīng)網(wǎng)絡(luò)已成為現(xiàn)代人工智能系統(tǒng)中的基本基礎(chǔ)結(jié)構(gòu)愕掏。已經(jīng)提出了用于解決不同任務(wù)的各種網(wǎng)絡(luò)類型。多層感知(MLP)或完全連接(FC)網(wǎng)絡(luò)是經(jīng)典的神經(jīng)網(wǎng)絡(luò)顶伞,它由多個線性層和非線性活動堆疊而成[104饵撑,105]剑梳。卷積神經(jīng)網(wǎng)絡(luò)(CNN)引入了卷積層和池化層,用于處理圖像等不變數(shù)據(jù)[68滑潘,65]垢乙。遞歸神經(jīng)網(wǎng)絡(luò)(RNN)利用遞歸細胞來處理順序數(shù)據(jù)或時間序列數(shù)據(jù)[106,49]语卤。transformer是一種新近提出的神經(jīng)網(wǎng)絡(luò)追逮,主要利用自我注意機制[5,90]提取內(nèi)在特征[123]粹舵。在這些網(wǎng)絡(luò)中钮孵,transformer是一種最近發(fā)明的神經(jīng)網(wǎng)絡(luò),在廣泛的人工智能應(yīng)用中顯示出巨大的潛力眼滤。
Transformer最初應(yīng)用于自然語言處理(NLP)任務(wù)油猫,并帶來了顯著的進步[123,29柠偶,10]情妖。例如,Vaswani等诱担。 [123]首先提出了僅基于機器翻譯和英語選區(qū)解析任務(wù)的注意力機制的轉(zhuǎn)換器毡证。 Devlin等。 [29]引入了一種稱為BERT的新語言表示模型蔫仙,該模型通過共同在左料睛,右上下文上進行條件預(yù)處理來訓(xùn)練來自未標記文本的轉(zhuǎn)換器。 BERT在當時的11個NLP任務(wù)上獲得了最新的結(jié)果摇邦。布朗等恤煞。 [10]在45TB壓縮明文數(shù)據(jù)上預(yù)訓(xùn)練了基于巨型transformer的GPT-3模型,該模型具有1,750億個參數(shù)施籍,并且無需微調(diào)即可在不同類型的下游自然語言任務(wù)上實現(xiàn)出色的性能居扒。這些基于Transformer的模型顯示了強大的表示能力,并在NLP領(lǐng)域取得了突破丑慎。
受NLP中transformer功能的啟發(fā)喜喂,最近的研究人員將transformer擴展到計算機視覺(CV)任務(wù)。 CNN曾經(jīng)是視覺應(yīng)用的基本組成部分[47竿裂,103]玉吁,但變形金剛顯示出了其作為CNN替代品的能力。 Chen等腻异。 [18]訓(xùn)練序列轉(zhuǎn)換器來自動回歸預(yù)測像素进副,并在圖像分類任務(wù)上與CNN取得競爭性結(jié)果。 ViT是Dosovitskiy等人最近提出的視覺轉(zhuǎn)換器模型悔常。文獻[31]將純transformer直接應(yīng)用于圖像補丁序列影斑,并在多個圖像識別基準上獲得了最新的性能给赞。除了基本的圖像分類,轉(zhuǎn)換器還用于解決更多的計算機視覺問題鸥昏,例如目標檢測[14塞俱,155],語義分割吏垮,圖像處理和視頻理解障涯。由于出色的性能,提出了越來越多基于transformer的模型來改善各種視覺任務(wù)膳汪。
基于transformer的視覺模型如雨后春筍般冒起唯蝶,這導(dǎo)致難以跟上新進展的速度。因此遗嗽,對現(xiàn)有作品的調(diào)查是有益的粘我,并且對社區(qū)有益。在本文中痹换,我們專注于對視覺轉(zhuǎn)換器的最新進展進行全面概述征字,并討論進一步改進的潛在方向。為了更好地存檔并方便研究人員研究不同的主題娇豫,我們按transformer模型的應(yīng)用場景對它們進行了分類匙姜,如表1所示。特別是冯痢,主要主題包括基本圖像分類氮昧,高級視覺,低級視覺和視頻處理浦楣。高級視覺處理圖像[121]中看到的內(nèi)容的解釋和使用袖肥,例如對象檢測,分割和車道檢測振劳。已經(jīng)有許多用于解決這些高級視覺任務(wù)的transformer模型烧给,例如DETR [14]糠溜,可變形DETR [155]用于物體檢測艾船,以及Max-DeepLab [126]用于分割定续。低級圖像處理主要涉及從圖像中提取描述(通常表示為圖像本身)[35]掺冠,其典型應(yīng)用包括超分辨率骤公,圖像去噪和樣式轉(zhuǎn)換戚炫。在低視力視覺領(lǐng)域很少使用transformer[17哀军,92]仁堪,需要進行更多的研究哮洽。除了基于圖像的任務(wù)之外,視頻處理也是計算機視覺的重要組成部分弦聂。由于視頻的順序特性鸟辅,transformer可以自然地應(yīng)用于視頻[154氛什,144]。與傳統(tǒng)的CNN或RNN相比匪凉,Transformer開始在這些任務(wù)上顯示出具有競爭力的性能枪眉。在這里,我們對基于transformer的視覺模型的這些作品進行了調(diào)查再层,以跟上該領(lǐng)域的進展贸铜。視覺transformer的發(fā)展時間表如圖1所示,我們相信越來越多的優(yōu)秀作品將被刻在里程碑上聂受。
本文的其余部分安排如下蒿秦。第2節(jié)首先闡述了自注意力機制和標準transformer。我們將在第3節(jié)中介紹NLP中的transformer方法蛋济,因為研究經(jīng)驗可能有助于視覺任務(wù)棍鳖。接下來,第四部分是本文的主要部分碗旅,其中我們總結(jié)了有關(guān)圖像分類渡处,高級視覺,低級視覺和視頻任務(wù)的視覺轉(zhuǎn)換器模型祟辟。我們還將簡要回顧CV和高效transformer方法的自注意力機制医瘫,因為它們與我們的主要主題密切相關(guān)。最后川尖,我們給出一個結(jié)論并討論幾個研究方向和挑戰(zhàn)登下。
2.transformer的配方
transformer[123]首先應(yīng)用于神經(jīng)語言處理(NLP)的機器翻譯任務(wù)。如圖2所示叮喳,它包含一個編碼器模塊和一個解碼器模塊被芳,以及幾個具有相同架構(gòu)的編碼器/解碼器。每個編碼器由一個自我注意層和一個前饋神經(jīng)網(wǎng)絡(luò)組成馍悟,而每個解碼器由一個自我注意層畔濒,一個編碼器-解碼器關(guān)注層和一個前饋神經(jīng)網(wǎng)絡(luò)組成。在使用轉(zhuǎn)換器翻譯句子之前锣咒,將句子中的每個單詞嵌入到dmodel = 512維的向量中侵状。
2.1。自我注意層
在自我注意層中毅整,輸入向量首先被轉(zhuǎn)換為三個不同的向量趣兄,即查詢向量q,鍵向量k和維數(shù)向量v悼嫉,維數(shù)為dq = dk = dv = dmodel = 512艇潭。然后將不同的輸入打包到三個不同的矩陣Q,K和V中。然后蹋凝,通過以下步驟計算不同輸入向量之間的注意力函數(shù)(如圖3左所示):
?步驟1:計算不同輸入向量之間的分數(shù)鲁纠,S = Q·K?;
?步驟2:使用Sn = S /歸一化梯度穩(wěn)定性的分數(shù)
?步驟3:使用softmax函數(shù)P = softmax(Sn)將分數(shù)轉(zhuǎn)換為概率鳍寂;
?步驟4:獲得Z = V·P的加權(quán)值矩陣改含。
該過程可以統(tǒng)一為一個功能:
等式背后的直覺。 1很簡單迄汛。步驟1計算兩個不同向量之間的分數(shù)捍壤,分數(shù)是確定在當前位置對單詞進行編碼時我們對其他單詞的關(guān)注程度。步驟2將分數(shù)標準化以具有更穩(wěn)定的梯度以進行更好的訓(xùn)練隔心,而步驟3將分數(shù)轉(zhuǎn)換為概率白群。最后,將每個值向量乘以總和概率硬霍,隨后的幾層將把更多概率集中在向量上帜慢。
解碼器模塊中的編碼器-解碼器關(guān)注層與編碼器模塊中的自我關(guān)注層幾乎相同,除了密鑰矩陣K和值矩陣V是從編碼器模塊派生而查詢矩陣Q是從前一個層唯卖。
注意粱玲,上述過程與每個單詞的位置無關(guān),因此拜轨,自我注意層缺乏捕獲句子中單詞的位置信息的能力抽减。為了解決這個問題,將尺寸為dmodel的位置編碼添加到原始輸入嵌入中橄碾,以獲取單詞的最終輸入向量卵沉。具體來說,該位置使用以下等式進行編碼:
其中pos表示單詞在句子中的位置法牲,i表示位置編碼的當前維度史汗。
2.2。多頭注意力
通過增加一種稱為多頭注意的機制拒垃,以提高香草自我注意層的性能停撞,進一步改善了自我注意層。請注意悼瓮,對于給定的參考詞戈毒,我們在遍歷句子時通常希望專注于其他幾個詞。因此横堡,單頭自我注意層限制了專注于特定位置(或幾個特定位置)的能力埋市,而不會影響同時對其他位置同樣重要的注意力。這是通過為注意力層提供不同的表示子空間來實現(xiàn)的命贴。具體來說恐疲,不同的查詢腊满,鍵和值矩陣用于不同的頭套么,由于隨機初始化培己,它們在訓(xùn)練后可以將輸入向量投影到不同的表示子空間中。
詳細地胚泌,給定輸入向量和頭數(shù)h省咨,首先將輸入向量變換成三個不同的向量組,即查詢組玷室,關(guān)鍵字組和值組零蓉。每組中有h個向量,維數(shù)dq'= dk'= dv'= dmodel / h =64穷缤。然后敌蜂,將來自不同輸入的向量打包到三個不同的矩陣組{Qi} hi = 1,{Ki}中hi = 1和{Vi} hi = 1津肛。然后章喉,多頭關(guān)注的過程如下所示:
MultiHead(Q,K身坐,V)= Concat(head1秸脱,···,headh)W部蛇,
其中headi = Attention(Qi摊唇,Ki,Vi)涯鲁,(4)
其中Q'是{Qi} hi = 1的串聯(lián)(K'和V'也是)巷查,W o∈Rdmodel×dmodel是線性投影矩陣。
2.3抹腿。transformer中的其他零件
殘留在編碼器和解碼器中岛请。如圖4所示,在編碼器和解碼器的每個子層中都添加了剩余連接幢踏,以增強信息流并獲得更好的性能髓需。隨后進行層歸一化[4]。上述操作的輸出可以描述為:
LayerNorm(X + Attention(X))房蝉。 (5)
請注意僚匆,由于查詢,鍵矩陣和值矩陣Q搭幻,K和V均從同一輸入矩陣X派生咧擂,因此X用作此處的自注意力層。
前饋神經(jīng)網(wǎng)絡(luò)檀蹋。在每個編碼器和解碼器中的自注意力層之后應(yīng)用前饋NN松申。具體而言,前饋NN由兩個線性變換層和其中的ReLU激活函數(shù)組成,可以將其表示為以下函數(shù):
FFNN(X)=W2σ(W1X)贸桶,(6)
其中W1和W2是兩個線性變換層的兩個參數(shù)矩陣舅逸,而σ表示ReLU激活函數(shù)。隱藏層的維數(shù)為dh = 2048皇筛。
解碼器中的最后一層琉历。解碼器的最后一層旨在將向量堆棧變回一個單詞。這是通過線性層水醋,然后是softmax層來實現(xiàn)的旗笔。線性層將向量投影到具有dword維度的logits向量中,其中dword是詞匯表中的單詞數(shù)拄踪。然后蝇恶,使用softmax層將logits向量轉(zhuǎn)換為概率。
計算機視覺任務(wù)中使用的大多數(shù)transformer都使用原始transformer的編碼器模塊惶桐。簡而言之撮弧,可以將其視為不同于卷積神經(jīng)網(wǎng)絡(luò)(CNN)和遞歸神經(jīng)網(wǎng)絡(luò)(RNN)的新特征選擇器。與僅關(guān)注局部特征的CNN相比耀盗,transformer可以捕獲遠距離特征想虎,這意味著可以輕松地通過transformer獲取全局信息。與必須按順序計算隱藏狀態(tài)的RNN相比叛拷,transformer效率更高舌厨,因為可以并行計算并輕松加速自注意力層和完全連接層的輸出。因此忿薇,有必要進一步研究transformer在自然語言處理領(lǐng)域以及計算機視覺領(lǐng)域的應(yīng)用裙椭。
3.回顧NLPTransformer
在Transformer問世之前,受到更多關(guān)注的遞歸神經(jīng)網(wǎng)絡(luò)(例如GRU [26]和LSTM [50])為大多數(shù)最新的語言模型提供了支持署浩。但是揉燃,在RNN中,信息流需要從先前的隱藏狀態(tài)到下一個隱藏狀態(tài)進行順序處理筋栋,這排除了訓(xùn)練期間的加速和并行化炊汤,從而阻礙了RNN處理更長序列或建立更大模型的潛力。在2017年弊攘,Vaswani等人抢腐。 [123]提出了Transformer,這是一種新穎的編碼器-解碼器體系結(jié)構(gòu)襟交,僅基于多頭自注意力機制和前饋神經(jīng)網(wǎng)絡(luò)構(gòu)建迈倍,旨在通過獲取全局相關(guān)性來解決逐序列自然語言任務(wù)(例如機器翻譯) -放輕松。 Transformer的成功表明捣域,僅利用注意力機制啼染,就可以通過細心的RNN獲得可比的性能宴合。此外,Transformer的體系結(jié)構(gòu)支持大規(guī)模并行計算迹鹅,從而可以在較大的數(shù)據(jù)集上進行訓(xùn)練卦洽,從而導(dǎo)致用于自然語言處理的大型預(yù)訓(xùn)練模型(PTM)的爆發(fā)。
BERT [29]及其變體(例如SpanBERT [63]徒欣,RoBERTa [82])是建立在多層Transformer編碼器體系結(jié)構(gòu)上的一系列PTM逐样。在BERT的訓(xùn)練前階段,對BookCorpus [156]和英語Wikipedia數(shù)據(jù)集執(zhí)行了兩項任務(wù):1)掩蓋語言建模(MLM)打肝,方法是首先隨機掩蓋輸入中的某些標記,然后訓(xùn)練模型進行預(yù)測挪捕; 2)使用成對句子作為輸入的下一句預(yù)測粗梭,并預(yù)測第二句是否是文檔中的原始句。經(jīng)過預(yù)訓(xùn)練后级零,可以通過在一系列下游任務(wù)上單獨添加一個輸出層來對BERT進行微調(diào)断医。更具體地,當執(zhí)行序列級任務(wù)(例如奏纪,情感分析)時鉴嗤,BERT使用第一令牌的表示進行分類;而對于令牌級別的任務(wù)(例如序调,名稱實體識別)醉锅,所有令牌都饋入softmax層進行分類。在發(fā)布之時发绢,BERT在11種自然語言處理任務(wù)上取得了最新的成果硬耍,為預(yù)訓(xùn)練的語言模型樹立了里程碑。生成式預(yù)訓(xùn)練transformer系列(例如边酒,GPT [99]经柴,GPT-2 [100])是另一種基于Transformer解碼器架構(gòu)的預(yù)訓(xùn)練模型,該模型使用屏蔽的自我關(guān)注機制墩朦。 GPT系列和BERT之間的主要區(qū)別在于預(yù)訓(xùn)練的方式坯认。與BERT不同,GPT系列是一種由左至右(LTR)語言建模預(yù)先訓(xùn)練的單向語言模型氓涣。此外牛哺,句子分隔符([SEP])和分類器標記([CLS])僅參與GPT的微調(diào)階段,而BERT在預(yù)訓(xùn)練期間學(xué)習(xí)了這些嵌入春哨。由于GPT的單向預(yù)訓(xùn)練策略荆隘,它在許多自然語言生成任務(wù)中顯示出優(yōu)越性。最近赴背,一個巨大的基于transformer的模型GPT-3被引入椰拒,其參數(shù)高達1750億[10]晶渠。通過對45TB壓縮后的明文數(shù)據(jù)進行預(yù)訓(xùn)練,GPT-3聲稱能夠直接處理不同類型的下游自然語言任務(wù)而無需進行微調(diào)燃观,從而在許多NLP數(shù)據(jù)集上均表現(xiàn)出色褒脯,包括自然語言理解和生成。除了上述基于transformer的PTM之外缆毁,自Transformer推出以來番川,還提出了許多其他模型。由于這不是我們調(diào)查的主要主題脊框,因此我們在表2中僅列出了一些代表性模型供感興趣的讀者使用颁督。
除了在大型語料庫上接受過一般自然語言處理任務(wù)訓(xùn)練的PTM之外,基于轉(zhuǎn)換器的模型已應(yīng)用于許多其他NLP相關(guān)領(lǐng)域或多模式任務(wù)浇雹。 BioNLP域沉御。基于Transformer的模型已經(jīng)超越了許多傳統(tǒng)的生物醫(yī)學(xué)方法昭灵。 BioBERT [69]使用Transador架構(gòu)進行生物醫(yī)學(xué)文本挖掘任務(wù)吠裆; SciB-ERT [7]是通過對Transformer進行有關(guān)生物醫(yī)學(xué)和計算機科學(xué)領(lǐng)域的114M篇科學(xué)文章的培訓(xùn)而開發(fā)的,旨在更精確地執(zhí)行與科學(xué)領(lǐng)域相關(guān)的NLP任務(wù)烂完;黃等试疙。 [55]提出利用Transformer開發(fā)和評估臨床筆記的連續(xù)表示形式的Clinical-BERT,并且作為副作用抠蚣,ClinicalBERT的注意力圖可用于解釋預(yù)測祝旷,從而發(fā)現(xiàn)不同醫(yī)學(xué)內(nèi)容之間的高質(zhì)量聯(lián)系。多模式任務(wù)柱徙。由于Transformer跨基于文本的NLP任務(wù)取得了成功缓屠,因此許多研究致力于利用Transformer的潛力來處理多模式任務(wù)(例如,視頻文本护侮,圖像文本和音頻文本)敌完。 VideoBERT [115]使用基于CNN的模塊對視頻進行預(yù)處理,以獲取表示令牌羊初,基于該模塊滨溉,對Transformer編碼器進行了訓(xùn)練,以學(xué)習(xí)下游任務(wù)(例如視頻字幕)的視頻文本表示长赞。 VisualBERT [72]和VL-BERT [114]提出了單流統(tǒng)一transformer晦攒,以捕獲視覺元素和圖像-文本關(guān)系,以處理諸如視覺問答(VQA)和視覺常識推理(VCR)之類的下游任務(wù)得哆。此外脯颜,SpeechBERT等[24]等研究還探討了使用Transformer編碼器對音頻和文本對進行編碼以處理自動文本任務(wù)(如語音問題解答(SQA))的可能性。
基于transformer的各種自然語言處理模型以及與NLP相關(guān)的任務(wù)的快速發(fā)展證明了其結(jié)構(gòu)優(yōu)勢和多功能性贩据。這使Transformer成為自然語言處理之外的許多其他AI領(lǐng)域的通用模塊栋操。本調(diào)查的以下部分將重點介紹Transformer在過去兩年中出現(xiàn)的各種計算機視覺任務(wù)中的應(yīng)用闸餐。
4.視覺變形金剛
在本節(jié)中,我們將對基于transformer的計算機視覺模型進行全面回顧矾芙,包括圖像分類舍沙,高級視覺,低級視覺和視頻處理中的應(yīng)用剔宪。我們還簡要總結(jié)了自注意力機制和模型壓縮方法在高效transformer中的應(yīng)用拂铡。
4.1。影像分類
受到transformer在自然語言處理方面的巨大成功的啟發(fā)葱绒,一些研究人員試圖檢驗相似的模型是否可以學(xué)習(xí)圖像的有用表示感帅。作為一種比文本更高維度,更嘈雜哈街,更冗余的形式留瞳,人們認為圖像難以生成模型。 iGPT [18]和ViT [31]是僅使用transformer進行圖像分類的兩個作品骚秦。
4.1.1 iGPT
自從最初的圖像生成訓(xùn)練方法問世以來,已經(jīng)有很長時間了璧微,Chen等人作箍。 [18]重新檢查這類方法,并結(jié)合自我監(jiān)督方法的最新進展前硫。該方法包括一個預(yù)訓(xùn)練階段胞得,然后是一個微調(diào)階段。在預(yù)訓(xùn)練中屹电,會嘗試使用自回歸和BERT目標阶剑。此外,在NLP中采用了序列轉(zhuǎn)換器架構(gòu)來預(yù)測像素而不是語言標記危号。當與早期停止結(jié)合使用時牧愁,預(yù)訓(xùn)練可被視為有利的初始化或正則化。在微調(diào)期間外莲,他們?yōu)槟P吞砑恿艘粋€小的分類頭猪半,該分類頭用于優(yōu)化分類目標并適應(yīng)所有權(quán)重。
給定一個未標注的數(shù)據(jù)集X偷线,該數(shù)據(jù)集X由高維數(shù)據(jù)x =(x1磨确,...,xn)組成声邦。他們通過最小化數(shù)據(jù)的負對數(shù)似然來訓(xùn)練模型:
其中1??i??n采用單位置換πi= i乏奥,也稱為柵格順序。他們還考慮了BERT目標亥曹,該目標對子序列M?[1邓了,n]進行采樣恨诱,以使每個索引i在M中獨立出現(xiàn)的概率為0.15。M稱為BERT掩碼驶悟,模型為通過最小化以“未屏蔽”元素x [1胡野,n] \ M為條件的“屏蔽”元素xM的負對數(shù)似然來進行訓(xùn)練:
在預(yù)訓(xùn)練中,他們選擇LAR或LBERT中的一種痕鳍,并在預(yù)訓(xùn)練數(shù)據(jù)集上最大程度地減少損失硫豆。
他們使用transformer解碼器模塊的GPT-2 [100]公式表示。特別是笼呆,層規(guī)范先于注意力和多層感知器(MLP)操作熊响,并且所有操作都嚴格位于剩余路徑上。注意操作中唯一發(fā)生在序列元素之間的混合诗赌,并且為了確保在訓(xùn)練AR目標時進行適當?shù)恼{(diào)節(jié)汗茄,他們將標準的上三角遮罩應(yīng)用于注意邏輯的n×n矩陣。當使用BERT物鏡時铭若,不需要注意登錄屏蔽:將內(nèi)容嵌入應(yīng)用于輸入序列后洪碳,它們會將位置清零。
在最后一個轉(zhuǎn)換器層之后叼屠,他們應(yīng)用層范數(shù)并從輸出中學(xué)習(xí)一個投影瞳腌,以對參數(shù)進行參數(shù)化,以對每個序列元素處的條件分布進行參數(shù)化镜雨。訓(xùn)練BERT時嫂侍,他們只是忽略未掩蓋位置的logit。
在微調(diào)期間荚坞,它們平均將最終層范數(shù)nL的輸出跨序列維合并以提取每個示例的特征的d維向量:
fL =?nLi?i(10)
他們學(xué)習(xí)了從fL到類logit的投影挑宠,該投影用于最小化交叉熵損失LCLF。在實踐中颓影,他們從經(jīng)驗上發(fā)現(xiàn)聯(lián)合目標LGEN + LCLF的效果更好各淀,其中LGEN∈{LAR,LBERT}瞭空。
4.1.2 ViT
最近揪阿,Dosovitskiy等人。 [31]提出了一種純transformer咆畏,即視覺transformer(ViT)南捂,當直接應(yīng)用于圖像序列的序列時,它在圖像分類任務(wù)上表現(xiàn)良好旧找。它們遵循原始transformer的設(shè)計溺健。圖5顯示了Vision Transformer的框架。
為了處理2D圖像,將圖像x∈RH×W×C整形為一系列平坦的2D斑塊xp∈N×(P2·C)鞭缭,(H剖膳,W)是原始圖像的分辨率,而(P 岭辣,P)是每個圖像補丁的分辨率吱晒。那么N = HW / P2是該transformer的有效序列長度。由于transformer的所有層都使用恒定的寬度沦童,因此可訓(xùn)練的線性投影將每個矢量化路徑映射到模型尺寸D仑濒,它們的輸出稱為貼片嵌入。
與BERT的[class]令牌類似偷遗,可學(xué)習(xí)的嵌入被用于嵌入補丁序列墩瞳,其在transformer編碼器輸出處的狀態(tài)用作圖像表示。在預(yù)訓(xùn)練和微調(diào)過程中氏豌,分類頭的尺寸均相同喉酌。另外,將一維位置嵌入添加到補丁嵌入中以保留位置信息泵喘。他們試用了位置嵌入的2D感知的不同變體泪电,這些變體沒有比標準的1D位置嵌入獲得明顯的收益。關(guān)節(jié)嵌入作為編碼器的輸入纪铺。值得注意的是歪架,視覺transformer僅使用標準transformer的編碼器,而MLP磁頭后面是transformer編碼器的輸出霹陡。
通常,首先在大型數(shù)據(jù)集上對ViT進行預(yù)訓(xùn)練止状,然后對較小的下游任務(wù)進行微調(diào)烹棉。為此,去除了訓(xùn)練有素的預(yù)測頭怯疤,并附加了一個零初始化的D×K前饋層浆洗,其中K是下游類的數(shù)量。以比預(yù)訓(xùn)練更高的分辨率進行微調(diào)通常是有益的集峦。喂入更高分辨率的圖像時伏社,色塊大小保持不變,這會導(dǎo)致更大的有效序列長度塔淤。視覺變形器可以處理任意序列長度摘昌,但是,預(yù)訓(xùn)練的位置嵌入可能不再有意義高蜂。因此聪黎,作者根據(jù)預(yù)訓(xùn)練的位置嵌入在原始圖像中的位置執(zhí)行2D插值。請注意备恤,只有將分辨率調(diào)整和色塊提取手動插入有關(guān)圖像2D結(jié)構(gòu)的感應(yīng)偏置時稿饰,才能將其手動注入到Vision Transformer中锦秒。
當在中等大小的數(shù)據(jù)集(如ImageNet)上訓(xùn)練時,此類模型產(chǎn)生適度的結(jié)果喉镰,其準確性比同等大小的ResNet低了幾個百分點旅择。transformer缺乏CNN固有的一些電感性偏差,例如翻譯等方差和局部性侣姆,因此在訓(xùn)練不足的數(shù)據(jù)量時不能很好地概括生真。但是,如果在大型數(shù)據(jù)集上訓(xùn)練模型(14M-300M圖像)铺敌,則圖片會發(fā)生變化汇歹。作者發(fā)現(xiàn),大規(guī)模訓(xùn)練勝過歸納偏差偿凭。當進行足夠規(guī)模的預(yù)培訓(xùn)并轉(zhuǎn)移到數(shù)據(jù)點較少的任務(wù)時产弹,transformer將獲得出色的結(jié)果。在JFT-300M數(shù)據(jù)集上經(jīng)過預(yù)訓(xùn)練的視覺transformer在多個圖像識別基準上達到或超越了最新技術(shù),在ImageNet上達到88.36%黍少,在CIFAR-10上達到99.50%蚌铜,在CIFAR-100上達到94.55%,以及在VTAB套件(包含19個任務(wù))上占77.16%斤斧。表3列出了iGPT和ViT的詳細結(jié)果。
總之霎烙,iGPT回顧了生成式預(yù)訓(xùn)練方法撬讽,并將其與自我監(jiān)督方法相結(jié)合,結(jié)果并不十分令人滿意悬垃。 ViT取得了更好的結(jié)果游昼,特別是當它使用更大的數(shù)據(jù)集(JFT-300)時。但是尝蠕,ViT的結(jié)構(gòu)與NLP中的transformer基本相同烘豌,如何在片內(nèi)和片間明確相關(guān)性仍然是一個難題。此外看彼,在ViT中將相同大小的補丁視為相等廊佩。眾所周知,每個補丁的復(fù)雜性是不同的靖榕,并且該特性目前尚未得到充分利用标锄。
4.2。高層視野
最近序矩,人們對采用transformer執(zhí)行高級計算機視覺任務(wù)(例如對象檢測[15鸯绿、155、23],車道檢測[81]和分段[129瓶蝴、126])的興趣日益濃厚毒返。在本節(jié)中,我們將對這些方法進行回顧舷手。
4.2.1對象檢測
根據(jù)采用transformer架構(gòu)的模塊拧簸,可以將基于transformer的對象檢測方法粗略地分為基于頸部的方法,基于頭部的方法和基于框架的方法男窟。
多尺度特征融合模塊(在現(xiàn)代檢測框架中稱為頸部)盆赤,例如特征金字塔網(wǎng)絡(luò)(FPN)[77],已廣泛用于對象檢測中歉眷,以實現(xiàn)更好的檢測性能牺六。張等。 [145]建議傳統(tǒng)方法無法交互跨尺度特征汗捡,因此提出了特征金字塔transformer(FPT)來充分利用跨空間和尺度的特征相互作用淑际。 FPT由三種類型的transformer組成,即自耦transformer扇住,接地transformer和渲染transformer春缕,它們分別對特征金字塔的自水平,自頂向下和自底向上路徑的信息進行編碼艘蹋。 FPT基本上利用transformer中的自注意模塊來增強特征金字塔網(wǎng)絡(luò)的特征融合锄贼。
預(yù)測頭對于物體檢測器起著重要的作用。先前的檢測方法通常利用單個視覺表示(例如邊界框和角點)來預(yù)測最終結(jié)果女阀。 Chi等宅荤。 [23]提出了橋接視覺表示(BVR),通過多頭注意力模塊將不同的異構(gòu)表示組合成一個單一的表示浸策。具體而言膘侮,將主表示形式視為查詢輸入,將輔助表示形式視為鍵輸入的榛。通過類似于transformer中的注意模塊,可以獲得用于主表示的增強功能逻锐,該功能將來自輔助表示的信息橋接起來并有利于最終檢測性能夫晌。
與上述利用transformer的方法增強了現(xiàn)代檢測器的特定模塊不同,Carion [15]重新設(shè)計了物體檢測框架昧诱,并提出了檢測transformer(DETR)晓淀,它是一種簡單且完全端到端的物體檢測器。 DETR將對象檢測任務(wù)視為一個直觀的集合預(yù)測問題盏档,并擺脫了錨定生成和非最大抑制(NMS)后處理等傳統(tǒng)的手工組件凶掰。如圖6所示,DETR從CNN主干開始以從輸入圖像中提取特征。為了用位置信息補充圖像特征懦窘,將固定的位置編碼添加到平面特征中前翎,然后再輸入到編碼解碼器轉(zhuǎn)換器中。轉(zhuǎn)換器解碼器將編碼器的嵌入與N個學(xué)習(xí)的位置結(jié)束編碼(對象查詢)一起使用畅涂,并生成N個輸出嵌入港华,其中N是預(yù)定義參數(shù),通常大于圖像中對象的數(shù)量午衰。最終預(yù)測是通過簡單前饋網(wǎng)絡(luò)(FFN)計算的立宜,其中包括邊界框坐標和類別標簽以指示對象的特定類別或沒有對象。與原始轉(zhuǎn)換器順序生成預(yù)測的原始轉(zhuǎn)換器不同臊岸,DETR同時解碼N個對象橙数。 DETR采用兩部分匹配算法來分配預(yù)測對象和真實對象。如方程式所示帅戒。 (11)灯帮,匈牙利損失被用來計算所有匹配對象對的損失函數(shù)。
其中y和y?是地面真相和物體的預(yù)測
σ?是最優(yōu)分配蜘澜,ci和p?σ?(i)(ci)是目標類別標簽和預(yù)測標簽施流,bi和?bσ?(i))分別是地面實況和預(yù)測邊界框。 DETR在物體檢測方面表現(xiàn)出令人印象深刻的性能鄙信,其精度和速度與在COCO基準上廣受歡迎且公認的Faster R-CNN基線相當瞪醋。
DETR是基于transformer的對象檢測框架的新設(shè)計,為社區(qū)開發(fā)完整的端到端檢測器提供了參考装诡。但是银受,香草DETR也面臨一些挑戰(zhàn),例如鸦采,訓(xùn)練時間較長宾巍,小物件的性能較差。 Zhu等人提出的可變形DETR渔伯。 [155]是解決上述問題的一種流行方法顶霞,并且大大提高了檢測性能。代替通過transformer中的原始多頭注意力在圖像特征圖上查看所有空間位置锣吼,建議使用可變形注意力模塊關(guān)注參考點周圍的一小組關(guān)鍵位置选浑。這樣,大大降低了計算復(fù)雜度玄叠,也有利于快速收斂古徒。更重要的是,可變形注意力模塊可以輕松應(yīng)用于融合多尺度特征读恃。與DETR相比隧膘,可變形DETR的性能更好代态,訓(xùn)練成本降低了10倍,推理速度提高了1.6倍疹吃”囊桑可變形DETR還應(yīng)用了一些其他改進,包括有效的迭代邊界框優(yōu)化方法和兩階段方案互墓,從而進一步提高了性能必尼。
針對DETR的高計算復(fù)雜性問題,Zheng等人篡撵。 [153]提出了一種自適應(yīng)聚類transformer(ACT)來減少預(yù)訓(xùn)練的DETR的計算成本判莉,而無需任何訓(xùn)練過程。 ACT使用局部敏感度哈希方法自適應(yīng)地對查詢特征進行聚類育谬,并將注意力輸出廣播到由選定原型表示的查詢券盅。通過在不進行任何重新訓(xùn)練的情況下用擬議的ACT替換預(yù)訓(xùn)練DETR模型的自我注意模塊,可以顯著降低計算成本膛檀,而準確性幾乎不會降低锰镀。此外,可以通過使用多任務(wù)知識蒸餾(MTKD)方法進一步降低性能下降咖刃,該方法利用原始transformer以少量的調(diào)整時間來蒸餾ACT模塊泳炉。
Sun等。 [117]研究了DETR模型的慢收斂問題嚎杨,并揭示了transformer解碼器中的交叉注意模塊是其背后的主要原因花鹅。為此,提出了DETR的僅編碼器版本枫浙,并且在檢測精度和訓(xùn)練收斂性上實現(xiàn)了相當大的改進刨肃。此外,設(shè)計了一種新的二分匹配方案箩帚,以實現(xiàn)更穩(wěn)定的訓(xùn)練和更快的收斂真友。提出了兩種基于transformer的集合預(yù)測模型,以改進具有特征金字塔的純編碼器DETR紧帕,即TSP-FCOS和TSP-RCNN盔然,它們的性能要優(yōu)于原始DETR模型。
Dai等人受到自然語言處理中的預(yù)訓(xùn)練轉(zhuǎn)換器方案的啟發(fā)是嗜。 [28]提出了一種用于對象檢測的無監(jiān)督預(yù)訓(xùn)練DETR(UP-DETR)的方法轻纪。具體而言,提出了一種新的無監(jiān)督借口任務(wù)叠纷,即隨機查詢補丁檢測,以預(yù)訓(xùn)練DETR模型潦嘶。通過這種方案涩嚣,UP-DETR可以在較大的范圍內(nèi)提高相對較小數(shù)據(jù)集(即PASCAL VOC)的檢測精度崇众。在具有足夠培訓(xùn)數(shù)據(jù)的COCO基準上,UP-DETR仍然優(yōu)于DETR航厚,這證明了無監(jiān)督的預(yù)培訓(xùn)方案的有效性顷歌。
4.2.2細分
DETR [15]可以自然地擴展到全景分割任務(wù),方法是在解碼器上附加一個遮罩頭幔睬,從而獲得有競爭力的結(jié)果眯漩。 Wang等。 [126]提出了Max-DeepLab可以直接通過蒙版轉(zhuǎn)換器預(yù)測全景分割結(jié)果麻顶,而無需替代諸如盒檢測之類的子任務(wù)赦抖。與DETR類似,Max-DeepLab以端到端的方式簡化了全景分割任務(wù)辅肾,并直接預(yù)測了一組不重疊的蒙版和相應(yīng)的標簽队萤。使用全景質(zhì)量(PQ)樣式損失來訓(xùn)練模型。此外矫钓,與現(xiàn)有的將transformer堆疊在CNN主干網(wǎng)上方的方法不同要尔,Max-DeepLab采用雙路徑框架將CNN與transformer更好地結(jié)合在一起。
Wang等新娜。 [129]提出了一種基于transformer的視頻實例分割(VisTR)模型赵辕,該模型將一系列圖像作為輸入并產(chǎn)生相應(yīng)的實例預(yù)測結(jié)果。提出了實例序列匹配策略概龄,為預(yù)測分配地面真理还惠。為了獲得每個實例的遮罩序列,VisTR利用實例序列分割模塊從多個幀和分段中累積遮罩特征
3D CNN的遮罩序列旁钧。
還有一種嘗試使用變換器進行細胞實例分割[95]吸重,該方法基于DETR全景分割模型。所提出的Cell-DETR還添加了跳過連接歪今,以在分段頭中從主干CNN和CNN解碼器橋接功能嚎幸,以獲得更好的融合功能。 Cell-DETR顯示了顯微鏡圖像中細胞實例分割的最新性能寄猩。
趙等嫉晶。 [150]設(shè)計了一種新穎的transformer架構(gòu)(Point Transformer)來處理點云。建議的自我注意層對于點集的排列是不變的田篇,因此適用于點集處理任務(wù)替废。 Point Transformer對于3D點云的語義分割任務(wù)顯示出強大的性能。
4.2.3車道檢測
Liu等基于PolyLaneNet [119]泊柬。 [81]提出通過學(xué)習(xí)transformer網(wǎng)絡(luò)的全局上下文來提高曲線車道檢測的性能椎镣。與Poly- LaneNet相似,所提出的方法(LSTR)將車道檢測視為將車道與多項式擬合的任務(wù)兽赁,并使用神經(jīng)網(wǎng)絡(luò)預(yù)測多項式的參數(shù)状答。為了捕獲用于車道和全局環(huán)境的細長結(jié)構(gòu)冷守,LSTR將transformer網(wǎng)絡(luò)引入到體系結(jié)構(gòu)中,以處理通過卷積神經(jīng)網(wǎng)絡(luò)提取的低級特征惊科。此外拍摇,LSTR使用匈牙利損失來優(yōu)化網(wǎng)絡(luò)參數(shù)。如[81]所示馆截,與僅使用0.2倍參數(shù)的PolyLaneNet相比充活,LSTR可以實現(xiàn)2.82%的更高精度和3.65倍FPS。transformer網(wǎng)絡(luò)蜡娶,卷積神經(jīng)網(wǎng)絡(luò)和匈牙利損失的結(jié)合實現(xiàn)了一個微小混卵,快速而精確的車道檢測框架。
4.3翎蹈。低層視野
除了高級視覺任務(wù)外淮菠,很少有作品將transformer應(yīng)用于低級視覺領(lǐng)域,例如圖像超分辨率荤堪,生成等合陵。與以標簽或框為輸出的分類,分割和檢測相比澄阳,低級任務(wù)通常將圖像作為輸出(例如拥知,高分辨率圖像或去噪圖像),這更具挑戰(zhàn)性碎赢。
Parmar等低剔。 [92]邁出第一步,推廣transformer模型肮塞,以制定圖像轉(zhuǎn)換和生成任務(wù)襟齿,并提出圖像transformer。圖像轉(zhuǎn)換器由兩部分組成:用于提取圖像表示的編碼器和用于生成像素的解碼器枕赵。對于每個值為0-255的像素猜欺,學(xué)習(xí)了256×d的維嵌入,用于將每個值編碼為d維矢量拷窜,將其作為編碼器的輸入开皿。編碼器和解碼器的架構(gòu)與[123]中的相同。解碼器中每一層的詳細結(jié)構(gòu)如圖7所示篮昧。每個輸出像素q'是通過計算輸入像素q與先前生成的像素m1赋荆,m2 ...之間的自注意力而生成的,其中位置嵌入p1懊昨,p2窄潭,...。 ...對于圖像條件化的生成酵颁,例如超分辨率和修復(fù)嫉你,使用了編碼器-解碼器體系結(jié)構(gòu)信认,其中編碼器的輸入是低分辨率圖像或損壞的圖像。對于無條件和分類條件的產(chǎn)生(即圖像噪聲)均抽,僅解碼器用于輸入噪聲向量。由于解碼器的輸入是先前生成的像素其掂,當生成高分辨率圖像時油挥,這會帶來較大的計算成本,因此提出了一種局部自注意方案款熬,該方案僅使用最近生成的像素作為解碼器的輸入深寥。結(jié)果,圖像transformer可以在基于CNN的圖像生成和翻譯任務(wù)模型上獲得競爭性能贤牛,這表明基于transformer的模型在低級視覺任務(wù)上的有效性惋鹅。
與將每個像素用作transformer模型的輸入相比,最近的工作使用補堆臭ぁ(像素集)作為輸入闰集。楊等。 [135]提出了用于圖像超分辨率的紋理transformer網(wǎng)絡(luò)(TTSR)般卑。他們在基于參考的圖像超分辨率問題中使用了轉(zhuǎn)換器架構(gòu)武鲁,該問題旨在將相關(guān)紋理從參考圖像轉(zhuǎn)移到低分辨率圖像。以低分辨率圖像和參考圖像作為查詢Q和關(guān)鍵字K蝠检,計算每個補丁qi inQ和ki inK之間的相關(guān)性ri沐鼠,j,
然后叹谁,提出了一種高度關(guān)注的模塊饲梭,以利用參考圖像根據(jù)參考圖像選擇高分辨率特征V以匹配低分辨率圖像。硬注意力圖是通過
嗨= argmaxri焰檩,j(13)j
那么來自的最相關(guān)的參考補丁是ti = vhi憔涉,其中T中的ti是轉(zhuǎn)移的特征。之后锅尘,使用軟關(guān)注模塊將V傳輸?shù)降头直媛侍卣鱂监氢。可以通過以下方式計算軟注意力:
si = maxri藤违,j浪腐。 (14)j
因此,將高分辨率紋理圖像轉(zhuǎn)換為低分辨率圖像的公式可以表示為:
Fout = F + Conv(Concat(F顿乒,T))⊙S议街,(15)
其中Fout和F表示低分辨率圖像的輸出和輸入特征,S是柔和注意力璧榄,T是從高分辨率紋理圖像傳遞的特征特漩。通過引入基于transformer的體系結(jié)構(gòu)吧雹,TTSR可以成功地將紋理信息從高分辨率參考圖像傳輸?shù)降头直媛蕡D像,以進行超分辨率任務(wù)涂身。
上述方法在單個任務(wù)上使用transformer模型雄卷,而Chen等人。 [17]提出了圖像處理transformer(IPT)蛤售,通過使用大規(guī)模的預(yù)訓(xùn)練來充分利用transformer的優(yōu)勢丁鹉,并在包括超分辨率,降噪和除水在內(nèi)的多種圖像處理任務(wù)中實現(xiàn)最先進的性能悴能。如圖8所示揣钦,IPT由多頭,編碼器漠酿,解碼器和多尾組成冯凹。介紹了針對不同圖像處理任務(wù)的多頭多尾結(jié)構(gòu)和任務(wù)嵌入。將功能分為補丁以放入編碼器-解碼器體系結(jié)構(gòu)炒嘲,然后將輸出重塑為具有相同大小的功能宇姚。由于transformer模型在大規(guī)模預(yù)訓(xùn)練中顯示出優(yōu)勢,因此IPT使用ImageNet數(shù)據(jù)集進行預(yù)訓(xùn)練摸吠。具體來說空凸,通過手動添加噪聲,雨滴或下采樣寸痢,可以將ImageNet數(shù)據(jù)集中的圖像降級為生成的損壞圖像呀洲。然后將降級的圖像作為IPT的輸入,將干凈的圖像作為輸出的優(yōu)化目標啼止。還引入了一種自我監(jiān)督的方法來增強IPT模型的泛化能力道逗。然后使用相應(yīng)的頭部,尾部和任務(wù)嵌入對每個任務(wù)微調(diào)訓(xùn)練后的模型献烦。 IPT極大地提高了圖像處理任務(wù)的性能(例如滓窍,圖像降噪任務(wù)中為2dB),這證明了基于transformer的模型在低視場中的巨大潛力巩那。
4.4吏夯。視頻處理
transformer在基于序列的任務(wù)(特別是在NLP任務(wù))上表現(xiàn)出奇的出色。在計算機視覺中即横,視頻任務(wù)中青睞時空維度信息噪生。因此,transformer被應(yīng)用于許多視頻任務(wù)东囚,例如幀合成[83]跺嗽,動作識別[41]和視頻檢索[80]。
4.4.1高級視頻處理
人體動作識別。視頻人類行為任務(wù)是指識別和定位視頻中的人類行為桨嫁。上下文的內(nèi)容在識別人類行為中起著至關(guān)重要的作用植兰。 Rohit等。提出了一種行動變換器[41]來對感興趣的人和周圍事物之間的潛在關(guān)系進行建模璃吧。具體而言楣导,I3D用作提取高級特征圖的主干。通過ROIPooling從中間要素地圖中提取的要素被視為查詢(Q)畜挨。鍵(K)爷辙,值(V)是根據(jù)中間特征計算得出的。自我注意機制在三個組成部分上進行朦促,并輸出分類和回歸預(yù)測。 Lohit等栓始。 [84]提出了一個可解釋的微分模塊务冕,稱為時間互感器網(wǎng)絡(luò),以減少類內(nèi)方差并增加類間方差幻赚。 Fayyaz和Gall建議了一個臨時transformer禀忆,以在弱監(jiān)督的環(huán)境下執(zhí)行動作識別任務(wù)。
面部對齊落恼÷嵬耍基于視頻的面部對齊任務(wù)旨在定位面部標志。時間依賴性和空間信息對于最終性能很重要佳谦。但是戴涝,前一種方法無法同時捕獲連續(xù)幀上的時間信息和靜止幀上的互補空間信息。因此钻蔑,劉等啥刻。 [80]使用兩流transformer網(wǎng)絡(luò)分別學(xué)習(xí)時間和空間特征。以端到端的方式共同優(yōu)化兩個流咪笑,并對特征進行加權(quán)以獲得最終預(yù)測可帽。
視頻檢索〈芭基于內(nèi)容的視頻檢索的關(guān)鍵是找到視頻之間的相似性映跟。為了克服缺點,僅利用視頻級功能的圖像級扬虚,Shao等人努隙。 [110]建議使用轉(zhuǎn)換器來建模長范圍語義依賴性。此外孔轴,引入了有監(jiān)督的對比學(xué)習(xí)策略來執(zhí)行硬否定挖掘剃法。基準數(shù)據(jù)集上的結(jié)果證明了性能和速度優(yōu)勢。 Gabeur等贷洲。 [39]提出了一種多模態(tài)transformer收厨,以學(xué)習(xí)不同的跨模態(tài)線索设捐,以表示視頻仔引。
活動識別窄俏×#活動識別是指識別一組人的活動京办。解決此問題的前一種方法基于各個演員的位置瞒津。 Gavrilyuk等碘裕。提出了一個actor-transformer [40]體系結(jié)構(gòu)來學(xué)習(xí)表示常遂。角色轉(zhuǎn)換器將2D和3D網(wǎng)絡(luò)生成的靜態(tài)和動態(tài)表示作為輸入彪腔。transformer的輸出是預(yù)測活動侥锦。視頻對象檢測。要從視頻中檢測對象德挣,需要全局和本地信息恭垦。 Chen等。引入了內(nèi)存增強的全局局部聚合(MEGA)[19]以捕獲更多內(nèi)容格嗅。具有代表性的功能可提高整體性能番挺,并解決無效和不足的問題。 Yin等屯掖。 [138]提出了一種時空transformer來聚合時空信息玄柏。與另一個空間特征編碼組件一起,這兩個組件在3D視頻對象檢測任務(wù)上表現(xiàn)良好贴铜。
多任務(wù)學(xué)習(xí)粪摘。未修剪的視頻通常包含許多與目標任務(wù)無關(guān)的幀。因此绍坝,挖掘相關(guān)信息并刪除冗余信息至關(guān)重要赶熟。為了應(yīng)對未修剪視頻上的多任務(wù)學(xué)習(xí),Seong等人(2002年)采用視頻多任務(wù)轉(zhuǎn)換器網(wǎng)絡(luò)[109]提取信息陷嘴。對于CoVieW數(shù)據(jù)集映砖,任務(wù)是場景識別,動作識別和重要性分數(shù)預(yù)測灾挨。 ImageNet和Places365上的兩個經(jīng)過預(yù)先訓(xùn)練的網(wǎng)絡(luò)提取了場景特征和對象特征邑退。堆疊多任務(wù)transformer以借助類轉(zhuǎn)換矩陣(CCM)融合功能。
4.4.2低級視頻處理
幀/視頻合成劳澄。幀合成任務(wù)是指在兩個連續(xù)幀之間或幀序列之后合成幀地技。視頻合成任務(wù)旨在合成視頻。劉等秒拔。提出了ConvTransformer [83]莫矗,它包含五個組件:特征嵌入,位置編碼,編碼器作谚,查詢解碼器和綜合前饋網(wǎng)絡(luò)三娩。與基于LSTM的作品相比,ConvTransformer通過更可并行化的體系結(jié)構(gòu)實現(xiàn)了卓越的效果妹懒。 Schatz等雀监。 [108]使用循環(huán)transformer網(wǎng)絡(luò)從新穎的觀點綜合人類的行動。
視頻修復(fù)眨唬。視頻修補任務(wù)旨在完成幀中的缺失區(qū)域会前。這項艱巨的任務(wù)需要沿空間和時間維度合并信息。 Zeng等匾竿。為此任務(wù)提出了一個時空transformer網(wǎng)絡(luò)[144]瓦宜。所有輸入幀均作為輸入,并被并行填充岭妖。時空對抗損失用于優(yōu)化transformer網(wǎng)絡(luò)歉提。
4.4.3多模式
視頻字幕/摘要。視頻字幕任務(wù)的目標是為未修剪的視頻生成文本区转。事件檢測和描述模塊是兩個主要部分。周等版扩。 [154]提出了一種端到端的優(yōu)化transformer來解決密集的視頻字幕任務(wù)废离。編碼器將視頻轉(zhuǎn)換為表示形式。提議解碼器從編碼中生成事件提議礁芦。字幕解碼器用建議掩蓋編碼并輸出描述蜻韭。 Bilkhu等。 [9]使用C3D和I3D網(wǎng)絡(luò)提取特征柿扣,并使用transformer生成預(yù)測肖方。該算法在單個摘要任務(wù)和密集摘要任務(wù)上均表現(xiàn)良好。 Li等未状。 [71]利用基于糾纏注意力(ETA)模塊的transformer來解決圖像字幕任務(wù)俯画。 Sun等。 [29]提出了一種視覺語言框架來學(xué)習(xí)表示而無需監(jiān)督司草。該模型可以應(yīng)用于許多任務(wù)艰垂,包括視頻字幕,動作分類等埋虹。
4.5猜憎。自我關(guān)注的計算機視覺
在以上各節(jié)中,我們回顧了使用transformer體系結(jié)構(gòu)進行視覺任務(wù)的方法搔课。自我注意是transformer的關(guān)鍵部分胰柑。在本節(jié)中,我們將深入研究基于自我注意的方法,以解決計算機視覺中的挑戰(zhàn)性任務(wù)柬讨,例如語義分割崩瓤,實例分割,對象檢測姐浮,關(guān)鍵點檢測和深度估計谷遂。我們在第4.5.1節(jié)中制定自注意力算法開始,并在第4.5.2節(jié)中總結(jié)使用針對計算機視覺的自注意力的現(xiàn)有應(yīng)用程序卖鲤。
4.5.1自我注意的一般表述
用于機器翻譯的自注意模塊[123]通過關(guān)注所有位置并在嵌入空間中對它們進行加權(quán)求和肾扰,從而對序列中某個位置的響應(yīng)進行計算,這可以看作是非本地過濾操作的一種形式[128] 蛋逾,11]適用于計算機視覺集晚。我們遵循慣例[128]來制定自我注意模塊。給定輸入信號(例如区匣,圖像偷拔,序列,視頻和特征)X∈Rn×c亏钩,其中n = h×w表示特征中的像素數(shù)莲绰,而c是通道數(shù),則生成輸出信號如:
yi = C(xi)f(xi姑丑,xj)g(xj)蛤签,(16)
其中xi∈R1×c和yi∈R1×c分別表示輸入信號X和輸出信號Y的第i個位置(例如,時空栅哀,時空)震肮。下標j是枚舉所有位置的索引。成對函數(shù)f(·)計算表示關(guān)系留拾,例如i與所有j之間的親和力戳晌。函數(shù)g(·)計算位置j處輸入信號的表示形式。響應(yīng)通過因子C(xi)歸一化痴柔。
請注意沦偎,成對函數(shù)f(·)有很多選擇,例如咳蔚,可以使用高斯函數(shù)的簡單擴展來計算嵌入空間中的相似度扛施,因此函數(shù)f(·)可以表示為:
其中wθ,i∈Rc×1是權(quán)重矩陣Wθ的第i行屹篓。
對于給定的索引i疙渣,1 f(x,x)成為沿維度j輸出的softmax C(xi)i j堆巧,因此公式可以進一步重寫為:
Y = softmax(QKT)V = Attention(Q妄荔,K泼菌,V),(20)
其中為機器翻譯提議的自我注意模塊[啦租?]與上述為計算機視覺提出的非本地過濾操作完全相同哗伯。
通常,用于計算機視覺的自注意力模塊的最終輸出信號將包裝為:
Z = Y WZ + X(21)
Y是通過E.q. 19.如果WZ初始化為零篷角,則可以將此自注意模塊插入任何現(xiàn)有模型焊刹,而不會破壞其初始行為。
4.5.2視覺任務(wù)上的應(yīng)用
自我注意模塊被認為是卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)的構(gòu)建塊恳蹲,該卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)在涉及大接收域方面具有較低的縮放特性虐块。始終在網(wǎng)絡(luò)頂部使用該構(gòu)造塊來捕獲計算機視覺任務(wù)的遠程交互。在下文中嘉蕾,我們將對基于圖像的任務(wù)(例如圖像分類贺奠,語義分割和對象檢測)提出的基于自我注意的方法進行回顧。
圖像分類错忱±苈剩可訓(xùn)練的分類注意力包括兩個主要方面:關(guān)于圖像區(qū)域使用的辛勤注意[3,87以清,134]和產(chǎn)生非剛性特征圖的軟注意[125儿普,60,43掷倔,102]眉孩。 Ba等。 [3]首先提出了圖像分類任務(wù)的視覺注意力術(shù)語今魔,并利用注意力來選擇輸入圖像內(nèi)的相關(guān)區(qū)域和位置,這也可以降低所提出模型的計算復(fù)雜度障贸。輸入圖像的大小错森。 AG-CNN [42]提出通過關(guān)注熱圖從全局圖像中裁剪一個子區(qū)域,以進行醫(yī)學(xué)圖像分類篮洁。 SENet [54]并沒有用力地關(guān)注和重新校準特征圖的裁剪涩维,而是提出了一種軟性的自我注意,以重新加權(quán)卷積特征的通道方向響應(yīng)袁波。 Jetley等瓦阐。 [60]使用相應(yīng)估計器生成的注意力圖來加權(quán)深度神經(jīng)網(wǎng)絡(luò)中的中間特征。 Han等篷牌。 [43]利用屬性感知的注意力來增強CNN的表示睡蟋。
語義分割。 PSANet [151]枷颊,OCNet [139]戳杀,DANet [38]和CFNet [147]是將自我注意模塊引入語義分割任務(wù)的第一批作品该面,它們考慮并增強了關(guān)系和相似性[146、74信卡、46隔缀, 89、130]傍菇。 DANet [38]同時在空間和渠道維度上利用了自我注意模塊猾瘸。 A2Net [20]建議將像素分組為一組區(qū)域,然后通過將區(qū)域表示與生成的注意力權(quán)重相加來增強像素表示丢习。為了減輕通過計算自注意模塊中的像素相似度帶來的大量參數(shù)牵触,提出了幾項工作[140、59泛领、58荒吏、75、66]渊鞋,以提高自注意模塊進行語義分割的效率绰更。例如,CGNL [140]應(yīng)用RBF核函數(shù)的泰勒級數(shù)來近似像素相似度锡宋。 CCNet [59]通過兩個連續(xù)的縱橫交錯的關(guān)注來近似原始的自我關(guān)注方案儡湾。 ISSA [58]提出將稠密的親和矩陣分解為兩個稀疏親和矩陣的乘積。還有其他使用基于注意力的圖形推理模塊[76执俩、21徐钠、75]來增強局部和全局表示的相關(guān)工作。
對象檢測役首。 Ramachandran等尝丐。 [102]提出了一個基于注意的層來構(gòu)建完全注意的模型,該模型在COCO [79]基準上優(yōu)于卷積RetinaNet [78]衡奥。 GCNet [13]發(fā)現(xiàn)爹袁,對于圖片中的不同查詢位置,通過非本地操作建模的全局上下文幾乎相同矮固,并建議將簡化的表述和SENet [54]統(tǒng)一為用于全局上下文建模的通用框架[73失息, 52,34档址,93]盹兢。 Vo等。 [124]設(shè)計了一種雙向操作來收集信息并將其從查詢位置分發(fā)到所有可能的位置守伸。 Hu等绎秒。 [53]提出了一種基于自我注意的關(guān)系模塊,通過它們的外觀特征之間的交互來同時處理一組對象尼摹。程等替裆。提出了帶有基于注意力的解碼器模塊的RelationNet ++ [23]校辩,該模塊將其他表示形式橋接到基于單個表示形式格式的典型對象檢測器中。
其他視覺任務(wù)辆童。張等宜咒。 [148]提出了一種分辨率方面的注意模塊,以學(xué)習(xí)增強的分辨率方面的特征圖把鉴,以進行精確的姿態(tài)估計故黑。黃等。 [57]提出了一種基于transformer的網(wǎng)絡(luò)[56]庭砍,用于3D手-物體姿勢估計场晶。 Chang等。文獻[16]在基于注意力機制的特征融合模塊的幫助下怠缸,提高了精度并加快了關(guān)鍵點檢測模型的收斂速度诗轻。
4.6。高效transformer
盡管Transformer模型在各種任務(wù)中都取得了成功揭北,但是仍然需要高內(nèi)存和計算資源扳炬,這阻礙了在資源受限的設(shè)備(例如,移動電話)上的實現(xiàn)搔体。在本節(jié)中恨樟,我們回顧了有關(guān)為有效實施而壓縮和加速transformer模型的研究,包括網(wǎng)絡(luò)修剪疚俱,低秩分解劝术,知識蒸餾,網(wǎng)絡(luò)量化呆奕,壓縮架構(gòu)設(shè)計养晋。表4列出了一些用于壓縮基于transformer的模型的代表性作品。
4.6.1修剪和分解
在基于transformer的預(yù)訓(xùn)練模型(例如BERT)中梁钾,并行進行多個注意操作以獨立地建模不同令牌之間的關(guān)系[123绳泉、29],而對于特定任務(wù)則不需要所有的負責(zé)人陈轿。 Michel等圈纺。 [85]從經(jīng)驗上觀察到秦忿,在測試時可以去除很大一部分注意力麦射,而不會顯著影響性能。所需的磁頭數(shù)量在不同的層上有所不同灯谣,甚至對于某些層來說潜秋,一個磁頭就足夠了√バ恚考慮到注意頭上的冗余峻呛,在[85]中定義了重要性分數(shù)以估計每個頭對最終輸出的影響罗售,并且可以刪除不重要的頭以進行有效部署。 Dalvi等钩述。 [96]進一步從兩個角度分析了預(yù)訓(xùn)練transformer模型中的冗余寨躁,即一般冗余和特定于任務(wù)的冗余。按照彩票假說等牙勘。 [36]职恳,Prasanna等。 [96]分析了BERT中的彩票方面,并表明在基于Transformer的模型中也存在良好的子網(wǎng)放钦。在[96]中減少了FFN層和注意頭,以實現(xiàn)高壓縮率恭金。
除了transformer模型的寬度外操禀,還可以減小深度(即層數(shù))以加快推理過程[32]。與可以并行計算transformer模型中的不同關(guān)注點不同横腿,由于下一層的輸入取決于前一層的輸出颓屑,因此必須順序計算不同的層。范等蔑水。 [32]提出了一種逐層丟棄的策略來規(guī)范模型的訓(xùn)練邢锯,然后在測試階段將整個層次一起刪除〔蟊穑考慮到不同設(shè)備中的可用資源可能會有所不同丹擎,Hou等人。 [51]提出自適應(yīng)地減小預(yù)定義transformer模型的寬度和深度歇父,并同時獲得具有不同尺寸的多個模型蒂培。重要的注意頭和神經(jīng)元通過重新布線機制在不同的子網(wǎng)之間共享。
除了直接在transformer模型中丟棄零件模塊的修剪方法之外榜苫,矩陣分解的目的是根據(jù)低秩假設(shè)近似大型矩陣與多個小型矩陣护戳。例如,Wang等垂睬。 [131]分解transformer模型中的標準矩陣乘法媳荒,并實現(xiàn)更有效的推理。
4.6.2知識蒸餾
知識蒸餾的目的是通過從巨大的教師網(wǎng)絡(luò)中轉(zhuǎn)移知識來訓(xùn)練學(xué)生網(wǎng)絡(luò)[48驹饺、12钳枕、2]。與教師網(wǎng)絡(luò)相比赏壹,學(xué)生網(wǎng)絡(luò)通常具有較薄和較淺的體系結(jié)構(gòu)鱼炒,更易于在資源受限的資源上部署。神經(jīng)網(wǎng)絡(luò)的輸出和中間特征都可以用于將有效信息從教師傳遞給學(xué)生蝌借。 Mukherjee等人著重于變換模型昔瞧。 [88]使用經(jīng)過預(yù)訓(xùn)練的BERT [29]作為老師指蚁,借助大量未標記的數(shù)據(jù)來指導(dǎo)小型模型的訓(xùn)練。Wang等自晰。 [127]訓(xùn)練學(xué)生網(wǎng)絡(luò)以模仿預(yù)訓(xùn)練教師模型中的自我注意層的輸出凝化。價值觀之間的點積被引入作為指導(dǎo)學(xué)生的一種新的知識形式。在[127]中也引入了一個助教[86]酬荞,它可以減小大型預(yù)訓(xùn)練的Transformer模型與緊湊的學(xué)生網(wǎng)絡(luò)之間的差距缘圈,從而使模仿變得更加容易⊥嗖希考慮到transformer模型中的各種類型的層(即糟把,自我注意層,嵌入層牲剃,預(yù)測層)遣疯,Jiao等人。 [62]設(shè)計不同的目標功能凿傅,以將知識從教師傳授給學(xué)生缠犀。例如,學(xué)生模型的嵌入層的輸出將通過MSE損失來模仿教師的輸出聪舒。還施加了可學(xué)習(xí)的線性變換辨液,以將不同的特征映射到同一空間。對于預(yù)測層的輸出箱残,采用KL散度來度量不同模型之間的差異滔迈。
4.6.3量化
量化的目的是減少表示網(wǎng)絡(luò)權(quán)重或中間特征的位數(shù)[122,137]被辑。通用神經(jīng)網(wǎng)絡(luò)的量化方法已得到充分討論燎悍,其性能可與原始網(wǎng)絡(luò)相比[91、37盼理、6]谈山。最近,如何特別量化transformer模型已引起了廣泛關(guān)注[8宏怔,33]奏路。 Shridhar等。 [112]建議將輸入嵌入到二進制高維向量中臊诊,然后使用二進制輸入表示來訓(xùn)練二進制神經(jīng)網(wǎng)絡(luò)鸽粉。 Cheong等。 [22]通過低位(例如4位)表示來表示transformer模型中的權(quán)重妨猩。趙等潜叛。 [152]對各種量化方法進行了實證研究秽褒,結(jié)果表明k均值量化具有巨大的發(fā)展?jié)摿琛a槍C器翻譯任務(wù)威兜,Prato等人。 [97]提出了一種完全量化的轉(zhuǎn)換器庐椒,這是第一個8位質(zhì)量模型椒舵,而沒有論文中要求的翻譯質(zhì)量損失。
4.6.4緊湊架構(gòu)設(shè)計
除了將預(yù)定義的transformer模型壓縮為小型transformer模型外约谈,一些作品還嘗試直接設(shè)計緊湊型模型[132笔宿,61]。江等棱诱。 [61]通過提出一個名為基于跨度的動態(tài)卷積的新模塊泼橘,簡化了自動注意力的計算,該模塊將全連接層和卷積層進行了組合迈勋,如圖9所示炬灭。計算了來自不同標記的表示之間的局部依賴性通過卷積運算,這比標準transformer中密集的全連接層有效得多靡菇。深度卷積還用于進一步降低計算成本重归。在[1]中提出了有趣的漢堡包層,它們使用矩陣分解來代替原始的自我注意層厦凤。矩陣分解可以比標準的自我注意操作更有效地計算鼻吮,同時很好地反映了不同標記之間的依賴性。
Transformer模型中的自注意操作會計算給定序列(圖像識別任務(wù)[31]中的補督瞎摹)中來自不同輸入令牌的表示形式之間的點積椎木,其復(fù)雜度為O(N),其中N是序列的長度博烂。最近拓哺,大量方法致力于將復(fù)雜度降低到O(N),以使transformer模型可擴展到長序列脖母。例如士鸥,Katharopoulos等。 [64]將自我注意近似為內(nèi)核特征圖的線性點積谆级,并通過遞歸神經(jīng)網(wǎng)絡(luò)揭示標記之間的關(guān)系烤礁。 Zaheer等。 [143]將每個令牌視為圖形中的一個頂點肥照,兩個令牌之間的內(nèi)積計算稱為邊脚仔。啟發(fā)圖理論[113,25]舆绎,將各種稀疏圖組合在一起鲤脏,以近似transformer模型中的稠密圖,這也實現(xiàn)了O(N)的復(fù)雜性。從理論上講猎醇,Yun等窥突。 [141]證明了具有O(N)復(fù)雜度的稀疏變換器足以反映令牌之間的任何類型的關(guān)系并且可以進行通用逼近,這為進一步研究具有O(N)復(fù)雜度的變換器提供了理論保證硫嘶。
5.結(jié)論與未來展望
與卷積神經(jīng)網(wǎng)絡(luò)相比阻问,由于其具有競爭力的性能和巨大的潛力,transformer正成為計算機視覺領(lǐng)域的熱門話題沦疾。正如調(diào)查總結(jié)的那樣称近,為了發(fā)現(xiàn)和利用transformer的功率,近年來提出了許多解決方案哮塞。這些方法在各種視覺任務(wù)(包括基本圖像分類刨秆,高級視覺,低級視覺和視頻處理)上均表現(xiàn)出出色的性能忆畅。然而坛善,transformer在計算機視覺中的潛力尚未得到充分的探索,還有一些挑戰(zhàn)有待解決邻眷。
盡管研究人員提出了許多基于transformer的模型來解決計算機視覺任務(wù)眠屎,但這些工作是開創(chuàng)性的解決方案,還有很大的改進空間肆饶。例如改衩,ViT [31]中的transformer架構(gòu)遵循NLP [123]的標準transformer。專門針對CV的改進版本仍有待探索驯镊。此外葫督,還需要將transformer用于除上述任務(wù)之外的更多任務(wù)。
此外板惑,大多數(shù)現(xiàn)有的視覺transformer模型都設(shè)計用于處理單個任務(wù)橄镜。許多NLP模型(例如GPT-3 [10])已顯示出transformer可以在一個模型中處理多個任務(wù)的能力。 CV領(lǐng)域的IPT [17]也能夠處理多種低級視覺任務(wù)冯乘,例如超分辨率务漩,圖像降噪和排水濒蒋。我們相信启盛,只有一種模型可以涉及更多任務(wù)凡桥。
最后但并非最不重要的一點是,為CV開發(fā)有效的transformer模型也是一個未解決的問題喷好。transformer模型通常很大且計算量很大翔横,例如,基本的ViT模型[31]需要18B FLOP來處理圖像梗搅。相比之下禾唁,輕巧的CNN模型GhostNet [44效览、45]僅用大約600M FLOP就能達到類似的性能。盡管已經(jīng)提出了幾種壓縮transformer的方法荡短,但是它們的復(fù)雜性仍然很大丐枉。這些最初為NLP設(shè)計的方法可能不適用于CV。因此肢预,高效的transformer模型是在資源受限的設(shè)備上部署可視transformer的代理。