attention - 1 - Residual Attention Network for Image Classification - 1 - 論文學習


 

https://arxiv.org/pdf/1704.06904.pdf

https://github.com/fwang91/residual-attention-network

https://github.com/tengshaofeng/ResidualAttentionNetwork-pytorch/tree/master/Residual-Attention-Network

 

Residual Attention Network for Image Classification

Abstract

在本論文中,我們提出了“Residual Attention Network”,這是一種使用注意力機制的卷積神經網絡,它可以與先進的前向傳播網絡體系結構結合,以端到端的訓練方式。我們的Residual Attention Network是通過疊加產生注意力感知特征的注意力模塊來構建的。隨着層次的加深,不同模塊的注意力感知特征會自適應地發生變化。在每個注意模塊內部,采用bottom-up top-dowm的前饋結構,將前饋和反饋的注意li過程展開為單個前饋過程。重要的是,我們提出注意力殘差學習訓練非常深的Residual Attention Network,使其可以很容易地擴展到數百層。

對CIFAR-10和CIFAR-100數據集進行了大量分析,驗證了上述各模塊的有效性。我們的Residual Attention Network在三個基准數據集上實現了最先進的目標識別性能,包括CIFAR-10(3.90%的誤差)、CIFAR-100(20.45%的誤差)和ImageNet(4.8% single model and single crop, top-5 error)。注意,與ResNet-200相比,我們的方法實現了0.6%的top-1精度提高,僅用46%的主干深度和69%的前向FLOPs。實驗還證明了我們的網絡對噪聲標簽具有良好的魯棒性。

 

1. Introduction

注意力的混合性質在以前的文獻中已經被廣泛研究[34,16,23,40]。注意力不僅用於選擇一個集中的位置,而且還增強了那個位置上物體的不同表征。以往的研究將注意力漂移作為一個連續的過程來捕捉不同的關注方面。然而,據我們所知,在圖像分類任務中,還沒有將注意力機制應用到前饋網絡結構中,以達到最新的效果。圖像分類的最新進展主要集中在使用“very deep”結構訓練前饋卷積神經網絡[27,33,10]。

受注意機制和深度神經網絡最新進展的啟發,我們提出了Residual Attention Network,一種采用混合注意力機制的深度卷積網絡。Residual Attention Network由多個注意力模塊組成,這些模塊產生注意力感知特征。隨着層次的加深,不同模塊的注意力感知特征會自適應地發生變化。

除了注意力機制帶來的更有鑒別性的特征表示外,我們的模型還展示了以下吸引人的特性:

(1)注意力模塊的增加導致性能的持續提升,因為不同類型的注意力被廣泛捕捉。圖1顯示了一個熱氣球圖像的不同注意力類型的示例。天空注意力mask減少背景響應,而氣球實mask突出氣球的底部部分。

(2)能夠在端到端的訓練方式中與先進的深度網絡結構相結合。具體地說,我們網絡的深度可以很容易地擴展到數百個層。我們的Residual Attention Network在CIFAR-10、CIFAR-100和具有挑戰性的ImageNet[5]圖像分類數據集上表現優於最先進的殘差網絡,顯著減少了計算量(69%的前向FLOPs)。

所有上述的屬性,對於以前的方法來說是具有挑戰性的,我們通過以下貢獻,使之成為可能:

(1)Stacked network structure: 我們的Residual Attention Network是通過疊加多個注意力模塊來構建的。堆疊結構是混合注意力機制的基本應用。因此,不同類型的注意力可以在不同的注意力模塊中被捕獲。

 

(2)Attention Residual Learning:直接疊加注意力模塊會導致明顯的性能下降。因此,我們提出注意力殘差學習機制,以優化極深的數百層Residual Attention Network。

(3)Bottom-up top-down feedforward attention:Bottom-up top-down的前饋結構已成功應用於人體位姿估計[24]和圖像分割[22,25,1]。我們使用這種結構作為注意力模塊的一部分,在特征上增加soft權重。該結構可以在單個前饋過程中模擬bottom-up的快速前饋過程和top-down的注意力反饋過程,使我們能夠發展出一個有着top-down注意力的端到端可訓練網絡。我們工作中的bottom-up top-down結構與stacked hourglass network[24]在引導特征學習的意圖上有所不同。

 

