丁蒙 戴曙光 于恒



摘要:隨著人工智能的發展,計算機對于輸入的手寫字符識別需求越來越大,采用改進的卷積神經網絡對手寫字符進行識別分類。用VGGNet16模型構造卷積神經網絡模型,每一層都加上批標準化,通過平均值池化對卷積層進行下采樣,利用PRELU激活函數代替ReLU激活函數,最后通過Softmax分類器對手寫字符圖像進行分類。在MNIST手寫數字數據集和EMNIST-bymerge手寫字母及數字數據集下進行實驗,改進的卷積神經網絡模型在MNIST數據集中識別準確率提升到99.65%,在EMNIST數據集中識別準確率為90.37%。因此,改進模型識別準確率較高,適用于手寫字符識別。
關鍵詞:人工智能;卷積神經網絡;手寫字符識別;全局平均池化
DOI: 10. 11907/rjdk.191411
開放科學(資源服務)標識碼(OSID):
中圖分類號:TP317.4
文獻標識碼:A
文章編號:1672-7800(2020)001-0275-05
0 引言
智能化信息時代的到來,使得人工智能與機器學習技術得到了飛速發展。深度學習是機器學習的分支,是一種試圖使用包含復雜結構或由多重非線性變換構成的多個處理層通過大規模原始數據進行高層抽象的算法。典型的深度學習網絡有卷積神經網絡[1-2]( Convolution NeuralN etwork,CNN)、深度置信網絡[3](Deep Belief Network,DBN)、堆疊自動編碼器[4](Stacked Auto Encoders,SAE)3種類型。深度學習技術在圖像分類方面有顯著效果,其中CNN能夠對輸入數據的二維結構進行處理,避免了將二維數據轉成一維數據時丟失輸入圖像的空間結構特征分布,因此在圖像處理方面能夠得到了更好的結果。2014年,由牛津大學計算機視覺幾何組( Visual Geometry Group)和Google DeepMind公司研究院共同研發的深度卷積神經網絡VGCNet[5]模型在ILSVRC2014圖像分類和定位項目比賽中分別取得第二、第一名的成績。
手寫字符識別應用廣泛,在數據信息處理與存儲、辦公自動化和人機交互等方面扮演著重要角色,是圖像處理與模式識別的一個重要組成部分。Cortes等[6]在1995年提出了利用SVM分類器進行手寫字符識別,Amit等[7]在1997年通過最鄰近分類對手寫字符進行識別。不過上述兩種方法容易受外界影響,特征表達能力不足。早在1990年,文獻[2]就提出了卷積神經網絡,Goodfellow等[8]在2013年通過在卷積層加Maxout操作對手寫字符進行識別。由于卷積神經網絡參數眾多,因此Lin[9]提出用mlpconv層和全局平均池化對手寫字符進行識別,以更少量的參數達到同樣效果。文獻[10]提出使用隨機池化代替最大值池化進行手寫字符識別。卷積層使用ReLU激活函數,可能會將負值特征信息丟棄導致分類出現錯誤,因此文獻[11]提出了一種參數修正線性單元( Parametric Rectified linear unit.PReLU)代替ReLU激活函數對手寫字符進行識別。2015年,文獻[12]提出用基于CNN和SVM的}昆合卷積神經網絡對手寫字符進行識別,使手寫數字識別準確率達到了99.15%,文獻[21]使用融合卷積神經網絡模型對手寫數字進行識別,準確率達到了99.36%。本文基于VGCNet16模型,用全局平均池化代替全連接層以減少訓練參數,利用PReLU作為激活函數保留負值特征信息,采用批標準化[13]( Batch Normalization,BN)操作加速收斂過程,在MNIST數據集[15]上與其它方法對比驗證模型的有效性,在EM-NIST-bymerge數據集[16]上評估模型識別英文和數字有效性。
1 卷積神經網絡模型VGGNet
VCCNet模型是由牛津大學計算機視覺幾何組和Google DeepMind公司研究院共同研發的深度卷積神經網絡模型。如圖1所示,在VGGNet16模型中,整組結構都包含五組卷積層,每個卷積層后面跟隨著一個池化層,5組卷積層中包含級聯的卷積層越來越多。在卷積層中使用非常小的感受野,其卷積核大小為3x3,卷積步長為1。池化層采用最大值池化,池化核大小為2x2,步長為2。最后三層為全連接層,前兩層每層均有4 096個通道,第3個通道為Softmax分類層。全連接層的配置相同,因此隱藏層都配備了修正線性單元ReLU。
2 卷積神經網絡改進方法
傳統的卷積神經網絡模型,采用ReLU激活函數丟棄負值特征信息,全連接層的參數占所有參數的絕大部分,導致模型收斂速度慢。改進的卷積神經網絡模型應用PReLU激活函數保留負值特征信息,使用全局平均池化代替全連接層以減少參數數量,用批標準化操作使模型更快收斂。
2.1 批標準化
訓練深層神經網絡是復雜的,在網絡訓練中,每一層的參數是不斷更新變化的,這導致每層的輸入分布逐漸發生偏移變動,整體分布慢慢往非線性函數取值區間的上下限靠近,使得后向傳播時底層神經網絡梯度消失,引起In -ternal Covariate Shift現象,從而減慢訓練速度。在神經網絡模型訓練中,可以采用批標準化操作以避免Internal Co-variate Shift發生。
在卷積神經網絡中,BN使用權值共享策略,每一個特征圖為一個小批次B,再求得特征圖里所有神經元的均值和方差,對特征圖做歸一化操作。本文網絡BN層位于激活函數后面,此時前向傳導如下:
z=BN(g(Wu+ b))
(7)
其中,u為BN層的輸入,W為權重,b為偏差,g(.)為激活函數,z為輸出。
2.2 PReLU激活函數
修正線性單元對于深度卷積神經網絡必不可少。應用ReLU激活函數可能會出現部分神經元永遠不會被激活,相應參數也永遠不會被更新的情況,為了避免這種情況的發生,本文采用PReLU激活函數。ReLU與PReLU的區別如圖2所示。
2.3 全局平均池化(Global Average Pooling,GAP)
傳統卷積神經網絡中,全連接層的作用是將卷積層與Softmax層連接起來,將卷積層產生的特征圖展開成向量并對向量做乘法以降低其維度,最后通過Softmax層中進行分類,其操作如圖3(a)所示。然而,全連接層參數量過大,導致訓練速度降低,容易過度擬合,從而阻礙整個網絡的泛化能力。本文采用全局平均池化層替代全連接層,在卷積層生成若干個特征圖后,全局平均池化對每個特征圖取平均值,將生成的向量直接送入Softmax層中進行分類,其操作如圖3(b)所示。全局平均池化相對于全連接層的一個優點是,通過強制映射特征和類別之間的對應關系,它更接近卷積結構。因此,特征圖可以容易地解釋為類別置信圖。另一個優點是在全局平均池化中沒有要優化的參數,因此在這一層中避免了過擬合。同時,全局平均池對空間信息進行了求和,從而對輸入的空間平移具有更強的魯棒性。
2.4 改進的卷積神經網絡模型結構
改進的卷積神經網絡模型基本結構主要由5個卷積塊、5個BN層、5個池化層、1個全局平均池化層和一個Soft-max層組成。網絡具體配置和參數數量如表1所示。
3 實驗結果與分析
為了評估模型性能,本文在MNIST數據集和收集的英文數據集上進行實驗。采用基于Pvthon語言的Keras深度學習框架,實驗平臺為Windowsl0 64位操作系統,硬件環境為2.3 CHz Intel Core i5-6300HQ和NVDIA GeForce CTX950M CPU。
3.1 MNIST數據集
MNIST數據集包含了70 000張手寫數字圖像,其中訓練樣本有60 000個,測試樣本有1 000個,每張圖像的大小為28x28。設置epoch為100. batch設置為500,每個epoch需要訓練120次,總迭代訓練次數為12 000次。卷積層步長設置為1,池化層步長設置為2,采用Adam優化算法[17]進行網絡訓練,用反向傳播算法調整網絡權值,用交叉熵函數衡量訓練損失,采用自適應學習速率對訓練集樣本進行學習,訓練結果如圖4所示。經過100次迭代準確率已達到 99.65%。
本文通過以下實驗進行對比,方案一采用傳統的VCG模型,方案二是加了Batch Normalization的VGC模型,方案三是采用PReLU作為激活函數的VCC模型,方案四是全局平均池化層代替全連接層的VGC模型,方案五是本文提出的用全局平均池化代替全連接層,利用PReLU作為激活函數,加入Batch Normalization的VCC模型。實驗結果如圖5與表2所示。其中圖5為訓練過程中的損失曲線,表2為5種方案測試集的最大準確率。從圖5可以看出,加入BatchN ormalization之后,神經網絡收斂更快,使用PReLU激活函數之后,效果比原來的更好,全局平均池化因為減少了訓練參數,也較VGC模型收斂稍快,本文改進VGC模型收斂更快,參數更少,且測試準確率最高,達99.65%,驗證了本文模型的有效性。
為進一步驗證模型的有效性,本文將提出的方法與近幾年手寫字符識別的方法進行對比試驗,實驗結果如表3所示。文獻[18]表明通過減少全連接層參數可以提高識別準確率到99.29%,文獻[19]通過在隱藏層設置SVM輔助分類器提高學習過程,使識別準確率達到了99.61%,文獻[20]通過一種融合卷積神經網絡使識別準確率為99.10%,文獻[21]通過基于PCA及k-鄰近算法識別準確率為94%,文獻[22]在TensorFlow平臺使用CNN卷積神經網絡使識別準確率達到99.36%,文獻[23]基于深度殘差網絡識別準確率為99.45%。而本文方法識別準確率明顯高于其它文獻所提方法,極大降低了手寫數字分類錯誤率。
3.2 EMNIST-bymerge數據集
為進一步驗證模型有效性,繼續在EMNIST-bymerge英文數字數據集[16]上進行實驗。所選的數據集訓練集有697 932張圖片,測試集有116 323張圖片,圖片大小為28x28。圖片包括0-9、小寫字母a-z和大寫字母A-Z,因為部分數字和英文大小寫字母(例如0和0,w、v和z等字母的大小寫)不能分辨,因此只分類47種,部分數據集圖片顯示如圖6所示。
用本文提出的模型在EMNIST-bymerge數據集上進行實驗,訓練結果如圖7所示。EMNIST-bymerge數據集測試中將BP神經網絡設定為10 000個神經元,并對數據集進行測試,得到的測試準確率為80.87%+0.05%,本文使用改進的卷積神經網絡模型在數據集上進行實驗得到的測試準確率為90.37%,因此本文提出的模型極大提高了測試準確率,驗證了其對手寫字符識別的有效性。
4 結語
本文提出了一種基于VCCNet的改進模型,通過對每層輸入進行Batch Normalization,用PReLU激活函數以保留特征圖的負值信息,全局平均池化減少參數數量,最后輸入到Softmax層中進行分類。本文在MNIST手寫數字數據集上進行實驗并與其它方法對比,實驗表明,改進的卷積神經網絡模型對手寫字符識別準確率更高,具有更好的魯棒性和泛化能力。本文還在EMNIST-bymerge手寫英文數字數據集上進行實驗,將數據集的測試準確率從80.87%提高到90.37%。因此,本文提出的改進模型可以應用于手寫數字和手寫英文識別。后續研究可圍繞以下方面開展:①使用手寫漢字等數據集,進一步驗證網絡結構的泛化能力;②對改進模型作進一步研究,例如采用隨機池化等方式,進一步提高識別準確率;③采用其它深度學習算法,如ResNet或者DenseNet等模型在手寫字符方面作進一步探討;④本文方法應用不限于手寫字符方面,例如可應用于人臉表情識別等圖像分類領域,在人臉表情數據集上進行測試驗證。
參考文獻:
[1]
LECUN Y,BOTTOU L,BENCIO Y,et al.Gradient-based learningapplied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
[2]
LECUN Y,BOSER B E,DENKER J S,et al.Hanchvritten digit rec-ognition with a back-propagation network[C].Advances in neural in—formation processing systems, 1990: 396-404.
[3]
HINTON G E,OSINDERO S, TEH Y W.A fast learning algorithm fordeep belief nets[J]. Neural Computation, 2006, 18(7):1527-1554.
[4]
HINTON G E,Salakhutdinov R R.Reducing the dimensionalitv of da-to with neural networks[J]. Science, 2006, 5786( 313): 504-507.
[5]
SIMONYAN K,ZISSERMAN A.Very deep convolutional networks forlarge-scale image recognition[EB/OL]. https://arxiv.org/abs/1409. 1556.
[6]
CORTES C, VAPNIK V.Support-vector net,vorks[J].Machine Learn-ing,1995, 20(3):273-297.
[7]
AMIT Y, GEMAN D, WILDER K.Joint induction of shape featuresand tree classifiers [J]. IEEE Transactions on Pattern Analvsis&Ma-chine Intelligence, 1997( 11): 1300-1305.
[8]
GOODFELLOW I J,WARDE-FARLEY D. MIRZA M,et al. Maxoutnet,vorks[C]. The 30th International Conference on Machine Learn-ing, 2013:1319-1327.
[9]
LIN M,CHEN Q, YAN S. Network in network[ C]. International Con-ference on Learning Representations( ICLR), 2014: 1-10.
[10] ZEILER M D, FERGUS R.Stochastic pooling for regularization ofdeep convolutional neural networks[C].Proceedings of the Interna-tional Conference on Learning Representation( ICLR), 2013: 1-9.
[11]
CLOROT X, BORDES A, BENCIO Y.Deep sparse rectifier neuralnetworks[C].Proceedings of the Fourteenth International Conferenceon Artificial Intelligence and Statistics, 201 l:3 15-323.
[12]
HE K, ZHANC X, REN S,et al. Delving deep into rectifiers: sur-passing human-level performance on imagenet classification[C].Pro-ceedings of the IEEE International Conference on Computer Vision,2015:1026-1034.
[13]
YU N, JIAO P,ZHENG Y. Handwritten digits recognition base on im-proved LeNet5 [Cl.The 27th Chinese Control and Decision Confer-ence.2015:4871-4875.
[14]
IOFFE S,SZEGEDY C.Batch normalization: accelerating deep net-work training by reducing internal covariate shift [C].ICML'15 Pro-ceedings of the 32nd International Conference on Machine Learning,2015:448-458.
[15]
LECUN Y, CORTES C. The mnist database of handwritten digits[Z].2010.
[16]
COHEN G,AFSHAR S, TAPSON J, et al. EMNIST: an extension ofMNIST to handwritten letters[DB/OL]. https://arxiv.org/pdf/1702.05 373.pdf.
[17]
KINCMAD P,BA J. Adam:a method for stochastic optimization[ EB/OL]. https: //newzoo.com/insights/articles.
[18]
YANG Z, MOCZULSKI M,DENIL M,et al. Deep fried convnets[C].Proceedings of the IEEE International Conference on Computer Vi-sion,2015:1476-1483.
[19]
LEE C Y, XIE S,GALLAGHER P, et al. Deeply-supervised nets[C]. Artificial Intelligence and Statistics, 2015: 562-570.
[20] 陳玄,朱榮,王中元.基于融合卷積神經網絡模型的手寫數字識別[J].計算機工程,2017( 11):187-192.
[21]顧潘龍,史麗紅.基于PCA及k-鄰近算法的復雜環境數字手寫體識別[J].電子技術,2018, 47(10):44-48.
[22] 陳昊,郭海,劉大全,等.基于TensorFlow的手寫數字識別系統[J].信息通信,2018 (3):46.
[23]趙朋成,馮玉田,羅濤,等.基于深度殘差網絡的手寫體數字識別[J].工業控制計算機,2017,30( 10):82-83.
(責任編輯:孫娟)
作者簡介:丁蒙(1995-),女,上海理工大學光電信息與計算機工程學院碩士研究生,研究方向為圖像處理、機器視覺;戴曙光(1957-)男,上海理工大學光電信息與計算機工程學院教授、博士生導師,研究方向為機器視覺、圖像處理;于恒(1998-),男,上海理工大學光電信息與計算機工程學院學生,研究方向為圖像處理。