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

?

基于優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的手寫體識別系統(tǒng)?

2019-11-12 06:38:50張圣杰郭必廣陳屏國
計算機(jī)與數(shù)字工程 2019年10期
關(guān)鍵詞:手寫體手寫權(quán)值

張圣杰 郭必廣 陳屏國

(溫州商學(xué)院 溫州 325035)

1 引言

在信息技術(shù)高度發(fā)達(dá)的今天,幾乎所有工作都需要計算機(jī)進(jìn)行計算處理,人們對數(shù)據(jù)處理的需求也越來越大。隨著光學(xué)字符識別技術(shù)的發(fā)展,計算機(jī)能夠處理越來越多樣的字符,處理能力也在不斷提升[1]。在人們?nèi)粘I钪?,手寫體仍然是主要部分,使用量巨大,其中銀行票據(jù)處理,財務(wù)報表的統(tǒng)計對手寫數(shù)字題使用尤甚。隨著人工智能的不斷發(fā)展,將模式識別等領(lǐng)域的最新研究成果應(yīng)用到人們工作生活中,借助計算機(jī)對手寫體進(jìn)行數(shù)字識別,能夠大大減輕工作人員的工作量,提高人們的生產(chǎn)生活質(zhì)量。

手寫數(shù)字識別主要的難點在于個體書寫習(xí)慣的差異,使得不同的字符有時會呈現(xiàn)出相似的字形。作為數(shù)字圖像處理的一個分支,手寫體識別經(jīng)過大量科研人員的研究,取得很多突破性進(jìn)展,但仍然存在一系列急需解決的問題。

近年來,國內(nèi)外諸多學(xué)者對手寫體識別進(jìn)行了廣泛和深入的研究。20世紀(jì)80年代,支持向量機(jī),神經(jīng)網(wǎng)絡(luò)等理論方法[2~5]被不斷引入手寫識別,識別效果較之前的特征結(jié)構(gòu)分析有了顯著的改善。我國對該領(lǐng)域的研究起步較晚,但也獲得了較為良好的效果,提出了一系列模式識別的研究方法,例如統(tǒng)計決策法,模板匹配法和神經(jīng)網(wǎng)絡(luò)法等。國內(nèi)眾多高校也將研究理論研究成果很好地應(yīng)用在手寫識別中,例如曹丹成功使用了Hopfield 神經(jīng)網(wǎng)絡(luò),劉作軍利用神經(jīng)網(wǎng)絡(luò)進(jìn)行手寫數(shù)字串的分類[6],較之前方法效果有了明顯的改善,但是效率和準(zhǔn)確性仍然沒有達(dá)到實際應(yīng)用的要求。

本文針對手寫數(shù)字識別,對手寫體圖像進(jìn)行預(yù)處理并進(jìn)行特征提取,提出BP 神經(jīng)網(wǎng)絡(luò)在手寫識別系統(tǒng)中的應(yīng)用并針對其缺點進(jìn)行改進(jìn),最后經(jīng)過實驗得出結(jié)論。

2 圖像特征提取

2.1 PCA主成分分析

PCA是一種高效的數(shù)據(jù)降維方法,能夠很大程度提高無監(jiān)督特征學(xué)習(xí)的速度[7-8]。手寫體圖像的各個像素之間是相關(guān)的,直接導(dǎo)致數(shù)據(jù)冗余,這時就可以采用PCA進(jìn)行數(shù)據(jù)壓縮,將變化較大的數(shù)據(jù)保留下來,大大減輕該網(wǎng)絡(luò)的計算量。數(shù)據(jù)樣本分布如圖1所示。

圖1 PCA樣本的二維分布

在PCA 中主成分的數(shù)目對特征提取的結(jié)果有很大影響。主成分?jǐn)?shù)目過小會導(dǎo)致數(shù)據(jù)的誤差增加,特征提取效果較差,數(shù)目過大則降維效果不明顯[9~10]。

設(shè)λ1,λ2,…λn是特征值,其中λj對應(yīng)于特征向量uj。

2.2 Sobel圖像預(yù)處理

數(shù)字圖像的邊緣信息提取是一種十分有效且常用的特征提取方式,提取出邊緣信息后直接作為后續(xù)分類器的輸入數(shù)據(jù)[11~12]。為了使邊緣信息更加清晰,Sobel 算子對水平和垂直這兩方向進(jìn)行邊緣檢測并且將之加權(quán)處理,其卷積因子如圖2 所示。

