賀篤貴,邢兵鎖
(銅陵職業(yè)技術(shù)學(xué)院,安徽 銅陵 244000)
數(shù)字識別是模式識別的一個重要應(yīng)用分支,近年來,被廣泛研究及應(yīng)用于各個領(lǐng)域。比如應(yīng)用在車輛牌照的自動掃描識別、證件數(shù)字的掃描、表格數(shù)字的識別等。但是由于某些人為或者自然因素的存在,導(dǎo)致原始掃描的數(shù)據(jù)缺損或變形,此時對數(shù)字識別技術(shù)的要求將大大提高,因此需要更加智能的方法去除干擾項。目前我們常用的數(shù)字識別方法是首先從已有圖片中提取初始數(shù)據(jù),其次再把由圖像中初步提取的數(shù)字串分解成較簡單的單個字符,最后使用分類器進行進一步識別[1]。目前常用的分類器有最近鄰分類器以及多分類組合方法、人工智能的方法等。
在眾多智能分類方法中,人工神經(jīng)網(wǎng)絡(luò)分類方法具有高度的識別分類功能,能夠識別字符較集中的字符串以及噪聲較高的字符,誤差較小,是近年來學(xué)者們研究的重點。Hopfield神經(jīng)網(wǎng)絡(luò)是美國物理學(xué)家J.J Hopfield在1982年提出的,該網(wǎng)絡(luò)是一種遞歸神經(jīng)網(wǎng)絡(luò),具有強大的聯(lián)想記憶功能,在一定的干擾的情況下能夠?qū)?shù)字進行準確地識別,因此被廣泛應(yīng)用于圖像信息識別、信號數(shù)據(jù)處理、聲音數(shù)據(jù)處理、模式分類、數(shù)據(jù)查詢等[2]。
離散Hopfield神經(jīng)網(wǎng)絡(luò)具有較好地聯(lián)想記憶功能,當遇到一些帶有噪聲的數(shù)字或者車牌時,可以摒棄噪聲的干擾,準確地識別初始數(shù)字,因此在實際數(shù)字提取中具有很高地應(yīng)用性[3]。本文根據(jù)離散Hopfield神經(jīng)網(wǎng)絡(luò)強大的聯(lián)想記憶特性,對將其應(yīng)用于模糊數(shù)字識別系統(tǒng)進行了研究,從而實現(xiàn)數(shù)字噪音的去除,提取數(shù)字關(guān)鍵信息。
離散Hopfield神經(jīng)網(wǎng)絡(luò)可認為是一種單層、輸出分別為-1和1兩個固定數(shù)值的離散型反饋神經(jīng)網(wǎng)絡(luò)[4]。圖1所示為典型離散Hopfield神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)構(gòu)成。
圖1中第0層神經(jīng)元并無計算功能,只是作為神經(jīng)網(wǎng)絡(luò)的輸入層。圖中所示的第1層神經(jīng)元起到對第0層傳輸?shù)男畔⑦M行加工再處理的作用,因此認為是真正的神經(jīng)元。第1層的神經(jīng)元首先對接收的輸入層信息進行加權(quán)求和,再經(jīng)過神經(jīng)元作用函數(shù)進一步處理產(chǎn)生輸出,作用函數(shù)一般選用閾值函數(shù),即該層神經(jīng)元的輸入達到閾值則輸出為1,達不到閾值則輸出為-1,因此網(wǎng)絡(luò)的輸出為離散數(shù)值,稱神經(jīng)網(wǎng)絡(luò)為離散Hopfield神經(jīng)網(wǎng)絡(luò)。圖1中n1,n2,…nn表示Hopfield神經(jīng)網(wǎng)絡(luò)的輸入值,a1,a2,…an表示該神經(jīng)網(wǎng)絡(luò)的n維輸出值,wij為神經(jīng)元之間的連接權(quán)值,其表示第0層神經(jīng)元i到第1層神經(jīng)元j的連接權(quán)值[5]。
圖1 離散Hopfield神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
在圖1中可以形象的看出離散Hopfield網(wǎng)絡(luò)輸出信息反饋到輸入端,是一種典型的反饋型神經(jīng)網(wǎng)絡(luò);當給定圖中Hopfield神經(jīng)網(wǎng)絡(luò)第0層的輸入值后,信息經(jīng)過網(wǎng)絡(luò)中間各神經(jīng)元函數(shù)的處理產(chǎn)生輸出信息,輸出信息再反饋到輸入端,信息流再經(jīng)過神經(jīng)網(wǎng)絡(luò)中間神經(jīng)元的處理,得到新的輸出信息,信息經(jīng)過反復(fù)不斷處理,直到神經(jīng)網(wǎng)絡(luò)的輸出值不再變化,此時認為系統(tǒng)達到穩(wěn)定,此時神經(jīng)網(wǎng)絡(luò)的輸出值為恒定值。對于準確建立一個網(wǎng)絡(luò)模型而言,最重要的是找出網(wǎng)絡(luò)達到穩(wěn)定時各神經(jīng)元之間的連接權(quán)值wij。
準確建立離散Hopfield神經(jīng)網(wǎng)絡(luò)模型的關(guān)鍵是確定當網(wǎng)絡(luò)輸出穩(wěn)定時各神經(jīng)元之間的連接權(quán)值,其具體過程如下[6]:
圖1中,假設(shè)離散Hopfield神經(jīng)網(wǎng)絡(luò)第j個神經(jīng)元的輸入值為:
圖中神經(jīng)網(wǎng)絡(luò)第1層的神經(jīng)元的激活函數(shù)為閾值函數(shù),此時可根據(jù)閾值函數(shù)性質(zhì)得到第j個神經(jīng)元的輸出值為:
此時,可根據(jù)神經(jīng)網(wǎng)絡(luò)的輸出為所有輸出神經(jīng)元信息的代數(shù)集合。對于有n個神經(jīng)元的Hopfield神經(jīng)網(wǎng)絡(luò),其輸出在t時刻的相量為:A(t)=[a1(t),a2(t),…,an(t)]。
同時可以計算出神經(jīng)網(wǎng)絡(luò)在t+1時刻的輸出狀態(tài)為:
上述是離散Hopfield神經(jīng)網(wǎng)絡(luò)迭代過程中使用的基本公式,按照動力學(xué)的演化方式,神經(jīng)元將不斷改變其狀態(tài),即按照“能量”的減小方向不斷迭代,直到達到穩(wěn)定狀態(tài),網(wǎng)絡(luò)輸出不再改變,此時的穩(wěn)定狀態(tài)即為神經(jīng)網(wǎng)絡(luò)的期望輸出。
假設(shè)Z(t)=[z1(t),z2(t),…zn(t)]為網(wǎng)絡(luò)的穩(wěn)定輸出點,則設(shè)能量函數(shù)的變量為:
神經(jīng)網(wǎng)絡(luò)具體的運行步驟如下:
Step1:神經(jīng)網(wǎng)絡(luò)參數(shù)的初始化 (可利用MATLAB自帶的工具箱函數(shù)建立單層的Hopfield網(wǎng)絡(luò));
Step2:輸入神經(jīng)網(wǎng)絡(luò)的穩(wěn)定輸出樣本Z(t)=[z1(t),z2(t),…zn(t)],計算網(wǎng)絡(luò)權(quán)值,并在后續(xù)步驟中一直保持不變;
Step3:輸入網(wǎng)絡(luò)帶噪聲的初始輸入值;
Step4:根據(jù)串行工作方式迭代計算,隨機地更新某一個神經(jīng)元的輸出狀態(tài)。
Step5:判斷網(wǎng)絡(luò)是否達到穩(wěn)定狀態(tài),若出現(xiàn)輸出aj(t)在某一時刻開始,狀態(tài)不再發(fā)生變化,則認為網(wǎng)絡(luò)處于穩(wěn)定狀態(tài)。
Hopfield神經(jīng)網(wǎng)絡(luò)運行的具體流程圖如下:
圖2 Hopfield神經(jīng)網(wǎng)絡(luò)運行流程圖
離散Hopfield特質(zhì)顯著,文中將運用其識別帶有固定噪聲的 10 個數(shù)字 0,1,2,3,4,5,6,7,8,9 以及帶有隨機噪聲的 0,1,2,3,4,5,6,7,8,9, 即構(gòu)建的Hopfield神經(jīng)網(wǎng)絡(luò)模型穩(wěn)定輸出點為上述十個數(shù)字,通過訓(xùn)練使網(wǎng)絡(luò)穩(wěn)定到上述的十個數(shù)字點。在本實驗中網(wǎng)絡(luò)輸出由0~9這10個數(shù)字穩(wěn)態(tài)構(gòu)成,每個穩(wěn)態(tài)數(shù)字用10*10的矩陣點表示,該矩陣可以比較直觀地展示數(shù)字,由于Hopfield網(wǎng)絡(luò)對這10個數(shù)字的穩(wěn)態(tài)輸出點具有聯(lián)想記憶的功能,當數(shù)字帶有噪聲時,網(wǎng)絡(luò)模型可以摒棄噪聲識別數(shù)字。文中選用兩種產(chǎn)生噪聲的方法,一種是給定某一數(shù)字固定的噪聲。在本次實驗中選用數(shù)字1,2,3給定固定噪聲點;另一種是通過編寫MATLAB程序產(chǎn)生隨機噪聲。在本實驗中為了便于比較仍然選用對數(shù)字1,2,3產(chǎn)生隨機噪聲點,同時觀察網(wǎng)絡(luò)對不同級別的噪聲的識別能力。
實驗在MATLAB工作環(huán)境下進行,采用MATLAB軟件中自帶的Hopfield函數(shù)建立識別模型。通過建立的實驗?zāi)P蛯υ肼曔M行識別,本實驗共識別兩組噪聲[8]:首先是識別帶有一定固定噪聲的數(shù)字1,2,3,結(jié)果如圖3所示,圖中共有三行數(shù)字,第一行是標準數(shù)字,即網(wǎng)絡(luò)的穩(wěn)定輸出點,第二行表示給定的噪聲數(shù)字,第三行表示神經(jīng)網(wǎng)絡(luò)模型實際的輸出識別數(shù)字。從實驗結(jié)果可知,Hopfield神經(jīng)網(wǎng)絡(luò)模型對帶有一定固定噪聲數(shù)字的識別能力較強,識別的數(shù)字非常接近標準數(shù)字。
圖3 固定噪聲識別結(jié)果
圖4 噪聲比10%識別結(jié)果
圖5 噪聲比20%識別結(jié)果
圖6 噪聲比30%識別結(jié)果
隨后,識別帶有隨機噪聲的1,2,3數(shù)字,為了進一步測試神經(jīng)網(wǎng)絡(luò)模型的識別能力,根據(jù)噪聲比(噪聲點數(shù)占總矩陣點數(shù)的比重)的由少及多分別測試。其中圖4顯示的是噪聲比為10%時的測試結(jié)果,結(jié)果顯示模型識別能力較強。圖5顯示的是噪聲比為20%時的測試結(jié)果,結(jié)果顯示具有一定的數(shù)字識別能力,但是精度較低。圖6顯示的是噪聲比為30%時的測試結(jié)果,可以看出模型此時的識別能力非常弱。圖7顯示的是噪聲比為40%時的測試結(jié)果,從該結(jié)果可以看出此時模型識別的數(shù)字非常模糊,去除噪聲能力非常弱,對數(shù)字的識別能力差。
文中運用離散Hopfield神經(jīng)網(wǎng)絡(luò)構(gòu)建數(shù)字識別模型,分別識別帶有固定噪聲的0-9十個數(shù)字以及不同噪聲比的0-9十個數(shù)字。結(jié)果顯示,模型對帶有一定固定噪聲和噪聲比較低的隨機噪聲數(shù)字時識別能力較強,因此該模型在模糊數(shù)字識別中具有一定的應(yīng)用性。但當噪聲比較高時,模型幾乎很難識別這些數(shù)字,模型失效。因此,針對高噪聲的數(shù)據(jù),后期考慮對模型進行改進,提高識別精度。從而對其在今后實際數(shù)字提取方面的應(yīng)用中提供一定的幫助。
圖7 噪聲比40%識別結(jié)果