侯艷路 丁世飛 孫統(tǒng)風(fēng)
(中國礦業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院, 徐州, 221116)
手寫數(shù)字識別是模式識別的一種,包含在字符識別技術(shù)中,處理一些數(shù)據(jù)信息的關(guān)鍵技術(shù)就是手寫數(shù)字識別,比如財務(wù)報表、郵政編碼和各種票據(jù)等。1998年Lecun等提出了手寫體數(shù)字識別模型LeNet-5[1],曾被廣泛應(yīng)用于識別美國銀行支票手寫體數(shù)字;文獻(xiàn)[2]中用K近鄰分類算法(K-nearest-neighbors, KNN)在MNIST數(shù)據(jù)集上實現(xiàn)了2.83%的分類錯誤率;支持向量機(Support vector machine,SVM)和其改進(jìn)算法在分類任務(wù)中得到廣泛應(yīng)用[3-4],2012年Niu等提出了應(yīng)用在數(shù)字識別上的混合模型CNN-SVM[5],用CNN進(jìn)行特征提取,SVM作為分類器,結(jié)合雙方各自的優(yōu)點,在圖像分類任務(wù)中取得了很好的實驗效果;Luo[6]等在2014年提出了一種混合方法ELM-SRC(Sparse representation based classification),把SRC處理噪聲圖像的優(yōu)勢和ELM訓(xùn)練速度快結(jié)合起來,在USPS手寫數(shù)據(jù)集上進(jìn)行了實驗,既提高了分類精度,又保證了時間效率。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)是深度學(xué)習(xí)算法的一種,廣泛應(yīng)用于很多領(lǐng)域,如目標(biāo)識別、場景分類和人臉識別等。CNN通過一層一層的學(xué)習(xí),每層會自動從輸入圖像中提取到不同的特征,從低級到高級,在面對各種圖像識別任務(wù)時都有很好的效果,被認(rèn)為是通用圖像識別系統(tǒng)的代表之一[7]。通常,卷積層中的神經(jīng)元通過局部感受野與上層相連接,通過卷積得到該局部的特征,在池化層用池化的方法進(jìn)行二次特征提取,卷積層和池化層交替出現(xiàn)的結(jié)構(gòu)使其能夠容忍一定畸變的輸入樣本[8]。但是CNN在訓(xùn)練的過程中需要采用BP算法來調(diào)整參數(shù),這個過程會消耗大量時間。隨機森林(Random forest,RF)是Leo Breiman在2001年提出的一種新的機器學(xué)習(xí)算法[9],在分類和回歸上具有很高的精度,訓(xùn)練速度快并且不容易出現(xiàn)過擬合問題,在抗噪方面也表現(xiàn)良好,現(xiàn)有的基于RF的分類器都依賴手工選取的特征,然而手工選取特征非常費時費力而且需要專業(yè)知識背景,是否能夠取得好的效果還依賴于一定的經(jīng)驗和運氣。文獻(xiàn)[10]提出網(wǎng)絡(luò)結(jié)構(gòu)在隨機無預(yù)訓(xùn)練的權(quán)值情況下也可以取得很好的效果;文獻(xiàn)[11]使用隨機初始化的未經(jīng)任何訓(xùn)練的網(wǎng)絡(luò)還原生成了逼真的原始圖像;Maji[12]等在2015年提出了深度神經(jīng)網(wǎng)絡(luò)和RF模型用來檢測眼底圖像中的視網(wǎng)膜血管,并在DRIVE 數(shù)據(jù)集上達(dá)到了93.27%的準(zhǔn)確率。基于以上問題,文中提出了一個混合模型C-RF。在混合模型中,用隨機權(quán)值的CNN提取特征,然后交給RF完成分類,這樣使得模型在提取特征的過程中大大減少了時間,既克服了CNN訓(xùn)練時間過長的問題,又解決了RF人工選取特征的缺陷。
CNN是深度學(xué)習(xí)廣泛應(yīng)用的一個模型,尤其在圖片領(lǐng)域非常高效[13],它是一個可以完成特征自動提取和分類的多層神經(jīng)網(wǎng)絡(luò)。CNN的結(jié)構(gòu)如圖1所示,由輸入層、交替的卷積層和池化層、輸出層組成。CNN執(zhí)行的是有監(jiān)督的指導(dǎo)訓(xùn)練,過程大致為以下4步:(1)從樣本集(X,Y)中取出X,輸入到網(wǎng)絡(luò)中;(2)前向傳輸,經(jīng)過每層的變換,得到最終的實際輸出;(3)計算誤差值,用BP算法求解得到誤差對網(wǎng)絡(luò)權(quán)值的導(dǎo)數(shù);(4)進(jìn)行權(quán)值更新。
圖1 CNN結(jié)構(gòu)Fig.1 Structure of CNN
1.1.1全連接層
(1) 計算輸出
對于全連接的第l層的輸出函數(shù)為
xl=f(ul),ul=Wlxl-1+bl
(1)
式中:f(·)代表激活函數(shù),這里采用sigmoid函數(shù)。
第n個訓(xùn)練樣例的誤差損失為
(2)
(2) 權(quán)值更新
為了方便,定義靈敏度為
(3)
反向傳播中第i層的靈敏度為
δi=(Wi+1)Tδi+1″°f′(ui)
(4)
對輸出層的基值b,第l層損失函數(shù)對基值b的偏導(dǎo)數(shù)為
(5)
對于權(quán)值W,求偏導(dǎo)數(shù)
(6)
式中xl-1為第l層的輸入也就是上層的輸出,所以最終權(quán)值的改變量為
(7)
1.1.2卷積層
在卷積層,相應(yīng)的輸出特征圖為
(8)
式中Mj表示輸入特征圖的集合。為了能夠得到l層的靈敏度,需要對池化層的靈敏度map進(jìn)行上采樣操作,使得池化層的靈敏度map與卷積層的靈敏度map大小一致。在池化層map的權(quán)值都取一個β,則第l層的節(jié)點j的靈敏度為
(9)
式中up(x)表示對x進(jìn)行上采樣,具體操作要根據(jù)前面池化的方法。現(xiàn)在對于一個給定的map,就可以計算得到基值b梯度為
(10)
最后,對卷積核的權(quán)值W的梯度用Matlab的卷積函數(shù)來計算,即
(11)
1.1.3池化層
對于池化層,不會改變輸入特征圖的數(shù)量,只是將輸入特征圖變小,有
(12)
式中down(·)表示一個池化函數(shù)。
當(dāng)計算式(9)中卷積核的靈敏度時,這里再次借助卷積函數(shù)來得到卷積核的靈敏度,即
(13)
這時基值b的梯度計算與卷積層一樣,同式(10)。權(quán)值β的靈敏度為
(14)
1.2 隨機森林
決策樹[14]是一類常見的機器學(xué)習(xí)方法。它是一種樹結(jié)構(gòu)(包括二叉樹和多叉樹),一般由根節(jié)點、葉節(jié)點和內(nèi)部節(jié)點構(gòu)成。根節(jié)點包含樣本全集,葉節(jié)點對應(yīng)于決策結(jié)果,內(nèi)部節(jié)點表示一個特征或者屬性。從根節(jié)點開始根據(jù)相應(yīng)的特征屬性選擇輸出分支,直到葉節(jié)點,并將葉節(jié)點存放的類別作為分類結(jié)果,這樣就可以產(chǎn)生一棵處理未知示例能力強的決策樹。建立決策樹的關(guān)鍵是分裂屬性,即在當(dāng)前狀態(tài)下選擇哪個屬性作為分類依據(jù),主要分兩步:第一步,由樣本集生成決策樹;第二步,決策樹的剪枝,在決策樹學(xué)習(xí)中,盡可能的正確分類會造成決策樹分支過多,以至于把樣本自身的一些特點當(dāng)作所有數(shù)據(jù)的共性而導(dǎo)致過擬合,所以通過主動去掉一些分支來降低過擬合的風(fēng)險。
決策樹算法的主要代表有ID3[15],C4.5[15]和CART[16]等。決策樹的優(yōu)點很多,比如:結(jié)構(gòu)簡單直接,過程非常直觀,易于理解和解釋;決策樹算法可以取得良好的分類效果;由于計算效率高,因此對于一些大型數(shù)據(jù)是可行的并且效果良好;可以很好地抑制樣本中存在的噪音,也可以解決數(shù)據(jù)屬性的缺失,因此可以一定程度上緩解由此帶來的分類性能降低問題。主要的缺點有:對連續(xù)性的字段預(yù)測困難,效果不好;當(dāng)分類類別太多時,精度下降得比較快;分類規(guī)則繁雜,一定程度上會由于過于適應(yīng)噪聲而導(dǎo)致過擬合等。
隨機森林算法的實質(zhì)是一個包含K個決策樹的分類器,用隨機方式建立一個森林,森林由決策樹組成,每棵樹之間沒有關(guān)聯(lián)。它采用bootstrap重抽樣方法從原始樣本中抽取n個樣本[17];對每個樣本從所有屬性中選擇k個屬性,選擇最佳屬性作為節(jié)點建立CART決策樹;重復(fù)m次建立m棵CART決策樹,這m棵CART形成隨機森林,通過投票得到最終投票結(jié)果。
隨機森林具有較高的分類精度,解決了決策樹過擬合的缺陷,對噪聲和異常點的抗干擾能力比較強;并且運行速度比較快,可以根據(jù)需要生成任意數(shù)目的樹。基上以上眾多優(yōu)點,隨機森林被廣泛應(yīng)用于醫(yī)學(xué)研究[18]、文本分類[19]和生物信息[20]等領(lǐng)域。
2.1C-RF結(jié)構(gòu)
混合模型C-RF的主要思想是用RF代替CNN原有的輸出層作分類,其結(jié)構(gòu)圖如圖2所示。首先用隨機權(quán)值的卷積層和池化層完成對圖像的特征提取,然后將提取到的圖像特征輸入到RF分類器中得到分類結(jié)果。卷積層的濾波器個數(shù)會極大地影響模型的精度和泛化能力,根據(jù)經(jīng)驗,C-RF模型的N1和N2的取值分別為10和20;同時RF中Ntree(RF中樹的數(shù)量)值也會影響分類精度,在實驗中作了不同數(shù)目Ntree下的分類精度來進(jìn)行比較。
圖2 C-RF結(jié)構(gòu)Fig.2 Structure of C-RF
特征提取是圖像識別和分類的關(guān)鍵部分[21],能否提取到反應(yīng)圖像屬性的特征對分類精度至關(guān)重要。CNN可以通過訓(xùn)練數(shù)據(jù)進(jìn)行一層一層地學(xué)習(xí),自動從輸入圖像中完成特征提取,避免了人工經(jīng)驗式的特征提取。在CNN中,經(jīng)過簡單規(guī)則化的圖像直接作為作為網(wǎng)絡(luò)的輸入,再依次傳輸?shù)骄W(wǎng)絡(luò)的每一層,每層通過多個不同濾波器去計算得到不同尺度的特征。因為圖像的局部感受野可以使神經(jīng)元能夠抽取得到一些基本的視覺特征,例如邊緣或者角點等,并且每一層的神經(jīng)元共享權(quán)值,每個卷積層后都跟著一個二次提取特征的池化層,這種特有的方法能夠獲取平移、比例縮放、傾斜和旋轉(zhuǎn)不變的數(shù)據(jù)的顯著特征。RF是一種組合分類器,解決了決策樹過擬合的缺陷,對噪聲和異常點的抗干擾能力比較強,并且運行速度比較快,對大量數(shù)據(jù)也能保持高效性。
本文提出的混合模型C-RF發(fā)揮了CNN在特征提取方面的優(yōu)勢和RF速度快和不容易過擬合等優(yōu)點,利用隨機權(quán)值的CNN自動提取圖像的特征,將提取到的特征作為RF分類器的輸入,既避免了CNN在訓(xùn)練過程中消耗大量時間,同時又提高了RF的分類精度。
為了評估混合模型C-RF的分類性能,作者在MNIST和Rotated MNIST數(shù)據(jù)集上進(jìn)行相關(guān)的實驗。實驗環(huán)境:64位Windows 10操作系統(tǒng),4 GB RAM,主板型號為聯(lián)想To be filled by O.E.M,英特爾Intel(R) Core(TM) i5-2400 3.10 GHz 處理器,MATLAB2010b。
MNIST數(shù)據(jù)集包含了70 000張手寫數(shù)字圖像,其中訓(xùn)練樣本有60 000個,測試樣本有10 000個,每張圖像的大小為28×28像素值。數(shù)據(jù)集中部分手寫數(shù)字圖像如圖3所示。
假設(shè)Ntree為RF中樹的數(shù)量,當(dāng)Ntree取值過小時,分類精度就不會達(dá)到理想效果。由于RF不容易出現(xiàn)過擬合問題,因此可以使Ntree取值盡量大,以保證分類的精度,但與此同時會花費大量時間來構(gòu)建RF,所以Ntree的取值對RF的性能、復(fù)雜度有著重要的意義。為了避免CNN訓(xùn)練時間過長,采用了隨機權(quán)值的方法,在CNN提取特征之后,將提取到的特征輸入到RF中作分類,為了對比作了不同Ntree數(shù)目下的實驗,表1列出了不同Ntree取值下的測試錯誤率。
從表1中可以看到,C-RF的分類精度在每個Ntree下都要優(yōu)于RF。訓(xùn)練收斂的CNN雖然可以取得更高的精度,但是在訓(xùn)練迭代的過程中需要大量時間。由于隨機權(quán)值的有效性,采用了隨機權(quán)值的CNN,不需要梯度算法調(diào)整參數(shù),大大縮減了特征提取時間,同時實驗結(jié)果也證明了C-RF模型優(yōu)于RF。
圖3 MNIST數(shù)據(jù)集中部分圖像Fig.3 Some images of MNIST dataset
NtreeRFC?RF1003.032.172003.042.133002.932.044002.931.995002.912.006002.872.017002.872.068002.892.10
為了進(jìn)一步說明模型的有效性,作者選取了變異的MNIST數(shù)據(jù)集中的一個Rotated MNIST數(shù)據(jù)集作了對比試驗,Rotated MNIST數(shù)據(jù)集將MNIST數(shù)據(jù)集中的數(shù)字圖像在0~2π之間均勻地旋轉(zhuǎn),如圖4所示。
圖4 Rotated MNIST數(shù)據(jù)集部分圖像Fig.4 Some images of Rotated MNIST dataset
從Rotated MNIST數(shù)據(jù)集中隨機選取了50 000個數(shù)據(jù)為訓(xùn)練數(shù)據(jù),10 000個為測試數(shù)據(jù),與MNIST數(shù)據(jù)集一樣,分別做了在不同Ntree數(shù)目下RF和C-RF的實驗。表2是Rotated MNIST數(shù)據(jù)集下RF和C-RF的測試錯誤率。從表2中可以看到的模型C-RF在不同Ntree取值下效果都要好于RF,再次驗證了模型的有效性,同時泛化能力也強于RF。
表2 Rotated MNIST數(shù)據(jù)集在RF和C-RF上的實驗結(jié)果
本文提出了一種基于CNN的混合模型C-RF,該模型利用隨機權(quán)值的CNN自動提取輸入圖像特征,然后用RF替換原始CNN的輸出層,最后將CNN提取到的特征輸入RF中進(jìn)行分類。本文在MNIST和Rotated MNIST數(shù)據(jù)集上進(jìn)行了相關(guān)實驗,實驗結(jié)果表明,和RF相比,模型C-RF明顯提高了分類精度。關(guān)于混合模型C-RF的研究,還有很多問題需要去探討,比如模型結(jié)構(gòu)的優(yōu)化、應(yīng)用推廣等,具體如下:(1)對于CNN中每一層卷積核個數(shù)以及卷積核大小的設(shè)定沒有完整的理論來指導(dǎo),或許可以進(jìn)一步優(yōu)化它們的取值;(2)用其他深度學(xué)習(xí)算法如自動編碼器(Auto encoder,AE)、受限玻爾茲曼機(Restrict Boltzmann machine, RBM)等來提取特征是否會取得更好的效果需要進(jìn)一步探討;(3)本文只在手寫數(shù)字?jǐn)?shù)據(jù)集中做了實驗,是否適用于一些更大更復(fù)雜的數(shù)據(jù)集值得探討。
參考文獻(xiàn):
[1]Lecun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.
[2]Amit Y, Geman D, Wilder K. Joint induction of shape features and tree classifiers[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 1997, 19(11): 1300-1305.
[3]鄒永祥, 吳宗亮. 一種廣義不可分的支持向量機算法[J]. 數(shù)據(jù)采集與處理, 2015,30(2):434-440.
Zou Yongxiang, Wu Zongliang. Generalized C-support vector machine algorithm[J]. Journal of Data Acquisition and Processing, 2015, 30(2):434-440.
[4]奚吉, 趙力, 左加闊. 基于改進(jìn)多核學(xué)習(xí)的語音情感識別算法[J]. 數(shù)據(jù)采集與處理, 2014, 29(5):730-734.
Xi Ji, Zhao Li, Zuo Jiakuo. Speech emotion recognition based on modified multiple kernel learning algorithm[J]. Journal of Data Acquisition and Processing, 2014, 29(5):730-734.
[5]Niu X X, Suen C Y. A novel hybrid CNN-SVM classifier for recognizing handwritten digits[J]. Pattern Recognition, 2012, 45(4): 1318-1325.
[6]Luo M, Zhang K. A hybrid approach combining extreme learning machine and sparse representation for image classification [J]. Engineering Applications of Artificial Intelligence, 2014, 27: 228-235.
[7]Rousseeuw P J, Leroy A M. Robust regression and outlier detection[J]. Journal of the American Statistical Association, 1987, 31(2):260-261.
[8]Neubauer C. Shape position and size invariant visual pattern recognition based on principles of neocognitron and perception in artificial neural networks [M]. Amsterdam, the Netherlands: North-Holland, 1992: 833-837.
[9]Breiman L. Random forests[J]. Machine Learning, 2001, 45(1):5-32.
[10] Saxe A M, Pang W, Koh Z, et al. On random weights and unsupervised feature learning[C]// Proc of the 28th International Conference on Machine Learning. New York: ACM Press, 2010:1089-1096.
[11] He K, Wang Y, Hopcroft J. A powerful generative model using random weights for the deep image representation[C]// 30th Annual Conference on Neural Information Processing Systems. Barcelona, Spain: Neural Information Processing Systems Foundation, 2016: 631-639.
[12] Maji D, Santara A, Ghosh S, et al. Deep neural network and random forest hybrid architecture for learning to detect retinal vessels in fundus images[C]//37th Annual International Conference of the IEEE. Milan, Italy:Engineering in Medicine and Biology Society, 2015:3029-3032.
[13] Lecun Y, Kavukcuoglu K, Farabet C. Convolutional networks and applications in vision[C]// IEEE International Symposium on Circuits and Systems.[S.l.]:IEEE, 2010:253-256.
[14] Friedl M A, Brodley C E. Decision tree classification of land cover from remotely sensed data[J].Remote Sensing of Environment, 1997, 61(3):399-409.
[15] Quinlan J R. Induction of decision trees[J]. Machine Learning, 1986, 1(1):81-106.
[16] Breiman L, Friedman J H, Olshen R, et al. Classification and regression trees[J]. Biometrics, 2015, 40(3):17-23.
[17] Efron B. Bootstrap methods: Another look at the Jackknife[J]. The Annals of Statistics, 1979, 7(1):1-26.
[18] Ying W, Li X, Xie Y, et al. Preventing customer churn by using random forests modeling[C]// IEEE International Conference on Information Reuse and Integration. Las Vegas, USA: IEEE Computer Society, 2008:429-434.
[19] 張華偉, 王明文, 甘麗新. 基于隨機森林的文本分類模型研究[J]. 山東大學(xué)學(xué)報理學(xué)版, 2006, 41(3):5-9.
Zhang Huawei, Wang Mingwen, Gan Lixin. Automatic text classification model based on random forest[J]. Journal of Shandong University, 2006, 41(3):5-9.
[20] Pang H, Datta D, Zhao H. Pathway analysis using random forests with bivariate node-split for survival outcomes[J]. Bioinformatics, 2009, 26(26):250-258.
[21] Ding S, Xu X, Nie R. Extreme learning machine and its applications[J]. Neural Computing and Applications, 2014, 25(3):549-556.