首頁(yè) > 新能源汽車

視覺 Transformer 研究的關(guān)鍵問題: 現(xiàn)狀及展望

來(lái)源:新能源汽車網(wǎng)
時(shí)間:2022-04-19 13:00:58
熱度:

視覺 Transformer 研究的關(guān)鍵問題: 現(xiàn)狀及展望作者:田永林1, 2, , 王雨桐2, , 王建功2, , 王曉2, 3, , 王飛躍2, 3,/ 導(dǎo)讀 /深度神經(jīng)網(wǎng)絡(luò)(

作者:田永林1, 2, , 王雨桐2, , 王建功2, , 王曉2, 3, , 王飛躍2, 3,

/ 導(dǎo)讀 /

深度神經(jīng)網(wǎng)絡(luò)(Deep neural network, DNN)由于其突出的性能表現(xiàn), 已經(jīng)成為人工智能系統(tǒng)的主流模型之一[1-2]. 針對(duì)不同的任務(wù), DNN發(fā)展出了不同的網(wǎng)絡(luò)結(jié)構(gòu)和特征學(xué)習(xí)范式. 其中, 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network, CNN)[3-5]通過卷積層和池化層等具備平移不變性的算子處理圖像數(shù)據(jù); 循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent neural network, RNN)[6-7]通過循環(huán)單元處理序列或時(shí)序數(shù)據(jù). Transformer[8]作為一種新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu), 目前已被證實(shí)可以應(yīng)用于自然語(yǔ)言處理(Natural language processing, NLP)、計(jì)算機(jī)視覺(Computer vision, CV)和多模態(tài)等多個(gè)領(lǐng)域, 并在各項(xiàng)任務(wù)中展現(xiàn)出了極大的潛力.

Transformer[8]興起于NLP領(lǐng)域, 它的提出解決了循環(huán)網(wǎng)絡(luò)模型, 如長(zhǎng)短期記憶(Long short-term memory, LSTM)[6]和門控循環(huán)單元(Gate recurrent unit, GRU)[7]等存在的無(wú)法并行訓(xùn)練, 同時(shí)需要大量的存儲(chǔ)資源記憶整個(gè)序列信息的問題. Transformer[8]使用一種非循環(huán)的網(wǎng)絡(luò)結(jié)構(gòu), 通過編碼器?解碼器以及自注意力機(jī)制[9-12]進(jìn)行并行計(jì)算, 大幅縮短了訓(xùn)練時(shí)間, 實(shí)現(xiàn)了當(dāng)時(shí)最優(yōu)的機(jī)器翻譯性能. Transformer模型與循環(huán)神經(jīng)網(wǎng)絡(luò)以及遞歸神經(jīng)網(wǎng)絡(luò)均具備對(duì)序列數(shù)據(jù)的特征表示能力, 但Transformer打破了序列順序輸入的限制, 以一種并行的方式建立不同詞符間的聯(lián)系. 基于Transformer模型, BERT[13]在無(wú)標(biāo)注的文本上進(jìn)行了預(yù)訓(xùn)練, 最終通過精調(diào)輸出層, 在11項(xiàng)NLP任務(wù)中取得了最優(yōu)表現(xiàn). 受BERT啟發(fā), 文獻(xiàn)[14]預(yù)訓(xùn)練了一個(gè)名為GPT-3的擁有1 750億個(gè)參數(shù)的超大規(guī)模Transformer模型, 在不需要進(jìn)行精調(diào)的情況下, 這一模型在多種下游任務(wù)中表現(xiàn)出強(qiáng)大的能力. 這些基于Transformer模型的工作, 極大地推動(dòng)了NLP領(lǐng)域的發(fā)展.

Transformer在NLP領(lǐng)域的成功應(yīng)用, 使得相關(guān)學(xué)者開始探討和嘗試其在計(jì)算機(jī)視覺領(lǐng)域的應(yīng)用[15-16]. 一直以來(lái), 卷積神經(jīng)網(wǎng)絡(luò)都被認(rèn)為是計(jì)算機(jī)視覺的基礎(chǔ)模型. 而Transformer的出現(xiàn), 為視覺特征學(xué)習(xí)提供了一種新的可能[17-21]. 基于Transformer的視覺模型在圖像分類[15, 22-23]、目標(biāo)檢測(cè)[16, 24]、圖像分割[25-26]、視頻理解[27-28]、圖像生成[29]以及點(diǎn)云分析[30-31]等領(lǐng)域取得媲美甚至領(lǐng)先卷積神經(jīng)網(wǎng)絡(luò)的效果.

將Transformer應(yīng)用于視覺任務(wù)并非一個(gè)自然的過程, 一方面, Transformer網(wǎng)絡(luò)以序列作為輸入形式, 其本身并不直接適用于二維的圖像數(shù)據(jù)[15-16], 將其適配到視覺任務(wù)需要經(jīng)過特殊設(shè)計(jì); 另一方面基于全局信息交互的Transformer網(wǎng)絡(luò)往往具有較大的計(jì)算量, 同時(shí)對(duì)數(shù)據(jù)量也有較高要求, 因此需要考慮其效率以及訓(xùn)練和優(yōu)化等問題[32-33]. 此外, Transformer所定義的基于注意力的全局交互機(jī)制是否是一種完備的信息提取方式, 來(lái)自CNN中的經(jīng)驗(yàn)和技巧能否幫助Transformer在計(jì)算機(jī)視覺任務(wù)中取得更好的性能也是需要思考的問題[34-35].

同其他Transformer相關(guān)的綜述文獻(xiàn)[17-19]相比, 本文的區(qū)別和主要貢獻(xiàn)在于我們以視覺Transformer在應(yīng)用過程中存在的關(guān)鍵問題為角度進(jìn)行切入, 針對(duì)每個(gè)關(guān)鍵問題組織并綜述了相關(guān)文章的解決方案和思路, 而其他文獻(xiàn)[17-19]則更多是從技術(shù)和方法分類的角度入手. 本文梳理了Transformer在計(jì)算機(jī)視覺中應(yīng)用中的若干關(guān)鍵問題, 同時(shí)總結(jié)了Transformer在計(jì)算機(jī)視覺的分類、檢測(cè)和分割任務(wù)中的應(yīng)用和改進(jìn). 本文剩余部分組織如下: 第 1 節(jié)以ViT[15]為例介紹視覺Transformer的原理和基本組成, 并對(duì)比了Transformer與CNN的區(qū)別和聯(lián)系, 同時(shí)總結(jié)了Transformer的優(yōu)勢(shì)和劣勢(shì); 第 2 節(jié)給出了視覺Transformer的一般性框架; 第 3 節(jié)介紹Transformer研究中的關(guān)鍵問題以及對(duì)應(yīng)的研究進(jìn)展; 第 4 節(jié)介紹Transformer在目標(biāo)檢測(cè)領(lǐng)域的應(yīng)用; 第 5 節(jié)介紹Transformer在圖像分割領(lǐng)域的應(yīng)用; 第 6 節(jié)總結(jié)了全文并展望了視覺Transformer的發(fā)展趨勢(shì).

ViT原理介紹與分析

ViT[15]將Transformer結(jié)構(gòu)完全替代卷積結(jié)構(gòu)完成分類任務(wù), 并在超大規(guī)模數(shù)據(jù)集上取得了超越CNN的效果[36-39]. ViT結(jié)構(gòu)如圖1所示, 它首先將輸入圖像裁剪為固定尺寸的圖像塊, 并對(duì)其進(jìn)行線性映射后加入位置編碼, 輸入到標(biāo)準(zhǔn)的Transformer編碼器. 為了實(shí)現(xiàn)分類任務(wù), 在圖像塊的嵌入序列中增加一個(gè)額外的可學(xué)習(xí)的類別詞符(Class token).

圖 1 ViT模型結(jié)構(gòu)[15]Fig. 1 The framework of ViT[15]1.1 圖像序列化

對(duì)于NLP任務(wù), Transformer的輸入是一維的詞符嵌入向量, 而視覺任務(wù)中, 需要處理的是二維的圖像數(shù)據(jù). 因此, ViT[15]首先將尺寸為H×W×C的圖像x∈RH×W×C裁剪為N=HW/P2個(gè)尺寸為P×P×C的圖像塊, 并將每個(gè)圖像塊展開成一維向量, 最終得到xp∈RN×(P2×C). 記d為Transformer輸入嵌入向量的維度, ViT[15]將xp進(jìn)行線性映射, 并與類別詞符一起組成為d維z0, 如式(1)所示, 作為Transformer編碼器的輸入.

z0=[xclass;x1pE;x2pE;?;xNpE]+Epos,E∈R(P2×C)×d,Epos∈R(N+1)×d(1)

其中, z00=xclass是為了實(shí)現(xiàn)分類任務(wù)加入的可學(xué)習(xí)的類別詞符, E是實(shí)現(xiàn)線性映射的矩陣, Epos是位置編碼. 類別詞符以網(wǎng)絡(luò)參數(shù)的形式定義, 其本身是一種網(wǎng)絡(luò)權(quán)重, 可以通過梯度進(jìn)行更新. 類別詞符z00本身不具備當(dāng)前輸入的特征和信息, 而是在與圖像塊詞符串聯(lián)后通過自注意力機(jī)制實(shí)現(xiàn)對(duì)圖像特征的信息交互或信息聚合, 在編碼器最后一層之后, 類別詞符z0L作為對(duì)圖像特征的聚合, 被送入分類頭進(jìn)行類別預(yù)測(cè)

1.2 編碼器

ViT[15]的編碼器由L(ViT[15]中, L= 6)個(gè)相同的層堆疊而成, 每個(gè)層又由兩個(gè)子層組成. 其中, 第一個(gè)子層是多頭自注意力機(jī)制(Multi-h(huán)ead self-attention, MSA), 第二個(gè)子層是多層感知機(jī)(Multi-layer perceptron, MLP). 在數(shù)據(jù)進(jìn)入每個(gè)子層前, 都使用層歸一化(Layer normalization, LN)[40]進(jìn)行歸一化處理, 數(shù)據(jù)經(jīng)過每個(gè)子層后, 又使用殘差連接與輸入進(jìn)行直接融合. 值得注意的是, 為了實(shí)現(xiàn)殘差連接[5], ViT編碼器的每一層的輸出維度都設(shè)計(jì)為d維. 最后, 經(jīng)過L層網(wǎng)絡(luò)編碼之后, 類別詞符z0L被送入到由MLP構(gòu)成的分類頭中, 從而預(yù)測(cè)得到圖像的類別y. 第l層的特征計(jì)算過程如下:
z′l=MSA(LN(zl?1))+zl?1,l=1,?,L(2)zl=MLP(LN(z′l))+z′l,l=1,?,L(3)類別預(yù)測(cè)結(jié)果的產(chǎn)生可表示為:y=LN(z0L)(4)

1.3 注意力機(jī)制

注意力機(jī)制(Attention)最早應(yīng)用于NLP任務(wù)中[9, 12, 41], 通過引入長(zhǎng)距離上下文信息, 解決長(zhǎng)序列的遺忘現(xiàn)象. 在視覺任務(wù)中, 注意力機(jī)制同樣被用來(lái)建立空間上的長(zhǎng)距離依賴, 以解決卷積核感受野有限的問題[42-43].

