反向傳播演演算法

適合於多層神經元網路的演演算法

BP演演算法(即反向傳播演演算法)是在有導師指導下,適合於多層神經元網路的一種學習演演算法,它建立在梯度下降法的基礎上。BP網路的輸入輸出關係實質上是一種映射關係:一個n輸入m輸出的BP神經網路所完成的功能是從n維歐氏空間向m維歐氏空間中一有限域的連續映射,這一映射具有高度非線性。它的信息處理能力來源於簡單非線性函數的多次複合,因此具有很強的函數復現能力。這是BP演演算法得以應用的基礎。

演演算法簡介


BP網路的結構
BP網路的結構
BP演演算法(即誤差反向傳播演演算法)是在有導師指導下,適合於多層神經元網路的一種學習演演算法,它建立在梯度下 降法的基礎上。
反向傳播演演算法主要由兩個環節(激勵傳播、權重更新)反覆循環迭代,直到網路的對輸入的響應達到預定的目標範圍為止。
BP演演算法的學習過程由正向傳播過程和反向傳播過程組成。在正向傳播過程中,輸入信息通過輸入層經隱含層,逐層處理並傳向輸出層。如果在輸出層得不到期望的輸出值,則取輸出與期望的誤差的平方和作為目標函數,轉入反向傳播,逐層求出目標函數對各神經元權值的偏導數,構成目標函數對權值向量的梯量,作為修改權值的依據,網路的學習在權值修改過程中完成。誤差達到所期望值時,網路學習結束。

激勵傳播

每次迭代中的傳播環節包含兩步:
(前向傳播階段)將訓練輸入送入網路以獲得激勵響應;
(反向傳播階段)將激勵響應同訓練輸入對應的目標輸出求差,從而獲得隱層和輸出層的響應誤差。
1.
(前向傳播階段)將訓練輸入送入網路以獲得激勵響應;
2.
(反向傳播階段)將激勵響應同訓練輸入對應的目標輸出求差,從而獲得隱層和輸出層的響應誤差。

權重更新

對於每個突觸上的權重,按照以下步驟進行更新:
將輸入激勵和響應誤差相乘,從而獲得權重的梯度;
將這個梯度乘上一個比例並取反后加到權重上。
1.將輸入激勵和響應誤差相乘,從而獲得權重的梯度;
2.將這個梯度乘上一個比例並取反后加到權重上。
3.這個比例將會影響到訓練過程的速度和效果,因此稱為“訓練因子”。梯度的方向指明了誤差擴大的方向,因此在更新權重的時候需要對其取反,從而減小權重引起的誤差。

產生和發展


感知器

1958年,心理學家Rosenblatt提出了最早的前饋層次網路模型,並稱為感知器(Perceptroa)。在這種模型中.輸入圖形,通過各輔入結點分配給下一層的各結點,這下一層就是斬謂中間層,中間層可以是一層也可以是多層,最後通過輸出層結點得到輸出圖形。在這類前饋網路巾沒有反饋連接,沒有層內連接,也沒有隔層的前饋連接,每一結點只能前饋連到其下一層的所有結點。然而,對於含有隱蔽層的多層感知器當時沒有可行的訓練辦法,所以初期研究的感知器為一層感知器。1969年,Minskey和Papert對Rosenblatt提出的簡單感知器盛行了詳細的分析。他們引用的一個典型側子是所謂XOR(exclusive—or)問題Minskey和Papert指出沒有隱層的簡單感知器在許多像XOR問題的情形下顯得無能為力,並證明了簡單感知器只能解決線性分類問題和一階謂訶同題。對於非線性分類問題和高階謂詞問題,必須引用隱單元層。隱單元可以在某一權值下對輸入模式進行再編碼,使得在新編碼中模式的相似性能支持任何需要的輸入輸出映射,而不再像簡單感知器那樣使映射難以實現。

BP演演算法

