第三章 研究方法
3.3 倒傳遞網路
倒傳遞網路是目前類神經網路學習模式中最具代表性,應用實務 最普遍的模式,也是本論文中將要採用的網路類型。在前面提到,在 訓練過程中,網路遵循所謂的學習規則來修改權重值與偏權值。所以,
學習規則也可說是一種訓練演算法。
在 1958 年 Rosenblatt 提出的感知機學習規則和 Widrow 和 Hoff 的最小均方誤差演算法(Least Mean Square algorithm, LMS )都是設計 用來訓練單層的類似感知機的網路。這些單層網路路的缺點是只能解 線性可分的分類問題。Rosenblatt 和 Widrow 均意識到這些限制並且 都提出了克服此類問題的方法:多層網路。但他們未將這類演算法推 廣到用來訓練功能更強的網路。直到 1986 年,倒傳遞演算法(Back Propagation algorithm, BP)被提出,才使得多層感知機的網路架構得以 實現。
簡單來說,倒傳遞網路就是用倒傳遞演算法訓練多層感知機的神 經網路。若以學習規則來分的話,倒傳遞網路是屬於監督式學習網 路。
3.3.1 倒傳遞網路架構
多層網路擴展了單層感知機網路,功能更加強大。單層網路只能 區分線性可分的樣本,但多層網路能用於任意的分類問題。此外,多 層網路可用作通用型的函數近似器。研究表示,一個兩層網路只要在 其隱藏層中有足夠的神經元,且隱藏層神經元的轉移函數是 S 型類型 的,便可以近似任何實際的函數。
多層前饋網路也是最常見到採用倒傳遞演算法的網路架構,如圖 3-8。以下將簡要列出各層的功能:
輸入層─從外面接受訊號並將此訊號傳入類神經網路中,以方便進行
23
訊號處理。
隱藏層─接受輸入層的訊號,對訊號進行處理,然而整個訊號處理過 程對網路使用者來說是看不見的。
輸出層─接受網路處理後的訊號,並將結果傳送到外面。
而多層前饋網路的內定性能函數是均方誤差(Mean Squared Error,MSE),就是在網路輸出和目標輸出之間平方誤差的平均。
3.3.2 倒傳遞演算法
倒傳遞演算法,它可用來訓練多層網路。根據 LMS 學習法則,
倒傳遞演算法也是最陡坡降演算法(Steepest Descent)的近似,其中性 能指標是均方誤差。LMS 演算法和倒傳遞演算法的區別在於它們對 導數的計算方式上。對單層的線性網路,誤差是網路權重值的顯現性 函數,其相對於權重值的導數較為容易求得。在具有非線性轉移函數 的多層網路中,網路權重值和誤差的關係更為複雜。為了計算導數,
需要使用微積分的鏈鎖法則。
而倒傳遞演算法的訓練過程,一般包含了三個階段。第一階段稱 之為資料向前匯入(data feedforward)前向運算主要是利用連結各層之 權重值來計算每個神經元的輸出值及誤差函數。輸出層中第 i 個節點 的計算輸出 yi定義如下:
(3-31) 其中 Wij為隱藏層及輸出層節點之間的連接權值;Vij為輸入層及
隱藏層節點之間的連接權值;θwi與
θ
vj為轉換函數 g 之門檻值;Xk為 輸入層第 k 個節點的輸入值。而 Ni、Nh及 N0則分別為輸入層、隱藏 層及輸出層的節點數目。而 g 為轉換函數,轉換函數之採用可取線性 或非線性。第二階段為反向運算稱之為誤差向後推導(error back-propagation)。
在訓練的過程中,以一系統誤差函數來監測網路的學習表現。而此函 數通常定義如下:
(3-32)
其中 P 為學習的案例數。 ; , 為 輸出節點 i 之期望值,而
(3-33) 訓練的最後階段為權值的修正。標準倒傳遞演算法係基於最陡梯 度法並使用固定的搜尋步幅(step length)或學習速率(learning ratio)來 訓練網路。其權值的修正如下:
(3-34)
(3-35) 其中
η 為學習率,一般介於 0~1 之間。上標(k)表示疊代第 k 次,
亦即網路經過 k 次的學習。
25
3.3.3 倒傳遞演算法種類
倒傳遞的一個主要問題是它需要較長的訓練時間。使用基本倒傳 遞演算法求解實際問題是不可行的,因為它需要用幾周的時間來訓練 網路,甚至要用大型電腦。由於倒傳遞演算法首先得以流行,已經有 了許多研究加速演算法收斂的工作。目前已有多種高效率的演算法,
其中使用標準的數值最佳化技巧有共軛梯度法、擬牛頓法、
Levenberg-Marquardt,而共軛梯度法又可再分 Fletcher-Reeves 更新法、
Polak-Ribiere 更新法、Power-Beale Restarts 更新法、比例共軛梯度演 算法。擬牛頓法包含 BFGS 演算法、One Step Secant 演算法。
Levenberg-Marquardt 則就是 Levenberg-Marquardt 演算法。
要知道哪一種訓練演算法求解問題最快是困難的,這個任務受到 許多因素的影響,這當中包括了問題的複雜度、訓練用數據點的多寡、
網路中權重值和偏權值的數量、誤差目標值的大小和此網路是要應用 於圖樣辨識或是要用於函數被逼近。
一般而言,在函數逼近問題上,針對包含幾百個權重值的網路,
Levenberg-Marquardt 演算法將有最快的收斂。如果要求很準確的訓練,
這個優勢特別值得注意。在許多案例中,此演算法比起任何其它演算 法要能夠獲得較低的均方誤差。然而,隨著網路中權重值的增加,
Levenberg-Marquardt 演算法的優勢就降低了。因此,在本篇論文中,
我們決定採用比例共軛梯度演算法,因為此訓練演算法在不同類型問 題上似乎都執行的很好,尤其是具有大量權重值的網路,而且在函數 逼近問題上幾乎和 Levenberg-Marquardt 演算法一樣快,對於大型網 路則更快。