ViT使用的自注意力機(jī)制(Self-attention, SA)是一種縮放點(diǎn)積注意力(Scaled dot-product attention), 其計(jì)算過程如圖2所示. 自注意力層通過查詢(Query)與鍵(Key)-值(Value)對(duì)之間的交互實(shí)現(xiàn)信息的動(dòng)態(tài)聚合. 對(duì)輸入序列z∈RN×d, 通過線性映射矩陣UQKV將其投影得到Q、K和V三個(gè)向量. 在此基礎(chǔ)上, 計(jì)算Q和K間的相似度A, 并根據(jù)A實(shí)現(xiàn)對(duì)V進(jìn)行加權(quán). 自注意力的計(jì)算過程如下所示:

圖 2 自注意力[15]與多頭自注意力[15]Fig. 2 Self-attention[15]and multi-h(huán)ead self-attention[15]

[Q,K,V]=zUQKV,UQKV∈Rd×3dh(5)A=softmax(QKT/√dh),A∈Rh?dh×d(6)加權(quán)聚合過程可表示為:SA(z)=AV(7)

1.3.1 多頭自注意力

為了提高特征多樣性, ViT使用了多頭自注意力機(jī)制. 多頭自注意力層使用多個(gè)自注意力頭來(lái)并行計(jì)算, 最后通過將所有注意力頭的輸出進(jìn)行拼接得到最終結(jié)果. 多頭注意力計(jì)算過程如下所示:

MSA(z)=[SA1(z);SA2(z);?;SAk(z)]Umsa(8)

其中, Umsa∈Rh?dh×d為映射矩陣, 用于對(duì)拼接后的特征進(jìn)行聚合, h表示自注意力頭的個(gè)數(shù), dh為每個(gè)自注意力頭的輸出維度. 為了保證在改變h時(shí)模型參數(shù)量不變, 一般將dh設(shè)置為d/h. 多頭自注意力機(jī)制中并行使用多個(gè)自注意力模塊, 可以豐富注意力的多樣性, 從而增加模型的表達(dá)能力.

1.4 位置編碼

ViT使用了絕對(duì)位置編碼來(lái)彌補(bǔ)圖像序列化丟失的圖像塊位置信息. 位置編碼信息與特征嵌入相加后被送入編碼器進(jìn)行特征交互. ViT使用的位置編碼由不同頻率的正弦和余弦函數(shù)構(gòu)成, 其計(jì)算過程如下:
PE(pos,2i)=sin(pos/100002i/d)(9)PE(pos,2i+1)=cos(pos/100002i/d)(10)

其中, pos是每個(gè)圖像塊在圖像中的位置, i∈[0,?,d/2]用于計(jì)算通道維度的索引. 對(duì)于同一個(gè)i, 通道上第2i和2i+1個(gè)位置的編碼是具有相同角速度的正弦和余弦值. 為了使得位置編碼可以與輸入嵌入相加, 位置編碼需要與嵌入保持相同的維度.

1.5 Transformer同卷積神經(jīng)網(wǎng)絡(luò)的區(qū)別與聯(lián)系

本節(jié)主要從連接范圍[44]、權(quán)重動(dòng)態(tài)性[44]和位置表示能力三個(gè)方面來(lái)闡述Transformer同卷積神經(jīng)網(wǎng)絡(luò)的區(qū)別與聯(lián)系.

1.5.1 連接范圍

卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建在輸入的局部連接之上, 通過不斷迭代, 逐漸擴(kuò)大感受野, 而Transformer則具備全局交互機(jī)制, 其有效感受野能夠迅速擴(kuò)大. 圖3展示了語(yǔ)義分割任務(wù)中, DeepLabv3+[45]和SegFormer[25]在有效感受野上的對(duì)比, 可以看到, 相比于卷積神經(jīng)網(wǎng)絡(luò), Transformer網(wǎng)絡(luò)的有效感受野范圍具備明顯優(yōu)勢(shì). 雖然卷積核的尺寸可以設(shè)置為全圖大小, 但這種設(shè)置在圖像數(shù)據(jù)處理中并不常見, 因?yàn)檫@將導(dǎo)致參數(shù)量的顯著增加.

圖 3 Transformer與CNN有效感受野對(duì)比[25]Fig. 3 The comparison[25] of effective receptive field between Transformer and CNN

1.5.2 權(quán)重動(dòng)態(tài)性

傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練完成后, 卷積核權(quán)重不隨輸入或滑動(dòng)窗口位置變化而改變[46], 而Transformer網(wǎng)絡(luò)通過相似性度量動(dòng)態(tài)地生成不同節(jié)點(diǎn)的權(quán)重并進(jìn)行信息聚合. Transformer的動(dòng)態(tài)性與動(dòng)態(tài)卷積[46]具備相似的效果, 都能響應(yīng)輸入信息的變化.

1.5.3 位置表示能力

Transformer使用序列作為輸入形式, 其所使用的自注意力機(jī)制和通道級(jí)MLP模塊均不具備對(duì)輸入位置的感知能力, 因此Transformer依賴位置編碼來(lái)實(shí)現(xiàn)對(duì)位置信息的補(bǔ)充. 相比之下, 卷積神經(jīng)網(wǎng)絡(luò)處理二維圖像數(shù)據(jù), 一方面卷積核中權(quán)重的排列方式使其具備了局部相對(duì)位置的感知能力, 另一方面, 有研究表明[47], 卷積神經(jīng)網(wǎng)絡(luò)使用的零填充(Zero padding)使其具備了絕對(duì)位置感知能力, 因此, 卷積神經(jīng)網(wǎng)絡(luò)不需要額外的位置編碼模塊.

1.6 ViT的優(yōu)劣勢(shì)分析

ViT[15]模型的優(yōu)勢(shì)在于其構(gòu)建了全局信息交互機(jī)制, 有助于建立更為充分的特征表示. 此外, ViT采用了Transformer中標(biāo)準(zhǔn)的數(shù)據(jù)流形式, 有助于同其他模態(tài)數(shù)據(jù)進(jìn)行高效融合. ViT存在的問題主要在三個(gè)方面, 首先全局注意力機(jī)制計(jì)算量較大, 尤其是面對(duì)一些長(zhǎng)序列輸入時(shí), 其與輸入長(zhǎng)度成平方的計(jì)算代價(jià)極大地限制了其在高分辨率輸入和密集預(yù)測(cè)任務(wù)中的應(yīng)用; 其次, 不同于卷積中的局部歸納偏置, ViT模型從全局關(guān)系中挖掘相關(guān)性, 對(duì)數(shù)據(jù)的依賴較大, 需要經(jīng)過大量數(shù)據(jù)的訓(xùn)練才能具備較好效果; 此外, ViT模型的訓(xùn)練過程不穩(wěn)定且對(duì)參數(shù)敏感.

Transformer研究中的關(guān)鍵問題

本節(jié)以圖像分類這一基本的視覺任務(wù)為切入, 著重介紹Transformer在用于視覺模型骨架時(shí)的關(guān)鍵研究問題以及對(duì)應(yīng)的研究進(jìn)展.

2.1 如何降低Transformer的計(jì)算代價(jià)

Transformer的設(shè)計(jì)使其具有全局交互能力, 但同時(shí)其全局自注意力機(jī)制也帶來(lái)了較高的時(shí)間和空間代價(jià), 如何設(shè)計(jì)更高效的Transformer機(jī)制成為研究熱點(diǎn)之一[48]. 原始的Transformer使用了點(diǎn)積注意力機(jī)制(Dot-product attention), 其具有二次的時(shí)間和空間復(fù)雜度, 因此不利于推廣到高分辨率圖像和特征的處理中. 現(xiàn)有文獻(xiàn)主要從輸入和注意力設(shè)計(jì)兩個(gè)角度來(lái)降低Transformer注意力機(jī)制的復(fù)雜度. 表1總結(jié)了多種Transformer模型的自注意力機(jī)制的計(jì)算復(fù)雜度.

2.1.1 受限輸入模式

減少輸入到注意力層的序列的長(zhǎng)度是降低計(jì)算量的直接手段, 現(xiàn)有文獻(xiàn)主要從輸入下采樣、輸入局部化和輸入稀疏化三個(gè)角度來(lái)限制序列的長(zhǎng)度[49].

1) 輸入下采樣: PVT[22]通過金字塔型的網(wǎng)絡(luò)設(shè)計(jì)將圖像分辨率層級(jí)尺度衰減, 來(lái)逐漸降低圖像序列的長(zhǎng)度. DynamicViT[51]通過輸入學(xué)習(xí)動(dòng)態(tài)的序列稀疏化策略, 以此逐漸降低圖像序列長(zhǎng)度. 該類方法在維持全局交互的基礎(chǔ)上, 以減小分辨率的形式實(shí)現(xiàn)對(duì)計(jì)算量的降低.

2) 輸入局部化: 輸入局部化旨在限制注意力的作用范圍, 通過設(shè)計(jì)局部的注意力機(jī)制降低計(jì)算量, 例如Swin Transformer[23]提出了基于窗口的多頭注意力機(jī)制, 將圖像劃分成多個(gè)窗口, 僅在窗口內(nèi)部進(jìn)行交互.

3) 輸入稀疏化: 稀疏化通過采樣或壓縮輸入來(lái)降低注意力矩陣的尺寸, 例如, CrossFormer[52]提出了對(duì)輸入進(jìn)行間隔采樣來(lái)構(gòu)建長(zhǎng)距離注意力(Long distance attention). Deformable DETR[24]將可形變卷積的設(shè)計(jì)引入到注意力的計(jì)算中, 通過學(xué)習(xí)采樣點(diǎn)的位置信息實(shí)現(xiàn)稀疏交互機(jī)制, 在減小計(jì)算量的同時(shí)維持了較大范圍的感受野.

2.1.2 高效注意力機(jī)制

核函數(shù)方法[33]和低秩分解[53]是用來(lái)降低注意力復(fù)雜度的主要方法[48]. 表1中總結(jié)了不同注意力機(jī)制的時(shí)間復(fù)雜度和空間復(fù)雜度, 同時(shí)我們給出了卷積算子的復(fù)雜度作為參考. 為了方便對(duì)比, 我們?cè)诰矸e復(fù)雜度的計(jì)算中, 將特征圖的長(zhǎng)寬乘積等同于Transformer的輸入序列長(zhǎng)度, 將Transformer的詞符特征的維度視為卷積輸入與輸出通道數(shù), 將局部Transformer的窗口大小s視為卷積核大?。?/p>

1) 核函數(shù)方法(Kernelization): 核函數(shù)方法通過重構(gòu)注意力計(jì)算機(jī)制打破歸一化函數(shù)對(duì)Q和K計(jì)算的綁定, 來(lái)降低注意力計(jì)算的時(shí)間和空間成本[33, 54-55]. 點(diǎn)積注意力機(jī)制可被表示為如下形式:

