伍邦谷,張?zhí)K林,石 紅,朱鵬飛,王旗龍,胡清華
(1. 天津大學(xué)智能與計(jì)算學(xué)部,天津 300350;2. 中汽數(shù)據(jù)(天津)有限公司,天津 300380)
深層卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)被廣泛應(yīng)用到多種人工智能相關(guān)的任務(wù)中,例如圖像分類、目標(biāo)檢測(cè)、實(shí)例分割等,并在相應(yīng)任務(wù)中都取得了卓越的性能和效果. 但是如何在復(fù)雜場(chǎng)景和任務(wù)上進(jìn)一步提升卷積神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確率和穩(wěn)定性仍是一個(gè)非常具體挑戰(zhàn)性的問(wèn)題. 解決該問(wèn)題的一個(gè)重要思路就是提升卷積神經(jīng)網(wǎng)絡(luò)的特征學(xué)習(xí)能力,從而提升神經(jīng)網(wǎng)絡(luò)的表達(dá)和泛化能力[1].沿著這個(gè)思路,近年來(lái)研究者們?cè)谌绾芜M(jìn)一步提升深層卷積神經(jīng)網(wǎng)絡(luò)性能方面做了大量的工作[2~8],包括不斷擴(kuò)增深層卷積神經(jīng)網(wǎng)絡(luò)的深度和寬度[3~5],利用跳躍連接[6]和密集連接[7]提升深層卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練穩(wěn)定性和特征利用率. 特別地,視覺(jué)注意力機(jī)制[8]通過(guò)自適應(yīng)學(xué)習(xí)特征的重要性,對(duì)不同的特征進(jìn)行加權(quán),突出對(duì)特定任務(wù)重要的特性,壓制對(duì)任務(wù)無(wú)用或者有害的特征,實(shí)現(xiàn)樣本級(jí)別的自適應(yīng)特征選擇,從而增強(qiáng)特征學(xué)習(xí)能力,提升卷積神經(jīng)網(wǎng)絡(luò)的表達(dá)和泛化能力.
SENet[8]是利用視覺(jué)注意力機(jī)制提升深層卷積神經(jīng)網(wǎng)絡(luò)性能最具有代表性的工作之一,它通過(guò)聚合和激發(fā)操作來(lái)學(xué)習(xí)通道之間的相關(guān)性,并生成通道級(jí)的注意力圖對(duì)卷積特征進(jìn)行加權(quán). 其中,聚合操作通過(guò)全局平均池化對(duì)輸入的卷積特征進(jìn)行全局編碼,激發(fā)操作通過(guò)兩層全連接層學(xué)習(xí)通道之間的全局相關(guān)性,最后使用Sigmoid 函數(shù)對(duì)學(xué)習(xí)的相關(guān)性進(jìn)行激活從而獲得各個(gè)通道的權(quán)重.SENet在圖像分類任務(wù)上取得了非常優(yōu)異的性能,并且啟發(fā)了后續(xù)一系列關(guān)于視覺(jué)注意力機(jī)制的探索[9~14]. 例如,CBAM[9]在聚合操作中同時(shí)引入了全局均值池化和全局極大值池化,并且額外加入空間維度的視覺(jué)注意力模塊,進(jìn)一步提升了視覺(jué)注意力機(jī)制的性能. 此外,還有一些工作[10~14]通過(guò)設(shè)計(jì)一些更為精巧的視覺(jué)注意力模塊學(xué)習(xí)所有通道之間的非局部非線性相關(guān)性. 雖然這些方法在性能上得到了一定的提升,但是不可避免地引入了更多的參數(shù)和計(jì)算量,從而提升了模型復(fù)雜度,并限制了計(jì)算效率.
對(duì)于通道注意力機(jī)制而言,通道相關(guān)性建模是一個(gè)至關(guān)重要的環(huán)節(jié).ECA-Net[15]提出一種局部通道相關(guān)性建模的思想,打破了之前全局通道相關(guān)性建模的必要性假設(shè),在效率和性能上得到了非常好的平衡. 然而,無(wú)論是ECA-Net還是現(xiàn)有其他的視覺(jué)注意力方法都忽略了卷積通道相關(guān)性建模中不確定性帶來(lái)的影響.例如,由輸入數(shù)據(jù)或標(biāo)簽噪聲和缺失導(dǎo)致的卷積特征噪聲和異常值會(huì)給通道相關(guān)性估計(jì)帶來(lái)明顯的偏差和不確定性,在一定程度上限制了注意力機(jī)制的泛化能力和穩(wěn)定性. 類似的不確定性問(wèn)題已經(jīng)在深層神經(jīng)網(wǎng)絡(luò)模型中得到了研究者的關(guān)注. 貝葉斯神經(jīng)網(wǎng)絡(luò)[16]通過(guò)對(duì)深層神經(jīng)網(wǎng)絡(luò)的輸出進(jìn)行概率化建模,是實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)不確定性建模的重要手段. 然而這些貝葉斯神經(jīng)網(wǎng)絡(luò)通常具有較高的計(jì)算復(fù)雜度,特別是其推理過(guò)程. 為了緩解貝葉斯神經(jīng)網(wǎng)絡(luò)計(jì)算復(fù)雜度高的問(wèn)題,研究者針對(duì)后驗(yàn)分布的建模提出多種近似算法[17,18]. 其中,文獻(xiàn)[18]提出了一種MC Dropout 方法,并取得了較好的性能.
受到ECA-Net[15]和MC Dropout[18]的啟 發(fā),本文提出一種多分支局部通道注意力模塊(Multi-Branch Local Channel Attention,MBLCA). 如圖1 所示,在模型訓(xùn)練階段,MBLCA模塊對(duì)聚合后特征向量進(jìn)行多重采樣,使用Dropout[19]得到多個(gè)隨機(jī)生成重采樣的特征,利用權(quán)重共享的1D 卷積學(xué)習(xí)所有重采樣特征各自的局部通道之間的相關(guān)性,最終通過(guò)平均融合和Sigmoid 函數(shù)得到通道權(quán)重. 因此,MBLCA 模塊可以通過(guò)快速1D 卷積和MC Dropout 實(shí)現(xiàn)局部通道注意力機(jī)制的不確定性建模. 在模型推理階段,為了避免隨機(jī)性,直接使用訓(xùn)練好的1D 卷積進(jìn)行運(yùn)算,這也使得MBLCA 方法的推理效率與ECA-Net[15]完全一致. 通過(guò)訓(xùn)練不確定性局部通道注意力模塊,可以進(jìn)一步提升深層卷積神經(jīng)網(wǎng)絡(luò)中視覺(jué)注意力機(jī)制的泛化能力和穩(wěn)定性. 為了驗(yàn)證所提方法的有效性,本文在ImageNet[3]和MS COCO[20]數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn). 主要貢獻(xiàn)總結(jié)如下.
圖1 多分支局部通道注意力(MBLCA)模塊整體框圖
(1)嘗試通過(guò)對(duì)局部通道注意力機(jī)制進(jìn)行不確定性建模,以提高視覺(jué)注意力模塊的泛化能力和穩(wěn)定性.為此,提出了一種多分支局部通道注意力模塊(MBLCA),該模塊采用權(quán)重共享的快速1D 卷積和MC Dropout 來(lái)學(xué)習(xí)通道之間的局部相關(guān)性和建模模型的不確定性.
(2)提出的MBLCA 方法在ImageNet-1K 和MS COCO2017 數(shù)據(jù)集上針對(duì)圖像分類、目標(biāo)檢測(cè)以及實(shí)例分割等多種任務(wù)進(jìn)行了大量的實(shí)驗(yàn)驗(yàn)證. 實(shí)驗(yàn)結(jié)果表明,MBLCA方法相比于其他同類方法具有更低的模型復(fù)雜度和更好的性能,在模型復(fù)雜度和性能之間實(shí)現(xiàn)了較好的平衡.
視覺(jué)注意力機(jī)制在提升深層卷積神經(jīng)網(wǎng)絡(luò)性能方面展現(xiàn)了強(qiáng)大的潛力.SENet[8]在學(xué)習(xí)視覺(jué)注意力時(shí)建模所有通道之間的相互依賴關(guān)系,利用了通道的全局上下文信息. 在SENet[8]的基礎(chǔ)上,CBAM[9]同時(shí)引入了通道維度和空間維度的注意力模塊,并且探索了2個(gè)模塊之間不同融合方式的影響. 文獻(xiàn)[21]將注意力學(xué)習(xí)與相關(guān)濾波跟蹤算法結(jié)合,引入對(duì)目標(biāo)的空時(shí)域特性的考慮,提升了算法的精確度和成功率. DSCA-Net[22]提出了一種基于雙流信息與通道注意力的室內(nèi)檢測(cè)方法以解決計(jì)數(shù)問(wèn)題中目標(biāo)尺度多樣性的問(wèn)題. 此外,一些研究者探索了更加復(fù)雜的通道相關(guān)性學(xué)習(xí)方法以獲得更高的性能. 其中,非局部神經(jīng)網(wǎng)絡(luò)[14]提出了一種非局部模塊用于捕獲跨通道和空間位置的全局依賴關(guān)系,在視頻識(shí)別任務(wù)中取得了顯著的性能提升. 文獻(xiàn)[23]將基于深度學(xué)習(xí)的非局部注意力模塊應(yīng)用于增強(qiáng)網(wǎng)絡(luò)的圖像去雨效果,有效地解決了不同雨密度和不同大小雨條紋的問(wèn)題.GCNet[24]簡(jiǎn)化了非局部模塊[14],并且將之與SE模塊相結(jié)合得到一種更高效的全局通道依賴關(guān)系學(xué)習(xí)方式. DANet[12]、A2-Net[11]和AANet[10]在非局部模塊[14]的基礎(chǔ)上探索了更加有效的全局的依賴關(guān)系學(xué)習(xí)模塊.GSoP 模塊[13]從二階統(tǒng)計(jì)信息的角度發(fā)掘通道和空間的全局二階相關(guān)性. 上述的方法主要基于2種思路對(duì)注意力模塊進(jìn)行設(shè)計(jì):第一種思路是計(jì)算空間維度或者通道維度的注意力圖,通過(guò)利用注意力圖重加權(quán)策略實(shí)現(xiàn)特征增強(qiáng)[8,9,13];另一種思路是學(xué)習(xí)并利用空間與通道之間的長(zhǎng)距離非局部的相關(guān)性以提升模型的表達(dá)能力的方法[10~12,14]. 但是,這些方法在通過(guò)利用注意力機(jī)制提升深層神經(jīng)網(wǎng)絡(luò)模型性能的同時(shí),也引入了大量參數(shù)量和計(jì)算復(fù)雜度,影響了網(wǎng)絡(luò)模型的計(jì)算效率. 與這些方法不同,MBLCA 模塊采用局部通道視覺(jué)注意機(jī)制,用一種更加高效的方式達(dá)到同樣甚至更好的性能. 本文方法與ECANet[15]在建模通道相關(guān)性上具有相似思想,它們均采用高效的1D 卷積學(xué)習(xí)通道局部相關(guān)性. 然而,與ECANet[15]不同的是,MBLCA 通過(guò)對(duì)通道注意力模塊進(jìn)行不確定性建模,進(jìn)一步提升模型的泛化能力和穩(wěn)定性,同時(shí)不引入額外的推理代價(jià).
近年來(lái),深度學(xué)習(xí)中的不確定性建模引起了研究者們的廣泛關(guān)注. 貝葉斯神經(jīng)網(wǎng)絡(luò)[16]隨之被提出來(lái)用于解決這個(gè)問(wèn)題. 然而其存在計(jì)算復(fù)雜度高的問(wèn)題,很難應(yīng)用到實(shí)際任務(wù)中. 為此,研究者提出了多種貝葉斯神經(jīng)網(wǎng)絡(luò)的近似算法,其中包括基于抽樣的變分推理和隨機(jī)變分推理方法[18,25~27]. 特別地,文獻(xiàn)[18]提出了使用MC Dropout 方法對(duì)貝葉斯推斷進(jìn)行近似以完成深層神經(jīng)網(wǎng)絡(luò)的不確定性建模. 與此同時(shí),不確定性建模在多個(gè)領(lǐng)域都得到了廣泛的應(yīng)用. 文獻(xiàn)[28]將不確定性建模應(yīng)用于高密度椒鹽噪聲降噪方法中,并顯著提升了算法的綜合性能. 文獻(xiàn)[29]提出了一種新的空間數(shù)據(jù)不確定性建模方法,并在圖像數(shù)據(jù)上驗(yàn)證了該方法的有效性. 上述現(xiàn)有的不確定性建模方法主要關(guān)注數(shù)據(jù)的不確定性和整體模型預(yù)測(cè)的不確定性,極少關(guān)注整體模型中局部模塊的不確定性. 本文提出的MBLCA 受MC Dropout[18]的啟發(fā),引入MC Dropout 策略對(duì)局部注意力模塊進(jìn)行不確定性建模,從而進(jìn)一步提升整體神經(jīng)網(wǎng)絡(luò)模型的泛化能力和穩(wěn)定性.
在深度學(xué)習(xí)的模型設(shè)計(jì)中,多分支結(jié)構(gòu)經(jīng)常被用于學(xué)習(xí)多尺度、多視角的信息等,以提升模型的表征能力. 文獻(xiàn)[30]提出一種全局多分支RNN 對(duì)時(shí)間序列數(shù)據(jù)中時(shí)間延遲進(jìn)行建模,以增強(qiáng)網(wǎng)絡(luò)的表征能力. 不同于文獻(xiàn)[30],本文的方法(MBLCA)所設(shè)計(jì)的多分支結(jié)構(gòu)是一種局部模塊,其目的是建模通道注意力機(jī)制的不確定性,以提高神經(jīng)網(wǎng)絡(luò)的泛化能力和穩(wěn)定性. Inception 網(wǎng)絡(luò)[5]和雙通路網(wǎng)絡(luò)(Dual Path Network,DPN)[31]設(shè)計(jì)了局部多分支結(jié)構(gòu)用于提升神經(jīng)網(wǎng)絡(luò)的性能,其中Inception 網(wǎng)絡(luò)[5]采用不同尺寸的卷積運(yùn)算,形成了一種多分支結(jié)構(gòu)用于提取圖像多尺度特征;DPN[31]結(jié)合了ResNet[6]和DenseNet[7]的優(yōu)勢(shì),一邊利用殘差旁支通路復(fù)用特征,另一邊利用密集連接旁支通路探索新特征. 不同于上述這些方法,MBLCA 基于MC Dropout方法設(shè)計(jì)了多分支結(jié)構(gòu)對(duì)通道注意力機(jī)制進(jìn)行不確定性建模.
SE模塊通過(guò)建模所有通道之間的關(guān)系學(xué)習(xí)每個(gè)通道的權(quán)重. 對(duì)于任意卷積層的輸出X∈RW×H×C,其中W,H和C分別表示特征圖的寬度,高度以及通道的維度,SE模塊通過(guò)引入聚合,激發(fā)以及重校準(zhǔn)三個(gè)連續(xù)的操作得到加權(quán)后的特征圖,具體計(jì)算過(guò)程如下:
其中,W是一組可學(xué)習(xí)參數(shù),用于建模聚合后特征所有通道之間的相關(guān)性.
SE模塊的聚合操作Fsq(X)通過(guò)對(duì)卷積特征進(jìn)行全局均值池化得到其維度上的全局分布. 具體而言,對(duì)于給定的特征圖X,F(xiàn)sq:X→s∈RC對(duì)X進(jìn)行聚合操作,其中s的第c個(gè)元素計(jì)算如下:
其中,Xc表示卷積特征的第c維通道的特征圖.
隨后,激發(fā)操作Fex(s,W)采用2 個(gè)全連接層和Sigmoid 激活函數(shù)生成每一個(gè)通道的權(quán)重,其中兩個(gè)全連接層用于建模所有通道之間的相關(guān)性. 最終生成的權(quán)重ω計(jì)算如下:
其中,W=,ReLU 表示線性整流函數(shù)[32],σ為Sigmoid 激活函數(shù). 為了降低模型的復(fù)雜度,W1和W2為2 個(gè)低秩矩陣,對(duì)特征向量進(jìn)行了降維,而r表示降維的比例. 最后,權(quán)重ω通過(guò)通道級(jí)的點(diǎn)積運(yùn)算對(duì)卷積特征進(jìn)行加權(quán)重校準(zhǔn).
MBLCA 模塊同樣采用全局均值池化(Global Average Pooling,GAP)生成特征向量s. 與以往關(guān)注于建模全局通道相關(guān)性的注意力方法不同,MBLCA 方法旨在更高效建模通道之間的相關(guān)性,從而降低模型復(fù)雜度.受ECA-Net[15]的啟發(fā),本文采用快速1D 卷積建模通道之間的局部相關(guān)性. 具體而言,在聚合后的特征向量上利用快速1D 卷積計(jì)算通道的局部相關(guān)性,采取Sigmoid函數(shù)獲得各通道的權(quán)重,整體運(yùn)算過(guò)程如下:
其中,C1Dk(·)表示卷積核大小為k的1D 卷積,σ為Sigmoid激活函數(shù).
上述的局部通道注意力機(jī)制(式(4))可以非常高效地建模通道之間的相關(guān)性,并生成較為有效的通道權(quán)重. 然而,通道局部交互范圍的限制(例如,不同的通道存在不同的交互范圍)以及輸入信息自身復(fù)雜性(例如,通道特征存在潛在的噪聲或者異常點(diǎn))都會(huì)對(duì)這種通道局部相關(guān)性的建模,帶來(lái)明顯的不確定性. 為了能夠建模局部通道注意力機(jī)制存在的不確定性,在式(4)的基礎(chǔ)上引入了MC Dropout 機(jī)制,通過(guò)近似貝葉斯推斷的方式,對(duì)視覺(jué)注意力模型中的不確定性進(jìn)行建模.
在具體實(shí)現(xiàn)過(guò)程中,MBLCA 模塊中引入了一個(gè)可學(xué)習(xí)參數(shù). 對(duì)于給定的輸入s和期望權(quán)重參數(shù),MBLCA模塊期望可以學(xué)習(xí)到以下分布:
然而,式(5)是很難計(jì)算得到的. 因此,本文采用蒙特卡洛方法在較小計(jì)算量的前提下,對(duì)s進(jìn)行有限次數(shù)的重采樣. 同時(shí),Dropout 作為一個(gè)天然的隨機(jī)生成器,對(duì)重采樣的特征進(jìn)行隨機(jī)擾動(dòng),以近似后驗(yàn)分布于是,構(gòu)造了一種多分支結(jié)構(gòu),利用蒙特卡洛采樣和Dropout生成多分支通道特征向量:
如圖1(a)所示,在訓(xùn)練過(guò)程中對(duì)于聚合的通道特征先進(jìn)行重采樣和Dropout 操作,利用帶有共享權(quán)重的1D 卷積計(jì)算多分支通道特征向量的局部相關(guān)性,最后對(duì)多分支的輸出結(jié)果進(jìn)行平均聚合. 根據(jù)式(4),MBLCA模塊在訓(xùn)練過(guò)程中的權(quán)重ω可以有如下公式計(jì)算:
由式(7)可以看出,通過(guò)對(duì)輸入特征進(jìn)行多重隨機(jī)采樣,可以建模共享權(quán)重的不確定性,從而獲得更好的泛化能力和穩(wěn)定性.
在訓(xùn)練階段,所有的分支都共享同樣的1D 卷積核,因此在推理的過(guò)程中,如圖1(b)所示,未使用MC Dropout 策略以消除隨機(jī)性,并采用單分支用于最終預(yù)測(cè). 與SENet和其他的注意力方法相比,MBLCA模塊具有更低的模型復(fù)雜度,詳見3.3節(jié).
本節(jié)從引入的參數(shù)量和每秒浮點(diǎn)運(yùn)算量(FLOPs)的角度分析了提出的MBLCA 模塊的模型復(fù)雜度. 對(duì)比了3 個(gè)同類方法(即ECA 模塊[15],SE 模塊[8]和CBAM 模塊[9]). 4 種注意力模塊的參數(shù)量和每秒浮點(diǎn)運(yùn)算計(jì)算量如表1 所示,其中B表示訓(xùn)練批次的大小,H和W分別表示輸入特征圖的高度和寬度,k和n分別表示ECA模塊和MBLCA 模塊中1D 卷積核的大小以及分支數(shù)量. 如表1 所示,SE 模塊包含2 個(gè)全連接層,它的參數(shù)量和計(jì)算量分別為2C2/ r和2C2·B/r.CBAM 將通道和空間維度的注意力機(jī)制相結(jié)合,其包含的參數(shù)量和計(jì)算量分別為2C2/ r +49·2 和2C2·B/r+H·W·49·2. ECA模塊采用1D 卷積的方式學(xué)習(xí)局部通道之間的相關(guān)性,其包含的參數(shù)量和計(jì)算量分別為k和kC·B.MBLCA 模塊和ECA 模塊具有相同的參數(shù)量. 在模型訓(xùn)練階段,MBLCA模塊的計(jì)算量是ECA模塊的n倍(n為分支的數(shù)量,通常n=6). 但值得一提的是,MBLCA 模塊在模型推理階段的計(jì)算量與ECA-Net 完全相同. 因此一旦模型訓(xùn)練完成,MBLCA 模塊相比ECA 模塊未帶來(lái)額外的計(jì)算代價(jià),但提高了泛化能力和穩(wěn)定性. 顯然,相比于SE 模塊和CBAM 模塊,MBLCA 模塊具有更低的模型復(fù)雜度. 值得注意的是,這里k和n的取值通常不超過(guò)15和6.
表1 不同注意力機(jī)制方法的模型復(fù)雜度分析
為了驗(yàn)證MBLCA 方法在提升深層卷積神經(jīng)網(wǎng)絡(luò)的泛化能力和穩(wěn)定性方面的有效性. 本節(jié)利用ImageNet-1K[3]和MS COCO[20]數(shù)據(jù)集在大規(guī)模圖像分類、目標(biāo)檢測(cè)和實(shí)例分割任務(wù),以及噪聲圖像分類上對(duì)MBLCA模塊進(jìn)行驗(yàn)證. 首先,為了探索MBLCA 模塊中所包含的超參數(shù)對(duì)模型的影響,同時(shí)找到最優(yōu)的參數(shù)組合與相關(guān)工作進(jìn)行公平比較,本節(jié)在大規(guī)模圖像分類任務(wù)上對(duì)MBLCA 模塊中分支數(shù)量n,Dropout 概率p以及快速1D卷積核大小k進(jìn)行了消融實(shí)驗(yàn). 之后,基于選取的最優(yōu)超參數(shù)組合在ImageNet-1K 數(shù)據(jù)集上對(duì)比了當(dāng)前最新的同類相關(guān)方法,以驗(yàn)證MBLCA 模塊的有效性.此外,為了進(jìn)一步驗(yàn)證本文方法在不同任務(wù)上的泛化能力,以ImageNet 預(yù)訓(xùn)練的網(wǎng)絡(luò)模型作為骨干網(wǎng)絡(luò),采用Mask R-CNN[33]作為基礎(chǔ)檢測(cè)器,在MS COCO 數(shù)據(jù)集上進(jìn)行了目標(biāo)檢測(cè)和實(shí)例分割實(shí)驗(yàn). 最后,為了驗(yàn)證MBLCA 方法在提升噪聲魯棒性和穩(wěn)定性方面的有效性,采用ImageNet 預(yù)訓(xùn)練的網(wǎng)絡(luò)模型在ImageNet-C 數(shù)據(jù)集[34]進(jìn)行相關(guān)的對(duì)比實(shí)驗(yàn). 相關(guān)程序均使用PyTorch實(shí)現(xiàn),并運(yùn)行在裝備4 塊Titan Xp 顯卡和Intel Xeon(R)Silver 4112@2.60 GHz CPU的服務(wù)器上.
在ImageNet-1K 數(shù)據(jù)集上訓(xùn)練網(wǎng)絡(luò)模型時(shí),采用了與ResNet[6]相同的數(shù)據(jù)增廣方式,包括隨機(jī)裁剪、隨機(jī)水平翻轉(zhuǎn)和縮放. 采用權(quán)重衰減為1e-4,動(dòng)量為0.9,批次大小為256 的隨機(jī)梯度下降算法(Stochastic Gradient Descent,SGD)優(yōu)化網(wǎng)絡(luò)模型參數(shù). 初始學(xué)習(xí)率為0.1,每30 輪迭代減小為原來(lái)的1/10. 所有的模型都訓(xùn)練100 輪迭代. 對(duì)于MS COCO 數(shù)據(jù)集,本文以Resnet-50和ResNet-101 作為基礎(chǔ)網(wǎng)絡(luò),并采用帶有FPN[35]的Mask R-CNN[33]作為基礎(chǔ)檢測(cè)器. 輸入圖像的短邊調(diào)整為800,所有模型都使用權(quán)重衰減為1e-4,動(dòng)量為0.9的SGD 優(yōu)化算法進(jìn)行訓(xùn)練. 訓(xùn)練批次大小為8(即每張顯卡上運(yùn)算2張圖片). 初始學(xué)習(xí)率為0.01,分別在訓(xùn)練8和10輪迭代后縮減為原來(lái)的1/10,總計(jì)訓(xùn)練12輪迭代.
4.2.1 消融實(shí)驗(yàn)
本文首先在ImageNet-1K 數(shù)據(jù)集上分析MBLCA 方法中一些關(guān)鍵的超參數(shù)帶來(lái)的影響,主要包括分支的數(shù)量(n),Dropout的概率(p)以及快速1D 卷積的卷積核大小(k). 在該部分實(shí)驗(yàn)中采用ResNet-50為基礎(chǔ)模型.
(1)分支數(shù)量和Dropout 概率的影響.MBLCA 模塊中1D 卷積主要是為了學(xué)習(xí)局部通道之間的相關(guān)性,其在ECA-Net[15]中通常設(shè)置為7或者9. 分支數(shù)量和Dropout 概率是不確定性建模的2 個(gè)重要影響因素. 為了更好地驗(yàn)證2個(gè)因素的影響,此處將局部通道相關(guān)性建模范圍進(jìn)行擴(kuò)大,將k設(shè)置為11. 因?yàn)橥ǔ]^大的交互范圍中的不確定性越顯著. 這里的實(shí)驗(yàn)將p和n分別設(shè)置為0.25、0.50、0.75 和4、6、8,共計(jì)9 種組合. 實(shí)驗(yàn)結(jié)果如圖2所示,可以看到n和p對(duì)MBLCA 的性能有著明顯的影響. 當(dāng)n=6,p=0.5 時(shí),MBLCA 方法得到了最優(yōu)的性能(77.56%). 相比于基線模型(n=1,p=0,77.04%),MBLCA 方法引入不確定性建模后可以得到0.52%的性能提升,這證明了適當(dāng)?shù)牟淮_定性引入以及多樣性擾動(dòng)對(duì)于MBLCA 方法的不確定性建模十分重要. 特別是當(dāng)分支數(shù)量固定時(shí),Dropout概率取0.5時(shí)一直取得最優(yōu)的性能. 當(dāng)Dropout 概率固定時(shí),分支數(shù)量取6 時(shí)一直取得最優(yōu)的性能. 從實(shí)驗(yàn)結(jié)果可以看出n=6 和p=0.5是最優(yōu)的參數(shù)組合.
圖2 MBLCA模塊對(duì)于不同分支數(shù)量(n)和Dropout概率(p)組合的消融實(shí)驗(yàn)
(2)快速1D 卷積核大小k 的影響.接下來(lái)的實(shí)驗(yàn)采用上述最優(yōu)的參數(shù)(n=6,p=0.5)進(jìn)一步驗(yàn)證卷積核大小k的影響.1D卷積核的大小k控制著局部通道注意力機(jī)制的交互范圍. 如圖3 所示,同樣使用ResNet-50作為骨干網(wǎng)絡(luò),分別將k設(shè)置為3,5,7,9,11,13,15 進(jìn)行了7 組實(shí)驗(yàn). 相比于SENet,MBLCA 模塊在不同的設(shè)置下均保持著明顯的優(yōu)勢(shì). 同時(shí),k的變化也對(duì)模型的性能有一定的影響. 當(dāng)k=13時(shí),MBLCA 方法取得了最優(yōu)性能(77.59%). 當(dāng)k>13 時(shí),MBLCA 的性能有所損失,同時(shí)會(huì)引入更多的計(jì)算代價(jià). 當(dāng)k≤9時(shí),MBLCA 模塊的性能比較穩(wěn)定,且均低于k=13 時(shí)的結(jié)果. 同時(shí)可以看出此時(shí)MBLCA 模塊對(duì)于k的敏感度也比較低,說(shuō)明相對(duì)較大局部交互范圍中的不確定性會(huì)更突出,不確定性建模的作用也相應(yīng)越明顯. 這種現(xiàn)象表明適當(dāng)范圍的局部通道相關(guān)性建模是十分重要的. 實(shí)驗(yàn)結(jié)果表明,快速1D 卷積核大小的最優(yōu)設(shè)置是k=13. 綜上所述,在后續(xù)的實(shí)驗(yàn)中均以n=6,p=0.5,k=13 的超參數(shù)組合作為默認(rèn)設(shè)置.
圖3 MBLCA模塊對(duì)于卷積核大小k的消融實(shí)驗(yàn)
4.2.2 比較當(dāng)前最優(yōu)的同類方法
首先,以ResNet-50 和ResNet101 作為骨干網(wǎng)絡(luò),本文比較了多種當(dāng)前最優(yōu)的視覺(jué)注意力方法,包括SENet[8],CBAM[9],A2-Net[11],AA-Net[10],GSoPNet1[13]和ECA-Net[15],實(shí)驗(yàn)結(jié)果如表2所示. 在該部分實(shí)驗(yàn)中,與文獻(xiàn)[15]一樣使用自適應(yīng)尺寸的1D 卷積,可以得到0.1%~0.2%的性能提升. 當(dāng)ResNet-50 作為骨干網(wǎng)絡(luò)時(shí),MBLCA方法相比于原始的網(wǎng)絡(luò)模型,在幾乎相同的模型復(fù)雜度的情況下可以帶來(lái)2.58%的Top-1 精度提升. 與其他注意力模型相比,MBLCA 方法利用更低的模型復(fù)雜度獲得了幾乎相同甚至更好的分類精度. 當(dāng)ResNet-101作為骨干網(wǎng)絡(luò)時(shí),MBLCA 方法的Top-1精度比原始的ResNet-101 高出2.02%,與其他同類方法相比,在效率和效果上實(shí)現(xiàn)了更佳的平衡. 與ECA-Net相比,嵌入MBLCA 模塊的模型具有一樣的模型復(fù)雜度,同時(shí)帶來(lái)了0.3%左右的精度提升. 此外,10 次隨機(jī)試驗(yàn)中MBLCA 方法具有更小的方差,即更好的穩(wěn)定性.上述實(shí)驗(yàn)證明了MBLCA 方法可以提升多種網(wǎng)絡(luò)架構(gòu)的分類準(zhǔn)確率,同時(shí)令分類結(jié)果更加穩(wěn)定.
為了驗(yàn)證MBLCA 方法在更輕量化的網(wǎng)絡(luò)上的有效性,在上述實(shí)驗(yàn)的基礎(chǔ)上還以ResNet-18 作為骨干網(wǎng)絡(luò)與上述系列方法進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果表明,在保持與ResNet 和ECA-Net 幾乎相同的模型復(fù)雜度的情況下,MBLCA 方法分別帶來(lái)了0.48%和0.1%的性能提升. 同時(shí),在10次重復(fù)實(shí)驗(yàn)中,MBLCA方法具有更穩(wěn)定的性能.
最后,還與更深更復(fù)雜的卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行了對(duì)比,包括ResNet-200[36],DenseNet[7],Inceptionv3[37]. 如表2 所示,與ResNet-200 相比,MBLCA 方法使用ResNet-101 作為基礎(chǔ)網(wǎng)絡(luò)只有其近一半的模型復(fù)雜度,但是在Top-1 的準(zhǔn)確率上提升了0.65%. 另外,基于ResNet-50 的MBLCA 模型比Inception-v3 擁有更低的模型復(fù)雜度和更優(yōu)的性能. 與DenseNet-161 相比,基于ResNet-50的MBLCA模型擁有相似的分類精度,但是僅利用接近一半的計(jì)算量(FLOPs). 基于ResNet-101 的MBLCA 模型與DenseNet-161 具有幾乎一樣的計(jì)算量,但是在Top-1精度上提升了1.2%. 綜上所述,MBLCA 方法在模型分類準(zhǔn)確率與模型復(fù)雜度之間實(shí)現(xiàn)了更好的平衡,在較低模型復(fù)雜度的條件下取得了與目前主流方法相近甚至更優(yōu)的分類準(zhǔn)確率.
表2 各種當(dāng)前最優(yōu)的視覺(jué)注意力方法的分類結(jié)果
本節(jié)使用Mask R-CNN[30]作為基礎(chǔ)檢測(cè)器在目標(biāo)檢測(cè)和實(shí)例分割任務(wù)上驗(yàn)證MBLCA 模塊的泛化能力.實(shí)驗(yàn)中所有檢測(cè)器的訓(xùn)練都是在MS COCO2017訓(xùn)練集上完成的,并在MS COCO2017 驗(yàn)證集上進(jìn)行測(cè)試. 實(shí)驗(yàn)結(jié)果如表3 所示,本節(jié)在參數(shù)量、每秒浮點(diǎn)運(yùn)算量以及平均準(zhǔn)確率(mAP)等多個(gè)指標(biāo)上對(duì)所有方法進(jìn)行評(píng)估. 實(shí)驗(yàn)結(jié)果表明,MBLCA 模塊在目標(biāo)檢測(cè)和實(shí)例分割任務(wù)上都明顯優(yōu)于原始的ResNet. 用ResNet-50 和ResNet-101 作為骨干網(wǎng)絡(luò),提出的MBLCA 方法在目標(biāo)檢測(cè)(實(shí)例分割)任務(wù)上分別比SENet 提高了0.4%(0.1%)和0.7%(0.6%)的平均準(zhǔn)確率(mAP),同時(shí)降低了模型的復(fù)雜度. 與ECA-Net50(ECA-Net101)相比,MBLCA 方法在保證相同的推理復(fù)雜度的前提下,也分別得到了0.1%的平均準(zhǔn)確率提升. 上述結(jié)果表明,提出的MBLCA模塊在多種視覺(jué)任務(wù)上均具有良好的表現(xiàn)能力,能夠有效提升神經(jīng)網(wǎng)絡(luò)在下游任務(wù)上的泛化能力.
表3 各種方法在MS COCO2017驗(yàn)證集上的目標(biāo)檢測(cè)和實(shí)例分割結(jié)果
為了進(jìn)一步驗(yàn)證MBLCA方法對(duì)噪聲數(shù)據(jù)的魯棒性和穩(wěn)定性,本文利用ImageNet-C[34]噪聲數(shù)據(jù)集進(jìn)行了相關(guān)實(shí)驗(yàn).ImageNet-C[34]數(shù)據(jù)集在ImageNet-1K[3]驗(yàn)證集數(shù)據(jù)的基礎(chǔ)上引入了15 種不同的擾動(dòng)類型,主要涵蓋噪聲(Noise)、模糊(Blur)、天氣情況(Weather)、數(shù)字壓縮(Digital)四大類擾動(dòng),每種擾動(dòng)的強(qiáng)度分為5個(gè)級(jí)別. 評(píng)估階段采用文獻(xiàn)[34]中的評(píng)價(jià)指標(biāo)mCE 來(lái)評(píng)價(jià)模型的泛化能力和穩(wěn)定性,該指標(biāo)的數(shù)值越低表示模型的泛化能力和穩(wěn)定性更強(qiáng). 實(shí)驗(yàn)結(jié)果如表4所示,從表4中可以看到:當(dāng)ResNet50(ResNet101)作為骨干網(wǎng)絡(luò)時(shí),MBLCA方法相比于基礎(chǔ)模型ResNet50(ResNet101)的mCE值分別降低了5.5(3.77);與SENet 和ECA-Net 相比,MBLCA方法在mCE 指標(biāo)上分別降低了1.6(2.6)和0.87(0.54).上述結(jié)果進(jìn)一步證明了MBLCA模塊可以較為明顯地提升模型對(duì)于噪聲的魯棒性和穩(wěn)定性.
表4 各種方法在ImageNet-C數(shù)據(jù)集上測(cè)試結(jié)果
本文提出了一種多分支局部通道注意力模塊(MBLCA),核心思想是在局部通道注意力機(jī)制中引入不確定性建模,從而提升注意力模型的泛化能力和穩(wěn)定性. 實(shí)驗(yàn)結(jié)果表明,該方法在圖像分類、目標(biāo)檢測(cè)以及實(shí)例分割任務(wù)上都具有良好的性能. 本文主要探索了高效通道注意力機(jī)制中局部通道交互情況下的不確定性建模方法,如何引入非局部通道交互和空間維度的注意力機(jī)制,并對(duì)其進(jìn)行不確定性建模仍是一個(gè)值得研究的方向. 未來(lái)將在該方向上進(jìn)行深入探索,并將該思想應(yīng)用到更多的深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)中,如MobileNets[38]和Inception[5,36,37,39].