王方,喬瑞萍
(西安交通大學信息與通信工程學院,710049,西安)
卷積神經網絡是一種著名的深度學習架構,其靈感來自于生物的自然視覺感知機制[1-2]。2012年,Alex等使用8層的深度卷積神經網絡以絕對優(yōu)勢獲得了ImageNet競賽冠軍[3],卷積神經網絡在圖像識別中達到了前所未有的準確度。卷積神經網絡從此廣泛應用于圖像分類、目標檢測、語義分割等計算機視覺領域[4]。
靈長類動物的視覺系統(tǒng)接受了大量的感官輸入,這些感官輸入遠遠超過了大腦能夠完全處理的程度。然而,并非所有刺激的影響都是相等的。意識的聚集和專注使靈長類動物能夠在復雜的視覺環(huán)境中將注意力引向感興趣的物體[5]。人類可以自然有效地在復雜場景中找到突出區(qū)域,受這一觀察的啟發(fā),注意力機制被引入計算機視覺[6]。
注意力機制可以使卷積神經網絡關注于感興趣的信息,同時抑制不必要的信息,基于輸入特征完成權重的動態(tài)調整。注意力機制在許多視覺任務中取得了巨大成功[7-11]。研究結果表明:在網絡中添加注意力機制可以有效地提高網絡的表達能力[12]。
注意力機制可以分為通道注意力機制、空間注意力機制、通道空間混合注意力機制等。通道注意力機制旨在對卷積網絡中不同通道賦予不同的重要性,其中經典算法就是擠壓和激勵注意力(SE)[13]模塊,它通過建模特征通道之間的相互依賴關系,自適應地學習每個特征通道的重要程度[14]??臻g注意力機制旨在對卷積網絡的空間域不同位置賦予不同的重要性,例如借鑒非局部均值方法的非局部神經網絡(Non-local Neural Networks)[15]??臻g注意力機制和通道注意力機制可以同時加入到網絡中,如卷積注意力機制模塊(CBAM)[16],也取得了優(yōu)異的效果。
縱觀這些注意力機制方法,人們總是考慮壓縮某一維度以獲得所需要的信息,例如通道注意力模塊一般是通過在特征圖上進行空間維度壓縮以得到不同通道的重要程度,而空間注意力模塊在通道維度進行壓縮以得到不同位置的重要程度。卷積神經網絡的不同的通道通常代表著不同模式[17],特征圖對不同輸入的響應也應該不同。考慮了對每一張?zhí)卣鲌D分別獲取其重要性,本文提出了一種新的輕量級空間分割注意力模塊(SPAM),可以對每一張?zhí)卣鲌D分別進行建模,增強網絡本身的特征表達能力。
深度學習通過使用反向傳播算法來發(fā)現(xiàn)大型數(shù)據(jù)集中的復雜結構,以指示機器應該如何改變其內部參數(shù)。一定程度上,卷積神經網絡可以自適應地建模圖像空間和通道維度的關系,當然這并不意味著它總是可以找到最佳方式。卷積神經網絡會自適應地學習一些關系,注意力機制更像是加入了額外的約束,使網絡向期待的方向訓練優(yōu)化。
注意力機制可以認為是對某些維度的建模,自適應地預測潛在的關鍵特征,例如SE在通道維度去強化重要的通道,抑制無用的通道。注意力機制近幾年也有許多相關工作,例如有效通道注意力(ECA)[18]一文中,Wang等認為避免降維對于學習通道注意力非常重要,故而提出了一種不降維的局部跨信道交互策略;坐標注意力(CA)[19]一文中,Hou等認為位置信息對于生成空間選擇性非常重要,因此將通道注意力分解為兩個一維特征編碼過程,分別沿兩個空間方向聚合特征。
通道注意力機制總是直接壓縮空間維度的信息以獲取不同通道間的關聯(lián)性,這會損失大量的空間信息,而使得在某些任務中效果較差。關注空間重要性的注意力機制中,例如非局部神經網絡利用特征圖中所有位置的特征加權信息計算出每一個位置的響應,計算量非常大,這也導致像素級的建模方法難以實際應用; CBAM等混合注意力機制在獲取空間上重要性時先進行通道融合或通道壓縮來減小計算量,再去獲取特征圖不同位置的重要性;CA則采取分別對X、Y方向建模的方法,再獲取重要性。
通道融合或壓縮時也會損失一些信息,同時每一幅特征圖的空間上的注重點可能不同,本文考慮在不進行通道融合或壓縮的情況下,同時簡化像素級建模方法的運算,獲取不同位置和不同通道特征的重要性。在空間金字塔池化(SPP)[20]網絡中,SPP塊采用了固定池化窗口數(shù),改變池化窗口大小的池化方式,從而讓任意尺寸的輸入產生固定維度的輸出;DC-SPP-YOLO[21]中提出了SPP-YOLO,其中的SPP塊沒有將特征圖調整為具有固定維度的特征向量,而是使用固定尺寸的滑動窗口池化來提取并融合多尺度局部區(qū)域特征??梢哉J為特征圖在某一部分上包含的特征數(shù)是固定值,而用一定的提取特征去表征它。本文通過將特征圖壓縮來獲得特征,也即獲取注意力時通過自適應的池化來提取空間上的特征。
網絡獲取空間注意力的部分大多是通過通道融合或壓縮得到的,但不同通道通常表征不同模式,必然會有不同之處,這樣的處理方式過于粗糙。本文方法考慮對每一張?zhí)卣鲌D分別進行建模,不考慮每一像素和其他所有像素之間的關系,而是考慮它在這張?zhí)卣鲌D中的重要程度,去突出空間中較為重要的部分,也即是特征所在位置。本文提出了一種簡單有效的注意力模塊SPAM。SPAM使用池化操作去提取空間塊特征,并將其作為空間點特征,縮小特征圖尺寸從而減小計算量。SPAM在不進行通道上的融合或其他操作的情況下,獲得所有特征圖的空間位置的重要性,通過對每張?zhí)卣鲌D進行空間位置的建模以最大程度地保留空間上的信息,同時對噪聲等特異像素點進行抵抗。
SPAM可以分為特征提取、特征標定、通道重建和特征聚合4個步驟。SPAM結構示意圖如圖1所示,輸入特征圖經過一系列處理后會被重新加權,重要的特征更加明顯,與大多數(shù)常見注意力機制相同,它可以方便地嵌入到多種CNN架構中。
對于輸入張量的中間特征圖F,尺寸為C×H×W,其中C表示特征通道數(shù),H表示特征圖的高度,W表示特征圖的寬度,SPAM的處理過程如下。
F1=αFAvg+βFMax
(1)
步驟2使用實例標準化(IN)層獲取注意力特征圖。一般認為對網絡響應值更高的地方更為重要,此處可以認為在原始特征圖中的塊狀區(qū)域尋找特征是否會出現(xiàn),或出現(xiàn)概率的高低,讓網絡關注到更重要的地方;同時IN層在全局上進行強化或抑制,可以進一步區(qū)分特征。接下來使用深度可分離卷積層學習空間位置上的重要性,由于IN層破壞了通道上的關系,所以此處不再采用普通卷積,同時可以節(jié)省參數(shù)和計算量。最終使用Sigmoid激活函數(shù)將學習到的權重歸一化,并乘以輸入F1,得到F2。處理過程如下式
F2=σ(DW-Conv(IN(F1)))F1
(2)
式中σ表示Sigmoid激活函數(shù);DW-Conv表示深層卷積操作;IN表示實例標準化操作。
F3=σ(GroupConv(F2))
(3)
式中GroupConv表示分組卷積操作。
步驟4插值操作。當前的特征圖F3大小為C×h×w。針對每一通道,在像素所在塊的位置上得到了注意力權重。為了對原始特征圖進行重標定,此處選擇使用最近鄰插值方式將其恢復成尺寸為C×H×W的特征圖,并與輸入特征圖F相乘得到最終標定后的輸出特征圖,處理過程如下式
F4=Interpolate(F3)F
(4)
為了評估SPAM,在常用分類數(shù)據(jù)集ImageNet-1K[22]、CIFAR-100、Food-101上進行了實驗。本節(jié)描述了實驗設置,進行了一系列消融實驗,以證明所提出的SPAM中每個組件對性能的貢獻,從而證明了SPAM設計方案的有效性。將本文方法與之前的一些輕量級注意力機制進行了比較,獲得了更好的性能,這證明了SPAM的強大。還在其他不同大小的數(shù)據(jù)集上進行了驗證,以證明SPAM的魯棒性。最后,采用Grad-CAM[23]工具直觀地觀察模型在預測時關注的圖像區(qū)域,從而更好地理解網絡的決策過程和預測依據(jù)。所有的實驗網絡均在PyTorch[24]框架下實現(xiàn)。
在這些消融實驗中,使用的是ImageNet-1K數(shù)據(jù)集,并選擇ResNet50[25]作為注意力模塊的主干模型。在訓練期間,使用衰減和動量為0.9的標準SGD優(yōu)化器來訓練所有模型。權重衰減設置為0.000 01,初始學習率為0.02。使用1個NVIDIA GPU進行訓練,批量大小設置為64。在沒有額外聲明時將ResNet50作為基線網絡,所有模型都訓練了90個Epoch。對于數(shù)據(jù)增強,使用與ResNet[25]中相同的方法。
在消融實驗中,驗證了SPAM中不同組件的有效性,并探索了特征提取方式和重建通道維度的方法對網絡的影響,以促進SPAM達到最佳性能。
首先探究了不使用池化、在原始特征圖上獲取注意力的方法,也即去掉最開始特征提取和最后插值部分,直接生成注意力去標定特征圖;IN層所起作用是在每張?zhí)卣鲌D上區(qū)分特征重要性,可以使網絡獲得全局性,此處也顯示了去除IN層的結果;探究了去除通道重建部分的SPAM,結果是網絡性能大幅下降。此處將這幾種不同構建方法分別命名為SPAM(無池化)、SPAM(無IN層)、SPAM(無通道重建),實驗結果見表1。注意力模塊SPAM的組件每一部分都有其作用,可以使網絡性能更佳。
表1 SPAM組件消融實驗結果
在最初的特征提取模塊中,使用了兩個可訓練參數(shù)α和β,用于平均池化特征和最大池化特征之間的自適應提取,這兩個特征之間的自適應機制可以豐富特征圖,并允許它們具有完整的關系。與只使用最大池化、只使用平均池化、組合無參數(shù)(平均池化和最大池化的特征圖權重都取0.5)的方法作了比較。為了便于標記,這幾種方法分別命名為SPAM(最大池化)、SPAM(平均池化)、SPAM(組合無參數(shù))。不同池化方式的SPAM加入網絡后進行分類實驗的結果見表2,可以看到,在使用不同的池化特征時,雖然相較基線網絡都有一定的提升,但SPAM所采用的自適應池化達到了最高的精度。
表2 不同池化方式的SPAM加入網絡后進行分類實驗的結果
在通道重建部分,采用分組卷積來簡單重建通道之間的依賴關系。此處也使用了類似SE中的壓縮激勵方法,記為SPAM-SE。這兩種方法的作用相同,參數(shù)也相差不大。對比了這兩種方法在不同的組數(shù)g或壓縮比率r時的情況。不同通道重建方式的SPAM加入網絡后進行分類實驗的結果見表3,SPAM使用簡單分組卷積增加了少量參數(shù),即可帶來網絡性能提升。
表3 不同通道重建方式的SPAM加入網絡后進行分類實驗的結果
在整個消融實驗中,確定了SPAM的最終方案,SPAM采用所有配置中效果最佳的組件和參數(shù)。在下面的實驗中,將使用SPAM與其他的注意力機制進行比較,以驗證它的有效性。
將SPAM與其他輕量級注意力機制進行了比較,包括常用的SE、ECA、CBAM和CA。在ImageNet-1K數(shù)據(jù)集上進行圖像分類實驗,使用相同的網絡和配置來嚴格評估注意力模塊。遵循消融實驗(第2.1節(jié))中提到的訓練規(guī)則,將不同的注意力模塊嵌入網絡架構。ImageNet-1數(shù)據(jù)集分類結果見表4,由表4可以看出,嵌入SPAM模型的網絡相比基線網絡有明顯的提升,準確率提升了約1.08%,這表明SPAM確實可以提高網絡的表示能力。此外,添加了這幾種注意力機制的網絡增加的參數(shù)與計算量都較小,在可接受的范圍內,效果相比基線網絡都有一定提升,這也體現(xiàn)了注意力機制的作用。在這幾種注意力機制中,參數(shù)量和計算量最少的ECA對網絡的提升效果最低,而緊隨其后的SPAM增加了微量參數(shù)和計算量,達到了最好的效果,超出CA、SE、CBAM等方法。使用SPAM的模型達到了最高的精度,這表明本文提出的方法是有效的。
表4 ImageNet-1K數(shù)據(jù)集分類結果
為了更全面地評估本文所提算法,也在其他的數(shù)據(jù)集上進行了圖像分類實驗,以下顯示了在CIFAR-100和Food-101數(shù)據(jù)集上的分類結果。
CIFAR-100數(shù)據(jù)集是由100個類、60 000張3通道RGB彩色圖像組成,每張圖片尺寸為32×32像素,每類含有600張圖像,其中含有50 000張訓練圖像和10 000張測試圖像。采用基線網絡為ResNet50(第一層使用的卷積核的大小為3×3、步長為1,并去掉了第一個最大池化層),在訓練期間,使用衰減和動量為0.9的標準SGD優(yōu)化器來訓練所有模型。權重衰減設置為0.000 5,初始學習率為0.01,批量大小設置為128,共訓練160輪次。CIFAR-100數(shù)據(jù)集分類結果見表5,可以看到SPAM在此數(shù)據(jù)集上相較基線網絡準確率提升了約2.46%,相較其他注意力機制取得了最好的結果。
表5 CIFAR-100數(shù)據(jù)集分類結果
Food-101數(shù)據(jù)集是由101個類,101 000張3通道RGB彩色圖像組成,每類含有1 000張圖像,其中共含有75 750張訓練圖像和25 250張測試圖像。此處所采用的基線網絡為ResNet50,在訓練期間,使用衰減和動量為0.9的標準SGD優(yōu)化器來訓練所有模型。權重衰減設置為0.000 5,初始學習率為0.01,批量大小設置為8,共訓練100輪次。Food-101數(shù)據(jù)集分類結果見表6,可以看到SPAM在此數(shù)據(jù)集上相較基線網絡準確率提升了約1.09%,相較其他注意力機制也取得了最好的結果。
表6 Food-101數(shù)據(jù)集分類結果
RegNet是Radosavovic等[26]于2020年提出的一種卷積神經網絡架構,它結合了手動設計與神經架構搜索,最終得到的網絡相比之前的在性能上有較大的提升。RegNet具有RegNetX和RegNetY兩種不同架構,這兩種架構的區(qū)別在于RegNetY中加入了SE模塊,效果也更好一些。此處采用了和50層網絡的ResNet50計算量最相近的浮點運算次數(shù)約為4.0×109的架構RegNetY-4.0GF作為基線網絡,在Food-101數(shù)據(jù)集上進行訓練與評估,并使用其他的注意力機制直接替換RegNetY-4.0GF中的SE模塊以進行對比。改用其他注意力機制的網絡分別記為RegNetY-ECA、RegNetY-CBAM、RegNetY-CA和RegNetY-SPAM,實驗結果見表7。
表7 使用RegNetY的Food-101數(shù)據(jù)集分類結果
RegNet是通過神經架構搜索得到的,與ResNet等手動設計的網絡有很大不同,例如很多時候RegNet的通道數(shù)增加并不是成倍增長,每階段中的層數(shù)也不盡相同。從表7可見,RegNetY-4.0GF相較ResNet50所使用的參數(shù)量和計算量都稍少一些,最終的準確率卻有相當大的增長,這體現(xiàn)了RegNet的強大性。相較原本使用SE模塊的RegNetY-4.0GF網絡,準確率增長較多的是使用了ECA和SPAM的新架構,因為它們都采用了不降維的方法,能夠更好地適應網絡的變化。SPAM相較缺少位置信息的ECA,提升效果更好,對于準確率已相當高的RegNetY-4.0GF網絡,使用SPAM直接替換其中的SE模塊仍能增加約0.72%的準確率。
表5、表6實驗結果與表4得到的分布基本相符,而在表7中由于所采用基線網絡的變化,不降維的方法更好。在這些不同的實驗中,加入SPAM的網絡都取得了最好的表現(xiàn)。在這幾種不同大小數(shù)據(jù)集上以及應用了不同網絡時的分類結果,證明了SPAM的魯棒性良好,能夠應用于不同情況。
為了能夠更直接地反映SPAM的優(yōu)勢,使用Grad-CAM作為可視化工具,在最后一個構建塊中生成使用了不同注意力機制的模型特征圖的可視化。Grad-CAM可以解釋CNN如何通過使用梯度來計算卷積層的重要區(qū)域來進行分類決策?;贗mageNet-1K數(shù)據(jù)集中的圖片將不同注意力機制的可視化結果進行了比較,結果如圖2所示,在每張原始圖像的頂部顯示了它的真實標簽。SPAM的可視化結果在覆蓋目標類別區(qū)域方面優(yōu)于其他網絡。這說明了SPAM確實可以使網絡學會專注于目標所在區(qū)域,且相較其他注意力方法能更精確地定位感興趣的目標。可以推測,SPAM模塊可以引導網絡更加關注重要的特征,而忽略不重要的特征。
圖2 Grad-CAM可視化結果Fig.2 The visualization results by Grad-CAM
本文對注意力機制進行了一些研究,提出了一種新的輕量級、有效的注意力模塊SPAM,它通過池化操作先減少計算量,可以在不經過通道融合或壓縮的情況下獲取所有特征圖的注意力。SPAM可以方便地嵌入CNN架構中,以顯著提高網絡性能。在特征提取方面,同時使用了平均池化和最大池化操作,并添加了自適應機制,以提取更為豐富、全面、有效的特征;通過先池化以局部塊特征代替點特征實現(xiàn)空間注意力的獲取,使用IN層和深層卷積捕獲全局空間注意力;使用了分組卷積完成通道維度重建,插值恢復獲得整體注意力。最終注意力模塊可以使網絡有效地關注目標所在區(qū)域,提高網絡的性能。在ImageNet-1K數(shù)據(jù)集上進行的消融實驗,證明了設計方案的有效性。為了評估SPAM的效果,將其與SE、ECA和CBAM、CA等輕量級注意力模塊進行了比較,在ImageNet-1K、 CIFAR-100、Food-101數(shù)據(jù)集上進行驗證,并使用Grad-CAM可視化了網絡的關注區(qū)域。實驗結果表明,SPAM有效提高了CNN的表達能力,且對不同的分類數(shù)據(jù)集和不同的網絡架構具有魯棒性。SPAM可以促使網絡更加關注目標對象所在區(qū)域,這也是注意力機制的意義所在。SPAM有望作為一個重要組件應用于計算機視覺任務。