王梓橋 劉沛豐 郝峰 王錚 崔現偉


摘要:本文基于深度學習技術搭建卷積神經網絡(Convolutional Neural Networks-簡稱CNN),用MNIST數據集作為訓練以及測試樣本設計了一個手寫數字識別技術應用系統。系統采用ReLu的激活函數,實驗結果表明對手寫數字的識別準確精度可以達到98.6%。
關鍵詞:手寫數字識別;深度學習;卷積神經網絡
中圖分類號:TP391.413 文獻標識碼:A 文章編號:1007-9416(2018)11-0078-02
0 引言
近年來,隨著深度學習的飛速發展以及卷積神經網絡在圖像識別的研究取得突破性進展,手寫數字識別問題已成為該領域的一個熱點。傳統的人工提取圖像特征方式逐漸被基于深度學習的深層網絡學習特征方式所取代。針對手寫數字識別問題的研究具有較大的學術價值,該技術實用性強且應用廣泛。卷積神經網絡是近年發展起來,并引起廣泛重視的一種高效識別方法。由于該網絡避免了對圖像的復雜前期預處理,可以直接輸入原始圖像,因而得到廣泛應用[1-2]。
本文基于深度學習技術搭建卷積神經網絡模型,探索了激活函數和學習速率的影響,并獲得了較好的實驗效果。
1 深度學習簡介
深度學習的概念來自于人工神經網絡的研究,是機器學習的發展與延伸,也是其第二次浪潮。20世紀90年代初,各種淺層機器學習模型被提出,成為當時的主流。而在2006年,深度學習的概念由Hinton等人提出,從此開啟深度學習在學術界和工業界的浪潮。深度學習是機器學習中一種基于對數字進行表征學習的方法,其動機在于建立、模擬人腦進行分析學習的神經網絡,它模仿人腦的機制來解釋數據,例如圖像、聲音和文本。深度機器學習方法有監督學習與無監督學習之分,例如,卷積神經網絡就是一種深度的監督學習下的機器學習模型,而深度置信網絡(Deep Belief Nets,簡稱DBNs)就是一種無監督學習下的機器模型。本文實驗采用的是CNN模型。
2 模型構建
手寫數字識別系統的結構采用分層設計,主要包括:輸入層、兩層卷積層、兩層池化層、兩層全連接層、Softmax輸出層共八層結構。結構如圖1所示。
第一層卷積層:設置輸入為每個圖像處理后得到的像素矩陣(28*28*1)。設置卷積核的大小為5*5,步長為1。設置卷積層深度為32。深度過大會導致運算時間變長,甚至導致過擬合問題,而通過調整參數發現深度為32是一個最合適的值,可以得到最好的準確率。輸出為在此層經過卷積運算后得到卷積層節點矩陣(24*24*32)。
第一層池化層:設置輸入為上一層運算所得到的卷積層節點矩陣(24*24*32)。設置過濾器大小為2*2,步長為1。輸出為在此層進行最大池化后得到池化層節點矩陣(12*12*10)。
第二層卷積層:設置輸入為上一層池化后得到的節點矩陣(12*12*10)。設置卷積核大小為5*5,卷積層深度為64。輸出為卷積層節點矩陣(8*8*64)。
第二層池化層:設置輸入為上一層運算所得到卷積層節點矩陣(8*8*64)。設置過濾器大小為2*2,步長為1。輸出為池化層節點矩陣(4*4*64)。
第一層全連接層:設置輸入為由第四層池化層的輸出轉化而成的一維矩陣。輸出由前向傳播算法得到。
第二層全連接層:輸入與第一層全連接層相同。
Softmax層:通過Softmax回歸處理全連接層的輸出結構得到分類結果。
3 參數選擇
常用的激活函數有Sigmoid函數、Tanh函數、ReLu函數。經對比實驗得出結論:ReLu函數并不需要輸入歸一化來防止它們達到飽和,所以本文實驗采用ReLu函數作為激活函數。
學習速率對于手寫數字識別系統的影響很大,當學習速率過大時,會導致權重擺動幅度過大,只能在代價函數最小值點附近來回波動,從而無法獲得最小值點;當學習速率過小時,不僅會大幅增加學習時間,還浪費了計算機資源。因此應合理選擇學習速率。本文實驗采用指數衰減的方式設置學習速率,可以保證訓練速度前期較快、后期減慢,利于得到最優解。
4 實驗
使用MNIST訓練數據集訓練5000次,設置每迭代100次輸出一次日志,得到準確率。經過5000次訓練后準確率保持在一個穩定水平。為了使結果更加直觀,繪制如下準確率隨訓練次數變化的折線圖。經過5000次訓練后準確率保持在一個穩定水平,如圖2所示。最終測試結果準確率為98.6%。
5 結語
在這項工作中,我們探索了卷積神經網絡技術在手寫數字識別領域的應用。實驗所用的MNIST數據集具有一定權威性,其樣本規模較大,數字圖片來源廣泛。我們采用了ReLu作為激活函數,優化了學習速率,在實驗數據集上獲得了98.6%的高準確率。
參考文獻
[1]Pradeep J, Srinivasan E, Himavathi S. Neural network based handwritten character recognition system without feature extraction. IEEE International Conference on Computer Communication and Electrical Technology (ICCCET),2011:40-44.
[2]Ian Goodfellow,Yoshua Bengio, Aaron Courville. Deep Learning.MIT Press. http://www.deeplearningbook.org,2016.
Application of Handwritten Digit Recognition Technology Based on Deep Learning
WANG Zi-qiao,LIU Pei-feng, HAO Feng, WANG Zheng, CUI Xian-wei
(School of Computer Science, North China University of Technology, Beijing? 100144)
Abstract:In this paper, we build a Convolutional Neural Networks (CNN) based on deep learning technology, and designs a handwritten digit recognition system. We use MNIST data set as our training and testing set. ReLu activation function is employed to improve recognition accuracy. Experimental results show that the accuracy of recognition of handwritten digits can be 98.6%.
Key words:handwritten digit recognition; deep learning; convolutional neural network