D(Q,K,V)=ρ(QKT)V(11)

其中, ρ表示激活函數(shù), 在經(jīng)典Transformer[8]中, 激活函數(shù)為Softmax. Efficient attention[32]和Linear Transformer[33]將注意力機(jī)制的計(jì)算轉(zhuǎn)換為式(12)的形式, 實(shí)現(xiàn)對(duì)點(diǎn)積注意力的近似.

E(Q,K,V)=?(Q)(?(K)TV)(12)

這種方式避免了對(duì)具有O(N2)時(shí)間和空間復(fù)雜度的注意力圖的計(jì)算和存儲(chǔ), 提高了注意力的計(jì)算效率. AFT[56]采用了類似式(12)的設(shè)計(jì), 但使用逐元素相乘代替矩陣的點(diǎn)積運(yùn)算, 從而進(jìn)一步降低了計(jì)算量.

2) 低秩方法(Low-rank methods): 低秩分解假定了注意力矩陣是低秩的, 因此可以將序列長(zhǎng)度進(jìn)行壓縮以減少計(jì)算量. 考慮到注意力層輸出序列長(zhǎng)度只與查詢的節(jié)點(diǎn)個(gè)數(shù)有關(guān), 因此通過壓縮鍵和值向量的序列長(zhǎng)度, 不會(huì)影響最終輸入的尺寸. PVT[22]、ResT[53]和CMT[34]利用卷積減少了鍵和值對(duì)應(yīng)的詞符個(gè)數(shù)以降低計(jì)算量. SOFT[57]使用高斯核函數(shù)替換Softmax點(diǎn)積相似度, 并通過卷積或池化的方式從序列中采樣, 實(shí)現(xiàn)對(duì)原始注意力矩陣的低秩近似.

2.2 如何提升Transformer的表達(dá)能力

本小節(jié)主要圍繞如何提高Transformer模型的表達(dá)能力而展開, 視覺Transformer的研究仍處于起步階段, 一方面可以借鑒CNN的改進(jìn)思路, 通過類似多尺度等的方案實(shí)現(xiàn)對(duì)性能的提升, 另一方面由于Transformer基于全局信息的交互, 使其具有不同于CNN的特征提取范式, 從而為引入CNN設(shè)計(jì)范式進(jìn)而提升性能提供了可能. CNN的局部性(Locality)設(shè)計(jì)范式可以豐富Transformer網(wǎng)絡(luò)的特征多樣性, 同時(shí)也有利于改善Transformer特征的過度光滑(Over-smoothing)的問題[59]. 此外, 對(duì)Transformer本身機(jī)制, 如注意力和位置編碼等的改進(jìn)也有望提高其表達(dá)能力. 表2展示了不同Transformer模型在ImageNet[4]上的性能對(duì)比.

2.2.1 多尺度序列交互

多尺度特征在CNN中已經(jīng)獲得了較為廣泛的應(yīng)用[62], 利用多尺度信息能夠很好地結(jié)合高分辨率特征和高語(yǔ)義特征, 實(shí)現(xiàn)對(duì)不同尺度目標(biāo)的有效學(xué)習(xí). 在視覺Transformer中, CrossViT[63]使用兩種尺度分別對(duì)圖像進(jìn)行劃分并獨(dú)立編碼, 對(duì)編碼后的多尺度特征利用交互注意層實(shí)現(xiàn)兩種尺度序列之間的信息交互. CrossFormer[52]則借助金字塔型網(wǎng)絡(luò), 在不同層得到不同尺度的特征, 之后融合不同層的特征, 以進(jìn)行跨尺度的信息交互.

2.2.2 圖像塊特征多樣化

DiversePatch[64]發(fā)現(xiàn)了在Transformer的深層網(wǎng)絡(luò)中, 同層圖像塊的特征之間的相似性明顯增大, 并指出這可能引起Transformer性能的退化, 使其性能無(wú)法隨深度增加而繼續(xù)提升. 基于該發(fā)現(xiàn), DiversePatch[64]提出了三種方式來(lái)提高特征的多樣性. 首先, 對(duì)網(wǎng)絡(luò)最后一層的圖像塊特征之間計(jì)算余弦相似度, 并作為懲罰項(xiàng)加入到損失計(jì)算中. 其次, 基于對(duì)Transformer網(wǎng)絡(luò)首層圖像塊特征多樣性較高的觀察, DiversePatch提出使用對(duì)比損失(Contrastive loss)來(lái)最小化同一圖像塊在首層和尾層對(duì)應(yīng)特征的相似性, 而最大化不同圖像塊在首層和尾層對(duì)應(yīng)特征的相似性. 最后, 基于CutMix[65]的思想, DiversePatch提出了混合損失(Mixing loss), 通過將來(lái)自不同圖片的圖像塊進(jìn)行混合, 使網(wǎng)絡(luò)學(xué)習(xí)每個(gè)圖像塊的類別, 以避免特征同質(zhì)化.

2.2.3 注意力內(nèi)容多樣化

DeepViT[66]觀察到Transformer中的注意力坍塌(Attention collapse)現(xiàn)象, 即隨著網(wǎng)絡(luò)加深, 深層注意力圖不同層之間的相似性逐漸增大甚至趨同, 并指出注意力相似性增加和特征圖相似性增加有密切關(guān)系, 從而導(dǎo)致了Transformer性能隨層數(shù)增加而快速飽和. 為了避免注意力坍塌現(xiàn)象, DeepViT提出了增加詞符的嵌入維度的方法和重注意力(Re-attention)機(jī)制. 增加詞符的嵌入維度有助于詞符編碼更多信息, 從而提高注意力的多樣性, 但同時(shí)會(huì)帶來(lái)參數(shù)量的顯著增加. 重注意力機(jī)制基于層內(nèi)多頭注意力的多樣性較大的現(xiàn)象, 通過對(duì)多頭注意力以可學(xué)習(xí)的方式進(jìn)行動(dòng)態(tài)組合來(lái)提高不同層注意力的差異. 重注意力機(jī)制R可表示為式(13)的形式, 其中Θ∈Rh×h.

R(Q,K,V)=Norm(ΘT(ρ(QKT)))V(13)
Refiner[59]基于類似的思想提出了注意力擴(kuò)張(Attention expansion)和注意力縮減(Attention reduction)模塊, 通過學(xué)習(xí)多頭注意力的組合方式來(lái)構(gòu)建多樣化的注意力, 并可靈活拓展注意力的個(gè)數(shù). 同時(shí), Refiner提出使用卷積來(lái)增強(qiáng)注意力圖的局部特征, 從而降低注意力圖的光滑程度.

2.2.4 注意力形式多樣化

經(jīng)典Transformer中的注意力機(jī)制依賴點(diǎn)對(duì)間的交互來(lái)計(jì)算其注意力, 其基本作用是實(shí)現(xiàn)自我對(duì)齊, 即確定自身相對(duì)于其他節(jié)點(diǎn)信息的重要程度[67]. Synthesizer[67]指出這種通過點(diǎn)對(duì)交互得到的注意力有用但卻并不充分, 通過非點(diǎn)對(duì)注意力能夠?qū)崿F(xiàn)對(duì)該交互方式的有效補(bǔ)充.
1) 非點(diǎn)對(duì)注意力(Unpaired attention): Synthesizer[67]提出了兩種新的非點(diǎn)對(duì)注意力實(shí)現(xiàn)方法, 即基于獨(dú)立詞符和全局任務(wù)信息的注意力計(jì)算方法. 基于獨(dú)立詞符的注意力, 以每一個(gè)詞符為輸入, 在不經(jīng)過與其他詞符交互的情況下, 學(xué)習(xí)其他詞符相對(duì)于當(dāng)前詞符的注意力; 基于全局任務(wù)信息的注意力生成方法則完全擺脫注意力對(duì)當(dāng)前輸入的依賴, 通過定義可訓(xùn)練參數(shù)從全局任務(wù)信息中學(xué)習(xí)注意力. 這兩種方式可視為從不同的角度來(lái)拓展注意力機(jī)制, 實(shí)驗(yàn)驗(yàn)證了它們同基于點(diǎn)對(duì)的注意力能形成互補(bǔ)關(guān)系. VOLO[68]同樣提出了基于獨(dú)立詞符的注意力生成方法, 并將注意力的范圍限制在局部窗口內(nèi), 形成了類似動(dòng)態(tài)卷積的方案.

2.2.5 Transformer與CNN的結(jié)合

局部性是CNN的一個(gè)典型特征, 它是基于臨近像素具有較大相關(guān)性的假設(shè)而形成的一種歸納偏置(Inductive bias)[69-71]. 相比之下, Transformer的學(xué)習(xí)過程基于全局信息的交互, 因此在學(xué)習(xí)方式和特征性質(zhì)等方面與CNN存在一定差異[72], 將CNN與Transformer進(jìn)行結(jié)合有助于提升Transformer網(wǎng)絡(luò)對(duì)特征的學(xué)習(xí)和表達(dá)能力[23, 58, 73-74]. 本節(jié)從機(jī)理融合、結(jié)構(gòu)融合和特征融合三個(gè)角度介紹CNN與Transformer結(jié)合的工作.

1) 機(jī)理融合: 該方式通過在Transformer網(wǎng)絡(luò)的設(shè)計(jì)中引入CNN的局部性來(lái)提高網(wǎng)絡(luò)表達(dá)能力. 以Swin Transformer[23]為代表的Transformer網(wǎng)絡(luò)通過將注意力限制在局部窗口內(nèi), 來(lái)顯式地進(jìn)行局部交互. 此外, CeiT[73]在FFN模塊中, 引入局部特征學(xué)習(xí), 以建模局部關(guān)系.

2) 結(jié)構(gòu)融合: 這種融合方法通過組合Transformer和CNN的模塊形成新的網(wǎng)絡(luò)結(jié)構(gòu). CeiT[73]和ViTc[35]將卷積模塊添加到Transformer前實(shí)現(xiàn)對(duì)底層局部信息的提?。?MobileViT[75]將Transformer視為卷積層嵌入到卷積神經(jīng)網(wǎng)絡(luò)中, 實(shí)現(xiàn)了局部信息和全局信息的交互.

3) 特征融合: 該方式在特征級(jí)別實(shí)現(xiàn)對(duì)CNN特征和Transformer特征的融合. 這類方法往往采用并行的分支結(jié)構(gòu), 并將中間特征進(jìn)行融合交互. MobileFormer[74]和ConFormer[76]采用并行的CNN和Transformer分支, 并借助橋接實(shí)現(xiàn)特征融合. DeiT[58]借助知識(shí)蒸餾的思路, 通過引入蒸餾詞符(Distillation token)來(lái)將CNN的特征引入到Transformer的學(xué)習(xí)過程中.

2.2.6 相對(duì)位置編碼

原始Transformer使用絕對(duì)位置編碼為輸入詞符提供位置信息, 只能隱式地度量相對(duì)位置信息[77]. 相對(duì)位置編碼 (Relative position encoding, RPE)則直接對(duì)序列的距離進(jìn)行表示, 能夠?qū)崿F(xiàn)對(duì)不同長(zhǎng)度的序列的表達(dá)不變性, 同時(shí)相關(guān)關(guān)系的顯式度量也有利于提升模型性能[78].

