動機
反向傳播算法被設計為減少公共子表達式的數量而不考慮存儲的開銷。反向傳播避免了重複子表達式的指數爆炸。然而,其他算法可能通過對計算圖進行簡化來避免更多的子表達式,或者也可能通過重新計算而不是存儲這些子表達式來節省記憶體。
算法簡介
BP算法(即誤差反向傳播算法)適合於多層神經元網路的一種學習算法,它建立在梯度下降法的基礎上。BP網路的輸入輸出關係實質上是一種映射關係:一個 輸入m輸出的BP神經網路所完成的功能是從 維歐氏空間向m維歐氏空間中一有限域的連續映射,這一映射具有高度非線性。它的信息處理能力來源於簡單非線性函式的多次複合,因此具有很強的函式復現能力。這是BP算法得以套用的基礎。
反向傳播算法主要由兩個環節(激勵傳播、權重更新)反覆循環
疊代,直到網路的對輸入的回響達到預定的目標範圍為止。
BP算法的學習過程由正向傳播過程和反向傳播過程組成。在正向傳播過程中,輸入信息通過輸入層經隱含層,逐層處理並傳向輸出層。如果在輸出層得不到期望的輸出值,則取輸出與期望的誤差的平方和作為目標函式,轉入反向傳播,逐層求出目標函式對各神經元權值的偏導數,構成目標函式對權值向量的梯量,作為修改權值的依據,網路的學習在權值修改過程中完成。誤差達到所期望值時,網路學習結束。
激勵傳播
(前向傳播階段)將訓練輸入送入網路以獲得激勵回響;
(反向傳播階段)將激勵回響同訓練輸入對應的目標輸出求差,從而獲得隱層和
輸出層的回響誤差。
權重更新
對於每個突觸上的權重,按照以下步驟進行更新:
將輸入激勵和回響誤差相乘,從而獲得權重的梯度;
將這個梯度乘上一個比例並取反後加到權重上。
這個比例將會影響到訓練過程的速度和效果,因此稱為“訓練因子”。梯度的方向指明了誤差擴大的方向,因此在更新權重的時候需要對其取反,從而減小權重引起的誤差。
產生和發展
感知器
1958年,心理學家Rosenblatt提出了最早的前饋層次網路摸型,並稱為
感知器(Perceptroa)。在這種模型中.輸入圖形
,通過各輔入結點分配給下一層的各結點,這下一層就是斬謂中間層,中間層可以是一層也可以是多層,最後通過輸出層結點得到輸出圖形
。在這類前饋網路巾沒有反饋連線,沒有層內連線,也沒有隔層的前饋連線,每一結點只能前饋連到其下一層的所有結點。然而,對於含有隱蔽層的多層感知器當時沒有可行的訓練辦法,所以初期研究的感知器為一層感知器。1969年,Minskey和Papert對Rosenblatt提出的簡單感知器盛行了詳細的分析。他們引用的一個典型側子是所謂
XOR(exclusive—or)問題Minskey和Papert指出沒有隱層的簡單感知器在許多像XOR問題的情形下顯得無能為力,並證明了簡單感知器只能解決線性分類問題和一階謂訶同題。對於非線性分類問題和高階謂詞問題,必須引用隱單元層。隱單元可以在某一權值下對輸入模式進行再編碼,使得在新編碼中模式的相似性能支持任何需要的輸入輸出映射,而不再像簡單感知器那樣使映射難以實現。
BP算法
隱層的引入使網路具有很大的潛力。但正像Minskey和Papert當時所指出的.雖然對所有那些能用簡單(無隱層)網結解決的問題有非常簡單的學習規則,即簡單感知器的收斂程式(主要歸功於Widrow和HMf於1960年提出的
Delta規剛),
但當時並沒有找到同樣有技的含隱層的同培的學習規則。對此問題的研究有三個基本的結果。一種是使用簡單無監督學習規則的競爭學習方法.但它缺乏外部信息.難以確定適台映射的隱層結構。第二條途徑是假設一十內部(隱層)的表示方法,這在一些先約條件下是台理的。另一種方法是利用統計手段設計一個學習過程使之能有技地實現適當的內部表示法,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-1個隱單元能夠準確記憶k個實驗值樣本。採用階躍激發函式時.k+1個隧機給定的實數值樣本能夠被k+1個隱單元的阿絡記憶的機率為零。聯想記憶在Signaoid激發函式的同絡中結果也是如此。
容錯性
BP網路除具有較強的對信息分散式記憶特點外,還具有一定的容錯性和抗干擾性.孫德保、高超對三層BP同絡的容錯性和抗干擾性進行了研究,得出了三層BP網路的容錯能力取決於輸入層到隱含層的連線權值矩陣與隱含層到轄出層連線權值矩陣的乘積的結果。
BP網路可以較好地實現寬頻帶、小噪比、信號模式較少情況下的信號識別和信噪分離。