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