劉瀚駿 楊勇(通訊作者) 長春理工大學計算機科學技術學院
本文參考GoogLeNet的Inception思想,針對手寫體數字圖像數據的特點,對網絡結構進行優化調整,設計了一種輕量的卷積神經網絡模型。并在MNIST數據集上對算法效果進行了實驗。
早期,手寫數字的識別過程是使用統計方法來對手寫數字的圖像進行分類,如提取數字圖像的特征之后,使用基于SVM的進行分類。LeNet在出現后,迅速成為手寫數字識別的典型算法。出現了眾多對這一算法的優化模型。例如,在[2]中,作者使用九層的多層感知機模型,通過對MNIST數據的隨機位置變換和旋轉達到了99.55%的準確率。
卷積神經網絡是一種前饋神經網絡模型,近年來在圖像領域取得了驚人的成績。其獨特的卷積層結構可以自動地對目標進行特征提取和學習,無需進行手工特征選擇。GoogLeNet是2014年提出的一種優秀的卷積神經網絡模型。GoogLeNet中引入一種新結構Inception塊來增加網絡的寬度。這樣的橫向連接結構并不會過高地增加網絡的參數數量,可以使網絡的訓練變得相對更加容易。一個Inception塊的示意圖如圖1所示:

圖1 GoogLeNet中的Inecption結構
但是,GoogLeNet22層的網絡結構對于手寫體數字識別來說仍然過于復雜。MNIST數據集僅有60,000張左右的數字圖像,并不足以訓練如此深的網絡。因此本文僅借用Inception這一思想,設計了一個淺層網絡模型。
在GoogLeNet中,Inception分為四個部分,且每個部分都有一個1*1卷積。這個1*1卷積是在處理ImageNet圖像時為了降低網絡計算量而存在的。但對于MNIST來說,其計算量較小,即使不進行降維,運算也十分迅速。GoogLeNet的Inception的第四部分包括一個3*3池化,由于MNIST的圖像大小只有28*28,經過池化后圖像大小過小,不利于特征表達。最終,本文簡化的Incetpion塊僅包含三個部分:其整體結構僅有五層,如圖2所示:

圖2 本文網絡模型示意圖
在深度學習領域的諸多研究已經證明了數據量對于深度學習任務的重要性。但MNIST數據集的訓練數據總量較少。可以通過對MNIST數據進行增強來增加數據集中的數據數量。本文選取-30°~30°的隨機角度作為旋轉角,每張圖片隨機旋轉1~2次。并向隨機方向平移不超過5個像素。
本文使用tensorflow環境進行實驗。對于MNIST數據集,本文選用的batch大小為256,訓練次數為20000次,學習率為0.002。
在訓練完成后,將本文的模型與LeNet網絡、GoogLeNet進行對比。
對比測試的結果如下:

表1 模型準確率對比
可以看出,相較于另兩種方法,本文所述的基于Inception思想的方法具有較高的準確率。
本文還對比了三種算法在訓練時所需的時間,本文的訓練時間與LeNet相差不大,可以快速訓練完成,在測試時,其響應速度也明顯優于GoogLeNet。
本文將GoogLeNet這一網絡中的Inception思想引入手寫數字識別算法中,并對數據集進行增廣,來實現了一種高效、準確的手寫數字識別方法。簡化過的Inception結構在有效增加網絡寬度的同時,沒有很顯著地增加網絡的參數數量,這樣使得網絡可以提取更多特征,卻又不會難以訓練。通過實驗結果可知,這樣的思路具有良好的可行性,可以達到預期效果。
