許 暢,王朝輝
(武漢科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,湖北 武漢 430065)
有研究證明在尺度和通道維度方面增加注意力機制,能夠有效地提高卷積網(wǎng)絡(luò)的表達能力[1-2]。SE-net[3]對樣本圖像的所有通道做全局池化,將每一個通道的二維特征壓縮為一個實數(shù),該文認為這個實數(shù)具有單通道上全局的感受野,將這個通道向量經(jīng)過兩層全連接分析特征通道之間的相關(guān)性,得到代表每一個通道重要性程度的權(quán)重,這些權(quán)值可以讓神經(jīng)網(wǎng)絡(luò)重點關(guān)注某些通道。Inception系列網(wǎng)絡(luò)[4-5]在網(wǎng)絡(luò)模型中加入了多尺度,它讓并聯(lián)的卷積層擁有不同的權(quán)重,這相當(dāng)于在尺度層面上增加了注意力機制。
該文在像素級的空間層面運用了注意力機制,提出了一種對樣本特征圖進行處理的卷積網(wǎng)絡(luò)分支(feature augment block,以下簡寫為FA-block),這種結(jié)構(gòu)的輸入來自樣本圖片的一張掩膜,通過學(xué)習(xí)掩膜前后景的數(shù)據(jù)分布模式,為特征圖中的每一個像素訓(xùn)練得到一個得分值權(quán)重,以此將樣本中的前后景區(qū)分開來,以突出特征圖中的目標(biāo),讓主干網(wǎng)絡(luò)學(xué)習(xí)到更加健壯的特征表達。FA-block作為主干網(wǎng)絡(luò)的分支,同樣可以被梯度下降算法優(yōu)化,可以實現(xiàn)端到端的訓(xùn)練。將目標(biāo)檢測模型Faster Rcnn[6]作為基線,數(shù)據(jù)集選擇微軟的MS COCO[7]數(shù)據(jù)集,在沒有添加額外的數(shù)據(jù)增強手段和訓(xùn)練技巧的情況下,增添了FA-block的網(wǎng)絡(luò)模型相較于基線取得了5.5%的準確率提升。
卷積神經(jīng)網(wǎng)絡(luò)具有表征學(xué)習(xí)的能力,它是當(dāng)前深度學(xué)習(xí)領(lǐng)域最常用的特征提取方法之一。為了減少計算量、提高計算機資源的利用率,大多數(shù)卷積網(wǎng)絡(luò)習(xí)慣使用3×3的卷積核作為特征提取器,這增加了卷積網(wǎng)絡(luò)的非線性表達能力,同時也一定程度上增加了網(wǎng)絡(luò)的層數(shù)[8]。VGGNets[9]和Inception家族證明了卷積網(wǎng)絡(luò)越深,特征表達能力越好,但是樣本數(shù)據(jù)經(jīng)過太深層次的卷積可能導(dǎo)致數(shù)據(jù)失真。ResNets[10]提出了層間殘差跳連,將底層的特征映射到上層特征圖上,這使得深層神經(jīng)網(wǎng)絡(luò)成為可能。FA-block中多次用到1×1的卷積,1×1卷積在Network in Network[11]中被提到,后來也被應(yīng)用在GoogLeNets的Inception結(jié)構(gòu)中。在FA-block中,掩膜的數(shù)據(jù)分布是十分簡單而干凈的,經(jīng)過1×1卷積之后的特征圖獲得了非線性特征,經(jīng)過一次單層卷積,一次三層卷積之后,三層通道的信息得到交互和整合,具有極高性價比。
數(shù)據(jù)增強是神經(jīng)網(wǎng)絡(luò)訓(xùn)練之前的預(yù)處理手段[12],很多常見的數(shù)據(jù)增強手段,例如翻轉(zhuǎn)、旋轉(zhuǎn)、縮放、位移、裁減等通過對原圖像作簡單變換來生成新的樣本數(shù)據(jù),通常用來彌補樣本數(shù)量的不足,還有一些特殊的數(shù)據(jù)增強方法用于完成特定的任務(wù)要求。文獻[13]針對小目標(biāo)的識別,對數(shù)據(jù)集里的每一個小目標(biāo)過采樣,然后通過預(yù)先的復(fù)制、粘貼手段在原始圖像上大量生成小目標(biāo),以此提高小目標(biāo)的檢測精度。PGAN[14]將生成對抗網(wǎng)絡(luò)引入目標(biāo)檢測來生成具有超分辨率的圖像,這使得模型能夠?qū)W習(xí)到的特征數(shù)量大大提高。該文提出的FA-block也屬于數(shù)據(jù)增強方法,但是它并不提高圖像的數(shù)量和多樣性,而更關(guān)注圖像的質(zhì)量,它在主干網(wǎng)絡(luò)的基礎(chǔ)上額外增添了一個網(wǎng)絡(luò)分支用于強化樣本中目標(biāo)的特征,和傳統(tǒng)的數(shù)據(jù)增強手段不同,它的優(yōu)化過程是自主性的,網(wǎng)絡(luò)分支上的權(quán)重可以被梯度下降算法優(yōu)化并且可以實現(xiàn)端到端的訓(xùn)練。
生物的視覺系統(tǒng)傾向于傾注更多的注意力在重要目標(biāo)上,通過借鑒這種生物學(xué)觀點,注意力機制開始被用于計算機領(lǐng)域,在計算資源有限的情況下,注意力機制允許對更為重要的信息投入更多的算力,從而實現(xiàn)資源的高效利用[15]。相比于硬注意力,該文更加專注于軟注意力,軟注意力專注于空間區(qū)域或者是通道,它可以通過網(wǎng)絡(luò)直接生成并且是可微的,這意味著它能通過神經(jīng)網(wǎng)絡(luò)計算出梯度,然后由反向傳播來優(yōu)化。Inception-net想要消除尺度對于識別結(jié)果的影響,它一次使用多個不同大小的過濾器來捕獲特征,它讓并聯(lián)的多個卷積層擁有不同的權(quán)重大小,從而實現(xiàn)尺度維度的注意力機制。STN[16]認為之前的pooling方法太過暴力,直接將信息合并可能導(dǎo)致重要的信息被遺漏,于是提出了一種叫空間轉(zhuǎn)換器的模塊,這種模塊是基于注意力機制實現(xiàn)的,訓(xùn)練出來的空間轉(zhuǎn)換器能識別出圖片中需要被關(guān)注的信息。通道維度的注意力機制也可以用于增強模型的魯棒性,SE-net為每一個通道的特征圖作最大池化,它認為最大池化之后獲得的數(shù)值點具有全局的感受野,它通過兩層全連接層來分析不同通道之間的關(guān)聯(lián)性,最后為特征圖的每一個通道分配一個權(quán)重。文獻[17]不僅僅是對空間域或者通道域添加注意力,它提出的注意力mask可以看作是給每一個特征元素賦予一個權(quán)重,這就同時形成了空間和通道域的注意力機制。FA-net作為一個相對輕量級的空間門機制,它從掩膜的數(shù)據(jù)分布來訓(xùn)練得到樣本空間域上的重要性程度,以此來削減背景噪聲的印象,對目標(biāo)傾注更多的關(guān)注。
卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的是數(shù)據(jù)的分布模式,一個直觀的想法是如果一個濾波模板能夠過濾掉樣本中的背景雜質(zhì),進而突出樣本中的目標(biāo),那么后續(xù)的神經(jīng)網(wǎng)絡(luò)層就能提取到更加健壯的目標(biāo)特征,F(xiàn)A-block扮演的就是這種濾波模板的角色。FA-block是一種相對簡單的結(jié)構(gòu),它由一個網(wǎng)絡(luò)分支和添加到主干網(wǎng)絡(luò)的幾層1×1卷積組成,并不要求大量的參數(shù)或者權(quán)重,所以它能很方便地用于現(xiàn)有的許多網(wǎng)絡(luò)結(jié)構(gòu)中。
FA-block的結(jié)構(gòu)如圖1所示,它分成兩個部分,上分支的輸入是樣本掩膜的特征圖,經(jīng)過兩層卷積核大小為1×1的卷積,首先將通道壓縮,然后重新拉伸,這個過程是為了交換掩膜通道間的信息,同時在保證尺度不變的情況下為特征圖提供較大的非線性特性。下分支的輸入是樣本特征圖,對它進行同樣的1×1卷積,為其添加非線性特性。上分支的輸出經(jīng)過了兩次ReLU激活函數(shù),可以把它看作是對下分支特征圖的每一個像素點給出的得分值,把這個得分值作為權(quán)重與下分支的輸出作點乘運算,得到的FA-block的輸出,認為這種結(jié)構(gòu)區(qū)別了前景和后景,突出了代表目標(biāo)的像素,F(xiàn)A-block的輸出可以作為輸入被喂入后續(xù)的神經(jīng)網(wǎng)絡(luò)層。
圖1 特征增強模塊
對于從實例掩膜輸入的一張X∈RH×W×C特征圖,通過Fconv變換將其轉(zhuǎn)換為特征圖UH×W×C',其中C'=C/t(t是一個超參數(shù),一般默認它為3,超參數(shù)的選擇在第3節(jié)有實驗論證),F(xiàn)conv指代一次卷積操作,V=[v1,v2,…,vc']代表的是卷積過程中會用到的c'個過濾器,計算過程表示如下:
(1)
(2)
1×1的卷積并不能提取特征圖空間上隱含的信息,它的作用是整合通道上的信息并為掩膜的濾波模板提供更多的非線性表達,使其作為主干網(wǎng)絡(luò)的權(quán)重能夠更好的擬合。兩層1×1卷積首先將通道數(shù)降維,然后再將通道升維成原本的維數(shù),這樣能夠在不影響主干網(wǎng)絡(luò)的情況下添加FA-block,因此濾波模板分支的輸出可以被寫作如下公式(σ代表ReLU激活函數(shù)):
Sc=Ftrans(X)=σ(fconv'(Uc))=
σ(fconv'(σfconv(X)))
(3)
為了保證數(shù)據(jù)分布的一致性,對主干網(wǎng)絡(luò)的特征圖同樣進行兩次1×1卷積來整合通道間的特征,然后將濾波模板的每一個像素點作為主干特征圖的權(quán)重映射到特征圖上,得到FA-block的輸出:
(4)
本節(jié)設(shè)計了一系列的實驗來證明FA-block對卷積網(wǎng)絡(luò)表征能力的增強作用,本節(jié)在不同深度的主干網(wǎng)絡(luò)上添加了FA-block模塊,測試FA-block嵌入在網(wǎng)絡(luò)不同的層數(shù)時的圖像分類效果,將效果最好的嵌入方式用于目標(biāo)檢測數(shù)據(jù)集MS COCO做對比實驗,確保FA-block在不同計算機視覺任務(wù)和數(shù)據(jù)集上的泛化能力,最后討論了超參數(shù)t的選擇。
FA-block不會對主干網(wǎng)絡(luò)特征圖的尺寸、通道數(shù)產(chǎn)生影響,所以它可以被添加到網(wǎng)絡(luò)的任意位置來強化網(wǎng)絡(luò)的特征提取。分別用ResNet-50、ResNet-101、ResNet-152作為橫向?qū)Ρ鹊幕€,將FA-net作為網(wǎng)絡(luò)分支加入到基線的不同層數(shù):底層(Conv1層)、中間層(Conv3_x層)、頂層(Conv5_x層)前面來測試模型準確率的提升。
FA-block中需要用到掩膜,所以實驗選擇在圖像分類數(shù)據(jù)集PASCAL VOC2012 Augmented Dataset[18]上進行。該數(shù)據(jù)集由兩個數(shù)據(jù)集合二為一制作而成:PASCAL VOC2012和Semantic Boundaries Dataset,數(shù)據(jù)集包含有10 582張圖像用于訓(xùn)練,1 449張圖像用于驗證,1 456張圖像用于測試,提供20種不同種類的物體用于分類。
實驗中,分別將FA-block添加到三種不同基線的底部、中層和頂層。對于將FA-block嵌入Conv1層前,無需再對掩膜進行額外的操作,將掩膜的png格式數(shù)據(jù)轉(zhuǎn)化為RGB三通道之后作為輸入送入FA-block的濾波模型分支;Conv3_1要求輸入是56×56×256的尺寸,掩膜輸入到FA-block前需要通過卷積對其尺寸、通道數(shù)做調(diào)整,出于計算量的考慮,只對掩膜做單次Conv1和Conv2_1卷積;Conv5_1要求的輸入是14×14×1 024的尺寸,于是對掩膜進行單次Conv1、Conv2_1、Conv3_1、Conv4_1卷積,然后送入到FA-block中。
三種基線和與之對應(yīng)的FA-block改進版本均采用相同的優(yōu)化策略,遵循了實踐標(biāo)準對樣本進行224×224的隨機裁減,隨后進行隨機水平翻轉(zhuǎn)來增強數(shù)據(jù),選擇了momentum為0.9的同步SGD優(yōu)化方法,每一個minibatch設(shè)置為128,學(xué)習(xí)率設(shè)置為0.01,基線和其對照網(wǎng)絡(luò)的錯誤率變化趨勢如圖2所示。
圖2 基線的不同層加入FA-block后的top-1 error變化趨勢
表1顯示的是三種不同嵌入方式下的top-1 error對比,對于三種不同深度的網(wǎng)絡(luò),在底層嵌入FA-block都取得了良好的效果,實際上,在Conv1層之前嵌入FA-block使得ResNet-50的top-1 error從24.7%減少到22.6%,相比于ResNet-101的23.5%的錯誤率更小,但是ResNet-101需要的計算量幾乎是FA-ResNet-50的兩倍。
表1 不同層加入FA-block后的 top-1 error對比 %
將FA-block嵌入到ResNet101和ResNet152的底層也降低了錯誤率,雖然不如FA-ResNet-50明顯,但是它們也用極小的計算代價換取了相當(dāng)可觀的精確度提升,這證明FA-block這種數(shù)據(jù)增強結(jié)構(gòu)抑制了圖像中的噪聲部分并增強了目標(biāo)特征,幫助網(wǎng)絡(luò)學(xué)習(xí)到了更關(guān)鍵性的特征。
注意到將FA-block插入到Conv3_x前和Conv5_x前的實驗并沒有取得理想的結(jié)果,嵌入到Conv3_x前相較原始版本準確率有些微的下降,嵌入到Conv5_x下降幅度則更大,猜測這是因為掩膜的數(shù)據(jù)分布經(jīng)過多層卷積的尺寸、維度調(diào)整,它的數(shù)據(jù)分布模式和原始數(shù)據(jù)的特征圖出現(xiàn)了較大的偏差,因此不能有效地對樣本特征圖的特征增強做出指導(dǎo),想要緩解這種偏差可以讓掩膜和樣本做相同的卷積變換,但是這樣大量增加了網(wǎng)絡(luò)的計算量,并不是一種性價比高的、值得用于實踐的方法。
為了更進一步地驗證FA-block的有效性,將這種結(jié)構(gòu)用于目標(biāo)檢測的權(quán)威數(shù)據(jù)集MS COCO來確認精準度的提升。MS COCO數(shù)據(jù)集是微軟于2014年出資開發(fā)和維護的大型圖像數(shù)據(jù)集,和PASCAL VOC數(shù)據(jù)集相比,COCO數(shù)據(jù)集中的圖片包含了自然圖片以及生活中常見的目標(biāo)圖片,背景更加復(fù)雜,單張圖片中目標(biāo)的數(shù)量更多,目標(biāo)的尺寸更小,因此MS COCO數(shù)據(jù)集上的目標(biāo)檢測任務(wù)更難。對于檢測任務(wù)來說,衡量一個模型的好壞更加傾向于使用MS COCO數(shù)據(jù)集上的檢測結(jié)果,使用的MS COCO數(shù)據(jù)集包含有80k的訓(xùn)練數(shù)據(jù),35k的驗證數(shù)據(jù)和5k的測試數(shù)據(jù)。
實驗中用到了文獻[6]中經(jīng)典的目標(biāo)檢測模型Faster rcnn,其中使用不同層數(shù)的ResNet作為模型的backbone,實驗中要做的就是用對應(yīng)的FA-ResNet替換原始的ResNet,這樣就能通過模型準確率的變化知道FA-block在檢測模型中發(fā)揮的作用。在訓(xùn)練過程中使用文獻[6]中的設(shè)置學(xué)習(xí)超參數(shù)的方法,訓(xùn)練周期相較文獻[6]來說要短,使用基礎(chǔ)學(xué)習(xí)率0.01在四塊GPU上迭代了2.1k次,使用SGD作為優(yōu)化方法,momentum設(shè)置為0.9,權(quán)重衰減為0.000 1,訓(xùn)練時分別在0.5k、1.5k的時候?qū)W(xué)習(xí)率下降0.1倍。權(quán)重由ImageNet的預(yù)訓(xùn)練模型初始化,其他參數(shù)都參照Faster Rcnn的baseline進行設(shè)置。
實驗結(jié)果如表2所示。
表2 不同層數(shù)的FA-ResNet和相應(yīng)基線的 目標(biāo)檢測指標(biāo)對比 %
FA-ResNet-50相較于其基線ResNet-50在MS COCO上提升了2.1%的標(biāo)準AP指標(biāo)(達到5.5%的相對精進),并且在AP@IoU=0.5上提升了3.0%,已經(jīng)超過了ResNet-101在AP上的59.9%和AP@IoU=0.5上的39.6%。FA-ResNet-101和FA-ResNet-152在AP上也分別取得了1.7%和1.5%的提升??偠灾@一系列的實驗證明了FA-block在目標(biāo)檢測領(lǐng)域也能起到正向的收益,對于提高模型的表達能力而言確實是一種行之有效并且極具性價比的方法。
第2節(jié)中提到的通道削減倍率t是一個超參數(shù),t設(shè)置不同的數(shù)值,F(xiàn)A-block的表征能力和計算量都會不同,從眾多備選方案中找到一個合適的值能讓模型在準確率和計算量的增加之間達到一個平衡。采取不同的t值在ResNet-50上設(shè)計了實驗,數(shù)據(jù)集采用的是PASCAL VOC2012 Augmented Dataset,超參數(shù)的設(shè)置和第3.1節(jié)中相同,實驗結(jié)果如表3所示。
表3 超參數(shù)t的不同取值對模型 準確率和參數(shù)量的影響
隨著通道削減倍率t的增加,F(xiàn)A-block附加的計算量也在減小,模型的準確率增加,t的取值達到3以后在準確率和計算量之間達到了相對的平衡。然而在實際的使用中,超參數(shù)t的選擇必須根據(jù)自身模型的實際情況做出取舍,該文給出的是FA-block運用于ResNet時候的參考。
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)對樣本圖像的特征進行籠統(tǒng)的提取,沒有明確區(qū)分圖像的前后景,這就導(dǎo)致高頻的背景噪音對模型的擬合產(chǎn)生影響,降低了神經(jīng)網(wǎng)絡(luò)的準確率。因此,提出了FA-block,一種基于空間注意力的神經(jīng)網(wǎng)絡(luò)分支用作樣本特征圖的濾波模板,旨在突出特征圖中的目標(biāo)特征,適當(dāng)抑制特征圖中的背景噪聲,使得卷積網(wǎng)絡(luò)能夠提取到更能代表目標(biāo)特征分布模式的、更具表現(xiàn)力的模型。通過不同數(shù)據(jù)集上的實驗證明了FA-block結(jié)構(gòu)確實能夠在圖像分類和目標(biāo)檢測任務(wù)中以極低的計算代價提高模型的表達能力,希望這種結(jié)構(gòu)也能在更復(fù)雜、對模型表現(xiàn)力要求更高的任務(wù)中發(fā)揮作用。