2. Related Work

人類感知過程[23]的證據表明注意力機制的重要性,它利用top信息指導bottom-up的前饋過程。近年來,人們開始嘗試將注意力應用於深度神經網絡。Deep Boltzmann Machine(DBM)[21]在訓練階段的重建過程包含了top-down的注意力。注意力機制也被廣泛應用於遞歸神經網絡(RNN)和long short term memory(LSTM)[13]來處理順序決策任務[25,29,21,18]。Top信息被連續收集,並決定在哪里參加下一個特征學習步驟。

提出了殘差學習[10]來學習恆等映射的殘差。該技術極大地增加了前饋神經元網絡的深度。與我們的工作相似,[25,29,21,18]使用帶有注意力機制的殘差學習來受益於殘差學習。使用注意力機制捕獲兩個信息源(查詢和查詢上下文),以相互協助它們的工作。而在我們的工作中,一個單一的信息源(圖像)被分割成兩個不同的信息源並反復組合。利用殘差學習來緩解重復拆分合並帶來的問題。

在圖像分類中,使用了不同的方法來應用top-down的注意力機制,:序列處理(sequential process)、區域proposal和控制門(control gates)。序列過程[23,12,37,7]將圖像分類建模為序列決策。因此,注意力可以與上面類似地應用。這個公式允許使用RNN和LSTM進行端到端優化,並且可以以目標驅動的方式捕獲不同種類的注意力。

區域proposal[26,4,8,38]在圖像檢測任務中被成功采用。在圖像分類中,在前饋分類前增加一個區域proposal階段。所提出的區域包含top信息,用於第二階段的特征學習。圖像檢測的區域proposal需要大量的監督,如ground truth bounding box或detail segmentation mask[6],而非監督學習[35]通常用於生成圖像分類的區域proposal。

控制門在LSTM中得到了廣泛應用。在有注意力的圖像分類中,神經元的控制門使用top信息進行更新,並在訓練過程中影響前饋過程[2,30]。然而,在訓練步驟中涉及到一個新的過程,強化學習[30]或優化[2]。Highway Network[29]擴展了控制門,解決了深度卷積神經網絡的梯度退化問題。

然而,最近圖像分類的進展主要集中在使用“very deep”結構訓練前饋卷積神經網絡[27,33,10]。前饋卷積網絡模擬了人類皮層 bottom-up的路徑。為了進一步提高深度卷積神經網絡的識別能力,人們提出了各種各樣的方法。提出了VGG[27]、Inception[33]和殘差學習[10]用於訓練極深度神經網絡。Stochastic depth[14]、Batch Normalization[15]和Dropout[28]利用正則化收斂,避免過擬合和退化。

在最近的工作[3,17]中開發的soft注意力可以訓練端到端的卷積網絡。我們的Residual Attention Network以一種創新的方式融合了快速發展的前饋網絡結構中的soft注意力。最近提出的spatial transformer module[17]實現了最先進的門牌號碼識別任務。利用獲取top信息的深度網絡模塊生成仿射變換。對輸入圖像進行仿射變換,得到參與區域,再將其反饋給另一個深度網絡模塊。利用可微網絡層進行空間變換,可以對整個過程進行端到端訓練。[3]采用soft注意力作為尺度選擇機制,在圖像分割任務中得到了最先進的結果。

Residual Attention Network 的soft注意力結構的設計靈感來自於定位任務的最新發展,即分割[22,25,1]和人體姿態估計[24]。這些任務促使研究人員使用細粒度的特征圖來探索結構。框架傾向於級聯一個bottom-up和一個top-down結構。bottom-up的前饋結構產生低分辨率的特征圖,語義信息強。然后,top-down的網絡產生密集的特征,對每個像素進行推斷。底部和頂部特征圖之間采用了skip connection[22],實現了最先進的圖像分割效果。最近的stacked hourglass network[24]融合了來自多個尺度的信息來預測人類姿態,並受益於編碼全局和局部信息。

 

3. Residual Attention Network