圖2 Sobel卷積因子

卷子因子算子為兩個3*3 矩陣,將其與原始圖像進(jìn)行卷積運算便可得到該圖像0h和90h的邊緣。利用如下公式算出最終值。

通過Sobel 算子對目標(biāo)圖像進(jìn)行邊緣檢測,得到不同方向上的梯度圖像,將其串聯(lián)成一個列向量。由于列向量規(guī)模大,直接作為輸入會給網(wǎng)絡(luò)帶來很大負(fù)擔(dān),因此在這里使用PCA 進(jìn)行降維處理,大大減少網(wǎng)絡(luò)運算負(fù)荷,提高效率。

2.3 Gabor特征提取

Daugman[13]的文章對Gabor 濾波器的原理以及特征進(jìn)行了十分詳細(xì)的描述,對紋理具有非常優(yōu)秀的定位能力,能夠獲得合適的邊緣信息,其方向特性和尺度特性也較為良好。此外,在不同光照條件下,Gabor濾波仍然能夠保持很優(yōu)良的性能,可以忽光照變化的影響,因此Gabor 變換在圖像處理這個方向得到了十分廣泛的應(yīng)用。

Gabor 特征有著其他特征無法比擬的優(yōu)越性質(zhì),擁有探測信號在不同位置的局部性質(zhì)的能力,無論是在空間還是頻域都顯示出良好的局部性質(zhì)。圖像的旋轉(zhuǎn)和平移對Gabor 變換的結(jié)果不產(chǎn)生影響,因此得到廣泛應(yīng)用。二維Gabor 函數(shù)由調(diào)制而成的高斯表達(dá)式構(gòu)成,其數(shù)學(xué)表達(dá)式如下:

不同尺度和方向下的Gabor 濾波器如圖3 所示。

圖3 Gabor濾波器

3 BP神經(jīng)網(wǎng)絡(luò)

神經(jīng)網(wǎng)絡(luò)是指對人腦神經(jīng)元系統(tǒng)進(jìn)行抽象而成的簡單模型。相互連接的神經(jīng)元通過對外部輸入信號進(jìn)行響應(yīng)從而達(dá)到對信息數(shù)據(jù)信息進(jìn)行處理的目的。對神經(jīng)元的權(quán)重進(jìn)行不斷的調(diào)整就能適應(yīng)不同場景的應(yīng)用需求,達(dá)到最好的效果。目前已經(jīng)有各種各樣的學(xué)習(xí)算法,其中應(yīng)用最廣泛的是反向傳播算法。BP 神經(jīng)網(wǎng)絡(luò)指的是基于誤差反向傳播算法的多層前向神經(jīng)網(wǎng)絡(luò),其神經(jīng)元通常采用Sigmoid 函數(shù),使其能夠?qū)崿F(xiàn)輸入輸出的非線性映射,因此在模式識別,計算機(jī)網(wǎng)絡(luò)等領(lǐng)域有廣泛的應(yīng)用[14-17]。BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖4所示。

圖4 BP神經(jīng)網(wǎng)絡(luò)拓?fù)鋱D

3.1 算法原理

BP 神經(jīng)網(wǎng)絡(luò)算法有正向和反向傳播兩個組成成分。剛開始系統(tǒng)進(jìn)行正向傳播,將輸入數(shù)據(jù)傳輸給中間的隱藏層,中間隱藏單元對數(shù)據(jù)進(jìn)行處理后將其傳輸給輸出層,我們可以從輸出層查看對應(yīng)結(jié)果是否滿足要求。中間可能有多個隱藏層單元,每一層單元只受上一層的影響。如果輸出不符合預(yù)期,則由正向傳播轉(zhuǎn)換為反向傳播,把誤差信號沿著之前的連接路徑傳遞回去,通過不斷的改變各個神經(jīng)元之間的權(quán)值從而將誤差信號減到最小。

這里將模型簡化,分析多輸入單輸出模型的特點。神經(jīng)網(wǎng)絡(luò)中隱藏節(jié)點的函數(shù)為

由上式可知,每個神經(jīng)元的取值均在0 和1 之間,公式中的調(diào)節(jié)參數(shù)Q 直接反映Sigmoid 函數(shù)的陡峭程度,Q值越大,曲線越陡峭,反之越平坦。

假設(shè)輸入為x(p),網(wǎng)絡(luò)輸出為O(p),則節(jié)點j的輸入可由下式獲得:

在這里誤差函數(shù)為

BP算法的流程圖如圖5所示,從流程圖中可以看出,BP 神經(jīng)網(wǎng)絡(luò)將待解決的問題轉(zhuǎn)化為一個非線性優(yōu)化問題,在該問題的基礎(chǔ)上使用梯度下降算法,得到最優(yōu)解。神經(jīng)網(wǎng)絡(luò)輸入經(jīng)過隱藏層到達(dá)輸出可以看成是一種非線性的映射關(guān)系。

圖5 BP神經(jīng)網(wǎng)絡(luò)流程圖

3.2 BP神經(jīng)網(wǎng)絡(luò)優(yōu)缺點

BP神經(jīng)網(wǎng)絡(luò)應(yīng)用廣泛,主要有如下幾個優(yōu)點。

1)非線性映射。BP 神經(jīng)網(wǎng)絡(luò)由多層次映射機(jī)構(gòu)組成,一個神經(jīng)元接收上一層神經(jīng)元的輸入,經(jīng)過計算得到輸出,傳輸給下一層神經(jīng)元。這樣多層次的神經(jīng)元結(jié)構(gòu)可以任意逼近任何非線性函數(shù),具有很強(qiáng)的處理復(fù)雜任務(wù)的能力,而且精度可靠。

2)自學(xué)習(xí)和自適應(yīng)。通過對BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)的調(diào)整,可以實現(xiàn)自我學(xué)習(xí)和適應(yīng)。用數(shù)據(jù)對其進(jìn)行訓(xùn)練時,可以將網(wǎng)絡(luò)中的權(quán)值和增益進(jìn)行自我調(diào)整,使得網(wǎng)絡(luò)能夠擁有更快的學(xué)習(xí)速度,算法效率大大提高。

3)泛化能力。通過對訓(xùn)練的數(shù)據(jù)集進(jìn)行不斷訓(xùn)練并且學(xué)習(xí),BP 神經(jīng)網(wǎng)絡(luò)能夠?qū)τ?xùn)練數(shù)據(jù)進(jìn)行高度準(zhǔn)確的識別。在訓(xùn)練集中加入一定的噪聲和位置數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)在經(jīng)過學(xué)習(xí)后依舊能夠?qū)ζ溥M(jìn)行識別。BP 神經(jīng)網(wǎng)絡(luò)的反向傳播機(jī)制能夠使這種優(yōu)良的泛化能力得以體現(xiàn),增強(qiáng)其抗干擾能力。

4)容錯能力。BP 神經(jīng)網(wǎng)絡(luò)神經(jīng)節(jié)點眾多,加上其反向傳播機(jī)制,在某個神經(jīng)元受損后依舊能夠繼續(xù)學(xué)習(xí)和訓(xùn)練,并且保持良好的效果,不影響正常使用。

BP 神經(jīng)網(wǎng)絡(luò)雖然有這些優(yōu)點,但是也存在一些明顯的不足,成為眾多科研工作者努力克服的研究難點。其主要缺點主要體現(xiàn)在以下幾個方面。

1)易陷入局部極小值。BP 神經(jīng)網(wǎng)絡(luò)使用梯度下降法來實現(xiàn)網(wǎng)絡(luò)權(quán)重的調(diào)整,由于該算法本身的局限性,使其很容易陷入局部極小值,造成訓(xùn)練失敗。在進(jìn)行學(xué)習(xí)和訓(xùn)練之前,需要人為設(shè)置初始網(wǎng)絡(luò)權(quán)重,不同的設(shè)置方式會產(chǎn)生不同的局部極值點。

2)收斂速度慢。神經(jīng)網(wǎng)絡(luò)所使用的梯度下降法呈現(xiàn)鋸齒狀,直接導(dǎo)致算法收斂速度減慢。加上網(wǎng)絡(luò)中步長的計算的復(fù)雜性,需要消耗很多的資源,使得算法效率降低。

針對上述神經(jīng)網(wǎng)絡(luò)的缺點,本文提出一種改進(jìn)的BP 神經(jīng)網(wǎng)絡(luò)算法——彈性BP 神經(jīng)網(wǎng)絡(luò),通過分析性能并實驗獲得該改進(jìn)算法的效率數(shù)據(jù),和原算法進(jìn)行對比得出結(jié)論。

4 改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法

