博客專欄

EEPW首頁 > 博客 > 為何Transformer在計算機視覺中如此受歡迎?(1)

為何Transformer在計算機視覺中如此受歡迎?(1)

發(fā)布人:MSRAsia 時間:2021-10-21 來源:工程師 發(fā)布文章

編者按:近一年來,Transformer 在計算機視覺領(lǐng)域所帶來的革命性提升,引起了學術(shù)界的廣泛關(guān)注,有越來越多的研究人員投入其中。Transformer 的特點和優(yōu)勢是什么?為什么在計算機領(lǐng)域中 Transformer 可以頻頻出圈?讓我們通過今天的文章來一探究竟吧!

“統(tǒng)一性”是很多學科共同追求的目標,例如在物理學領(lǐng)域,科學家們追求的大統(tǒng)一,就是希望用單獨一種理論來解釋力與力之間的相互作用。人工智能領(lǐng)域自然也存在著關(guān)于“統(tǒng)一性”的目標。在深度學習的浪潮中,人工智能領(lǐng)域已經(jīng)朝著統(tǒng)一性的目標前進了一大步。比如,一個新的任務(wù)基本都會遵循同樣的流程對新數(shù)據(jù)進行預測:收集數(shù)據(jù),做標注,定義網(wǎng)絡(luò)結(jié)構(gòu),訓練網(wǎng)絡(luò)參數(shù)。

但是,在人工智能的不同子領(lǐng)域中,基本建模的方式各種各樣,并不統(tǒng)一,例如:在自然語言處理(NLP)領(lǐng)域目前的主導建模網(wǎng)絡(luò)是 Transformer;計算機視覺(CV)領(lǐng)域很長一段時間的主導網(wǎng)絡(luò)是卷積神經(jīng)網(wǎng)絡(luò)(CNN);社交網(wǎng)絡(luò)領(lǐng)域目前的主導網(wǎng)絡(luò)則是圖網(wǎng)絡(luò)等。

盡管如此,從2020年年底開始,Transformer 還是在 CV 領(lǐng)域中展現(xiàn)了革命性的性能提升。這就表明 CV 和 NLP 有望統(tǒng)一在 Transformer 結(jié)構(gòu)之下。這一趨勢對于兩個領(lǐng)域的發(fā)展來說有很多好處:1)使視覺和語言的聯(lián)合建模更容易;2)兩個領(lǐng)域的建模和學習經(jīng)驗可以深度共享,從而加快各自領(lǐng)域的進展。


Transformer 在視覺任務(wù)中的優(yōu)異性能

視覺 Transformer 的先驅(qū)工作是谷歌在 ICLR 2021 上發(fā)表的 ViT [1],該工作把圖像分成多個圖像塊(例如16x16像素大小),并把這些圖像塊比作 NLP 中的 token。然后直接將 NLP 中的標準 Transformer 編碼器應(yīng)用于這些 “token”,并據(jù)此進行圖像分類。該工作結(jié)合了海量的預訓練數(shù)據(jù)(如谷歌內(nèi)部3億圖片分類訓練庫 JFT-300M),在 ImageNet-1K 的 validation 評測集上取得了88.55%的準確率,刷新了該榜單上的紀錄。

ViT 應(yīng)用 Transformer 比較簡單直接,因為其沒有仔細考慮視覺信號本身的特點,所以它主要適應(yīng)于圖像分類任務(wù),對于區(qū)域級別和像素級別的任務(wù)并不是很友好,例如物體檢測和語義分割等。為此,學術(shù)界展開了大量的改進工作。其中,Swin Transformer 骨干網(wǎng)絡(luò) [2] 在物體檢測和語義分割任務(wù)中大幅刷新了此前的紀錄,讓學術(shù)界更加確信 Transformer 結(jié)構(gòu)將會成為視覺建模的新主流。

具體而言,在物體檢測的重要評測集 COCO 上,Swin Transformer 取得了單模型58.7的 box mAP 和51.1的 mask mAP,分別比此前最好的、沒有擴充數(shù)據(jù)的單模型方法高出了+2.7個點和+2.6個點。此后,通過改進檢測框架以及更好地利用數(shù)據(jù),基于 Swin Transformer 網(wǎng)絡(luò)的方法性能進一步取得了61.3的 box mAP 和53.0的 mask mAP,累計提升達+5.3 box mAP 和+5.5 mask mAP。在語義分割的重要評測數(shù)據(jù)集 ADE20K 上,Swin Transformer 也取得了顯著的性能提升,達到了53.5 mIoU,比此前最好的方法高出+3.2 mIoU,此后隨著分割框架和訓練方法的進一步改進,目前已達到57.0 mIoU 的性能。

1.png

圖1:歷年 COCO 物體檢測評測集上的紀錄

除了在物體檢測和語義分割任務(wù)上表現(xiàn)亮眼外,基于 Swin Transformer 骨干網(wǎng)絡(luò)的方法在眾多視覺任務(wù)中也取得了優(yōu)異的成績,如視頻動作識別 [3]、視覺自監(jiān)督學習 [4][5]、圖像復原 [6]、行人 Re-ID [7]、醫(yī)療圖像分割 [8]等。

