• 沒有找到結果。

第三章 研究方法

3.2 類神經網路

3.2.1 倒傳遞類神經網路

類神經網路是由許多個人工神經元與其連結所組成,且可組成各種網路模式

(Network Model),其中以倒傳遞類神經網路(Back-propagation Neural Network, BPNN)使用最為普遍,其基本原理是利用最陡梯度下降法(the Gradient Steepest Descent Method)之概念,將誤差函數予以最小化,屬於監督式(Supervised)學習 網路(陳莉等,2002),因此若將此模式視為輸入與輸出間之映射關係,則倒傳遞 類神經網路是一種輸入輸出的映射過程(Mapping),其適合用於分析連續性輸出 值及聚類、判釋等診斷與預測上。

倒傳遞類神經網路之基本架構主要有三,為輸入層、隱藏層與輸出層,其中輸 入層與輸出層包含處理單元個數,即為輸入變數與輸出變數之個數;隱藏層亦包含 處理單元個數,即節點數,如圖3-2所示,其說明如下(葉怡成,2004):

1. 輸入層:用以表現網路之輸入變數,其處理單元個數,即輸入變數,是依問 題而定,以能夠完全表現各問題分類中之特性為目的,使用線性轉 換函數。

2. 隱藏層:用以表現輸入變數間的交互作用,而隱藏層之層數與節點數並無系 統化方式可決定,其可超過1層,亦可無,但通常需以經驗法或試誤 法來決定其最適數目。一般層數為1~2層時有最好之收斂效果,而 少於1層或多於2層時誤差會逐漸升高,這說明無隱藏層不能建構問 題輸出入間之非線性關係,會造成較大誤差;而1~2層足以反應問 題之輸入變數間之交互作用,過多反而使網路複雜化,減慢收斂速 度,故依據經驗,數據較少、雜訊較多與非線性程度低之問題,可

使用1層,反之則可使用2層,但對大多數實際之應用問題,使用1層 已足夠。然而隱藏層之節點數越多,收斂越慢,但可達到更小誤差,

尤其是訓練範例之誤差,若超過一定數目後,再增加則對降低測試 範例之誤差沒有助益,反而有害,這說明節點數太少,無法建構問 題輸出入間之非線性關係,會有較大之誤差;反之數目越多,則網 路之連結加權值與閥值越多,其可塑性高,可建立充分反應輸入變 數間知交互作用,所以使訓練範例有較小之誤差,但亦可能發生過 度學習(Overlearning)現象,即網路對訓練範例之誤差越小,而對 測試範例之誤差卻越來越大之現象。因此隱藏層之節點數以取適當 數目為宜,一般選取原則如下(葉怡成,2004):

a. 建議簡單問題為「(輸入層處理單元數+輸出層處理單元數)/

2」,即平均法;一般問題為「(輸入層處理單元數+輸出層處 理單元數)」,即總和法;困難問題為「(輸入層處理單元數 +輸出層處理單元數)* 2」,即加倍法。

b. 問題雜訊高,隱藏層節點數宜少。

c. 問題複雜性高,即為非線性、交互作用程度高,隱藏層節點數 宜多。

d. 測試範例誤差遠高於訓練範例誤差時,則發生過度學習,隱藏 層節點數宜減少,反之,可增加。

3. 輸出層:用以輸出訊號給外在環境,其處理單元數目依問題而定,使用非線 性轉換函數。

Input Layer Hidden Layer Output Layer

Node

Node

Node

Node

Node

Node

X W Y

. W

. .

. . .

. . .

W E

圖3-2 倒傳遞類神經網路之架構圖(X, Y,輸入出;W,權重;E,誤差)

倒傳遞類神經網路的學習過程,是由正向與反向傳播所組成。在正向傳播過程 中,輸入訊號由輸入層,經隱藏層單元逐層處理,並傳向輸出層,每一層神經元的 狀態只影響下一個神經元的狀態。如果在輸出層處理單元所計算輸出值不能得到期 望的數值,則進行反向傳遞步驟,將誤差訊號沿原來的連接通路,返向透過修改各 層神經元的權值,使得整體系統誤差最小,其演算步驟首先,應用訓練範例的輸入 處理單元的輸入值{ X },計算隱藏層隱藏處理單元的輸出值{ H }如式3-5所示(葉 怡成,2004):

( ) = ( )

k k ik i k

H = f

net

f

W X θ ...(3-5)

其中 Hk 為隱藏層第 k 個隱藏單元的輸出值;f 為轉換函數,一般常使用

e x

1 f(x) 1

= + 之雙彎曲函數(Sigmoid Function),如圖 3-3 所示;Wik為第i 個輸入 單元與第k 個隱藏單元間的連結強度;Xi為第i 個輸入單元的輸入值;θk為第k 個 隱藏單元的閥值。

