• 沒有找到結果。

倒傳遞類神經網路 (Back Propagation Network,BPN) 分為三層結構之神經 網路 [29] [30] [31],分別為輸入層 (Input Layer)、隱藏層 (Hidden Layer)、輸出層 (Output Layer),其中輸入層用以表現輸入變數 X,內部單元數 i 依問題型式而定,

隱藏層 net 用以表現輸入處理單元間之交互影響,其單元數目需以試驗方式來決 定最佳數目,輸出層 Y 用以表現輸出變數,其單元數目亦依問題的型式而定。倒 傳遞網路屬於多層前向網路架構 (multi- layer feed-forward network),其基本原理採 用最陡坡降法 (gradient steepest descent method) 作為訓練網路的方法,方法是將誤 差函數最小化,採用非線性的轉換函數以處理輸入輸出間之非線性映射關係。

倒傳遞類神經網路屬於監督式學習網路,其學習過程是藉由訊息正向傳播 (forward-pass) 與誤差修正負向傳播 (backward-pass) 兩階段所組成。前者在運作時 其權重是固定的,而後者運作時其權重先是不變,待其取到誤差參數值 d 後,再 配合所選取的學習法則以調整權重。正向傳播過程中輸入訊息後從輸入層經由隱 藏層權重運算,透過轉換函數處理後,傳向輸出層運算輸出,每一層神經元的狀 態僅影響下一層神經元的狀態。若於輸出層無法得到期望的推論值,則轉入誤差 修正負向傳播,將推論值和目標值間的誤差,沿原來的連接通路返回,並利用最 陡坡降法以修正各層神經元的權重值與閥值,期能使誤差函數值達到容忍誤差範 圍而停止。

2.2.1 演算法過程

倒傳遞的學習演算法,可分為正向傳播與誤差修正負向傳播兩過程分別說明,

以圖2.12倒傳遞演算法之正向傳播與負向傳播圖為例,說明倒傳遞演算法如何應 用一個訓練範例的一輸入向量 Xi 與一目標輸出向量 To,修正網路權重 Wijh,進 而達到學習的目的。以下說明其數學公式推倒過程:

Na tio

nal

University of Kaohsiung

圖 2.12: 倒傳遞類神經網路

• 正向傳播過程:在本過程中,首先計算由輸入層 Xi 至隱藏層處理單元 j 的 淨輸入值,如式 (2.19)。

nethij =∑

i

WijhXi− θhj (2.19)

其中 Wijh 為輸入層與隱藏層間的連接加權值,而 θjh 為隱藏層處理單元 j 的 閥值。隱藏層處理單元 j 之集成函數 nethij 經由作用函數以輸出至下一層處 理單元 k,其作用後輸出值命其為 Ykhj,如式 (2.20)。

Ykhj = f (nethj) = f (

i

WijhXi− θhj) (2.20)

式 (2.19) 與式 (2.20) 之運算表示輸入值經由權重值與閥值運算,其運算值進 入處理單元後再經轉換函數轉換得一輸出值,此值在輸出後則成為下一層之 輸入值,而網路到目前為止完成一基本的演算。此演算可套用到每一處理單 元跟處理單元之間,當輸入值在處理單元間如此反覆的運算及轉換後,將在

Na 論輸出值與目標輸出值之差距,所以一般以能量函數 E(energy function) 表 示其學習的品質,能量函數通常亦稱誤差函數,其數學式表示如式 (2.22) 式子。由以上式 (2.20)(2.21)(2.22) 三式的結合,可得 (2.23)。

E = 1

Na

Na tio

nal

University of Kaohsiung

• 各隱藏層間的連接權值修正量 (1 < n < N):

∆Wijn = ηδjnnetni−1 (2.32) δjn= f(netnj)∑

k(Wjkn+1− δkn+1) (2.33)

∆θjn=−ηδjn (2.34)

• 輸入層和第一隱藏層間的權重值修正量,與式 (2.31) 類似,僅需將 N 用 1 取代,且將 netNi −1用 Xi 取代之:

∆Wij1 = ηδj1Xi (2.35) θj1 = f(net1j)(Tj1− Yjo) (2.36)

2.2.2 轉換函數

轉換函數係將集成函數產生的輸出值轉換成隱藏層或輸出層處理單元的輸入,

常用的轉換函數包括硬限函數、線性函數及非線性函數等,硬限函數主要為階梯 函數類型,線性函數則包含門限線性函數及無門限線性函數等,而非線性函數 則有雙彎曲函數 (Sigmoid Function) 與雙曲線正切函數 (Hyperbolictangent Function) 等。應用轉換函數之目的在於避免函數微分後,產生奇異點 (singular point),而使 得微分函數無意義,使用轉換函數可將輸入值及輸出值保持在一定的範圍內,避 免權重的發散。

倒 傳 遞 網 路 的 轉 換 函 數 以 非 線 性 函 數 為 主,一 般 常 用 S 型 函 數 (sgmoid function) 如式 (2.37),主要原因在於非線性函數能提供較佳的對應關係,其中又以 雙彎曲函數之應用最為廣泛,其函數輸出值介於 0 到 1 之間,如圖2.13所示。若 問題之決策為間斷整數值,則須建立一套與類神經網路輸出結果 [0,1] 之間數量的 對照表,作為輸出實際決策變數值轉換之依據。

f (x) = 1

(1 + e−x) (2.37)

Na tio

nal

University of Kaohsiung

(a) 雙彎曲函數 (b) 雙曲線正曲函數

圖 2.13: S 型轉換函數

2.2.3 網路建構流程

在倒傳遞演算法中,其演算過程包含訓練過程及回想過程,如圖2.14所示。

將流程分述如下:

• 訓練過程:

Step-1: 設定網路參數,包含隱藏層數目、各層單元數目、學習速率及最小容 忍誤差。

Step-2: 以亂數產生初始權重值及閥值。

Step-3: 計算隱藏層與輸出層之輸出(此為訊息正向傳播階段)。 Step-4: 計算誤差值。

Step-5: 計算權重值修正量(誤差負向傳播階段)。 Step-6: 調整各層權重值及閥值。

Step-7: 跳回步驟 3,重複計算誤差至最小容忍誤差範圍內,或達到預設訓練 次數時,網路即停止計算。

Na tio

nal

University of Kaohsiung

• 回想過程:

Step-1: 設定網路參數,並讀入收斂後之權重值及各處理單元閥值。

Step-2: 輸入驗證範例的輸入值。

Step-3: 計算網路輸出的推論值。

圖 2.14: 倒傳遞網路建構流程

Na tio

nal

University of Kaohsiung

相關文件