有哪些令你印象深刻的魔改Transformer?
作者?|?湯詩雨? 編輯?|?汽車人
原文鏈接:https://www.zhihu.com/question/349958732/answer/28728688
點擊下方卡片,關注“自動駕駛之心”公眾號
ADAS巨卷干貨,即可獲取
點擊進入→自動駕駛之心【全棧算法】技術交流群
后臺回復【Transformer綜述】獲取2022最新ViT綜述論文!
這是出自復旦和騰訊PCG的一篇ICLR2023,移動端分割方向的文章,但不局限于分割,其中的高效注意力模塊在分類實驗中也體現出了優秀的性能,同時在swintransformer的結構中橫向對比其他注意力機制也獲得了最優的效果。[pdf][code]
-
出發點:
-
Transformer在服務器端的多類別語義分割數據集上均獲得了碾壓的效果,Topformer第一次在移動端上使用了Transformer的注意力機制增強了特征,但是使用的注意力還是不夠高效,因此只能在下采樣64倍的分辨率上進行特征增強。
-
現有的高效注意力機制包含基于窗口的注意力機制和軸線注意力等,但是這些注意力在高分辨率上的延時對于移動端來說還是損失了全局信息/不夠高效。
-
解決方式:
-
設計增加了位置信息的軸線壓縮增強注意力,一方面將QKV特征進行軸線壓縮后再注意力增強,另一方面將QKV特征使用卷積網絡提升局部信息,最后將二者融合,輸出增強特征。
-
改進后的注意力相對原本的軸線注意力,將計算復雜度從O((H + W)HW)降低到O(HW)。
1模型結構
模型結構主要包含了MV2的Stem、上下文和空間分支和輕量分割頭。
-
Stem:僅將特征下采樣8倍,并且其中config系數在topformer的基礎上對倒數第二個stage減少了一層,并增加了通道數量。
-
上下文分支:將特征進一步進行三個stage的下采樣,并中間使用設計的seaformer layer進行特征增強。可以發現這里的注意力通過減少了延時,可以直接作用于16倍下采樣的特征上。并且backbone部分由stem和上下文分支組成。
-
空間分支:采用大分辨率的特征,并使用特征融合模塊不斷吸收來自高分辨率的上下文信息,注意到這里的融合模塊和topformer比較相似,因此不作為重點。
-
輕量分割頭:將特征從8倍下采樣后進行像素分類。
模型結構結構代碼解析
我們從forward大致理解組網方式,詳細的代碼可以參見代碼庫:https://github.com/fudan-zvg/SeaFormer/blob/main/seaformer-seg/mmseg/models/backbones/seaformer.py
backbone部分代碼 fusion和分類代碼-
backbone部分將八倍下采樣的特征輸出,并不斷獲取通過注意力模塊增強的特征,最終輸出不同下采樣的特征。
-
fusion部分也較為簡單,將backbone的輸出不斷和8倍下采樣的特征融合,最終將特征通過分類層輸出結果。
注意力層
注意力層正如之前說到的分為兩個部分,主要為下圖的下半部分,其使用了壓縮后的特征進行全局注意力,上半部分則使用卷積層補充局部信息,最后使用相乘的形式進行融合。特別的是,這里的注意力不是直接使用的特征,而是將特征分別映射到QKV后進行的增強,作者也通過對比消融實驗說明了通道數量對整體效果的影響(對比Exp.1的upconv和conv的實驗結果)
注意力層 Exp1. 注意力層的消融實驗,單獨使用全局/局部信息均不能得到最好的效果,具體說明可以參見論文實驗部分注意力層代碼分析
注意里的代碼主要三塊,即局部信息提取,行注意力和列注意力,最后將二者融合。代碼和圖中略有不同在于在行列注意力相加之后又與V進行了相加,隨后映射后才和局部特征進行相乘融合。
注意力代碼注意力時間復雜度分析
本篇文章最重要的在于分析不同注意力機制的時間復雜度,并通過時間復雜度分析真正設計出高效的注意力機制,下圖展示了不同注意力機制的時間對比,可以看到其將注意力的復雜度降低到近似線性。如果對于時間復雜度分析感興趣的讀者可以閱讀論文獲取詳細分析,主要時間在于:1.映射到QKV的矩陣計算,2. QKV的兩兩矩陣乘。并且在實際代碼中,映射到QKV實際使用的是卷積而不是全連接映射,因此時間復雜度會明顯低于傳統tranformer的注意力復雜度。
2實驗結果
本文作者做了在分割和分類數據上的實驗,注意力模塊本身的消融實驗,以及和其他注意力機制的橫向對比等,可以說實驗十分扎實和豐富的,此處展示幾個覺得比較亮眼的實驗結果。
分割數據集相比topformer-base提升了1.9的精度,并退出了更高精度的large配置 分類數據上比最新的EfficientformerV2還有更好的性能 將注意力模塊加載到swin-transformer,橫向對比實驗說明其超越了以上所有注意力模塊3優缺點分析
讀完本文,還是受到很多啟發。本篇文章圍繞高效的注意力在更高維度的特征上進行了增強,其中基于綜合的軸線進行全局特征注意力生成非常引人深思。同時詳實和突出的實驗結果也是一大亮點,通過和其他注意力的橫向對比,說明其可以在任何一種需要使用注意力模塊的位置插入并提升精度和速度。從而展現出其在分類分割多任務上的優越性能。
總結
以上是生活随笔為你收集整理的有哪些令你印象深刻的魔改Transformer?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】绘图技巧:目标检测领域常
- 下一篇: intel realsense保存16位