【深度學習】Transformer 向輕量型邁進!微軟與中科院提出兩路并行的 Mobile-Former
導讀
本文創(chuàng)造性的將MobileNet與Transformer進行了兩路并行設計,穿插著全局與特征的雙向融合,同時利用卷積與Transformer兩者的優(yōu)勢達到“取長補短”的目的。

已有的Transformer對標的CNN主要是ResNet系列,鮮少有對標端側輕量模型的Transformer。本文則從輕量模型角度出發(fā),在MobileNet與Transformer組合方面進行了探索,它創(chuàng)造性的將MobileNet與Transformer進行了兩路并行設計,穿插著全局與特征的雙向融合,同時利用卷積與Transformer兩者的優(yōu)勢達到“取長補短”的目的。此外,受益于超輕量設計,所提Mobile-Former不僅計算高效,同時具有更強的表達能力。在ImageNet分類與COCO目標檢測方面,所提Mobile-Former取得了顯著優(yōu)于MobileNetV3的性能。
Abstract
本文提出了一種新穎的Mobile-Former,它采用了MobileNet與Transformer兩路并行設計機制,該架構充分利用了MobileNet的局部處理優(yōu)勢與Transformer的全局交互能力。Transformer與MobileNet的雙向橋接促進了全局特征與局部特征的雙向融合。
不同于現(xiàn)有的Vision Transformer,Mobile-Former中的Transformer包含非常少的(比如少于6個)、隨機初始化tokens,進而產(chǎn)生了非常低的計算復雜度。結合所提輕量注意力,Mobile-Former不僅計算高效,同時具有更強的表達能力。在ImageNet分類任務上,從25M到500M Flops復雜度下,所提方案均取得了優(yōu)于MobileNetV3的性能。比如,它憑借294MFlops計算量取得了比MobileNetV3高1.3%的top1精度且計算量節(jié)省17%;當遷移到目標檢測時,Mobile-Former取得了比MobileNetV3高8.6AP的指標。
Method

上圖給出了本文所提Mobile-Former整體架構示意圖,MobileNet與Transformer之間通過雙向注意力進行橋接。其中,Mobile以輸入圖像作為輸入,并采用IBB(Inverted Bottleneck Block)提取局部特征;Former則以可學習參數(shù)(即tokens)作為輸入,值得注意的是,這里的tokens采用了隨機初始化方式而非已有ViT中的PatchEmbedding。這種處理機制可以有效的降低token的數(shù)量。
Mobile與Former之間通過雙向橋連接以進行局部、全局特征融合。我們采用表示橋的兩個方向,我們提出了一種輕量注意力機制模擬該雙向橋。
Low Cost Two-Way Bridge

我們利用Cross Attention(交叉注意力)進行局部特征與全局token的信息融合。在標準交叉注意力的基礎上引入以下兩個改進以降低計算量:
在Mobile的低通道部分計算交叉注意力; 當位置數(shù)量比較,移除Mobile端的投影,而保持Former端不變;
假設局部特征為,全局token為,那么局部到全局輕量交叉注意力定義如下:
注:在這里,全局特征z為query,局部特征x為key與value。該過程可參見上圖的。
類似地,全局到局部地交叉注意力(參見上圖)定義如下:
Mobile-Former Block
由前面的Figure1可以看到,所提模型可以解耦為多個Mobile-Former模塊的堆疊,每個模塊包含一個Mobile子模塊、一個Former子模塊以及雙向橋接。更具體詳見上述Figure3.
Input and Output Mobile-Former模塊包含兩個輸入:(1) 局部特征;(2) 全局tokens 。該模塊將輸出更新后的局部特征與全局tokens 并作為下一個模塊的輸入。
Mobile sub-block 該子模塊以特征作為輸入,它在原始的IBB基礎上進行了輕微改動:將ReLU替換為DReLU(Dynamic ReLU)。該子模塊的輸出表示,它將用作的輸入。
Former sub-block 它是一個標準多頭Transformer模塊,為節(jié)省節(jié)省量將FFN中的擴展比例從4調整為2。需要注意:Former子模塊在兩路交叉注意力之間進行處理,計算復雜度為 ,第一項為query與key之間的點乘;而第二項則覆蓋線性投影與FFN。由于tokens數(shù)量非常少,故第一項可以忽略不記。
所提輕量交叉注意力用于將局部特征融合到全局token。相比標準注意力,為節(jié)省計算量,移除了投影矩陣,其計算復雜度為。
在這里,交叉注意力用于將全局token融合到局部特征。由于局部特征為query,全局特征為key、value。因此,這里保留了投影矩陣而移除了投影矩陣。其計算復雜度為。
Computational Complexity Mobile-Former模塊的四部分具有不同的計算復雜度,其中Mobile子模塊共享了最多的計算復雜度,而Former子模塊與兩路橋接貢獻了不到20%的計算復雜度。
Network Specification

