苑強(qiáng),李納新
數(shù)字手寫體的深度信念網(wǎng)絡(luò)識別方法
苑強(qiáng)1,李納新2
(1. 青島科技大學(xué)信息學(xué)院,山東青島,266061;2. 新疆庫爾勒塔里木油田通信事務(wù)部,新疆庫爾勒,841000)
深度信念網(wǎng)絡(luò)可以通過低層特征組合抽象形成更高層的特征,具有良好的學(xué)習(xí)能力,其無監(jiān)督學(xué)習(xí)特點(diǎn)減少了人工勞動量。主要研究了使用深度信念網(wǎng)絡(luò)(DBN)對手寫數(shù)字進(jìn)行識別的方法,實(shí)驗(yàn)表明設(shè)計識別數(shù)字的網(wǎng)絡(luò)模型時的最佳層數(shù)為5層。使用MNIST數(shù)據(jù)庫中的60 000個圖片訓(xùn)練深度信念網(wǎng)絡(luò),再使用MNIST中的另外10 000個圖片測試網(wǎng)絡(luò),得出高達(dá)93.42%的準(zhǔn)確率,高于同等條件下的SVM。另外,在深度學(xué)習(xí)網(wǎng)絡(luò)中引入Dropout參數(shù),可以在使用少量樣本的情況下獲得更高的識別準(zhǔn)確率。
數(shù)字手寫識別;深度信念網(wǎng)絡(luò);Dropout訓(xùn)練
手寫數(shù)字識別具有重要現(xiàn)實(shí)意義。在金融和電子商務(wù)等涉及手寫數(shù)字的場合,當(dāng)待處理數(shù)字量特別大,而且要求識別準(zhǔn)確率又很高時,對手寫數(shù)字進(jìn)行智能識別顯得更加重要。
手寫數(shù)字識別是圖像識別領(lǐng)域的基礎(chǔ),常用的數(shù)字識別技術(shù)有:模板匹配法、SVM(支撐向量機(jī))法、神經(jīng)網(wǎng)絡(luò)識別等,這些方法在準(zhǔn)確率、實(shí)時性和實(shí)施性方面還有一定缺陷[1]。本文采用深度學(xué)習(xí)算法,學(xué)習(xí)訓(xùn)練數(shù)據(jù)特征和規(guī)律,以用來對新樣本進(jìn)行智能識別或某種可能性的預(yù)測。本文內(nèi)容安排如下:首先,介紹手寫數(shù)字識別整體算法流程;隨后,介紹深度學(xué)習(xí)網(wǎng)絡(luò)的設(shè)計配置以及訓(xùn)練技巧,比如動量因子和Dropout參數(shù)的引入;最后,是實(shí)驗(yàn)設(shè)計和實(shí)驗(yàn)結(jié)果的對比。
手寫數(shù)字識別流程主要包括訓(xùn)練和識別兩部分,訓(xùn)練是指使用MNIST數(shù)據(jù)集訓(xùn)練形成深度信念網(wǎng)絡(luò)模型;識別是指將欲識別的圖片進(jìn)過預(yù)處理后,輸入深度信念網(wǎng)絡(luò)模型進(jìn)行識別。整體流程如圖1所示,其中下文對部分內(nèi)容進(jìn)行概述。
1.1圖像預(yù)處理
本文的訓(xùn)練和測試網(wǎng)絡(luò)模型使用的是MNIST數(shù)據(jù)集,該數(shù)據(jù)集含有0~9的60 000個訓(xùn)練數(shù)據(jù)集和0~9的10 000個測試數(shù)據(jù)集,這些圖像數(shù)據(jù)都保存在二進(jìn)制文件中,每張圖片可以使用一個784維的向量表征。在實(shí)驗(yàn)中使用MNIST數(shù)據(jù)集時,預(yù)處理主要是灰度的歸一化處理。每張圖片都是28像素×28像素的,部分圖片展示如圖2。
圖1 手寫數(shù)據(jù)識別整體流程
圖2 MNIST部分圖片
一般來說,由于光照和背景等因素,使欲進(jìn)行識別的原始圖像帶有噪聲,不利于準(zhǔn)確識別,所以有必要進(jìn)行預(yù)處理。本文圖像預(yù)處理主要包括灰度化、去噪、分割幾個步驟。然后將進(jìn)行過預(yù)處理的圖像數(shù)據(jù)輸入深度信念網(wǎng)絡(luò)進(jìn)行識別,并得到識別結(jié)果。
1.2深度信念網(wǎng)絡(luò)模型
深度信念網(wǎng)絡(luò)的形成是其中極其重要的一環(huán)。深度信念網(wǎng)絡(luò)是由限制性玻爾茲曼機(jī)(RBM)疊加而成的。首先,從第一個RBM開始,對其進(jìn)行無監(jiān)督訓(xùn)練,確定其權(quán)重及偏置;其次,把第一個RBM的輸出向量作為第二個RBM的輸入,然后訓(xùn)練第二個RBM網(wǎng)絡(luò),反復(fù)訓(xùn)練多次;第三,通過前向傳播,在最頂層加上標(biāo)簽層,整個網(wǎng)絡(luò)相當(dāng)于進(jìn)行了一次完整的無監(jiān)督學(xué)習(xí);最后,使用反向傳播(BP),將誤差自頂向下傳播至每一層RBM,通過梯度下降法修改層間參數(shù),達(dá)到微調(diào)整個DBN網(wǎng)絡(luò)的目的。
其中,限制性玻爾茲曼機(jī)(RBM)網(wǎng)絡(luò)結(jié)構(gòu)中有兩層,分別是可視層和隱藏層??梢晫佑衜個可視節(jié)點(diǎn),隱藏層有n個隱藏節(jié)點(diǎn),其中每個可視節(jié)點(diǎn)只和n個隱藏節(jié)點(diǎn)相關(guān),而和同層的其他可視節(jié)點(diǎn)之間獨(dú)立。通過RBM的能量函數(shù),得到隱藏層和可視層的聯(lián)合概率分布,再通過對比分歧算法,更新權(quán)重等參數(shù)。
上面章節(jié)介紹了手寫數(shù)字識別的整體流程,并對其中深度信念網(wǎng)絡(luò)模型的設(shè)計進(jìn)行了概述。DBN的應(yīng)用重點(diǎn)是訓(xùn)練過程的各種參數(shù)選擇和訓(xùn)練技巧,詳述如下。
2.1激活函數(shù)的選擇
激活函數(shù)的選擇很重要,好的激活函數(shù)可以避免梯度擴(kuò)散等問題,主要有如下特性需要考慮:
(1)非線性:當(dāng)激活函數(shù)是非線性函數(shù)時,基本上所有的函數(shù)都可以被一個兩層的神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)。然而,如果激活函數(shù)是恒等激活函數(shù)等線性函數(shù)時,一個深層網(wǎng)絡(luò)與單層神經(jīng)網(wǎng)絡(luò)的作用相差不多,且對于大量非線性函數(shù)網(wǎng)絡(luò)無法表示。
(2)單調(diào)性:當(dāng)激活函數(shù)具有單調(diào)性時,單層網(wǎng)絡(luò)能夠保證其是凸函數(shù)。
(3)可微性:當(dāng)優(yōu)化方法是基于梯度下降時,函數(shù)必須可微。
(4)f(x)≈x的限制條件:當(dāng)激活函數(shù)滿足f(x)≈x時,如果訓(xùn)練參數(shù)是隨機(jī)初始化的很小的值,則訓(xùn)練神經(jīng)網(wǎng)絡(luò)的效率很高;然而若不滿足該條件,只能謹(jǐn)慎設(shè)置參數(shù)初始值。
(5)輸出值的范圍:當(dāng)激活函數(shù)的輸出是有限值時,利用梯度下降優(yōu)化代價函數(shù)效果可觀;當(dāng)激活函數(shù)的輸出沒有限制時,訓(xùn)練模型會更快,不過此時的學(xué)習(xí)速率會比較慢。
2.2學(xué)習(xí)率
當(dāng)學(xué)習(xí)率設(shè)置較大時,將導(dǎo)致重構(gòu)的誤差急劇增加,權(quán)重值也會很大。設(shè)置學(xué)習(xí)率的方法是先進(jìn)行權(quán)重更新和權(quán)重直方圖,以令權(quán)重更新量為權(quán)重的0.001左右。若有一個單元的輸入值很大,則令權(quán)重更新值再小一些。
2.3動量因子
學(xué)習(xí)率較大,收斂速度加快,但易造成算法的不穩(wěn)定;學(xué)習(xí)率較小,可以減輕算法不穩(wěn)定性,收斂速度降低。為解決該問題,引入動量因子參數(shù),作用是本次參數(shù)值的修改方向不完全由當(dāng)前樣本的梯度方向決定,而是采用上一次參數(shù)的方向和本次梯度的方向相結(jié)合,可以避免過早收斂到局部最優(yōu)點(diǎn)[2],動量因子momentum一般設(shè)置為0.5。
2.4Dropout參數(shù)
訓(xùn)練網(wǎng)絡(luò)模型時,如果用于訓(xùn)練的樣本較少,則形成的網(wǎng)絡(luò)模型會出現(xiàn)過擬合現(xiàn)象,既而使模型的泛化能力降低。為解決該問題,引入Dropout參數(shù),其作用是使訓(xùn)練中的隱藏層部分節(jié)點(diǎn)失去作用,這樣就一定程度上解決了過擬合現(xiàn)象。理論上,dropout是一種模型平均,隨機(jī)性地忽略隱藏層的節(jié)點(diǎn),從而得到不同的模型,通過其最終獲得平均概率[3]。然而使用Dropout參數(shù)時,網(wǎng)絡(luò)的訓(xùn)練時間會有所延長。本文設(shè)置Dropout的值為0.5。
本實(shí)驗(yàn)是在Windows 7操作系統(tǒng)下的Matlab 2012平臺進(jìn)行的。實(shí)驗(yàn)設(shè)計主要包括測試深度信念網(wǎng)絡(luò)模型識別手寫體數(shù)字的最優(yōu)層數(shù),以及Dropout訓(xùn)練技巧對識別精度的影響,測試結(jié)果陳述如下。
3.1DBN層數(shù)變化對識別精度的影響
在設(shè)計網(wǎng)絡(luò)時,暫不使用Dropout技巧,僅設(shè)置激活函數(shù)為sigmoid函數(shù),動量參數(shù)值為0.5,學(xué)習(xí)率值為1。設(shè)置層數(shù)分別為3、4、5、6進(jìn)行測試,網(wǎng)絡(luò)模型如圖3所示。
對以上四種網(wǎng)絡(luò)模型在相同的軟硬件平臺上運(yùn)行,經(jīng)過相同方法和數(shù)據(jù)集進(jìn)行訓(xùn)練、測試。最后得出實(shí)驗(yàn)結(jié)果見表1所示。
圖3 不同層數(shù)的DBN網(wǎng)絡(luò)模型
表1 實(shí)驗(yàn)對比結(jié)果
由實(shí)驗(yàn)結(jié)果得知,數(shù)字識別準(zhǔn)確率起初隨著深度的增加而增加,當(dāng)深度為5,即隱藏層數(shù)為3時精確度最高,達(dá)到93.4%,高于此時的6層網(wǎng)絡(luò)。因此可知,深度學(xué)習(xí)算法在手寫數(shù)字時,并非層數(shù)越多,識別效果越好,其主要原因是當(dāng)層數(shù)較高時,產(chǎn)生過擬合現(xiàn)象[4],導(dǎo)致泛化能力降低。
3.2Dropout訓(xùn)練對識別精度的影響
在網(wǎng)絡(luò)初始化時,在Dropout參數(shù)值為0.5,設(shè)置激活函數(shù)為sigmoid函數(shù),層數(shù)為5層,動量參數(shù)值為0.5,學(xué)習(xí)率值為1的情況下,如果使用2 000個圖片訓(xùn)練,1 000個圖片測試,使用Dropout的錯誤率為11%;不使用Dropout的錯誤率為13%。在同樣條件下,增加為60 000個圖片訓(xùn)練、10 000個圖片測試,使用Dropout的錯誤率為7%;使用Dropout的錯誤率也為7%。實(shí)驗(yàn)結(jié)果說明,當(dāng)訓(xùn)練樣本較少時,使用Dropout參數(shù)可以一定程度上避免過擬合[5];然而當(dāng)訓(xùn)練樣本較多時,Dropout 效果不明顯,且訓(xùn)練時間增長。
在基于深度信念網(wǎng)絡(luò)的手寫數(shù)字識別研究中,本文為提高識別準(zhǔn)確率,測試了不同網(wǎng)絡(luò)層數(shù)對準(zhǔn)確率的影響,確定最佳層數(shù)為5層,此時的最佳識別精度為93.4%,高于同等實(shí)驗(yàn)條件下基于SVM設(shè)計的手寫數(shù)字識別系統(tǒng)的91%的準(zhǔn)確率。以上結(jié)果表明本文方法的有效性。
此外,測試了Dropout參數(shù)對準(zhǔn)確率的影響。結(jié)果表明,當(dāng)訓(xùn)練樣本較少時,設(shè)置Dropout參數(shù)值為0.5,可以避免過擬合現(xiàn)象的發(fā)生,提高泛化能力,有效作為小樣本時訓(xùn)練DBN網(wǎng)絡(luò)的一個小技巧。
[1]吳忠, 朱國龍, 黃葛峰, 等. 基于圖像識別技術(shù)的手寫數(shù)字識別方法[J]. 計算機(jī)技術(shù)與發(fā)展, 2011, 21(12): 48-51, doi: 10.3969/ j.issn.1673-629X.2011.12.013.
[2]馬玉梅, 武玉厚. 動量因子對BP算法的影響[J]. 中央民族大學(xué)學(xué)報:自然科學(xué)版, 2008, 17(4): 35-40, doi: 10.3969/j.issn.1005-8036.2008.04.006.
[3]DINARELLI M, TELLIER I. Improving Recurrent Neural Networks for Sequence Labelling [J]. 2016, arXiv: 1606.02555.
[4]張衛(wèi)東. 深度信念網(wǎng)絡(luò)及其在手寫字體識別中的應(yīng)用[D]. 成都: 成都理工大學(xué), 2015.
[5]ZHAO F, HUANG Y, WANG L, et al. Learning Relevance Restricted Boltzmann Machine for Unstructured Group Activity and Event Understanding [J]. International Journal of Computer Vision, 2016: 1-17, doi: 10.1007/s11263-016-0896-3.
Recognition of Digital Handwriting based on Deep Belief Network
YUAN Qiang, LI Na-xin
(1. Information Institute, Qingdao University of Science and Technology, Qingdao, Shandong, 266061, China; 2. Communication Department of Xinjiang Korla Tarim Oil Field, Korla, Xinjiang, 841000, China)
By means of combining features of image low level, deep belief network (DBN) can form the feature of higher level, which has a good learning ability. Also, carrying out unsupervised learning can reduce the amount of manual labor. The use of deep belief networks to recognize handwritten numerals is mainly studied. When designing the network model, the optimal number of layer is 5. By using 60 000 images in the MNIST database to train the deep belief network, and then using the rest MNIST 10 000 pictures testing network, its recognition accuracy can reach 93.42%, which is higher than that of the SVM. Moreover, by using the Dropout training techniques in DBN, the network using a small amount of sample training has higher recognition accuracy than that of the network of Dropout absence.
Identification for Digital Handwriting; Deep Belief Network; Dropout Training
TP391.43
A
2095-8412 (2016) 05-921-04工業(yè)技術(shù)創(chuàng)新 URL: http://www.china-iti.com
10.14103/j.issn.2095-8412.2016.05.025
苑強(qiáng)(1982-),男,青島科技大學(xué)信息學(xué)院研究生,研究方向:數(shù)據(jù)處理與模式識別。
E-mail: yuanqiang2@swhysc.com
李納新(1968-),女,新疆庫爾勒塔里木油田通信事務(wù)部工程師,研究方向:信息通信與處理。
E-mail: linx8998@sohu.com