国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于LeNet-5模型的手寫數字識別優(yōu)化方法?

2019-12-27 06:32汪雅琴夏春蕾戴曙光
計算機與數字工程 2019年12期
關鍵詞:訓練樣本識別率神經元

汪雅琴 夏春蕾 戴曙光

(上海理工大學光電信息與計算機工程學院 上海 200093)

1 引言

當今社會,人工智能得到快速發(fā)展,而模式識別作為人工智能的一個重要應用領域也得到了飛速發(fā)展,它利用計算機通過計算的方法根據樣本的特征對樣本進行分類,其中的光學字符識別技術受到廣大研究學者的青睞。手寫數字識別是光學字符識別技術的一個分支,主要研究如何利用電子計算機自動辨認人手寫在紙上的阿拉伯數字。現階段手寫數字識別的主要研究方法有統(tǒng)計、聚類分析和神經網絡。

最小距離分類算法是模式識別中較傳統(tǒng)、簡單的方法之一,但是對手寫字體適應性不高[1]。K最近鄰算法(KNN)是一種基于統(tǒng)計學的分類算法,最早于1968年由Cover和Hart提出,作為最簡單的機器學習方法,理論上研究已比較成熟[2]。支持向量機(SVM)是由Corinna Cortes和Vapnik等于1995年首先提出的,該算法有很好的泛化能力與學習能力,以結構風險最小化為目標,所求得的解是全局最優(yōu)解,克服“維數災難”問題,大大增加效率[3]。BP(back propagation)神經網絡是1986年由Rumel?hart和McCelland為首的科學家小組提出的,作為一種多層前饋網絡,是在誤差逆?zhèn)鞑サ幕A上建立的[4],常與梯度下降法等最優(yōu)化方法結合使用。BP神經網絡算法是一種有監(jiān)督的訓練方法,且激活函數為非線性可導的[5]。以上這些傳統(tǒng)的識別方法對復雜分類問題的數學函數表示能力以及網絡的泛化能力有限,往往達不到高精度識別的要求[6]。卷積神經網絡(CNN)最初由美國學者Cun等提出,是一種層與層之間局部連接的深度神經網絡[7],需要經過信息的正反向傳遞。因為CNN的局部連接、權值共享及池化操作等特性,CNN可以有效降低網絡的復雜度和減少訓練參數的數目[8]。

近年來,由于神經網絡具有推廣能力、記憶力、非線性和自學習能力以及高速運算能力[9],所以卷積神經網絡被廣泛用于手寫數字識別。LeNet-5模型作為一種典型的用來識別數字的卷積神經網絡不斷地被優(yōu)化改進。本課題即在LeNet-5模型的基礎上,利用MNIST字符庫,通過改變樣本訓練方式,從而獲得一種更高效準確的手寫數字信息自動識別方法。

2 卷積神經網絡

由美國學者Cun等提出的卷積神經網絡(CNN)是一種深度前饋人工神經網絡,它的人工神經元可以響應一部分覆蓋范圍內的周圍單元,在圖像識別領域得到很好的應用。卷積神經網絡的網絡模型復雜度大大降低,網絡訓練更容易,多層的網絡結構有更好的抽象表達能力,可以直接將圖像作為網絡輸入,通過網絡訓練自動學習圖像特征,從而避免了復雜的特征提取過程[10]。

2.1 卷積神經網絡結構

典型的CNN由五部分組成:輸入層、卷積層、下采樣層(池化層)、全連接層以及輸出層[11]。其中卷積層和下采樣層會交替出現。如圖1所示。

圖1 卷積神經網絡結構

卷積層也叫做特征提取層,主要作用是提取輸入數據特征。提取的數據特征數量由卷積核的數量決定。卷積層就是用一個可訓練的濾波器 fx去卷積一個輸入的圖像(第一層卷積是輸入圖像,之后的卷積層則為卷積特征圖),然后加上一個偏置bx,得到卷積層Cx。卷積的結果經過激活函數映射后形成下一層的特征圖[12]。

下采樣層,也叫做池化層,主要目的是在保留有用信息的基礎上減少數據處理量,加快訓練網絡的速度。同時,可以對特征圖進行降維,在一定程度上保持數據的平移不變性,減少了網絡中的參數數量和計算量[12]。下采樣過程是將鄰域的四個像素求和變?yōu)橐粋€像素,然后與Wx+1加權bx+1,再加上偏置,然后通過一個sigmod激活函數,產生一個縮小四倍的特征映射圖Sx+1。sigmod函數常作為激活函數使用是因為它能將每層的輸出壓縮到[0,1],使得最后的輸出平均值一般趨于0。如圖2所示。

圖2 卷積神經網絡的卷積過程和下采樣過程

2.2 LeNet-5模型結構

LeNet5模型是Yann LeCun教授于1998年提出來的,它把特征提取和識別結合起來,通過綜合評價和學習,并在不斷的反向傳播過程中選擇和優(yōu)化這些特征,將特征提取變?yōu)橐粋€自學習的過程,通過這種方法找到分類性能最優(yōu)的特征[13]。它是第一個成功應用于數字識別問題的卷積神經網絡。傳統(tǒng)的LeNet-5模型的輸入圖像為歸一化到大小為32×32的圖像,除去輸入層,由7層組成:卷積C1、C3、C5和下采樣層S1、S4,以及全連層F6和輸出層[14],如圖3所示。每層都有可訓練參數,共有60850個參數。對這些參數的訓練需要消耗大量的時間,因此出現了改進后的模型結構。改進后的LeNet-5模型,如圖4所示,參數減少到3966個,節(jié)省了大量的訓練時間,使得學習過程更為高效。

圖3 傳統(tǒng)的LeNet-5模型結構

