劉 晨 曲長文 周 強 李 智(海軍航空工程學(xué)院電子信息工程系煙臺264001)
一種卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法?
劉 晨 曲長文 周 強 李 智
(海軍航空工程學(xué)院電子信息工程系煙臺264001)
近年來,卷積神經(jīng)網(wǎng)絡(luò)在目標檢測、圖像語義分割和圖像識別領(lǐng)域取得了一系列重大突破性的成果。但是隨著檢測率的提升,網(wǎng)絡(luò)結(jié)構(gòu)也在向著更復(fù)雜的方向發(fā)展。為解決卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,樣本的檢測時間過長的問題,論文提出了一種通過特征圖之間的差異性對卷積核數(shù)目進行優(yōu)化的方法,通過計算得到最優(yōu)卷積核數(shù)目,降低網(wǎng)絡(luò)復(fù)雜度,從而加快樣本檢測的速度,提高泛化能力。實驗結(jié)果表明,該方法在保證準確率的前提下,提升了檢測速度。
深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);卷積核;特征圖;手寫數(shù)字識別
ClassNumber TP183
卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展大致經(jīng)歷了理論提出、模型實現(xiàn)和廣泛研究三個階段:
1)理論提出階段。Huble和Wiesel在對貓腦皮層的研究中,發(fā)現(xiàn)一種可以降低反饋神經(jīng)網(wǎng)絡(luò)復(fù)雜性的網(wǎng)絡(luò)結(jié)構(gòu),進而提出了卷積神經(jīng)網(wǎng)絡(luò)。1980年,F(xiàn)ukushima第一次提出了Neocognitron理論模型,該模型是一個自組織的多層神經(jīng)網(wǎng)絡(luò)模型,當前層的響應(yīng)由上一層的局部感受野激發(fā)獲得,對于模式的識別不受位置、尺度大小和形狀微變的影響[1]。
2)模型實現(xiàn)階段。1998年,Lecun等[2]提出了LeNet 5模型,該模型采用了基于梯度的反向傳播算法對網(wǎng)絡(luò)進行有監(jiān)督的訓(xùn)練。主要原理是將一幅原始輸入圖像依次通過卷積層和下采樣層,轉(zhuǎn)變成一系列特征圖,然后將這些特征圖通過全連接的方式與輸出進行連接,最終根據(jù)圖像的輸出結(jié)果進行分類。卷積層的卷積核完成了感受野的功能,可以將低層的局部區(qū)域信息通過卷積核激發(fā)到更高的層次。LeNet5模型在手寫字符識別領(lǐng)域取得了巨大的成功,引起了學(xué)術(shù)界對于卷積神經(jīng)網(wǎng)絡(luò)的關(guān)注。
3)廣泛研究階段。2012年,Krizhevsky等[3]在圖像分類競賽中提出了AlexNet模型,在對大型圖像數(shù)據(jù)庫ImageNet[4]的分類中,以準確率超越第二名11%的巨大優(yōu)勢奪得了冠軍,使得卷積神經(jīng)網(wǎng)絡(luò)成為了學(xué)術(shù)界的焦點。在AlexNet之后,卷積神經(jīng)網(wǎng)絡(luò)得到了快速發(fā)展,各種新的卷積神經(jīng)網(wǎng)絡(luò)模型相繼提出,比如微軟的ResNet[5]、牛津大學(xué)的VGG[6],Google的GoogLeNet[7]等,這些網(wǎng)絡(luò)不斷地刷新著對ImageNet分類的準確率。并且,通過傳統(tǒng)算法與卷積神經(jīng)網(wǎng)絡(luò)的不斷相融合,加上遷移學(xué)習(xí)方法的引入,使得卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用領(lǐng)域獲得了快速的擴展[8~9]。
雖然卷積神經(jīng)網(wǎng)絡(luò)目前在手寫數(shù)字識別上取得了巨大的成功,但是存在的問題也比較突出,包括:1)如何判斷哪些層未得到完善的訓(xùn)練;2)什么原因?qū)е逻@些層沒有得到完善訓(xùn)練;3)如何處理未完善訓(xùn)練的層。針對上述問題,本文主要針對卷積層進行評價,判斷卷積層是否得到完善訓(xùn)練,對未完善訓(xùn)練的卷積層通過改變卷積核的數(shù)目使其得到完善訓(xùn)練結(jié)果。
2.1 卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
典型的卷積神經(jīng)網(wǎng)絡(luò)由五部分組成:輸入層、卷積層、下采樣層(池化層)、全連接層以及輸出層[10]。如圖1所示。
卷積層主要功能是對圖像特征進行提取,并且降低噪聲的影響。假設(shè)卷積層為第l層,下采樣層為第l+1層,則第l層第j個特征圖的計算公式如下所示:
卷積層之后是下采樣過程,因為圖像局部之間存在相關(guān)性,為降低對數(shù)據(jù)量的處理,將卷積層中相鄰的四個像素進行求和,然后與權(quán)重Wx+1相乘再加上偏置bx+1,最后通過一個非線性的激活函數(shù)sigmoid,得到Sx+1,結(jié)果是一個縮小了四倍的特征映射圖。
卷積和下采樣過程如圖2所示。
卷積神經(jīng)網(wǎng)絡(luò)的三個核心思想是:權(quán)值共享、局部感受野以及時間或空間下采樣。
2.2 卷積神經(jīng)網(wǎng)絡(luò)代價函數(shù)和BP算法
卷積神經(jīng)網(wǎng)絡(luò)采用的是后向傳播(Back Propa?gation,BP)算法[11~12]對網(wǎng)絡(luò)的參數(shù)進行更新。BP算法是一種常見的監(jiān)督式學(xué)習(xí)方法。該算法的原理是計算樣本的期望輸出與實際輸出之間的均方誤差作為代價函數(shù),然后將代價函數(shù)通過反向傳播至各層,最后利用梯度下降法沿著代價函數(shù)的負梯度方向調(diào)整網(wǎng)絡(luò)中的偏置和權(quán)值等參數(shù)。具體步驟如下:
1)通過卷積神經(jīng)網(wǎng)絡(luò)進行前向傳播,利用前向傳導(dǎo)公式,得到l2,l3,…,lnl的激活值。為方便計算,對式(1)寫成如下形式:
式中,l表示層數(shù),x表示特征圖,w為卷積核,b為當前層的偏置,f為激活函數(shù),z為未經(jīng)過非線性變換前的輸出結(jié)果。
2)假設(shè)輸出結(jié)果分為m類,即最后輸出為m維數(shù)據(jù),將輸出值與樣本標簽之間的均方誤差作為代價函數(shù),進而求得第n個樣本的代價函數(shù)J(w,b;x,y)為
為求取單個樣本的代價函數(shù)對參數(shù)的導(dǎo)數(shù),通過引入靈敏度的概念,然后通過這個靈敏度來求解對參數(shù)的導(dǎo)數(shù)。定義第l層的靈敏度為
第nl為輸出層,根據(jù)式(2)、式(3)可計算出輸出層的靈敏度為
完成上述代價函數(shù)的反向傳播后,然后利用梯度下降法,將代價函數(shù)對網(wǎng)絡(luò)中參數(shù)求偏導(dǎo),對參數(shù)進行更新,最終使代價函數(shù)達到極小值。代價函數(shù)J(w,b;x,y)對w(l)和b(l)的偏導(dǎo)計算公式如下:
3.1 卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)
以手寫數(shù)字識別系統(tǒng)為例,假設(shè)輸入手寫數(shù)字圖片的大小為28*28,第一層卷積層C1有6個特征圖,第二層卷積層C3有12個特征圖,每個卷積核的大小為5*5,滑動步長為1。網(wǎng)絡(luò)結(jié)構(gòu)簡化圖如圖3所示。
因此需要訓(xùn)練的參數(shù)數(shù)目如下:
第一層卷積層C1由6個特征圖構(gòu)成,卷積核的大小為5*5。每個特征圖需要訓(xùn)練的參數(shù)包括卷積核參數(shù)加上偏置的參數(shù),則需訓(xùn)練的參數(shù)數(shù)目為(5*5+1)*6=156個。共有(28*28)*156=122304個連接。
第二層下采樣層S2,為降低需要處理的數(shù)據(jù)量,特征圖大小縮小為原來的1/4,所以第一層下采樣層由6個12*12的特征圖組成。
第三層卷積層C3,采用的卷積核大小仍為5* 5,經(jīng)過卷積操作得到8*8的特征圖,為防止漏掉特征,這層的卷積核數(shù)目應(yīng)多于卷積層C1,一般為上一層的2倍,所以卷積層C3有12個特征圖。因此第三層需要訓(xùn)練的參數(shù)數(shù)目為(5*5+1)*6*12= 1872個。
第四層為下采樣層S4,連接方式與下采樣層S2類似,最后生成12個4*4大小的特征圖。
最后一層為全連接層,將輸出特征與輸出結(jié)果之間通過全連接方式連接得到輸出結(jié)果。
3.2 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)優(yōu)化
通過上面卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù)可以看出,網(wǎng)絡(luò)結(jié)構(gòu)的搭建過程缺乏具體的理論指導(dǎo),卷積核數(shù)目的選擇往往根據(jù)輸入圖像大小以及其它網(wǎng)絡(luò)的參考而決定的,目前并沒有一種評價方法對卷積核數(shù)目的選取是否最優(yōu)做出一個較好的評價,這限制了卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展。
實際上,一幅圖的特征數(shù)目是有限的,過多的卷積核并不能得到更多的特征,過多的卷積核會使提取的特征之間存在冗余,這不僅增加了訓(xùn)練參數(shù)的數(shù)量并且也會降低網(wǎng)絡(luò)的泛化能力和檢測的準確率;過少的卷積核又會致使提取的特征不足,不能提取到充分的特征,進而影響檢測的準確率。因此通過計算每個特征圖之間的差異性,優(yōu)化卷積核的數(shù)量,進一步提高樣本檢測的能力。
以手寫數(shù)字為例,卷積過程中每個卷積核是一個大小為5*5的矩陣,通過計算任意兩個卷積核之間相似度來優(yōu)化卷積核的數(shù)目。但是從網(wǎng)絡(luò)結(jié)構(gòu)來看,第一層卷積層連接相對簡單,可以輕松地直接通過卷積核來進行計算,但是第二層卷積層的結(jié)果由前一層下采樣層的多個特征圖聯(lián)合得到,連接方式也比較復(fù)雜,仍然采用針對卷積核的計算方式比較麻煩,因此,提出一種通過對比卷積層獲得的特征之間的差異來優(yōu)化卷積核的方法,我們定義一個相似度參數(shù)E,通過計算E的大小來優(yōu)化卷積核。計算公式如下:
式中,E為兩個卷積核的相似度參數(shù),A和B分別為任意兩個卷積層特征圖對應(yīng)的矩陣,i,j表示矩陣中相應(yīng)的元素。
4.1 實驗數(shù)據(jù)集
為了驗證本文方法的有效性,采用的是手寫數(shù)字庫進行實驗,該數(shù)據(jù)集包含了70000張28*28的手寫數(shù)字圖片,用其中的60000張圖片對網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)進行訓(xùn)練,10000張圖片用來對訓(xùn)練好的參數(shù)進行測試。網(wǎng)絡(luò)結(jié)構(gòu)采用的是DeepLearnToolbox中的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖3所示。
4.2 結(jié)果與分析
在原結(jié)構(gòu)模型上,第一層卷積層有6個特征圖,因此需要訓(xùn)練6個不同的卷積核,計算得到每兩個特征圖之間的相似度參數(shù)E,結(jié)果如表1所示。
表1 原始結(jié)構(gòu)卷積核之間的相似度參數(shù)
可以看出特征圖1和特征圖3、特征圖2和特征圖5之間差異性很小,這表明它們之間的相似度很高,證明卷積核之間存在冗余現(xiàn)象,因此我們將卷積核數(shù)目減少為5個,再次計算特征圖之間差異得到卷積核之間的相似度參數(shù)E,計算結(jié)果如表2所示。
表2 優(yōu)化后的5個卷積核之間的相似度參數(shù)
從表2中可以看出,特征圖1和特征圖3之間差異仍然很小,因此再減少一個卷積核結(jié)果如表3所示。
表3 優(yōu)化后4個卷積核之間的相似度參數(shù)
從表3可以看出,特征圖之間的差異都較大,這表明第一層采用4個卷積核即可對圖像的特征完全提取出來,為驗證該計算方法是否準確有效,我們通過調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)第一層的卷積核數(shù)目,對比以上三種卷積核數(shù)目下的網(wǎng)絡(luò)訓(xùn)練時間、檢測時間和錯誤率,結(jié)果如表4所示。
C1卷積核數(shù)654 C3卷積核數(shù)12 12 12訓(xùn)練時間86.87 72.80 59.00檢測時間4.10 3.55 2.80錯誤率11.13% 12.02% 11.33%
從表4可以看出,經(jīng)過優(yōu)化后的網(wǎng)絡(luò),錯誤率有較小提升,但是訓(xùn)練時間和檢測時間得到了較大的提升。
通過以上方法對第二個卷積層的卷積核數(shù)目進行優(yōu)化,若卷積核之間的相似度參數(shù)數(shù)值小于1,我們即對它再次進行優(yōu)化,直到卷積核之間的相似度參數(shù)都大于1,最終得到第二層最優(yōu)卷積核的數(shù)目為7,實驗對比結(jié)果如表5所示。
表5 第二層不同卷積核數(shù)目的結(jié)果對比
從表5的對比結(jié)果可以看出,卷積核的數(shù)目與檢測識別率之間并不是一個簡單的正比關(guān)系,過多的卷積核可能導(dǎo)致提取的特征并不具有泛化能力,進而影響網(wǎng)絡(luò)的性能。隨著對準確率要求的提升,網(wǎng)絡(luò)結(jié)構(gòu)必將向著更加復(fù)雜的方向發(fā)展,然而網(wǎng)絡(luò)結(jié)構(gòu)的加深,相應(yīng)地對網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化算法也提出了更高的要求。該方法可以對網(wǎng)絡(luò)的卷積核數(shù)目選取是否達到最優(yōu)做出一個較好的評價,尤其是針對低層的網(wǎng)絡(luò)有更好的優(yōu)化效果,在保證準確率的條件下降低了網(wǎng)絡(luò)的檢測時間。
針對卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)問題,本文提出了一種通過計算特征圖之間的差異性,對卷積核數(shù)目進行優(yōu)化的方法。通過計算任意兩個卷積核之間的相似度參數(shù),若差異較小,則證明卷積核之間的相似度較高,卷積核之間存在冗余。減少卷積核的數(shù)目,進而達到優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)、提升網(wǎng)絡(luò)的檢測速度。結(jié)果表明,在手寫數(shù)字識別過程中,優(yōu)化卷積核的數(shù)目,錯誤率下降的同時,檢測速度提高了近1倍。實驗結(jié)果說明本文方法有助于對網(wǎng)絡(luò)結(jié)構(gòu)是否達到最優(yōu)作出一個較好的評價,進而實現(xiàn)對卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化。
[1]李彥東,郝宗波,雷航.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計算機應(yīng)用,2016,36(9):2508-2515.
[2]LECUN Y,BOTTOU L,BENCIO Y,et al.Gradi?ent-based learning applied to document recognition[J]. Proceedingsof the IEEE,1998,86(11):2278-2324.
[3]KRIZHEVSKYA,SUTSKEVER I,HINTONCE.ImageN?et classification with deep convolutional neural networks[C]//Proceedings of Advances in Neural Information Pro?cessing Systems.Cambridge,MA:MIT Press,2012:1106-1114.
[4]DENG J,DONG W,SOCHER R,et al.ImageNet:a large-scale hierarchical image database[C]//Proceedings of the 2009 IEEEConferenceon Computer Vision and Pat?tern Recognition.Washington,DC:IEEEComputer Soci?ety,2009:248-255.
[5]HE K,ZHANC X,REN S,et al.Deep residual learning for image recognition[EB/OL].2016:770-778.
[6]SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[EB/OL].[2015-11-04].
[7]SZECEDY C,LIUW,JIA Y,etal.Going deeperwith con?volutions[C]//Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition.Washington,DC:IEEEComputer So-ciety,2015:1-8.
[8]WANG B,PAN F,HU K M,et al.Manifold-Tanking based retrieval using k-regular nearest neighbor graph[J].Pattern Recognition,2012,45(4):1569-1577.
[9]ACHANTA R,HEMAMIS,ESTRADA F,etal.Frequen?cy-tuned salient region detection[C]//CVPR 2009:Pro?ceedings of the 2009 IEEE Conference on Computer Vi?sion and Pattern Recognition.Washington,DC:IEEE Computer Society,2009:1597-1604.
[10]尹寶才,王文通,王立春.深度學(xué)習(xí)研究綜述[J].北京工業(yè)大學(xué)學(xué)報,2015,41(1):48-59.
[11]常亮,鄧小明,周明全,etal.圖像理解中的卷積神經(jīng)網(wǎng)絡(luò)[J].自動化學(xué)報,2016,42(9):1300-1311.
[12]吳正文.卷積神經(jīng)網(wǎng)絡(luò)在圖像分類中的應(yīng)用研究[D].成都:電子科技大學(xué),2012.
An Op tim ization M ethod of Convolution Neural Network
L IU Chen QU Changw en ZHOU Q iang L IZhi
(Departmentof Electronic and Information Engineering,Naval Aeronautical Engineering Institute,Yantai 264001)
In recent years,convolutional neuralnetwork hasmade a seriesofmajor breakthrough in targetdetection,image se?mantic segmentation and image recognition.Butwith the improvement of the detection rate,the network structure is becom ingmore and more complex.In order to solve the problem of complex structure andmuch time in detecting.In this paper,amethod is pro?posed to optim ize the number of convolution kernels by the difference between the featuremaps.By calculating the difference be?tween the featuremaps,in order to reduce network complexity,increase the detection speed,and improve generalization ability.Ex?perimental resultsshow that themethodwill increase the detection speed and ensure theaccuracy rate.
deep learning,convolutional neuralnetwork,convolutional kernel,characteristic pattern,handwritten numeral recognition
TP183 DO I:10.3969/j.issn.1672-9730.2017.05.010
2016年11月3日,
2016年12月20日
劉晨,男,碩士研究生,研究方向:深度學(xué)習(xí)、SAR圖像目標檢測與分類識別。曲長文,男,博士,教授,研究方向:信息融合、雷達成像、陣列信號處理、電子對抗等。周強,男,博士,研究員,研究方向:高分辨率雷達信號處理和圖像處理。李智,男,碩士研究生,研究方向:SAR圖像目標檢測、分類、識別。