王麗雯
【摘 要】介紹了對AlexNet深度卷積神經(jīng)網(wǎng)絡(luò)進行優(yōu)化的一種方法,該方法能夠更好的實現(xiàn)非剛性物體的識別,并以O(shè)xford的102種花卉用于訓練和測試,構(gòu)建了一個新的卷積神經(jīng)網(wǎng)絡(luò)模型,后對測試結(jié)果進行逐步優(yōu)化。原AlexNet網(wǎng)絡(luò)測試識別精度為61.2%,優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)及網(wǎng)絡(luò)順序后精度提高到66.3%,解決類間不平衡問題后測試精度提高為71%。結(jié)果表明,本文提到的算法可以提升大約10%的精度。
【關(guān)鍵詞】深度學習;AlexNet;花卉分類
0 引言
人工智能即為機器賦予人的智能。而機器學習是一種實現(xiàn)人工智能的一種方法。為了實現(xiàn)這種方法,一種新的技術(shù)——深度學習誕生了。最早的卷積學習網(wǎng)絡(luò)LeNet由LeCun在1998年提出,深度學習的概念則由Geoffrey Hinton在2006年提出,而2012年ImageNet競賽冠軍獲得者Alex Krizhevsky設(shè)計的AlexNet將深度卷積神經(jīng)網(wǎng)絡(luò)帶入了人們的視野。伴隨著GPU的廣泛應(yīng)用和并行計算的更有效、更便宜,深度學習自2015年以來實現(xiàn)了大爆發(fā)式的增長,它也是目前最熱的研究方向之一。
目前為止,基于PRML的圖像識別與分類問題非常多。其本質(zhì)為從眾多圖像中學習特征并給出相應(yīng)標簽進行分類。但到目前為止,國內(nèi)外對于此問題的研究多基于幾何相關(guān)性較高,識別較容易的剛性物體的識別,如人臉等。對于非剛性物體研究則較少,如花卉等。因為不同種類的花卉在正常情況下會呈現(xiàn)出不同種類的形態(tài),無固定模式,所以花卉識別較為困難。
本文主要針對花卉這一類非剛性物體的識別進行研究,基于AlexNet網(wǎng)絡(luò)并在其基礎(chǔ)上進行了改進,并探討了類間不平衡對于實驗結(jié)果的影響。
1 深度學習模型
誕生于1998年的經(jīng)典網(wǎng)絡(luò)LeNet包含了卷積層、池化層和全聯(lián)接層,是現(xiàn)代CNN網(wǎng)絡(luò)的基本組件。而隨著ReLU和Dropout的提出,以及GPU和大數(shù)據(jù)帶來的歷史機遇,CNN網(wǎng)絡(luò)在2012年迎來了歷史突破——AlexNet。
從兩者對比中可以看出,相比于LeNet,首先AlexNet的網(wǎng)絡(luò)結(jié)構(gòu)變得更深,由原來增加到了8層。其次卷積功能變的更強大,訓練時隨機crop到224*224并允許水平翻轉(zhuǎn),測試時做了5次crop并翻轉(zhuǎn)后對結(jié)果求平均,使數(shù)據(jù)得到了大幅度增強從而減少過擬合現(xiàn)象的產(chǎn)生。再次,該網(wǎng)絡(luò)不僅僅可以進行分類,還可以進行數(shù)據(jù)檢測。最后AlexNet新增了模塊功能,如LRN、Dropout、ReLU、softmax等等。
2 花卉模型的配置
2.1 學習率
如果學習率過大,可能會越過最優(yōu)值;反之如果學習率最小,優(yōu)化的效率可能過低,長時間無法收斂。解決方法是依據(jù)如下公式更新:ωj=ωj-(λ/N)*?鄣F(ωj)/?鄣ωj。經(jīng)過測試,本實驗的學習率為0.001測試結(jié)果最好。
2.2 動量因子
為解決學習率的問題,引入了動量因子這一參數(shù)。這一參數(shù)使本次的更改方向不完全由當前樣本的梯度方向決定,而采用前參數(shù)方向與本次梯度方向相結(jié)合作為結(jié)果,從而避免過早收斂與局部最優(yōu)點。本實驗的動量因子momentum設(shè)置為0.9。
2.3 Dropout參數(shù)
在訓練中,如果用于訓練樣本過少,則模型容易產(chǎn)生過擬合的現(xiàn)象,為解決該問題,引入Dropout這一參數(shù),使隱層中的部分節(jié)點失去作用,但訓練時間有所延長。本實驗設(shè)置Dropout的值為0.5。
3 實驗設(shè)計與結(jié)果
本實驗是在Windows 10操作系統(tǒng)下基于Caffe平臺進行的。實驗設(shè)計主要包括測試原AlexNet模型在Oxford Flower上的識別結(jié)果,修改Alexnet網(wǎng)絡(luò)順序及solver.prototxt的結(jié)構(gòu)后觀察測試精度是否增加,以及解決Oxford Flower本身的類間不平衡問題是否能夠優(yōu)化測試精度。測試結(jié)果陳述如下。
在利用Caffe自帶的AlexNet模型在Oxford Flower上進行測試時,可以按照caffe的教程來進行實驗。首先進行數(shù)據(jù)準備,將用于train和test的數(shù)據(jù)標簽寫入txt文件中,并將兩個txt文件導入指定目錄文件的數(shù)據(jù)庫中。之后計算數(shù)據(jù)的均值,以方便接下來的訓練能減去均值,從而得到更好的訓練結(jié)果。最后即定義網(wǎng)絡(luò)結(jié)構(gòu)并開始訓練,迭代2000次需花費半個小時左右的時間。初步得到的測試精度為61.2%,相比較Alex在2012年的論文中提到的精度57.2%提升了大約4個百分點。
之后對網(wǎng)絡(luò)結(jié)構(gòu)進行了一些優(yōu)化,調(diào)整了一下網(wǎng)絡(luò)參數(shù)及順序,如batchsize的大小、pooling與norm層的順序、濾波器的偏差值等等,將測試精度提高到了66.3%。
最后嘗試能否將結(jié)果再進一步優(yōu)化時,考慮到Oxford Flower存在類間不平衡的問題,最大類樣本標簽數(shù)量為258個,最小類樣本標簽數(shù)量為40個,對102類樣本標簽取中值操作得到結(jié)果為66,則按照一定標準,將大類圖片隨機抽取減少一部分,小類圖片隨機旋轉(zhuǎn)或加噪聲增加一部分。結(jié)果表明測試精度提高到了71%。
4 結(jié)束語
通過本次試驗,筆者加深了對于深度學習以及卷積神經(jīng)網(wǎng)絡(luò)的理解,明白了數(shù)據(jù)準備對于實驗的重要性以及網(wǎng)絡(luò)對于訓練的巨大影響。如何應(yīng)用更深的網(wǎng)絡(luò)去解決更多的問題以及減少訓練時間是筆者今后進一步的研究方向。
【參考文獻】
[1]Y.LeCun, L. Bottou,Y.Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE,86(11):2278-2324,1998.
[2]A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In Advances in Neural Information Processing Systems 25,2012.
[3]D.Masko,P.Hensman. The Impact of Imbalanced Training Data for Convolutional Neural Networks.
[責任編輯:朱麗娜]endprint