利用誤差梯度的反方向調(diào)整學(xué)習(xí)率是大多數(shù)監(jiān)督學(xué)習(xí)算法的通用模式,而常規(guī)的BP 算法就是采用誤差反向傳播的方式調(diào)節(jié)網(wǎng)絡(luò)權(quán)值,在運行的過程中存在極易陷入局部極小和運算速度慢的缺點。

針對上述缺陷,本文提出一種啟發(fā)式改進(jìn)方法,即彈性BP 算法。這是一種有效的在多層感知器當(dāng)中實現(xiàn)有指導(dǎo)學(xué)習(xí)的能夠自適應(yīng)的一種學(xué)習(xí)方案。其他的啟發(fā)式改進(jìn)算法還有附加動量法和自適應(yīng)學(xué)習(xí)率算法等。但是附加動量法側(cè)重于改進(jìn)誤差曲面上變化趨勢的影響,其優(yōu)點是可能滑過某些局部極小值,減少BP 神經(jīng)網(wǎng)絡(luò)陷入局部極小的概率,但是缺點是對參數(shù)依賴性太高,訓(xùn)練時間長,效率低。而自適應(yīng)學(xué)習(xí)率算法以變步長方式自動調(diào)節(jié)學(xué)習(xí)率,能夠有效降低訓(xùn)練次數(shù),且對初始學(xué)習(xí)率的選取不敏感,效果較好,但是需要調(diào)節(jié)的參數(shù)較多。因此這里選擇綜合上述優(yōu)點的彈性BP算法。

4.1 彈性BP算法原理

彈性BP 算法最先由德國Martin Riedmiller 和Heinrich Braun 提出,該算法消除了偏導(dǎo)數(shù)的影響權(quán)步,只取偏導(dǎo)數(shù)的符號而不考慮其幅值,只有導(dǎo)數(shù)的符號被用為權(quán)值更新的方向[18]。權(quán)值大小僅僅由其專門的值確定,其值如下所示。

其判斷條件表示所有模式的梯度信息。權(quán)值更新過程遵循一個原則,即若導(dǎo)數(shù)為正,則其更新值減小,若導(dǎo)數(shù)為負(fù),則其更新值增大。

接下來進(jìn)行彈性BP 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的第二步,確定新的更新值,該自適應(yīng)過程基于符號相關(guān)性。

式中,Dtij是 權(quán)值的 更 新步長,Dtij∈[Dmin,Dmax] ;0 <η-<1 <η+為調(diào)整系數(shù)。

彈性BP 算法的原理是直接修改更新權(quán)值,因此其修改后的性能并不會因為不可預(yù)計的梯度性能而變的不清晰,這和以學(xué)習(xí)速率為基礎(chǔ)的算法恰恰相反。彈性BP 算法和最初的反向傳播算法相比,學(xué)習(xí)規(guī)律簡單清晰,僅僅在計算量上有少量的增加。在彈性BP算法中,當(dāng)訓(xùn)練發(fā)生振蕩時,權(quán)值的變化量將減小;當(dāng)在幾次迭代過程中權(quán)值均朝一個方向變化時,權(quán)值的變化量則增大。因此,一般來說,彈性BP算法的收斂速度要快得多,而且對于存儲量的要求也不高。

4.2 改進(jìn)的彈性BP算法

基本的BP算法權(quán)值更新時基于誤差梯度的方向信息,它可能會跳過局部極小區(qū)域,但是并沒有考慮到權(quán)值的更新是否會增加全局誤差,而且,權(quán)值的更新只是采用兩個固定的權(quán)值系數(shù),并沒有充分采用誤差信息;基本的彈性BP 對于調(diào)整系數(shù)初值的選取依賴性很強(qiáng),而且依據(jù)經(jīng)驗或者實驗獲取的參數(shù)在訓(xùn)練初期功效較好的調(diào)整系數(shù),并不見得對后面的訓(xùn)練也適合,很多時候不合適的初值還會導(dǎo)致網(wǎng)絡(luò)無法訓(xùn)練。為了更加有效地使用這兩部分信息,提出了調(diào)整系數(shù)自適應(yīng)的彈性BP算法,其基本思路如下。

從整體來講,改進(jìn)的彈性BP 算法引入了較多的參數(shù),而且增加了系統(tǒng)的存儲要求以及實現(xiàn)的復(fù)雜度,但是,對于一個特定的待辨識目標(biāo)群體,在多次實驗,采用合適的網(wǎng)絡(luò)參數(shù)之后,其訓(xùn)練效果要遠(yuǎn)遠(yuǎn)好于基本BP算法或者基本彈性BP算法。