為了說明不同編碼方式在自注意力層的表現(xiàn)不同, 這里針對(duì)式(6)和式(7)對(duì)自注意力機(jī)制進(jìn)一步說明. 對(duì)包含n個(gè)元素 xi∈Rdx 的輸入序列x=(x1,?,xn), 自注意力的輸出序列為z=(z1,?,zn), 其中, 每一個(gè)輸出元素zi∈Rdz是所有輸入元素的加權(quán)和, 計(jì)算過程如下所示:
zi=n∑j=1αij(xjWV)(14)
其中, 每個(gè)權(quán)重系數(shù)αij通過Softmax計(jì)算得到:
αij=exp(eij)n∑k=1exp(eik)(15)
其中, eij通過縮放點(diǎn)積比較兩個(gè)輸入元素計(jì)算得到:
eij=(xiWQ)(xjWK)T√dz(16)
其中, WQ、WK和WV∈Rdx×dz是參數(shù)矩陣. RPE在自注意力機(jī)制中加入輸入元素間的相對(duì)位置信息, 以提升模型表達(dá)能力.
Shaw等提出的RPE[78]: 基于自注意力的相對(duì)位置編碼, 將輸入詞符建模為有向的全連接圖, 任意兩個(gè)位置i和j間的邊為可學(xué)習(xí)的相對(duì)編碼向量pVij,pKij. 將編碼向量嵌入自注意力機(jī)制, 計(jì)算過程如下所示:
zi=n∑j=1αij(xjWV+pVij)(17)eij=(xiWQ)(xjWK+pKij)T√dz(18)
其中, pKij,pVij∈Rdz分別為加在鍵和值上的可學(xué)習(xí)的權(quán)重參數(shù).
Transformer-XL的RPE[79]: 相比Shaw的方法, 該方法加入了全局內(nèi)容和全局位置偏置, 使得在特定長(zhǎng)度序列下訓(xùn)練的模型能夠泛化到更長(zhǎng)的序列輸入上. 計(jì)算過程如下所示:
eij=(xiWQ+u)(xjWK)T+(xiWQ+v)(si?jWR)T√dz(19)
其中, u,v∈Rdz替換原始絕對(duì)位置信息的可學(xué)習(xí)向量, si?jWR替換絕對(duì)位置信息的相對(duì)位置信息. WR∈Rdz×dz是可學(xué)習(xí)的矩陣, s是正弦編碼向量.
Huang等提出的RPE[80]: 相比Shaw的RPE中只建模了鍵和查詢、查詢和相對(duì)位置編碼的交互, 增加了對(duì)鍵和相對(duì)位置交互的顯式建模, 使其具有更強(qiáng)的表達(dá)能力. 計(jì)算過程如下所示:
eij=(xiWQ+pij)(xjWK+pij)T?pijpTij√dz(20)
其中, pij∈Rdz是查詢和鍵共享的相對(duì)位置編碼.
相比NLP任務(wù)中輸入為一維詞符序列的語(yǔ)言模型, 視覺任務(wù)中輸入為二維圖像, 因此需要二維的位置信息.
SASA中的RPE[81]: 將二維的相對(duì)位置信息分為水平和垂直的兩個(gè)方向, 在每一個(gè)方向進(jìn)行一維位置編碼, 并與特征嵌入相加, 相對(duì)位置信息的計(jì)算過程如下所示:
eij=(xiWQ)(xjWK+concat(pKδx,pKδy))T√dz(21)
其中, δx=xi?xj和δy=y(tǒng)i?yj分別為x軸和y軸的相對(duì)位置偏置, pKδx和pKδy分別為長(zhǎng)度為12dz的可學(xué)習(xí)向量, concat將這兩個(gè)向量拼接起來(lái)組成最終的長(zhǎng)度為dz的相對(duì)位置編碼.
Axial-Deeplab中的RPE[81]: 相比SASA中的RPE只在鍵上加入偏置, 該方法同時(shí)對(duì)查詢、鍵和值引入了偏置項(xiàng). 通過軸向注意力, 將二維的注意力先后沿高度和寬度軸分解為兩個(gè)一維的注意力.
iRPE (image RPE)[82]: 以往的相對(duì)位置編碼都依賴于輸入嵌入, 為了研究位置編碼對(duì)輸入嵌入的依賴關(guān)系, 該方法提出了兩種相對(duì)位置編碼模式, 偏置模式和上下文模式. 偏置模式的相對(duì)位置編碼不依賴輸入嵌入, 上下文模式則考慮了相對(duì)位置編碼與查詢、鍵和值間的交互. 二者都可以表示為如下形式:
eij=(xiWQ)(xjWK)T+bij√dz(22)
其中, bij∈R是決定偏置和上下文模式的二維相對(duì)位置編碼. 偏置模式下表示為如下形式:
bij=rij(23)
其中, rij是可學(xué)習(xí)的標(biāo)量, 表示位置i和j間的距離. 上下文模式下表示為如下形式:
bij=(xiWQ)rTij(24)
其中, rij∈Rdz是與鍵相加的可學(xué)習(xí)偏置向量. 在ImageNet[83]上使用DeiT-S[58]完成分類任務(wù)發(fā)現(xiàn), 上下文模式比偏置模式具有更好的表達(dá)能力.
同時(shí), 為了研究相對(duì)位置的方向性是否有助于視覺任務(wù), 設(shè)計(jì)了不同的相對(duì)位置映射函數(shù)以實(shí)現(xiàn)無(wú)方向性位置編碼和有方向性位置編碼. 無(wú)方向的映射包括歐氏距離法和量化歐氏距離法, 都是通過相對(duì)位置坐標(biāo)(xi?xj,yi?yj)的歐氏距離計(jì)算得到:
rij=pI(i,j)(25)I(i,j)=g((√(xi?xj)2+(yi?yj)2))(26)I(i,j))=g(quant(√(xi?xj)2+(yi?yj)2))(27)
其中, 偏置模式下pI(i,j)是可學(xué)習(xí)的標(biāo)量, 上下文模式下是向量. g(?)是將相對(duì)位置映射為權(quán)重的分段函數(shù). quant將具有不同相對(duì)位置的鄰居映射為不同的值.
方向性的映射位置編碼包括交叉法和乘積法, 交叉法分別計(jì)算橫縱方向的位置編碼, 并進(jìn)行相加, 其計(jì)算過程如下所示:
rij=pxIx(i,j)+pyIy(i,j)(28)Ix(i,j)=g(xi?xj)(29)Iy(i,j)=g(yi?yj)(30)
乘積法將兩個(gè)方向上的位置偏移構(gòu)成索引對(duì), 進(jìn)而產(chǎn)生位置編碼如下所示:
rij=pIx(i,j),Iy(i,j)(31)

實(shí)驗(yàn)發(fā)現(xiàn), 方向性位置編碼比非方向性位置編碼具有更好的表達(dá)能力.

2.3 Transformer的訓(xùn)練和優(yōu)化問題

Transformer的訓(xùn)練過程需要精心設(shè)計(jì)學(xué)習(xí)率以及權(quán)重衰減等多項(xiàng)參數(shù), 并且對(duì)優(yōu)化器的選擇也較為苛刻, 例如其在SGD優(yōu)化器上效果較差[35]. 文獻(xiàn)[35]和CeiT[73]在圖像編碼前使用卷積層級(jí)來(lái)解決Transformer的難優(yōu)化以及參數(shù)敏感的問題, 引入卷積后, 模型對(duì)學(xué)習(xí)率和權(quán)重衰減等參數(shù)的敏感性得到了顯著降低, 收斂速度得到加快, 同時(shí)在SGD優(yōu)化器上也可以進(jìn)行穩(wěn)定的學(xué)習(xí). 關(guān)于在早期引入卷積機(jī)制使模型性能得到改善的原因, Raghu等[72]給出了解釋和分析, 他們利用充足的數(shù)據(jù)訓(xùn)練視覺Transformer, 發(fā)現(xiàn)模型在性能提升的同時(shí), 其在淺層也逐步建立了局部表示. 這表明淺層局部表示對(duì)性能提升可能有顯著的影響, 同時(shí)也為解釋在淺層引入具備局部關(guān)系建模能力的卷積層從而提升Transformer的訓(xùn)練穩(wěn)定性和收斂速度的現(xiàn)象提供了一個(gè)思路.

2.4 結(jié)構(gòu)設(shè)計(jì)問題

本節(jié)將從整體結(jié)構(gòu)和局部結(jié)構(gòu)兩個(gè)角度對(duì)Transformer方法以及類Transformer方法進(jìn)行介紹. 其中, 整體結(jié)構(gòu)上, 我們以圖像特征尺寸變化情況為依據(jù), 將其分為單尺度的直筒型結(jié)構(gòu)和多尺度的金字塔型結(jié)構(gòu)[84]; 在局部結(jié)構(gòu)上, 我們主要圍繞Transformer中基本特征提取單元的結(jié)構(gòu), 分析卷積以及MLP方法在其中的替代和補(bǔ)充作用以及由此形成的不同局部結(jié)構(gòu)設(shè)計(jì).

2.4.1 單尺度和多尺度結(jié)構(gòu)設(shè)計(jì)

單尺度和多尺度的結(jié)構(gòu)簡(jiǎn)圖如圖4所示[84], 其中交互模塊表示空間或通道級(jí)的信息交互層, 聚合層表示對(duì)全局信息進(jìn)行聚合, 例如全局最大值池化或基于類別詞符的查詢機(jī)制等. 與單尺度結(jié)構(gòu)相比, 多尺度設(shè)計(jì)的典型特征在于下采樣模塊的引入. ViT[15]是單尺度直筒型結(jié)構(gòu)的代表, 其在網(wǎng)絡(luò)不同階段中使用同等長(zhǎng)度或尺寸的圖像詞符序列; 與之相對(duì)應(yīng)的是以PVT[22]、Swin Transformer[23]以及CrossFromer[52]等為代表的多尺度金字塔型結(jié)構(gòu). 多尺度方案可以有效降低網(wǎng)絡(luò)參數(shù)和計(jì)算量, 從而使得處理高分辨率數(shù)據(jù)成為可能. 文獻(xiàn)[84]對(duì)單尺度和多尺度方法進(jìn)行了對(duì)比, 實(shí)驗(yàn)表明多尺度方法相比于單尺度在多種框架中均具備穩(wěn)定的性能優(yōu)勢(shì).

圖 4 單尺度與多尺度結(jié)構(gòu)對(duì)比Fig. 4 The comparison of single-scale framework and multi-scale framework

2.4.2 交互模塊結(jié)構(gòu)設(shè)計(jì)

