艾玲梅,葉雪娜
(陜西師范大學 計算機科學學院,陜西 西安 710119)
卷積神經網絡識別二維圖像目標具有很好的檢測分類效果和穩定性。近年來,卷積神經網絡在一些圖像目標檢測分類中取得了一些突破性的進展[1],ILSVRC2014比賽第一名GoogLeNet使用22層深度卷積神經網絡結構,錯誤率達到6.67%[2]。對于手寫數字字符和CIFAR-10圖像目標檢測與分類的方法,arXiv201的部分最大池化方法錯誤率分別下降到0.32%、3.47%[3];2014ImageNet挑戰賽中取得不錯的分類檢測效果[4];深度監督網絡訓練的結果錯誤率為0.53%、8.22%[5];Zhang等結合貝葉斯分類器提出深度卷積神經網絡,對圖像目標進行分類[6];大部分卷積神經網絡模型采用隨機梯度下降算法[7]。傳統的卷積神經網絡模型由卷積層、抽樣層和一個全連接層來實現圖像目標的檢測與分類,而深度卷積神經網絡模型參數規模較大。對于提高神經網絡的訓練速度和分類檢測準確率,目前主要有兩個方向:第一個是改進訓練算法,Xavier Glorot使用Tanh激活函數[8],Hinton使用棄權技術[9],Bergstra利用網格參數優化[10]逐層使用標簽信息預訓練;第二個是簡化神經網絡模型的結構,使得簡單的神經網絡模型能夠達到目前復雜的神經網絡模型在圖像目標檢測與分類的準確率。Thomaxs采納異質的神經網絡模型使用步長為2的循環卷積層取代傳統的卷積神經網絡模型中的卷積層和池化層,利用批量隨機梯度下降算法進行訓練,取得了當前復雜卷積神經網絡模型分類檢測的效果[11]。
為了提高神經網絡模型在圖像數據集中檢測與分類的訓練速度和準確率,文中分別利用進退法、黃金分割算法自適應調整批量隨機梯度下降算法的規范化參數和學習率來訓練神經網絡模型。深度復雜的神經網絡模型訓練過程比較緩慢甚至出現過度擬合問題,結合循環神經網絡和卷積神經網絡的特點構造簡單的循環神經網絡模型,在訓練少量數據集的情況下達到與較復雜的深度卷積神經網絡同等的效果。
基于對生物學神經系統中視覺神經元工作機理的研究,提出了單個神經元為基礎的“感知器”概念。這種模仿人類視覺機理的方法,在處理人類視覺和語音識別問題上表現出了明顯優勢 。感知器模仿人類視覺神經元工作機理,當神經元受到刺激,相當于一個感知器從外界獲取信號,然后通過加權求和的方式構成一個神經信號,再將這個輸入信號通過非線性激活函數進行輸出。
y=sigmoid(w1x1+w2x2+w3x3)
(1)
神經網絡由若干神經元組成,在神經網絡模型能夠達到很好的分類效果時,交叉熵代價函數的輸出值就會趨于0。神經網絡模型使用批量隨機梯度下降算法,利用交叉熵代價函數可以避免神經元飽和、學習速率緩慢等問題[12],因此采用交叉熵代價函數作為神經網絡在分類時的代價函數。
(2)
其中,n為訓練數據的總數,求和是在所有訓練輸入x上進行;y為對應的目標輸出。如果對于所有的訓練輸入x,神經元實際的輸出值接近目標值,交叉熵接近于0。
標準卷積神經網絡通過卷積層提取輸入層圖像特征,然后輸出到池化層作進一步處理。循環卷積神經網絡使用循環卷積層來代替卷積層,從輸入層提取圖像目標,與標準的卷積神經網絡中的卷積層功能一致。不同的是,循環卷積層提取輸入層特征后并不輸出給池化層,而是用變化的循環神經網絡進行處理,采用對特征層數據添加空數據的方法,進行特征的抽象抽取。實驗中限制的循環次數為2,通過2次從特征層二次抽取數據作為池化層的輸入。
循環卷積神經網絡模型的結構如圖1所示。