Residual Attention Network由多個注意力模塊疊加而成。每個Attention模塊分為兩個分支:mask分支和主干分支。主干執行特征處理,可以適應任何先進的網絡結構。在本研究中,我們以預激活殘差單元[11]、ResNeXt[36]和Inception[32]作為殘差注意力網絡的基本單元來構建注意力模塊。給定輸入x的主干分支輸出T(x),掩碼分支采用bottom-up top-down的結構[22,25,1,24]來學習軟權輸出特征T(x)的相同大小的mask M(x)。bottom-up top-down的結構模仿了快速前饋和反饋的注意力過程。輸出mask作為類似於Highway Network[29]的主干神經元的控制門。注意力模塊H的輸出為: 

其中i取值范圍為所有空間位置,c∈{1,…, C}是通道的索引。整個結構可以端到端訓練。

在注意力模塊中,注意力mask不僅可以作為正向推理時的特征選擇器,還可以作為反向傳播時的梯度更新濾波器。在soft mask分支中,輸入特征的mask梯度為:

 

其中,Θ為mask分支參數,Φ為主干分支參數。這個特性使注意力模塊對有噪聲的標簽具有魯棒性。mask分支可以防止錯誤的梯度(來自噪聲標簽)來更新主干參數。第4.1節的實驗表明了我們的Residual Attention Network對噪聲標簽的魯棒性。

在我們的設計中,沒有stacking注意力模塊,一種簡單的方法是使用單一網絡分支生成soft權重mask,類似於spatial transformer layer[17]。然而,這些方法在像ImageNet這樣具有挑戰性的數據集上有一些缺點。首先,對背景雜亂、場景復雜、外觀變化較大的圖像進行建模時需要不同類型的注意力。在這種情況下,不同層次的特征需要用不同的注意力mask來建模。使用單個mask分支將需要冪級數量的通道來捕獲不同因素的所有組合。第二,單個注意力模塊只修改一次特征。如果修改在圖像的某些部分失敗,以下網絡模塊將不再有第二次機會。

Residual Attention Network緩解了上述問題。在注意力模塊中,每一個主干分支都有自己的mask分支來學習它的特點。如圖1所示,在熱氣球圖像中,底層的藍色特征采用對應的天空mask去除背景,而頂層的部分特征采用熱氣球實例mask進行細化。此外,疊加網絡結構的遞增性質可以逐漸細化對復雜圖像的關注。

 

3.1. Attention Residual Learning

然而,單純的疊加注意力模塊導致了明顯的性能下降。首先,點乘范圍從0到1的mask將重復降低在深層的特征值。其次,soft mask可能破壞主干分支的良好特性,例如殘差單元的恆等映射。

我們提出注意力殘差學習來緩解上述問題。與殘差學習的思想相似,如果能將soft mask單元構造成恆等映射,則其性能不會比對應的沒有注意力的情況差。因此,我們將Attention模塊的輸出H修改為:

M(x)的范圍為[0,1],M(x)近似於0, H(x)將近似原始特征F(x)。我們稱這種方法為attention residual learning。

我們的stacked殘差學習與殘差學習不同。在原始的ResNet中,殘差學習公式為,其中近似殘差函數。在我們的式子中,表示深度卷積網絡生成的特征。關鍵在於mask分支M(x)。它們作為特征選擇器,可以增強好的特征,抑制來自主干特征的噪聲。

此外,stacking注意力模塊通過其增量特性支持attention residual learning。attention residual learning在保持原有特征良好性質的同時,也使其能夠繞過soft mask分支向頂層轉發,削弱mask分支的特征選擇能力。stacked注意力模塊可以逐步細化特征圖。如圖1所示,深度越深,特征越清晰。通過attention residual learning,增加Residual Attention Network的深度可以持續地提高網絡性能。如實驗部分所示,Residual Attention Network的深度增加到452,其性能在CIFAR數據集上大大超過ResNet-1001。

 

 

3.2. Soft Mask Branch

遵循之前DBN[21]中的注意力機制思想,我們的mask分支包含快速前饋掃描和top-down的反饋步驟。前者快速收集整幅圖像的全局信息,后者將全局信息與原始特征圖結合。在卷積神經網絡中,這兩個步驟依次為bottom-up top-down的全卷積結構。