如圖1所示, 在ViT[15]的編碼器結(jié)構(gòu)中, 信息交互模塊主要由多頭注意力層和MLP層構(gòu)成, 其中多頭自注意力層主要完成空間層級(jí)的信息交互, 而MLP主要完成通道級(jí)別的信息交互[15]. 當(dāng)前大多數(shù)視覺Transformer的交互模塊設(shè)計(jì)基本都遵循了這一范式, 并以自注意力機(jī)制為核心. 同多頭注意力機(jī)制相比, 雖然卷積以及MLP在原理和運(yùn)行機(jī)制上與之存在差異, 但它們同樣具備空間層級(jí)信息交互的能力, 因此許多工作通過引入卷積或MLP來(lái)替換或增強(qiáng)多頭自注意力機(jī)制[34, 85-91], 形成了多樣的交互模塊設(shè)計(jì)方案. 其中最為典型的是以純MLP架構(gòu)為代表的無(wú)自注意力方案[85-88], 和引入卷積的增強(qiáng)自注意力的方案[34, 91]. 為了簡(jiǎn)潔起見, 在本文后續(xù)內(nèi)容中, 我們將在空間層級(jí)進(jìn)行信息交互的MLP稱為空間MLP機(jī)制(Spatial MLP), 將在通道層級(jí)進(jìn)行信息交互的MLP機(jī)制稱為通道MLP (Channel MLP). 不同交互模塊的結(jié)構(gòu)如圖5所示.

圖 5 類Transformer方法的交互模塊結(jié)構(gòu)對(duì)比(Transformer[8], MLP-Mixer[85], ResMLP[86], gMLP[87], CycleMLP[88], ConvMixer[89], PoolFormer[90], metaFormer[90], CMT[34], CVX[91])Fig. 5 The comparison of mixing blocks of Transformer-like methods (Transformer[8], MLP-Mixer[85], ResMLP[86], gMLP[87], CycleMLP[88], ConvMixer[89], PoolFormer[90], metaFormer[90], CMT[34], CVX[91])

1) 無(wú)自注意力交互模塊: MLP-Mixer[85]引入了空間MLP來(lái)替換多頭自注意力機(jī)制, 成為基于純MLP的類Transformer架構(gòu)的早期代表. 在對(duì)圖像塊序列的特征提取中, MLP-Mixer在每一層的開始首先將圖像塊序列轉(zhuǎn)置, 從而實(shí)現(xiàn)利用MLP進(jìn)行不同詞符之間的交互, 之后經(jīng)過反轉(zhuǎn)置, 再利用MLP進(jìn)行通道層級(jí)的信息交互. 相比于自注意力機(jī)制, MLP的方案實(shí)現(xiàn)了類似的詞符間信息聚合功能且同樣具備全局交互能力; 此外, 由于MLP每層的神經(jīng)元的順序固定, 因此其具備位置感知能力, 從而不再需要位置編碼環(huán)節(jié). MLP-Mixer徹底去除了自注意力機(jī)制, 僅依靠純MLP組合取得了與ViT相媲美的性能. ResMLP[86]同樣是完全基于MLP的架構(gòu), 同時(shí)其指出純MLP設(shè)計(jì)相比于基于自注意力的Transformer方法在訓(xùn)練穩(wěn)定性上具備優(yōu)勢(shì), 并提出通過使用簡(jiǎn)單的仿射變換(Affine transformation)來(lái)代替層歸一化等規(guī)范化方法. gMLP[87]提出一種基于空間MLP的門控機(jī)制以替代自注意力, 并使用了通道MLP-空間門控MLP-通道MLP的組合構(gòu)建了交互單元. 為了應(yīng)對(duì)MLP無(wú)法處理變長(zhǎng)輸入的問題, CycleMLP[88]提出一種基于循環(huán)采樣的MLP機(jī)制, 其在類似卷積核的窗口內(nèi)部, 按照空間順序采樣該位置的某一通道上的元素, 且不同空間位置的采樣元素對(duì)應(yīng)的通道也不同, 從而構(gòu)建了一種不依賴輸入尺寸的空間交互方法, 同時(shí)也具備通道交互能力.
基于卷積也可以實(shí)現(xiàn)空間信息交互, 從而同樣具備取代自注意力的可能, ConvMixer[89]使用了逐深度卷積(Depthwise convolution)和逐點(diǎn)卷積(Pointwise convolution)來(lái)進(jìn)行空間和通道信息交互, 從而打造了一個(gè)基于純卷積的類Transformer網(wǎng)絡(luò). PoolFormer[90]則使用了更為簡(jiǎn)單的Pooling操作來(lái)進(jìn)行空間信息交互, 并進(jìn)一步提出了更為一般的交互模塊方案metaFormer[90]. ConNeXt[92]將Swin Transformer[23]網(wǎng)絡(luò)的特點(diǎn)遷移到卷積神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)中, 通過調(diào)整不同卷積塊的比例、卷積核大小、激活函數(shù)以及正則化函數(shù)等, 使卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)盡可能趨近Swin Transformer, 從而在相似計(jì)算量下, 實(shí)現(xiàn)下超越Swin Transformer的性能. RepLKNet[93]指出在圖像處理中, Transformer的優(yōu)勢(shì)可能來(lái)源于較大的感受野. 基于這個(gè)觀點(diǎn), RepLKNet通過擴(kuò)大卷積核, 加入旁路連接和重參數(shù)化機(jī)制, 來(lái)改造卷積神經(jīng)網(wǎng)絡(luò)從而取得了媲美Swin Transformer的效果.

總的來(lái)說, 無(wú)論是使用MLP還是卷積或者Pooling等具備空間交互能力的算子, 在Transformer的基本框架下, 替換自注意力模塊后依然能夠達(dá)到與Transformer類似的性能. 這也表明, 或許自注意力機(jī)制并不是Transformer必需的設(shè)計(jì), Transformer的性能可能更多來(lái)自于整體的架構(gòu)[90]以及全局交互給感受野帶來(lái)的優(yōu)勢(shì)[93].

2) 引入卷積的自注意力交互模塊: 卷積所具備的局部空間交互性和通道交互性能夠有效地與自注意力機(jī)制形成互補(bǔ)[84], 通過卷積來(lái)增強(qiáng)交互模塊的設(shè)計(jì)在CMT[34]以及CVX[91]等工作中均進(jìn)行了嘗試并取得了超越基準(zhǔn)Transformer的效果. 其中CMT[34]在自注意力前引入卷積增強(qiáng)局部特性建模, 并在通道MLP中加入了卷積增強(qiáng)空間特性建模能力. CVX[91]使用了Performer[54]等線性自注意力機(jī)制, 并借助卷積本身的歸納偏置去除了位置編碼和類別詞符.

視覺Transformer的一般性框架

視覺Transformer結(jié)構(gòu)的設(shè)計(jì)是一個(gè)活躍的研究方向, 無(wú)論是ViT[15]還是后續(xù)的改進(jìn)方法, 都很好地拓展了視覺Transformer的設(shè)計(jì)思路. 但目前仍然缺乏對(duì)視覺Transformer通用設(shè)計(jì)方案的討論. 本節(jié)以底層視覺分類任務(wù)為例, 給出視覺Transformer的一般性框架VTA (Vision Transformers architecture), 如圖6所示. VTA給出的視覺Transformer一般性框架包含七層: 輸入層、序列化層、位置編碼層、交互層、采樣層、聚合層以及輸出層. 其中輸入層和輸出層分別完成對(duì)輸入的讀取和結(jié)果的產(chǎn)生, 下面將對(duì)剩余各層進(jìn)行簡(jiǎn)要介紹.

圖 6 視覺Transformer的一般性框架Fig. 6 Vision Transformers architecture

3.1 序列化層序列化層的功能在于將輸入劃分為詞符序列的形式, 并進(jìn)行序列編碼.

其中, 序列劃分方式可以分為局部序列劃分和全局序列劃分. 局部序列劃分將序列分組, 位于同一組的詞符可在后續(xù)環(huán)節(jié)進(jìn)行交互, 典型的局部序列劃分方法有Swin Transformer[23]所使用的局部窗口機(jī)制等. 全局序列劃分則是更一般的序列劃分方法, 這種方式下, 全部詞符均可以進(jìn)行直接交互. 對(duì)編碼方式而言, 主要有淺編碼和深編碼兩種方式, 相對(duì)于淺編碼方案, 深度編碼利用更多的卷積層對(duì)圖像或劃分后的序列進(jìn)行處理, 更有利于視覺Transformer的訓(xùn)練和優(yōu)化[73].

3.2 位置編碼層對(duì)不具備位置感知能力的視覺Transformer方案, 位置編碼層被用來(lái)顯式地提取位置信息. 位置編碼方案主要包括絕對(duì)位置編碼、相對(duì)位置編碼以及可學(xué)習(xí)位置編碼. 絕對(duì)位置編碼僅考慮詞符在序列中的位置信息, 相對(duì)位置編碼則考慮詞符對(duì)之間的相對(duì)位置信息, 更有利于提高模型的表達(dá)能力[78]. 此外, 位置編碼還可以可學(xué)習(xí)的方式進(jìn)行[16], 以建立更為一般的位置編碼信息.

3.3 交互層交互層旨在對(duì)詞符序列中的特征進(jìn)行交互, 主要可分為空間交互、通道交互和混合交互模式. 原始的Transformer方案[15]將空間交互和通道交互分離, 并使用基于自注意力機(jī)制實(shí)現(xiàn)空間交互功能. 其通過計(jì)算詞符對(duì)之間的相似性來(lái)進(jìn)行加權(quán)信息聚合. 基于注意力機(jī)制的空間交互是早期Transformer方法的典型特質(zhì). 但隨著更多相關(guān)工作的開展, 研究人員發(fā)現(xiàn), 自注意力機(jī)制也僅是空間交互功能的一種實(shí)現(xiàn)方式, 其可以被卷積或空間MLP所替代. 通道信息交互常用的方法是通道MLP. 混合交互機(jī)制則打破了空間和通道獨(dú)立的限制, 利用包括卷積在內(nèi)的算子, 同時(shí)建立詞符在空間和通道中的關(guān)系[73, 89-90].

3.4 采樣層

采樣層旨在對(duì)詞符序列進(jìn)行采樣或合并, 以減少序列中詞符個(gè)數(shù), 從而降低計(jì)算量. 常見的采樣方式包括均勻采樣、稀疏采樣以及動(dòng)態(tài)采樣. 其中, 均勻采樣[22]通過池化層或卷積層對(duì)相鄰詞符進(jìn)行合并; 稀疏采樣[24, 52]則在更大的范圍內(nèi)進(jìn)行詞符的選擇或合并, 有利于提高感受野范圍. 動(dòng)態(tài)采樣[51]是一種更為一般性的采樣方案, 其往往通過可學(xué)習(xí)的過程從輸入的詞符序列中自適應(yīng)地選擇一些數(shù)量的詞符, 作為后續(xù)網(wǎng)絡(luò)的輸入.

3.5 聚合層

對(duì)分類任務(wù)而言, 聚合層主要完成對(duì)詞符特征全局信息的聚合. 全局池化、全連接層是常見的全局信息聚合方式. 這兩種方式都屬于靜態(tài)聚合方案, 其聚合方式不隨輸入內(nèi)容變化而改變. ViT[15]使用了基于類別詞符的查詢機(jī)制, 通過定義可學(xué)習(xí)和更新的類別詞符變量, 并與輸入詞符序列進(jìn)行互注意力實(shí)現(xiàn)對(duì)信息的動(dòng)態(tài)聚合.

