極市導(dǎo)讀
本文提出一種卷積調(diào)制模塊,利用卷積來建立關(guān)系,這比注意力機(jī)制在處理高分辨率圖像時(shí)更高效,稱為 Conv2Former。作者在 ImageNet 分類、目標(biāo)檢測(cè)和語義分割方面的實(shí)驗(yàn)也表明,Conv2Former 比以前基于 CNN 的模型和大多數(shù)基于 Transformer 的模型表現(xiàn)得更好。>>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿
本文目錄1 Conv2Former:Transformer 風(fēng)格的卷積網(wǎng)絡(luò)視覺基線模型1 Conv2Former:Transformer 風(fēng)格的卷積網(wǎng)絡(luò)視覺基線模型(來自南開大學(xué),字節(jié)跳動(dòng))1.1 Conv2Former 論文解讀1.1.1 背景和動(dòng)機(jī)1.1.2 卷積調(diào)制模塊1.1.3 Conv2Former 整體架構(gòu)1.1.4 實(shí)驗(yàn)結(jié)果
(資料圖片僅供參考)
論文名稱:Conv2Former: A Simple Transformer-Style ConvNet for Visual Recognition
論文地址:https://arxiv.org/pdf/2211.11943.pdf
1.1.1 背景和動(dòng)機(jī)以 VGGNet、Inception 系列和 ResNet 系列為代表的 2010-2020 年代的卷積神經(jīng)網(wǎng)絡(luò) (ConvNets) 在多種視覺任務(wù)中取得了巨大的進(jìn)展,它們的共同特點(diǎn)是順序堆疊多個(gè)基本模塊 (Basic Building Block),并采用金字塔結(jié)構(gòu) (pyramid network architecture),但是卻忽略了顯式建模全局上下文信息的重要性。SENet 模塊系列模型突破了傳統(tǒng)的 CNN 設(shè)計(jì)思路,將注意力機(jī)制引入到 CNN 中以捕獲遠(yuǎn)程依賴,獲得了更好的性能。
自從 2020 年以來,視覺 Transformer (ViTs) 進(jìn)一步促進(jìn)了視覺識(shí)別模型的發(fā)展,在 ImageNet 圖像分類和下游任務(wù)上表現(xiàn)出比最先進(jìn)的 ConvNets 更好的結(jié)果。這是因?yàn)榕c只進(jìn)行局部建模的卷積操作相比,Transformer 中的自注意力機(jī)制能夠?qū)θ值某蓪?duì)依賴進(jìn)行建模,提供了一種更有效的空間信息編碼方法。然而,在處理高分辨率圖像時(shí),自注意力機(jī)制導(dǎo)致的計(jì)算成本是相當(dāng)大的。
為了解決這個(gè)問題,一些 2022 年經(jīng)典的工作試圖回答:如何借助卷積操作,打造具有 Transformer 風(fēng)格的卷積網(wǎng)絡(luò)視覺基線模型?
比如 ConvNeXt[1]:將標(biāo)準(zhǔn) ResNet 架構(gòu)現(xiàn)代化,并使用與 Transformer 相似的設(shè)計(jì)和訓(xùn)練策略,ConvNeXt 可以比一些 Transformer 表現(xiàn)得更好。
從原理和代碼詳解FAIR去年的驚艷之作:全新的純卷積模型ConvNeXt
再比如 HorNet[2]:通過建模高階的相互作用,使得純卷積模型可以做到像 Transformer 一樣的二階甚至更高的相互作用。
精度超越ConvNeXt的新CNN!HorNet:通過遞歸門控卷積實(shí)現(xiàn)高效高階的空間信息交互
再比如 RepLKNet[3],SLaK[4]:通過 31×31 或者 51×51 的超大 Kernel 的卷積,使得純卷積模型可以建模更遠(yuǎn)的距離。
又對(duì)ConvNets下手了!詳解SLaK:從稀疏性的角度將卷積核擴(kuò)展到 51×51
到目前為止,如何更有效地利用卷積來構(gòu)建強(qiáng)大的 ConvNet 體系結(jié)構(gòu)仍然是一個(gè)熱門的研究課題。
1.1.2 卷積調(diào)制模塊本文的關(guān)鍵就是本小節(jié)介紹的卷積調(diào)制模塊。如下圖1所示, 對(duì)于傳統(tǒng)的 Self-attention, 給定一個(gè)序列長(zhǎng)度為
式中,
為了簡(jiǎn)單起見,這里省略了 scale factor,自注意模塊的計(jì)算復(fù)雜度隨著序列長(zhǎng)度N的增加呈二次增長(zhǎng),帶來了更高的計(jì)算代價(jià)。
在卷積調(diào)制模塊中, 不通過2式計(jì)算相似度得分矩陣
式中,
優(yōu)勢(shì): 卷積調(diào)制模塊利用卷積來建立關(guān)系,這比注意力機(jī)制在處理高分辨率圖像時(shí)更高效。
ConvNeXt 表明,將 ConvNets 的核大小從3擴(kuò)大到7可以提高分類性能。然而,進(jìn)一步增加 Kernel 的大小幾乎不會(huì)帶來性能上的提升,反而會(huì)在沒有重新參數(shù)化的情況下增加計(jì)算負(fù)擔(dān)。但作者認(rèn)為,使 ConvNeXt 從大于 7×7的 Kernel Size 中獲益很少的原因是使用空間卷積的方式。對(duì)于 Conv2Former,當(dāng) Kernel Size 從 5×5 增加到 21×21 時(shí),可以觀察到一致的性能提升。這種現(xiàn)象不僅發(fā)生在 Conv2Former-T (82.8→83.4) 上,也發(fā)生在參數(shù)為80M+ 的 Conv2Former-B (84.1→84.5) 上??紤]到模型效率,默認(rèn)的 Kernel Size 大小可以設(shè)置為 11×11。
權(quán)重策略的優(yōu)化: 注意這里作者直接將深度卷積的輸出作為權(quán)重,對(duì)線性投影后的特征進(jìn)行調(diào)制。Hadamard 積之前既沒有使用激活層,也沒有使用歸一化層 (例如 Sigmoid 或 LN 層),如果像 SE 模塊那樣加一個(gè) Sigmoid 函數(shù),會(huì)使性能降低 0.5% 以上。
1.1.3 Conv2Former 整體架構(gòu)如下圖3所示,與ConvNeXt 和 Swin Transformer 相似,作者的 Conv2Former 也采用了金字塔架構(gòu)??偣灿?個(gè) Stage,每個(gè) Stage 的特征分辨率依次遞減。根據(jù)模型大小尺寸,一共設(shè)計(jì)了5個(gè)變體:Conv2Former-N,Conv2Former-T, Conv2Former-S, Conv2Former-B,Conv2Former-L。
當(dāng)可學(xué)習(xí)參數(shù)數(shù)量固定時(shí),如何安排網(wǎng)絡(luò)的寬度和深度對(duì)模型性能有影響。原始的 ResNet-50 將每個(gè) Stage 的塊數(shù)設(shè)置為 (3,4,6,3)。ConvNeXt-T 按照 Swin-T 的模式將 Block 數(shù)之比更改為 (3,3,9,3),并對(duì)較大的模型將 Block 數(shù)之比更改為 (1,1,9,1)。Conv2Former 的設(shè)置如下圖4所示??梢杂^察到,對(duì)于一個(gè)小模型 (參數(shù)小于30M),更深的網(wǎng)絡(luò)表現(xiàn)更好。
1.1.4 實(shí)驗(yàn)結(jié)果ImageNet-1K 實(shí)驗(yàn)分為兩種,一種是直接在 ImageNet-1K 上面訓(xùn)練和驗(yàn)證,另一種是先在 ImageNet-22K 上預(yù)訓(xùn)練,再在 ImageNet-1K 上微調(diào)和驗(yàn)證。
ImageNet-1K 實(shí)驗(yàn)設(shè)置
數(shù)據(jù)集:ImageNet-1K 訓(xùn)練 300 Epochs,ImageNet-1K 驗(yàn)證。
優(yōu)化器: AdamW, lr
ImageNet-22K 實(shí)驗(yàn)設(shè)置
數(shù)據(jù)集:ImageNet-22K 預(yù)訓(xùn)練 90 Epochs,ImageNet-1K 微調(diào) 30 Epochs,ImageNet-1K 驗(yàn)證。
如下圖5所示是 ImageNet-1K 實(shí)驗(yàn)結(jié)果。對(duì)于小型模型 (< 30M),與 ConvNeXt-T 和 Swin-T 相比,Conv2Former 分別有 1.1% 和 1.7% 的性能提升。即使 Conv2Former-N 只有 15M 參數(shù)和 2.2G FLOPs,其性能也與具有 28M 參數(shù)和 4.5G FLOPs 的 SwinT-T 相同。對(duì)于其他流行的模型,Conv2Former 也比類似模型尺寸的模型表現(xiàn)更好。Conv2Former-B 甚至比 EfficientNetB7 表現(xiàn)得更好 (84.4% vs . 84.3%),后者的計(jì)算量是 Conv2Former 的兩倍 (37G vs. 15G)。
如下圖6所示是 ImageNet-22K 的實(shí)驗(yàn)結(jié)果。作者遵循 ConvNeXt 中使用的設(shè)置來訓(xùn)練和微調(diào)模型。與 ConvNeXt 的不同變體相比,當(dāng)模型尺寸相似時(shí),Conv2Former 都表現(xiàn)得更好。此外,我們可以看到,當(dāng)在更大的分辨率384×384 上進(jìn)行微調(diào)時(shí),Conv2Former-L 獲得了比混合模型 (如 CoAtNet 和 MOAT) 更好的結(jié)果,Conv2Former-L 達(dá)到了 87.7% 的最佳結(jié)果。
如下圖8所示是關(guān)于卷積核大小的消融實(shí)驗(yàn)結(jié)果。在 大小增加到 21 × 21 之前,性能增益似乎已經(jīng)飽和。這個(gè)結(jié)果與 ConvNeXt 得出的結(jié)論截然不同,ConvNeXt 得出的結(jié)論是,使用大于 7×7 的 Kernel 不會(huì)帶來明顯的性能提升。
消融實(shí)驗(yàn)1:卷積核大小
如下圖8所示是關(guān)于卷積核大小的消融實(shí)驗(yàn)結(jié)果。在 Kernel Size 增加到 21 × 21 之前,性能增益已經(jīng)飽和。這個(gè)結(jié)果與 ConvNeXt 得出的結(jié)論截然不同,ConvNeXt 得出的結(jié)論是,使用大于 7×7 的 Kernel Size 不會(huì)帶來明顯的性能提升。這表明 Conv2Former 的做法能比傳統(tǒng)方式更有效地利用大 Kernel 的優(yōu)勢(shì)。
消融實(shí)驗(yàn)2:不同融合策略的影響
如下圖8, 9所示是關(guān)于不同融合策略影響的消融實(shí)驗(yàn)結(jié)果。除了上述兩種融合策略外, 作者還嘗試使用其他方法來融合特征映射, 包括在
直筒架構(gòu)實(shí)驗(yàn)結(jié)果
遵循 ConvNeXt 的做法,作者也訓(xùn)練了 Conv2Former 的直筒架構(gòu) (Isotropic Models) 版本,結(jié)果如下圖9所示。作者將 Conv2Former-IS 和 Conv2Former-IB 的塊數(shù)設(shè)置為18,并調(diào)整通道數(shù)以匹配模型大小。字母 "I" 表示直筒架構(gòu),可以看到,對(duì)于 22M 參數(shù)左右的小型模型,Conv2Former-IS 比 DeiT-S 的表現(xiàn)要好得多。當(dāng)將模型尺寸放大到 80M+ 時(shí),Conv2Former-IB 達(dá)到了 82.7% 的 Top-1 Accuracy,這也比 ConvNeXt-IB 高 0.7%,比 DeiT-B 高0.9%。
目標(biāo)檢測(cè)實(shí)驗(yàn)結(jié)果
如下圖10所示是不同骨干網(wǎng)絡(luò),以 Mask R-CNN 為檢測(cè)頭和 Cascade Mask R-CNN 為實(shí)例分割頭在 COCO 數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果。訓(xùn)練策略遵循 ConvNeXt。對(duì)于小模型,使用 Mask R-CNN 框架時(shí),Conv2Former-T 比 SwinT-T 和 ConvNeXt-T 獲得了約 2% AP 的改進(jìn)。
語義分割實(shí)驗(yàn)結(jié)果
如下圖11所示是不同骨干網(wǎng)絡(luò),以 UperNet 為分割頭在 ADE20k 上的實(shí)驗(yàn)結(jié)果。對(duì)于不同尺度的模型,我們的Conv2Former可以優(yōu)于Swin Transformer和ConvNeXt。
總結(jié)本文試圖回答:如何借助卷積操作,打造具有 Transformer 風(fēng)格的卷積網(wǎng)絡(luò)視覺基線模型。本文提出一種卷積調(diào)制模塊,利用卷積來建立關(guān)系,這比注意力機(jī)制在處理高分辨率圖像時(shí)更高效。最終的模型稱為 Conv2Former,它通過只使用卷積和 Hadamard 積,簡(jiǎn)化了注意力機(jī)制。卷積調(diào)制操作是一種利用大核卷積的更有效的方法。作者在 ImageNet 分類、目標(biāo)檢測(cè)和語義分割方面的實(shí)驗(yàn)也表明,Conv2Former 比以前基于 CNN 的模型和大多數(shù)基于 Transformer 的模型表現(xiàn)得更好。
參考
^A ConvNet for the 2020s^HorNet: Efficient High-Order Spatial Interactions with Recursive Gated Convolutions^Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs^More ConvNets in the 2020s: Scaling up Kernels Beyond 51 × 51 using Sparsity公眾號(hào)后臺(tái)回復(fù)“CNN100”,獲取100 篇 CNN 必讀的經(jīng)典論文資源下載
極市干貨
技術(shù)干貨:數(shù)據(jù)可視化必須注意的30個(gè)小技巧總結(jié)|如何高效實(shí)現(xiàn)矩陣乘?萬文長(zhǎng)字帶你從CUDA初學(xué)者的角度入門實(shí)操教程:Nvidia Jetson TX2使用TensorRT部署yolov5s模型|基于YOLOV5的數(shù)據(jù)集標(biāo)注&訓(xùn)練,Windows/Linux/Jetson Nano多平臺(tái)部署全流程#極市平臺(tái)簽約作者#
科技猛獸
知乎:科技猛獸
清華大學(xué)自動(dòng)化系19級(jí)碩士
研究領(lǐng)域:AI邊緣計(jì)算 (Efficient AI with Tiny Resource):專注模型壓縮,搜索,量化,加速,加法網(wǎng)絡(luò),以及它們與其他任務(wù)的結(jié)合,更好地服務(wù)于端側(cè)設(shè)備。
作品精選
搞懂 Vision Transformer 原理和代碼,看這篇技術(shù)綜述就夠了用Pytorch輕松實(shí)現(xiàn)28個(gè)視覺Transformer,開源庫 timm 了解一下?。ǜ酱a解讀)輕量高效!清華智能計(jì)算實(shí)驗(yàn)室開源基于PyTorch的視頻 (圖片) 去模糊框架SimDeblur投稿方式:添加小編微信Fengcall(微信號(hào):fengcall19),備注:姓名-投稿△長(zhǎng)按添加極市平臺(tái)小編覺得有用麻煩給個(gè)在看啦~標(biāo)簽: 實(shí)驗(yàn)結(jié)果 高分辨率