劉 晨 曲長文 周 強 李 智(海軍航空工程學院電子信息工程系煙臺264001)
一種卷積神經網絡的優化方法?
劉 晨 曲長文 周 強 李 智
(海軍航空工程學院電子信息工程系煙臺264001)
近年來,卷積神經網絡在目標檢測、圖像語義分割和圖像識別領域取得了一系列重大突破性的成果。但是隨著檢測率的提升,網絡結構也在向著更復雜的方向發展。為解決卷積神經網絡結構復雜,樣本的檢測時間過長的問題,論文提出了一種通過特征圖之間的差異性對卷積核數目進行優化的方法,通過計算得到最優卷積核數目,降低網絡復雜度,從而加快樣本檢測的速度,提高泛化能力。實驗結果表明,該方法在保證準確率的前提下,提升了檢測速度。
深度學習;卷積神經網絡;卷積核;特征圖;手寫數字識別
ClassNumber TP183
卷積神經網絡的發展大致經歷了理論提出、模型實現和廣泛研究三個階段:
1)理論提出階段。Huble和Wiesel在對貓腦皮層的研究中,發現一種可以降低反饋神經網絡復雜性的網絡結構,進而提出了卷積神經網絡。1980年,Fukushima第一次提出了Neocognitron理論模型,該模型是一個自組織的多層神經網絡模型,當前層的響應由上一層的局部感受野激發獲得,對于模式的識別不受位置、尺度大小和形狀微變的影響[1]。
2)模型實現階段。1998年,Lecun等[2]提出了LeNet 5模型,該模型采用了基于梯度的反向傳播算法對網絡進行有監督的訓練。主要原理是將一幅原始輸入圖像依次通過卷積層和下采樣層,轉變成一系列特征圖,然后將這些特征圖通過全連接的方式與輸出進行連接,最終根據圖像的輸出結果進行分類。卷積層的卷積核完成了感受野的功能,可以將低層的局部區域信息通過卷積核激發到更高的層次。LeNet5模型在手寫字符識別領域取得了巨大的成功,引起了學術界對于卷積神經網絡的關注。
3)廣泛研究階段。2012年,Krizhevsky等[3]在圖像分類競賽中提出了AlexNet模型,在對大型圖像數據庫ImageNet[4]的分類中,以準確率超越第二名11%的巨大優勢奪得了冠軍,使得卷積神經網絡成為了學術界的焦點。在AlexNet之后,卷積神經網絡得到了快速發展,各種新的卷積神經網絡模型相繼提出,比如微軟的ResNet[5]、牛津大學的VGG[6],Google的GoogLeNet[7]等,這些網絡不斷地刷新著對ImageNet分類的準確率。并且,通過傳統算法與卷積神經網絡的不斷相融合,加上遷移學習方法的引入,使得卷積神經網絡的應用領域獲得了快速的擴展[8~9]。
雖然卷積神經網絡目前在手寫數字識別上取得了巨大的成功,但是存在的問題也比較突出,包括:1)如何判斷哪些層未得到完善的訓練;2)什么原因導致這些層沒有得到完善訓練;3)如何處理未完善訓練的層。針對上述問題,本文主要針對卷積層進行評價,判斷卷積層是否得到完善訓練,對未完善訓練的卷積層通過改變卷積核的數目使其得到完善訓練結果。
2.1 卷積神經網絡基本結構
典型的卷積神經網絡由五部分組成:輸入層、卷積層、下采樣層(池化層)、全連接層以及輸出層[10]。如圖1所示。
卷積層主要功能是對圖像特征進行提取,并且降低噪聲的影響。假設卷積層為第l層,下采樣層為第l+1層,則第l層第j個特征圖的計算公式如下所示:
卷積層之后是下采樣過程,因為圖像局部之間存在相關性,為降低對數據量的處理,將卷積層中相鄰的四個像素進行求和,然后與權重Wx+1相乘再加上偏置bx+1,最后通過一個非線性的激活函數sigmoid,得到Sx+1,結果是一個縮小了四倍的特征映射圖。
卷積和下采樣過程如圖2所示。
卷積神經網絡的三個核心思想是:權值共享、局部感受野以及時間或空間下采樣。
2.2 卷積神經網絡代價函數和BP算法
卷積神經網絡采用的是后向傳播(Back Propa?gation,BP)算法[11~12]對網絡的參數進行更新。BP算法是一種常見的監督式學習方法。該算法的原理是計算樣本的期望輸出與實際輸出之間的均方誤差作為代價函數,然后將代價函數通過反向傳播至各層,最后利用梯度下降法沿著代價函數的負梯度方向調整網絡中的偏置和權值等參數。具體步驟如下:
1)通過卷積神經網絡進行前向傳播,利用前向傳導公式,得到l2,l3,…,lnl的激活值。為方便計算,對式(1)寫成如下形式:
式中,l表示層數,x表示特征圖,w為卷積核,b為當前層的偏置,f為激活函數,z為未經過非線性變換前的輸出結果。
2)假設輸出結果分為m類,即最后輸出為m維數據,將輸出值與樣本標簽之間的均方誤差作為代價函數,進而求得第n個樣本的代價函數J(w,b;x,y)為
為求取單個樣本的代價函數對參數的導數,通過引入靈敏度的概念,然后通過這個靈敏度來求解對參數的導數。定義第l層的靈敏度為
第nl為輸出層,根據式(2)、式(3)可計算出輸出層的靈敏度為
完成上述代價函數的反向傳播后,然后利用梯度下降法,將代價函數對網絡中參數求偏導,對參數進行更新,最終使代價函數達到極小值。代價函數J(w,b;x,y)對w(l)和b(l)的偏導計算公式如下:
3.1 卷積神經網絡的參數
以手寫數字識別系統為例,假設輸入手寫數字圖片的大小為28*28,第一層卷積層C1有6個特征圖,第二層卷積層C3有12個特征圖,每個卷積核的大小為5*5,滑動步長為1。網絡結構簡化圖如圖3所示。
因此需要訓練的參數數目如下:
第一層卷積層C1由6個特征圖構成,卷積核的大小為5*5。每個特征圖需要訓練的參數包括卷積核參數加上偏置的參數,則需訓練的參數數目為(5*5+1)*6=156個。共有(28*28)*156=122304個連接。
第二層下采樣層S2,為降低需要處理的數據量,特征圖大小縮小為原來的1/4,所以第一層下采樣層由6個12*12的特征圖組成。
第三層卷積層C3,采用的卷積核大小仍為5* 5,經過卷積操作得到8*8的特征圖,為防止漏掉特征,這層的卷積核數目應多于卷積層C1,一般為上一層的2倍,所以卷積層C3有12個特征圖。因此第三層需要訓練的參數數目為(5*5+1)*6*12= 1872個。
第四層為下采樣層S4,連接方式與下采樣層S2類似,最后生成12個4*4大小的特征圖。
最后一層為全連接層,將輸出特征與輸出結果之間通過全連接方式連接得到輸出結果。
3.2 卷積神經網絡的結構優化
通過上面卷積神經網絡的結構參數可以看出,網絡結構的搭建過程缺乏具體的理論指導,卷積核數目的選擇往往根據輸入圖像大小以及其它網絡的參考而決定的,目前并沒有一種評價方法對卷積核數目的選取是否最優做出一個較好的評價,這限制了卷積神經網絡的發展。
實際上,一幅圖的特征數目是有限的,過多的卷積核并不能得到更多的特征,過多的卷積核會使提取的特征之間存在冗余,這不僅增加了訓練參數的數量并且也會降低網絡的泛化能力和檢測的準確率;過少的卷積核又會致使提取的特征不足,不能提取到充分的特征,進而影響檢測的準確率。因此通過計算每個特征圖之間的差異性,優化卷積核的數量,進一步提高樣本檢測的能力。
以手寫數字為例,卷積過程中每個卷積核是一個大小為5*5的矩陣,通過計算任意兩個卷積核之間相似度來優化卷積核的數目。但是從網絡結構來看,第一層卷積層連接相對簡單,可以輕松地直接通過卷積核來進行計算,但是第二層卷積層的結果由前一層下采樣層的多個特征圖聯合得到,連接方式也比較復雜,仍然采用針對卷積核的計算方式比較麻煩,因此,提出一種通過對比卷積層獲得的特征之間的差異來優化卷積核的方法,我們定義一個相似度參數E,通過計算E的大小來優化卷積核。計算公式如下:
式中,E為兩個卷積核的相似度參數,A和B分別為任意兩個卷積層特征圖對應的矩陣,i,j表示矩陣中相應的元素。
4.1 實驗數據集
為了驗證本文方法的有效性,采用的是手寫數字庫進行實驗,該數據集包含了70000張28*28的手寫數字圖片,用其中的60000張圖片對網絡結構參數進行訓練,10000張圖片用來對訓練好的參數進行測試。網絡結構采用的是DeepLearnToolbox中的卷積神經網絡結構,如圖3所示。
4.2 結果與分析
在原結構模型上,第一層卷積層有6個特征圖,因此需要訓練6個不同的卷積核,計算得到每兩個特征圖之間的相似度參數E,結果如表1所示。