圖4 改進后的LeNet-5模型結構

改進后的LeNet-5模型以大小為28×28的手寫數字圖片作為輸入,C1和C3是卷積層,S2和S4是下采樣層,F5是全連接層。與傳統(tǒng)模型對比可知,改進后的模型在第二次卷積和下采樣的過程中減少了卷積核的數量,同時去掉了一個全連接層。

2.3 算法實現

卷積神經網絡是一種有監(jiān)督的學習訓練。學習過程包括兩個方面:誤差的逆行傳播和信號的正向傳播。樣本從輸入到輸出的過程就是信號的正向傳播。若輸出層得到的結果與理想結果存在差異,就會進入誤差的反向傳播過程。這兩個過程的最終目的都是為了更新權值,提高識別率。

整個算法的實現可以根據學習過程相應地分為兩個過程。首先是信號的正向傳播過程,又可以細分為卷積過程和下采樣過程。用l表示當前層,那么當前層的輸出可以表示為

其中ul=WlXl-1+bl。

式中,ul表示當前層的輸入,Wl表示當前層特征圖的權值(卷積核),Xl-1表示前一層的輸出,bl表示當前層的的偏置(基),f表示激活函數。

若當前層為卷積層,則第 j個神經元的輸出表達式為

式中,Mj表示第 j個神經元輸入特征圖的集合,是上一層第i個神經元的輸入,表示上一層第i個神經元和當前層第 j個神經元間的權重,表示第 j個神經元上加的偏置。

若當前層為下采樣層,則第 j個神經元的輸出表達式為

式中,n表示卷積層到采樣層窗口的大小,一般選用2×2的窗口,則使特征圖大小縮小四倍。

然后是誤差的逆向傳播過程。常使用平方誤差代價函數,是針對C類問題N個樣本而言的,即最后輸出為C維數據:

因為全部訓練集的誤差就是每個訓練樣本誤差的總和,所以只需要對單個樣本進行誤差分析即可。單個樣本經由網絡產生的誤差用代價函數表示為

逆向傳播回來的誤差可以看作是每個神經元的基的靈敏度,計算公式如下:

式中,“?”表示每個元素相乘。

最后,利用delta(即δ)規(guī)則對每個神經元進行權值更新。即利用梯度下降的方法,將代價函數對網絡中參數求偏導,乘以負的學習率,對參數進行更新,最終使代價函數達到極小值[11]。權值和基更新變化量的表達式如下所示:

3 實驗結果及分析

3.1 實驗訓練樣本選擇

本次實驗使用的數據集是MNIST字符庫,如圖5所示。MNIST字符庫具有60000張訓練集以及10000張測試集,圖片的像素都為 28*28[15]。

圖5 MNIST字符庫部分樣本

3.2 實驗結果及分析

常規(guī)訓練時采用每次輸入固定數量的訓練樣本,在固定時間內,迭代一定的次數。每次迭代都會完成前向過程,錯誤反向傳導過程,以及權值更新過程,從而得到更加準確的權重和偏置。如果每批訓練輸入樣本數量分別為10,20,50,則一次迭代對應耗時分別為 275s~285s,230s~240s,180s~190s。當每次訓練樣本數量不變時,測試錯誤率隨著迭代次數的增加而降低,即識別率在不斷提高,但是這種變化越來越不明顯。如表1和圖6所示。

表1 每批輸入10個樣本,不同迭代次數的測試錯誤率

圖6 不同迭代次數的測試錯誤率

在圖6中,我們繪制了每次訓練樣本數量分別為10,20,50時,識別率與迭代次數的關系??梢钥闯霎斆看斡柧殬颖緮盗坎蛔儠r,隨著迭代次數的增加,一開始測試錯誤率下降的較快,但是迭代次數超過20次以后,下降的速度明顯減緩。

針對以上實驗結果,如果采用混合樣本訓練方法,則能夠在相同時間內,得到更高的識別率。在一次訓練過程中采用了三種不同的每批訓練輸入樣本數量。當它們以不同的迭代次數組合時,會得到不同的識別率。在計算訓練時間時,我們取每批訓練輸入樣本數量所需的最小時間,即當每批訓練輸入樣本數量分別10,20,50,則一次迭代對應耗時分別為275s,230s,180s。如表2所示。

將表2中訓練時間分成6段,可以得到表3。

在比較每個訓練時間段中的組合時,首要考慮因素是識別率,因為時間段只間隔了不到一分鐘,可以忽略不計。從表3中,我們可以得到組合○15存在著更明顯的優(yōu)勢。

4 結語

本文在優(yōu)化后的LeNet-5模型的基礎上,改進樣本訓練方式。原本采用的單一樣本訓練方式,在迭代次數達到一定值后,手寫數字識別率的提高不再明顯。針對這一缺陷,混合對樣本進行訓練,即在一次訓練的過程中利用不同的每批訓練樣本數量,使得在同等的時間內,獲得更低的測試錯誤率,即更高的識別率。通過實驗結果可知,這種訓練方式是可行的,且在一定程度上提高了識別率,達到了預期效果。

表2 三種每批訓練輸入樣本數量的不同迭代次數組合

表3 不同時間段的訓練時間對應的迭代次數組

猜你喜歡
訓練樣本識別率神經元
AI講座:神經網絡的空間對應
人工智能
仿生芯片可再現生物神經元行為
這個神經元負責改變我們的習慣
檔案數字化過程中OCR技術的應用分析
基于PCA與MLP感知器的人臉圖像辨識技術
科技文檔中數學表達式的結構分析與識別
基于小波神經網絡的網絡流量預測研究
人工智能現狀和發(fā)展
研究人員精確定位控制飲酒的神經元