【深度学习】Transformer 向轻量型迈进!微软与中科院提出两路并行的 Mobile-Former...
? 作者丨happy
編輯丨極市平臺
導讀
?本文創造性的將MobileNet與Transformer進行了兩路并行設計,穿插著全局與特征的雙向融合,同時利用卷積與Transformer兩者的優勢達到“取長補短”的目的。?
論文鏈接:https://arxiv.org/abs/2108.05895
已有的Transformer對標的CNN主要是ResNet系列,鮮少有對標端側輕量模型的Transformer。本文則從輕量模型角度出發,在MobileNet與Transformer組合方面進行了探索,它創造性的將MobileNet與Transformer進行了兩路并行設計,穿插著全局與特征的雙向融合,同時利用卷積與Transformer兩者的優勢達到“取長補短”的目的。此外,受益于超輕量設計,所提Mobile-Former不僅計算高效,同時具有更強的表達能力。在ImageNet分類與COCO目標檢測方面,所提Mobile-Former取得了顯著優于MobileNetV3的性能。
Abstract
本文提出了一種新穎的Mobile-Former,它采用了MobileNet與Transformer兩路并行設計機制,該架構充分利用了MobileNet的局部處理優勢與Transformer的全局交互能力。Transformer與MobileNet的雙向橋接促進了全局特征與局部特征的雙向融合。
不同于現有的Vision Transformer,Mobile-Former中的Transformer包含非常少的(比如少于6個)、隨機初始化tokens,進而產生了非常低的計算復雜度。結合所提輕量注意力,Mobile-Former不僅計算高效,同時具有更強的表達能力。在ImageNet分類任務上,從25M到500M Flops復雜度下,所提方案均取得了優于MobileNetV3的性能。比如,它憑借294MFlops計算量取得了比MobileNetV3高1.3%的top1精度且計算量節省17%;當遷移到目標檢測時,Mobile-Former取得了比MobileNetV3高8.6AP的指標。
Method
上圖給出了本文所提Mobile-Former整體架構示意圖,MobileNet與Transformer之間通過雙向注意力進行橋接。其中,Mobile以輸入圖像作為輸入,并采用IBB(Inverted Bottleneck Block)提取局部特征;Former則以可學習參數(即tokens)作為輸入,值得注意的是,這里的tokens采用了隨機初始化方式而非已有ViT中的PatchEmbedding。這種處理機制可以有效的降低token的數量。
Mobile與Former之間通過雙向橋連接以進行局部、全局特征融合。我們采用表示橋的兩個方向,我們提出了一種輕量注意力機制模擬該雙向橋。
Low Cost Two-Way Bridge
我們利用Cross Attention(交叉注意力)進行局部特征與全局token的信息融合。在標準交叉注意力的基礎上引入以下兩個改進以降低計算量:
在Mobile的低通道部分計算交叉注意力;
當位置數量比較,移除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模塊,為節省節省量將FFN中的擴展比例從4調整為2。需要注意:Former子模塊在兩路交叉注意力之間進行處理,計算復雜度為 ,第一項為query與key之間的點乘;而第二項則覆蓋線性投影與FFN。由于tokens數量非常少,故第一項可以忽略不記。
所提輕量交叉注意力用于將局部特征融合到全局token。相比標準注意力,為節省計算量,移除了投影矩陣,其計算復雜度為。
在這里,交叉注意力用于將全局token融合到局部特征。由于局部特征為query,全局特征為key、value。因此,這里保留了投影矩陣而移除了投影矩陣。其計算復雜度為。
Computational Complexity Mobile-Former模塊的四部分具有不同的計算復雜度,其中Mobile子模塊共享了最多的計算復雜度,而Former子模塊與兩路橋接貢獻了不到20%的計算復雜度。
Network Specification
上表給出了所提Mobile-Former的網絡架構示意圖,它由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的模型結構類似,區別在于將所有卷積替換為g=4的組卷積)。
Experiments
接下來,我們從ImageNet分類與COCO目標檢測兩個方面對所提方案進行性能驗證。
ImageNet Classification
上表對比了MobileNetV3、EfficientNet、ShuffleNetV2、WeightNet與所提方案的性能對比,從中可以看到:在相近計算量下,所提方案具有更少的計算量、更高的性能。這說明:該并行設計機制可以有效的提升特征表達能力。
上表對比了所提方案與DeiT、T2T-ViT、PVT、ConViT、CoaT以及Swin的性能,從中可以看到:所提方案取得了更佳的性能,同時具有更少的計算量(少3-4倍)。
上表比較不同輕量型模型的計算量-性能對比圖,可以看到:Mobile-Former取得了顯著優于其他CNN與ViT的性能-精度均衡。
Object Detection
上表對比了COCO目標檢測任務上的性能對比,從中可以看到:
在相近計算復雜度下,所提方案以8.3+AP指標優于MobileNetV3與ShuffleNet;
相比ResNet與ViT,所提方案取得了更高的AP指標、同時具有更低的FLOPs。具體來說,Mobile-Former-508M取得了比ResNet50更高的性能,同時計算量低7倍。
Ablation and Discussion
接下來,我們對所提Mobile-Former進行更深入的分析與討論,這里以Mobile-Former-294M作為基線。
Mobile-Former is Effective
從上表可以看到:
相比Mobile,Former與Bridge僅占用10.6%計算復雜度,但帶來了2.6%的性能提升;
采用DY-ReLU可以帶來額外的1%性能提升。
上表對比了Mobile的卷積核尺寸的性能影響,可以看到:提升卷積核尺寸帶來的性能提升可以忽略。
Mobile-Former is Efficient
Mobile-Former不僅能夠有效的編碼局部特征與全局信息,同時計算高效,關鍵在于:Former僅需非常少的全局tokens。
Number of tokens in Former 上表對比了不同數量token時模型性能可以看到:甚至僅需一個全局token仍可取得非常好的性能(77.7%),當采用了3個與6個token時,模型性能提升分別為0.5%、0.7%。這表明:緊致的全局token對于Mobile-Former的高效性非常重要。
Token dimension 上表對比不同token維度的模型性能對比,從中可以看到:當維度從64提升到192過程中,性能從76.8%提升到了77.8%,此后性能收斂。當token數量為6,維度為192時,Former與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的計算更高效,但它是一種靜態操作,不會根據輸入自適應調整。
Limitations
Mobile-Former的主要局限在于模型大小,原因有如下兩個:
并行設計對于參數共享不夠高效,合適因為Mobile、Former以及Bridge均有各自的參數。盡管Former由于token數量少而計算高效,但并不會節省參數量;
Mobile-Former的分類頭有過多參數量,比例高達40%。當從圖像分類任務切換到目標檢測任務后(分類頭會被移除),該問題可以得到緩解。
本文亮點總結
1.Mobile-Former由11個不同輸入分辨率的Mobile-Former模塊構成,所有Mobile-Former均具有6個維度為192的全局token。stem由卷積+輕量bottleneck構成,分類頭則采用以局部特征全局均值池化與全局token的首個元素拼接作為輸入并通過兩個全連接層預測。
2.Mobile-Former中的Transformer包含非常少的(比如少于6個)、隨機初始化tokens,進而產生了非常低的計算復雜度。結合所提輕量注意力,Mobile-Former不僅計算高效,同時具有更強的表達能力。
如果覺得有用,就請分享到朋友圈吧!
△點擊卡片關注極市平臺,獲取最新CV干貨
公眾號后臺回復“CVPR21檢測”獲取CVPR2021目標檢測論文下載~
極市干貨
深度學習環境搭建:如何配置一臺深度學習工作站?
實操教程:OpenVINO2021.4+YOLOX目標檢測模型測試部署|為什么你的顯卡利用率總是0%?
算法技巧(trick):圖像分類算法優化技巧|21個深度學習調參的實用技巧
#?極市平臺簽約作者#
happy
知乎:AIWalker
AIWalker運營、CV領域八年深耕碼農
研究領域:專注low-level領域,同時對CNN、Transformer、MLP等前沿網絡架構保持學習心態,對detection的落地應用甚感興趣。
公眾號:AIWalker
作品精選
ResNet被全面超越了,是Transformer干的:依圖科技開源“可大可小”T2T-ViT,輕量版優于MobileNet
何愷明團隊最新力作SimSiam:消除表征學習“崩潰解”,探尋對比表達學習成功之根源
基于深度學習的數據增廣技術一覽
投稿方式:
添加小編微信Fengcall(微信號:fengcall19),備注:姓名-投稿
△長按添加極市平臺小編
覺得有用麻煩給個在看啦~??
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【深度学习】Transformer 向轻量型迈进!微软与中科院提出两路并行的 Mobile-Former...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java方法的重载与覆盖的返回值类型
- 下一篇: 【Python】Python入门-列表初