【论文解读】基于关系感知的全局注意力
一、論文信息
標題:《Relation-Aware Global Attention for Person Re-identification》
作者:Zhizheng Zhang et al.(中科大&微軟亞洲研究院)
文章:openaccess.thecvf.com/c
源碼:github.com/microsoft/Re
文章收錄于CVPR 2020,bib引用如下:
@article{zhang2020relation,title={Relation-Aware Global Attention for Person Re-identification},
author={Zhang, Zhizheng and Lan, Cuiling and Zeng, Wenjun and Jin, Xin and Chen, Zhibo},
journal={CVPR},
year={2020}
}
二、論文解讀
這是一篇將注意力機制應用于行人重識別(person re-identification)任務上的文章。自從注意力機制在NLP領域過渡到CV領域以來,不少文章已經提出了很多基于注意力的改進,如Non-Local[1],SE[2],cSE[3],sSE[3],CBAM[4],Dual attention[5],Criss-Cross Attention[6],Fast Attention[7]等等,筆者認為,其無外乎就是從整體-局部、空間-通道、計算量-有效性這幾個維度進行改進。比如,Non-local旨在通過匯總來自所有位置的信息來增強目標位置的特征。這個計算量是龐大的,因為它計算了每個點對之間的關系:
Diagram of Non-local block.Non-Local雖然可以在特征圖的空間上捕捉長距離的依賴(上下文信息),但是當我們輸入的特征圖尺度過大時,這顯存大多數情況下會爆炸。那么如何在合理的保持全局的感受野的同時,去減少顯存和運算量呢?于是很多人就往這上面改進,比如CC-Net[6],采用的是當前位置與同一行和同一列像素的之間的相關性來得到水平和垂直方向之間的遠距離像素的上下文信息,并同時疊加兩個相同的模塊來間接的獲得全局的感受野,減少了計算量。
Diagram of Criss-Cross block.本文的主要貢獻點在于提出一個高效的“關系感知全局注意力”(Relation-aware Global attention, RGA)模塊,該模塊可以有效的捕獲全局的結構信息,以便更好的進行注意力學習。具體來說,就是對每一個特征位置,為了更加緊湊地捕獲全局的結構信息和局部的外觀信息,使用RGA模塊來將各種關系堆疊起來,即將所有的特征位置的成對相關性/親和力(correlations/affinities)與特征本身一起,使用一個淺層神經網絡來學習出注意力。通過應用RGA模塊,可以顯著的增強特征表示能力,從而學習到更具有判別力的特征。
這里簡單的介紹下行人重識別的任務是做什么的:
行人重識別,簡單來說就是要在不同的時間、地點或者相機上匹配到一個特定的人,屬于圖像檢索的內容。其難點和核心便在于如何從雜亂的背景、姿態的多樣性以及存在遮擋等各種復雜多變的情況下,有效地從人像圖像中鑒別并提取出視覺特征(即區分出不同的人)。圖(a)為原圖。圖(b)為CBAM模塊預測出來的,可以看出上下文之間缺乏一種聯系。圖(c)是RGA模塊可以從結構化的信息中捕獲并挖掘到全局范圍內的關系。注意力機制的本質就是以某種方式來探索事物的內在聯系,通過不同的操作來對原始的輸入進行一個要素的重分配,達到突出重要特征,抑制非重要特征的目的。作者認為,大多數的注意力只是通過在感受野有限的范圍內利用卷積進行學習,這使得在一個全局的范圍內很難利用到豐富的結構化信息。一種解決方案是在卷積層中使用空洞卷積,另一種解決方案是通過堆疊深度來達到一個全局信息的獲取,但無疑這兩種操作都會大大增加網絡的規模。此外,如[8]所述,CNN的有效感受野僅占整個理論感受野的一小部分。除此之外,Non-local [1] 也被提出來通過成對的關系/親和力來計算連接的去那種,使得神經網絡能夠通過從所有位置到目標位置之間的特征進行加權求和,從而捕獲到全局的信息。然而,Non-local卻忽略了許多豐富的全局信息探索。因為它僅僅是簡單地將學習到的關系/親和力當做權重來聚合特征。這種使用關系的確定性方式(即加權求和的方式)具備較弱的挖掘能力,并且也缺乏足夠的適應性。因此,作者認為可以通過引入一種建模函數,從關系中挖掘出有效的信息,同時利用此類有價值的全局范圍內的結構信息來引導注意力的學習。
圖2展示了如何學習到5個特征向量/節點x1,...,x5所對應的注意力系數過程。圖(a)顯示的是一個局部注意力的學習過程,其中每個特征向量都是獨立的求出一個注意力系數的,忽略了各個特征向量的關聯性。圖(b)是基于全局的注意力:將5個特征向量連接起來共同學習出注意力系數。重點關注下圖(c),即本文所提出來的RGA模塊。RGA模塊是通過同時考慮全局的關系信息來學習注意力。對于每一個特征向量i(這里取i=1為例),作者通過將當前特征向量(i=1)與其余特征向量直接進行兩兩的堆疊,得到??,其代表著全局范圍內的關系信息。注意到,這里??。不同于圖(a)的那種方式缺乏全局的感知和圖(b)的那種方式沒有充分不同特征向量之間的關系,所提出的RGA注意力模塊,是通過一個具有全局范圍關系的學習函數來確定的,其中包含作為輸入的結構信息。可以看出,所提到的關系表示中的結構信息包括了親和信息和位置信息,有助于語義學習和注意力推斷。
方法部分梳理
給定一個特征集合??,其中??表示特征/特征向量/特征節點,??為特征維度,??為特征的數量。注意力便是要根據各個特征之間關系(也稱為親和性或者相似性)的重要程度,來為每個特征生成一個注意力系數(也稱為親和系數)。如上所示,圖(a)是直接對每個特征向量都獨立的進行一個注意力學習,缺乏全局的視野。一些彌補的方式便是通過利用空洞卷積或者堆疊卷積塊來捕獲全局的信息,但這樣計算量明顯是太大了。圖(b)這種方式是通過將多個特征節點連接起來,然后通過全連接的方式去學習注意力。但是,當節點數量過多時,會導致計算效率低下,而且難以優化。圖(c)則是本文所提出來的關系感知全局注意力模塊,它有以下的兩個優點:
更好地探索全局的結構化信息以及知識挖掘(knowledge mining);
使用一個共享(節省參數量)的變換函數來為每一個獨立的特征位置去學習注意力;
這里相當于就是利用局部的卷積運算操作來間接的等效替代全局的運算。主要的思想是分別挖掘出當前特征節點與所有的特征節點之間的一個對與對之間的關系,并通過將這些關系對堆疊起來,來表示當前特征節點的一個全局結構化信息。具體來說,用??來表示第??個特征和第??個特征之間的親和性(affinity),對于特征節點??,其親和/關系向量為??。隨后,利用當前特征本身與這些關系對,并通過一個可學習的變換函數(learned transformation function)來推斷出注意力??,這里??包含了全局的信息。從數學角度,作者這里通過一個圖??定義了特征的集合以及特征與特征之間的關系,其中便包含這??個特征的一個節點結合??以及一個邊緣集合??。于是,我們便可以將所有節點的關系對表示為一個親和矩陣??,這里令??。對于每一個??,令??定義為第R個節點的第??行,??定義為第R個節點的第??列。
對于第??個特征節點??,它相應的關系向量??提供了一個緊湊的表示來捕獲全局結構信息,比如包含了所有特征節點的位置信息和關系信息。每一個關系對定義了所有的節點與當前節點的一個相似性,而當它們在關系向量中的位置表示特征節點的位置(即索引)時,關系向量反映了所有節點相對于當前節點的一種聚類狀態和模式,而這將有利于整體確定??的相對重要性(注意力)。
在計算特征位置的注意力時,為了掌握全局范圍的信息,這里將成對關系項(即其與所有特征位置的相關性/親和力)和一元項(即該位置的特征)進行堆疊, 通過卷積運算學習注意力基于空間的關系感知全局注意力 ( Spatial Relation-Aware Global Attention )
給定一個中間的特征張量??,這里??為CNN的某一層輸出特征圖,作者這里設計了一個RGA-S來學習一個尺度大小為??的空間關系圖。這里按通道的劃分方式將每個空間位置處??維特征向量作為特征節點。所有空間位置形成??個節點的圖?。如圖(a)所示,對空間位置進行光柵掃描,并將其標識號指定為1,···,N。然后,計算出每個節點對之間的關系,這里利用點積的方式求出:
這里??和??為兩個嵌入函數(其實就是通過一個1x1的卷積+BN+ReLU來實現)。同理,我們也可以通過同樣的方式來計算出??。于是,我們便可以利用關系對??來描述??和??之間的雙向關系。最后,以此類推,我們便可以計算出所有節點之間的關系對,從而得到一個親和矩陣??。然后,我們將這個關系對與原來的輸入特征節點聯結起來,通過一個全局平均池化求出相應的權重值,最后再通過Sigmoid激活函數來生成相應的權重圖。
基于通道的關系感知全局注意力 ( Channel Relation-Aware Global Attention )
跟上面差不多,只不過計算方式不一樣。
總結
本文提倡的觀點是,要直觀地判斷一個特征節點是否重要,就應該知道全局范圍的特性,這樣便可以通過得到進行決策所需要的關系信息,來更好地探索每個特征節點各自的全局關系,從而更好地學習注意力。整篇文章給人的感覺可讀性非常差,作者在里面對一些名稱的定義并沒有進行一個統一,讀起來云里霧里,涉嫌過度包裝的成分,缺乏嚴謹性。感覺邏輯性并沒有特別強,文章的核心很難get到,很疑惑審稿人真的有認真的去研究過這篇文章是不是真的能work?不過仔細想想也能體諒,畢竟現在注意力這塊想發表到頂會上的難度越來越大,各個維度都被人魔改成不成樣,很難找到一個標新立異的點切進去,所以只能靠花樣的包裝來刺激審稿人的神經。整體來說,創新性不是非常強,說白了還是在講故事,還是沒有從本質上創新,有點在玩改造積木的感覺。注意力方式跟其他注意力之間沒啥大的區別,結合不同特征圖的信息,然后合并起來,通過一個全連接或者普通的1x1或者3x3操作,最后再通過一個GAP和Sigmoid/Softmax輸出。至于為什么能有效的降低計算量,只不過這里將一些計算量大(Fully connection)的操作換成小的操作(Conv 1×1)。(全連接>3×3卷積>1×1卷積)
套路還是那個套路,只不過看誰的故事講的好。
Reference:
[1] Non-local Neural Networks. (CVPR2018)
[2] Squeeze-and-Excitation Networks. (CVPR2018)
[3] Concurrent Spatial and Channel Squeeze & Excitation in Fully Convolutional Networks. (MICCAI 2018)
[4] CBAM: Convolutional Block Attention Module. (ECCV 2018)
[5] Dual AttentionNetwork for Scene Segmentation. (CVPR 2019)
[6] CCNet: Criss-Cross Attention for Semantic Segmentation. (ICCV 2019)
[7] Real-time Semantic Segmentation with Fast Attention. (arxiv)
[8] Understanding the effective receptive field in deep convolutional neural networks. (NeurIPS 2016)
總結
以上是生活随笔為你收集整理的【论文解读】基于关系感知的全局注意力的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 调节Win7系统任务栏预览窗口大小的方法
- 下一篇: 爱奇艺PPS如何登陆账号