上表給出了所提Mobile-Former的網(wǎng)絡架構示意圖,它由11個不同輸入分辨率的Mobile-Former模塊構成,所有Mobile-Former均具有6個維度為192的全局token。stem由卷積+輕量bottleneck構成,分類頭則采用以局部特征全局均值池化與全局token的首個元素拼接作為輸入并通過兩個全連接層預測。
Downsample Mobile-Former Block 注意到stage2-5均具有一個下采樣版本的Mobile-Former模塊。在Mobile-Former模塊中的Mobile子模塊從三個層(pointwise->depthwise->pointwise)調整為四層(depthwise->pointwise->depthwise->pointwise),其中第一個depthwise用于降低特征分辨率。
Mobile-Former 變種 按照計算復雜度,Mobile-Former具有7個不同計算量的模型,詳細信息見下表(注:26M計算量的模型與52M的模型結構類似,區(qū)別在于將所有卷積替換為g=4的組卷積)。

Experiments
接下來,我們從ImageNet分類與COCO目標檢測兩個方面對所提方案進行性能驗證。
ImageNet Classification

上表對比了MobileNetV3、EfficientNet、ShuffleNetV2、WeightNet與所提方案的性能對比,從中可以看到:在相近計算量下,所提方案具有更少的計算量、更高的性能。這說明:該并行設計機制可以有效的提升特征表達能力。

上表對比了所提方案與DeiT、T2T-ViT、PVT、ConViT、CoaT以及Swin的性能,從中可以看到:所提方案取得了更佳的性能,同時具有更少的計算量(少3-4倍)。

上表比較不同輕量型模型的計算量-性能對比圖,可以看到:Mobile-Former取得了顯著優(yōu)于其他CNN與ViT的性能-精度均衡。
Object Detection

上表對比了COCO目標檢測任務上的性能對比,從中可以看到:
在相近計算復雜度下,所提方案以8.3+AP指標優(yōu)于MobileNetV3與ShuffleNet; 相比ResNet與ViT,所提方案取得了更高的AP指標、同時具有更低的FLOPs。具體來說,Mobile-Former-508M取得了比ResNet50更高的性能,同時計算量低7倍。
Ablation and Discussion
接下來,我們對所提Mobile-Former進行更深入的分析與討論,這里以Mobile-Former-294M作為基線。
Mobile-Former is Effective

從上表可以看到:
相比Mobile,F(xiàn)ormer與Bridge僅占用10.6%計算復雜度,但帶來了2.6%的性能提升; 采用DY-ReLU可以帶來額外的1%性能提升。

上表對比了Mobile的卷積核尺寸的性能影響,可以看到:提升卷積核尺寸帶來的性能提升可以忽略。
Mobile-Former is Efficient
Mobile-Former不僅能夠有效的編碼局部特征與全局信息,同時計算高效,關鍵在于:Former僅需非常少的全局tokens。

Number of tokens in Former 上表對比了不同數(shù)量token時模型性能可以看到:甚至僅需一個全局token仍可取得非常好的性能(77.7%),當采用了3個與6個token時,模型性能提升分別為0.5%、0.7%。這表明:緊致的全局token對于Mobile-Former的高效性非常重要。

Token dimension 上表對比不同token維度的模型性能對比,從中可以看到:當維度從64提升到192過程中,性能從76.8%提升到了77.8%,此后性能收斂。當token數(shù)量為6,維度為192時,F(xiàn)ormer與Bridge的總計計算量僅占總體計算量的12%。

FFN in Former 從上表可以看到:移除FFN會帶來0.3%的性能下降。這說明:FFN在Mobile-Former中的重要性很有限。這是因為:FFN并非Mobile-Former中僅有的通道融合模塊。
Multi-head Attention via MLP 從上表可以看到:MLP替換MHA會導致0.5%的性能下降。相比MHA,MLP的計算更高效,但它是一種靜態(tài)操作,不會根據(jù)輸入自適應調整。
Limitations
Mobile-Former的主要局限在于模型大小,原因有如下兩個:
并行設計對于參數(shù)共享不夠高效,合適因為Mobile、Former以及Bridge均有各自的參數(shù)。盡管Former由于token數(shù)量少而計算高效,但并不會節(jié)省參數(shù)量; Mobile-Former的分類頭有過多參數(shù)量,比例高達40%。當從圖像分類任務切換到目標檢測任務后(分類頭會被移除),該問題可以得到緩解。
本文亮點總結
如果覺得有用,就請分享到朋友圈吧!
公眾號后臺回復“CVPR21檢測”獲取CVPR2021目標檢測論文下載~

# 極市平臺簽約作者#
happy
知乎:AIWalker
AIWalker運營、CV領域八年深耕碼農(nóng)
研究領域:專注low-level領域,同時對CNN、Transformer、MLP等前沿網(wǎng)絡架構保持學習心態(tài),對detection的落地應用甚感興趣。
公眾號:AIWalker
作品精選


