DCN+SwinT會碰撞出怎樣的火花?清華大學提出DAT :可變形的自注意力模塊

語言: CN / TW / HK

↑ 點擊 藍字  關注極市平台

作者丨ChaucerG

來源丨集智書童

編輯丨極市平台

極市導讀

本文提出了一種新的可變形的自注意力模塊,該模塊以數據依賴的方式選擇了自注意力中的key和value對的位置。這種靈活的方案使自注意力模塊能夠聚焦於相關區域並捕獲更多信息。在此基礎上,提出了一種可變形注意力Transformer模型,該模型具有可變形注意力,適用於圖像分類和密集預測任務。   >> 加入極市CV技術交流羣,走在計算機視覺的最前沿

論文: https://arxiv.org/abs/2201.00520

代碼: https://github.com/LeapLabTHU/DAT

最近,Transformer在各種視覺任務上都表現出了卓越的表現。有時Transformer模型比CNN模型具有更高的表現能力。然而,單純擴大感受野也會引起一些問題。一方面,在ViT中使用密集的注意力會導致內存和計算成本過高,特徵會受到超出興趣區域的不相關部分的影響。另一方面,在PVT或Swin Transformer 中採用的稀疏注意裏力是數據不可知的,可能會限制建模長期關係的能力。

為了緩解這些問題,本文提出了一種新的可變形的自注意力模塊,該模塊以數據依賴的方式選擇了自注意力中的key和value對的位置。這種靈活的方案使自注意力模塊能夠聚焦於相關區域並捕獲更多信息。在此基礎上,提出了一種可變形注意力Transformer(Deformable Attention Transformer)模型,該模型具有可變形注意力,適用於圖像分類和密集預測任務。大量的實驗表明,本文的模型在綜合基準上取得了持續改進的結果。

1 簡介

Transformer最初是用來解決自然語言處理任務的。它最近在計算機視覺領域顯示出巨大的潛力。先鋒工作Vision Transformer(ViT)將多個Transformer塊堆疊在一起,以處理非重疊的圖像patch(即視覺Token)序列,從而產生了一種無卷積的圖像分類模型。與CNN模型相比,基於Transformer的模型具有更大的感受野,擅長於建模長期依賴關係,在大量訓練數據和模型參數的情況下取得了優異的性能。然而,視覺識別中的過度關注是一把雙刃劍,存在多重弊端。具體來説,每個query patch中參與的key數過多會導致較高的計算成本和較慢的收斂速度,並增加過擬合的風險。

為了避免過度的注意力計算,已有的研究利用精心設計的有效注意力模式來降低計算複雜度。其中有兩種具有代表性的方法:

  • Swin Transformer採用基於Window的局部注意力來限制Local Window中的注意力;

  • Pyramid Vision Transformer(PVT)則通過對key和value特徵映射進行採樣來節省計算量。

手工設計的注意力模式雖然有效,但不受數據影響,可能不是最佳的。相關的key/value很可能被刪除,而不太重要的key/value仍然保留。

理想情況下,給定query的候選key/value集應該是靈活的,並且能夠適應每個單獨的輸入,這樣就可以緩解手工製作的稀疏注意力模式中的問題。事實上,在cnn的文獻中,學習卷積濾波器的可變形感受野已被證明在依賴於數據的基礎上有選擇性地關注更多信息區域時是有效的。

最值得注意的工作,Deformable Convolution Networks(DCN),已經在許多具有挑戰性的視覺任務上產生了令人印象深刻的結果。這促使想在Vision  Transformer中探索一種可變形的注意力模式。然而,這種想法的簡單實現會導致不合理的高內存/計算複雜度:

由Deformable offsets引入的開銷是patch數量的平方。因此,儘管最近的一些工作研究了變形機制的思想,但由於計算成本高,沒有人將其作為構建強大的Backbone(如DCN)的基本構件。相反,它們的可變形機制要麼在檢測頭中採用,要麼作為預處理層對後續Backbone的patch進行採樣。