基于Transformer的目標(biāo)檢測(cè)模型

基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)模型訓(xùn)練流程主要由特征表示, 區(qū)域估計(jì)和真值匹配三部分組成:

1) 特征表示: 特征表示基于卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取輸入的語(yǔ)義特征[5, 94].

2) 區(qū)域估計(jì): 區(qū)域估計(jì)通過區(qū)域特征提取算子, 如卷積、裁剪、感興趣區(qū)域池化(RoI pooling)[95]或感興趣區(qū)域?qū)R(RoI align)[99]等, 獲得局部特征, 并對(duì)局部輸入的類別和位置等信息進(jìn)行估計(jì)和優(yōu)化.

3) 真值匹配: 基于卷積神經(jīng)網(wǎng)絡(luò)的真值匹配往往通過具備位置先驗(yàn)的匹配策略, 如重疊度(IoU)、距離等, 進(jìn)行標(biāo)注框同錨點(diǎn)框[95, 100]、關(guān)鍵點(diǎn)[101]或中心點(diǎn)[102]等參考信息之間的匹配, 建立參考信息的真值, 以此作為網(wǎng)絡(luò)學(xué)習(xí)的監(jiān)督信息.基于Transformer的目標(biāo)檢測(cè)模型拓展了以上三個(gè)過程的實(shí)現(xiàn)方式. 在特征學(xué)習(xí)方面, 基于Tranformer的特征構(gòu)建方式可以取代卷積神經(jīng)網(wǎng)絡(luò)的角色[23]; 在區(qū)域估計(jì)方面, 基于編碼器?解碼器的區(qū)域估計(jì)方式也被大量嘗試和驗(yàn)證[16]; 在真值匹配方面, DETR[16]提出了基于二分匹配(Bipartite matching)的真值分配方式, 該方法事先不依賴于位置先驗(yàn)信息, 而是將預(yù)測(cè)結(jié)果產(chǎn)生后將預(yù)測(cè)值同真實(shí)值進(jìn)行匹配. 本節(jié)將從以上三個(gè)角度對(duì)基于Transformer的工作進(jìn)行介紹. 表3總結(jié)了不同基于Transformer的目標(biāo)檢測(cè)模型在COCO[103]數(shù)據(jù)集上的性能對(duì)比.

4.1 利用Transformer進(jìn)行目標(biāo)檢測(cè)網(wǎng)絡(luò)的特征學(xué)習(xí)

作為特征提取器, Transformer網(wǎng)絡(luò)具有比CNN更大的感受野和更靈活的表達(dá)方式, 因此也有望取得更好的性能以為下游任務(wù)提供高質(zhì)量輸入. 考慮到特征學(xué)習(xí)屬于Transformer網(wǎng)絡(luò)的基礎(chǔ)功能,并已在第 2 節(jié)中進(jìn)行了詳細(xì)梳理, 因此本節(jié)將簡(jiǎn)要介紹其設(shè)計(jì), 而更多地關(guān)注此類方法在目標(biāo)檢測(cè)器中的應(yīng)用.

基于層級(jí)結(jié)構(gòu)設(shè)計(jì)的PVT[22]、基于卷積和Transformer融合的CMT[34]、基于局部?整體交互的Cross Former[52]、Conformer[76]以及基于局部窗口設(shè)計(jì)的Swin Transformer[23]均被成功應(yīng)用到了RetinaNet[104]、Mask R-CNN[99]、Cascade R-CNN[105]、ATSS[106]、RepPoints-v2[107]和Sparse RCNN[108]等典型目標(biāo)檢測(cè)網(wǎng)絡(luò)中, 相比于ResNet等卷積神經(jīng)網(wǎng)絡(luò)取得了更好的效果. 這類方法基于典型的目標(biāo)檢測(cè)流程, 將Transformer作為一種新的特征學(xué)習(xí)器, 替代原有的卷積神經(jīng)網(wǎng)絡(luò)骨架, 從而完成目標(biāo)檢測(cè)任務(wù).

4.2 利用Transformer進(jìn)行目標(biāo)信息估計(jì)

不同于CNN利用卷積實(shí)現(xiàn)對(duì)區(qū)域信息的估計(jì)和預(yù)測(cè), 基于Transformer的目標(biāo)檢測(cè)網(wǎng)絡(luò)使用了查詢機(jī)制, 通過查詢與特征圖的注意力交互實(shí)現(xiàn)對(duì)目標(biāo)位置、類別等信息的估計(jì). 本小節(jié)將以DETR[16]中的目標(biāo)查詢機(jī)制為例介紹查詢機(jī)制的作用, 并總結(jié)目前存在的問題以及解決方案. DETR的基本結(jié)構(gòu)如圖7所示.

圖 7 DETR的結(jié)構(gòu)圖[16]Fig. 7 The framework of DETR[16]

4.2.1 DETR中的目標(biāo)查詢

DETR[16]首先通過編碼器提取圖像特征, 之后利用隨機(jī)初始化的目標(biāo)查詢機(jī)制來(lái)與圖像特征進(jìn)行交互, 以互注意力的機(jī)制進(jìn)行目標(biāo)級(jí)別信息的提取, 經(jīng)過多層交互之后, 利用全連接層從每個(gè)目標(biāo)查詢中預(yù)測(cè)目標(biāo)的信息, 形成檢測(cè)結(jié)果.

目標(biāo)查詢向量包含了潛在目標(biāo)的位置信息和特征信息, 其與圖像特征進(jìn)行交互的過程實(shí)現(xiàn)了從全局信息中對(duì)潛在目標(biāo)特征的抽取, 同時(shí)完成了對(duì)預(yù)測(cè)位置的更新. 多個(gè)查詢層的堆疊構(gòu)建了一種類似Cascade RCNN[105]的迭代網(wǎng)絡(luò)[109], 以更新目標(biāo)查詢的方式實(shí)現(xiàn)對(duì)位置和特征信息的優(yōu)化. 為了清楚地介紹Transformer的設(shè)計(jì)機(jī)制, 本文將目標(biāo)查詢所表示的內(nèi)容分成兩部分, 一部分是與特征內(nèi)容有關(guān)的, 記為內(nèi)容嵌入(Content embedding), 一部分是與位置有關(guān)的, 記作位置嵌入(Positional embedding).

這種目標(biāo)查詢的方式實(shí)現(xiàn)了較為有效的目標(biāo)檢測(cè)功能, 但同時(shí)存在著收斂速度較慢[24, 110-111] (DETR需要500個(gè)輪次的訓(xùn)練才能收斂)、小目標(biāo)檢測(cè)效果不佳[24]以及查詢存在冗余[113]等問題. 其中, 針對(duì)小目標(biāo)檢測(cè)效果差的問題, 現(xiàn)有文獻(xiàn)的主要做法是利用多尺度特征[24], 通過在不同分辨率特征圖上進(jìn)行目標(biāo)查詢, 增加對(duì)小目標(biāo)物體的信息表示, 以提高小目標(biāo)的準(zhǔn)確率. 針對(duì)目標(biāo)查詢存在冗余的現(xiàn)象, ACT[113]提出使用局部性敏感哈希(Locality sensitivity hashing, LSH)算法實(shí)現(xiàn)自適應(yīng)聚類, 以壓縮目標(biāo)查詢的個(gè)數(shù), 從而實(shí)現(xiàn)更為高效的目標(biāo)查詢. 本小節(jié)將主要針對(duì)以DETR[16]為代表的網(wǎng)絡(luò)收斂速度慢的問題, 分析其原因并總結(jié)提升訓(xùn)練速度的方案.

4.2.2 收斂速度提升

圖8展示了DETR[16]以及其改進(jìn)方法與基于CNN的檢測(cè)器的收斂速度對(duì)比, 可以看到DETR需要長(zhǎng)達(dá)500個(gè)輪次的訓(xùn)練才能得到較為穩(wěn)定的效果. 其收斂較慢的主要原因在于目標(biāo)查詢機(jī)制的設(shè)計(jì)[24, 110-111], 本節(jié)從查詢初始化、參考點(diǎn)估計(jì)和目標(biāo)分布三個(gè)方面分析DETR的設(shè)計(jì)并總結(jié)了提升收斂速度的方法.

圖 8 基于Transformer和CNN的目標(biāo)檢測(cè)器的收斂速度對(duì)比(DETR-DC5[16], TSP-FCOS[115], TSP-RCNN[115], SMCA[110], Deformable DETR[24], Conditional DETR-DC5-R50[111], RetinaNet[104], Faster R-CNN[95], Sparse R-CNN[108])Fig. 8 The comparison of converge speed among object detectors based on Transformer and CNN (DETR-DC5[16], TSP-FCOS[115], TSP-RCNN[115], SMCA[110], Deformable DETR[24], Conditional DETR-DC5-R50[111], RetinaNet[104], Faster R-CNN[95], Sparse R-CNN[108])

1) 輸入依賴的目標(biāo)查詢初始化: DETR[16]對(duì)目標(biāo)查詢使用了隨機(jī)初始化的方法, 通過訓(xùn)練時(shí)的梯度更新來(lái)實(shí)現(xiàn)對(duì)目標(biāo)查詢輸入的優(yōu)化, 以學(xué)習(xí)輸入數(shù)據(jù)集中的物體的統(tǒng)計(jì)分布規(guī)律. 這種方式需要較長(zhǎng)的過程才能實(shí)現(xiàn)對(duì)物體位置分布的學(xué)習(xí), 其可視化表現(xiàn)為交叉注意圖(Cross-attention map)的稀疏程度需要較長(zhǎng)的訓(xùn)練輪次才能收斂[115] (如圖9所示). 此外, 關(guān)于目標(biāo)分布的統(tǒng)計(jì)信息屬于一種數(shù)據(jù)集層面的特征, 無(wú)法實(shí)現(xiàn)對(duì)具體輸入的針對(duì)性初始化, 也影響了模型的收斂速度.

圖 9 DETR交叉注意力稀疏性變化Fig. 9 The change of sparsity of cross-attention map in DETR

為了改善由于初始化而造成的收斂速度慢的問題, TSP[115]和Efficient DETR[109]等工作提出了輸入依賴的查詢初始化方法, 從輸入圖像特征中預(yù)測(cè)潛在目標(biāo)的位置和尺寸等信息, 作為初始的目標(biāo)查詢輸入到編碼器或解碼器網(wǎng)絡(luò), 進(jìn)而得到最終的目標(biāo)檢測(cè)結(jié)果. 其中, TSP[115]使用了CNN網(wǎng)絡(luò)作為產(chǎn)生初始目標(biāo)查詢的途徑, 借鑒FCOS[116]和RCNN[118]的思路, 分別提出了TSP-FCOS和TSP-RCNN進(jìn)行圖像中目標(biāo)信息的估計(jì), 并借助Transformer編碼器實(shí)現(xiàn)對(duì)目標(biāo)估計(jì)的優(yōu)化; Efficient DETR[109]使用基于Transformer的編碼器網(wǎng)絡(luò)學(xué)習(xí)到的詞符特征進(jìn)行密集預(yù)測(cè), 得到相應(yīng)位置可能的目標(biāo)的位置、尺寸和類別信息, 并選擇置信度較高的結(jié)果作為目標(biāo)查詢的初始狀態(tài), 然后利用解碼器進(jìn)行稀疏預(yù)測(cè), 得到最終結(jié)果.

