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