本文提出了一種簡單有效的可變形的自注意力模塊,並在此模塊上構造了一個強大的Pyramid Backbone,即可變形的注意力Transformer(Deformable Attention Transformer, DAT),用於圖像分類和各種密集的預測任務。

不同於DCN,在整個特徵圖上針對不同像素學習不同的offset,作者建議學習幾組query無關的offset,將key和value移到重要區域(如圖1(d)所示),這是針對不同query的全局注意力通常會導致幾乎相同的注意力模式的觀察結果。這種設計既保留了線性空間的複雜性,又為Transformer的主幹引入了可變形的注意力模式。

具體來説:

  • 對於每個注意力模塊,首先將參考點生成為統一的網格,這些網格在輸入數據中是相同的;

  • 然後,offset網絡將query特徵作為輸入,併為所有參考點生成相應的offset。這樣一來,候選的key /value被轉移到重要的區域,從而增強了原有的自注意力模塊的靈活性和效率,從而捕獲更多的信息特徵。

2 相關工作

2.1 ViT Backbone

自引入ViT以來,改進的重點是密集預測任務的多尺度特徵學習和高效的注意力機制。這些注意力機制包括Window Attention、Global Token、Focal Attention和動態Token Size。

最近,基於卷積的方法被引入到Vision Transformer模型中。其中,已有的研究集中在用卷積運算來補充變壓器模型,以引入額外的電感偏差。CvT在標記化過程中採用卷積,利用步幅卷積來降低自注意的計算複雜度。帶卷積莖的ViT建議在早期添加捲積,以實現更穩定的訓練。CSwin Transformer採用了基於卷積的位置編碼技術,並顯示了對下游任務的改進。這些基於卷積的技術中有許多可以應用於DAT之上,以進一步提高性能。

2.2 DCN和Attention

可變形卷積是一種強大的機制,可以處理基於輸入數據的靈活空間位置。最近,它已被應用於Vision Transformer。Deformable  DETR通過在CNN Backbone的頂部為每個query選擇少量的key來提高DETR的收斂性。由於缺少key限制了其表示能力,其Deformable  Attention不適合用於特徵提取的視覺Backbone。

此外,Deformable  DETR中的注意力來自簡單的線性投影,query token之間不共享key。DPT和PS-ViT構建Deformable  Block來細化視覺token。具體來説,DPT提出了一種Deformable  Patch Embedding方法來細化跨階段的Patch,PS-ViT在ViT Backbone前引入了空間採樣模塊來改善視覺Token。它們都沒有把Deformable Attention納入視覺中樞。相比之下,本文的Deformable Attention採用了一種強大而簡單的設計,來學習一組在視覺token之間共享的全局key,並可以作為各種視覺任務的一般Backbone。本文方法也可以看作是一種空間適應機制,它在各種工作中被證明是有效的。

3 Deformable Attention Transformer

3.1 Preliminaries

首先在最近的Vision Transformer中回顧了注意力機制。以Flatten特徵圖為輸入,M頭自注意力(MHSA)塊表示為:

其中,表示softmax函數,為每個 Head的尺寸。表示第個注意力頭的嵌入輸 出,分別表示query、 key和value嵌入。是投影矩陣。為了建立一個Transformer Block,通常採用一 個具有 2 個線性變換和一個GELU激活的MLP塊來提供非線性。

通過歸一化層和shortcuts,第1個Transformer Block被表示為:

其中LN表示層歸一化。

3.2 Deformable Attention

現有的分層Vision Transformer,特別是PVT和Swin Transformer試圖解決過度關注的問題。前者的降採樣技術會導致嚴重的信息丟失,而後者的注意力轉移會導致感受野的增長要慢得多,這限制了建模大物體的潛力。因此,需要依賴數據的稀疏注意力來靈活地建模相關特徵,這也孕育了在DCN中提出的可變形的機制。

