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

反向傳播算法

鎖定
反向傳播算法,簡稱BP算法,適合於多層神經元網絡的一種學習算法,它建立在梯度下降法的基礎上。BP網絡的輸入輸出關係實質上是一種映射關係:一個n輸入m輸出的BP神經網絡所完成的功能是從n維歐氏空間向m維歐氏空間中一有限域的連續映射,這一映射具有高度非線性。它的信息處理能力來源於簡單非線性函數的多次複合,因此具有很強的函數復現能力。這是BP算法得以應用的基礎。
中文名
反向傳播算法
外文名
Backpropagation algorithm
別    名
Delta法則
簡    稱
BP算法
本    質
監督學習算法
應    用
前饋神經網絡

反向傳播算法動機

反向傳播算法被設計為減少公共子表達式的數量而不考慮存儲的開銷。 [1]  反向傳播避免了重複子表達式的指數爆炸。 [1]  然而,其他算法可能通過對計算圖進行簡化來避免更多的子表達式,或者也可能通過重新計算而不是存儲這些子表達式來節省內存。 [1] 

反向傳播算法算法簡介

BP網絡的結構 BP網絡的結構
BP算法(即誤差反向傳播算法)適合於多層神經元網絡的一種學習算法,它建立在梯度下降法的基礎上。BP網絡的輸入輸出關係實質上是一種映射關係:一個n輸入m輸出的BP神經網絡所完成的功能是從n維歐氏空間向m維歐氏空間中一有限域的連續映射,這一映射具有高度非線性。它的信息處理能力來源於簡單非線性函數的多次複合,因此具有很強的函數復現能力。這是BP算法得以應用的基礎。 [2] 
反向傳播算法主要由兩個環節(激勵傳播、權重更新)反覆循環迭代,直到網絡的對輸入的響應達到預定的目標範圍為止。
BP算法的學習過程由正向傳播過程和反向傳播過程組成。在正向傳播過程中,輸入信息通過輸入層經隱含層,逐層處理並傳向輸出層。如果在輸出層得不到期望的輸出值,則取輸出與期望的誤差的平方和作為目標函數,轉入反向傳播,逐層求出目標函數對各神經元權值的偏導數,構成目標函數對權值向量的梯量,作為修改權值的依據,網絡的學習在權值修改過程中完成。誤差達到所期望值時,網絡學習結束。 [2] 

反向傳播算法激勵傳播

每次迭代中的傳播環節包含兩步:
  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年)也研究出大致相似的學習法則。 [3] 

反向傳播算法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網絡的容錯能力取決於輸入層到隱含層的連接權值矩陣與隱含層到轄出層連接權值矩陣的乘積的結果。 [3] 
BP網絡可以較好地實現寬頻帶、小噪比、信號模式較少情況下的信號識別和信噪分離。
參考資料
  • 1.    [美] 伊恩·古德費洛 [加] 約書亞·本吉奧 [加] 亞倫·庫維爾 .深度學習:人民郵電出版社,2017:180
  • 2.    王忠勇, 陳恩慶, 葛強,等. 誤差反向傳播算法與信噪分離[J]. 河南科學, 2002, 20(1):7-10.
  • 3.    劉曙光, 鄭崇勳, 劉明遠. 前饋神經網絡中的反向傳播算法及其改進:進展與展望[J]. 計算機科學, 1996, 23(1):76-79.