TSP[115]和Efficient DETR[109]所提出的目標(biāo)查詢初始化方法一方面夠根據(jù)不同輸入得到不同的目標(biāo)查詢初始化結(jié)果, 是一種輸入依賴的初始化方式; 另一方面, 實(shí)現(xiàn)了目標(biāo)查詢所包含的內(nèi)容嵌入和位置嵌入的顯式對(duì)齊, 從而較好地加速了目標(biāo)檢測(cè)器的收斂.

2) 輸入依賴的位置嵌入更新: DETR位置嵌入的弱定位能力也是影響DETR模型收斂的主要原因之一. 在DETR[16]解碼器中的多層網(wǎng)絡(luò)中, 目標(biāo)查詢的內(nèi)容嵌入通過交叉注意力實(shí)現(xiàn)對(duì)自身信息的更新, 但位置嵌入并不在層之間進(jìn)行更新. 這種方式一方面導(dǎo)致了位置嵌入與內(nèi)容嵌入的不匹配, 另一方面還導(dǎo)致位置嵌入難以準(zhǔn)確表達(dá)潛在目標(biāo)的準(zhǔn)確位置信息, 使得獲取位置信息的任務(wù)轉(zhuǎn)移到內(nèi)容嵌入中[111]. Conditional DETR[111]通過對(duì)比實(shí)驗(yàn)發(fā)現(xiàn), 去掉解碼器中第2層之后的位置嵌入信息, DETR的平均準(zhǔn)確率僅下降0.9%, 從而說明了在原始的DETR的解碼器中的位置嵌入所發(fā)揮的作用很?。?/span>

Deformable DETR[24]、SMCA[110]和Conditional DETR[111]等方法從每層輸入信息中學(xué)習(xí)位置嵌入信息的更新, 能夠較好地彌補(bǔ)DETR設(shè)計(jì)中位置嵌入定位能力不足的缺陷. 其中, Deformable DETR[24]和SMCA[110]從目標(biāo)查詢中預(yù)測(cè)了每個(gè)查詢對(duì)應(yīng)的參考點(diǎn)坐標(biāo), 來(lái)提高定位能力; Conditional DETR[111]利用目標(biāo)查詢預(yù)測(cè)二維坐標(biāo)信息, 并利用內(nèi)容嵌入學(xué)習(xí)對(duì)坐標(biāo)嵌入信息的變換, 使位置嵌入和內(nèi)容嵌入在統(tǒng)一空間, 進(jìn)而使得目標(biāo)查詢和鍵值在統(tǒng)一空間, 從而提高相似性判別和定位能力.

3) 顯式目標(biāo)分布建模: DETR[16]使用了信息相似性度量來(lái)實(shí)現(xiàn)在全局范圍內(nèi)的目標(biāo)嵌入的信息聚合, 這種方式有助于更完全地獲取目標(biāo)的信息, 但同時(shí)也可能引入較多的噪聲干擾[24], 從而影響學(xué)習(xí)過程, 而且, 從全局信息中收斂到潛在目標(biāo)的局部空間也需要較長(zhǎng)的訓(xùn)練過程.

建立對(duì)潛在目標(biāo)分布空間的建模機(jī)制有助于加速目標(biāo)檢測(cè)過程, 減少訓(xùn)練時(shí)間, 同時(shí)減少噪聲的引入[24, 110]. 矩形分布假設(shè)是基于CNN的目標(biāo)檢測(cè)器的常用設(shè)計(jì)之一[95, 100], 在基于Transformer的目標(biāo)檢測(cè)器中, 雖然圖片以序列的方式進(jìn)行編碼和解碼, 但仍可以借助逆序列化獲取二維的圖片結(jié)構(gòu)的數(shù)據(jù). 并在此基礎(chǔ)上,實(shí)現(xiàn)類似CNN網(wǎng)絡(luò)中的感興趣區(qū)域池化等操作, 以此實(shí)現(xiàn)對(duì)目標(biāo)空間的建模. 現(xiàn)有對(duì)Transformer目標(biāo)分布進(jìn)行顯式建模的方法主要有兩種: 散點(diǎn)分布[24]和高斯分布[110].

散點(diǎn)分布: Deformable DETR[24]利用了散點(diǎn)采樣實(shí)現(xiàn)對(duì)目標(biāo)空間分布的建模. 針對(duì)每一個(gè)目標(biāo)查詢, Deformable DETR首先從中學(xué)習(xí)目標(biāo)的參考點(diǎn)坐標(biāo)、采樣點(diǎn)坐標(biāo)和采樣點(diǎn)權(quán)重, 然后在若干采樣點(diǎn)之間計(jì)算局部范圍內(nèi)的注意力, 并進(jìn)行信息聚合. 這種方式大大減少了計(jì)算量, 同時(shí)可以較靈活地模擬目標(biāo)的空間分布, 實(shí)現(xiàn)對(duì)于與目標(biāo)查詢有關(guān)聯(lián)的點(diǎn)的聚合, 從而加速了網(wǎng)絡(luò)的收斂過程.
高斯分布: SMCA[110]提出了一種利用高斯函數(shù)建模目標(biāo)空間分布, 實(shí)現(xiàn)局部信息聚合的方法. SMCA首先從目標(biāo)查詢中學(xué)習(xí)潛在目標(biāo)的位置和尺寸信息, 之后, 根據(jù)預(yù)測(cè)得到的位置和物體尺寸信息建立二維高斯分布函數(shù), 來(lái)對(duì)近距離特征賦予較高權(quán)重, 對(duì)遠(yuǎn)距離特征賦予較低權(quán)重.

4.3 基于Transformer的目標(biāo)檢測(cè)模型的真值匹配

DETR[16]將目標(biāo)檢測(cè)建模為集合預(yù)測(cè)的問題, 并使用了二分匹配(Bipartite Matching)來(lái)為目標(biāo)查詢賦予對(duì)應(yīng)的真值. 二分匹配利用匈牙利算法來(lái)進(jìn)行快速實(shí)現(xiàn). 定義: σ表示匹配策略, yi=(ci,bi)表示真實(shí)值, ci表示真實(shí)類別, bi表示標(biāo)注框的值, ?yσ(i)=(?pσ(i),?bσ(i))表示第σ(i)個(gè)預(yù)測(cè)值. 則yi與?yσ(i)的匹配損失為:

Lmatch(yi,?yσ(i))=?1{ci≠?}?pσ(i)(ci)+1{ci≠?}Lbox(bi,?bσ(i))(32)

最佳匹配定義為:

?σ=argminσ∈SNN∑iLmatch(yi,?yσ(i))(33)

不同于CNN中基于錨點(diǎn)框或關(guān)鍵點(diǎn)的真值匹配方式, 二分匹配是在得到預(yù)測(cè)結(jié)果后進(jìn)行, 基本上是一種不確定性策略, 且容易受到訓(xùn)練過程的干擾[115], 進(jìn)而導(dǎo)致訓(xùn)練過程(尤其是訓(xùn)練過程的早期)收斂速度較慢. 針對(duì)這個(gè)問題TSP[115]基于FCOS提出了一種新的匹配策略, 僅將落在真實(shí)標(biāo)注框內(nèi)的預(yù)測(cè)值或與標(biāo)注框有一定重合的預(yù)測(cè)值與該真實(shí)值進(jìn)行匹配, 從而加速收斂速度.

基于Transformer的圖像分割模型

圖像分割主要包括語(yǔ)義分割, 實(shí)例分割和全景分割[119], 近些年, 以FCN[120]、DeepLab[45]、Mask RCNN[99]等方法為代表的圖像分割方法已經(jīng)取得了較好的效果, 但這種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像分割方法在建立遠(yuǎn)程依賴上依舊存在不足. 相比之下, Transformer網(wǎng)絡(luò)所具備的全局信息交互能力能夠幫助特征提取器快速建立全局感受野, 從而實(shí)現(xiàn)更準(zhǔn)確的場(chǎng)景理解[121]. 表4、表5和表6分別展示了基于Transformer的語(yǔ)義分割、實(shí)例分割和全景分割方法的結(jié)果以及其與經(jīng)典CNN方法的對(duì)比. 本節(jié)將主要從特征提取、分割結(jié)果生成兩個(gè)方面介紹Transformer在圖像分割中的應(yīng)用.

5.1 基于Transformer進(jìn)行分割網(wǎng)絡(luò)的特征學(xué)習(xí)

Transformer網(wǎng)絡(luò)以一定尺寸的圖像塊作為最小特征單元, 其編碼后的特征經(jīng)過上采樣操作就可以集成到現(xiàn)有的圖像分割框架中. Transformer以其全局感受野和動(dòng)態(tài)交互能力, 使得圖像分割模型能夠?qū)D像中的上下文關(guān)系進(jìn)行充分表示和建模, 從而取得更好的效果[22-23, 34, 52-53, 72, 76].

除了將Transformer集成到現(xiàn)有分割框架以替換CNN之外, 近期的一些工作還針對(duì)Transformer設(shè)計(jì)了新的分割框架以充分利用其在有效感受野等方面的優(yōu)勢(shì)[25, 121]. 其中, SETR[121]以序列學(xué)習(xí)的視角提出了基于ViT[15]的完全由自注意力機(jī)制構(gòu)成的特征編碼網(wǎng)絡(luò), 并在此基礎(chǔ)上提出了三種解碼方案(簡(jiǎn)單上采樣解碼器、漸進(jìn)式解碼器和多尺度融合解碼器)產(chǎn)生分割結(jié)果, 打破了語(yǔ)義分割任務(wù)基于編碼器?解碼器的FCN范式, 其結(jié)構(gòu)如圖10所示. SegFormer[25]針對(duì)SETR柱狀編碼方式計(jì)算量較大以及固定位置編碼不利于拓展等問題, 提出了使用具備層次結(jié)構(gòu)的Transformer網(wǎng)絡(luò)以保留粗粒度和細(xì)粒度兩種特征, 并通過在自注意力中引入卷積機(jī)制來(lái)去除位置編碼提高了網(wǎng)絡(luò)靈活性. SegFormer同時(shí)指出, 基于Transformer的圖像分割網(wǎng)絡(luò)可以在僅使用較為簡(jiǎn)單的解碼器的情況下,實(shí)現(xiàn)不錯(cuò)的效果, 并提出了一種僅包含數(shù)個(gè)線性層的解碼器方案.

圖 10 SETR的結(jié)構(gòu)圖[121]Fig. 10 The framework of SETR[121]

5.2 利用Transformer產(chǎn)生圖像分割結(jié)果