然而, 簡單地在Transformer模型中實現 DCN 是一個重要的問題。在DCN中, 特徵圖上的每 個元素分別學習其offset, 其中特徵圖上的可變形卷積的空間複雜度為。如 果直接在自注意力模塊應用相同的機制, 空間複雜度將急劇上升到為query 和key的數量, 通常有相同的尺度特徵圖大小HW, 帶來近似雙二次複雜度。

雖然Deformable DETR通過在每個檢測頭設置更少的key來減少這個計算開銷,但是,在Backbone中,這樣少的key是次要的,因為這樣的信息丟失是不可接受的(見附錄中的詳細比較)。

同時,在先前的工作中的觀察顯示,不同的query在視覺注意力模型中具有相似的注意力圖。因此,選擇了一個更簡單的解決方案,為每個query共享移動的key和value以實現有效的權衡。

具體來説,本文提出了Deformable Attention,在特徵映射中重要區域的引導下,有效地建模Token之間的關係。這些集中的regions由offset網絡從query中學習到的多組Deformable sampling點確定。採用雙線性插值對特徵映射中的特徵進行採樣,然後將採樣後的特徵輸入key投影得到Deformable Key。

1、Deformable注意力模塊

如圖2(a)所示, 給定輸入特徵圖, 生成一個點的統一網格作為參 考。具體來説, 網格大小從輸入的特徵圖大小降採樣一個係數。參考點的值為線性間隔的座標, 然後根據網格形狀將其歸一化為範圍, 其中表示左上角,表示右下角。

為了獲得每個參考點的offset, 將特徵映射線性投影到query token, 然後輸入一個輕量子網絡, 生成偏移量。為了穩定訓練過程, 這裏用一些預定義的 因子來衡量的振幅, 以防止太大的 offset, 即。然後在變形點的位置進 行特徵採樣, 作為key和value, 然後是投影矩陣:

和分別表示 deformed key嵌入和value嵌入。具體來説, 將採樣函數設置為雙線性插值, 使其可微:

其中和索引了的所有位置。由於只在最接近的 4 個積分點上不為零, 因此它簡化了E到 4 個地點的加權平均值。與現有的方法類似, 對進行多頭注意力, 並採用相對位置偏移。注意力頭的輸出被表述為:

其中對應於位置嵌入, 同時有一些適應。詳細信息將在本節的後面進行解釋。每個頭部的特徵連接在一起, 通過投影得到最終輸出。

2、Offset生成

如前面所述,採用一個子網絡進行Offset的生成,它分別消耗query特徵和輸出參考點的offset值。考慮到每個參考點覆蓋一個局部的s×s區域(×是偏移的最大值),生成網絡也應該有對局部特徵的感知,以學習合理的offset。

因此,將子網絡實現為2個具有非線性激活的卷積模塊,如圖2(b)。所示輸入特徵首先通過一個5×5的深度卷積來捕獲局部特徵。然後,採用GELU激活和1×1卷積得到二維偏移量。同樣值得注意的是,1×1卷積中的偏差被降低,以緩解所有位置的強迫性偏移。

3、Offset groups

為了促進變形點的多樣性,在MHSA中遵循類似的範式,並將特徵通道劃分為G組。每個組的特徵分別使用共享的子網絡來生成相應的偏移量。在實際應用中,注意力模塊的Head數M被設置為偏移組G大小的倍數,確保多個注意力頭被分配給一組deformed keys 和 values 。

4、Deformable相對位置偏差

相對位置偏差對每對query和key之間的相對位置進行編碼, 通過空間信息增強了普通的注意 力。考慮到一個形狀為的特徵圖, 其相對座標位移分別位於二維空間的和的範圍內。在Swin Transformer中, 構造了相對位置偏置表, 通 過對錶的相對位移進行索引, 得到相對位置偏置B。由於可變形注意力具有連續的key位置, 計算在歸一化範圍內的相對位移, 然後在連續的相對偏置表中揷 值, 以覆蓋所有可能的偏移值。

