必威电竞|足球世界杯竞猜平台

反向傳播算法
來源:互聯網

反向傳播算法(BP,Back-Propagation)是在有導師指導下,適合于多層神經元網絡的一種學習算法,它建立在梯度下降法的基礎上,是用于多層神經網絡訓練的著名算法,有理論依據堅實、推導過程嚴謹、物理概念清楚、通用性強等優點。

反向傳播算法,是訓練多層感知器最有效的方法之一,其主要思想是從后向前(反向)逐層傳播輸出層的誤差,以間接計算出隱層誤差。算法分為兩個階段:第一階段(正向過程)輸入信息從輸入層經隱層逐層計算各單元的輸出值;第二階段(反向傳播過程)內輸出誤差逐層向前計算出隱層各單元的誤差,并用次誤差修正前層權值。

BP網絡的輸入輸出關系實質上是一種映射關系:一個n輸入m輸出的BP神經網絡所完成的功能是從n維歐氏空間向m維歐氏空間中一有限域的連續映射,這一映射具有高度非線性。它的信息處理能力來源于簡單非線性函數的多次復合,因此具有很強的函數復現能力。這是BP算法得以應用的基礎。

除了深度學習,反向傳播算法在其他諸多領域也是一種強大的計算工具,從天氣預報到分析數值的穩定性等多個領域都有應用,只是具有不同的名稱。實際上,這個算法在不同的領域被反復提出過至少幾十次。不考慮具體應用,該方法通常被稱為”逆向求導”( reverse- 調式 differentiation)。

算法簡介

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年提出的三角洲規剛),但當時并沒有找到同樣有效的含隱層的網絡的學習規則。

對此問題的研究有三個基本的結果。一種是使用簡單無監督學習規則的競爭學習方法.但它缺乏外部信息.難以確定適合映射的隱層結構。第二條途徑是假設一個內部(隱層)的表示方法,這在一些先約條件下是合理的。另一種方法是利用統計手段設計一個學習過程使之能有效地實現適當的內部表示法。杰弗里·辛頓等人(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-1個隱單元能夠準確記憶k個實驗值樣本。采用階躍激發函數時.k+1個隨機給定的實數值樣本能夠被k+1個隱單元的網絡記憶的概率為零。聯想記憶在Signaoid激發函數的網絡中結果也是如此。

容錯性

BP網絡除具有較強的對信息分布式記憶特點外,還具有一定的容錯性和抗干擾性.孫德保、高超對三層BP網絡的容錯性和抗干擾性進行了研究,得出了三層BP網絡的容錯能力取決于輸入層到隱含層的連接權值矩陣與隱含層到輸出層連接權值矩陣的乘積的結果。

BP網絡可以較好地實現寬頻帶、小噪比、信號模式較少情況下的信號識別和信噪分離。

參考資料 >

生活家百科家居網