ICLR 2022 | Transformer不比CNN强!Local Attention和动态Depth-wise卷积
?作者 | Qer
單位 | 南開大學
研究方向 | 計算機視覺
Transformer 的文章近兩年來可謂是井噴式爆發,大量工作來設計各種任務上的 transformer 模型,然而,attention 作為 transformer 的核心模塊,真的比卷積強嗎?這篇文章為你帶來了 local attention 和 dynamic depth-wise convolution 的新視角,其實設計好的卷積結構,并不比 transformer 差!
論文標題:
On the Connection between Local Attention and Dynamic Depth-wise Convolution
收錄會議:
ICLR 2022 Spotlight
論文鏈接:
https://arxiv.org/abs/2106.04263
代碼鏈接:
https://github.com/qinzheng93/GeoTransformer
文章更新了在 Large-scale 數據集預訓練上 I-D-DW Conv. 的結果,在 ImageNet-22k 預訓練,在 ImageNet-1K 和 ADE20K 上 finetune 的結果表明,DW Conv.的表現在 ImageNet1K 上略低,而在 ADE20K 上略高。I-D-DW Conv. 的表現在 ImageNet1K 上與 Swin Transfoerm 持平,而在 ADE20K 上具有明顯優勢。
▲ ImageNet-22K 預訓練結果
Local Attention是什么?
2020 年的 ViT 橫空出世,席卷了模型設計領域,鋪天蓋地的各種基于 Transformer 的結構開始被提出,一些在卷積神經網絡中取得成功的先驗知識,如 local operation、多尺度、shuffled 等等各種操作和 inductive bias 被引入 Transformer 之中。其中比較成功地將 local operation 引入 ViT 當中,利用 shift window 的 Swin Transforerm一舉獲得多個任務的 SOTA 結果,并獲得了 Best Paper Award。而其中最核心的模塊,Local Attention,究竟有什么神秘之處呢?
Local attention 本質上實在一個 2D local window 內進行特征聚合,但其每個位置的聚合權重,通過 KQV 之間計算 Attention similarity 得到(主要包括 dot-production, scaling, softmax),是一個無參數的動態計算的局部特征計算模塊。
▲ aij為聚合權重,xij為待聚合的特征?
ICLR 這篇文章的先前版本 (Demystifing Local Vision Transformer)在 2021 年六月就首次正在 arxiv 公布并分析了 local attention 的三個強大設計原則:
1)稀疏連接:指一些輸出變量和一些輸入變量直接沒有相互連接。它有效的減少了模型的復雜度而不減少輸入輸出變量個數。在 Local Attention 當中,稀疏連接體現在兩個方面:一是 Local Attention 在圖像空間上,每一個 output 值僅與局部的 local window 內的 input 相連接,與 ViT 的全像素(token)連接不同。二是 Local Attention 在通道上,每一個 output channel 僅與一個 input channel 連接,沒有交叉連接,不同于 group convolution 與 normal convolution。
2)權重共享:意味著有一些連接的權重是相同且共享的,它降低了模型的參數量,同時不需要增加訓練數據即可增強模型。在模型中,一個權重被共享使用,可以被認為針對該權重的訓練樣本增加,有助于模型的優化。在 Local Attention 中,權重共享通過 multi-head self-attention 來實現,通過講 channel 分成 head(group),在同一個 head 內共享使用了一組聚合權重,降低了聚合權重的參數量(非模型參數量)。
3)動態權重:是指根據不同樣本的特征,動態地產生連接權重。它能夠增加模型的容量。如果把連接權重看作是隱層變量,這種動態權重可以看作是增加模型的容量的二階操作。Local Attention 的動態權重體現在每一個連接的聚合權重都是根據樣本特征使用基于 dot-product 的方式計算得到的。
通過以上三個模型設計原則,Local Attention 表現出優異的效果。然而,這些特性也天然存在于 CNN 結構當中,尤其是(Dynamic)Depth-wise 卷積。
(Dynamic)Depth-wise卷積和Local Attention的前世今生
逐步拆解 Local Attention 的操作,可以發現在稀疏連接、權重共享、動態權重三個維度上,都與歷史霸主 CNN 結構中的(Dynamic)Depth-wise 卷積很相似。Depth-wise 卷積可謂是一個被長期使用又被漸漸遺忘在歷史長河中的結構,那么其在模型設計上又有哪些準則呢?
1)稀疏連接:不難發現,Depth-wise 卷積的稀疏連接特性與 Local Attention 完全相同,在圖像空間上局部鏈接,在通道上稀疏連接。
2)權重共享:權重共享的概念最初就誕生于卷積操作之中,Depth-wise 卷積同樣得益于權重共享操作,但與 Local Attention 略有不同,Depth-wise 卷積在圖像空間上共享權重,每一個空間位置都是用相同權重的卷積核來進行特征聚合,而在 channel 上,每一個 channel 使用獨立的聚合權重。
3)動態權重:動態權重的設計原則在原始的 Depth-wise 卷積中并沒有被使用,然而,動態卷積作為一個被廣泛研究的領域,可以輕易的將 dynamic 特性引入 Depth-wise 卷積中,形成 feature dependent 的聚合權重。
盡管在權重共享上兩者的共享方式不同,經過實驗,本文發現以 Local MLP(去掉 dynamic 特性的 local attention)為例,在 channel 和 spatial 維度上共享權重的影響并不大,在任何一個維度共享權重,均可以降低模型的參數量,幫助模型優化。而在動態權重上,雖然兩者不同,但 Depth-wise 卷積仍然可以輕易具備動態特性。
▲ 不同結構在稀疏連接、權重共享、動態權重上的對比。D-DW-Conv. 表示動態 DW 卷積
Depth-wise卷積的表現力
Depth-wise 卷積和 Local Attention 的設計原則如此相似,然而為什么 Local Attention 取得了如此高的表現力,而 Depth-wise 卷積沒有呢?為了驗證這一問題,文章使用 Depth-wise 卷積替換 Swin Transfomer 中的所有 Local Attention 模塊,其他結構保持不變(per-LN 修改為 post-BN),同時為了驗證動態 DW 卷積的效果,文章構建了兩種 dynamic 特性的 Depth-wise 卷積:
1)D-DW-Conv. 第一種 dynamic DW 卷積,采用和普通 DW 卷積相同的權重共享方式,圖像空間共享卷積核,通道間獨立卷積核。并使用 Global Average Pooling 處理 input feature,然后通過 FC Layer 來 dynamic 預測出動態卷積核。
2)I-D-DW-Conv. 第二種 dynamic DW 卷積,采用和 Local Attention 相同的權重共享方式,每個像素(token)采用獨立的聚合權重,而在 channel head(group)中共享權重。稱為 Inhomogeneous Dynamic DW 卷積。
來看一看實驗結果如何:
▲ ImageNet1k, COCO, ADE20K對比結果
本文使用與 Swin Transformer 完全相同的訓練參數和網絡結構,在 ImageNet 分類、COCO 檢測、ADE20K 語義分割中,基于 Depth-wise 卷積的結構取得了和 Swin Transformer 相同的表現力,而 Depth-wise 卷積的計算開銷還更小。
所以,Depth-wise 卷積真的不差!有人會問,是不是在更大的模型和更大的數據集上,Local Attention 會更有優勢呢?由于計算資源的限制,文章僅在 Base 模型上進行了部分實驗:
▲ ImageNet22k pretraing
在更大的數據集 ImageNet22k 上預訓練的結果可以看出,基于 Depth-wise 卷積的結構仍然與 Local Attention 不相上下。近期的 ConvNext [1] 和 repLKNet [2] 工作更是給出了證明。
現代卷積強在哪里,如何設計更好的模型
既然 Depth-wise 卷積的表現力也這么好,那為什么長久以來,沒有引起人們的廣泛關注呢。通過與傳統的 CNN 對比,發現現代卷積在設計上,一般滿足文章指出的三個設計原則。同時 Swin Transfomer 等結構與傳統 CNN 相比,使用了更大的 Kernel Size, 如 7x7, 12x12 等,遠大于 CNN 中長久使用的 3x3 卷積。
Depth-wise 卷積、配合合理的 dynamic 特性、配合大 kernel size,在加持現代網絡訓練策略(數據增強、優化、正則化)等策略,將是現代卷積的強大之處。
要說如何設計更好的模型,首先要分析現有優秀模型的共性。在稀疏鏈接方面,下圖展示了不同結構的的稀疏特性,越稀疏的模型,越有助于訓練階段的優化,產生更好的性能,同時降低模型的計算復雜度,使網絡可以構建設計更自由的模塊。
▲ (a)卷積 (b)global attention (c)local attention、DW卷積 (d)1x1卷積 (e)fully-connected MLP
此外,文章構建了一個 Relation Graph 來闡述模型結構設計中產生的一些設計原則上的演進過程:
圖中 ViT 和 Local ViT 指其結構中的 attention 結構,PVT 為低秩形式下的金字塔結構 Transformer,Dim. Sep. 表示通道維度上稀疏化,Locality Sep. 表示空間位置連接稀疏化,LR 表示低秩,MS Conv. 表示多尺度卷積。
關系圖中,從上到下呈現了依次增強的正則化方式或者引入動態權重,隨著正則化及動態權重的增加,網絡的人為先驗也隨之增加,這種形式帶來了優化上的好處,使得網絡更容易訓練得到更好的結果,現有實驗結果也同樣驗證了此項結論。最終這種稀疏化與動態性上的演進,會走向基于 Depth-wise 卷積的動態卷積。結合現代 Large kernel 的訓練原則,能夠實現更好的表現效果。
參考文獻
[1] Liu Z, Mao H, Wu C Y, et al. A ConvNet for the 2020s. arXiv preprint arXiv:2201.03545, 2022.
[2] Ding X, Zhang X, Zhou Y, et al. Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs. CVPR, 2022.
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的ICLR 2022 | Transformer不比CNN强!Local Attention和动态Depth-wise卷积的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长荣海运怎么样 外贸行业火热带动海运发
- 下一篇: 微粒贷逾期有宽限期吗