古詩詞大全網 - 成語經典 - BP神經網絡(誤差反傳網絡)

BP神經網絡(誤差反傳網絡)

雖然每個人工神經元很簡單,但是只要把多個人工

神經元按壹定方式連接起來就構成了壹個能處理復雜信息的神經網絡。采用BP算法的多層前饋網絡是目前應用最廣泛的神經網絡,稱之為BP神經網絡。它的最大功能就是能映射復雜的非線性函數關系。

對於已知的模型空間和數據空間,我們知道某個模型和他對應的數據,但是無法寫出它們之間的函數關系式,但是如果有大量的壹壹對應的模型和數據樣本集合,利用BP神經網絡可以模擬(映射)它們之間的函數關系。

壹個三層BP網絡如圖8.11所示,分為輸入層、隱層、輸出層。它是最常用的BP網絡。理論分析證明三層網絡已經能夠表達任意復雜的連續函數關系了。只有在映射不連續函數時(如鋸齒波)才需要兩個隱層[8]。

圖8.11中,X=(x1,…,xi,…,xn)T為輸入向量,如加入x0=-1,可以為隱層神經元引入閥值;隱層輸出向量為:Y=(y1,…,yi,…,ym)T,如加入y0=-1,可以為輸出層神經元引入閥值;輸出層輸出向量為:O=(o1,…,oi,…,ol)T;輸入層到隱層之間的權值矩陣用V表示,V=(V1,…,Vj,…,Vl)T,其中列向量Vj表示隱層第j個神經元的權值向量;隱層到輸出層之間的權值矩陣用W表示,W=(W1,…,Wk,…,Wl)T,

其中列向量Wk表示輸出層第k個神經元的權值向量。

圖8.11 三層BP網絡[8]

BP算法的基本思想是:預先給定壹壹對應的輸入輸出樣本集。學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經過各隱層逐層處理後,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉入誤差的反向傳播。將輸出誤差以某種形式通過隱層向輸入層逐層反傳,並將誤差分攤給各層的所有神經元,獲得各層的誤差信號,用它們可以對各層的神經元的權值進行調整(關於如何修改權值參見韓立群著作[8]),循環不斷地利用輸入輸出樣本集進行權值調整,以使所有輸入樣本的輸出誤差都減小到滿意的精度。這個過程就稱為網絡的學習訓練過程。當網絡訓練完畢後,它相當於映射(表達)了輸入輸出樣本之間的函數關系。

在地球物理勘探中,正演過程可以表示為如下函數:

d=f(m) (8.31)

它的反函數為

m=f-1(d) (8.32)

如果能夠獲得這個反函數,那麽就解決了反演問題。壹般來說,難以寫出這個反函數,但是我們可以用BP神經網絡來映射這個反函數m=f-1(d)。對於地球物理反問題,如果把觀測數據當作輸入數據,模型參數當作輸出數據,事先在模型空間隨機產生大量樣本進行正演計算,獲得對應的觀測數據樣本,利用它們對BP網絡進行訓練,則訓練好的網絡就相當於是地球物理數據方程的反函數。可以用它進行反演,輸入觀測數據,網絡就會輸出它所對應的模型。

BP神經網絡在能夠進行反演之前需要進行學習訓練。訓練需要大量的樣本,產生這些樣本需要大量的正演計算,此外在學習訓練過程也需要大量的時間。但是BP神經網絡壹旦訓練完畢,在反演中的計算時間可以忽略。

要想使BP神經網絡比較好地映射函數關系,需要有全面代表性的樣本,但是由於模型空間的無限性,難以獲得全面代表性的樣本集合。用這樣的樣本訓練出來的BP網絡,只能反映樣本所在的較小範圍數據空間和較小範圍模型空間的函數關系。對於超出它們的觀測數據就無法正確反演。目前BP神經網絡在壹維反演有較多應用,在二維、三維反演應用較少,原因就是難以產生全面代表性的樣本空間。