0.5 1.0

0 ∞

圖3-3 倒傳遞類神經網路之轉換函數

同理,應用隱藏層隱藏處理單元的輸出值{ H },計算輸出層處理單元的推論 輸出值{ Y }如式3-6所示:

( ) = ( )

j j ij i j

Y = f

net

f

W X θ ...(3-6)

其中Yj為輸出層第 j 個輸出單元的推論輸出值;f為轉換函數一般常使用

e x

1 f(x) 1

= + 之雙彎曲函數(Sigmoid Function),如圖3-3所示;Wkj為第k個隱藏單 元與第j個輸出單元間的連結強度;θj為第j個輸出單元的閥值。

經網路推得之「推估輸出值」與訓練範例原有的「目標輸出值」相較可得網路 誤差。網路即利用此誤差作為修正連結中的加權值的依據,以從訓練範例中,學習 隱涵的分類知識。因為監督式學習旨在降低網路輸出單元目標輸出值與推論輸出值 之差距,所以一般以下列誤差函數表示學習的品質,如式3-7所示(葉怡成,2004):

(1 / 2) ( j j) 2

E =

TY ...(3-7)

其中Tj為訓練範例之輸出層第j個輸出單元的目標輸出值;Yj為訓練範例之輸出 層第j個輸出單元的推論輸出值。

若未達到設定之誤差量則網路加權值需要修正,其修正方程式如式3-8所示;

* ( )

ij ij

W

η

E W

Δ = − ∂ ∂ ...(3-8)

其中Δ

W

ij

為神經元i與神經元j間的連結加權值修正量;η為學習速率(Learning

Rate),其通常太大或太小對網路之收斂性質均不利,這可說明較大之學習速率有 較大之網路加權值,可較快逼近誤差函數最小值,但過大則導致網路加權值修正過 量,而發生誤差震盪現象,因此學習速率之大小對學習有莫大影響。通常在學習過 程中,學習速率可先採較大之初始值,再於網路之訓練過程中逐漸縮小之方式設 定,以兼顧收斂速度與避免震盪現象。依據經驗,「函數型」問題採初始值為5.0,

折減係數為0.95,下限值為0.1;「分類型」問題採初始值為1.0,折減係數為0.95,

下限值為0.1,大多都可得到良好之收斂性。

另外為避免網路收斂時產生震盪情形,可增加慣性因子(Momentum)的設計,

如式3-9所示(葉怡成,2004):

* ( )

ij ij ij

W

α

W

η

E W

Δ = Δ + ∂ ∂ ...(3-9)

其中α 為慣性因子,其通常太大或太小對網路之收斂性質亦均不利,一般在學 習過程中,慣性因子可先採較大之初始值,再於網路之訓練過程中逐漸縮小之方式 設定。依據經驗採初始值為0.5,折減係數為0.95,下限值為0.1,大多都可得到良 好之收斂性。

倒傳遞類神經網路經訓練與測試後,最後網路之輸入值與輸出值之關係可由式 3-10 表示之。

1 1

*

n m

O k Hk ik i

k i

Output f

θ

W f

θ

W X

= =

⎛ ⎛ ⎛ ⎞⎞⎞

= ⎜⎜⎝ +

⎜⎝ ⎜⎝ +

⎟⎠⎟⎠⎟⎟⎠ ...(3-10)

其中Output為模式之輸出值;f為轉換函數;θO為輸出層之閥值;n為隱藏層之 處理單元數;Wk為第k個隱藏層單元與輸出層單元間之連結權重;θHk為隱藏層第k 個處理單元之閥值;m為輸入層單元數;Wik為第i個輸入層單元與第k個隱藏層單元 間之連結加權重;

X

i為輸入層第i個處理單元之輸入值。如假設一倒傳遞類神經網路 之架構為1層輸入層,處理單元數為3個;1層隱藏層,處理單元數為2個;1層輸出 層,處理單元數為1個,如圖3-4所示,則其輸出值之組合方程式如式3-13所示:

)) (

exp(

1 ) 1 , ( 1 2

θ

− +

= +

= f H H W H W H

Y ...(3-11)

其中

)) (

exp(

1 ) 1 , , (

4 3 34 2 24 1 14 3

2 1

1= = + − + + −θ

X W X W X X W

X X f

H ...(3-12)

)) (

exp(

1 ) 1 , , (

5 3 35 2 25 1 15 3

2 1

2= = + − + + −θ

X W X W X X W

X X f

H ...(3-13)

因此模型中包括有W14, W24, W34, W15, W25, W35, W46與W56等8個連結加權重,

有θ4, θ5與θ6等3個閥值,共有11個參數。

圖3-4 倒傳遞類神經網路之模型圖