表1 原始結構卷積核之間的相似度參數
可以看出特征圖1和特征圖3、特征圖2和特征圖5之間差異性很小,這表明它們之間的相似度很高,證明卷積核之間存在冗余現象,因此我們將卷積核數目減少為5個,再次計算特征圖之間差異得到卷積核之間的相似度參數E,計算結果如表2所示。

表2 優化后的5個卷積核之間的相似度參數
從表2中可以看出,特征圖1和特征圖3之間差異仍然很小,因此再減少一個卷積核結果如表3所示。

表3 優化后4個卷積核之間的相似度參數
從表3可以看出,特征圖之間的差異都較大,這表明第一層采用4個卷積核即可對圖像的特征完全提取出來,為驗證該計算方法是否準確有效,我們通過調整網絡結構第一層的卷積核數目,對比以上三種卷積核數目下的網絡訓練時間、檢測時間和錯誤率,結果如表4所示。

C1卷積核數654 C3卷積核數12 12 12訓練時間86.87 72.80 59.00檢測時間4.10 3.55 2.80錯誤率11.13% 12.02% 11.33%
從表4可以看出,經過優化后的網絡,錯誤率有較小提升,但是訓練時間和檢測時間得到了較大的提升。
通過以上方法對第二個卷積層的卷積核數目進行優化,若卷積核之間的相似度參數數值小于1,我們即對它再次進行優化,直到卷積核之間的相似度參數都大于1,最終得到第二層最優卷積核的數目為7,實驗對比結果如表5所示。