像素分割和實(shí)例分割是圖像分割中的兩個(gè)基本任務(wù), 在基于卷積神經(jīng)網(wǎng)絡(luò)的方法中, 前者往往基于解碼器?編碼器的結(jié)構(gòu)產(chǎn)生, 后者則通常借助RCNN實(shí)現(xiàn)對(duì)目標(biāo)級(jí)別信息的輸出[119]. Transformer的出現(xiàn), 尤其是其目標(biāo)查詢機(jī)制, 為解決圖像分割提供了一種新的思路, 而且有望以一種統(tǒng)一的方式實(shí)現(xiàn)像素和實(shí)例級(jí)別的分割. Transformer的查詢機(jī)制可以用來(lái)表示多種信息, 既可以表示類別信息[124]、位置信息[26, 125]同時(shí)也可以表示其他特征信息[126], 這種具備通用性的表示形式為實(shí)現(xiàn)統(tǒng)一形式的圖像分割提供了基礎(chǔ). 本節(jié)將主要從基于目標(biāo)查詢的語(yǔ)義分割和實(shí)例分割兩方面介紹Transformer給圖像分割領(lǐng)域帶來(lái)的啟發(fā)和改變, 并結(jié)合全景分割, 總結(jié)以統(tǒng)一的方式進(jìn)行圖像分割的工作.

5.2.1 基于查詢的語(yǔ)義分割方法

按照產(chǎn)生結(jié)果的形式, 基于查詢的語(yǔ)義分割方法可以分為像素級(jí)預(yù)測(cè)[124]和掩碼級(jí)預(yù)測(cè)[125], 前者為每一個(gè)像素輸出一個(gè)類別信息, 后者則對(duì)掩碼內(nèi)的像素統(tǒng)一預(yù)測(cè)一個(gè)類別信息. 在語(yǔ)義分割任務(wù)中, 查詢以隨機(jī)初始化的方式產(chǎn)生, 之后通過與圖像特征的交互實(shí)現(xiàn)對(duì)類別信息的提取, 并最終用于產(chǎn)生分割結(jié)果.

1) 像素級(jí)語(yǔ)義分割: Segmenter[124]利用類別嵌入(Class embedding)建立目標(biāo)查詢, 通過交叉注意力與圖像序列進(jìn)行信息交互, 最終利用類別嵌入與圖像序列之間的注意力圖進(jìn)行圖像塊的逐像素分割結(jié)果預(yù)測(cè).

2) 掩碼級(jí)語(yǔ)義分割: MaskFormer[125]借鑒了DETR[16]中的集合預(yù)測(cè)思想, 提出了掩碼級(jí)的語(yǔ)義分割思路, 其使用了Transformer和CNN兩種解碼器, 其中Transformer解碼器基于隨機(jī)初始化的查詢實(shí)現(xiàn)對(duì)類別信息的預(yù)測(cè), CNN解碼器則通過常規(guī)卷積實(shí)現(xiàn)對(duì)二進(jìn)制掩碼信息的預(yù)測(cè), 最后通過融合類別預(yù)測(cè)和掩碼預(yù)測(cè)得到語(yǔ)義分割結(jié)果. 這種掩碼級(jí)的語(yǔ)義分割結(jié)果生成方式一方面簡(jiǎn)化了語(yǔ)義分割任務(wù), 另一方面能夠與實(shí)例分割實(shí)現(xiàn)較好的統(tǒng)一. 在性能上, MaskFormer也驗(yàn)證了在類別數(shù)目較多的情況下, 基于掩碼的語(yǔ)義分割相比于像素級(jí)分割方式在性能上更具優(yōu)勢(shì).

Mask2Former[26]進(jìn)一步提升了掩碼級(jí)語(yǔ)義分割的性能和訓(xùn)練速度, 其基于MaskFormer[125]提出了利用多尺度特征來(lái)增強(qiáng)對(duì)小目標(biāo)的分割能力, 同時(shí)使用了掩碼注意力來(lái)關(guān)注目標(biāo)局部信息, 從而加速Transformer網(wǎng)絡(luò)的收斂速度.

5.2.2 基于目標(biāo)查詢的實(shí)例分割和全景分割方法

在基于Transformer的語(yǔ)義分割方法中[26, 125], 查詢通常與類別信息相關(guān), 而在實(shí)例分割中, 查詢則往往與前景目標(biāo)的位置和特征相關(guān)[126-128], 這與基于Transformer的目標(biāo)檢測(cè)網(wǎng)絡(luò)中的查詢機(jī)制所表示的信息基本一致[16]. 根據(jù)目標(biāo)信息預(yù)測(cè)和掩碼生成的順序, 本小節(jié)將基于目標(biāo)查詢的實(shí)例/全景分割方法分為基于檢測(cè)的分割方法和檢測(cè)分割并行的方法.

1) 基于檢測(cè)的實(shí)例/全景分割方法: DETR[16]在目標(biāo)檢測(cè)結(jié)果的基礎(chǔ)上生成檢測(cè)框嵌入, 通過與圖像編碼特征進(jìn)行交互提取目標(biāo)特征, 之后基于查詢與圖像特征的注意力圖進(jìn)行目標(biāo)和背景掩碼的預(yù)測(cè). 不同于DETR[16]中將目標(biāo)和背景均表示為檢測(cè)框的方式, Panoptic SegFormer[128]提出區(qū)分前景目標(biāo)和背景信息更有利于產(chǎn)生準(zhǔn)確的背景預(yù)測(cè). 在解碼階段, Panoptic SegFormer首先使用位置解碼器針對(duì)前景目標(biāo)提取目標(biāo)信息, 在此基礎(chǔ)上引入背景查詢, 并利用掩碼解碼器產(chǎn)生掩碼結(jié)果.

2) 檢測(cè)分割并行的實(shí)例分割方法: 基于Sparse RCNN[108], QueryInst[126]和ISTR[127]提出了檢測(cè)分割并行的實(shí)例分割方法. 其中, QueryInst[126]基于隨機(jī)初始化的目標(biāo)位置從圖像中獲取區(qū)域信息, 同時(shí)以隨機(jī)初始化的方式生成目標(biāo)特征信息, 之后通過不斷地迭代, 優(yōu)化查詢的學(xué)習(xí)以及對(duì)目標(biāo)的信息提取. 目標(biāo)特征信息用于學(xué)習(xí)動(dòng)態(tài)卷積的參數(shù)以實(shí)現(xiàn)對(duì)區(qū)域特征的動(dòng)態(tài)處理, 在此基礎(chǔ)上并行產(chǎn)生包圍框和掩碼預(yù)測(cè). ISTR[127]同樣采用了隨機(jī)初始化的查詢來(lái)表示目標(biāo)的包圍框信息, 但采用了圖像特征作為產(chǎn)生動(dòng)態(tài)卷積參數(shù)的輸入. QueryInst[126]和ISTR[127]這種基于查詢的迭代式預(yù)測(cè)方式降低了對(duì)目標(biāo)包圍框預(yù)測(cè)的要求, 使得隨機(jī)初始化的目標(biāo)信息依然能夠在幾輪迭代之后建立對(duì)目標(biāo)的準(zhǔn)確描述.

總結(jié)與展望

本文介紹了視覺Transformer模型基本原理和結(jié)構(gòu), 以圖像分類為切入點(diǎn)總結(jié)了Transformer作為骨干網(wǎng)絡(luò)的關(guān)鍵研究問題和最新進(jìn)展, 并提出了視覺Transformer的一般性框架, 同時(shí)以目標(biāo)檢測(cè)和圖像分割為例介紹了視覺Transformer模型在上層視覺任務(wù)中的應(yīng)用情況. 視覺Transformer網(wǎng)絡(luò)作為一種新的視覺特征學(xué)習(xí)網(wǎng)絡(luò), 在連接范圍、權(quán)重動(dòng)態(tài)性以及位置表示能力等方面與CNN網(wǎng)絡(luò)有著較大的差異. 其遠(yuǎn)距離建模能力和動(dòng)態(tài)的響應(yīng)特質(zhì)使之具備了更為強(qiáng)大的特征學(xué)習(xí)能力, 但同時(shí)也帶來(lái)了嚴(yán)重的數(shù)據(jù)依賴和算力資源依賴等問題. 對(duì)視覺Transformer的效率和能力的研究仍將是未來(lái)的主要研究方向之一, 此外, Transformer模型為多模態(tài)數(shù)據(jù)特征學(xué)習(xí)和多任務(wù)處理提供了一種統(tǒng)一的解決思路, 基于Transformer的視覺模型有望實(shí)現(xiàn)更好的信息融合和任務(wù)融合.

- End -

原文標(biāo)題:視覺 Transformer 研究的關(guān)鍵問題: 現(xiàn)狀及展望

  1. 動(dòng)作頻頻 中國(guó)燃料電池汽車“小目標(biāo)”如何實(shí)現(xiàn)
    2023-11-30
  2. 銷量創(chuàng)歷史新高!7000億新能源車龍頭一季報(bào)預(yù)告出爐 目標(biāo)直指全球銷冠特斯拉?
    2022-04-19
  3. 無(wú)錫發(fā)布2022充電樁建設(shè)目標(biāo) 新增充電樁不低于20350個(gè)
    2022-04-12
  4. 兩月僅售1300余輛,樊京濤如何實(shí)現(xiàn)極狐4萬(wàn)輛年度目標(biāo)?
    2022-03-30
  5. 沃爾沃新任CEO Jim Rowan暢談未來(lái)戰(zhàn)略的五大目標(biāo)
    2022-03-28
  6. 估值44億美元的文遠(yuǎn)知行下一個(gè)目標(biāo)是什么?會(huì)否與廣汽擦出更大的火花?
    2022-03-28
  7. 紅旗銷量公布,1-2月大賣6萬(wàn)多臺(tái),年銷目標(biāo)45萬(wàn)這次能實(shí)現(xiàn)嗎?
    2022-03-01
  8. 上汽集團(tuán)瞄準(zhǔn)80萬(wàn)輛出口目標(biāo),自主品牌吹響出海沖鋒號(hào)
    2022-03-01
  9. 賈躍亭要成功了?給FF91立的7個(gè)小目標(biāo),完成了4個(gè)
    2022-02-25
  10. 一汽、廣汽、東風(fēng)、奇瑞2022年銷量目標(biāo):有大激進(jìn),也有穩(wěn)如狗
    2022-02-24
  11. 比亞迪狂推新車,王朝、海洋、軍艦三大車系,120萬(wàn)輛目標(biāo)低了?
    2022-02-17
  12. 品牌高端化進(jìn)程明顯,吉利能否順利完成今年165萬(wàn)的銷量目標(biāo)?
    2022-02-16
  13. 2022年各大車企銷量目標(biāo)盤點(diǎn):務(wù)實(shí)還是激進(jìn)?自信還是自負(fù)?
    2022-02-14
  14. 目標(biāo)190萬(wàn)輛!長(zhǎng)城汽車的“凱旋門”還是“滑鐵盧”?
    2022-02-14
  15. 多家車企公布2022年銷量目標(biāo):吉利力壓比亞迪?
    2022-02-07