4.3 實驗測試

為了更好地驗證本文中提出的改進(jìn)彈性BP算法的性能,引入手寫數(shù)字識別這樣一個實際問題加以討論。通過手寫數(shù)字0~9 輸入電腦終端,通過一定的預(yù)處理之后,使用已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)加以識別,最終得出辨識結(jié)果。本系統(tǒng)的整體框圖如圖6所示。

圖6 系統(tǒng)總體框圖

本系統(tǒng)采用Matlab平臺,對輸入手寫圖像進(jìn)行預(yù)處理,然后分別使用基本BP 算法,彈性BP 算法和改進(jìn)后的BP算法進(jìn)行實驗驗證。其中訓(xùn)練樣本數(shù)目為700,測試樣本數(shù)為50,共3 層網(wǎng)絡(luò),10 個隱藏節(jié)點。最終網(wǎng)絡(luò)的訓(xùn)練結(jié)果如圖7~8所示。

從圖7 可以看出,經(jīng)典BP 算法訓(xùn)練時間較長,訓(xùn)練精度不高,效果一般。圖8 是改進(jìn)彈性BP 算法,可以明顯的看出,訓(xùn)練時間變短,而且訓(xùn)練精度大大提高,比原有算法精度高出3~4 個數(shù)量級,有效的克服了傳統(tǒng)反向傳播算法的缺點。

圖7 BP算法訓(xùn)練結(jié)果

圖8 改進(jìn)彈性BP算法訓(xùn)練結(jié)果

具體兩種算法的效果對比如表1所示。

表1 系統(tǒng)運行結(jié)果

從上表可以定量的看出,彈性BP 算法的訓(xùn)練精度大大提高,準(zhǔn)確率也有了明顯的提升,效果均好于傳統(tǒng)BP算法。具體識別結(jié)果如圖9所示。

圖9 手寫識別結(jié)果

上述結(jié)果表明了本系統(tǒng)提出的改進(jìn)算法能夠高效準(zhǔn)確地識別現(xiàn)實中常見的手寫體,具有一定的現(xiàn)實意義。

5 結(jié)語

本文深入了解了國內(nèi)外手寫識別的研究現(xiàn)狀,在手寫體圖像處理和神經(jīng)網(wǎng)絡(luò)優(yōu)化識別方面完成自己的研究工作。對采集到的手寫體圖像數(shù)據(jù)進(jìn)行主成分分析并采用Gabor 對其進(jìn)行特征提取,將處理后的圖像數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的輸入。分析傳統(tǒng)BP 算法的優(yōu)缺點并提出改進(jìn)彈性BP 算法,并通過實驗驗證了該方法的優(yōu)異性,得到了令人滿意的實驗結(jié)果。

但是,必須指出的是,此方法引入了部分參數(shù),這些參數(shù)的設(shè)置對于訓(xùn)練結(jié)果有較大的影響,而本文中并沒有對此方法采用其他測試集做訓(xùn)練,以后需要使用其他問題或者其他測試集對方法的性能做進(jìn)一步測試。

猜你喜歡
手寫體手寫權(quán)值
手寫比敲鍵盤更有助于學(xué)習(xí)和記憶
哐當(dāng)(外一首)
哐當(dāng)(外一首)
一種融合時間權(quán)值和用戶行為序列的電影推薦模型
我手寫我心
CONTENTS
抓住身邊事吾手寫吾心
基于大數(shù)據(jù)下的手寫體識別的設(shè)計與研發(fā)
披著書法外衣的手寫體
中國篆刻(2019年6期)2019-12-08 15:56:23
基于集成學(xué)習(xí)的MINIST手寫數(shù)字識別
電子制作(2018年18期)2018-11-14 01:48:08
温泉县| 伊吾县| 正宁县| 师宗县| 三门县| 梨树县| 吐鲁番市| 镇远县| 定陶县| 错那县| 岫岩| 抚远县| 临海市| 光山县| 江北区| 马关县| 周至县| 和平县| 连云港市| 望城县| 巴东县| 怀化市| 绍兴县| 南汇区| 前郭尔| 驻马店市| 仪征市| 苗栗市| 图木舒克市| 琼中| 马山县| 定兴县| 长泰县| 四川省| 阳曲县| 新余市| 惠水县| 满洲里市| 永吉县| 嘉义市| 墨脱县|