圖1 循環卷積神經網絡模型結構
神經網絡在學習過程中訓練數據集較少時,訓練速度較快。雖然神經網絡學習到的模型適用于訓練數據集,但是沒有學習到數據的本質特征,神經網絡模型泛化能力并不是很高。另一方面增加訓練數據集學習到數據的本質特征,然而在增加訓練數據集的過程中使得神經網絡模型訓練速度變得緩慢,且訓練數據集在實際中很難獲取。選擇適量的數據集作為訓練數據集來訓練神經網絡模型,隨著神經網絡模型訓練過程中迭代次數的不斷增加,神經網絡模型在驗證數據集和測試數據集中都會表現出過度擬合問題。
選取MNIST數據集,使用批量的隨機梯度下降算法訓練神經網絡模型。如表1所示,分別用不同的隱藏層神經元數目和學習率,用相同的訓練數據集來訓練神經網絡,隨著迭代次數的增長,隱藏層神經元數目越多,批量隨機梯度下降算法學習率越大,卷積神經網絡模型出現過度擬合時的迭代次數越小。當隱藏層神經元數目相同,批量隨機梯度下降算法的學習率相同時,訓練數據集越大,卷積神經網絡模型訓練過程中不容易出現過度擬合問題,雖然增加了訓練時間,但是訓練的卷積神經網絡模型在測試數據集上表現出良好的分類檢測效果。

表1 訓練過度擬合實驗數據表
圖2展示了在神經元數目不同和批量隨機梯度下降算法學習率相同的情況下,使用相同的訓練數據集進行卷積神經網絡模型的訓練過程。卷積神經網絡模型使用200個隱藏層神經元的檢測分類效果不如使用100個隱藏神經元的效果,因此當訓練數據集較少而神經元數目過多時,卷積神經網絡模型的檢測分類效果并不是很好。訓練數據集較少時,簡單的卷積神經網絡模型表現出良好的檢測分類效果,復雜的卷積神經網絡模型在訓練過程中出現過度擬合問題,檢測分類效果較差。

圖2 不同神經元數目訓練過程
神經網絡模型訓練特定的數據集,當迭代次數逐漸增加時會出現過度擬合問題。增加訓練樣本數量可以消除過擬合問題,然而訓練樣本在現實生活中很難獲取,且會降低神經網絡訓練速度。文中采取固定的網絡和固定的訓練數據集,使用規范化權重衰減技術,在代價函數中增加一個額外的代價函數的規范化項。