從輸入開始,在少量殘留單元后,進行多次max-pooling以快速增加接收域。在達到最低的分辨率后,全局信息被一個對稱的top-down的架構擴展,以引導每個位置的輸入特征。在殘差單元后對輸出進行線性插值來上采樣。雙線性插值的次數與max pooling相同,以保持輸出大小與輸入feature map相同。然后,在連續兩個1×1卷積層之后,用一個sigmoid層將輸出范圍歸一化到[0,1]。我們還在bottom-up top-down部分之間添加了skip連接,以從不同的尺度捕獲信息。整個模塊如圖2所示。

這種bottom-up top-down的結構已應用於圖像分割和人體姿態估計。然而,我們的結構與前一個的不同之處在於它的意圖。我們的mask分支旨在改進主干分支的特性,而不是直接解決一個復雜的問題。第4.1節的實驗驗證了上述論點。

 

3.3. Spatial Attention and Channel Attention

在我們的工作中,mask分支所提供的注意力可以隨主干分支的特征而改變。但是,在soft mask輸出之前,通過改變激活函數的歸一化步驟,仍然可以將注意約束添加到mask分支中。我們使用了與混合注意(mixed attention)、通道注意(channel attention)和空間注意(spatial attention)相對應的三種激活函數。混合注意f1沒有額外的限制,對每個通道和空間位置使用簡單的sigmoid。通道注意f2對每個空間位置的所有通道進行L2歸一化,以去除空間信息。空間注意f3對每個通道的feature map進行歸一化,然后再進行sigmoid,得到只與空間信息相關的soft mask。

 

 

其中,i范圍是所有空間位置,x范圍是所有通道。meanc和stdc表示來自第c個通道的feature map的均值和標准差。xi表示第i個空間位置的特征向量。

實驗結果如表1所示,混合注意具有最好的性能。以前的作品通常只關注一種類型的注意,例如尺度注意(scale attention)[3]或空間注意[17],它們通過權重共享或歸一化對soft mask施加額外的約束。但是,我們的實驗證明,在不附加約束的情況下,自適應地使用特征進行注意力變化可以獲得最好的性能。

 

 

 

4. Experiments

在本節中,我們在一系列基准數據集(包括CIFAR-10、CIFAR-100[19]和ImageNet[5])上評估了所提出的剩余注意力網絡的性能。我們的實驗包括兩部分。在第一部分中,我們分析了Residual Attention Network中各組成部分的有效性,包括注意殘差學習機制和注意模塊中soft mask分支的不同架構。在此基礎上,研究了其抗噪聲性能。由於計算資源有限,我們選擇CIFAR-10和CIFAR-100數據集進行實驗。最后,我們將我們的網絡與CIFAR數據集的最新結果進行了比較。在第二部分中,我們用Inception模塊和ResNeXt替換殘差注意單元,以證明我們的Residual Attention Network在參數效率和最終性能上都超過了原始網絡。我們還比較了最新的ResNet和Inception在ImageNet數據集上的圖像分類性能。

 

4.1. CIFAR and Analysis

Implementation.  CIFAR-10和CIFAR-100數據集分別包含10個類和100個類的6萬幅的32×32的彩圖,其中有5萬幅訓練圖像和1萬幅測試圖像。采用目前廣泛應用的最先進的網絡結構ResNet作為基線方法。為了進行公平的比較,我們保持大部分的設置與ResNet[10]相同。將圖像每邊填充4個像素,填充0值,得到40×40的圖像。從一幅圖像或它的水平翻轉中隨機采樣32×32的剪裁,減去每個像素的RGB平均值。我們采用與之前研究[9]相同的權值初始化方法,並使用nesterov SGD對Residual Attention Network進行訓練,最小batch size為64。我們使用權值衰減為0.0001,momentum為0.9,並將初始學習率設置為0.1。在64k和96k次迭代時,學習率除以10。我們在16萬次迭代時終止訓練。

整體網絡架構和超參數設置如圖2所示。該網絡由3個階段組成,類似於ResNet[10],在每個階段堆疊相同數量的注意力模塊。此外,我們在每個階段增加兩個殘差單元。主干權重層數為36m+20,其中m為某一階段的注意力模塊數。我們使用原始的32×32圖像進行測試。

 

