苑強,李納新
數(shù)字手寫體的深度信念網(wǎng)絡識別方法
苑強1,李納新2
(1. 青島科技大學信息學院,山東青島,266061;2. 新疆庫爾勒塔里木油田通信事務部,新疆庫爾勒,841000)
深度信念網(wǎng)絡可以通過低層特征組合抽象形成更高層的特征,具有良好的學習能力,其無監(jiān)督學習特點減少了人工勞動量。主要研究了使用深度信念網(wǎng)絡(DBN)對手寫數(shù)字進行識別的方法,實驗表明設計識別數(shù)字的網(wǎng)絡模型時的最佳層數(shù)為5層。使用MNIST數(shù)據(jù)庫中的60 000個圖片訓練深度信念網(wǎng)絡,再使用MNIST中的另外10 000個圖片測試網(wǎng)絡,得出高達93.42%的準確率,高于同等條件下的SVM。另外,在深度學習網(wǎng)絡中引入Dropout參數(shù),可以在使用少量樣本的情況下獲得更高的識別準確率。
數(shù)字手寫識別;深度信念網(wǎng)絡;Dropout訓練
手寫數(shù)字識別具有重要現(xiàn)實意義。在金融和電子商務等涉及手寫數(shù)字的場合,當待處理數(shù)字量特別大,而且要求識別準確率又很高時,對手寫數(shù)字進行智能識別顯得更加重要。
手寫數(shù)字識別是圖像識別領域的基礎,常用的數(shù)字識別技術有:模板匹配法、SVM(支撐向量機)法、神經(jīng)網(wǎng)絡識別等,這些方法在準確率、實時性和實施性方面還有一定缺陷[1]。本文采用深度學習算法,學習訓練數(shù)據(jù)特征和規(guī)律,以用來對新樣本進行智能識別或某種可能性的預測。本文內(nèi)容安排如下:首先,介紹手寫數(shù)字識別整體算法流程;隨后,介紹深度學習網(wǎng)絡的設計配置以及訓練技巧,比如動量因子和Dropout參數(shù)的引入;最后,是實驗設計和實驗結(jié)果的對比。
手寫數(shù)字識別流程主要包括訓練和識別兩部分,訓練是指使用MNIST數(shù)據(jù)集訓練形成深度信念網(wǎng)絡模型;識別是指將欲識別的圖片進過預處理后,輸入深度信念網(wǎng)絡模型進行識別。整體流程如圖1所示,其中下文對部分內(nèi)容進行概述。
1.1圖像預處理
本文的訓練和測試網(wǎng)絡模型使用的是MNIST數(shù)據(jù)集,該數(shù)據(jù)集含有0~9的60 000個訓練數(shù)據(jù)集和0~9的10 000個測試數(shù)據(jù)集,這些圖像數(shù)據(jù)都保存在二進制文件中,每張圖片可以使用一個784維的向量表征。在實驗中使用MNIST數(shù)據(jù)集時,預處理主要是灰度的歸一化處理。每張圖片都是28像素×28像素的,部分圖片展示如圖2。
圖1 手寫數(shù)據(jù)識別整體流程
圖2 MNIST部分圖片
一般來說,由于光照和背景等因素,使欲進行識別的原始圖像帶有噪聲,不利于準確識別,所以有必要進行預處理。本文圖像預處理主要包括灰度化、去噪、分割幾個步驟。然后將進行過預處理的圖像數(shù)據(jù)輸入深度信念網(wǎng)絡進行識別,并得到識別結(jié)果。
1.2深度信念網(wǎng)絡模型
深度信念網(wǎng)絡的形成是其中極其重要的一環(huán)。深度信念網(wǎng)絡是由限制性玻爾茲曼機(RBM)疊加而成的。首先,從第一個RBM開始,對其進行無監(jiān)督訓練,確定其權(quán)重及偏置;其次,把第一個RBM的輸出向量作為第二個RBM的輸入,然后訓練第二個RBM網(wǎng)絡,反復訓練多次;第三,通過前向傳播,在最頂層加上標簽層,整個網(wǎng)絡相當于進行了一次完整的無監(jiān)督學習;最后,使用反向傳播(BP),將誤差自頂向下傳播至每一層RBM,通過梯度下降法修改層間參數(shù),達到微調(diào)整個DBN網(wǎng)絡的目的。
其中,限制性玻爾茲曼機(RBM)網(wǎng)絡結(jié)構(gòu)中有兩層,分別是可視層和隱藏層??梢晫佑衜個可視節(jié)點,隱藏層有n個隱藏節(jié)點,其中每個可視節(jié)點只和n個隱藏節(jié)點相關,而和同層的其他可視節(jié)點之間獨立。通過RBM的能量函數(shù),得到隱藏層和可視層的聯(lián)合概率分布,再通過對比分歧算法,更新權(quán)重等參數(shù)。
上面章節(jié)介紹了手寫數(shù)字識別的整體流程,并對其中深度信念網(wǎng)絡模型的設計進行了概述。DBN的應用重點是訓練過程的各種參數(shù)選擇和訓練技巧,詳述如下。
2.1激活函數(shù)的選擇
激活函數(shù)的選擇很重要,好的激活函數(shù)可以避免梯度擴散等問題,主要有如下特性需要考慮:
(1)非線性:當激活函數(shù)是非線性函數(shù)時,基本上所有的函數(shù)都可以被一個兩層的神經(jīng)網(wǎng)絡實現(xiàn)。然而,如果激活函數(shù)是恒等激活函數(shù)等線性函數(shù)時,一個深層網(wǎng)絡與單層神經(jīng)網(wǎng)絡的作用相差不多,且對于大量非線性函數(shù)網(wǎng)絡無法表示。
(2)單調(diào)性:當激活函數(shù)具有單調(diào)性時,單層網(wǎng)絡能夠保證其是凸函數(shù)。
(3)可微性:當優(yōu)化方法是基于梯度下降時,函數(shù)必須可微。
(4)f(x)≈x的限制條件:當激活函數(shù)滿足f(x)≈x時,如果訓練參數(shù)是隨機初始化的很小的值,則訓練神經(jīng)網(wǎng)絡的效率很高;然而若不滿足該條件,只能謹慎設置參數(shù)初始值。
(5)輸出值的范圍:當激活函數(shù)的輸出是有限值時,利用梯度下降優(yōu)化代價函數(shù)效果可觀;當激活函數(shù)的輸出沒有限制時,訓練模型會更快,不過此時的學習速率會比較慢。
2.2學習率
當學習率設置較大時,將導致重構(gòu)的誤差急劇增加,權(quán)重值也會很大。設置學習率的方法是先進行權(quán)重更新和權(quán)重直方圖,以令權(quán)重更新量為權(quán)重的0.001左右。若有一個單元的輸入值很大,則令權(quán)重更新值再小一些。
2.3動量因子
學習率較大,收斂速度加快,但易造成算法的不穩(wěn)定;學習率較小,可以減輕算法不穩(wěn)定性,收斂速度降低。為解決該問題,引入動量因子參數(shù),作用是本次參數(shù)值的修改方向不完全由當前樣本的梯度方向決定,而是采用上一次參數(shù)的方向和本次梯度的方向相結(jié)合,可以避免過早收斂到局部最優(yōu)點[2],動量因子momentum一般設置為0.5。
2.4Dropout參數(shù)
訓練網(wǎng)絡模型時,如果用于訓練的樣本較少,則形成的網(wǎng)絡模型會出現(xiàn)過擬合現(xiàn)象,既而使模型的泛化能力降低。為解決該問題,引入Dropout參數(shù),其作用是使訓練中的隱藏層部分節(jié)點失去作用,這樣就一定程度上解決了過擬合現(xiàn)象。理論上,dropout是一種模型平均,隨機性地忽略隱藏層的節(jié)點,從而得到不同的模型,通過其最終獲得平均概率[3]。然而使用Dropout參數(shù)時,網(wǎng)絡的訓練時間會有所延長。本文設置Dropout的值為0.5。
本實驗是在Windows 7操作系統(tǒng)下的Matlab 2012平臺進行的。實驗設計主要包括測試深度信念網(wǎng)絡模型識別手寫體數(shù)字的最優(yōu)層數(shù),以及Dropout訓練技巧對識別精度的影響,測試結(jié)果陳述如下。
3.1DBN層數(shù)變化對識別精度的影響
在設計網(wǎng)絡時,暫不使用Dropout技巧,僅設置激活函數(shù)為sigmoid函數(shù),動量參數(shù)值為0.5,學習率值為1。設置層數(shù)分別為3、4、5、6進行測試,網(wǎng)絡模型如圖3所示。
對以上四種網(wǎng)絡模型在相同的軟硬件平臺上運行,經(jīng)過相同方法和數(shù)據(jù)集進行訓練、測試。最后得出實驗結(jié)果見表1所示。
圖3 不同層數(shù)的DBN網(wǎng)絡模型
表1 實驗對比結(jié)果
由實驗結(jié)果得知,數(shù)字識別準確率起初隨著深度的增加而增加,當深度為5,即隱藏層數(shù)為3時精確度最高,達到93.4%,高于此時的6層網(wǎng)絡。因此可知,深度學習算法在手寫數(shù)字時,并非層數(shù)越多,識別效果越好,其主要原因是當層數(shù)較高時,產(chǎn)生過擬合現(xiàn)象[4],導致泛化能力降低。
3.2Dropout訓練對識別精度的影響
在網(wǎng)絡初始化時,在Dropout參數(shù)值為0.5,設置激活函數(shù)為sigmoid函數(shù),層數(shù)為5層,動量參數(shù)值為0.5,學習率值為1的情況下,如果使用2 000個圖片訓練,1 000個圖片測試,使用Dropout的錯誤率為11%;不使用Dropout的錯誤率為13%。在同樣條件下,增加為60 000個圖片訓練、10 000個圖片測試,使用Dropout的錯誤率為7%;使用Dropout的錯誤率也為7%。實驗結(jié)果說明,當訓練樣本較少時,使用Dropout參數(shù)可以一定程度上避免過擬合[5];然而當訓練樣本較多時,Dropout 效果不明顯,且訓練時間增長。
在基于深度信念網(wǎng)絡的手寫數(shù)字識別研究中,本文為提高識別準確率,測試了不同網(wǎng)絡層數(shù)對準確率的影響,確定最佳層數(shù)為5層,此時的最佳識別精度為93.4%,高于同等實驗條件下基于SVM設計的手寫數(shù)字識別系統(tǒng)的91%的準確率。以上結(jié)果表明本文方法的有效性。
此外,測試了Dropout參數(shù)對準確率的影響。結(jié)果表明,當訓練樣本較少時,設置Dropout參數(shù)值為0.5,可以避免過擬合現(xiàn)象的發(fā)生,提高泛化能力,有效作為小樣本時訓練DBN網(wǎng)絡的一個小技巧。
[1]吳忠, 朱國龍, 黃葛峰, 等. 基于圖像識別技術的手寫數(shù)字識別方法[J]. 計算機技術與發(fā)展, 2011, 21(12): 48-51, doi: 10.3969/ j.issn.1673-629X.2011.12.013.
[2]馬玉梅, 武玉厚. 動量因子對BP算法的影響[J]. 中央民族大學學報:自然科學版, 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)絡及其在手寫字體識別中的應用[D]. 成都: 成都理工大學, 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è)技術創(chuàng)新 URL: http://www.china-iti.com
10.14103/j.issn.2095-8412.2016.05.025
苑強(1982-),男,青島科技大學信息學院研究生,研究方向:數(shù)據(jù)處理與模式識別。
E-mail: yuanqiang2@swhysc.com
李納新(1968-),女,新疆庫爾勒塔里木油田通信事務部工程師,研究方向:信息通信與處理。
E-mail: linx8998@sohu.com