基于動態樣本選擇策略的bp神經網絡手寫體識別系統的制作方法
【專利摘要】本發明提供一種基于動態樣本選擇策略的BP神經網絡手寫體識別系統,首先隨機初始化各層網絡神經元權值;其次采用梯度下降法來優化網絡權重,在第一輪迭代中,使用所有樣本來計算總梯度,再使用總梯度來更新各層權值,并根據樣本是否遠離決策邊界來判斷是否該作為下一輪迭代的訓練樣本;重復使用上一輪選好的訓練樣本來計算總梯度、更新各層權值、并選擇下一輪迭代的樣本直到達到最小停止誤差或最大迭代次數;最后使用得到的神經網絡對未知手寫字體樣本進行識別。相較于傳統的分類技術,本發明的動態樣本選擇策略利用樣本離決策邊界的距離來動態選擇樣本,實現訓練樣本數的一步步減小,算法能有效地解決BP網絡在大數據集上訓練時間過長的問題。
【專利說明】
基于動態樣本選擇策略的BP神經網絡手寫體識別系統
技術領域
[0001] 本發明設及模式識別領域,尤其是設及一種基于動態樣本選擇策略的BP神經網絡 手寫體識別的方法與系統。
【背景技術】
[0002] 光學字符識別技術(Optical Qiaracter Recognition, OCR)是計算機自動、高速 地辨別紙上的文字,并將其轉化為可編輯文本的一項實用技術。而手寫數字識別則是光學 字符識別技術的一個重要分支,它的研究對象是如何利用計算機自動辨認人手寫在紙張上 的阿拉伯數字。手寫數字識別的主要難點在于:第一,某些數字之間字形相差不大,使得準 確區分運些數字相當困難;第二,數字雖然只有十種,而且筆劃簡單,但同一數字寫法千差 萬別,全世界各個國家各個地區的人都用,其書寫上帶有明顯的區域特性,很難完全做到兼 顧世界各種寫法的極高識別率的通用性數字識別系統;第=,手寫體字符由于書寫者的因 素,使其字符圖像的隨意性很大,例如筆畫的粗細、字體的大小、手寫體的傾斜度、字符筆畫 的局部扭曲變形等都直接影響到字符的正確識別。
[0003] 傳統的手寫字體識別有很多實現方法,比如統計模式法、句法結構方法、邏輯特征 法、模糊模式方法和神經網絡算法等。上述幾種方法各有優缺點:結構法比較直觀,能較好 反映事物的結構特性,但問題是基元的提取很不容易,各基元的關系也比較復雜,抗干擾性 能也較差;統計法利用計算機來抽取特征,比較方便,抗干擾性能較好,但其缺點是沒有充 分利用模式的結構特性。它們對于自由書寫的手寫字體難W取得令人滿意的識別結果。而 若采用人工神經網絡方法來實現手寫字體識別,可處理一些環境信息十分復雜,背景知識 不清楚,推理規則不明確的問題,允許樣品有較大的缺損、崎變,自適應性能好,具有較高的 分辨率。因此,當前神經網絡技術與多種方法的綜合是解決手寫字體識別的重要方向之一。
[0004] 由于BP(Back Propagation)神經網絡,即誤差反向傳播神經網絡的非線性映射能 力強、泛化能力和容錯能力高,所W多采用BP神經網絡技術用于手寫字體識別研究當中。但 又因為傳統的BP神經網絡在訓練過程中將所有訓練樣本都參與訓練,使得其在大數據集上 需要極多的訓練時間,運也限制了BP神經網絡在大數據集上的應用。若要采用該方法來識 別自由手寫字體,則需要一個很大的樣本集供其訓練網絡權重,才能最終達到一個較高的 正確率。比如:學術研究中多采用MNIST手寫數字數據庫作為樣本數據來源,其一共約有 70000幅手寫數字圖片,采用傳統的BP神經網絡對其進行識別所用的訓練時間需要約 136235.63秒(37.84小時),運個時間在日常應用中是難W接受的。所W,加快BP神經網絡在 大數據集上的訓練速度就成了亟待解決的問題,構造一個能快速完成訓練的神經網絡能大 大改善手寫字體識別的實用性。
[0005] 目前在加快神經網絡訓練速度方面,已經有一些基于算法層面的處理方法,如基 于Levenberg-Marquardt算法的LMBP網絡等。然而,運些處理方法都是在算法層面上的改 進。也就是說,改進后的神經網絡只是在算法的運行速度上得到提升并沒有設及到樣本的 選擇。然而,實際在大數據集上的訓練過程中,我們發現不同樣本對網絡權重的改變量是不 相等的:在決策邊界附近的樣本對決策邊界的影響要遠大于遠離決策邊界的樣本。因此,如 果只關注與那些分布在決策邊界附近的少數樣本,我們便可W大大減少需要用來訓練的樣 本,從而對BP神經網絡訓練時間有較明顯的降低,同時還能夠獲得與原始BP神經網絡相當 的分類精確度。
【發明內容】
[0006] 針對現有基于BP神經網絡的手寫字體識別技術在處理大數據集時訓練時間過長、 實用性不高的問題,本發明的解決方案是提供了一種基于動態樣本選擇策略的神經網絡技 術來實現手寫字體識別,采用BP神經網絡來訓練網絡權重,采用梯度下降法來優化算法模 型。將動態樣本選擇策略與BP神經網絡相結合,從而提出一種基于動態BP神經網絡的手寫 字體識別系統。該系統能夠有效地識別手寫數字。
[0007] 本發明解決其技術問題所采用的技術方案:首先系統根據手寫字體的特征來確定 所采用網絡的結構和識別的策略,隨機初始化各層網絡神經元權值;其次系統采用梯度下 降法來優化網絡權重,設置梯度下降法學習步長、充量因子、最小停止誤差和最大迭代次 數;在第一輪迭代中,使用所有的樣本來計算總梯度,再使用總梯度來更新各層權值,并根 據樣本是否遠離決策邊界來判斷是否該作為下一輪迭代的訓練樣本;重復使用上一輪選好 的訓練樣本來計算總梯度、更新各層權值、并選擇下一輪迭代的樣本直到達到最小停止誤 差或最大迭代次數再停止;最后使用所得到的神經網絡對未知手寫字體樣本進行識別。
[0008] 本發明所采用的技術方案還可W進一步完善。所述的確定神經網絡結構的方法是 根據具體數據的先驗信息來人工確定的,可W采用經驗與實踐相結合的方法來確定更合適 的網絡結構,如網絡層數、隱層神經元個數、節點激活函數類型等。采集的訓練集樣本除了 從相關學術網站上下載手寫字體數據外,還可W通過手寫板或攝像頭采集現實中的手寫字 體樣本,兩者綜合一起訓練可W有效提高識別正確率。所述的動態樣本選擇策略采用的是 判別樣本是否離決策邊界較近來進行動態選擇,能夠有效地一步步減小訓練樣本的數量。
[0009] 本發明有益的效果是:利用樣本離決策邊界的距離來動態選擇樣本,實現訓練樣 本數的一步步減小;通過將動態樣本選擇策略與BP神經網絡結合在一起應用于手寫字體識 另IJ,提出基于動態樣本選擇策略的BP神經網絡手寫字體識別系統,能夠動態地再選擇訓練 樣本,實現將樣本動態選擇與分類器訓練過程結合在一起;采用梯度下降法來訓練BP神經 網絡模型并在每步迭代之后對樣本進行重采樣,實現對訓練樣本動態采樣;通過將動態采 樣與模型訓練相結合,實現了算法能有效地解決BP網絡在大數據集上訓練時間過長的問 題。
【附圖說明】
[0010] 圖1是本發明的基于動態樣本選擇策略的BP神經網絡手寫體識別的系統框架。
【具體實施方式】
[0011] 下面結合附圖和實施例對本發明作進一步介紹:本發明的方法共分為=大步驟。
[0012] 第一步:數據采集與初始化網絡。
[0013] 系統主要采用MNIST手寫數字數據庫作為訓練的樣本集,并分出一小部分未經訓 練的樣本來驗證網絡識別正確率,并運用PCA和LDA兩種方法對高維手寫字體數據進行降 維,轉換成向量形式,W作為最后的訓練樣本和驗證集。
[0014] 系統根據大數據集的規模來確定所采用網絡的結構,隨機初始化各層網絡神經元 權值。網絡結構的初始化包括網絡各層節點數,網絡所采用的活化函數類型;網絡參數初始 化包括各個神經元權值初始化,訓練樣本的訓練目標的確定,樣本動態選擇闊值。對網絡結 構和網絡參數的初始化包括W下幾個步驟。
[0015] 1)初始化神經網絡結構:根據大數據集的規模,包括樣本維度、樣本數目來確定神 經網絡的結構,其中包括神經網絡層數、每層神經元個數。隱層節點數鶴,由人工根據經驗 進行設置;神經網絡權值懇隨機初始化為-1到1之間的隨機數;對于特定問題,可W通過人 工經驗的方法來確定網絡結構。網絡點的激活函數采用Sigmoid函數。
[0016] 2)設置網絡模型訓練參數:梯度下降法的學習率P設為0.05、充量因子
,樣本動態選擇闊 的 20%。
[0017] 第二步:網絡的訓練。
[0018] 由于我們采用1對1分解技術來識別0到9運十個數字,可W將原來的一個多類識別 問題轉化為45個二類識別問題,所W-共需要訓練45個BP網絡(分類器),每個分類器識別 兩個不同的數字。其訓練方法如下。
[0019] 系統采用梯度下降法來優化網絡模型,設置梯度下降法學習率、充量因子和最大 迭代次數;在第一輪迭代中,隨機挑選20%的樣本來計算總梯度,再使用總梯度來更新各層 權值,并根據樣本的網絡輸出值與正確值間的差是否大于所設置的闊值來選擇作為下一輪 迭代的訓練樣本;重復使用上一輪選好的訓練樣本來計算總梯度、更新各層權值、并選擇下 一輪迭代的樣本直到達到最大迭代次數或誤差達到最小停止誤差為止。網絡模型優化包括 W下幾個步驟。
[0020] 1)計算網絡的誤差平方和I,:
其中,f為樣本總數,? J分別為樣本趕的訓練目標和網絡的實際輸出值; 樣本與決策邊界的判別距離可表示為:
其中,表示的是第立個樣本的網絡輸出值,S表示的是相應樣本的真值。
[0021] 2)計算網絡在樣本集S上的梯
其中紫為連接隱層第i個神經元 與輸出層第j個神經元的權值。為了求得我們可W通過鏈式積分法則得到:
其中,綜謀g為上一輪訓練后輸出層的第k個神經元的輸出值。對于隱層到輸出層來說,
其中,Il為一個樣本訓練后隱層的第j個神經元的輸出值,I驚絳每I為輸出層的第 神經元的活化函數導數值。所Pi,從隱房到輸出房的巧值審新規則為:
由于我們采用的是BP神經網絡,其通過梯度下降法更新輸入層到隱層之間的權重與更 新隱層到輸出層之間的權重的方法相同,所W輸入層到隱層的權值更新規則為:
其中,為樣本對應的梯度值。在第次迭代W后,從隱層到輸出層之間的充量 襲鞋和麵通過W下公式計算.
因此,一輪訓練完盾 ]總梯度&滅\;為: 從輸入層到隱層之 其中,¥^巧和鳴游…礙分別是第巧日第J-I輪訓練之后對應網絡從隱層到輸出層之 間的權值; 同理可得:在第J輪訓練W后,從輸入層到隱層之間的充量%裝#轉通過W下公式計 算:
更新網絡權值:根據上面所得到的從隱層到輸出層之間的權值梯度織和充量 菱錢錢寺潑,可得其權值踩;;直第雜訓練之后更新為:
其中,Il為充量因子; 同理可得:從輸入層到隱層之間的權值在第J輪訓練之后更新為。
[0022] 3)重新選擇訓練樣本集S:對于整個樣本i...........樣本的判別距離為
P:%lk。按照如下步驟重新選擇訓練樣本:
End End
其中,樣本的判別距 第2步中計算得到。
[0023] 4)如果迭代次I ,,跳轉至第2步繼續訓練網絡模型;反之,則執行第5 步。
[0024] 第=步:對未知樣本進行分類預測。
[00巧1 誦討笛^擊的對網絡搖巧講斤優化之后,系統將可^對未知樣本進行分類。網絡 權值
,其中表示輸入層與隱層之間的權值;巧丟。為 隱層與輸出層之間的權值;分別表示隱層神經元和輸出層神經元的偏移量。網 絡隱層輸出f為, 網絡輸出層
由于采用1對1分解技術且采用的活化函數的值域為(0,1),所W可預先設置每個分類 器的分類結果為0類和1類,根據Z是否大于0.5進行分類,再把結果轉換為預先定義好的該 分類器所針對分類的兩個不同數字。
[0026] 上文中,參照附圖描述了本發明的【具體實施方式】。但是本領域的普通技術人員能 夠理解,在不偏離本發明的精神和范圍的情況下,還可W對本發明的【具體實施方式】作各種 變更和替換。運些變更和替換都落在本發明權利要求書所限定的范圍內。
[0027] 實驗結果 為了驗證我們所提方法的有效性,我們將未經改進的原始BP神經網絡和改進過的動態 BP神經網絡在MNIST數據庫上進行對比實驗;MNIST數據庫擁有0到9十個數字約60000幅的 手寫數字圖片作為訓練集,并有10000幅手寫數字圖片作為驗證集。運些圖片都是標準灰度 位圖,分辨率為28X28;實驗在Inter Xeon CPU 2.20GHz 16GB RAM運行Windows 7 64位系 統mat lab 2013a平臺進行驗證。
[0028] 對比算法的參數設置如下:所設及到的原始BP神經網絡和動態BP神經網絡采用相 同的網絡結構和參數W方便比較;網絡結構為:輸入層784個節點、隱層7個節點、輸出層1個 節點,記為[784-7-1];網絡的參數為:學習率P設為0.05、充量因3
、最大迭代 次數
[0029] 實驗結果如表1所示。從實驗結果來看,基于動態樣本選擇策略的BP神經網絡訓練 速度相較于原始BP網絡大大加快,而手寫字體識別率則大致相當。運驗證了所提方法在大 數據集訓練速度方面的優勢,體現了所提方法的有效性,可W提高神經網絡技術用于手寫 字體識別問題的實用性。 「AAOAl 豐 1 1JATT雜片 4* 口 出口八雜片 4* 口
【主權項】
1. 一種基于動態樣本選擇策略的BP神經網絡手寫體識別系統,其具體步驟是: 1) 、系統根據手寫字體的特征來確定所采用網絡的結構和識別的策略,隨機初始化各 層網絡神經元權值; 2) 、系統采用梯度下降法來優化網絡權重,設置梯度下降法學習步長、充量因子、最小 停止誤差和最大迭代次數;在第一輪迭代中,使用所有的樣本來計算總梯度,再使用總梯度 來更新各層權值,并根據樣本是否遠離決策邊界來判斷是否該作為下一輪迭代的訓練樣 本;重復使用上一輪選好的訓練樣本來計算總梯度、更新各層權值、并選擇下一輪迭代的樣 本直到達到最小停止誤差或最大迭代次數再停止; 3) 、使用所得到的神經網絡對未知手寫字體樣本進行識別。2. 根據權利要求1所述的基于動態樣本選擇策略的BP神經網絡手寫體識別系統,其特 征在于:所述的BP神經網絡包括網絡層數和每層神經元節點個數;所述的神經元權值指的 是各層神經元節點相互連接的權值。3. 根據權利要求1所述的基于動態樣本選擇策略的BP神經網絡手寫體識別系統,其特 征在于:所述的采用梯度下降法來迭代優化網絡模型指的是對網絡目標函數進行求負梯 度;然后,根據所求的負梯度,對各層神經元節點權值進行更新。4. 根據權利要求1所述的基于動態樣本選擇策略的BP神經網絡手寫體識別系統,其特 征在于:所述的動態樣本選擇指的是在每一輪迭代訓練完成后,選擇那些距離決策邊界較 近的樣本作為下一輪訓練的樣本;所述的距離決策邊界較近指的是樣本的網絡輸出值與正 確值之間的差大于預先設置的閾值。5. 根據權利要求1所述的基于動態樣本選擇策略的BP神經網絡手寫體識別系統,其特 征在于:所述的手寫字體識別采用1對1分解技術,若需要分類的字數為N個,一共訓練N*(N-1)/2個神經網絡,每個網絡分類2個不同漢字。6. 根據權利要求1所述的基于動態樣本選擇策略的BP神經網絡手寫體識別系統,其特 征在于:所述的對未知手寫字體樣本進行識別包括根據所得的網絡權值求出未知樣本的網 絡輸出,根據Ν*(Ν-1)/2個神經網絡各自的識別結果進行投票,票數最多的數字即為最終的 識別結果。
【文檔編號】G06N3/08GK106022273SQ201610346450
【公開日】2016年10月12日
【申請日】2016年5月24日
【發明人】李冬冬, 鳳偉, 王喆, 范奇, 曹真
【申請人】華東理工大學