姚慧娟,欒曉明
(哈爾濱工程大學信息與通信工程學院,黑龍江哈爾濱 150001)
傳統的 BP神經網絡算法是基于梯度下降的原理,在應用中存在收斂速度慢、易陷入局部極小值等缺點。圖像識別過程中對圖像的各種轉換和變換的數據量龐大,這使得在實際應用中,BP算法難以勝任。針對上述問題,采用增加動量法和自適應學習率相結合的改進算法,能夠有效地改善網絡收斂速度和抑制局部極小值的出現。
BP神經網絡是一種多層前向網絡,由輸入層、輸出層、隱含層構成[1],一種標準的 3層 BP神經網絡模型,如圖 1所示。BP網絡模型是多層的網絡學習模型,當給網絡一個輸入模式時,神經元的激活值從輸入層經各隱含間層向輸出層傳播,由輸出層單元處理后產生一個輸出模式,以此作為網絡的輸入響應。按減少期望輸出與實際誤差的方向,逐層修正輸出層經各隱含間的連接權值,最后回到輸入層。通過不斷地在誤差函數的負梯度方向上計算網絡權值和誤差變化,從而逐漸逼近期望的模式輸出,每一次權值和誤差的變化都與網絡誤差的響應成正比。

圖1 標準 3層BP神經網絡結構
標準 BP算法是在修正權值時只按當前時刻負梯度方向進行修正,而沒有考慮到前一時刻梯度方向的變化,常使學習過程發生振蕩,網絡收斂速度緩慢,它只是一種簡單的最速下降靜態尋優算法[2]。而增加動量項后相當于加了一個低通濾波器,它的作用是略過網絡可能陷入的局部極小值病記憶前一時刻的連接權值,可用式(1)表示。

其中,η為學習率;0<η<1,α為動量因子;δpj為樣本的訓練誤差;Opj為節點的輸出;wji(t)為第 t次學習后的權值,wji(t+1)為第 t+1次學習后的權值。這樣加入動量項后,可使學習率的取值足夠大,減少了學習過程中產生的振蕩現象,從而改善網絡的收斂性[3]。
學習率控制著權值空間中權值對應每步沿梯度方向變化的大小。當學習率較大時,學習速度較快,但誤差不能總是小于某個特別小的值,這時就產生了振蕩。當學習率較小時,學習速度較慢,但比較平穩,這時可以在網絡訓練的過程中自動調節學習率[4]。調節學習速率的準則是:檢查權值的修正值,如果誤差函數降低了,說明所選的學習率的值小了,應對其增大一個量,若誤差函數沒有降低,則產生了過調,應減小學習率的值。文中采用增加動量與自適應學習率相結合的改進算法,如式(2)所示

這樣該算法既引入動量項改善了收斂性,又使得學習率在迭代過程中自適應進行調整,這對于不同的連接權系數采用不同的學習率,使得誤差代價函數 E在超曲面上的不同方向按照各自較合理的步長向極小點逼近[4]。這種算法結合了增加動量法和自適應學習率法的優點,有效地提高 BP算法的識別精度和訓練速度[5]。
BP神經網絡圖像識別系統一般由圖像預處理,圖像特征提取,神經網絡分類器 3部分組成。在進行圖像特征提取和識別前,需要進行圖像預處理,使預處理后的圖像更適合后期操作。圖像預處理是對圖像操作的第一步并且圖像預處理的質量對圖像特征提取和圖象識別過程都有非常重要的影響。圖像特征提取是進一步把分割的圖像表示為一組特征向量,如圖 2所示。

圖2 BP神經網絡應用流程
(1)為改善圖像的模糊程度并保留圖像的邊緣信息,對圖像采用中值濾波,濾除噪聲。
(2)用閾值分割算法對圖像進行二值化處理,進而分離出帶識別的目標。
(3)提取處理后的圖像的不變矩特征組成特征向量,作為訓練樣本。
(4)對特征提取后的向量進行標準化處理后作為BP神經網絡的輸入,對網絡進行訓練。
(5)用訓練樣本和測試樣本的標準化特征向量進行 BP網絡的訓練和識別[6]。
由于特征提取后的特征向量維數為 7,所以 BP網絡的輸入層神經元個數為 7,輸出層神經元個數為4,隱含層神經元數目的選擇是依據經驗和猜測而定。在實際訓練中,如果訓練過程不理想,可以適當增加隱層神經元數目,這里選擇隱含層神經元個數為10[6]。訓練的目標誤差為 0.001,動量因子為 0.8,初始自適應學習率為 0.01,學習率降低的比率為0.9,增加的比率為 1.2。

圖3 樣本圖像
取訓練集不變矩標準化的特征矢量對 BP神經網絡進行訓練。訓練結束后,用測試集不變矩標準化的特征矢量作為神經網絡的輸入,對神經網絡進行測試。


由圖 3和圖 4比較可以看出,在相同迭代次數的時候改進的 BP網絡算法的均方誤差要比傳統的 BP網絡算法低一個數量級,如表 1所示。

表1 改進算法與傳統算法識別率和識別時間的比較
改進后的BP神經網絡進行圖像模式識別與傳統 BP網絡的模式識別方法相比,具有較強的抗干擾能力,且網絡訓練的速度快。這表明改進的 BP網絡算法使其對算法收斂速度慢,容易陷入局部極小值的問題顯示出極大的優越性。
實驗結果證明改進的 BP網絡能夠有效地避免局部極小值,提高網絡的識別效果。動量法有效地抑制了網絡陷于局部極小值,降低了網絡的誤差,提高了圖像識別的精度。自適應學習率在學習訓練過程中學習率可以自適應改變,提高了搜索克服局部極小、快速穩定收斂的能力,有效地縮短了訓練時間。改進的BP網絡算法是比較實用和有效的圖像識別方法。
[1]張海波,董槐林,龍飛,等.基于BP神經網絡的圖像識別研究[J].計算機與現代化,2008,5(3):17-19.
[2]陳強.基于組合矩和神經網絡的圖像識別技術研究[D].南京:南京理工大學,2007.
[3]范立南,韓曉微,張廣淵.圖像處理與模式識別[M].北京:科學出版社,2007.
[4]孫紅輝,姚良,張清華,等.基于神經網絡的圖像識別方法研究[J].光學技術,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].火力與指揮控制,2009,34(3):16-18.