隱層的引入使網路具有很大的潛力。但正像Minskey和Papert當時所指出的.雖然對所有那些能用簡單(無隱層)網結解決的問題有非常簡單的學習規則,即簡單感知器的收斂程序(主要歸功於Widrow和HMf於1960年提出的Delta規剛),
BP演演算法
BP演演算法
但當時並沒有找到同樣有技的含隱層的同培的學習規則。對此問題的研究有三個基本的結果。一種是使用簡單無監督學習規則的競爭學習方法.但它缺乏外部信息.難以確定適台映射的隱層結構。第二條途徑是假設一十內部(隱層)的表示方法,這在一些先約條件下是合理的。另一種方法是利用統計手段設計一個學習過程使之能有技地實現適當的內部表示法,Hinton等人(1984年)提出的Bolzmann機是這種方法的典型例子.它要求網路在兩個不同的狀態下達到平衡,並且只局限於對稱網路。Barto和他的同事(1985年)提出了另一條利用統計手段的學習方法。但迄今為止最有教和最實用的方瑤是Rumelhart、Hinton和Williams(1986年)提出的一般Delta法則,即反向傳播(BP)演演算法。Parter(1985年)也獨立地得出過相似的演演算法,他稱之為學習邏輯。此外, Lecun(1985年)也研究出大致相似的學習法則。

BP網路特性


實現映射能力

神經元模型及其學習過程
神經元模型及其學習過程
BP網路的學習過程是一種誤差修正型學習演演算法,由正向傳播和反向傳播組成。在正向傳播過程中,輸入信號從輸入層通過作用函數后.逐層向隱含層,輸出層傳播,每一層神經元狀態隻影響下一層神經元狀態。如果在輸出層得不到期望的輸出,則轉入反向傳播,將鏈接信號沿原來的連接通路返回。通過修改各層神經元的連接權 值.使得輸出誤差信號最小 BP網路的連接結構和映射過程與多層Perceptmn相同,只是後者階躍的單元激發函數被換作Sigmoid函數.Rumelhart等人在1985年重新發現用梯度法修改權重(generalized delta rule)的樣本學習演演算法可以有效地運用在多層網路上,使得過去在Pereeptron模型中無能為力的XOR等學習問題獲得解決。含有輸入、輸出和單層隱單元的三層BP網路富有的功能引起人們的注意。Lippmann(1987年)指出三層網路可以處理凸區域上模式識別問題。
Wielanfl和Lelghton(1987年)給出了一個例子,用三層網路將空間劃分成凹的子空間。Huang和Lipmann(1987年)模擬演示了三層同絡可以處理幾種很複雜的摸式辯識問題,這些研究促進了三層網路的廣泛應用。Funashi和Hecht—Nielsen (1989年)分別證明了隨著隱單元的增加,三層同絡所實現的映射可以一致逼近緊急上的連續函數或按L范數逼近緊集上平方可積的函數.揭示了三層網路豐富的實現映射能力。

記憶機制

Mitchison和Durbin(1989年)給出在一定條件下,三層同絡學習容量的上、下限的估計。三層網路的轉入和輸出單元都由應用的問題所規定,只有隱單元的數且是可變的 應行仁(1990年)詳細分析三層神經網路的記憶機制,指出具有足夠多隱單元的三層神經同絡可以記憶任給的樣本集。採用漸進函數(非常一般的函數.包括階躍函數、Sigmoid函數等)作為隱單元激發匾數的三層神經同絡。個隱單元能夠準確記憶k個實驗值樣本。採用階躍激發函數時.個隧機給定的實數值樣本能夠被個隱單元的阿絡記憶的概率為零。聯想記憶在Signaoid激發函數的同絡中結果也是如此。

容錯性

BP網路除具有較強的對信息分散式記憶特點外,還具有一定的容錯性和抗干擾性.孫德保、高超對三層BP同絡的容錯性和抗干擾性進行了研究,得出了三層BP網路的容錯能力取決於輸入層到隱含層的連接權值矩陣與隱含層到轄出層連接權值矩陣的乘積的結果。
BP網路可以較好地實現寬頻帶、小噪比、信號模式較少情況下的信號識別和信噪分離。