表5 第二層不同卷積核數目的結果對比
從表5的對比結果可以看出,卷積核的數目與檢測識別率之間并不是一個簡單的正比關系,過多的卷積核可能導致提取的特征并不具有泛化能力,進而影響網絡的性能。隨著對準確率要求的提升,網絡結構必將向著更加復雜的方向發展,然而網絡結構的加深,相應地對網絡結構的優化算法也提出了更高的要求。該方法可以對網絡的卷積核數目選取是否達到最優做出一個較好的評價,尤其是針對低層的網絡有更好的優化效果,在保證準確率的條件下降低了網絡的檢測時間。
針對卷積神經網絡結構問題,本文提出了一種通過計算特征圖之間的差異性,對卷積核數目進行優化的方法。通過計算任意兩個卷積核之間的相似度參數,若差異較小,則證明卷積核之間的相似度較高,卷積核之間存在冗余。減少卷積核的數目,進而達到優化網絡結構、提升網絡的檢測速度。結果表明,在手寫數字識別過程中,優化卷積核的數目,錯誤率下降的同時,檢測速度提高了近1倍。實驗結果說明本文方法有助于對網絡結構是否達到最優作出一個較好的評價,進而實現對卷積神經網絡結構的優化。
[1]李彥東,郝宗波,雷航.卷積神經網絡研究綜述[J].計算機應用,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]尹寶才,王文通,王立春.深度學習研究綜述[J].北京工業大學學報,2015,41(1):48-59.
[11]常亮,鄧小明,周明全,etal.圖像理解中的卷積神經網絡[J].自動化學報,2016,42(9):1300-1311.
[12]吳正文.卷積神經網絡在圖像分類中的應用研究[D].成都:電子科技大學,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日
劉晨,男,碩士研究生,研究方向:深度學習、SAR圖像目標檢測與分類識別。曲長文,男,博士,教授,研究方向:信息融合、雷達成像、陣列信號處理、電子對抗等。周強,男,博士,研究員,研究方向:高分辨率雷達信號處理和圖像處理。李智,男,碩士研究生,研究方向:SAR圖像目標檢測、分類、識別。