Attention Residual Learning.  在本實驗中,我們對注意殘差學習機制的有效性進行了評價。由於attention residual learning(ARL)的概念是新的,以前沒有合適的方法是可比較的,因此我們使用“朴素注意力學習”(NAL)作為基准。具體來說,“naive attention learning”使用的是注意模塊,其特征是通過soft mask直接點積,而不需要attention residual learning。我們設置每個階段的注意模塊數量m ={1,2,3,4}。對於Attention模塊,這將分別產生Attention-56(根據主干層深度命名)、Attention-92、Attention-128和Attention-164網絡。

我們使用不同的機制訓練這些網絡,並在表3中總結了結果。如表3所示,使用注意力殘差學習技術訓練的網絡性能始終優於基線方法訓練的網絡,證明了我們方法的有效性。注意力殘差學習的性能隨注意力模塊數目的增加而提高。而采用朴素注意學習方法訓練的網絡,隨着注意模塊數量的增加,其性能明顯下降。

為了理解注意力殘差學習的好處,我們計算每個階段輸出層的平均絕對響應值。我們使用Attention-164來進行這個實驗。如圖4所示,在經過4個注意力模塊后,與使用注意力殘差學習訓練的網絡相比,使用朴素注意力學習訓練的網絡所產生的響應在第二階段迅速消失。注意力模塊通過在特征和soft mask之間應用點積來抑制噪聲,同時保留有用的信息。但是,在這個過程中,重復的點積會導致有用信息和無用信息的嚴重退化。注意力殘差學習可以使用恆等映射緩解信號衰減,增強特征對比度。因此,在不損失顯著信息的情況下,降低了噪聲,使得優化更加容易,同時提高了表征特征的識別率。在接下來的實驗中,我們使用這種技術來訓練我們的網絡。

 

 

Comparison of different mask structures. 通過與沒有任何下采樣和上采樣的局部卷積進行比較,驗證了encoder-decoder結構的有效性。局部卷積soft mask由三個殘差單元組成,使用相同數量的FLOPs。用Attention-56分別構造Attention-Encoder-Decoder-56和Attention-Local-Conv-56網絡。結果如表4所示。Attention-Encoder-Decoder-56網絡最低測試error為5.52%,Attention-Local-Conv-56網絡的測試error為6.48%,兩者有0.94%的顯著差距。結果表明,soft注意力優化過程將受益於多尺度信息。

 

Noisy Label Robustness. 在這個實驗中,我們證明了我們的Residual Attention Network在CIFAR-10數據集上具有良好的抗噪聲性能。我們實驗的混淆矩陣設置如下:

 

式中,r為整個數據集的clean label ratio。
我們比較了不同噪音水平下的ResNet-164網絡和Attention-92網絡。表5顯示了結果。在相同噪聲水平下,Attention-92網絡的測試誤差明顯低於ResNet-164網絡。另外,當增加噪聲比時,Attention-92的測試誤差比ResNet-164的測試誤差下降較慢。這些結果表明,即使在高水平噪聲數據下,我們的Residual Attention Network也能表現良好。當標簽有噪聲時,相應的mask可以防止標簽錯誤引起的梯度在網絡中更新主干分支參數。這樣一來,只有主干分支是學習了錯誤的監督信息和soft mask分支masks錯誤的標簽。

Comparisons with state-of-the-art methods. 在CIFAR-10和CIFAR-100數據集上,我們將Residual Attention Network與最先進的方法進行比較,包括ResNet[11]和Wide ResNet[39]。結果如表6所示。我們的Attention-452在CIFAR-10和CIFAR-100數據集上優於所有的基線方法。值得注意的是,在相似參數大小下,Attention-92網絡對CIFAR-10的測試誤差為4.99%,對CIFAR-100的測試誤差為21.71%,而ResNet-164網絡對CIFAR-10和CIFAR-100的測試誤差為5.46%,24.33%。此外,僅使用一半的參數,Attention-236的表現就優於ResNet-1001。這表明,我們的注意力模塊和注意力殘差學習方案能夠在提高分類性能的同時有效地減少網絡中的參數數量。

 

 

 