Swin Transformer 的主要思想是將具有很強建模能力的 Transformer 結(jié)構(gòu)和重要的視覺信號先驗結(jié)合起來。這些先驗具有層次性(Hierarchy)、局部性(locality)以及平移不變性的特點(translation invariance)。Swin Transformer 的一個重要設(shè)計是移位的不重疊窗口(shifted windows),不同于傳統(tǒng)的滑動窗,不重疊窗口的設(shè)計對硬件實現(xiàn)更加友好,從而具有更快的實際運行速度。如圖2(左)所示,在滑動窗口設(shè)計中,不同的點采用了不同的鄰域窗口來計算相互關(guān)系,這種計算對硬件并不友好。而如圖2(右)所示,Swin Transformer 使用的不重疊窗口中,統(tǒng)一窗口內(nèi)的點將采用相同的鄰域來進行計算,對速度更友好。實際測試表明,非重疊窗口方法的速度比滑動窗口方法快了2倍左右。在兩個連續(xù)的層中還做了移位的操作。在 L 層中,窗口分區(qū)從圖像的左上角開始;在 L+1 層中,窗口劃分則往右下移動了半個窗口。這樣的設(shè)計保證了不重疊的窗口間可以有信息的交換。

2.png

圖2:傳統(tǒng)的滑動窗口方法(左),由于不同的查詢所用到的關(guān)鍵字集合不同,其對存儲的訪問不太友好,實際運行速度較慢。移位的不重疊窗口方法(右),由于不同的查詢共享關(guān)鍵字集合,所以實際運行速度更快,從而更實用。

在過去的大半年中,學術(shù)界視覺 Transformer 還涌現(xiàn)了大量變種,包括 DeiT [9],LocalViT [10],Twins [11],PvT [12],T2T-ViT [13], ViL [14],CvT [15],CSwin [16],F(xiàn)ocal Transformer [17],Shuffle Transformer [18] 等。

擁抱 Transformer 的五個理由

除了刷新很多視覺任務(wù)的性能紀錄以外,視覺 Transformer 還擁有諸多好處。事實上,過去4年間學術(shù)界不斷挖掘出了 Transformer 建模的各種優(yōu)點,可以總結(jié)為圖3所示的五個方面。

3.png

圖3:過去4年學術(shù)界不斷挖掘出的 Transformer 建模的五個優(yōu)點

理由1:通用的建模能力

Transformer 的通用建模能力來自于兩個方面:一方面 Transformer 可以看作是一種圖建模方法。圖是全連接的,節(jié)點之間的關(guān)系通過數(shù)據(jù)驅(qū)動的方式來學習得到。由于任意概念(無論具體或抽象)都可以用圖中的節(jié)點來表示,且概念之間的關(guān)系可以用圖上的邊來刻畫,因此 Transformer 建模具有很強的通用性。

另一方面,Transformer 通過驗證的哲學來建立圖節(jié)點之間的關(guān)系,具有較好的通用性:無論節(jié)點多么異構(gòu),它們之間的關(guān)系都可以通過投影到一個可以比較的空間里計算相似度來建立。如圖4(右)所示,節(jié)點可以是不同尺度的圖像塊,也可以是“運動員”的文本輸入,Transformer 均可以刻畫這些異構(gòu)節(jié)點之間的關(guān)系。

4.png

圖4:促成 Transformer 通用建模能力的兩大原因:圖建模(左)和驗證哲學(右)

正是因為具備這樣的通用建模能力,Transformer 中的注意力單元可以被應(yīng)用到各種各樣的視覺任務(wù)中。具體而言,計算機視覺處理的對象主要涉及兩個層次的基本元素:像素和物體。而計算機視覺所涉及到的任務(wù)主要就囊括了這些基本元素之間的關(guān)系,包括像素-像素,物體-像素和物體-物體的關(guān)系建模。此前,前兩種關(guān)系建模主要是分別由卷積和 RoIAlign 來實現(xiàn)的,最后一種關(guān)系通常沒有很好的建模方法。但是,Transformer 中的注意力單元因其通用的建模能力,可以被應(yīng)用到所有這些基本關(guān)系的建模中。

近些年,在這個領(lǐng)域中已經(jīng)出現(xiàn)了很多代表性的工作,例如:1) 非局部網(wǎng)絡(luò) [19]。王小龍等人將注意力單元用于建模像素-像素的關(guān)系,證明了 Transformer 可以幫助視頻動作分類和物體檢測等任務(wù)。元玉慧等人將其應(yīng)用于語義分割問題,也取得了顯著的性能提升[20]。2)物體關(guān)系網(wǎng)絡(luò) [21]。注意力單元用于物體檢測中的物體關(guān)系建模,這一模塊也被廣泛應(yīng)用于視頻物體分析中 [22, 23, 24]。3)物體和像素的關(guān)系建模,典型的工作包括 DETR [25],LearnRegionFeat [26],以及 RelationNet++ [27]等。

5.png

圖5:Transformer 能被應(yīng)用于各種視覺基本元素之間的關(guān)系建模,包括像素-像素(左),物體-像素(中),物體-物體(右)

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

陀螺儀相關(guān)文章:陀螺儀原理




關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