趙長(zhǎng)樂(lè),何利力
(浙江理工大學(xué)信息學(xué)院,浙江 杭州 310018)
隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在計(jì)算機(jī)視覺(jué)領(lǐng)域的廣泛應(yīng)用,各種不同功能的網(wǎng)絡(luò)結(jié)構(gòu)被融合到CNN 中。圖像分類是計(jì)算機(jī)視覺(jué)中最基礎(chǔ)的任務(wù),其數(shù)據(jù)集龐大規(guī)范,輸出結(jié)果簡(jiǎn)潔明了,可以很好地評(píng)判網(wǎng)絡(luò)結(jié)構(gòu)的性能優(yōu)劣[1]?,F(xiàn)有CNN 體系結(jié)構(gòu)大多利用下采樣(池化)層減小隱藏層中特征圖的尺寸,通過(guò)池化層可以獲得更大的感受野和更少的內(nèi)存消耗。目前廣泛使用的最大池化、平均池化、跨步卷積(使用步幅大于1的滑動(dòng)窗口)通過(guò)在滑動(dòng)窗口中采用不同下采樣策略得到池化結(jié)果。例如,LeNet-5[2]將下采樣層作為CNN 中的基本層,通過(guò)在滑動(dòng)窗口中對(duì)特征值進(jìn)行求和以降低圖像的空間分辨率;VGG[3]、GoogleNet[4]和DenseNet[5]使用平均池化或最大池化作為下采樣層;ResNet[6]采用跨步卷積作為下采樣層;全局平均池化[7]、ROI pooling[8]和ROI align[9]將任意大小的特征圖縮放為固定大小,從而使網(wǎng)絡(luò)能夠適配不同大小的輸入。
在CNN 廣泛應(yīng)用前,已有一些關(guān)于池化方法的研究。例如,Boureau 等[10]比較了傳統(tǒng)方法中平均池化和最大池化的性能,并證實(shí)在特征較稀疏的情況下,最大池化相較平均池化可以保留更多判別特征,效果更好;Wang 等[11]、Xie 等[12]研究結(jié)果表明,對(duì)于一個(gè)給定的分類問(wèn)題,最優(yōu)池化類型可能既不是最大池化也不是平均池化,而是介于兩者之間的某個(gè)類型池化。這一結(jié)論說(shuō)明學(xué)習(xí)池化策略十分必要,本文便是遵循這一研究思路,得到的結(jié)果進(jìn)一步支持了該結(jié)論。
池化的最新研究集中在如何通過(guò)新的池化層更好地縮小CNN 中的特征圖方面。例如,F(xiàn)ractional max-pooling[13]和S3pool[14]對(duì)池化空間變換的方式進(jìn)行了改進(jìn);Mixed pooling[15]和Hybrid pooling[16]使用最大池化和平均池化的組合形式執(zhí)行下采樣;Lp pooling[17]以Lp 范數(shù)的方式組合特征值,可將其視為由p 控制的最大池化和平均池化之間的結(jié)合體。以上方法可以結(jié)合最大池化和平均池化進(jìn)一步提高網(wǎng)絡(luò)性能,但也只是簡(jiǎn)單地基于平均池化、最大池化或它們的組合學(xué)習(xí)更好的下采樣方式,不具有普適性?;诖耍琒aeedan 等[18]提出細(xì)節(jié)保留池化法(Detail-Preserving Pooling,DPP),認(rèn)為圖像中的細(xì)節(jié)應(yīng)該被保留,冗余的特征可以被丟棄。DPP的細(xì)節(jié)保留準(zhǔn)則是計(jì)算滑動(dòng)窗口中像素的統(tǒng)計(jì)偏差,是一種啟發(fā)式方法,可能不是最優(yōu)的;Zhu 等[19]提出的Weighted pooling 將信息熵理論與池化相結(jié)合,通過(guò)分析特征圖上的每個(gè)特征值得到輸入與輸出特征圖各處的互信息大小,以每個(gè)滑動(dòng)窗口中包含信息量最大的點(diǎn)作為池化結(jié)果。該池化方式同樣是手工制作,且結(jié)果受計(jì)算精度影響,并不一定是最優(yōu)池化結(jié)果。
本文將池化操作視為對(duì)特征值的加權(quán)求和,不同池化策略對(duì)應(yīng)不同大小的權(quán)重。在下采樣過(guò)程中,并非池化區(qū)域中所有像素的貢獻(xiàn)都相等,某些特征比池化窗口中的其他特征更具區(qū)分性,且對(duì)于不同的識(shí)別任務(wù),區(qū)分性大的像素點(diǎn)也可能不同。如圖1(彩圖掃OSID 碼可見(jiàn),下同)所示,對(duì)于同一幅圖片,若任務(wù)目標(biāo)為識(shí)別花的種類,則紅色代表更大的區(qū)分性,應(yīng)被給予更大權(quán)重;若任務(wù)目標(biāo)為識(shí)別天氣狀況,則藍(lán)色代表更大的區(qū)分性,應(yīng)被給予更大權(quán)重。因此,應(yīng)根據(jù)任務(wù)類型不同使用不同的池化策略,在每個(gè)池化窗口中對(duì)各像素分配與其區(qū)分能力大小相對(duì)應(yīng)的權(quán)重。傳統(tǒng)池化方法在池化窗口內(nèi)對(duì)權(quán)重的分配方式固定不變,針對(duì)不同類型任務(wù)無(wú)法做到將細(xì)節(jié)都妥善保存,若使用不恰當(dāng)?shù)南虏蓸硬呗詴?huì)使模型性能降低。本文提出的自適應(yīng)加權(quán)池化方法給予每個(gè)池化層一組權(quán)重參數(shù),這些權(quán)重參數(shù)可使網(wǎng)絡(luò)根據(jù)不同任務(wù)類型自行變換池化策略,通過(guò)最小化損失函數(shù)的方式選取最優(yōu)池化方法。
Fig.1 Different downsampling strategies under different tasks圖1 不同任務(wù)下的不同下采樣策略
為分析現(xiàn)有下采樣方式存在的問(wèn)題并加以改進(jìn),從加權(quán)求和的角度出發(fā)提出一個(gè)用于下采樣層的統(tǒng)一函數(shù)表達(dá)式。具體來(lái)說(shuō),對(duì)給定輸入特征圖I,經(jīng)池化后得到輸出特征圖O,對(duì)應(yīng)的下采樣過(guò)程可以表述為:將I中左下坐標(biāo)為(x1,y1),右上坐標(biāo)為(x2,y2)的滑動(dòng)窗口映射到O中輸出位置為(x0,y0)處,用函數(shù)表示為:
式中,Ix,y為輸入特征圖(x,y)處的特征值;Ox0,y0為輸出特征圖(x0,y0)處的特征值;wx,y為權(quán)重參數(shù),表示(x,y)處特征值在池化時(shí)被分配的權(quán)重大小。對(duì)于2×2 大小,步長(zhǎng)為2的滑動(dòng)窗口而言,x2-x1=2,y2-y1=2,x1=2x0,且為使權(quán)重參數(shù)之和為1的性質(zhì)在式中得以體現(xiàn),可將其表示為:
式中,F(xiàn)(·)稱為重要性函數(shù),作用在滑動(dòng)窗口中的每個(gè)特征值上,得到的函數(shù)值反映了I中對(duì)應(yīng)位置特征對(duì)于該任務(wù)的區(qū)分性大小,且F(x) ≥0。因此,可將池化過(guò)程函數(shù)表示為:
該函數(shù)將池化過(guò)程分為兩個(gè)步驟:首先對(duì)滑動(dòng)窗口中各特征值的重要性進(jìn)行歸一化得到權(quán)重,然后根據(jù)權(quán)重大小對(duì)特征值進(jìn)行加權(quán)求和得到池化結(jié)果。
由于池化過(guò)程本質(zhì)上是有損的,其將大的輸入壓縮成小的輸出,因此有必要仔細(xì)考慮如何對(duì)一個(gè)滑動(dòng)窗口中的特征值進(jìn)行權(quán)重分配。為此,本文通過(guò)該函數(shù)分析一些廣泛使用的下采樣方式,并據(jù)此提出理想池化的特性。圖2為在加權(quán)求和角度下的一些下采樣方法。
給定F(x)=exp(βx),β=0 表示平均池化,β→∞表示最大池化。平均池化在一個(gè)池化窗口中給所有位置的特征值賦予了相同的重要性,最大池化將所有注意力放在池化窗口中的最大特征值上,這兩種池化方式都不是最優(yōu)的?;趯?duì)特征重要性在局部范圍內(nèi)相等的強(qiáng)假設(shè),平均池化損害了有區(qū)分性但是面積較小的特征,導(dǎo)致下采樣特征模糊。最大池化假設(shè)池化窗口中最大的特征值代表最具有區(qū)分性的特征,且只有該特征會(huì)被激活。這種假設(shè)主要有兩個(gè)缺點(diǎn):首先,關(guān)于最大特征值代表最具區(qū)分性細(xì)節(jié)的先驗(yàn)知識(shí)可能并不總是正確的;其次,滑動(dòng)窗口中的最大算子阻礙了基于梯度的優(yōu)化,因?yàn)樵诜聪騻鞑ブ?,梯度僅分配給局部最大值,如Saeedan 等[18]所述,這些稀疏的梯度將進(jìn)一步加強(qiáng)這種不一致性。從某種意義上說(shuō),除非當(dāng)前的最大值被抑制,否則一些有區(qū)分性的特征將永遠(yuǎn)不會(huì)成為最大值。
Fig.2 Different downsampling methods in the view of weighted summation圖2 加權(quán)求和角度下的不同池化方式
跨步卷積可以看作是步長(zhǎng)為1的密集卷積,后接下采樣[20]。在局部權(quán)重歸一化函數(shù)中,這種下采樣方式可表示為:
式中,I為經(jīng)過(guò)步長(zhǎng)為1的密集卷積后的特征圖;s 既表示步長(zhǎng)又表示滑動(dòng)窗口的長(zhǎng)寬。從這個(gè)角度來(lái)看,跨步卷積的下采樣部分無(wú)法自適應(yīng)地模擬下采樣過(guò)程的重要性。此外,其僅關(guān)注每個(gè)滑動(dòng)窗口內(nèi)的一個(gè)固定位置,而將其余位置丟棄。該固定間隔采樣方案將限制移位不變性,因?yàn)樾枰矸e后的特征出現(xiàn)在特定且非連續(xù)的位置才能激活。從這個(gè)意義上講,微小的偏移和畸變會(huì)導(dǎo)致下采樣后的特征發(fā)生巨大變化,從而干擾CNN的偏移不變性[20]。對(duì)于滑動(dòng)窗口大小為1×1的跨步卷積,缺點(diǎn)會(huì)更加明顯,因?yàn)樘卣鲌D沒(méi)有得到充分利用[21],并且會(huì)引起棋盤(pán)效應(yīng)[22]。
最近提出的DPP 使用細(xì)節(jié)標(biāo)準(zhǔn)作為重要性函數(shù)F,其通過(guò)滑動(dòng)窗口中特征與激活統(tǒng)計(jì)數(shù)據(jù)的偏差對(duì)重要性進(jìn)行衡量。DPP 通過(guò)設(shè)計(jì)更復(fù)雜的重要性函數(shù)并確保連續(xù)性以實(shí)現(xiàn)更好的梯度優(yōu)化,進(jìn)而解決最大池化存在的問(wèn)題。然而,DPP 中的假設(shè)是啟發(fā)式的,更詳細(xì)的特征可能并不代表更具有區(qū)分性,例如雜亂的背景擁有的特征比前景中的純色物體更詳細(xì)。因此,DPP 可能會(huì)保留對(duì)任務(wù)不太有區(qū)分性的細(xì)節(jié)。在DPP 中手工制作的重要函數(shù)會(huì)將先驗(yàn)知識(shí)融入到下采樣過(guò)程中,可能會(huì)導(dǎo)致區(qū)分任務(wù)的最終目標(biāo)不一致。而基于信息熵理論的Weighted pooling 認(rèn)為特征圖中特征值出現(xiàn)的次數(shù)越多,該特征值就越重要,對(duì)應(yīng)的重要性函數(shù)F 就越大。這種池化方式偏重于選擇圖像中出現(xiàn)次數(shù)多的特征,但并不一定是最具有區(qū)分性的特征。
通過(guò)以上分析可以得出理想池化層的要求。首先,下采樣過(guò)程應(yīng)盡可能處理較小的偏移和失真,因此應(yīng)避免采用固定間隔采樣方案,如跨步卷積使用的F 函數(shù);其次,重要性函數(shù)F 應(yīng)對(duì)判別特征具有選擇性,而不是根據(jù)先驗(yàn)知識(shí)(如DPP 中使用的F 函數(shù))手動(dòng)設(shè)計(jì)。這種區(qū)分性措施應(yīng)適應(yīng)不同的任務(wù),并由最終目標(biāo)自動(dòng)確定。
為滿足通過(guò)加權(quán)求和分析后提出的理想池化要求,本文提出自適應(yīng)加權(quán)池化。通過(guò)賦予滑動(dòng)窗口中每個(gè)特征值一個(gè)可變的權(quán)重參數(shù),使網(wǎng)絡(luò)通過(guò)反向傳播最小化損失函數(shù),進(jìn)而自行選擇權(quán)重參數(shù)大小。以大小為2×2的池化窗口為例,設(shè)4 個(gè)特征值分別為a1、a2、a3、a4,首先按照大小順序?qū)μ卣髦颠M(jìn)行排序,得到a(1)≥a(2)≥a(3)≥a(4);然后根據(jù)特征值的大小順序?yàn)槊總€(gè)特征值分配重要性參數(shù)k1、k2、k3、k4,這4 個(gè)參數(shù)的初始值為通過(guò)高斯分布生成的隨機(jī)數(shù);最后為使得到的權(quán)重參數(shù)非負(fù)且易于優(yōu)化,在隨機(jī)生成的重要性參數(shù)上增加exp(·)操作,即:
式中,arg sort(Ix,y)表示特征值Ix,y在滑動(dòng)窗口中排序后的索引值。
由上述操作得到的權(quán)重大小等于將重要性參數(shù)進(jìn)行Softmax 歸一化后的值,因此可將自適應(yīng)加權(quán)池化整理為以下步驟:
(1)輸入:待池化的特征圖,池化窗口大小n,神經(jīng)網(wǎng)絡(luò)損失函數(shù)J,神經(jīng)網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)率α。
(2)步驟1:根據(jù)每個(gè)池化層的池化窗口大小選擇重要性參數(shù)個(gè)數(shù),對(duì)于有n 個(gè)特征值ai(i=1,2,…,n)的池化窗口隨機(jī)初始化n 個(gè)重要性參數(shù)ki(i=1,2,…,n)。
(3)步驟2:將每個(gè)池化窗口中的特征值從大到小進(jìn)行排序得到a(1)≥a(2)≥…≥a(n)。
(4)步驟3:將初始化的重要性參數(shù)進(jìn)行Softmax 歸一化得到權(quán)重參數(shù),表示為:
(5)步驟4:將權(quán)重參數(shù)與每個(gè)池化窗口中對(duì)應(yīng)的特征值相乘后累加得到池化結(jié)果,表示為:
(6)步驟5:初始化的權(quán)重參數(shù)wi(i=1,2,…,n)在網(wǎng)絡(luò)訓(xùn)練的過(guò)程中會(huì)隨著反向傳播的進(jìn)行通過(guò)梯度下降不斷迭代優(yōu)化,直至收斂,表示為:
以上過(guò)程相當(dāng)于網(wǎng)絡(luò)自行選擇了池化窗口中各個(gè)特征值所對(duì)應(yīng)的重要性。自適應(yīng)加權(quán)池化流程如圖3 所示。
Fig.3 Adaptive weighted pooling process圖3 自適應(yīng)加權(quán)池化流程
常見(jiàn)的CNN 結(jié)構(gòu)存在多個(gè)網(wǎng)絡(luò)層,每層的特征圖包含多個(gè)池化窗口,若在每個(gè)池化窗口中使用不同權(quán)重參數(shù),那么需要訓(xùn)練的參數(shù)量十分龐大,網(wǎng)絡(luò)難以訓(xùn)練且極度占用內(nèi)存。若整個(gè)網(wǎng)絡(luò)僅使用一組權(quán)重參數(shù),相當(dāng)于對(duì)所有類型的特征都采用同一種池化策略,不能滿足實(shí)際需求,且無(wú)法處理網(wǎng)絡(luò)中池化窗口大小可能不一致的情況。Hijazi 等[23]研究表明,不同卷積核提取不同的特征,例如高層卷積核提取高級(jí)特征。CNN 中的特征圖在經(jīng)過(guò)卷積后,同一個(gè)通道的特征值代表被一個(gè)卷積核提取出的同種類型特征,這表示在特征圖的同一通道上僅使用一組權(quán)重參數(shù)不會(huì)擾亂池化過(guò)程對(duì)特征的提取。對(duì)于深層CNN 而言,每個(gè)通道使用一組權(quán)重參數(shù)仍會(huì)較大程度地增加網(wǎng)絡(luò)中的訓(xùn)練參數(shù)量。為避免由于訓(xùn)練參數(shù)過(guò)多而導(dǎo)致過(guò)擬合現(xiàn)象發(fā)生,同時(shí)減少網(wǎng)絡(luò)對(duì)內(nèi)存的占用,每個(gè)池化層的特征值使用同一組權(quán)重參數(shù),即在CNN的每個(gè)池化層上使用相同的池化策略。對(duì)于最常使用的2×2 池化窗口而言,每個(gè)池化層僅有4 個(gè)參數(shù);對(duì)于池化窗口大小等于特征圖尺寸的全局平均池化,其池化層參數(shù)量與特征圖尺寸相同。
本文基于VGG16 網(wǎng)絡(luò)[3]結(jié)構(gòu)分析自適應(yīng)加權(quán)池化對(duì)內(nèi)存占用和計(jì)算量的影響。VGG16 中需要訓(xùn)練的參數(shù)有138M 個(gè),每次迭代需要的浮點(diǎn)計(jì)算次數(shù)為15G 次,若將其中的最大池化全部使用2×2的自適應(yīng)加權(quán)池化代替,則訓(xùn)練參數(shù)的增加量為20 個(gè),整體增加比例約為千萬(wàn)分之一;計(jì)算次數(shù)增加20M 次,整體增加比例約為千分之一。由此可見(jiàn),網(wǎng)絡(luò)在使用自適應(yīng)加權(quán)池化后,內(nèi)存占用和計(jì)算量的增加都處于可接受的范圍內(nèi)。
本文所有實(shí)驗(yàn)均使用以下公開(kāi)標(biāo)準(zhǔn)數(shù)據(jù)集:①Fashion-minist 數(shù)據(jù)集是一個(gè)時(shí)尚衣物的圖像數(shù)據(jù)集,訓(xùn)練集包含60 000 張圖片,測(cè)試集包含10 000 張圖片,每張圖片為28×28的灰度圖,所有數(shù)據(jù)都有標(biāo)簽,共有10 類,分別為T(mén)shirt/top、Trouser、Pullover、Dress、Coat、Sandal、Shirt、Sneaker、Bag、Ankle boot[24];②Cifar10 數(shù)據(jù)集包含60 000 張圖像,每張圖像為32×32×3像素的彩色照片,訓(xùn)練集大小為50 000,測(cè)試集大小為10 000,照片分屬10 個(gè)不同類別,分別為Airplane、Automobile、Bird、Cat、Deer、Dog、Frog、Horse、Ship、Truck[25];③Omniglot 數(shù)據(jù)集包含50 個(gè)不同字母,共1 622類手寫(xiě)字符,每個(gè)類別有20 個(gè)樣本,每個(gè)樣本為28×28的灰度圖。該數(shù)據(jù)集具有類別多、每類樣本少的特點(diǎn),常用于小樣本圖像分類任務(wù)中[26]。
對(duì)于Fashion-minist 數(shù)據(jù)集分類,本文采用2 個(gè)卷積層、2 個(gè)下采樣層、2 個(gè)全連接層的CNN 結(jié)構(gòu),具體結(jié)構(gòu)信息如表1 所示,其中下采樣層分別采用最大池化、平均池化、步長(zhǎng)為2的3×3 卷積、自適應(yīng)加權(quán)池化。該實(shí)驗(yàn)旨在比較4種不同下采樣方式下的網(wǎng)絡(luò)分類性能,并通過(guò)設(shè)定不同學(xué)習(xí)率以評(píng)價(jià)自適應(yīng)加權(quán)池化的魯棒性。
Table 1 Network structure for Fashion-minist classification表1 用于Fashion-minist 數(shù)據(jù)集分類的網(wǎng)絡(luò)結(jié)構(gòu)
對(duì)于Cifar10 數(shù)據(jù)集分類,本文使用兩種不同的網(wǎng)絡(luò)結(jié)構(gòu)。第一種為2 層卷積層、2 層池化層、3 層全連接層的淺層CNN 結(jié)構(gòu),具體結(jié)構(gòu)信息如表2 所示??紤]到對(duì)于自適應(yīng)加權(quán)池化權(quán)重參數(shù)的初始化過(guò)于隨機(jī),可能會(huì)導(dǎo)致收斂至損失函數(shù)局部最小處,因此首先使用最大池化將網(wǎng)絡(luò)迭代至收斂,保存網(wǎng)絡(luò)參數(shù),然后將池化方式改為自適應(yīng)加權(quán)池化,權(quán)重參數(shù)的初始值設(shè)置為最大池化對(duì)應(yīng)的權(quán)重參數(shù)值,此時(shí)自適應(yīng)加權(quán)池化的初始狀態(tài)等同于最大池化。載入最大池化模型的參數(shù),對(duì)自適應(yīng)加權(quán)池化模型進(jìn)行fine-tune。比較fine-tune 前后測(cè)試集的準(zhǔn)確率和損失,驗(yàn)證在較復(fù)雜的彩色圖像數(shù)據(jù)集中,自適應(yīng)加權(quán)池化相較于傳統(tǒng)池化方式能否有更好的表現(xiàn)。
Table 2 Shallow CNN network structure for Cifar10 classification表2 用于Cifar10 分類的淺層CNN 網(wǎng)絡(luò)結(jié)構(gòu)
對(duì)Cifar10 數(shù)據(jù)集進(jìn)行分類的第二種網(wǎng)絡(luò)為ResNet18,具體結(jié)構(gòu)如圖4 所示。原始的ResNet18 網(wǎng)絡(luò)在conv_block結(jié)構(gòu)中使用了跨步卷積,在網(wǎng)絡(luò)的最后使用了1 個(gè)全局平均池化層。本文將跨步卷積與由全局平均池化改成的自適應(yīng)加權(quán)池化進(jìn)行性能比較,觀察池化方式更改前后的網(wǎng)絡(luò)對(duì)測(cè)試集分類準(zhǔn)確率和損失的影響。該實(shí)驗(yàn)旨在驗(yàn)證自適應(yīng)加權(quán)池化不僅適用于淺層CNN,對(duì)深層CNN的性能也能有所提升。
Fig.4 ResNet18 network structure圖4 ResNet18 網(wǎng)絡(luò)結(jié)構(gòu)
對(duì)于Omniglot 數(shù)據(jù)集的小樣本分類,本文采用Matching Network[27]的網(wǎng)絡(luò)結(jié)構(gòu)。該網(wǎng)絡(luò)輸入的每個(gè)batch 包含兩個(gè)部分:一部分稱為support set,包含20 個(gè)不同類別的圖像;另一部分稱為test example,含有1 個(gè)圖像,該圖像的類別與support set 中某個(gè)圖像的類別相同。Matching Network包含兩部分:第一部分用于提取輸出圖像特征,含有4 個(gè)卷積層和4 個(gè)池化層;第二部分用于類別劃分,對(duì)提取出的test example 圖像特征與support set 中每個(gè)圖像的特征分別計(jì)算余弦距離,取20 個(gè)余弦距離中最大值對(duì)應(yīng)的support set 圖像類別作為test example的圖像類別。Matching Network 網(wǎng)絡(luò)結(jié)構(gòu)如圖5 所示。該實(shí)驗(yàn)旨在說(shuō)明自適應(yīng)加權(quán)池化不僅能提升數(shù)據(jù)量多的圖像分類任務(wù)性能,也能提升小樣本圖像分類任務(wù)的性能。
Fig.5 Matching network structure圖5 Matching network 結(jié)構(gòu)
各種數(shù)據(jù)集與網(wǎng)絡(luò)結(jié)構(gòu)在不同池化方式下對(duì)應(yīng)的測(cè)試集最優(yōu)分類準(zhǔn)確率和損失如表3 所示,以下詳述。
使用CNN 網(wǎng)絡(luò)對(duì)Fashion-minist 數(shù)據(jù)集進(jìn)行分類,分別選取0.000 01~0.01 之間共7 種不同的學(xué)習(xí)率進(jìn)行測(cè)試,在不同下采樣方式下得到的測(cè)試集準(zhǔn)確率隨學(xué)習(xí)率的變化曲線如圖6 所示??梢钥吹剑赃m應(yīng)加權(quán)池化對(duì)準(zhǔn)確率的提升較為明顯。圖6 中,網(wǎng)絡(luò)的測(cè)試集分類準(zhǔn)確率隨著學(xué)習(xí)率的增長(zhǎng)先增大后減小。最大池化、平均池化、跨步卷積、自適應(yīng)加權(quán)池化作為下采樣層的最高準(zhǔn)確率分別為91.75%、92.09%、91.61%、92.30%。自適應(yīng)加權(quán)池化相較于排名第2的平均池化,對(duì)分類準(zhǔn)確率有0.21%的提升,且在學(xué)習(xí)率變化的情況下分類準(zhǔn)確率一直處于較高水平,說(shuō)明自適應(yīng)加權(quán)池化具有較強(qiáng)的魯棒性。
Table 3 Optimal classification accuracy and loss of the test set corresponding to various data sets and network structures under different pooling methods表3 各種數(shù)據(jù)集與網(wǎng)絡(luò)結(jié)構(gòu)在不同池化方式下對(duì)應(yīng)的測(cè)試集最優(yōu)分類準(zhǔn)確率和損失
Fig.6 Classification accuracy of the Fashion-minist test set corresponding to each downsampling layer under different learning rates圖6 不同學(xué)習(xí)率下各下采樣層對(duì)應(yīng)的Fashion-minist測(cè)試集分類準(zhǔn)確率
在5 層CNN 網(wǎng)絡(luò)結(jié)構(gòu)下對(duì)Cifar10 數(shù)據(jù)集進(jìn)行分類,首先設(shè)置池化層為最大池化,將網(wǎng)絡(luò)迭代100 次,初始學(xué)習(xí)率設(shè)為0.001,迭代到40 次時(shí)將學(xué)習(xí)率降為0.000 1,迭代到80次時(shí)進(jìn)一步降為0.000 01。100 次迭代完成后,保存此時(shí)網(wǎng)絡(luò)中的訓(xùn)練參數(shù),然后將池化層的池化方式更改為自適應(yīng)加權(quán)池化,載入網(wǎng)絡(luò)參數(shù)后進(jìn)一步訓(xùn)練,此時(shí)設(shè)置網(wǎng)絡(luò)繼續(xù)迭代50 次,得到最終結(jié)果。經(jīng)過(guò)自適應(yīng)加權(quán)池化finetune 之后的網(wǎng)絡(luò)測(cè)試準(zhǔn)確率提高了約0.43%,測(cè)試損失降低約0.01,網(wǎng)絡(luò)分類能力得到明顯提升。
在ResNet18 網(wǎng)絡(luò)結(jié)構(gòu)下對(duì)Cifar10 數(shù)據(jù)集進(jìn)行分類,設(shè)置網(wǎng)絡(luò)迭代次數(shù)為200 次,初始學(xué)習(xí)率設(shè)為0.1,在迭代到100 次時(shí)將學(xué)習(xí)率降為0.01,在迭代到150 次時(shí)將學(xué)習(xí)率進(jìn)一步降為0.001,網(wǎng)絡(luò)分別使用原始ResNet18 和替換池化層后的ResNet18 進(jìn)行訓(xùn)練。相較于跨步卷積和全局平均池化,使用自適應(yīng)加權(quán)池化在Cifar10 測(cè)試集上的最優(yōu)準(zhǔn)確率提高了0.8%,最優(yōu)損失降低了0.032。
使用Matching Network 結(jié)構(gòu)對(duì)Omniglot 數(shù)據(jù)集進(jìn)行小樣本分類,選取前1 200 類為訓(xùn)練集,中間211 類為驗(yàn)證集,剩下211 類為測(cè)試集,batch 大小設(shè)置為32,每個(gè)訓(xùn)練epoch包含從訓(xùn)練集隨機(jī)選取的1 000 個(gè)batch,每個(gè)測(cè)試epoch 包含隨機(jī)從測(cè)試集選取的250 個(gè)batch,共迭代30 個(gè)epoch。相較于最大池化,使用自適應(yīng)加權(quán)池化在Omniglot 測(cè)試集上的最優(yōu)準(zhǔn)確率提高了0.66%,最優(yōu)損失降低了0.022。
本文提出一種自適應(yīng)加權(quán)池化方法,相較于常用池化方式,自適應(yīng)加權(quán)池化能根據(jù)任務(wù)類型的不同,智能選取最優(yōu)池化策略提取特征。實(shí)驗(yàn)結(jié)果表明,自適應(yīng)加權(quán)池化能在少量增加內(nèi)存占用和計(jì)算量的情況下提升網(wǎng)絡(luò)性能,相較于傳統(tǒng)池化方式,其在各種圖像分類數(shù)據(jù)集和CNN 結(jié)構(gòu)中均取得了更好的分類效果,在小樣本分類任務(wù)中也得到了更優(yōu)結(jié)果。自適應(yīng)加權(quán)池化在不同學(xué)習(xí)率下均能保證較高的分類準(zhǔn)確率,且具有良好的魯棒性。自適應(yīng)加權(quán)池化解決了傳統(tǒng)池化方式不能客觀評(píng)價(jià)池化窗口中每個(gè)特征值區(qū)分性大小的缺陷,保留了池化層本身的簡(jiǎn)潔性,并從實(shí)驗(yàn)上證明了分類問(wèn)題的最優(yōu)池化類型是介于最大池化和平均池化之間的某種池化方法,為提升CNN 網(wǎng)絡(luò)性能提供了新思路。雖然理論上自適應(yīng)加權(quán)池化只會(huì)少量增加網(wǎng)絡(luò)的復(fù)雜度,但其相較于常用池化方法在深度學(xué)習(xí)框架上沒(méi)有進(jìn)行性能優(yōu)化。后續(xù)研究將致力于提高自適應(yīng)加權(quán)池化在各種深度學(xué)習(xí)框架上的使用性能。