5、 計算的複雜度

可變形多頭注意力(DMHA)的計算成本與PVT或Swin Transformer中對應的計算成本相似。唯一的額外開銷來自於用於生成偏移量的子網絡。整個模塊的複雜性可以概括為:

其中,為採樣點的數量。可以看出, offset網絡的計算代價具有線性復 雜度w.r.t.通道的大小, 這與注意力計算的成本相對較小。通常, 考慮用於圖像分類的Swin-T 模型的第三階段, 其中, 單個塊模塊中注意力模塊的計算成 本為79.63MFLOPs。如果揷入可變形模塊, 額外的開銷是5.08M Flops, 這僅是整個模 塊的。此外, 通過選擇一個較大的下采樣因子, 複雜性將進一步降低, 這使得它有利於具有更高分辨率輸入的任務, 如目標檢測和實例分割。

3.3 模型架構

在網絡架構方面,模型“可變形注意變換器”與PVT等具有相似的金字塔結構,廣泛適用於需要多尺度特徵圖的各種視覺任務。如圖3所示,首先對形狀為H×W×3的輸入圖像進行4×4不重疊的卷積嵌入,然後進行歸一化層,得到H4×W4×C 的patch嵌入。為了構建一個層次特徵金字塔,Backbone包括4個階段,stride逐漸增加。在2個連續的階段之間,有一個不重疊的2×2卷積與stride=2來向下採樣特徵圖,使空間尺寸減半,並使特徵尺寸翻倍。

  • 在分類任務中,首先對最後一階段輸出的特徵圖進行歸一化處理,然後採用具有合併特徵的線性分類器來預測logits。

  • 在目標檢測、實例分割和語義分割任務中,DAT扮演着Backbone的作用,以提取多尺度特徵。

這裏為每個階段的特徵添加一個歸一化層,然後將它們輸入以下模塊,如目標檢測中的FPN或語義分割中的解碼器。

在DAT的第三和第四階段引入了連續的Local Attention和Deformable Attention Block。特徵圖首先通過基於Window的Local Attention進行處理,以局部聚合信息,然後通過Deformable Attention Block對局部增強token之間的全局關係進行建模。這種帶有局部和全局感受野的注意力塊的替代設計有助於模型學習強表徵,在GLiT、TNT和Point-Former。

由於前兩個階段主要是學習局部特徵,因此在這些早期階段的Deformable Attention不太適合。

此外,前兩個階段的key和value具有較大的空間大小,大大增加了Deformable Attention的點積和雙線性插值的計算開銷。因此,為了實現模型容量和計算負擔之間的權衡,這裏只在第三和第四階段放置Deformable Attention,並在Swin Transformer中採用Shift Window Attention,以便在早期階段有更好的表示。建立了不同參數和FLOPs的3個變體,以便與其他Vision Transformer模型進行公平的比較。通過在第三階段疊加更多的塊和增加隱藏的維度來改變模型的大小。詳細的體系結構見表1。

請注意,對於DAT的前兩個階段,還有其他的設計選擇,例如,PVT中的SRA模塊。比較結果見表7。

4 實驗

4.1 ImageNet-1K 圖像分類

在表2中報告了的結果,有300個訓練週期。與其他最先進的ViT相比,DAT在類似的計算複雜性上實現了Top-1精度的顯著改進。我們的DAT方法在所有三個尺度上都優於Swin Transformer、PVT、DPT和DeiT。在沒有在Transformer Block中插入卷積,或在Patch嵌入中使用重疊卷積的情況下,比Swin Transformer對應的數據獲得了+0.7、+0.7和+0.5的提升。當在384×384分辨率下進行微調時,比Swin Transformer表現好0.3%。

4.2 COCO目標檢測

