複製鏈接
請複製以下鏈接發送給好友

BP神經網絡

鎖定
BP(back propagation)神經網絡是1986年由Rumelhart和McClelland為首的科學家提出的概念,是一種按照誤差逆向傳播算法訓練的多層前饋神經網絡,是應用最廣泛的神經網絡模型之一 [7]  [1] 
中文名
BP神經網絡
外文名
Back Propagation Neural Network
提出時間
1986年

BP神經網絡發展背景

在人工神經網絡的發展歷史上,感知機(Multilayer Perceptron,MLP)網絡曾對人工神經網絡的發展發揮了極大的作用,也被認為是一種真正能夠使用的人工神經網絡模型,它的出現曾掀起了人們研究人工神經元網絡的熱潮。單層感知網絡M-P模型)做為最初的神經網絡,具有模型清晰、結構簡單、計算量小等優點。但是,隨着研究工作的深入,人們發現它還存在不足,例如無法處理非線性問題,即使計算單元的作用函數不用閥函數而用其他較複雜的非線性函數,仍然只能解決線性可分問題.不能實現某些基本功能,從而限制了它的應用。增強網絡的分類和識別能力、解決非線性問題的唯一途徑是採用多層前饋網絡,即在輸入層輸出層之間加上隱含層。構成多層前饋感知器網絡。
20世紀80年代中期,David Rumelhart。Geoffrey Hinton和Ronald W-llians、DavidParker等人分別獨立發現了誤差反向傳播算法(Error Back Propagation Training),簡稱BP,系統解決了多層神經網絡隱含層連接權學習問題,並在數學上給出了完整推導。人們把採用這種算法進行誤差校正的多層前饋網絡稱為BP網。
BP神經網絡具有任意複雜的模式分類能力和優良的多維函數映射能力,解決了簡單感知器不能解決的異或(Exclusive OR,XOR)和一些其他問題。從結構上講,BP網絡具有輸入層、隱藏層和輸出層;從本質上講,BP算法就是以網絡誤差平方為目標函數、採用梯度下降法來計算目標函數的最小值 [2] 

BP神經網絡基本原理

人工神經網絡無需事先確定輸入輸出之間映射關係的數學方程,僅通過自身的訓練,學習某種規則,在給定輸入值時得到最接近期望輸出值的結果。作為一種智能信息處理系統,人工神經網絡實現其功能的核心是算法。BP神經網絡是一種按誤差反向傳播(簡稱誤差反傳)訓練的多層前饋網絡,其算法稱為BP算法,它的基本思想是梯度下降法,利用梯度搜索技術,以期使網絡的實際輸出值和期望輸出值的誤差均方差為最小。
基本BP算法包括信號的前向傳播和誤差的反向傳播兩個過程。即計算誤差輸出時按從輸入到輸出的方向進行,而調整權值和閾值則從輸出到輸入的方向進行。正向傳播時,輸入信號通過隱含層作用於輸出節點,經過非線性變換,產生輸出信號,若實際輸出與期望輸出不相符,則轉入誤差的反向傳播過程。誤差反傳是將輸出誤差通過隱含層向輸入層逐層反傳,並將誤差分攤給各層所有單元,以從各層獲得的誤差信號作為調整各單元權值的依據。通過調整輸入節點與隱層節點的聯接強度和隱層節點與輸出節點的聯接強度以及閾值,使誤差沿梯度方向下降,經過反覆學習訓練,確定與最小誤差相對應的網絡參數(權值和閾值),訓練即告停止。此時經過訓練的神經網絡即能對類似樣本的輸入信息,自行處理輸出誤差最小的經過非線形轉換的信息。 [3] 

BP神經網絡結構

BP網絡是在輸入層與輸出層之間增加若干層(一層或多層)神經元,這些神經元稱為隱單元,它們與外界沒有直接的聯繫,但其狀態的改變,則能影響輸入與輸出之間的關係,每一層可以有若干個節點。 [4] 

BP神經網絡計算過程

BP神經網絡的計算過程由正向計算過程和反向計算過程組成。正向傳播過程,輸入模式從輸入層經隱單元層逐層處理,並轉向輸出層,每一層神經元的狀態隻影響下一層神經元的狀態。如果在輸出層不能得到期望的輸出,則轉入反向傳播,將誤差信號沿原來的連接通路返回,通過修改各神經元的權值,使得誤差信號最小。
1.網絡狀態初始化
2.前向計算過程 [4] 

BP神經網絡優劣勢

BP神經網絡無論在網絡理論還是在性能方面已比較成熟。其突出優點就是具有很強的非線性映射能力和柔性的網絡結構。網絡的中間層數、各層的神經元個數可根據具體情況任意設定,並且隨着結構的差異其性能也有所不同。但是BP神經網絡也存在以下的一些主要缺陷。
①學習速度慢,即使是一個簡單的問題,一般也需要幾百次甚至上千次的學習才能收斂。
②容易陷入局部極小值
③網絡層數、神經元個數的選擇沒有相應的理論指導。
網絡推廣能力有限。
對於上述問題,已經有了許多改進措施,研究最多的就是如何加速網絡收斂速度和儘量避免陷入局部極小值的問題。 [5] 

BP神經網絡應用

人工神經網絡的實際應用中,絕大部分的神經網絡模型都採用BP網絡及其變化形式。它也是前向網絡的核心部分,體現了人工神經網絡的精華。
BP網絡主要用於以下四個方面。
1)函數逼近:用輸入向量和相應的輸出向量訓練一個網絡逼近一個函數。
2)模式識別:用一個待定的輸出向量將它與輸入向量聯繫起來。
3)分類:把輸入向量所定義的合適方式進行分類。
4)數據壓縮:減少輸出向量維數以便於傳輸或存儲。 [6] 
參考資料
  • 1.    聞新,張興旺,朱亞萍,李新著.智能故障診斷技術:MATLAB應用:北京航空航天大學出版社,2015.09
  • 2.    阮秀凱,劉莉,張耀舉,戴瑜興著.現代無線通信系統盲處理技術新進展 基於智能算法:復旦大學出版社,2015.01
  • 3.    餘敬,張京,武劍,王小琴著.重要礦產資源可持續供給評價與戰略研究:經濟日報出版社,2015.03
  • 4.    吳建華編著.水利工程綜合自動化系統的理論與實踐:中國水利水電出版社,2006年05月
  • 5.    張宏建 孫志強等編著.普通高等教育“十一五”國家級規劃教材 現代檢測技術:化學工業出版社,2007年09月
  • 6.    張德豐等編著.MATLAB神經網絡應用設計:機械工業出版社,2009.1
  • 7.    聞新編著. 應用MATLAB實現神經網絡[M]. 2015:95頁