仇真,奚雪峰,崔志明,盛勝利,胡伏原
(1.蘇州科技大學(xué) 電子與信息工程學(xué)院,江蘇 蘇州 215000;2.蘇州市虛擬現(xiàn)實(shí)智能交互及應(yīng)用重點(diǎn)實(shí)驗(yàn)室,江蘇 蘇州 215000;3.蘇州智慧城市研究院,江蘇 蘇州 215000;4.德州理工大學(xué) 計(jì)算機(jī)科學(xué)系,美國(guó) 拉伯克79401)
深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)在圖像分類、目標(biāo)檢測(cè)、語(yǔ)義分割等方面取得較優(yōu)的效果。研究人員通過(guò)增加網(wǎng)絡(luò)的深度和寬度以提高神經(jīng)網(wǎng)絡(luò)精度,但通常增加的計(jì)算量與精度不平衡。為了使網(wǎng)絡(luò)在計(jì)算資源受限的平臺(tái)上運(yùn)行,盡可能地提高網(wǎng)絡(luò)模型的精度,知識(shí)蒸餾是網(wǎng)絡(luò)模型壓縮中常用的方法。與傳統(tǒng)的知識(shí)蒸餾方法不同,自蒸餾(Self-Distillation,SD)[1]學(xué)習(xí)方法不需要預(yù)先訓(xùn)練教師網(wǎng)絡(luò),而是對(duì)具有相同架構(gòu)的單個(gè)模型進(jìn)行知識(shí)蒸餾,以減少對(duì)復(fù)雜教師網(wǎng)絡(luò)訓(xùn)練所耗費(fèi)的成本,最大程度地提高網(wǎng)絡(luò)精度。然而,深度學(xué)習(xí)模型在學(xué)習(xí)過(guò)程中存在過(guò)擬合問(wèn)題。研究人員可以從少量的樣本中快速學(xué)習(xí)某一類事物。受此啟發(fā),小樣本學(xué)習(xí)(Few-Shot Learning,F(xiàn)SL)[2]的概念應(yīng)運(yùn)而生。小樣本學(xué)習(xí)旨在使深度學(xué)習(xí)模型根據(jù)訓(xùn)練任務(wù)之間的共性,將所學(xué)到的先驗(yàn)知識(shí)快速推廣到只含少量標(biāo)注樣本的新任務(wù)中,極大地減少了樣本數(shù)據(jù)的獲取成本和難度,并且緩解了深度學(xué)習(xí)中存在的過(guò)擬合問(wèn)題。因此,充分發(fā)揮小樣本學(xué)習(xí)在圖像分類任務(wù)上的潛力逐漸成為研究熱點(diǎn)。
在小樣本學(xué)習(xí)任務(wù)中,對(duì)于圖像分類結(jié)果的可靠性有著嚴(yán)格的要求,而圖像中相似冗余背景會(huì)對(duì)目標(biāo)特征的識(shí)別存在顯著干擾。當(dāng)面對(duì)背景非常復(fù)雜并且含有大量冗余信息的輸入圖像時(shí),注意力機(jī)制對(duì)感興趣區(qū)域(Region of Interest,ROI)[3]著重處理有助于模型精準(zhǔn)的分類。研究人員通過(guò)對(duì)提取圖像中的感興趣區(qū)域進(jìn)行處理,從而忽略圖像的冗余信息?;诙攘繉W(xué)習(xí)的方法在小樣本分類任務(wù)上取得較優(yōu)的效果,在圖像分類過(guò)程中根據(jù)頂層的特征進(jìn)行度量學(xué)習(xí)。從特征提取的角度分析,頂層的樣本特征分辨率較低,圖像的通道信息、空間信息等細(xì)節(jié)信息基本丟失,導(dǎo)致小樣本圖像分類任務(wù)的精度降低。文獻(xiàn)[4]分別使用空間注意力機(jī)制和通道注意力機(jī)制來(lái)減少分類過(guò)程中細(xì)節(jié)信息的損失,使模型獲得較高的準(zhǔn)確性。因信息減少和維度分離,這些注意力機(jī)制僅利用來(lái)自有限接受域的視覺(jué)表征。在這個(gè)過(guò)程中,它們失去了全局空間通道的相互作用,從而削弱了圖像的全局表征信息。
本文提出一種多分辨率自蒸餾網(wǎng)絡(luò)(Multi-Resolution Self-Distillation Network,MRSDN),用于解決小樣本學(xué)習(xí)任務(wù)中圖像空間冗余問(wèn)題。通過(guò)多分辨率學(xué)習(xí)的方法擴(kuò)充圖像的輸入信息。為了提升整體網(wǎng)絡(luò)的性能,將改進(jìn)的全局注意力機(jī)制(Global Attention Mechanism,GAM)融入自蒸餾學(xué)習(xí)方法中,利用順序通道-空間注意機(jī)制模塊來(lái)保留信息且放大全局跨維度的相互作用,以加快圖像的處理速度并提高模型分類的準(zhǔn)確性。
現(xiàn)有的小樣本方法可分為基于模型的方法[5-6]、基于優(yōu)化的方法[7]和基于度量學(xué)習(xí)的方法[8-10]?;谀P偷姆椒ㄊ峭ㄟ^(guò)構(gòu)建合適的元學(xué)習(xí)模型,建立輸入與預(yù)測(cè)的映射函數(shù),并不斷地在少量樣本上更新參數(shù)來(lái)獲得經(jīng)驗(yàn)知識(shí)。文獻(xiàn)[5]提出的元網(wǎng)絡(luò)具有快速泛化能力,通過(guò)學(xué)習(xí)元級(jí)知識(shí)和不同任務(wù)中轉(zhuǎn)移歸納偏差得到經(jīng)驗(yàn)知識(shí)?;趦?yōu)化的方法是在進(jìn)行小樣本學(xué)習(xí)任務(wù)時(shí),考慮到使用梯度下降方法會(huì)造成模型的擬合度降低,通過(guò)調(diào)整優(yōu)化的方式來(lái)完成小樣本學(xué)習(xí)任務(wù)。文獻(xiàn)[11]提出MAML 方法,以學(xué)習(xí)模型的初始化參數(shù),在梯度下降優(yōu)化步驟后最大限度地提高新任務(wù)的性能?;诙攘繉W(xué)習(xí)的方法是通過(guò)度量支持樣本和查詢樣本之間的距離,以實(shí)現(xiàn)不同樣本相似性的度量,并根據(jù)最近鄰原理來(lái)完成圖像分類任務(wù)。文獻(xiàn)[9]提出原型網(wǎng)絡(luò),在映射后的空間中距離越近的樣本屬于同一類別的可能性越大。每個(gè)類都有一個(gè)原型表示,類別的原型表示是獲取支持集中所有向量的均值。網(wǎng)絡(luò)根據(jù)聚類原理將輸入圖像映射到一個(gè)度量空間后,使用歐幾里得距離計(jì)算查詢集樣本到每個(gè)原型之間的距離,將小樣本分類問(wèn)題轉(zhuǎn)化為嵌入空間中的最近鄰問(wèn)題?;诙攘繉W(xué)習(xí)的方法在小樣本圖像分類方面比其他兩種方法具有更優(yōu)的性能[8-10]。
本文提出一種基于度量學(xué)習(xí)的方法,不僅使模型在訓(xùn)練過(guò)程中得到盡可能多的類,而且還強(qiáng)調(diào)每個(gè)類需要注意的時(shí)空特征,同時(shí)增大與其他類的差異。
在深度學(xué)習(xí)的背景下,本文嘗試獲得一個(gè)規(guī)模較小的模型,能達(dá)到與規(guī)模較大模型相當(dāng)?shù)男ЧH欢?,從頭訓(xùn)練一個(gè)小模型難以實(shí)現(xiàn)上述目標(biāo)。知識(shí)蒸餾通過(guò)預(yù)訓(xùn)練一個(gè)復(fù)雜的教師網(wǎng)絡(luò),并將其學(xué)到的特征表示蒸餾出來(lái),并傳遞給參數(shù)量小的學(xué)生網(wǎng)絡(luò),使學(xué)生網(wǎng)絡(luò)的性能接近預(yù)訓(xùn)練的教師網(wǎng)絡(luò),以實(shí)現(xiàn)知識(shí)遷移的目的。文獻(xiàn)[3]提出一種自蒸餾框架,該框架提供可以在不同深度提煉知識(shí)的單一神經(jīng)網(wǎng)絡(luò),使其在資源有限的邊緣設(shè)備上進(jìn)行自適應(yīng)精度與成本的權(quán)衡。相比傳統(tǒng)的知識(shí)蒸餾方法,自蒸餾學(xué)習(xí)是一段式蒸餾方法,能縮短模型的訓(xùn)練時(shí)間,并且相比其他改進(jìn)的蒸餾方法,模型的精度也得到了提升,實(shí)現(xiàn)了模型在精度和計(jì)算成本之間的動(dòng)態(tài)平衡。
自蒸餾學(xué)習(xí)方法根據(jù)增益信息的來(lái)源進(jìn)行分類,主要分為偽孿生網(wǎng)絡(luò)和深度監(jiān)督兩類。偽孿生網(wǎng)絡(luò)是指兩個(gè)較相似且權(quán)重獨(dú)立的網(wǎng)絡(luò),使用的教師和學(xué)生模型是同一個(gè)模型,在時(shí)間維度上細(xì)分為同步蒸餾與多階段蒸餾兩個(gè)子類。同步蒸餾在自監(jiān)督任務(wù)上規(guī)模較大的模型比小模型更加受益。為解決在小模型上自監(jiān)督預(yù)訓(xùn)練的問(wèn)題,文獻(xiàn)[12]提出Distill on the Go 模型,利用在線蒸餾方法來(lái)改善小模型的表征學(xué)習(xí)效果。該模型使用兩個(gè)權(quán)重獨(dú)立的相同模型作為偽孿生網(wǎng)絡(luò),使用互學(xué)習(xí)的策略讓兩個(gè)模型在同一時(shí)刻相互學(xué)習(xí),并分別作為教師和學(xué)生網(wǎng)絡(luò),使得兩個(gè)模型在相同樣本增強(qiáng)后的相似度上具有一致性。多階段蒸餾核心思想是使用之前時(shí)刻的模型作為教師網(wǎng)絡(luò),以蒸餾之后模型作為學(xué)生模型。文獻(xiàn)[13]提出一種有效的正則化方法進(jìn)行多階段蒸餾,通過(guò)提取模型本身的知識(shí),生成具有更多信息的訓(xùn)練目標(biāo),并在訓(xùn)練過(guò)程中隱式地進(jìn)行硬實(shí)例挖掘,有效地提高深度神經(jīng)網(wǎng)絡(luò)的泛化能力。深度監(jiān)督是利用模型中較深層網(wǎng)絡(luò)結(jié)構(gòu)作為教師網(wǎng)絡(luò),蒸餾原始網(wǎng)絡(luò)中較淺層的網(wǎng)絡(luò)結(jié)構(gòu)。文獻(xiàn)[3]提出的自蒸餾框架是典型的深度監(jiān)督方法,將深層網(wǎng)絡(luò)分類器作為教師網(wǎng)絡(luò),通過(guò)對(duì)網(wǎng)絡(luò)中的淺層部分進(jìn)行蒸餾。本文提出的自蒸餾網(wǎng)絡(luò)也是利用深度監(jiān)督的方式,學(xué)生和教師模型來(lái)自于相同的卷積神經(jīng)網(wǎng)絡(luò),將四層卷積作為深層網(wǎng)絡(luò),并對(duì)共享第二層卷積模塊權(quán)重的淺層網(wǎng)絡(luò)進(jìn)行蒸餾,使模型能夠在網(wǎng)絡(luò)間進(jìn)行知識(shí)轉(zhuǎn)移,顯著提高卷積神經(jīng)網(wǎng)絡(luò)的性能。
單尺度網(wǎng)絡(luò)中的下采樣操作可能會(huì)限制網(wǎng)絡(luò)識(shí)別任意尺度對(duì)象的能力。最近,研究人員提出采用多尺度特征映射網(wǎng)絡(luò)的方法,以充分利用圖像的粗粒度和細(xì)粒度特征,在許多視覺(jué)任務(wù)上顯著地提高了網(wǎng)絡(luò)的性能,包括圖像分類[14]、目標(biāo)檢測(cè)[15]、語(yǔ)義分割[16]和姿態(tài)估計(jì)[17]。
雖然通過(guò)深度神經(jīng)網(wǎng)絡(luò)獲取的高分辨率特征圖對(duì)于記錄一些特定任務(wù)是必要的,但是通常在高分辨率特征上進(jìn)行卷積操作會(huì)導(dǎo)致資源的消耗量增大。輕量級(jí)網(wǎng)絡(luò)[18]對(duì)具有低分辨率輸入的樣本具有較優(yōu)的識(shí)別率,并且在處理空間冗余問(wèn)題上也取得了較優(yōu)的效果。文獻(xiàn)[19]利用Octave Conv 模塊處理小尺度特征圖,提高計(jì)算效率和分類性能。此外,文獻(xiàn)[20]提出的AdaScale 網(wǎng)絡(luò)能自適應(yīng)地選擇輸入圖像尺度,提高視頻目標(biāo)檢測(cè)的精度和速度。
然而,現(xiàn)有的研究未考慮根據(jù)圖像中的空間冗余信息來(lái)設(shè)計(jì)一個(gè)自適應(yīng)模型。本文提出一種高效小樣本圖像分類模型,在低分辨率網(wǎng)絡(luò)上,加入全局注意力機(jī)制對(duì)輸入樣本進(jìn)行分類,利用融合策略將局部關(guān)系和全局關(guān)系自適應(yīng)地融合在一起,最終將低分辨率網(wǎng)絡(luò)中的粗粒度特征重用并融合到高分辨率網(wǎng)絡(luò)中,將高頻信息作為識(shí)別樣本的補(bǔ)充,以提高模型提取圖像表征的能力,從而顯著地提高模型的精度。
小樣本學(xué)習(xí)方法在訓(xùn)練階段可以構(gòu)造多個(gè)不同的元任務(wù),通過(guò)在這些元任務(wù)上進(jìn)行學(xué)習(xí),得到能夠快速適應(yīng)新任務(wù)的模型。與傳統(tǒng)的分類任務(wù)不同,小樣本學(xué)習(xí)的訓(xùn)練集Dtrain和測(cè)試集Dtest由來(lái)自同一類的樣本組成,小樣本學(xué)習(xí)旨在解決Dtrain和Dtest之間標(biāo)簽空間不相交的問(wèn)題。本文遵循文獻(xiàn)[21]定義的標(biāo)準(zhǔn)N-wayK-shot 分類場(chǎng)景來(lái)研究少鏡頭學(xué)習(xí)問(wèn)題。為構(gòu)建不同的新任務(wù),支持集和查詢集都會(huì)隨機(jī)產(chǎn)生不同的類別組合,通過(guò)不斷進(jìn)行周期性迭代訓(xùn)練的方式,使任務(wù)更具有普遍性,網(wǎng)絡(luò)能夠提取圖像之間的通用特征,以適應(yīng)新的支持集和查詢集。具體計(jì)算過(guò)程如式(1)和式(2)所示:
其中:Ssupport表示支持集;Squery表示為查詢集;x與y分別表示支持集中圖像以及其對(duì)應(yīng)的標(biāo)簽;N×K與C分別表示支持集與查詢集中圖像的總數(shù)量。每次從目標(biāo)數(shù)據(jù)集合Cbase中隨機(jī)選出N個(gè)類別,再?gòu)囊延械腘個(gè)類別中隨機(jī)選取k個(gè)樣本作為支持集Ssupport,N-wayK-shot 再?gòu)囊堰x的N個(gè)類別中隨機(jī)選出m個(gè)樣本組成查詢集Squery,一組查詢集和一組支持集組成一個(gè)task 任務(wù)。在學(xué)習(xí)不同的task 分類任務(wù)時(shí),不同的task 之間類別不同,訓(xùn)練任務(wù)與測(cè)試的類別不相交。
本文介紹MRSDN 的整體架構(gòu)和網(wǎng)絡(luò)細(xì)節(jié)。MRSDN 是由不同輸入分辨率的網(wǎng)絡(luò)組成,其中低分辨率網(wǎng)絡(luò)與高分辨率網(wǎng)絡(luò)共享第二層卷積模塊。低分辨率樣本由淺層子網(wǎng)絡(luò)進(jìn)行分類,其特征圖具有最低的空間分辨率。同時(shí),利用高分辨率網(wǎng)絡(luò)識(shí)別圖像中包含的高頻信息,并作為識(shí)別樣本的補(bǔ)充。最終將高分辨率網(wǎng)絡(luò)對(duì)低分辨率網(wǎng)絡(luò)進(jìn)行蒸餾,不斷優(yōu)化低分辨率網(wǎng)絡(luò),并將低分辨率網(wǎng)絡(luò)中的粗粒度特征重用并融合到高分辨率網(wǎng)絡(luò)中,以提高模型提取圖像表征的能力。多分辨率自蒸餾網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。本文提出的MRSDN 網(wǎng)絡(luò)主要由多分辨率模塊、全局注意力模塊、自適應(yīng)融合模塊和自蒸餾模塊四個(gè)部分組成。多分辨率模塊可以學(xué)習(xí)不同分辨率圖像的特征嵌入,并為輸入圖像生成豐富的深度局部描述符。每個(gè)查詢圖像和每個(gè)支持類的分布都可以在深度局部描述符的級(jí)別上表示。全局注意力模塊可以放大顯著的跨維度接受區(qū)域,以捕獲全局維度的重要交互特征。自適應(yīng)融合模塊能聯(lián)合學(xué)習(xí)得到的權(quán)值向量,將局部關(guān)系和全局關(guān)系自適應(yīng)地融合在一起,然后采用非參數(shù)最近鄰分類器作為動(dòng)態(tài)分類器。自蒸餾模塊是將深層網(wǎng)絡(luò)分類器作為教師網(wǎng)絡(luò),對(duì)共享第二層卷積模塊權(quán)重的淺層網(wǎng)絡(luò)進(jìn)行蒸餾。這四個(gè)模塊以端到端的方式從頭開始進(jìn)行聯(lián)合訓(xùn)練。
圖1 多分辨率自蒸餾網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of multi-resolution self-distillation network
2.2.1 多分辨率模塊
現(xiàn)有研究在降低圖像分辨率的同時(shí),可以減少不必要的細(xì)節(jié)特征,使得部分圖像的識(shí)別精度得到提高。受這種現(xiàn)象的啟發(fā),本文采用一種多尺度的體系結(jié)構(gòu)和密集連接的方法來(lái)構(gòu)建多分辨率網(wǎng)絡(luò)。為生成具有高分辨率的新特征圖作為輸入,本文構(gòu)建一個(gè)Regular-conv 層,該層由一個(gè)bottleneck 層和一個(gè)Regular convolution 層組成,并且每一層都包含一個(gè)批處理歸一化(BN)層、一個(gè)ReLU 層和卷積層。首先,在Regular-conv 層的卷積過(guò)程中,采用雙線性插值的方式對(duì)圖像特征進(jìn)行上采樣,保證產(chǎn)生的特征具有相同的空間分辨率,然后,將得到的特征圖通過(guò)密集連接進(jìn)行融合。將Regular-conv 層中的Regular convolution 的stride 設(shè)為2,構(gòu)建一個(gè)strideconv 層,并將其嵌入到帶有下采樣的融合塊中,以減少末端的空間分辨率,進(jìn)一步壓縮子網(wǎng)絡(luò)的特征映射,保證每次得到的分辨率都是最低的,再將得到的不同分辨率樣本數(shù)據(jù)輸入到網(wǎng)絡(luò)中,并且為輸入圖像生成豐富的深度局部描述符,使得每個(gè)查詢圖像和每個(gè)支持類的分布都可以在深度局部描述符的級(jí)別上表示。
多分辨率模塊的結(jié)構(gòu)如圖2 所示。初始層可以用于生成尺度中的基本特征,它只包括圖2 中的垂直連接。本文把初始層的垂直布局看作是一個(gè)微型的“H”層卷積網(wǎng)絡(luò)(H 是網(wǎng)絡(luò)中基本特征的數(shù)量),所提的網(wǎng)絡(luò)在初始層具有兩個(gè)尺度的基本特征。初始層生成基本特征,MRSDN 可以被劃分為兩個(gè)網(wǎng)絡(luò),這些網(wǎng)絡(luò)進(jìn)一步由不同的Conv 塊組成,以學(xué)習(xí)不同分辨率圖像的特征嵌入。其中,將空間低分辨率的特征映射送入淺層網(wǎng)絡(luò)中,以避免卷積運(yùn)算時(shí)所引起的高壓縮代價(jià),并將空間高分辨率的圖像送入深層網(wǎng)絡(luò)中獲得圖像的高級(jí)映射,使這兩種分辨率網(wǎng)絡(luò)分別得到圖像由粗到精的表征,豐富整個(gè)網(wǎng)絡(luò)的表達(dá)能力。最終,淺層子網(wǎng)絡(luò)使用其對(duì)應(yīng)的基本特征圖獲取圖像低分辨率特征,并結(jié)合深層網(wǎng)絡(luò)中第二層卷積模塊的高分辨率特征來(lái)進(jìn)行分類任務(wù)。
圖2 多分辨率模塊結(jié)構(gòu)Fig.2 Structure of multi-resolution module
2.2.2 全局注意力模塊
傳統(tǒng)通道注意力的計(jì)算方法是通過(guò)計(jì)算每個(gè)通道的權(quán)重,然后將獲得的權(quán)重應(yīng)用于每個(gè)特征通道,從而學(xué)習(xí)到不同通道的重要性。為了計(jì)算這些通道的權(quán)重,每個(gè)通道都需要標(biāo)量值來(lái)生成注意力權(quán)重,該標(biāo)量一般都是通過(guò)全局平均池化的操作獲得,這樣會(huì)導(dǎo)致空間信息大量丟失,并且通道維數(shù)和空間維數(shù)之間的相互依賴性也不存在。雖然CBAM 模型緩解了空間相互依賴的問(wèn)題,但是依然存在一個(gè)問(wèn)題,即通道注意力和空間注意力的計(jì)算是相互獨(dú)立的。為減少圖像的信息損失并放大全局維數(shù)交互特征,本文設(shè)計(jì)一種有效的全局注意力機(jī)制,采用CBAM 中的順序通道-空間注意機(jī)制,并重新設(shè)計(jì)子模塊。全局注意力模塊結(jié)構(gòu)如圖3 所示。
圖3 全局注意力模塊結(jié)構(gòu)Fig.3 Structure of global attention module
本文給定輸入特征圖F1∈RC×H×W,中間狀態(tài)F2和輸出F3的定義如式(3)和式(4)所示:
其中:MC和MS分別為通道注意力圖和空間注意力圖;?表示元素級(jí)乘法。
在通道注意子模塊中,本文使用三維排列的方式來(lái)保留三維信息,并利用一個(gè)兩層的多層感知器來(lái)放大跨維的通道-空間依賴關(guān)系。為關(guān)注空間信息,本文在空間注意子模塊中使用兩個(gè)卷積層進(jìn)行空間信息融合。同時(shí),由于最大池化會(huì)減少信息,且產(chǎn)生負(fù)向貢獻(xiàn),因此本文刪除了最大池化操作,進(jìn)一步保留特性映射。因此,空間注意模塊有時(shí)會(huì)顯著增加參數(shù)量。為防止參數(shù)量的顯著增大,本文采用帶有通道混洗的組卷積。通道注意力與空間注意力模塊結(jié)構(gòu)如圖4 所示。
圖4 通道注意力與空間注意力模塊結(jié)構(gòu)Fig.4 Structure of channel attention and spatial attention modules
文獻(xiàn)[22]提出的ResNeSt 模型在進(jìn)行分組卷積時(shí),采用通道間稀疏連接使每個(gè)卷積操作只作用于所需的特征圖,以減少模型的參數(shù)量與計(jì)算量,并避免因內(nèi)存頻繁交互所耗費(fèi)大量時(shí)間。但是該操作阻塞了不同組之間的信息傳遞,削弱了圖像的全局表征信息,并且在進(jìn)行組卷積之后,容易出現(xiàn)欠擬合現(xiàn)象,從而導(dǎo)致模型的精度下降。為保證經(jīng)組卷積之后不同組的特征圖之間能進(jìn)行信息交流,本文采用通道混洗的方法對(duì)組卷積之后的特征圖進(jìn)行重新組合。通道混洗的具體方式如下:假定將輸入層分為k組,總通道數(shù)為k×n,首先將維度拆分為(k,n)兩個(gè)維度,然后將這兩個(gè)維度轉(zhuǎn)置變成(n,k),最后重新Reshape 成一個(gè)維度,從而實(shí)現(xiàn)均勻的通道混洗目的。
對(duì)于來(lái)自前一層的特征圖,本文利用通道混洗的方式將該組的特征圖分為多個(gè)不同的子組,再將這些子組特征輸入到下一層的組中。這樣可以充分發(fā)揮組卷積的優(yōu)點(diǎn),使采用組卷積的輸入來(lái)自不同的組,因此信息可以在不同組之間流轉(zhuǎn),豐富了不同維度的信息交互。相比CBAM 等典型的注意力機(jī)制,本文方法在保持精度的同時(shí)降低計(jì)算成本,在減少信息損失的同時(shí)放大了全局交互特征。
2.2.3 自適應(yīng)融合模塊
MRSDN 通過(guò)Conv Block 定義了查詢分布和支持類分布之間的聯(lián)合非對(duì)稱分布度量,同時(shí)考慮到不對(duì)稱的局部關(guān)系和全局關(guān)系,分別使用KL 散度計(jì)算全局關(guān)系和I2C 測(cè)度產(chǎn)生的局部關(guān)系,并設(shè)計(jì)一種融合策略將局部關(guān)系和全局關(guān)系自適應(yīng)地融合。本文采用一個(gè)可學(xué)習(xí)的二維權(quán)值向量w=[w1,w2]來(lái)實(shí)現(xiàn)這種融合。由于KL 散度表示不相似性,因此本文使用KL 散度的負(fù)值來(lái)獲得相似性。查詢Q和類S之間最終融合的相似度定義如式(5)所示:
自適應(yīng)融合模塊結(jié)構(gòu)如圖5 所示,對(duì)于一個(gè)5-way 1-shot 任務(wù)和一個(gè)特定的查詢Q,I2C 分支或KL 分支的輸出是一個(gè)5 維相似向量。本文將這兩個(gè)向量相連接,得到一個(gè)10 維的向量,利用核大小為1×1 的一維卷積層,膨脹值為5,通過(guò)學(xué)習(xí)二維權(quán)值w得到一個(gè)加權(quán)的5 維相似向量。此外,在一維卷積層之前還添加一個(gè)批處理歸一化層,以平衡I2C 分支和KL 分支集聯(lián)后產(chǎn)生的相似冗余。最后,使用非參數(shù)最近鄰分類器得到最終的分類結(jié)果。同時(shí),交叉熵?fù)p失也被用來(lái)學(xué)習(xí)整個(gè)網(wǎng)絡(luò)。
圖5 自適應(yīng)融合模塊結(jié)構(gòu)Fig.5 Structure of adaptive fusion module
2.2.4 自蒸餾模塊
在深度學(xué)習(xí)網(wǎng)絡(luò)中,絕大多數(shù)預(yù)測(cè)任務(wù)使用Softmax 層給大量標(biāo)簽分配概率分布。然而,這種處理方式存在一個(gè)問(wèn)題:與正確標(biāo)簽相比,模型為所有的錯(cuò)誤標(biāo)簽分配了很小的概率,而實(shí)際上對(duì)于不同的錯(cuò)誤標(biāo)簽,其被分配的概率可能存在很大的差異。由于宏觀上這些概率都很小,這一部分知識(shí)在訓(xùn)練過(guò)程中很容易被淹沒(méi),在知識(shí)蒸餾的過(guò)程中浪費(fèi)許多先驗(yàn)概率。為充分利用這種類別之間的相似性,文獻(xiàn)[23]提出利用參數(shù)T來(lái)改變概率分布,使映射曲線變得更加平緩。概率分布如式(6)所示:
對(duì)于每個(gè)輸入類別x,模型產(chǎn)生對(duì)應(yīng)logit向量z(x),通過(guò)提高參數(shù)T使得Softmax 層的映射曲線更加平緩,因而實(shí)例的概率映射將更集中。因此,通過(guò)縮放教師網(wǎng)絡(luò)的Softmax 輸出PT(X)和學(xué)生網(wǎng)絡(luò)的PS(X),使用損失函數(shù)LKD對(duì)學(xué)生網(wǎng)絡(luò)進(jìn)行訓(xùn)練,如式(7)所示:
其中:H為交叉熵?fù)p失;α為超參數(shù)。本文根據(jù)目標(biāo)卷積神經(jīng)網(wǎng)絡(luò)的深度和原始結(jié)構(gòu),分出一個(gè)淺層神經(jīng)網(wǎng)絡(luò)作為學(xué)生網(wǎng)絡(luò),在訓(xùn)練期間深層網(wǎng)絡(luò)被視為教師網(wǎng)絡(luò)。與傳統(tǒng)的自蒸餾方法不同,本文將注意力機(jī)制融入到自蒸餾學(xué)習(xí)中,并構(gòu)建一個(gè)從深層到淺層的反饋連接,使網(wǎng)絡(luò)能夠從圖像的多分辨率角度進(jìn)行表征學(xué)習(xí),從而加強(qiáng)網(wǎng)絡(luò)的整體特征表達(dá)能力。MRSDN 通過(guò)共享不同層次的注意力權(quán)重,并將不同層次網(wǎng)絡(luò)提取到的注意力特征圖送入分類器中,分別得到高維與低維預(yù)測(cè)的概率分布,然后根據(jù)預(yù)測(cè)的概率分布,通過(guò)深層網(wǎng)絡(luò)對(duì)淺層神經(jīng)網(wǎng)絡(luò)進(jìn)行蒸餾。相比Distill on the Go 模型[12]使用的兩個(gè)權(quán)重獨(dú)立的相同模型作為偽孿生網(wǎng)絡(luò),本文方法有助于連續(xù)層次之間的交互學(xué)習(xí),能夠更快地在全局特征中提取圖像的通用特征,將教師網(wǎng)絡(luò)較強(qiáng)的特征提取能力嵌入到學(xué)生網(wǎng)絡(luò)中,極大地提升了學(xué)生網(wǎng)絡(luò)的性能。
本文在常用的數(shù)據(jù)集Mini-ImageNet 和Tiered-ImageNet 上對(duì)設(shè)計(jì)的網(wǎng)絡(luò)框架進(jìn)行對(duì)比,以驗(yàn)證小樣本分類問(wèn)題的性能,通過(guò)消融實(shí)驗(yàn)驗(yàn)證模型中相關(guān)模塊的有效性。本文項(xiàng)目代碼地址為https://github.com/MRSDN/Project,相關(guān)數(shù)據(jù)集地址為https://lyy.mpi-inf.mpg.de/mtl/download。
小樣本分類任務(wù)中兩個(gè)經(jīng)典的數(shù)據(jù)集分別為Mini-ImageNet 和Tiered-ImageNet。Mini-ImageNet是ImageNet 的子集,包含100 個(gè)類,每個(gè)類別包含600 張圖像。本文把樣本集分為64、16 和20 個(gè)類,分別用于訓(xùn)練、驗(yàn)證和測(cè)試。Tiered-ImageNet 總共有608 個(gè)類別,每個(gè)類別有1 281 張圖像。在該數(shù)據(jù)集上,本文對(duì)其拆分為351、97 和160 個(gè)類別,分別用于小樣本學(xué)習(xí)的訓(xùn)練、驗(yàn)證和測(cè)試。對(duì)于Mini-ImageNet 和Tiered-ImageNet 數(shù)據(jù)集,所有圖像的分辨率都調(diào)整為84×84 像素。
本文將MRSDN 與近年來(lái)前沿的小樣本圖像分類模型進(jìn)行比較,基線模型主要有:1)MAML 模型[11],能夠?qū)⑾闰?yàn)知識(shí)公式化為跨任務(wù)的通用初始化,以快速適應(yīng)新的任務(wù),而強(qiáng)制共享初始化可能會(huì)導(dǎo)致任務(wù)間產(chǎn)生沖突,沖突程度在不同任務(wù)以及神經(jīng)網(wǎng)絡(luò)的各個(gè)層之間存在不同的差異;2)L2F 模型[24],是一種動(dòng)態(tài)控制強(qiáng)制共享初始化的方式,以降低強(qiáng)制初始化對(duì)給定任務(wù)和神經(jīng)網(wǎng)絡(luò)各層先驗(yàn)知識(shí)的影響;3)MetaOptNet-RR 模型[25],使用線性預(yù)測(cè)器作為MAML 中的基礎(chǔ)學(xué)習(xí)器來(lái)提高泛化能力;4)MatchingNet 模型[26],是一種通用的網(wǎng)絡(luò)架構(gòu),利用訓(xùn)練樣本嵌入空間中的注意力機(jī)制來(lái)預(yù)測(cè)測(cè)試樣本的類別;5)RMN-RPN 模型[27],是一個(gè)基于度量學(xué)習(xí)和注意力機(jī)制的小樣本學(xué)習(xí)的新框架,能夠更好地度量圖像的相似性;6)ProtoNet 模型[28],通過(guò)神經(jīng)網(wǎng)絡(luò)得到樣例的向量化表示,然后計(jì)算向量化表示之間的相似度或者距離來(lái)判斷樣例是否為同一類別,與MatchingNet 相同,在度量特征向量的距離上都使用了固定的度量方式;7)IMP模型[29],與ProtoNet 表示每個(gè)類的原型方法不同,利用無(wú)限混合原型自適應(yīng)地表示簡(jiǎn)單和復(fù)雜的數(shù)據(jù)分布;8)ECMF 模型[30],是一種學(xué)習(xí)嵌入的方法,利用嵌入式類模型的方式代替ProtoNet 中類原型的學(xué)習(xí);9)RelationNet 模型[31],不僅在樣本的嵌入階段進(jìn)行學(xué)習(xí),而且在距離度量方式上也發(fā)生了改變;10)CovaMNet 模型[32],通過(guò)計(jì)算查詢樣本與每個(gè)類別的分布一致性,構(gòu)建協(xié)方差度量,并將其作為關(guān)系測(cè)度;11)ATLNet 模型[33],是一種自適應(yīng)任務(wù)感知局部表示網(wǎng)絡(luò),在整個(gè)任務(wù)中自適應(yīng)地選擇重要的局部塊;12)DN4 模型[34],采用基于局部描述符的圖像到類的度量,尋找與輸入圖像最接近的類別;13)ADM 模型[35],相比于DN4 的非對(duì)稱度量,更適用于基于度量的小樣本學(xué)習(xí)。
本文通過(guò)多組實(shí)驗(yàn)對(duì)這些網(wǎng)絡(luò)模型的相關(guān)代碼進(jìn)行重現(xiàn),在訓(xùn)練小樣本學(xué)習(xí)過(guò)程中存在每組數(shù)據(jù)隨機(jī)獲取的特性,實(shí)驗(yàn)結(jié)果的誤差在標(biāo)準(zhǔn)范圍內(nèi),驗(yàn)證了本文基準(zhǔn)網(wǎng)絡(luò)模型的準(zhǔn)確性。
本文所有的實(shí)驗(yàn)均在Ubuntu18 的環(huán)境下測(cè)試,根據(jù)深度學(xué)習(xí)的特點(diǎn),模型的性能在很大程度上取決于網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)和參數(shù)的初始化。本文選擇Conv64 作為特征提取器,在訓(xùn)練和測(cè)試階段按照標(biāo)準(zhǔn)的元學(xué)習(xí)方法,即在訓(xùn)練和測(cè)試的每一個(gè)任務(wù)中數(shù)據(jù)嚴(yán)格按照N-wayK-shot 形式。本文均采用5-way 1-shot 和5-way 5-shot 的形式來(lái)得到模型的準(zhǔn)確率。每次新任務(wù)都隨機(jī)抽取5 個(gè)類別,每個(gè)類別的訓(xùn)練數(shù)據(jù)只有1 個(gè)樣本,即組成一個(gè)5-way 1-shot任務(wù),在每個(gè)類別上只有5 個(gè)樣本的情況下訓(xùn)練本文模型。在訓(xùn)練過(guò)程中,本文選用Adam 作為優(yōu)化器,網(wǎng)絡(luò)學(xué)習(xí)率設(shè)置為0.001,每訓(xùn)練10 000 次學(xué)習(xí)率減半。由于Tiered-ImageNet 數(shù)據(jù)集規(guī)模較大并且類別復(fù)雜,因此每訓(xùn)練25 000個(gè)任務(wù)后,即訓(xùn)練250 次后,學(xué)習(xí)率減少1/2。在測(cè)試過(guò)程中,從測(cè)試數(shù)據(jù)集中隨機(jī)抽取600 個(gè)批次的分類結(jié)果的平均準(zhǔn)確率作為評(píng)價(jià)標(biāo)準(zhǔn),以衡量模型的精度。本文提出的MRSDN 網(wǎng)絡(luò)是以端到端的形式進(jìn)行訓(xùn)練,不需要在測(cè)試階段進(jìn)行微調(diào)。
本文在Mini-ImageNet 和Tiered-ImageNet 數(shù)據(jù)集上對(duì)MRSDN 網(wǎng)絡(luò)和基線網(wǎng)絡(luò)進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果表明,與其他的先進(jìn)網(wǎng)絡(luò)相比,本文所提網(wǎng)絡(luò)在分類任務(wù)上的準(zhǔn)確率有較大的提升,說(shuō)明本文模型能夠有效地用于小樣本的分類任務(wù)。
3.4.1 在Mini-ImageNet 數(shù)據(jù)集上的結(jié)果分析
為了評(píng)估模型的性能,本文在Mini-ImageNet數(shù)據(jù)集上將MRSDN 網(wǎng)絡(luò)與其他的小樣本分類網(wǎng)絡(luò)進(jìn)行對(duì)比。在Mini-ImageNet數(shù)據(jù)集上,不同網(wǎng)絡(luò)的分類精度如表1 所示。本文網(wǎng)絡(luò)在5-way 1-shot、5-way 5-shot 任務(wù)上都具有較優(yōu)的表現(xiàn)。
表1 在Mini-ImageNet 數(shù)據(jù)集上不同網(wǎng)絡(luò)對(duì)5-way任務(wù)的分類精度對(duì)比Table 1 Classification accuracy of 5-way tasks by different networks on Mini-ImageNet dataset
從表1 可以看出,本文提出的MRSDN 與其他的小樣本分類網(wǎng)絡(luò)相比,在Mini-ImageNet數(shù)據(jù)集上的精度得到顯著提升。與ATLNet網(wǎng)絡(luò)相比,本文網(wǎng)絡(luò)在5-way 1-shot和5-way 5-shot任務(wù)上的準(zhǔn)確率分別提高2.04 和1.13 個(gè)百分點(diǎn)。通過(guò)分析可知,ATLNet 雖然可以自適應(yīng)地識(shí)別和加權(quán)不同的關(guān)鍵局部部分的重要性,但是未同時(shí)考慮局部與全局關(guān)系的不對(duì)稱性。MRSDN 考慮到非對(duì)稱度量更適合于基于度量的小樣本學(xué)習(xí),設(shè)計(jì)一種融合策略將局部關(guān)系和全局關(guān)系自適應(yīng)融合,并通過(guò)多分辨率模塊和自適應(yīng)特征融合模塊獲得標(biāo)簽得分,不僅能融合多個(gè)分辨率的預(yù)測(cè)分?jǐn)?shù),還能平衡不同分辨率之間的預(yù)測(cè)結(jié)果,從而得到更高的分類精度。Mini-ImageNet 是一個(gè)多種類的數(shù)據(jù)集,因此在該數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果從側(cè)面驗(yàn)證了本文模型具有較優(yōu)的魯棒性。
3.4.2 在Tiered-ImageNet 數(shù)據(jù)集上的結(jié)果分析
相比Mini-ImageNet 數(shù)據(jù)集,Tiered-ImageNet 數(shù)據(jù)集不僅具有較大的數(shù)據(jù)量并且每個(gè)類別包含數(shù)量不等的多個(gè)圖像樣本。為驗(yàn)證模型的泛化能力,本文在Tiered-ImageNet 數(shù)據(jù)集上采取5-way 1-shot、5-way 5-shot 兩種實(shí)驗(yàn)方式進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表2所示。
表2 在Tiered-ImageNet 數(shù)據(jù)集上不同網(wǎng)絡(luò)對(duì)5-way任務(wù)的分類精度對(duì)比Table 2 Classification accuracy of 5-way tasks by different networks on Tiered-ImageNet dataset
從表2 可以看出,與其他小樣本分類網(wǎng)絡(luò)相比,基于多分辨率自蒸餾網(wǎng)絡(luò)的MRSDN 在Tiered-ImageNet數(shù)據(jù)集的5-way 1-shot、5-way 5-shot 任務(wù)上具有較優(yōu)的分類精度。在5-way 1-shot 和5-way 5-shot 任務(wù)上,與ADM 網(wǎng)絡(luò)相比,本文網(wǎng)絡(luò)的準(zhǔn)確率分別提高3.55 和2.78 個(gè)百分點(diǎn)。ADM 網(wǎng)絡(luò)采用一種任務(wù)感知訓(xùn)練策略,以增強(qiáng)度量的效果,而本文所提的MRSDN 網(wǎng)絡(luò)能夠從不同分辨率角度提取圖像更細(xì)致的特征信息,在此基礎(chǔ)上,利用自蒸餾的方法有效地優(yōu)化模型的訓(xùn)練策略,以緩解網(wǎng)絡(luò)在訓(xùn)練過(guò)程中存在的過(guò)擬合問(wèn)題,以提高模型的精度。MRSDN 在不同數(shù)據(jù)集上具有較強(qiáng)的圖像表征能力和較優(yōu)的泛化性能。
為分析每個(gè)模塊對(duì)網(wǎng)絡(luò)模型產(chǎn)生的影響,在Mini-ImageNet數(shù)據(jù)集上本文使用控制變量法進(jìn)行消融實(shí)驗(yàn)。本文消融實(shí)驗(yàn)結(jié)果如表3 所示。表中MRM 表示多分辨率模塊,GAM 表示全局注意力模塊,SDM 表示自蒸餾模塊,ADM 表示自適應(yīng)融合模塊。
表3 消融實(shí)驗(yàn)結(jié)果Table 3 Ablation experiment results
當(dāng)模型消去多分辨率模塊,僅存在單分支圖像輸入時(shí),本文考慮到反向傳播對(duì)模型訓(xùn)練過(guò)程產(chǎn)生的影響,去除作用相似的自蒸餾模塊。實(shí)驗(yàn)結(jié)果表明,多分辨率模塊能夠從不同的分辨率角度提取特征,減少圖像的空間冗余信息,有利于更好地表達(dá)圖像的細(xì)節(jié)信息,使模型的分類精度得到顯著提高。若不考慮全局特征的交互,會(huì)導(dǎo)致模型對(duì)于圖像的抗噪聲能力降低,模型的分類精度較低。因此,本文在5-way 1-shot、5-way 5-shot 任務(wù)上引入自蒸餾學(xué)習(xí)方法,同時(shí)使用多分辨率模塊和全局注意力模塊提高網(wǎng)絡(luò)的性能,從而極大地抑制網(wǎng)絡(luò)的過(guò)擬合現(xiàn)象。
本文提出一種用于小樣本圖像分類的多分辨率自蒸餾網(wǎng)絡(luò)(MRSDN)。從多分辨率角度,利用淺層子網(wǎng)絡(luò)處理圖像的粗粒度特征,同時(shí),通過(guò)高分辨率網(wǎng)絡(luò)學(xué)習(xí)更加精細(xì)的特征。從空間和通道特性角度,使用自適應(yīng)融合模塊將全局與局部關(guān)系相融合,有針對(duì)性地提取圖像之間的空間和通道信息,提高網(wǎng)絡(luò)提取圖像特征的能力,通過(guò)自蒸餾學(xué)習(xí)的方法實(shí)現(xiàn)模型內(nèi)高效的知識(shí)遷移。在Mini-ImageNet 和Tiered-ImageNet 兩個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,MRSDN 具有較優(yōu)的小樣本圖像分類性能。后續(xù)將考慮構(gòu)建多組不同分辨率表示的學(xué)生網(wǎng)絡(luò),以提取圖像的關(guān)鍵特征,并改變網(wǎng)絡(luò)中共享權(quán)重的模塊數(shù)量,進(jìn)一步提升小樣本圖像分類的準(zhǔn)確率。