4.2. ImageNet Classification

在本節中,我們使用ImageNet LSVRC 2012數據集[5]進行實驗,該數據集包含1000個類和120萬張訓練圖像、5萬張驗證圖像和10萬張測試圖像。評價在ImageNet LSVRC 2012驗證集的非黑名單圖像上進行測量,我們使用Attention-56和Attention-92進行實驗。網絡結構和超參數見表2。

 

Implementation.  我們的實現通常遵循前面研究[20]中的實踐。我們對原始圖像應用尺度和寬高比增強[33]。從一幅增大圖像或其水平翻轉中隨機采樣一幅224×224的裁剪圖,每像素的RGB范圍為[0,1],減去平均值,除以標准方差。我們采用標准的彩色增強[20]。該網絡使用momentum為0.9的SGD進行訓練。我們將初始學習率設置為0.1。迭代次數為200k、400k、500k時,學習率除以10。我們在53萬次迭代時終止訓練。

 

Mask Influence.  在這個實驗中,我們探討了所提出的Residual Attention Network的有效性。我們比較了Attention-56和ResNet-152[10]。ResNet-152有50個主干殘差單元和60.2×106個參數,而Attention-56有18個主干殘差單元和31.9×106個參數。我們在ImageNet驗證集上使用單一crop模式評估我們的模型,並在表7中顯示結果。Attention-56網絡的性能大大優於ResNet-152,在top-1 error上減少了0.4%,在top-5error上減少了0.26%。更重要的是,與ResNet-152相比,attention-56網絡僅用52%的參數和56%的FLOPs就獲得了更好的性能,說明本文提出的attention機制可以在降低模型復雜度的同時顯著提高網絡性能。

 

 

Different Basic Units. 實驗表明,使用不同的基本單元可以很好地推廣Residual Attention Network。我們使用三個流行的基本單元:Residual Unit、ResNeXt[36]和Inception[32]來構建我們的Residual Attention Network。為了將參數和FLOPs的數量保持在相同的范圍內,我們簡化了Inception。結果如表7所示。

當以ResNeXt為基本單元時,AttentionNeXt-56網絡性能與ResNeXt-101相同,但參數和FLOPs明顯少於ResNeXt-101。首先,AttentionIncepiton-56比Incepase-Resnet-v1[32]的表現好,top-1 error減少了0.94%,top-5 error減少了0.21%。結果表明,我們的方法可以適用於不同的網絡結構。

 

Comparisons with State-of-the-art Methods.  我們將我們在ILSVRC 2012驗證集上使用了單一crop的Attention-92的評估與最先進的算法相比較。表7顯示了結果。我們的Attention-92遠遠超過ResNet-200。top-1 error 降低了0.6%。注意,ResNet-200網絡比Attention-92多包含32%的參數。表7中所示的attention-92的計算復雜度表明,通過增加注意力機制和降低主干深度,我們的網絡比ResNet-200減少了近一半的訓練時間。結果表明,該模型具有較高的效率和良好的性能。

 

5. Discussion

我們提出了一個疊加多個注意力模塊的Residual Attention Network。我們的網絡的好處有兩個方面:它可以捕獲mixed注意力,是一個可擴展的卷積神經網絡。第一個好處在於,不同的注意模塊捕獲不同類型的注意力來指導特征學習。我們對激活函數形式的實驗也驗證了這一點:自由形式的混合注意力比有約束的注意力(包括單一注意力)有更好的表現。第二個好處是將每個注意力模塊中的top-down的注意機制編碼為bottom-up top-down的前饋卷積結構。這樣,基本的注意力模塊就可以組合成更大的網絡結構。此外,殘差注意力學習允許訓練非常深的殘差注意力網絡。我們的模型的性能超過了最先進的圖像分類方法,例如CIFAR-10的ResNet(3.90%的error),CIFAR-100的ResNet(20.67%的error),以及具有挑戰性的ImageNet數據集的ResNet(0.6%的top-1精度提高),只用了46%的trunk depth和69%的forward FLOPs(與ResNet-200比較)。在未來,我們會將深度Residual Attention Network應用於檢測和分割等不同領域,更好地探索針對特定任務的混合注意機制。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM