苑強,李納新
數字手寫體的深度信念網絡識別方法
苑強1,李納新2
(1. 青島科技大學信息學院,山東青島,266061;2. 新疆庫爾勒塔里木油田通信事務部,新疆庫爾勒,841000)
深度信念網絡可以通過低層特征組合抽象形成更高層的特征,具有良好的學習能力,其無監督學習特點減少了人工勞動量。主要研究了使用深度信念網絡(DBN)對手寫數字進行識別的方法,實驗表明設計識別數字的網絡模型時的最佳層數為5層。使用MNIST數據庫中的60 000個圖片訓練深度信念網絡,再使用MNIST中的另外10 000個圖片測試網絡,得出高達93.42%的準確率,高于同等條件下的SVM。另外,在深度學習網絡中引入Dropout參數,可以在使用少量樣本的情況下獲得更高的識別準確率。
數字手寫識別;深度信念網絡;Dropout訓練
手寫數字識別具有重要現實意義。在金融和電子商務等涉及手寫數字的場合,當待處理數字量特別大,而且要求識別準確率又很高時,對手寫數字進行智能識別顯得更加重要。
手寫數字識別是圖像識別領域的基礎,常用的數字識別技術有:模板匹配法、SVM(支撐向量機)法、神經網絡識別等,這些方法在準確率、實時性和實施性方面還有一定缺陷[1]。本文采用深度學習算法,學習訓練數據特征和規律,以用來對新樣本進行智能識別或某種可能性的預測。本文內容安排如下:首先,介紹手寫數字識別整體算法流程;隨后,介紹深度學習網絡的設計配置以及訓練技巧,比如動量因子和Dropout參數的引入;最后,是實驗設計和實驗結果的對比。
手寫數字識別流程主要包括訓練和識別兩部分,訓練是指使用MNIST數據集訓練形成深度信念網絡模型;識別是指將欲識別的圖片進過預處理后,輸入深度信念網絡模型進行識別。整體流程如圖1所示,其中下文對部分內容進行概述。
1.1圖像預處理
本文的訓練和測試網絡模型使用的是MNIST數據集,該數據集含有0~9的60 000個訓練數據集和0~9的10 000個測試數據集,這些圖像數據都保存在二進制文件中,每張圖片可以使用一個784維的向量表征。在實驗中使用MNIST數據集時,預處理主要是灰度的歸一化處理。每張圖片都是28像素×28像素的,部分圖片展示如圖2。

圖1 手寫數據識別整體流程

圖2 MNIST部分圖片
一般來說,由于光照和背景等因素,使欲進行識別的原始圖像帶有噪聲,不利于準確識別,所以有必要進行預處理。本文圖像預處理主要包括灰度化、去噪、分割幾個步驟。然后將進行過預處理的圖像數據輸入深度信念網絡進行識別,并得到識別結果。
1.2深度信念網絡模型
深度信念網絡的形成是其中極其重要的一環。深度信念網絡是由限制性玻爾茲曼機(RBM)疊加而成的。首先,從第一個RBM開始,對其進行無監督訓練,確定其權重及偏置;其次,把第一個RBM的輸出向量作為第二個RBM的輸入,然后訓練第二個RBM網絡,反復訓練多次;第三,通過前向傳播,在最頂層加上標簽層,整個網絡相當于進行了一次完整的無監督學習;最后,使用反向傳播(BP),將誤差自頂向下傳播至每一層RBM,通過梯度下降法修改層間參數,達到微調整個DBN網絡的目的。
其中,限制性玻爾茲曼機(RBM)網絡結構中有兩層,分別是可視層和隱藏層。可視層有m個可視節點,隱藏層有n個隱藏節點,其中每個可視節點只和n個隱藏節點相關,而和同層的其他可視節點之間獨立。通過RBM的能量函數,得到隱藏層和可視層的聯合概率分布,再通過對比分歧算法,更新權重等參數。
上面章節介紹了手寫數字識別的整體流程,并對其中深度信念網絡模型的設計進行了概述。DBN的應用重點是訓練過程的各種參數選擇和訓練技巧,詳述如下。
2.1激活函數的選擇
激活函數的選擇很重要,好的激活函數可以避免梯度擴散等問題,主要有如下特性需要考慮:
(1)非線性:當激活函數是非線性函數時,基本上所有的函數都可以被一個兩層的神經網絡實現。然而,如果激活函數是恒等激活函數等線性函數時,一個深層網絡與單層神經網絡的作用相差不多,且對于大量非線性函數網絡無法表示。
(2)單調性:當激活函數具有單調性時,單層網絡能夠保證其是凸函數。
(3)可微性:當優化方法是基于梯度下降時,函數必須可微。
(4)f(x)≈x的限制條件:當激活函數滿足f(x)≈x時,如果訓練參數是隨機初始化的很小的值,則訓練神經網絡的效率很高;然而若不滿足該條件,只能謹慎設置參數初始值。
(5)輸出值的范圍:當激活函數的輸出是有限值時,利用梯度下降優化代價函數效果可觀;當激活函數的輸出沒有限制時,訓練模型會更快,不過此時的學習速率會比較慢。
2.2學習率
當學習率設置較大時,將導致重構的誤差急劇增加,權重值也會很大。設置學習率的方法是先進行權重更新和權重直方圖,以令權重更新量為權重的0.001左右。若有一個單元的輸入值很大,則令權重更新值再小一些。
2.3動量因子
學習率較大,收斂速度加快,但易造成算法的不穩定;學習率較小,可以減輕算法不穩定性,收斂速度降低。為解決該問題,引入動量因子參數,作用是本次參數值的修改方向不完全由當前樣本的梯度方向決定,而是采用上一次參數的方向和本次梯度的方向相結合,可以避免過早收斂到局部最優點[2],動量因子momentum一般設置為0.5。
2.4Dropout參數
訓練網絡模型時,如果用于訓練的樣本較少,則形成的網絡模型會出現過擬合現象,既而使模型的泛化能力降低。為解決該問題,引入Dropout參數,其作用是使訓練中的隱藏層部分節點失去作用,這樣就一定程度上解決了過擬合現象。理論上,dropout是一種模型平均,隨機性地忽略隱藏層的節點,從而得到不同的模型,通過其最終獲得平均概率[3]。然而使用Dropout參數時,網絡的訓練時間會有所延長。本文設置Dropout的值為0.5。
本實驗是在Windows 7操作系統下的Matlab 2012平臺進行的。實驗設計主要包括測試深度信念網絡模型識別手寫體數字的最優層數,以及Dropout訓練技巧對識別精度的影響,測試結果陳述如下。
3.1DBN層數變化對識別精度的影響
在設計網絡時,暫不使用Dropout技巧,僅設置激活函數為sigmoid函數,動量參數值為0.5,學習率值為1。設置層數分別為3、4、5、6進行測試,網絡模型如圖3所示。
對以上四種網絡模型在相同的軟硬件平臺上運行,經過相同方法和數據集進行訓練、測試。最后得出實驗結果見表1所示。

圖3 不同層數的DBN網絡模型

表1 實驗對比結果
由實驗結果得知,數字識別準確率起初隨著深度的增加而增加,當深度為5,即隱藏層數為3時精確度最高,達到93.4%,高于此時的6層網絡。因此可知,深度學習算法在手寫數字時,并非層數越多,識別效果越好,其主要原因是當層數較高時,產生過擬合現象[4],導致泛化能力降低。
3.2Dropout訓練對識別精度的影響
在網絡初始化時,在Dropout參數值為0.5,設置激活函數為sigmoid函數,層數為5層,動量參數值為0.5,學習率值為1的情況下,如果使用2 000個圖片訓練,1 000個圖片測試,使用Dropout的錯誤率為11%;不使用Dropout的錯誤率為13%。在同樣條件下,增加為60 000個圖片訓練、10 000個圖片測試,使用Dropout的錯誤率為7%;使用Dropout的錯誤率也為7%。實驗結果說明,當訓練樣本較少時,使用Dropout參數可以一定程度上避免過擬合[5];然而當訓練樣本較多時,Dropout 效果不明顯,且訓練時間增長。
在基于深度信念網絡的手寫數字識別研究中,本文為提高識別準確率,測試了不同網絡層數對準確率的影響,確定最佳層數為5層,此時的最佳識別精度為93.4%,高于同等實驗條件下基于SVM設計的手寫數字識別系統的91%的準確率。以上結果表明本文方法的有效性。
此外,測試了Dropout參數對準確率的影響。結果表明,當訓練樣本較少時,設置Dropout參數值為0.5,可以避免過擬合現象的發生,提高泛化能力,有效作為小樣本時訓練DBN網絡的一個小技巧。
[1]吳忠, 朱國龍, 黃葛峰, 等. 基于圖像識別技術的手寫數字識別方法[J]. 計算機技術與發展, 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]張衛東. 深度信念網絡及其在手寫字體識別中的應用[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工業技術創新 URL: http://www.china-iti.com
10.14103/j.issn.2095-8412.2016.05.025
苑強(1982-),男,青島科技大學信息學院研究生,研究方向:數據處理與模式識別。
E-mail: yuanqiang2@swhysc.com
李納新(1968-),女,新疆庫爾勒塔里木油田通信事務部工程師,研究方向:信息通信與處理。
E-mail: linx8998@sohu.com