如表3所示,DAT在小型模型中的性能分別超過Swin變壓器1.1和1.2mAP。

當在兩階段檢測器中實現時,如Mask R-CNN和Cascade Mask R-CNN,模型比不同尺寸的Swin Transformer模型實現了一致的改進,如表4所示。可以看到,由於建模隨機依賴關係的靈活性,DAT在大型目標上實現了對其(高達+2.1)的改進。小目標檢測和實例分割的差距也很明顯(高達+2.1),這表明DATs也具有在局部區域建模關係的能力。

4.3 ADE20K語義分割

在表5中,所有方法中mIoU得分最高的驗證集上的結果。與PVT相比,小模型在參數更少的情況下也超過PVT-S 0.5 mIoU,並且在+3.1和+2.5中實現了顯著的提升。DAT在3個模型尺度上都比Swin Transformer有顯著的改進,在mIoU中的分別提升了+1.0、+0.7和+1.2,顯示了方法的有效性。

4.4 消融實驗

1、幾何信息開發

首先評估了提出的可變形偏移量和可變形相對位置嵌入的有效性,如表6所示。無論是在特徵採樣中採用偏移量,還是使用可變形的相對位置嵌入,都提供了+0.3的提升。作者還嘗試了其他類型的位置嵌入,包括固定的可學習位置偏差中的深度卷積。但在沒有位置嵌入的情況下,只提升了0.1,這表明變形相對位置偏差更符合Deformable attention。從表6中的第6行和第7行也可以看出,模型可以在前兩個階段適應不同的注意力模塊,並取得有競爭的結果。SRA在前兩個階段的模型在65%的FLOPs上比PVT-M高出0.5倍。

2、不同Stage使用Deformable attention

用不同階段的Deformable attention取代了Swin Transformer shift window attention。如表7所示,只有替換最後一個階段的注意力才能提高0.1,替換最後兩個階段的性能才能提高0.7(總體精度達到82.0)。然而,在早期階段用更多Deformable attention代替,會略微降低精度。

4.5 可視化結果

如圖所示,採樣點被描述在目標檢測框和實例分割Mask的頂部,從中可以看到這些點被移到了目標上。

在左邊一列中,變形的點被收縮成兩個目標長頸鹿,而其他的點則是保持一個幾乎均勻的網格和較小的偏移量。在中間的一列中,變形點密集地分佈在人的身體和衝浪板中。

右邊的一列顯示了變形點對六個甜甜圈的每個焦點,這表明本文的模型有能力更好地建模幾何形狀,即使有多個目標。

上述可視化表明,DAT可以學習到有意義的偏移量,以採樣更好的注意力key,以提高各種視覺任務的表現。

參考

[1].Vision Transformer with Deformable Attention.

如果覺得有用,就請分享到朋 友圈吧!

△點擊卡片關注極市平台,獲取 最新CV乾貨

公眾號後台回覆“ transformer ”獲取最新Transformer綜述論文下載~

極市乾貨

課程/比賽: 珠港澳人工智能算法大賽 保姆級零基礎人工智能教程

算法trick 目標檢測比賽中的tricks集錦 從39個kaggle競賽中總結出來的圖像分割的Tips和Tricks

技術綜述: 一文弄懂各種loss function 工業圖像異常檢測最新研究總結(2019-2020)

# CV技術社羣邀請函  #

△長按添加極市小助手

添加極市小助手微信 (ID : cvmart4)

備註: 姓名-學校/公司-研究方向-城市(如:小極-北大-目標檢測-深圳)

即可申請加入極市 目標檢測/圖像分割/工業檢測/人臉/醫學影像/3D/SLAM/自動駕駛/超分辨率/姿態估計/ReID/GAN/圖像增強/OCR/視頻理解 等技術交流羣

每月大咖直播分享、真實項目需求對接、求職內推、算法競賽、乾貨資訊彙總、與  10000+ 來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發者互動交流~

覺得有用麻煩給個在看啦~