论文阅读|LVT
Lite Vision Transformer with Enhanced Self-Attention
全新輕量級ViT!LVT:具有增強自注意力的Lite視覺Transformer_Amusi(CVer)的博客-CSDN博客
目錄
Abstract
Introduction
Related Work
Vision Transformer
CNN+Transformer
Recursive Convolutional Neural Networks 遞歸卷積神經網絡
Lite Vision Transformer
Convolutional Self-Attention (CSA)
Analyzing Convolution
Analyzing Self-Attention
Convolutional Self-Attention (CSA)
Recursive Atrous Self-Attention (RASA)
Atrous Self-Attention (ASA)?
Resursive Atrous Self-Attention (RASA)
?Model Architecture
Experiments
ImageNet Classification?
Mobile ADE20K Semantic Segmentation
Mobile COCO Panoptic Segmentation
Ablation Studies
RASA遞歸次數
Contributions of CSA and RASA
Conclusion?
Abstract
盡管視覺transformer模型具有令人印象深刻的表示能力,但當前的輕量級視覺transformer模型仍然存在局部區域的不一致和不正確的密集預測。我們懷疑他們的自我注意機制的力量在更淺和更薄的網絡中是有限的。我們提出了 Lite Vision Transformer(LVT),一種新穎的輕量級變壓器網絡,具有兩種增強的自注意機制,以提高移動部署的模型性能。對于低級特征,我們引入了卷積自注意力(CSA)。與之前合并卷積和自注意力的方法不同,CSA 將局部自注意力引入到大小為 3×3 的內核內的卷積中,以豐富 LVT 第一階段的低級特征。對于高級特征,我們提出遞歸 Atrous Self-Attention (RASA),利用多尺度上下文計算相似性映射,并采用遞歸機制以增加額外的邊際參數代價的表示能力。 LVT在ImageNet識別、ADE20K語義分割、COCO全景分割上的優越性得到驗證。
Introduction
基于 Transformer 的架構取得了顯著的成功,它們在各種視覺任務中表現出了卓越的性能。Dosovitskiy 受到自然語言處理 (NLP) 中自注意力模塊成功的啟發,首次提出了一種基于 Transformer 的計算機視覺網絡,其關鍵思想是將圖像分割成小塊,從而通過位置嵌入實現線性嵌入。為了降低引入的計算復雜度,Swin-Transformer 通過使用局部非重疊窗口限制自注意的計算代價來升級體系結構。此外,引入分層特征表示來利用來自不同尺度的特征以獲得更好的表示能力。另一方面,PVT 提出了spatial-reduction attention (SRA) 來降低計算成本。它還通過在基本Transformer Block的自注意力層之后的前饋網絡(FFN)中插入深度卷積來消除位置嵌入。Swin-Transformer 和 PVT 都證明了它們對于下游視覺任務的有效性。然而,當將模型縮小到移動友好的大小時,也會出現顯著的性能下降。
本工作專注于設計一個輕量而有效的 Vision Transformer 能夠在移動端應用。更具體地說,本文引入了一個 Lite Vision Transformer (LVT) backbone,它具有兩個新穎的自注意力層,以追求性能和緊湊性。LVT 遵循標準的四階段結構,但具有與現有移動網絡類似的參數大小,如MobileNetV2 和 PVTv2-B0。
本文對自注意力的第一個改進是卷積自注意力 (Convolutional self-attention, CSA)。自注意力層是 vision transformer 的基本組件,因為自注意力捕獲了短距離和長距離的視覺依賴。然而,識別局部性是視覺任務成功的另一個重要關鍵。例如,卷積層是處理底層特征的較好層。已有技術提出將卷積和自注意力與全局感受野結合起來。相反,本文將局部自注意力引入到大小為 3x3 的核內的卷積中。CSA 應用于 LVT 的第一階段。由于 CSA 的存在,LVT 比現有的 transformer 模型更豐富了底層特征,具有更好的泛化能力。如圖 1 所示,與 PVTv2-B0 相比,LVT 能夠在局部區域生成更多的連貫的標簽。
另一方面,lite模型的性能仍然受到參數數量和模型深度的限制。本文進一步提出通過遞歸Atrous自注意力(RASA)層來提高lite Transformer的表示能力。如圖1所示,LVT結果的語義正確性較好,這是因為這種有效的表示方式。具體來說,RASA包含了兩個具有權重共享機制的組件。第一個是Atrous自注意力(ASA)。在計算query和key之間的相似度時,它利用了具有單個卷積核的多尺度上下文。第二個是遞歸管道。按照標準的遞歸網絡,將RASA形式化為一個遞歸模塊,其中ASA作為激活函數。它在不引入額外參數的情況下增加了網絡深度。
在ImageNet分類、ADE20K語義分割和COCO全景分割上進行實驗,以評估LVT作為廣義視覺模型Backbone的性能,主要工作總結如下:
- 我們提出卷積自我注意(CSA)。與以往將全局自我注意與卷積相結合的方法不同,CSA將局部自我注意集成到大小為3×3的卷積核中。該算法通過包含動態核和可學習濾波器來處理底層特征。
- 提出遞歸 Atrous 自注意力 (RASA)。它由兩部分組成。第一部分是 Atrous自注意力 (ASA),它捕捉了自注意力相似性映射計算中的多尺度語境。另一部分是用 ASA 作為激活函數的遞歸公式。提出了 RASA 算法,在增加微乎其微額外參數的前提下提高算法的表示能力。
- 提出 Lite Vision Transformer (LVT) 作為視覺模型的輕量級 Transformer backbone。LVT 包含四個階段,前三個階段分別采用 CSA 和 RASA。LVT 在 ImageNet 識別、ADE20K 語義分割和 COCO 全景分割等方面的性能都得到了驗證
Related Work
Vision Transformer
ViT是第一個證明了Transformer結構可以以優異的性能轉移到圖像識別任務中的Vision Transformer。圖像被分割成一系列的patches,這些patches被線性嵌入為ViT的token輸入。
在ViT之后,提出了一系列的改進方法。在訓練方面,DeiT介紹了Transformer知識蒸餾策略。
對于Tokenization,T2T-ViT提出了T2T模塊,遞歸地將相鄰token聚合成一個token,以豐富局部結構建模。
TNT進一步將token分解成更小的token,從它們中提取特征,以便與普通token特征集成。對于位置嵌入,CVPT提出了可推廣到任意分辨率圖像的動態位置編碼。
在多尺度加工方面,Twins研究了局部自注意力和全局自注意力的結合。該方法在位置嵌入中引入了卷積,從不同階段考察了不同尺度下特征間的交叉注意力。
Cross-ViT提出了處理不同尺度token的雙路Transformer,并采用了基于交叉注意力的token融合模塊。
在層次設計方面,Swin-Transformer和PVT都采用了四階段設計,并逐漸下采樣,這有利于下游的視覺任務。
CNN+Transformer
有四種方法:
-
第一種是將自注意力中的位置嵌入與卷積相結合,包括CVPT和CoaT;
-
第二種是在自注意力前應用卷積,包括CvT、CoAtNet和BoTNet;
-
第三個是在自注意力后插入卷積,包括LocalViT和PVTv2;
-
第四種是并行的自注意力和卷積,包括AA和LESA。
與上述所有將局部卷積與全局自注意力合并的方法不同,本文提出了卷積自注意力(Convolutional self-attention, CSA),它將自注意力和卷積結合在一起,并在模型的第一階段將3×3 kernel作為一個強大的層。
Recursive Convolutional Neural Networks 遞歸卷積神經網絡
遞歸方法已被用于卷積神經網絡(CNNs)的各種視覺任務。它包括圖像識別、超分辨率、目標檢測、語義分割。與這些方法不同的是,本文在輕量級Vision Transformer中研究了一種遞歸方法作為通用Backbone。具體而言,提出了一種具有多尺度query信息的遞歸自注意力層,有效地提高了移動端模型的性能。
Lite Vision Transformer
本文提出了Lite Vision Transformer (LVT),如圖 2 所示。作為多視覺任務的 backbone,本文遵循標準的四階段設計。每個階段執行一次下采樣操作,并由一系列構建塊組成。輸出分辨率從 stride-4 逐步到 stride-32。與以往的 vision transformers 不同,LVT 是在參數有限的情況下提出的,它具有兩個新的自注意力層。第一個是卷積自注意力層,第一階段采用了 3x3 滑動核。第二個是遞歸的 Atrous 自注意力層,它有一個全局內核,在最后三個階段被采用。
*圖2:Lite Vision Transformer(LVT)。頂行表示LVT的整體結構。左下角和右下角顯示了提出的卷積自我注意(CSA)和遞歸Atrous自我注意(RASA)。H,W表示圖像的高度和寬度。C是feature map通道數。給出了各模塊的輸出分辨率。展開和折疊操作的步長都是2。BMM代表批處理矩陣乘法,它對應于等式1中的,batch維度為局部窗口中空間位置的個數。ASA代表被提議的Astrous自我關注。?
Convolutional Self-Attention (CSA)
全局感受野有利于自注意力層的特征提取。然而,在視覺模型的早期階段,由于局域性在處理低層次特征時更為重要,因此首選卷積。與以往將卷積和大核 (全局) 自注意力相結合的方法不同,本文專注于設計一個基于窗口的自注意力層,該層具有 3 × 3 核,并包含卷積的表示。
Analyzing Convolution
Analyzing Self-Attention
Convolutional Self-Attention (CSA)
我們將自我注意和卷積推廣為統一的卷積自我注意,如圖3所示。其公式如下:
?*圖3:3×3局部窗口中的卷積自我注意(CSA)圖解:卷積和CSA的輸出分別為1×1和3×3。從數學上講,卷積包括兩個過程:批處理矩陣乘法(BMM)和求和。BMM對應于等式1中的Wi→j xj。批次維度為空間位置數。CSA具有BMM運算,但具有相同的求和過程SA:它使用等式2中的權重α執行9種不同的依賴于輸入的求和,彩色條帶和斑塊顯示了這一過程。通過這種設計,CSA同時包含了可學習過濾器和動態核。
對于局部窗口,SA和CSA都有大小為k×k的輸出。當αi→j=1,其中所有的權重相同時,CSA是輸出中心的卷積。當,其中所有的投影矩陣相同時,CSA是自我注意。當我們使用由輸入預測的動態α時,如等式3所示,Outlook attention[63]是CSA的特例。CSA具有比Outlook attention更大的能力。我們在Tab1中總結了它的性質,通過這種推廣,CSA同時具有與輸入相關的核和可學習的過濾器。CSA 是為增強 vision transformers 第一階段的表現能力而設計的。
Recursive Atrous Self-Attention (RASA)
輕量化模型更高效,更適合于設備上的應用程序。然而,即使采用先進的模型體系結構,其性能也受到參數數量較少的限制。對于輕量級模型,本文將重點放在通過略微增加參數數量來增強它們的表示能力。
Atrous Self-Attention (ASA)?
多尺度特征有利于檢測或分割目標。Atrous 卷積提出,用與標準卷積相同數量的參數來捕獲多尺度上下文。權值共享的 atrous 卷積也證明了提高模型性能。
與卷積不同,自注意力的特征響應是來自所有空間位置的投影輸入向量的加權和。這些權重由query和key之間的相似度確定,并表示任何一對特征向量之間的關系強度。因此,在生成如圖4所示的權重時,添加了多尺度信息。具體來說,將query的計算從1×1的卷積升級為以下操作:
首先使用 1 × 1 卷積來應用線性投影。
然后,應用三種具有不同膨脹率但共享內核的卷積來捕獲多尺度上下文。通過將組數設置為特征通道數,進一步降低了參數開銷。
最后,將不同尺度的并行特征加權求和。
同時本文采用了一種自校準機制,通過激活強度來確定每個尺度的weight。這可以由 SiLU 實現。通過這種設計,自我注意中任意一對空間位置之間的query和key的相似度計算利用了多尺度信息。
?*圖4:ASA圖解:Q,K,V代表self-attention中的query、key和value。在線性投影后,ASA通過三次深度卷積來計算多尺度查詢。這些卷積具有相同的核權重,但具有不同的擴張率:1、3、5。它們的輸出與Sigmoid函數計算的權重相加,以用于自校準。這可以通過SiLU來實現。多尺度信息被用來計算相似度圖,該相似度圖對值的和進行加權。
Resursive Atrous Self-Attention (RASA)
對于輕量級模型,在不增加參數使用的情況下增加它們的深度。遞歸方法在卷積神經網絡的許多視覺任務中被提出。與這些方法不同,本文提出了一種自注意力的遞歸方法。設計遵循標準循環網絡的流水線,與Atrous自注意力(ASA)相結合,提出遞歸Atrous自注意力(RASA),其公式可以寫成:
?
使用ASA作為非線性激活函數,初始隱藏狀態,是輸入狀態和隱藏狀態相結合的線性函數,和是投影權值,然而,經驗發現,設置?提供了最好的性能,并避免引入額外的參數。本文將遞歸深度設置為 2,以限制計算成本。
?Model Architecture
?LVT 的架構如表 2 所示。本文采用標準的四階段設計。采用四個重疊的 Patch embedding 層。第一個將圖像采樣到 stride-4 分辨率。另外三個樣本將特征映射為 stride-8、stride-16 和 stride-32 的分辨率。所有級均由 transformer 塊組成。每個塊包含自注意力層,后面跟著一個 MLP 層。CSA 嵌入在第 1 階段,RASA 嵌入在其他階段。它們是增強的自注意力層,用于處理 LVT 中的局部和全局特征。
Experiments
ImageNet Classification?
數據集:ILSVRC2012
?結果如表 3 所示。我們將編碼器大小限制為小于 3.5M,遵循 MobileNet [45] 和 PVTv2-B0 [54]。 編碼器是我們的設計重點,因為它是檢測和分割等其他復雜任務使用的主干。 為了將 LVT 與其他標準模型進行比較,我們將 LVT 縮放到 ResNet50 [19] 的大小,這是視覺模型的規范骨干。 展示了 LVT 用于圖像識別的高性能。
Mobile ADE20K Semantic Segmentation
數據集:ADE20K?
結果總結在表 4 中。FLOPs 是用輸入分辨率 512×512 計算的。 FPS 是在單個 NVIDIA V100 GPU 上的 2000 張圖像上計算的。在推理過程中,圖像的大小會調整為短邊為 512。我們只使用單尺度測試。 模型緊湊。 加上解碼器,參數小于4M。 我們可以觀察到,LVT 在所有以前的移動方法中表現出最好的語義分割性能。
Mobile COCO Panoptic Segmentation
數據集:COCO
結果如表 5 所示。FLOPs 是在輸入分辨率 1200 × 800 上計算的。 在推理過程中,調整所有圖像的大小,使得大邊不大于 1333,短邊小于 800。FPS 是在單個 NVIDIA V100 GPU 的 2000 個高分辨率圖像上計算的。 包括解碼器在內的整個模型采用的參數少于 5.5M。 與之前用于移動全景分割的最先進編碼器相比,我們可以觀察到 LVT 的優越性。
Ablation Studies
RASA遞歸次數
在這一部分中,我們研究了遞歸次數與模型性能之間的關系。實驗是在ImageNet分類上進行的。我們將遞歸時間從1設置為4。結果匯總在表7種。
?*表7:遞歸次數與IMAGENet分類性能的關系。R表示遞歸次數。兩次迭代后,性能顯著提高。考慮到效率,我們在主要實驗中使用了LVT R2。
Contributions of CSA and RASA
在本節中,我們研究了卷積自我注意 (CSA) 和遞歸 Atrous Self-Attention 的性能貢獻。 為此,我們通過最近提出的 VOLO 構建了我們的模型,該模型在第一階段采用了小內核自注意力。 由于 VOLO 被證明是圖像識別和語義分割的強大主干,我們在 ImageNet 和 ADE20K 上進行了實驗。 為了在移動設置中進行比較,我們將 VOLO 縮放為參數大小為 4.0M。 具體來說,我們將每個階段的層數設置為2,并將特征維度調整為96,192,192,192。 所有其他設置保持不變。
在下表中。對于ImageNet分類,訓練和測試的輸入分辨率都是224 × 224。對于ADE20K語義分割,按照SegFormer框架,在MLP解碼器中插入VOLO和LVT。在測試期間,圖像的短邊被調整為512。它被觀察到CSA和RASA對性能增益有顯著的貢獻。
*表6:使用VOLO作為基礎網絡添加CSA和RASA,因為VOLO在第一階段使用3×3kernel的self-attention。 通過這種比較,可以清楚地說明從局部自注意力到卷積自注意力(CSA)的性能增益。 事實證明,CSA 和 RASA 都對性能改進做出了重大貢獻。
Conclusion
?在這項工作中,我們提出了一種功能強大的輕型變壓器主干-Lite Vision Transformer(LVT)。它由兩個新的自我注意層組成:卷積自我注意(CSA)和遞歸Atrous自我注意(RASA)。它們用于LVT的前三個階段和最后三個階段,以處理低層和高層特征。在視覺識別、語義分割和全景分割等任務中,與以往的移動方法相比,該方法具有更好的性能。
limitations: LVT 是一種輕量級模型。 與具有大量參數的模型相比,其自然限制是較弱的表示能力。 這項工作的重點是移動模型。 我們未來的工作包括將 LVT 擴展到強大的大型骨干網。
總結
- 上一篇: 学前教育的数字化是必然趋势,KidsLo
- 下一篇: CM5800内置 100V/5A MOS