BP神經網路

BP神經網路

BP(back propagation)神經網路是1986年由Rumelhart和McClelland為首的科學家提出的概念,是一種按照誤差逆向傳播算法訓練的多層前饋神經網路,是目前套用最廣泛的神經網路。

基本介紹

  • 中文名:BP神經網路
  • 外文名:Back Propagation Neural Network
  • 提出時間:1986年
發展背景,基本原理,結構,計算過程,優劣勢,套用,

發展背景

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

基本原理

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

結構

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

計算過程

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

優劣勢

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

套用

目前,在人工神經網路的實際套用中,絕大部分的神經網路模型都採用BP網路及其變化形式。它也是前向網路的核心部分,體現了人工神經網路的精華。
BP網路主要用於以下四個方面。
1)函式逼近:用輸入向量和相應的輸出向量訓練一個網路逼近一個函式。
2)模式識別:用一個待定的輸出向量將它與輸入向量聯繫起來。
3)分類:把輸入向量所定義的合適方式進行分類。
4)數據壓縮:減少輸出向量維數以便於傳輸或存儲。

相關詞條

熱門詞條

聯絡我們