(3)
代價函數在交叉熵代價函數的基礎上增加了規范化項,所用的規范化項為所有權重的平方和,其中lambda>0可以稱為規范化參數,而n就是訓練集合的大小。增加了規范化項之后,權重的學習規則發生了微小的變化,這和通常的梯度下降學習規則相同,權重在原來學習的基礎上重新調整w,這種調整通常稱為權重衰減。
使用加入規范化項的交叉熵代價函數,隨著迭代次數的增加,神經網絡訓練過程中在驗證數據集上的分類準確率不斷提高,降低了神經網絡的過度擬合情況。對于固定的數據集和固定的網絡結構,如何選擇規范化參數可以使得神經網絡在學習過程中能夠得到更好的神經網絡模型。
批量隨機梯度下降算法在訓練神經網絡過程中,學習率和代價函數值比較大時,神經網絡模型訓練速度較快;學習率和代價函數值較小時,神經元會出現飽和,使神經網絡模型在測試和驗證數據集中分類準確率提高得并不多,且學習速度緩慢,甚至很難找到最好的分類效果。傳統的神經網絡學習過程中,批量隨機梯度下降算法使用固定的學習率訓練神經網絡,當學習率設置過大時,神經網絡在訓練過程中能夠快速下降到全局最優解附近。然而由于學習率過大,神經網絡學習過程在全局最優解附近徘徊。當學習率設置過小時,神經網絡在學習過程中學習速度緩慢,并且容易陷入局部最優解。
對于固定的網絡結構和固定的訓練數據集,使用批量隨機梯度下降算法在訓練神經網絡時,選取不同的學習率,神經網絡在學習過程中表現出的分類效果和代價函數值區別比較大。
神經網絡模型使用批量隨機梯度下降算法的學習過程中,使用包含交叉熵規范化項的代價函數,實驗證明加入規范化項可以降低神經網絡學習過程中的過度擬合問題。對于固定的網絡和固定的訓練數據集,規范化項中的規范化參數的選擇對解決神經網絡學習過程中的過度擬合問題有很大幫助。選擇一個好的規范化參數,神經網絡可以快速學習,因此使用進退法[13]來確定規范化參數,算法流程如下:
(1)給定規范化參數初始值lambda,a,b,初始化步長h,C1=C(lambda);
(2)epoch=epochs+1,計算代價函數值;
(3)a=lambda+h,b=lambda-h計算;
(4)c2=c(a)、c3=c(b);
(5)如果C1>C2,則lambda=a,h=2h;
(6)如果C1>C3,則lambda=b,h=-h;
(7)當epoch 神經網絡在訓練學習的過程中,初始化權重之后,在訓練數據集和驗證數據集上分類錯誤率較高,代價函數值較大。為了使神經網絡模型能夠更快更好地學習參數模型,要不斷改進學習率來適應隨機梯度下降算法在訓練數據集中找到全局最優解。黃金分割算法在給定初始值之后不斷減小搜索區間,符合神經網絡學習過程中學習率動態變化的需求,流程圖見圖3。 MNIST數據集包含70 000張圖像,60 000張訓練圖像和10 000張測試圖像。每個MNIST圖像是一個單一的手寫數字字符化圖片,每個圖像像素大小28×28,像素值為0~255,0和255分別表示白色和黑色,中間像素值表示灰度級。文中選取MNIST數據集中的1 000張圖像作為訓練集,10 000張圖像作為驗證集,10 000張圖像作為測試集。 圖3 黃金分割算法流程 CIFAR-10是為圖像的目標檢測而設計的計算機視覺數據庫。CIFAR-10數據庫包含60 000張圖片,由10類圖像組成,每類圖像6 000張。文中選取CIFAR-10中的1 000張圖片作為訓練集,10 000張圖片作為驗證集,10 000張圖片作為測試集。 結合卷積神經網絡和循環神經網絡的各自優點,構造出三層深度神經網絡。第一層使用卷積層,從原始圖片中提取圖片目標的特征,第二層采用最大池化的方法從卷積層進一步獲取圖像的顯著特征,后面幾層循環卷積層和池化層交替出現,而池化層分別采用最大池化、平均池化、最大池化和平均池化的方法。 如表2所示,深度循環神經網絡在MNIST數據集上目標檢測與分類的錯誤率為0.43%,相比于傳統的卷積神經網絡錯誤率減少了0.1%。改進的批量隨機梯度下降算法訓練的循環卷積神經網絡深度只有3層,然而在MNIST手寫數字字符數據集的圖像目標檢測與分類上比傳統深度卷積神經網絡性能更好。 表2 MNIST分類結果 如表3所示,當訓練數據集為10 000時,深度循環神經網絡在訓練CIFAR-10數據集時,分類結果顯示錯誤率為2.82%。循環深度神經網絡模型錯誤率比CNN模型減少2%左右,表明深度循環卷積神經網絡在CIFAR-10圖像的目標檢測與分類上表現出良好的分類效果。 表3 CIFAR-10分類結果 循環卷積神經網絡通過循環卷積層提取圖像目標的特征,空間采樣層實現圖像的位移、旋轉不變形。如圖4所示,選取CIFAR-10中的圖片10張,每類各取1張分別經過循環卷積層和空間采樣層處理之后得到輸出效果。 圖4 循環卷積池化得到的可視化特征層(CIFAR-10) 將循環卷積和空間亞采樣學習到的特征輸出,選取卷積核數目為9的5×5循環卷積,通過循環卷積得到不同朝向不同頻率的邊緣特征,循環卷積池化層輸出對于位移、形變和旋轉不變性的特征。 作為比較,用隨機梯度下降算法和改進的批量隨機梯度下降算法來訓練深度循環卷積神經網絡。圖5顯示隨機梯度下降算法和改進的批量隨機梯度下降算法在訓練CIFAR-10數據集時,測試集的準確度與訓練步數之間的關系。由圖5可知,改進的批量隨機梯度下降算法在訓練深度卷積神經網絡模型時,比隨機梯度下降算法的性能更好,且在訓練深度卷積神經網絡過程中收斂速度快于傳統的隨機梯度下降算法。 圖6顯示了傳統隨機梯度下降算法和改進的批量隨機梯度下降算法在訓練MNIST數據集構建的循環神經網絡模型上的不同。由圖可知,隨機梯度下降算法和改進的隨機梯度下降算法在訓練網絡時,所表現出的性能基本相同,而改進的批量隨機梯度下降算法表現出良好的目標檢測分類效果和更快的收斂性。 圖5 CIFAR-10分類結果(CIFAR-10) 圖6 MNIST訓練結果 實驗結果表明,通過改進的批量隨機梯度下降算法訓練的深度循環卷積神經網絡,在應用于CIFAR-10數據集和MNIST數據集的錯誤率比目前較好的CNN方法分別減少了2%和0.1%,表現出了較好的目標檢測分類效果,且在訓練循環卷神經網絡時收斂速度更快。 結合卷積神經網絡和循環神經網絡在圖像目標檢測與分類上的優點,構造深度為3層的深度循環卷積神經網絡。針對隨機梯度下降算法在訓練過程中出現的過度擬合和容易陷入局部最優解等缺點,采用改進的批量隨機梯度下降算法。對需要靠經驗設定梯度下降的學習率(learning rate)和規范化參數問題,分別用進退法和黃金分割算法自適應地改變學習率和規范化參數。實驗結果表明,改進算法能較好地避免梯度下降緩慢和過擬合問題,在訓練循環卷積神經網絡模型時具有較好的目標檢測分類效果和更快的收斂性。 [1] LIANG M,HU X.Recurrent convolutional neural network for object recognition[C]//IEEE conference on computer vision and pattern recognition.[s.l.]:IEEE,2015:3367-3375. [2] SZEGEDY C,LIU W,JIA Y,et al.Going deeper with convolutions[C]//IEEE conference on computer vision and pattern recognition.[s.l.]:IEEE,2014:1-9. [3] RAYMOND F E,RAYMOND B W.Fractional max-pooling[J].Theoretical Economics Letters,2015,5(2):225-237. [4] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[C]//International conference on neural information processing systems.[s.l.]:[s.n.],2012:1097-1105. [5] LEE C Y,XIE S,GALLAGHER P,et al.Deeply-supervised nets[C]//Artificial intelligence and statistics conference.[s.l.]:[s.n.],2014:562-570. [6] ZHANG Y,SOHN K,VILLEGAS R,et al.Improving object detection with deep convolutional networks via Bayesian optimization and structured prediction[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.[s.l.]:IEEE,2015:249-258. [7] LECUN Y,JACKEL L D,BOTTOU L,et al.Comparison of learning algorithms for handwritten digit recognition[C]//International conference on artificial neural networks.[s.l.]:[s.n.],1995:53-60. [8] GLOROT X, BENGIO Y. Understanding the difficulty of training deep feedforward neural networks[J].Journal of Machine Learning Research,2010,9(2):249-256. [9] HINTON G E,SRIVASTAVA N,KRIZHEVSKY A,et al.Improving neural networks by preventing co-adaptation of feature detectors[J].Computer Science,2012,3(4):212-223. [10] BERGSTRA J,BENGIO Y.Random search for hyper-parameter optimization[J].Journal of Machine Learning Research,2012,13(2):281-305. [11] SPRINGENBERG J T,DOSOVITSKIY A,BROX T,et al.Striving for simplicity:the all convolutional net[J].Pattern Recognition Letters,2014,3(2):251-263. [12] 黃凱奇,任偉強,譚鐵牛.圖像物體分類與檢測算法綜述[J].計算機學報,2014,37(6):1225-1240. [13] 史清錄,孔祥瑩,康 健.進退法在多維非線性有約束優化問題中的應用[J].太原重型機械學院學報,2001,22(3):200-203. [14] SPRINGENBERG J T, RIEDMILLER M.Improving deep neural networks with probabilistic maxout units[J].Computer Science,2013,12(3):495-505. [15] CHENG D.Controllability of switched bilinear systems[J].IEEE Transactions on Automatic Control,2005,50(4):511-515. [16] JARRETT K,KAVUKCUOGLU K,RANZATO M,et al.What is the best multi-stage architecture for object recognition[C]//Proceedings of international conference on computer vision.[s.l.]:[s.n.],2009:2146-2153.3.2 黃金分割算法調整學習率
4 實驗結果
4.1 MNIST數據集

4.2 CIFAR-10數據集
4.3 深度循環卷積神經網絡分類結果





5 結束語