摘 要: BP網絡作為人工神經網絡的重要分支,已經廣泛應用于手寫數字識別。然而BP神經網絡存在訓練時間長、易陷入局部最小的問題。為了克服這些問題,提出了一種改進的遺傳算法,并用該算法來優化神經網絡的權值和閾值。最后,利用基于該算法的神經網絡對大量USPS手寫數字樣本集進行訓練。實驗結果表明,該算法比單純的BP算法具有更快的識別速率。
關鍵詞: 遺傳算法;BP神經網絡;數字識別
數字識別前景廣闊,廣泛應用于郵政編碼的識別、汽車牌照的識別以及個人成績單的識別。相對于印刷體數字識別,無約束手寫體的識別是模式識別領域的難點,也是目前的一個研究熱點。近幾年來眾多學者對手寫體進行了較多的研究,提出了多種算法,不過當前運用較好的主流算法還是以統計、神經網絡、聚類分析的識別算法為主。
神經網絡具有很強的學習性和自適應性,對于解決目標識別和模式分類具有較大的潛力。其中BP模型被廣泛地應用于模式分類、模式識別等方面,但BP算法收斂速度慢,且很容易陷入局部極小點。遺傳算法具有并行搜索、效率高、不存在局部收斂問題等優點而被廣泛應用。然而傳統的遺傳算法帶有一定程度的隨機性和盲從性,且有過早收斂的現象。為了克服遺傳算法的這些缺點,本文采用正交遺傳算法,克服了初始種群的盲目性,并對選擇過程做了改進,不再單純地淘汰劣勢個體,以保證種群的多樣性。最后,本文將改進的遺傳算法應用到BP網絡中,提出遺傳BP神經網絡,通過遺傳算法的全局優化能力提高BP神經網絡對手寫數字樣本訓練的速度。
1 BP神經網絡
BP網絡是一種典型的前向神經網絡,主要由輸入層、隱含層、輸出層組成,它的基本結構如圖1所示。隱含層可以是單層或多層。每一層由一個或者多個節點組成,同一層的節點之間沒有連接,而層與層之間的節點是全連接的,即每一層的節點與前面一層的所有節點都有連接。
BP網絡的核心是BP算法,BP算法由兩部分組成:信息的正向傳遞和誤差的反向傳播。在正向傳播中,輸入信息從輸入層經隱含層逐層計算傳向輸出層,每一層的輸出作用于下一層神經元(即為圖中的節點)的輸入。如果在輸出層沒有得到期望的輸出,則計算輸出層的誤差變化值,然后轉向反向傳播,通過網絡將誤差信號沿原來的連接通路反傳回來,修改各層神經元的權值直至達到期望目標。
雖然BP網絡得到了廣泛的應用,但它也存在一些自身的不足和限制,例如訓練時間較長、容易陷入局部最小值等[1]。
2 改進的遺傳算法
遺傳算法的操作內容主要有種群初始化操作、選擇操作、交叉操作、變異操作。
2.1 種群的初始化
對于沒有先驗知識的優化問題,傳統遺傳算法的初始種群一般采取完全隨機的方法產生,這樣選出的初始群體帶有一定的盲目性,也很難選出具有代表性的群體。本文采用正交化設計方法來初始化種群,利用正交設計所選的樣本組合能夠很好地代表所有可能的組合并且正交設計在數值優化方面已經被證明具有很好的搜索能力[2],這樣獲得的初始種群更具有魯棒性和統計合理性。
表1所示為兩種算法的性能比較,從中可以明顯地看出改進的遺傳-BP算法比單純的BP算法具有更快的訓練速度。而手寫數字的識別精度很大程度上取決于訓練樣本的數量,因此,提高大量樣本的訓練速度對手寫數字識別具有重要的意義。
本文針對BP網絡訓練大量數據時,訓練時間長、易陷入局部最優等問題,提出將BP網絡與遺傳算法相結合,并用改進的遺傳算法來克服傳統遺傳算法收斂速度慢的缺點,通過計算正交設計矩陣來提高初始種群的質量,有效地增強了算法的穩定性和全局搜索能力,也說明了此算法具有廣泛的應用價值。
參考文獻
[1] 叢爽.神經網絡、模糊系統及其在運動控制中的應用[M].合肥:中國科學技術大學出版社,2001.
[2] LEUNG Y W,WANG Y P.An orthogonal genetic algorithm with quantization for global numerical optimization[J].IEEE Trans.on Evolutionary Computation,2001,5(1):41-53.
[3] 王宇平.進化計算的理論和方法[M].北京:科學出版社,2011.
[4] 王小平,曹立明.遺傳算法——理論、應用與軟件實現[M].西安:西安交通大學出版社,2004.