Attention Mechanisms in Computer Vision: A Survey论文阅读
筆者自行翻譯,沒有借助翻譯軟件,不一定準確?
Guo, MH., Xu, TX., Liu, JJ.?et al.?Attention mechanisms in computer vision: A survey.?Comp. Visual Media?8, 331–368 (2022). https://doi.org/10.1007/s41095-022-0271-y
PDF link:Attention mechanisms in computer vision: A survey | SpringerLink
Abstract:
? ? ?人類可以自然有效地找到復雜場景中的突出區域。受到這個發現的啟發,帶著模仿人類視覺系統的目的,注意力機制被引入計算機視覺CV界。注意力機制可以看作基于輸入圖像特征的動態權重調整過程。注意力機制在很多視覺任務上都取得了成功,比如包括圖像分類、目標檢測、語義分割、視頻理解、圖像生成、3D視覺、多模態任務和自我監督學習。在本文,我們提供了在CV中不同注意力機制的綜述,并按照通道注意力、空間注意力、時間注意力、分支注意力進行分類。相關工作錦集見🔗github link。我們也提議了注意力機制研究在未來的發展方向。
Key words:?
1? Introduction:
? ? ? ?把注意力應用于圖像的最重要區域、不關注不相關部分的行為稱作注意力機制;在有效分析和理解復雜場景中,人類視覺系統使用【1、2、3、4】來幫助理解。這些反過來鼓舞研究者把注意力機制引入CV來提升網絡的表現。在視覺系統,注意力機制可以被看作依據輸入重要性的自適應權重特征的動態挑選過程。注意力機制已經在很多視覺任務取得了好處,比如圖像分類、目標檢測、語義分割、人臉識別、人再識別、動作識別、少樣本學習、醫學圖像處理、圖像生成、姿勢估計、超分辨率、3D視覺、多模態任務。
? ? ? ? 近十年,注意力機制在CV領域發揮著越來越重要的作用。Fig1深度學習CV領域對基于注意力機制網絡歷史的簡單總結。過程大致可以分為四個階段。第一個階段從RAM開始,它是連接深度神經網絡和注意力機制的先鋒工作。它通過策略梯度對重要區域進行周期性預測,并對整個網絡進行端到端的更新。隨后,不同的工作采用了類似的政策。在這個階段,RNNs是注意力機制的必要工具。在第二個階段的開始,Jaderberd提出了STN,它引入了一個子網絡來預測用于選擇輸入中的重要區域的仿射變換。第二個階段的主要特點是顯性預測判別輸入特征;DCNs是代表工作。第三個階段從SENet開始,它提出了一個新穎的通道注意力網絡,可以自適應地預測潛在的關鍵特征。CBMA和ECANet是這個階段的代表工作。最后一個階段是自注意力領域。自注意力最初在Ref.被提出,并且很快在NLP領域取得很好的發展。Wang率先把自注意力引入CV,提出了一個新穎的non-local network并在視頻理解和目標檢測取得了巨大成功。接下來的一系列工作,EMANet、CCNet、HamNet和Stand-Alone Network提升了結果和迭代容量的速度和質量。最近,不同的純視覺transformer出現,展示了注意力模型的巨大潛力。很明顯,基于注意力的模型有可能取代卷積神經網絡并成為CV領域更強大的、普遍的結構。
Fig1 計算機視覺中注意力的關鍵發展簡要總結,大致有四個階段。第一階段采用RNNs構建注意力,一個代表性工作是RAM。第二個階段是明確預測重要區域,一個代表性工作是STN。第三階段隱式完成注意力過程,一個代表性工作是SENet。第四階段是使用自注意力。?
? ? ? ? 這篇文章的目的是總結和分類目前在CV領域的注意力方法。我們的方法展示在Fig2進一步展開在Fig3:它基于數據域。一些方法考慮什么時間重要數據會發生的問題,另一些考慮哪里發生,相應地試圖尋找數據的關鍵時間和位置。我們把存在的注意力機制分成六個種類,其中包含四個基本種類:通道注意力、空間注意力、時間注意力、分支注意力和兩種混合注意力,通道&空間注意力和空間&時間注意力。這些想法在Table1和相關工作被進一步簡單總結在一起。
Fig2? ?注意力機制可以按照數據域分類。這些包含四種基礎分類,通道注意力、空間注意力、? ? ? ?時間注意力、分支注意力和兩種混合注意力,通道&空間注意力和空間&時間注意力。
空集表示不存在。 Fig3? ?通道注意力、空間注意力、時間注意力可以被看作作用于不同的域。C通道域,H和W空間域,T時間域。分支注意力是對這些的補充。
? Table1? 注意力分類的簡單總結和關鍵相關工作
? ? ? ? ? ? ? ? ?文章的主要貢獻如下:
- 視覺注意力方法的系統綜述,包含注意力機制的系統介紹,視覺注意力機制和當前研究的發展
- 根據它們的數據域對注意力方法進行分類分組,使我們能夠獨立于它們的特定應用將視覺注意方法聯系起來
- 未來視覺注意力研究的建議
? ? ? 第二部分提及相關研究,第三部分是研究的主要部分。第四部分是未來的建議,第五部分給出結論。出現在文中的符號表示在Table2展現。
Table2? 本文的關鍵符號。其他次要符號在使用的地方被解釋2? 其他研究
? ? ?在這個部分,我們簡單比較了本文與其他回顧attention方法和視覺transformer的研究。Chaudhari進行了深度神經網絡的注意力模型研究,聚焦它們在NLP領域的應用,而我們的工作聚焦于CV領域。三個更具體的研究總結了視覺transformer,我們更普遍地回顧了視覺領域的注意力機制,不只是自注意力機制。wang和Tax展示了一個CV領域注意力機制的研究,但只考慮了基于RNN的注意力機制,這只是本文研究的一部分。并且,和以前的研究不同,我們提供了一種根據數據域的注意力分類方法,而不是依據應用領域。這種做法聚焦于注意力機制本身,而不是把他們當作其他任務的補充
數據域與應用領域
通道、空間、時間;醫學影像、圖像分類、目標檢測
3? CV領域的注意力機制:
????????在這部分,我們首先在Section 3.1總結了基于人類視覺系統識別過程中注意力機制的普遍形式。然后我們在Fig2回顧了attention模型的不同種類,每個類別都有專門的小結。在每一個類別中,我們將該類別的代表性作品制成表格。本文還對注意策略這一范疇進行了更深入的介紹,從動機、形式和功能三個方面考察了注意策略的發展。
3.1 普遍形式
????????當我們在日常生活中看到一個場景時,我們會把重點放在辨別區域上,并對這些區域進行快速加工。上述過程可以表述為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
可以表示產生注意,這與試圖辨別區域的過程相對應。表示根據對輸入進行處理,這與處理關鍵區域和獲取信息是一致的。
? ? ? ? 通過以上定義,我們發現幾乎所有存在的注意力機制可以被寫進上述表示。這里我們把self-attention和SE attention當作例子。對self-attention,和可以被寫作
????????????????????????
?對SE,?和可以被寫作
??????????????????????????????????????????????
? ? ? ? ? 接下來,我們將介紹各種注意機制,并將其具體到上述提法中。
3.2 通道注意力
? ? ? ? ?在深度神經網絡,在不同特征圖的不同的通道通常表示不同的物品。通道注意力自適應地重新分配每個通道的權重,可以被視為一個對象選擇過程,從而決定關注什么。Hu首先提出了通道注意力的概念并提出了SENet。如Fig.4所示,我們簡短討論,三種工作流繼續以不同的方式改善通道注意力。
Fig4 視覺注意力的發展背景? ? ? ? ?在這部分,我們先總結具有代表性的通道,并在Table3和Fig5解釋了Eq(1)中的和。然后我們按照發展過程討論了不同種類的通道注意力。
3.2.1 SENet
? ? ? ? SENet引領了通道注意力。SENet的核心是使用SE block收集全局信息,捕捉通道間的關系,提高表示能力。
? ? ? ? SE block分成兩部分,squeeze模塊和excitation模塊。全局空間信息信息通過全局平均池化被收集到squeeze模塊。excitation模塊使用全連接層和非線性層(ReLU和sigmoid)捕捉通道間的關系并輸出一個注意力向量。輸入特征的每一個通道乘以注意力向量的對應元素進行縮放。最終,一個SE block(帶參數),X輸入,Y輸出可以寫作
?????????????????????????????????????????????????????
SE block強調重要的通道而不是噪聲。一個SE block可以直接加到residual unit之后,因為它們的低計算資源需求。然而,SE block有缺點。在squeeze模塊,全劇平均池化對捕捉復雜的全局信息太簡單。在excitation模塊,全連接層增加了模型的復雜度。Fig4表明,后續的工作試圖提升squeeze模塊的輸出(比如GSop-Net),降低提升excitation模塊的模型復雜度(比如ECANet),或者同時提升squeeze和excitation模塊(SRM)。
3.2.2 GSoP-Net
? ? ? ? 一個SE block只使用全局平均池化捕捉全局信息(first-order statistics),這限制了模型的建模能力,特別是捕捉高階統計數據的能力。
? ? ? ? 為了解決這個問題,Gao通過使用GSoP block提升建模高階統計數據來提升squeeze模塊。
? ? ? ? 類似SE block,GSoP block也有一個squeeze模塊和excitation模塊。在squeeze模塊,GSoP block首先使用1*1卷積把通道數從c降到c',然后計算不同信道的c ' × c '協方差矩陣,得到它們的相關性。緊接著,對協方差矩陣進行row-wise歸一化。歸一化協方差矩陣中的每個(i, j)明確地將通道i與通道j聯系起來。
? ? ? ? 在excitation模塊,GSoP block使用row-wise卷積以保持結構信息并輸出一個矢量。全連接層和一個sigmoid函數得到c維注意向量。最后,輸入特征乘以注意力向量,就像SE block一樣。一個GSoP block可以寫成
?????????????????????????????????????????????????????
在這里,Conv()降低通道數目,Cov()計算協方差矩陣,RC()表示row-wise卷積。
? ? ? ? 通過使用二階池化,GSoP block收集全局信息的能力已經優于SE block。然而,這是以額外計算量為代價的。因此,單個GSoP塊通常是在幾個residual block之后添加的。
3.2.3 SRM
????????受style transformer成功的激勵,Lee提出了輕量級SRM。SRM結合style transformer和注意力機制。主要貢獻是style pooling,利用輸入特征的均值和標準差來提高其捕獲全局信息的能力。也使用了輕量級通道間全連接層(CFC)取代開始的全連接層來減少計算需求。
? ? ? ? 輸入特征圖,SRM首先使用由全局平均池化和全局標準差池化構成的style pooling(SP())收集全局信息。經過通道間全連接層(CFC)?、BN、sigmoid函數輸出注意力向量。最終,輸入特征乘以注意力向量,就像SE block一樣。總之,SRM可以寫作
????????????????????????????????????????????????????????????
? ? ? ? ?SRM block改進了squeeze和excitation模塊,還可以添加到每個剩余單元后,如SE塊。
3.2.4 GCT
? ? ? ? 由于excitation模塊的全連接層參數的計算需求和數量,在每個卷積層后使用SE block是不切實際的。此外,使用完全連接的層來建模通道關系是一個隱式過程。為了克服這個問題,Yang在明確建模通道間關系時,使用GCT有效收集信息。
? ? ? ? 與先前的方法不一樣,GCT首先計算每個通道的L2范數收集全局信息。緊接著,使用一個可學習的向量α縮放特征圖。然后通過通道規范化采用競爭機制實現通道之間的交互。類似其他普通歸一化方法,可學習的參數γ和偏差β縮放歸一化。然而,和之前的方法不同,GCT使用tanh激活函數控制注意力向量。最終,不僅使用輸入特征乘以注意力向量,還增加了identity連接。類似resnet?GCT可以寫作
??????????????????????????????????????
α、β、γ是可訓練的參數。Norm()表示每個通道的L2范數。CN是通道歸一化。
? ? ? ? GCT block比SE block有更少的參數,并且是輕量級網絡,可以加在CNN網絡每個卷積層的后面。
3.2.5 ECANet
? ? ? ? ?為了避免模型的高度復雜性,SENet減少了通道的數目。然而,這個戰略沒能直接建模權重向量和輸入的對應關系,降低了結果的質量。為了克服這個缺點,Wang提出了ECA block,使用一維卷積替代為度降低來確定通道間的相互作用。
? ? ? ? ECA block和SE block有類似的公式,包括整合全局信息的squeeze模塊、建模跨通道交互的有效excitation模塊。取代間接的通信,ECA block只考慮每通道和最近k個臨近通道的直接交互,控制模型的復雜度。總之,ECA block可以寫作
?????????????????????????????????????????????????????
Conv1D()表示k*k的跨越信道域的一維卷積,用于模擬局域跨信道相互作用。參數k決定了相互作用的覆蓋范圍,在ECA中k由通道維度C自適應確定的,而不是手動調優,使用交叉驗證:
?????????????????????????????????????????????????????
γ和b是超參數。表示x最近的奇函數。
? ? ? ? 相比SE bolck,ECANet改進了excitation模塊,提供了一種有效的可以加入不同CNNs的有效的block。
3.2.6 FcaNet
? ? ? ? 只在squeeze模塊使用全局平均池化限制了表征能力。為了獲得更有力的表征能力,Qin從壓縮的角度重新思考全局信息捕獲,在頻域分析全局平均池化。他們證明全局平均池化是DCT的一個特別例子,使用這個發現提出了一種新穎的多光譜通道注意力。
????????輸入特征圖,多光譜通道注意力把X分成很多部分。對每部分使用二維DCT。注意二維DCT可以使用預訓練結果減少運算。在處理完每個部分后,所有的結果concat成一個向量。最終,像SE block使用全連接層,ReLU激活函數,和sigmoid獲取注意力向量。可以表示為
??????????????????????????????????????
Group表示把輸入分成多組,DCT()是二維離散余弦變換。
? ? ? ? 這個工作是基于信息壓縮和離散余弦變換的,在分類任務上達到了最佳效果。
3.2.7 EncNet
? ? ? ? 受SENet啟發,zhang提出了包含語義編碼丟失(SE-loss)的上下文編碼模塊(CEM),來建模場景上下文與對象類別概率之間的關系,從而利用全局場景上下文信息進行語義分割。
????????輸入特征圖,CEM首先在訓練階段學習K簇中心,和一系列平滑因子。接著,使用軟賦值權重將輸入中的本地描述符與相應的簇中心之間的差異相加,以獲得一個排列不變的描述符。然后,然后對K個聚類中心的描述子進行聚合而不是concat,以提高計算效率。形式上,CEM可以寫成:
?????????????????????????????????????????
和是可學習的參數。表示帶有ReLU激活的批量歸一化。除了通道縮放向量外,還使用緊湊的上下文描述符e計算SE損失,以正則化訓練,提高了小對象的分割。
3.2.8 Bilinear attention
? ? ? ? 按照GSoP-Net,Fang聲稱以往的研究只使用一階信息,忽略了高階統計信息。他們提出了一個新的雙線性注意力塊(bi-attention)來捕獲每個通道內的局部成對特征交互,同時保留空間信息。
? ? ? ? Bi-attention使用attention-in-attention(AiA)機制捕捉二階統計信息:外部點狀通道注意向量由內部通道注意的輸出計算。在形式上,已知輸入特征圖X,bi-attention首先使用雙線性池化捕捉二階信息:
?????????????????????????????????????????????????????
表示用于降維的嵌入函數,是在通道域中的轉置,Utri(·)提取矩陣的上三角元素,Vec(·)向量化。bi-attention將內通道注意機制應用到特征圖上:
???????????????????????????????????????????????????????????????????????????????????
這里,和是嵌入函數。最終的輸出特征圖用于計算point-wise注意機制的空間通道注意力權值:
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????
bi-attention在保留空間信息的同時,使用雙線性池對每個通道的局部成對特征交互進行建模。與其他基于注意的模型相比,該模型更關注高階統計信息。雙注意可以合并到任何CNN骨干網中,以提高其表征能力,同時抑制噪聲。
Fig5 不同通道注意力機制。GAP全局平均池化,GMP全局最大池化,FC全連接層,Conv pool協方差池化,RW Conv row-wise卷積,CFC channel-wise全連接,CN通道歸一化,DCT離散余弦變換?
3.3 Spatial attention
? ? ? ? 空間注意力機制可以看作自適應空間區域選擇機制:哪里需要注意力機制。如Fig4所示,RAM,STN,GENet和Non-Local是不同空間注意力方法的代表。RAM是基于RNN的方法。STN代表使用子網絡明確預測相關區域。GENet代表使用子網絡隱式預測軟掩膜選擇重要區域。Non-Local代表自注意力相關方法。在子小節,我們首先總結了代表性的空間注意力機制并在Table4按照Eq1分類過程g(x)和f(g(x),x),按照Fig4討論它們。
3.3.1 RAM
? ? ? ? CNN需要巨大的計算代價,尤其對大尺寸輸入。為了把有限的計算資源集中到重要區域,Mnih提出適用RNNs的RAM和RL(增強學習),使網絡學習哪里需要注意力。RAM是適用RNNs視覺注意力的先驅,后來也出現很多其他基于RNN的方法。
? ? ? ? 如Fig6,RAM有三個關鍵因素:(A)一個glimpse sensor(B)一個glimpse network(C)一個RNN模型。glimpse tensor的坐標為圖像為。輸出以為中心的多個分辨率補丁。glimpse network包含一個glimpse sensor,輸出輸入坐標為圖像為的特征表示。RNN模型考慮和內部狀態???????,輸出下一個中心坐標和的動作,例如圖像分類任務中softmax結果。由于整個過程不可微,因此在更新過程中采用了強化學習策略。
? ? ? ? 這提供了一種簡單而有效的方法,將網絡集中在關鍵區域,從而減少了網絡的計算次數,特別是在大輸入的情況下,同時提高了圖像分類結果。
Fig6 RAM的注意力過程。(A)glimpse sensor以圖像和中心坐標為輸入輸出多個分辨率補丁。(B)glimpse network包含一個以圖像和中心坐標為輸入輸出特征向量的glimpse sensor。(C)整個網絡循環使用glimpse network,輸出預測結果和下一個中心坐標。?3.3.2 Glimpse Network
? ? ? ? 受人類的視覺識別順序的啟發,Ba提出了一個深層循環網絡glimpse,類似RAM,可以處理多分辨率的輸入圖像,用于多目標識別任務。提出的網絡使用glimpse作為輸入更新其隱藏狀態,然后預測一個新對象以及每一步的下一個glimpse位置。glimpse通常比整個圖像要小得多,這使得網絡的計算效率很高。
? ? ? ? 提出的深度循環視覺注意力模型由一個context network、glimpse network、recurrent network、emission network和分類網絡組成。首先context network以下采樣的整幅圖像作為輸入,為recurrent network提供初始狀態和第一次glimpse的位置。在當前時間步t下,給定當前glimpse及位置,glimpse network的目標是提取有用信息,表示為
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?、、是1*1卷積的線性變換。
????????注意門將模型的注意力引導到重要區域,同時抑制不相關區域的特征激活。它大大增強了模型的表示能力,而輕量化設計不顯著增加計算成本或模型參數的數量。通用和模塊化的使得在各種CNN模型中使用它很簡單。
3.3.5 STN?
????????cnn的平移等方差特性使其適合于處理圖像數據。然而,cnn缺乏其他的變換不變性,如旋轉不變性、縮放不變性和翹曲不變性。為了實現這些屬性,同時讓cnn關注重要區域,Jaderberg提出STN,空間變壓器網絡(STN)使用顯式程序來學習平移、縮放、旋轉和其他更一般的扭曲的不變性,使網絡關注最相關的區域。STN是第一個明確預測重要區域并提供具有變換不變性的深度神經網絡的注意機制。接下來的工作更是大獲成功。
????????以二維圖像為例,二維仿射變換可以表述為:
????????????????????????????????????????
U是輸入特征圖,可以是任何可微函數,如輕量級全連接網絡或卷積神經網絡。和輸出特征映射中的坐標,和是輸入特征映射中的對應坐標,θ矩陣是可學習的仿射矩陣。在獲得通信后,網絡可以使用通信對相關的輸入區域進行抽樣。為了保證整個過程的可微性和端到端更新,采用雙線性抽樣對輸入特征進行抽樣。
? ? ? ? STN自動關注判別區域,學習幾何變換的不變性。
3.3.6 Deformable Convolutional Networks
? ? ? ? 和STN的目的類似,Dei提出了可變形卷積網絡(deformable ConvNet)對幾何變換是不變的,但它們以不同的方式關注重要區域。
????????具體地說,deformable ConvNet不學習仿射變換。他們將卷積分為兩個步驟,首先從輸入特征映射中對正則網格R上的特征進行采樣,然后使用卷積核通過加權求和對采樣的特征進行聚合。這個過程可以寫成:
????????????????????????
可變形卷積通過引入一組可學習偏移量?pi來增強采樣過程,?pi可以由輕量級CNN生成。利用偏移量?pi,可變形卷積可表示為:
通過上述方法,實現了自適應采樣。而?pi是一個不適合網格采樣的浮點值。為了解決這個問題,使用雙線性插值。還使用了可變形的RoI池,這極大地改進了目標檢測。
????????可變形卷積網絡自適應地選擇卷積神經網絡的重要區域,擴大有效接受域;這在目標檢測和語義分割任務中很重要。
3.3.7 Self-attention and variants
????????自我注意被提出并在自然語言處理(NLP)領域取得了巨大成功。最近,它也顯示出成為計算機視覺的主要工具的潛力。通常,自我注意被用作捕獲全局信息的空間注意機制。本文對計算機視覺中的自我注意機制及其常見變體進行了綜述。
????????由于卷積運算的局域性,CNN具有固有的狹窄的接受域,這限制了CNN對全局場景的理解能力。為了增加接收野,Wang等人將自我注意引入計算機視覺。
????????以二維圖像為例,給出特征圖,自注意力首先通過線性投影和reshape操作計算query、key、value,,。自注意力可以寫成:
????????????????????????????????
是注意力矩陣,是第i和第j個元素之間的關系。整個過程Fig7(左)所示。自我注意是建模全局信息的強大工具,在許多視覺任務中都很有用。
????????然而,該自注意機制存在一些不足,特別是其二次復雜度限制了它的應用。為了緩解這些問題,引入了幾種變體。disentangled non-local提高了自注意的準確性和有效性,但大多數變體關注于降低其計算復雜度。
? ? ? ? CCNet將自注意操作看作一個圖卷積,用幾個稀疏連通圖代替了經過自注意處理的密連通圖。為此,提出了criss-cross,循環考慮行注意和列注意獲取全局信息。CNNs把自注意力的復雜度從降到。
? ? ? ? EMANet從期望最大化(EM)的角度看待自我注意力。EM attention采用EM算法得到一組緊湊的基,而不是使用所有的點作為重構基。這將復雜度從降低到,其中K是緊湊基的數量。
? ? ? ? ANN提出使用所有位置特征作為鍵和向量是冗余的,采用空間金字塔池獲取幾個具有代表性的鍵和值特征來代替,以減少計算量。
? ? ? ? GCNet分析了自我注意中使用的注意圖,發現在同一圖像的不同查詢位置上,通過自我注意獲得的全局上下文是相似的。因此,該方法首先提出預測所有查詢點共享的單一注意圖,然后根據該注意圖從輸入特征的加權和中獲得全局信息。這類似于平均池,但是收集全局信息的更一般的過程。
? ? ? ? ?A2Net受SENet的激勵,將注意力分為特征收集和特征分布過程,使用兩種不同的注意力。第一種方法通過二階注意池聚合全局信息,第二種方法通過軟選擇注意分配全局描述符。
? ? ? ? GloRe從圖形學習的角度理解自我注意。它首先從M《N的特征節點中收集N個輸入特征,然后學習節點間全局交互的鄰接矩陣。最后,節點將全局信息分配到輸入特征。類似的想法還有LatentGNN、MLP-Mixer和ResMLP。
? ? ? ? OCRNet提出object-contextual representation的概念,這是同一類別中所有對象區域表示的加權聚合,例如所有汽車區域表示的加權平均。它用這種對象上下文表示替換了鍵和向量,從而成功地提高了速度和有效性。
????????disentangled non-local,Yin深入分析了自我注意機制,提出了將自我注意解耦為成對項和一元項的核心思想。成對術語專注于建模關系,而一元術語專注于顯著邊界。這種分解防止了兩個術語之間不必要的交互,極大地改進了語義分割、對象檢測和動作識別。
? ? ? ? HamNet將捕獲全局關系建模為一個低秩完成問題,并設計了一系列使用矩陣分解捕獲全局上下文的白盒方法。這不僅減少了復雜性,而且增加了自我注意的可解釋性。
? ? ? ? EANet提出自我注意應只考慮單個樣本的相關性,而忽略不同樣本之間的潛在關系。為了探索不同樣本之間的相關性,減少計算量,它采用了一種外部注意,采用可學習的、輕量級的和共享的鍵值向量。進一步揭示了使用softmax對注意圖進行歸一化并不是最優的,提出了雙重歸一化作為一種更好的選擇。
????????除了作為CNN的一種補充方法外,自注意還可以用來取代卷積運算來聚合鄰域信息。卷積運算可以表述為輸入特征X與卷積核W之間的點積:
K為核大小,c為通道。上述公式可以看作是通過卷積核使用加權和來聚合鄰域信息的過程。聚合鄰域信息的過程可以更一般地定義為:
是位置和位置的關系。根據這個定義,局部自我注意是一個特例。
? ? ? ? 比如,SASA可以寫作
其中q, k和v是輸入特征x的線性投影,是(i, j)和(a, b)的相對位置嵌入。
????????我們現在考慮一些使用局部自我注意作為基本神經網絡塊的具體工作.
? ? ? ? SASA建議使用自注意來收集全局信息計算量太大,采用局部自注意來取代CNN中的所有空間卷積。作者表明,這樣做可以提高速度、參數數量和結果質量。他們還探索了位置嵌入的行為,并表明相對位置嵌入是合適的。他們的工作還研究了如何將局部自我注意與卷積結合起來。
? ? ? ? LR-Net與SASA同時出現。它還研究了如何利用局部自我注意來建模局部關系。綜合研究了位置嵌入、內核大小、外觀組合性和對抗性攻擊的影響。
? ? ? ? SAN探討了利用注意力進行局部特征聚集的兩種模式,即成對模式和補丁模式。提出了一種新的在內容和通道使用自適應注意向量,并從理論和實踐兩方面評價了其有效性。除了在圖像領域提供顯著改進外,它在3D點云處理中也被證明是有用的。
3.3.8 Vision transformers
????????Transformer在自然語言處理方面取得了巨大的成功。最近,iGPT和DETR展示了基于變壓器的模型在計算機視覺中的巨大潛力。基于此,Dosovitskiy等人提出了視覺轉換器(ViT),這是第一個用于圖像處理的純轉換器架構。它能夠達到與現代卷積神經網絡相當的結果。
????????如圖7所示,ViT的主要部分是多頭注意(MHA)模塊。MHA接受一個序列作為輸入。它首先將類令牌與輸入特征連接起來,其中N為像素數。通過線性投影得到 '和V∈RN ×C。然后將Q、K、V在通道域中分成H個頭,分別對它們進行自我注意。MHA方法如Fig8所示。ViT將多個MHA層與完全連接層、層歸一化和GELU激活函數進行堆疊。
????????ViT證明,純基于注意力的網絡可以比卷積神經網絡獲得更好的結果,特別是對于JFT-300和ImageNet-21K等大型數據集。
????????繼ViT之后,出現了許多基于變壓器的體系結構,如PCT、IPT、T2T-ViT、DeepViT、SETR、PVT、CaiT、TNT、Swintransformer、Query2Label、MoCoV3、BEiT、SegFormer、FuseFormer和MAE,對包括圖像分類、目標檢測、語義分割、點云處理、動作識別和自監督學習在內的許多視覺任務都有出色的結果。
????????這里省略了對視覺變壓器的詳細調查,因為其他最近的調查全面回顧了視覺任務中變壓器方法的使用。
????????
Fig7 Vision transformer。Left:結構。首先將圖像分割成不同的補丁,并將它們投射到特征空間中,由變壓器編碼器對其進行處理以產生最終結果。Right:基本視覺變壓器塊與多頭注意核心。?
Fig8 Left:自注意力。Right:多頭自注意力3.3.9 GENet?
?
?
?
?
總結
以上是生活随笔為你收集整理的Attention Mechanisms in Computer Vision: A Survey论文阅读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hierarchyviewer
- 下一篇: bash中时间、日期操作