您現在的位置是:首頁 > 手機遊戲首頁手機遊戲

如果注意力機制(Attention)還可以更“集中”(deep)?

  • 由 程式設計師觀察 發表于 手機遊戲
  • 2023-01-22
簡介不同Attention的計算公式如下所示:論文作者也對三種Attention方法的分類結果做了對比,對比結果如下所示:網路結構上圖是一個使用在ResNet-50上的例子,可以看出來和原始的ResNet的區別就是在每個階段的Residual

注意力機制有哪幾種

在視覺領域中Attention也發揮著很大的作用,但其實Attention不止能使得運算聚焦於特定區域,同時也可以使得該部分割槽域的特徵得到增強。

商湯科技和港中文於2017年發表在CVPR上的一篇文章《Residual attention network for image classification》提出了一種利用下采樣和上取樣空間注意機制的

殘差注意力網路

增加註意力模組用於線性提升網路的分類效能,而深度不同的特徵圖可以提取額外的注意力。

殘差注意力模型可以結合到目前的大部分深層網路中,做到end-to-end訓練結果,因為殘差結構的存在,可以很容易將網路擴充套件到百數層。並且使用該種策略可以在達到其他大網路的分類準確率的同時顯著降低計算量(計算量基本上為ResNet大網路的69%左右)

如果注意力機制(Attention)還可以更“集中”(deep)?

殘差注意力網路分為主幹網路和注意力模組:

注意力模組為主幹網路

子網路是以某一個特徵圖為節點的;

不同層特徵圖提取的注意力不同:淺層結構的網路的注意力集中於背景等區域;深層結構網路的注意力特徵圖提取待分類的物體。

在此之前, 以往的Attention模型大多應用於影象分割和顯著性檢測任務,出發點在於將注意力集中在部分感興趣區域或顯著區域上。

作者利用這種模式,在常規的分類網路中,引入側邊分支,該分支同樣是由一系列卷積和池化操作來逐漸地提取高階語義特徵並增大網路的感受野,

將該分支直接上取樣為原始解析度尺寸作為特徵啟用圖疊加回原始輸入。

殘差注意力網路Residual Attention Network

殘差注意力網路主要由多層注意力模組組成,每個注意力模組包含了兩個分支:掩膜分支(

mask branch

)和主幹分支(

trunk branch

)。其中主幹分支可以是當前的任何一種SOTA卷積神經網路模型,掩膜分支透過對特徵圖的處理輸出維度一致的注意力特徵圖(

Attention Feature Map)

),然後使用點乘操作將兩個分支的特徵圖組合在一起,得到最終的輸出特徵圖。

Attention Residual Learning

注意力模組重點在於目標分類,但是純粹的疊加註意力模組會導致模型效能的下降,主要有兩個問題:

Sigmoid將輸入歸一化到0到1之間,再來與主幹分支進行點乘,會使得特徵圖的輸出響應變弱,多層疊加該種結構會使得最終輸出的特徵圖每一個點上的值變得很小;

同時,掩膜分支輸出的特徵圖有可能會破壞主幹分支的優點,比如說將殘差連線中的shortcut機制替換為掩膜分支,那麼將會使得深層網路的梯度不能很好的反傳。

Soft Mask Branch

在掩膜分支(

mask branch

)中,特徵圖的處理操作主要包含為前向的降取樣過程和上取樣過程,前者是為了快速編碼、獲取特徵圖的全域性特徵,而後者主要是將提取出來的全域性高維特徵上取樣之後與之前未降取樣的特徵組合在一起,目的使得上下文,高低緯度的特徵能夠更好的組合在一起,類似於FPN網路的做法。掩膜分支的操作如下圖所示:

如果注意力機制(Attention)還可以更“集中”(deep)?

每一個Attention Module,也即是Soft Mask Branch對於固定的輸入,多層卷積計算之後使用Max-Pooling操作對特徵圖進行降維操作,一直降維直到特徵圖寬高達到網路輸出特徵圖的最小尺寸,比如7x7,然後逐層使用雙線性差值的方法擴張特徵圖的寬高維度,並且與之前同樣維度下的特徵相加,這裡的考量是結合了全域性的和區域性的特徵,增強了特徵圖的表達能力。這種做法類似於FCN網路中FCN8s,最終對特徵圖使用2個1x1的卷積層對通道做整合計算輸出一個與input寬高維度相等,但是通道數為1的特徵圖,最後接一個Sigmoid啟用函式層將特徵圖歸一化到0~1之間。這一部分的做法如下圖所示。

如果注意力機制(Attention)還可以更“集中”(deep)?

Spatial Attention and Channel Attention

論文作者在Attention這部分總共考慮了三種Attention方式,Spatial Attention使用L2正則化約束每個位置上的所有通道,推測最終輸出一個空間維度一致的Attention Map;Channel Attention,類似於SENet約束每一個通道上的所有特徵值,最後輸出長度與通道數相同的一維向量作為特徵加權;Mix Attention對每個通道和每個空間位置使用Sigmoid。不同Attention的計算公式如下所示:

如果注意力機制(Attention)還可以更“集中”(deep)?

論文作者也對三種Attention方法的分類結果做了對比,對比結果如下所示:

如果注意力機制(Attention)還可以更“集中”(deep)?

網路結構

如果注意力機制(Attention)還可以更“集中”(deep)?

上圖是一個使用在ResNet-50上的例子,可以看出來和原始的ResNet的區別就是在每個階段的Residual Block之間增加了Attention Module,可以看到最小的輸出特徵圖的寬高大小為7x7,上文中說到,在每一個Soft Mask Branch中對於input的特徵圖,會不斷地卷積操作之後使用Max-Pooling降取樣,文中降取樣的寬高維度下限就是網路的最小輸出特徵圖,比如這裡的7x7。

在Cifar10、Cifar100和ImageNet進行測試:

如果注意力機制(Attention)還可以更“集中”(deep)?

更多更充分的對比實驗和定量分析,請見論文的實驗部分。

總結

深度學習發展的工作開始聚焦於Attention的融合。透過一個單一結構的網路提取整張影象的特徵用於分類、檢測和分割。每一個影象樣本都具有內容性,但是基本一張圖片的內容並不會均勻分佈在畫面中的每一塊區域,所以注意力Attention機制的存在可以增強有效資訊同時抑制無效資訊。目前注意力機制用於大部分計算機視覺任務中仍然是熱門話題。

有興趣的朋友請見傳送門:

論文原文 - Residual Attention Network for Image Classification

程式碼實現 - fwang91/residual-attention-network

Top