姚慧娟,欒曉明
(哈爾濱工程大學(xué)信息與通信工程學(xué)院,黑龍江哈爾濱 150001)
傳統(tǒng)的 BP神經(jīng)網(wǎng)絡(luò)算法是基于梯度下降的原理,在應(yīng)用中存在收斂速度慢、易陷入局部極小值等缺點(diǎn)。圖像識(shí)別過程中對(duì)圖像的各種轉(zhuǎn)換和變換的數(shù)據(jù)量龐大,這使得在實(shí)際應(yīng)用中,BP算法難以勝任。針對(duì)上述問題,采用增加動(dòng)量法和自適應(yīng)學(xué)習(xí)率相結(jié)合的改進(jìn)算法,能夠有效地改善網(wǎng)絡(luò)收斂速度和抑制局部極小值的出現(xiàn)。
BP神經(jīng)網(wǎng)絡(luò)是一種多層前向網(wǎng)絡(luò),由輸入層、輸出層、隱含層構(gòu)成[1],一種標(biāo)準(zhǔn)的 3層 BP神經(jīng)網(wǎng)絡(luò)模型,如圖 1所示。BP網(wǎng)絡(luò)模型是多層的網(wǎng)絡(luò)學(xué)習(xí)模型,當(dāng)給網(wǎng)絡(luò)一個(gè)輸入模式時(shí),神經(jīng)元的激活值從輸入層經(jīng)各隱含間層向輸出層傳播,由輸出層單元處理后產(chǎn)生一個(gè)輸出模式,以此作為網(wǎng)絡(luò)的輸入響應(yīng)。按減少期望輸出與實(shí)際誤差的方向,逐層修正輸出層經(jīng)各隱含間的連接權(quán)值,最后回到輸入層。通過不斷地在誤差函數(shù)的負(fù)梯度方向上計(jì)算網(wǎng)絡(luò)權(quán)值和誤差變化,從而逐漸逼近期望的模式輸出,每一次權(quán)值和誤差的變化都與網(wǎng)絡(luò)誤差的響應(yīng)成正比。
圖1 標(biāo)準(zhǔn) 3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
標(biāo)準(zhǔn) BP算法是在修正權(quán)值時(shí)只按當(dāng)前時(shí)刻負(fù)梯度方向進(jìn)行修正,而沒有考慮到前一時(shí)刻梯度方向的變化,常使學(xué)習(xí)過程發(fā)生振蕩,網(wǎng)絡(luò)收斂速度緩慢,它只是一種簡(jiǎn)單的最速下降靜態(tài)尋優(yōu)算法[2]。而增加動(dòng)量項(xiàng)后相當(dāng)于加了一個(gè)低通濾波器,它的作用是略過網(wǎng)絡(luò)可能陷入的局部極小值病記憶前一時(shí)刻的連接權(quán)值,可用式(1)表示。
其中,η為學(xué)習(xí)率;0<η<1,α為動(dòng)量因子;δpj為樣本的訓(xùn)練誤差;Opj為節(jié)點(diǎn)的輸出;wji(t)為第 t次學(xué)習(xí)后的權(quán)值,wji(t+1)為第 t+1次學(xué)習(xí)后的權(quán)值。這樣加入動(dòng)量項(xiàng)后,可使學(xué)習(xí)率的取值足夠大,減少了學(xué)習(xí)過程中產(chǎn)生的振蕩現(xiàn)象,從而改善網(wǎng)絡(luò)的收斂性[3]。
學(xué)習(xí)率控制著權(quán)值空間中權(quán)值對(duì)應(yīng)每步沿梯度方向變化的大小。當(dāng)學(xué)習(xí)率較大時(shí),學(xué)習(xí)速度較快,但誤差不能總是小于某個(gè)特別小的值,這時(shí)就產(chǎn)生了振蕩。當(dāng)學(xué)習(xí)率較小時(shí),學(xué)習(xí)速度較慢,但比較平穩(wěn),這時(shí)可以在網(wǎng)絡(luò)訓(xùn)練的過程中自動(dòng)調(diào)節(jié)學(xué)習(xí)率[4]。調(diào)節(jié)學(xué)習(xí)速率的準(zhǔn)則是:檢查權(quán)值的修正值,如果誤差函數(shù)降低了,說明所選的學(xué)習(xí)率的值小了,應(yīng)對(duì)其增大一個(gè)量,若誤差函數(shù)沒有降低,則產(chǎn)生了過調(diào),應(yīng)減小學(xué)習(xí)率的值。文中采用增加動(dòng)量與自適應(yīng)學(xué)習(xí)率相結(jié)合的改進(jìn)算法,如式(2)所示
這樣該算法既引入動(dòng)量項(xiàng)改善了收斂性,又使得學(xué)習(xí)率在迭代過程中自適應(yīng)進(jìn)行調(diào)整,這對(duì)于不同的連接權(quán)系數(shù)采用不同的學(xué)習(xí)率,使得誤差代價(jià)函數(shù) E在超曲面上的不同方向按照各自較合理的步長(zhǎng)向極小點(diǎn)逼近[4]。這種算法結(jié)合了增加動(dòng)量法和自適應(yīng)學(xué)習(xí)率法的優(yōu)點(diǎn),有效地提高 BP算法的識(shí)別精度和訓(xùn)練速度[5]。
BP神經(jīng)網(wǎng)絡(luò)圖像識(shí)別系統(tǒng)一般由圖像預(yù)處理,圖像特征提取,神經(jīng)網(wǎng)絡(luò)分類器 3部分組成。在進(jìn)行圖像特征提取和識(shí)別前,需要進(jìn)行圖像預(yù)處理,使預(yù)處理后的圖像更適合后期操作。圖像預(yù)處理是對(duì)圖像操作的第一步并且圖像預(yù)處理的質(zhì)量對(duì)圖像特征提取和圖象識(shí)別過程都有非常重要的影響。圖像特征提取是進(jìn)一步把分割的圖像表示為一組特征向量,如圖 2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)應(yīng)用流程
(1)為改善圖像的模糊程度并保留圖像的邊緣信息,對(duì)圖像采用中值濾波,濾除噪聲。
(2)用閾值分割算法對(duì)圖像進(jìn)行二值化處理,進(jìn)而分離出帶識(shí)別的目標(biāo)。
(3)提取處理后的圖像的不變矩特征組成特征向量,作為訓(xùn)練樣本。
(4)對(duì)特征提取后的向量進(jìn)行標(biāo)準(zhǔn)化處理后作為BP神經(jīng)網(wǎng)絡(luò)的輸入,對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
(5)用訓(xùn)練樣本和測(cè)試樣本的標(biāo)準(zhǔn)化特征向量進(jìn)行 BP網(wǎng)絡(luò)的訓(xùn)練和識(shí)別[6]。
由于特征提取后的特征向量維數(shù)為 7,所以 BP網(wǎng)絡(luò)的輸入層神經(jīng)元個(gè)數(shù)為 7,輸出層神經(jīng)元個(gè)數(shù)為4,隱含層神經(jīng)元數(shù)目的選擇是依據(jù)經(jīng)驗(yàn)和猜測(cè)而定。在實(shí)際訓(xùn)練中,如果訓(xùn)練過程不理想,可以適當(dāng)增加隱層神經(jīng)元數(shù)目,這里選擇隱含層神經(jīng)元個(gè)數(shù)為10[6]。訓(xùn)練的目標(biāo)誤差為 0.001,動(dòng)量因子為 0.8,初始自適應(yīng)學(xué)習(xí)率為 0.01,學(xué)習(xí)率降低的比率為0.9,增加的比率為 1.2。
圖3 樣本圖像
取訓(xùn)練集不變矩標(biāo)準(zhǔn)化的特征矢量對(duì) BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。訓(xùn)練結(jié)束后,用測(cè)試集不變矩標(biāo)準(zhǔn)化的特征矢量作為神經(jīng)網(wǎng)絡(luò)的輸入,對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行測(cè)試。
由圖 3和圖 4比較可以看出,在相同迭代次數(shù)的時(shí)候改進(jìn)的 BP網(wǎng)絡(luò)算法的均方誤差要比傳統(tǒng)的 BP網(wǎng)絡(luò)算法低一個(gè)數(shù)量級(jí),如表 1所示。
表1 改進(jìn)算法與傳統(tǒng)算法識(shí)別率和識(shí)別時(shí)間的比較
改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像模式識(shí)別與傳統(tǒng) BP網(wǎng)絡(luò)的模式識(shí)別方法相比,具有較強(qiáng)的抗干擾能力,且網(wǎng)絡(luò)訓(xùn)練的速度快。這表明改進(jìn)的 BP網(wǎng)絡(luò)算法使其對(duì)算法收斂速度慢,容易陷入局部極小值的問題顯示出極大的優(yōu)越性。
實(shí)驗(yàn)結(jié)果證明改進(jìn)的 BP網(wǎng)絡(luò)能夠有效地避免局部極小值,提高網(wǎng)絡(luò)的識(shí)別效果。動(dòng)量法有效地抑制了網(wǎng)絡(luò)陷于局部極小值,降低了網(wǎng)絡(luò)的誤差,提高了圖像識(shí)別的精度。自適應(yīng)學(xué)習(xí)率在學(xué)習(xí)訓(xùn)練過程中學(xué)習(xí)率可以自適應(yīng)改變,提高了搜索克服局部極小、快速穩(wěn)定收斂的能力,有效地縮短了訓(xùn)練時(shí)間。改進(jìn)的BP網(wǎng)絡(luò)算法是比較實(shí)用和有效的圖像識(shí)別方法。
[1]張海波,董槐林,龍飛,等.基于BP神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別研究[J].計(jì)算機(jī)與現(xiàn)代化,2008,5(3):17-19.
[2]陳強(qiáng).基于組合矩和神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別技術(shù)研究[D].南京:南京理工大學(xué),2007.
[3]范立南,韓曉微,張廣淵.圖像處理與模式識(shí)別[M].北京:科學(xué)出版社,2007.
[4]孫紅輝,姚良,張清華,等.基于神經(jīng)網(wǎng)絡(luò)的圖像識(shí)別方法研究[J].光學(xué)技術(shù),2008,34(增刊):173-174.
[5]David Sanchez V A.Advanced Support Vector Machines and Kernel Methods[J].Neurocomputing, 2003,55(9):5-20.
[6]張科,羅華,王秀琴.基于不變矩和神經(jīng)網(wǎng)絡(luò)的目標(biāo)識(shí)別方法[J].火力與指揮控制,2009,34(3):16-18.