神經網路有幾種 不同學習規則 : 例如聯想式學習、競爭式學習; 性能學習...

30
• 神神神神神神神神神神神神神 : 神神神神神神神 神神神神神神 、; • 神神神神神神神 : 神神神神神神神神神神神神神神 • 神神神神神神神神神 : (1) 神神神神神神 , 神神神神神神神神神神神神神 ( 神神神神神神神神神神神神神神 ) (2) 神神神神神神神神神神神神神 ( 神神神神神神 神神神 ) • 神神神神神神神神神神神神神神神神神神神神 : Suppose a function F(x)=F(x 1 ,x 2 ,…,x n ) of n variables. T hen the expansion of Taylor Series at point x* is as fo llows. F(x)=F(x*)+ | x=x* (x 1 -x 1 *)+ | x=x* (x 2 -x 2 *) +…+ | x=x* (x n -x n *)+ | x=x* (x 1 - x 1 *) 2 + | x=x* (x 1 -x 1 *)(x 2 -x 2 *) +… Matrix form: F(x)=F(x*+∆x)=F(x*)+∇F(x) T | x=x* (x-x*)+ (x-x*) T 2 F(x)| x=x* (x-x*)+… 2 1 1 ) ( x x F 2 ) ( x x F n x x F ) ( 2 1 2 ) ( x x F 2 1 2 ) ( 2 1 x x x F 2 1 2 1

Upload: chessa

Post on 04-Jan-2016

89 views

Category:

Documents


0 download

DESCRIPTION

神經網路有幾種 不同學習規則 : 例如聯想式學習、競爭式學習; 性能學習 之目的 : 調整網路參數以最佳化網路性能 最佳化過程 分兩步驟 : (1) 定義性能指標 , 找到衡量網路性能的定量標準 ( 性能指標在網路性能良好時很小 ) ; (2) 搜索減少性能指標的參數空間 ( 即調整加權值、偏權值 ) 以多變數泰勒級數展開式的近似作為性能指標 : - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 神經網路有幾種不同學習規則 : 例如聯想式學習、競爭式學習;• 性能學習之目的 : 調整網路參數以最佳化網路性能• 最佳化過程分兩步驟 : (1) 定義性能指標 , 找到衡量網路性能的

定量標準 ( 性能指標在網路性能良好時很小 ); (2) 搜索減少性能指標的參數空間 ( 即調整加權值、偏權值 )

• 以多變數泰勒級數展開式的近似作為性能指標 :

Suppose a function F(x)=F(x1,x2,…,xn) of n variables. Then the expansion of Taylor Series at point x* is as follows.

F(x)=F(x*)+ |x=x* (x1-x1*)+ |x=x* (x2-x2*)

+…+ |x=x* (xn-xn*)+ |x=x* (x1-x1*)2

+ |x=x* (x1-x1*)(x2-x2*) +…

Matrix form: F(x)=F(x*+∆x)=F(x*)+∇F(x)T |x=x*(x-x*)+

(x-x*)T ∇2F(x)|x=x* (x-x*)+…

2

1

1

)(

x

xF

2

)(

x

xF

nx

xF

)(

21

2 )(

x

xF

21

2 )(

2

1

xx

xF

2

1

2

1

Page 2: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

=F(x*)+∇F(x)T|x=x* ∆x+ ∆xT∇2F(x)|x=x* ∆x+ … (1)

• Hessian:

nx

xF

x

xF

x

xFxF

)(...)()(

)(21

2

2

2

2

1

2

2

2

22

2

12

2

1

2

21

2

21

2

2

)(....)()(

:

)(....)()(

)(....)()(

)(

nnn

n

n

x

xF

xx

xF

xx

xF

xx

xF

x

xF

xx

xF

xx

xF

xx

xF

x

xF

xF

2

1

Page 3: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• ∇F(x) 的第 i 個元素 是 F(x) 在 xi 軸上的 first-order derivati

ve

• ∇2F(x) 的第 i 個對角元素 是性能指標 F 沿 xi 軸的 second-order derivative

․Directional derivative: ( 設 P 為沿所求導數方向上的向量 )

沿 P 方向的二階導數 : …… (2)

Note1: 一階導數為斜率函數 , 且 pT∇F(x) 為內積 , 故與梯度正交的

方向之斜率為 0 ( 即 , 與輪廓線 / 等高線 / 等位線 (contour) 相切的

方向之斜率為 0 ); 最大斜率出現在同方向上

Note2: F(x1,x2,…,xn) = ci (constant) 的一系列曲線圖稱輪廓線 (i=1,2,…)

ix

xF

)(

2

2 )(

ix

xF

p

pxFpT )(

2

2 )(

p

pxFpT

Page 4: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 最佳化的必要條件 : 當∆ x→0, 則高階導數項可略 (1) ⇒ F(x*+∆x) ≃ F(x*) + ∇F(x)T|x=x* ∆x ……..(3) Suppose x* is the point of local min, and ∆x ≠0 Let F(x*) ≤ F(x*+x) be true, then ∇F(x)T|x=x* ∆x ≥ 0 But if ∇F(x)T|x=x* ∆x > 0 then F(x*+(-∆x)) ≃ F(x*) − ∇F(x)T|x=x* ∆x < F(x*) (inconsistent with x* being the point of local min) so, ∇F(x)T|x=x* ∆x = 0 , i.e. ∇F(x)T|x=x* = 0 x* is called a stationery pt ( 不是充分條件 , ∵ maybe a saddle pt)

‧ 二階條件 : ∵ ∇F(x)T|x=x* = 0 ∴ (1) ⇒ F(x*+∆x) = F(x*) + ∆xT∇2F(x)|x=x* ∆x + … if ∆xT∇2F(x)|x=x* ∆x > 0 , then F(x*) < F(x*+ ∆x) i.e. Hessian matrix is positive definite Remark: if zTAz > 0 , then A is positive definite (for any vector z)

2

1

Page 5: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

∵Ax=λx ∴λi > 0 ⇒ Matrix A: positive definite for all i=1,2, … i.e. we can employ eigenvalueλi to verify whether a matrix is

positive definite.

Note: 二階導數為 0, 三階導數為正時 , 仍可能存在 local min

∴ 正定的 Hessian 為充分條件

*另一性能指標 : 二次函數 F(x) = xTAx+BTx+f = ax2+bxy+cy2+dx+ey+f …..(A)

= [x y] [x y]T+[d e]T[x y]+f

▽F(x)=Ax+B, ▽2F(x) =A= (Hessian) …..(B)

Note: 三階以上導數為 0

以 A 的 eigenvalue/eigenvector(z1,z2, …) 作為新基底向量 , 因 A為 symmetric matrix, 其 eigenvector 兩兩正交 , let: C=[z1,z2, …, zn] ; suppose zk normalized ⇒ C-1 = CT

2

1

2

1

cb

ba

2

2

cb

ba

2

2

Page 6: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 基底變換 :Λ= [CTAC] = or A=CΛCT

Let p=Ch ; h corresponds to p which are vectors along the

eigenvectors of A ; furthermore pT=(Ch)T=hTCT

If p=zmax then h=CTp=CTzmax =[0 …0 1 0 …0]T which means h only exists at the corresponding λmax since eige

nvectors are orthogonal.

then (2) ⇒ pTAp/|p|2= = = =λmax

i.e. 在最大特徵值的特徵向量方向上 , 存在最大的二階導數 ( 事實上 , 在每個特徵向量方向的二階導數 , 都等於相對應的特徵值 ; 在其他方向上的二階導數 , 等於特徵值的加權平均值 )

n

...000

:

0

0...00

0...00

2

1

ChCh

ChCCChTT

TTT )( hh

hhT

T

2

2

i

ii

c

c

Page 7: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

Note1: 特徵向量被稱為函數輪廓線的主軸 ( 即定義了二次交叉項 (xy) 為 0 的座標系統 ); 特徵值絕對值愈大 , 曲率半徑 ( 二階導數 )愈大 , 輪廓線愈密 ( 輪廓線之間的距離愈小 )

Note2: 上述只在所有特徵值同號 , 才有效 ! Specifically 所有特徵值為正 , 則有極小值 ; 所有特徵值為負 , 則有極大值 . 特徵值有正有負 , 為 saddle pt ; eigenvalue(H) 0, ≧ 可能無極小值 . eigenvalue(H) 0,≦ 可能無極大值

Page 8: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 最陡坡降法 : 利用一階泰勒展開 pk 為搜索方向 , 先給定一初始猜測值 x0 , 依照等式 xk+1=xk+αkpk

⇒ Δxk = xk+1 –xk = αkpk

(3) ⇒ F(xk+1 )=F(xk+Δxk) ≃ F(xk) +gkTΔxk

where gk=∇F(x)|x=xk

∵ F(xk+1 ) < F(xk) ∴ gk

TΔxk=αkgkTpk< 0 ⇒ gk

Tpk < 0

滿足 gkTpk < 0 的 pk 稱坡降方向

gkTpk 為最大負數時 , 即為最陡坡降方向 ( 在 pk 方向上函數遞減速度最快 ); 又由於 gk

Tpk 為內積 , 故當 gk 與 pk反向時 , 絕對值最大 ⇒ pk = -gk ; xk+1 = xk – αkgk ……(4)

• 學習率快 , 可快速收斂 . 但學習率太大 , 演算法會不穩定 (振盪 , 甚至可能跳過極小點 ); 較小的學習率 , 最速下降的軌跡 , 總是與輪廓線正交 ; 此乃因梯度與輪廓線正交 .

Page 9: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 如何確定最大可行的學習率 ? 對於任何函數 , no way! 但對於二次函數 , 卻有上限 . F(x)= xTAx+BTx+f (suppose α: const) ▽F(x)=Ax+B 代入 (4) ⇒ xk+1 = xk – α(Axk+B) 或 xk+1 = [I – αA] xk-αB (此為線性動態系統 ) …. (5) Substituting with eigenvalue(λi) and eigenvector(zi) of Hessian A,

we get [I – αA] zi = zi-αA zi = zi-αλi zi=(1-αλi) zi

• [I – αA] 與 A 的 eigenvector 相同 , eigenvalue 為 1-αλi

線性動態系統 (5) 的 eigenvalue of [I – αA] < 1 則系統就是穩定的 [1]⇒ |1-αλi| =αλi -1 < 1 (λi > 0 if having mininum)⇒ α< 2/λi ⇒ α< 2/λmax ⇒ 學習率與 Hessian 的特徵值成反比 ;又 , 前述 : 在最大特徵值的

特徵向量方向上演算法收斂最快⇒ 最小特徵值與學習率決定演算法收斂的快慢 ; 特徵值的大小相差愈大 , 最陡坡降法收斂愈慢

[1]Modern Control Theory by W.L. Brogan

2

1

Page 10: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

※另一法 : 沿直線最小化 , 利用αk使每次疊代的性能指標最小化 ; 即每次疊代 , 使 F(xk+1) = F(xk+αkpk) 最小化 對任意函數的這種最小化 , 需作線性搜索 (後述 :修正的牛頓法 ); 對二次函數的這種最小化 , 如下 (3) ⇒ …(6)

令該導數為 0 , 求出 αk= …(7)

Ak: 在 xk 的 Hessian matrix , 即 Ak= (Ak 不是 k 的函數 ) (6) 以連鎖定律驗證正交 ⇒

所以在極小點 , 該導數為 0 , 梯度與前一步搜索方向正交

kxxT

kkkxxT

k

kkk pxFppxFd

pxdFkk

)()(

)( 2

kT

kxxT

k

kkkxx

T

k

k

k

kkk pgpxFd

pxdxF

d

xdF

d

pxdFkkk 111

)(][

)()()( 1

kxxxF )(2

kkTk

kTk

kxxTk

kxxT

pAp

pg

pxFp

pxF

k

k

)(

)(2

Page 11: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

演算法的每次疊代都是正交的 ; 因為沿直線的最小化 , 總會在輪廓線的切線上一點停止 , 又由於梯度正交輪廓線 , 沿梯度相反方向的下一步就與前一步正交

※牛頓法 : 求 F(x) 的二次近似的駐點 比較 (1), (A), (B) ⇒ 求此二次函數對 ∇ xk 的梯度 , 並設它為 0 , 得到

故牛頓法定義為 …… (D) 因為牛頓法總是用二次函數逼近 F(x) , 然後求其駐點 ; 所以 , 原

函數若為二次函數且有極小點 , 它就能一步最小化 . 如果原函數不是二次函數 , 則牛頓法無法一步實現最小化 (雖然疊代是朝全域極小點方向進行 ); 實際上 , 根本無法確定它是否收斂 ( 因為這又取決於具體的函數本身與初始點 )

牛頓法在許多應用中 , 都能快速收斂 ; 此乃因解析函數能被二次函數精確近似

Remark: 何謂解析函數 ?

kkTkk

Tkkkkk xAxxgxFxxFxF 2

1)()()( 1

kkkkkk gAxxAg 10 kkkk gAxx 1

1

Page 12: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 牛頓法無法區別 local min, global min, or saddle pt , 因為它將函數近似為二次函數 ; 而二次函數只有一個極小點 , 故與最陡坡降法一樣也依賴曲面特徵 ( 一階與二階導數 ). 它無法弄清函數的全域特徵

• 牛頓法二次近似的駐點 , 雖然總在相對應的駐點附近 ; 但可能收斂於原函數的鞍點 ( 即使初始點離局部極小點較近 ) ---此點與最陡坡降法不同 . 也可能初始點離局部極小點較遠 ( 相對於距離鞍點 ), 卻收斂於局部極小點 .牛頓法可以產生難以預料的結果 (雖然收斂速度比最陡坡降法更快 )

• 牛頓法還可能振盪與發散 , 故其表現頗複雜 ; 尤其 , 又需對赫森矩陣及其反矩陣的計算與儲存 . 比較 (4), (D) ⇒ 當 , 它們的搜索方向將相同 ! 由此 , 又導出所謂的類牛頓法或單步正割法 (one-step-secant methods) ---該法使用正定矩陣 Hk 代替 Ak ,不需轉置且每次疊代都更新 , 這類演算法能使 Hk 收斂於 A-1[2]

• 另有修正的牛頓法 , 克服原標準演算法的缺點 ( 例如 , 赫森為 0 的奇異性 , 牛頓法不收斂 ); 在自適應演算法中每次輸入 /輸出對 , 都使網路參數被更新

[2] P.E. Gill, W. Murray and M.H. Wright, “Practical Optimization”

IAA kk 1

Page 13: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

※共軛梯度法 : 用於二次函數 , 只需一階導數 , 但具有二次終結性質

--- 在有限的疊代次數內 , 使二次函數極小化 (牛頓法即稱為二次終結法 )

回憶 (A): ; if and only if , k≠j …(E) 稱向量集合 {pk}, 對於正定赫森矩陣 A 互相共軛 驗證 A 的特徵向量是共軛的 , 以 zk 代替 pk , 得 ( 因為對稱矩陣的特徵向量彼此正交 , 所以 ) (k≠j) 回憶 (B): F(x)=Ax+B▽ , ▽2F(x) =A

在 k+1 次疊代時 , 梯度的變化如下 :

and

選擇 使函數 F(x) 在 pk 方向上極小化 ∴(E) ⇒ , k≠jNote: 已不需求赫森矩陣

fxBAxxxF TT 2

1)( 0j

Tk App

0 jTkjj

Tk zzAzz 0j

Tk zz

kkkkkk xABAxBAxggg )()( 11

kkkkk pxxx 1

k0 j

Tkj

Tkj

Tkk pgApxApp

Page 14: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

․ 如果搜索方向 (pj) 與梯度變化方向 ( )垂直 , 則它們共軛 ; 第一次搜索方向 p0 是任意的 , 而 p1 只要與 垂直即可

∴通常由最陡坡降法的方向開始搜索 p0=-g0 且疊代形式可簡化為 [3] …(8)․確定 的方法常用有三種

…(9)☆歸納共軛梯度法 , 如下 : (i) p0=-g0 作為第一次搜索方向 (ii) 作為進一步搜索 , 確定 使函數 F(x) 沿 pk 方向上極小化 ; 對於二次函數 , 可使用 (7) (iii) 根據 (8)確定下一次搜索方向 , 利用 (9)計算 (iv) 若演算法不收斂 , 則回到 (ii)

Note:共軛梯度法會調整下一次搜索方向 ( 以通過極小點 , 尤其對二次函數而言 )[3] C.E. Scales, Intro. To Non-Linear Optimization

Tkg

0g

1 kkkk pgp

k

11

1

k

Tk

kTk

k pg

gg11

k

Tk

kTk

k gg

gg11

1

k

Tk

kTk

k pg

gg

kkkkk pxxx 1 k

k

Page 15: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 多層感知機

• 每一層可有不同數目的神經元 , 轉移函數也可不同 . W1表示第一層加權值矩陣 , b2

s2表示第二層第 S 個神經元的雜訊

….

.

輸入 第一層 第二層 第三層

Σ f1

b11

Σ

b12…

..

Σ

b1s1

w11,1

W1s1, r

p1

p2

p3

pr

n11

f1n1

2

….

.

f1n1

s1

Σ

Σ

….

..

Σ

a11 w2

1,1

a12

…..

a1s1

w2s2, s1

b21

b12

b2s2

f2n2

1

f2n2

2

f2n2

s2

…..

a21

a22

……

.

a2s2

w31,1

w3s3,s2

Page 16: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 簡化成矩陣形式

• 第一層 (隱藏層 ) 的偏權值可用於確定曲線的位置 , 加權值可確定曲線的坡度 ; 第二層 (輸出層 ) 的偏權值會使網路的響應曲線上移或下移 . 研究證實 , 在兩層網路的隱藏層中使用 S-形活化函數 , 在輸出層中使用線性轉移函數 , 就幾乎可以任意精密度近似有興趣的函數 , 只要隱藏層中有足夠的單元可用

--輸入 -- 第一層 -------------------------------- 第二層 ----------------------------

w1pr x 1

s1 x r

b11

s1 x 1

+

r

f1n1

s1 x 1

w2a1

s1 x 1s2 x s1

b21

s2 x 1

+ f2

s1 s2

n2

s2 x 1

A1 = logsig(W1P+B1) A2 = purelin(W2A1+B2)

a2

s2x1

Page 17: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 第一層的神經元從外部接收輸入 : a0 = p (也是方程式 am+1=fm+1(wm+1am+bm+1) 的起點 , m=0,1,2, …, M-1

M 是網路的層數 )• 最後一層神經元的輸出是網路的輸出 : a = aM

• 多層網路的 BP演算法使用的性能指標 : 均方誤差 演算法的輸入是網路正確行為的樣本集合 : {p1, t1}, {p2,

t2}, …, {pQ, tQ} ; 每輸入一個樣本 , 便將網路輸出與目標輸出相比較 , 以調整網路參數使均方誤差最小化 : F(x) = E[e2] = E[(t-a)2] , x 是加權值與偏權值的向量.若網路有多個輸出 , 則為一般形式 , 如下 :

F(x) = E[eTe] = E[(t-a)T(t-a)]

.以第 k 次疊代時的均方誤差 (x) 近似均方誤差 F(x)

( 即代替均方誤差的期望值 E[eTe] )

F

Page 18: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

即 (x)=(t(k)-a(k))T(t(k)-a(k))=eT(k)e(k)

․根據最陡坡降法 : xk+1 = xk – αkgk

近似均方誤差的最陡坡降演算法為 wi,jm(k+1)=wi,j

m(k) -

bim(k+1)=bi

m(k) - ………..(1) 偏導數的計算 ( 應用連鎖法則 ) ….. (2)

⇒ 定義 (F 對 m 層輸入的第 i 個元素的靈敏性 )

(2) ⇒

mib

F

mjiw

F

,

mji

mi

mi

mji w

n

n

F

w

F

,,

mi

mi

mi

mi b

n

n

F

b

F

1

1

1,

ms

j

mi

mj

mji

mi bawn

F

1

,

m

jmji

mi a

w

n1

mi

mi

b

n

mi

mi n

Fs

1

,

m

jmim

ji

asw

F mim

i

sb

F

Page 19: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

現在將 (1)表示成 … . (5)

… . (6)

用矩陣形式表示 sm≡

靈敏性的倒傳遞 (再次使用連鎖法則 , 第 m 層的靈敏性透過第 m+1 層的靈敏性來計算 )

先使用雅可比矩陣 ( 如上 , 右式 )推導出靈敏性的循環關係

其中一個 :

mi

mi

mi

mj

mi

mji

mji

skbkb

askwkw

)()1(

)()1( 1,,

m

s

m

m

m

mn

F

n

F

n

F

n

F

....2

1

m

s

m

sm

m

sm

m

s

m

s

m

m

m

m

m

m

s

m

m

m

m

m

m

m

m

mmm

m

m

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

n

1

2

1

1

1

12

2

12

1

12

11

2

11

1

11

1

111

...

...

...

...

)()( 1

,1

,

1,

1

11,1

mj

mmjim

j

mj

mmji

mj

mjm

jimj

s

l

mi

ml

mji

mj

mi

nfwn

nfw

n

aw

n

baw

n

n

m

mj

mj

mmj

m

n

nfnf

)()(

Page 20: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

雅可比矩陣改寫成

Where

利用矩陣形式的連鎖法則 , 得到靈敏性的倒傳遞 (BP) 關係

…. (4)

• 靈敏性的倒傳遞關係• BP演算法為了計算梯度 , 須先找出靈敏性的倒傳遞關係 ; 優點 : 可有效地實現連鎖法

11

11

1

1

))((

)(

mTmmm

m

Tmmm

m

T

m

m

mm FfF

swnF

nwnF

nn

n

ns

)(11

mm

mm

m

nFwn

n

)(...00

...

0...)(0

0...0)(

)( 2

1

m

s

m

mm

mm

mm

mnf

nf

nf

nF

121 ... ssss MM

Page 21: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

但如何找起始 sM ?

由於

…. (3)

․歸納 BP演算法 , 步驟如下 :

(i) 透過網路將輸入向前傳遞 : a0 = p am+1 = fm+1(wm+1am+bm+1) , m = 0,1,2, …, M-1

a = aM

(ii) 透過網路將靈敏性倒傳遞 : 即執行 (3), (4)(iii) 使用近似的最陡坡降法更新加權值與偏權值 : 即執行 (5), (6)

Mi

iiiM

i

s

jjj

Mi

T

Mi

Mi n

aat

n

at

n

atat

n

Fs

M

)(2

)(1

2

)()(2

)()(2

)()(

atnFs

MM

M

Mi

Mii

Mi

Mi

M

Mi

mi

M

mi

Mi

Mi

i

nfats

nfn

nf

n

a

n

a

Page 22: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

例一 : 一動態系統 y(k+1) = f(y(k)) 要求選擇初始條件 y(0) , 使得在某一終止時刻 k = K, 系統的輸出 y(K) , 將盡可能地接近某一目標輸出 t , 並以最陡坡降法使性能指標 F(y(0)) = (t – y(K))2 最小化 ?

本題展示連鎖法則計算梯度 , 如下 :

梯度為 … (4)

∵ y(K) 不是 y(0) 的顯函數 ∴ 無法直接求得

定義 …… (2)

使用連鎖法則 …… (1)

由已知 y(k+1) = f(y(k)) ⇒

因此 r(k) 的循環方程式為 , k=0,1,2,…,K-1 …… (3)

在 k = 0 的初始值為 (2) 整個計算梯度過程為 r(0) = 1 → (3) → (4)(2)

)0(

)())((2

)0(

))(())0((

)0(

2

y

KyKyt

y

KytyF

y

)0(

)(

y

Ky

)0(

)()(

y

Kykr

)()(

)1(

)0(

)(

)(

)1(

)0(

)1()1( kr

ky

ky

y

ky

ky

ky

y

kykr

))(()(

))((

)(

)1(kyf

ky

kyf

ky

ky

)())(()1()1( krkyfkr

1)0(

)0()0(

y

yr

Page 23: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

例二 : How to get the derivatives of activation functions, logsig and tansig

neanf 1

1)(

nn

nn

ee

eeanf

)(

)1()1

11(

1

1

))(1()()()1)(1(

)1()1)(1()1()(

2

21

aaee

eenDee

eDedn

ed

dn

ndf

nn

nnn

nn

nn

nn

22

2221

21

1

1)(

)(1)()()()(

))()(())(())()(()(

))(()(tan

aee

eeeeeeeeee

nDenDeeeeenDenDeee

eeeeDdn

nsigd

nn

nnnnnnnnnn

nn

nnnnnn

nn

nnn

nnnnn

n

Page 24: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

例三 : 如圖所示的兩層網路 , 初始加權值與偏權值為 w1=1 , b1=1 , w2=-2 , b2=1 ; 輸入與輸

出目標對為 (p=1 , t=1 )

(i) 求均方誤差 , e2

(ii) 求初始值的

(iii) 以倒傳遞法求 並與 (ii) 比較

1

2

w

e

p

輸入 ---- 隱藏層 ----------------------------------輸出層 ---------------------

∑w1 logsign1

b1

∑a1 w2

b2

purelinn2 a2

1

2

w

e

7398.0)1)(7398.0(

7398.0)5232.3)(2()8808.01(8808.0

)2()1())((

5232.3)7616.0(1)1)(2())((2)(

7398.0289.1

12707.05232.3

)1(exp)exp1(

1)2()7616.1(2

7616.1)7616.0(1)(

7616.01)8808.0)(2(

8808.0exp1

1

exp1

1

)(expexp1

122)(

exp1

1

1011

2

2112211

1

22

2

2

)111(2)111(1

2

2

2122

)111()(

1

)(2

)(

211

2

2

2

)(

2222

11

11

11

11

psasw

e

aa

iii

w

e

ate

bawa

a

pwew

ee

w

eii

bwtate

T

bpw

bpw

bpw

bpw

sswnFs

atnFs

1 1

Page 25: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

例四 : 下圖的兩層網路 , w1(0)= -1 , b1(0)=1 , w2(0)= -2 , b2(0)=1 ; ( p= -1 , t=1 ) ; 設 α=1 ,

執行一次倒傳遞疊代 ?

p

輸入 ----- 雙曲正切 -s形隱藏層 -------------------------- 雙曲正切 -s形輸出層 -------------

∑w1

b11

tansign1 ∑a1 w2

b21

tansign2 a2

7715.0)2285.0)(1(1)0()1(

6175.2)6175.1)(1(1)0()1(

7715.0)1)(2285.0)(1()1()()0()1(

4407.0)964.0)(6175.1)(1()2()()0()1(

2285.0

)6175.1)(2(964.01)(1))((

6175.1)7297.1()7297.0(12

)(12))((2

7297.1)7297.0(1

7297.0

928.01)964.0)(2(

964.0

21)1)(1(

111

222

0111

1222

222212211

2

2222

2

2

928.0928.0

928.0928.02

2122

22

221

111

sbb

sbb

asww

asww

wa

ea

aterror

ee

eea

bawn

ee

eea

bpwn

T

T

T

sswnFs

atnFs

Page 26: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 倒傳遞演算法是近似最陡坡降的方法 , 最陡坡降法 (SDBP) 是簡單但速度較慢的最小化方法 ; 共軛梯度法與牛頓法一般有較快的收斂 , 但對實際應用而言 , 仍嫌太慢 .

• 因此有很多提高演算法收斂速度的研究 , 上述後兩者屬標準數值最佳化技術 , 另一類為利用啟發式訊息 , 針對倒傳遞演算法特定性能的研究 , 例如 : 可變學習率 , 動量的引用等

• 倒傳遞演算法利用結果的導數來回溯修正加權值、偏權值

Page 27: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• BP演算法• 輸入向量 X決定 BP 之輸入層處理單元數 , 目標向量 T決定 BP 之輸出層處理單元數• 第 m 層的第 j 個處理單元的輸出值為該處理單元的淨輸入值之非線性轉換

• BP 學習目的 : 降低輸出單元的輸出值與目標值之誤差 ; 一般以能量函數或誤差函數或稱性能函數 E 表示 ( 如下 ), 其值愈小代表誤差小 , 學習品質好 (或學習品質高 )

• BP 一般採用最陡坡降法使誤差函數最小化 : 每輸入一個訓練範例 , 網路即調整其內部權值 ; 調整的幅度與誤差函數對該權值的敏感度成正比 , 也就是與誤差函數對權值的偏微分值的大小成正比 , 如下所示

理單元連接的權值m j輸出與第 層第個處i層的第個處理單元的m代表第w

bawn

ij

i

mj

miij

mj

1

)2......(

,

1,

)1.....()( mj

mj nfa

)3.....(2

1 2

jjj atE

)8.....(),2(

)7.....()()(),1()4....(

)9......(:

11,

,,

,,

,,

mi

k

mj

mkkj

ijij

mj

mj

mjm

jmj

mj

ij

mj

mj

mj

mjij

ij

mj

mjij

abawww

n使得代入

nfnfnn

a使得代入

w

n

n

a

a

E

w

E

w

n

n

E

w

E利用連鎖律

step差最小化的每次最陡坡降法進行誤用於控制學習率w

Ew

ijij )()17....(

,,

Page 28: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

由 (5)得知 , E 對某輸出處理單元之輸出 的偏微分值 , 單純地只與該處理單元的誤差量有關 ( 即與 有關 )

mjj at

mja

)5......()(2

1

,)(

,)4(

2

k

mjj

mkkm

jmj

mjm

j

atataa

E

也就是網路的輸出層m第 層為最終層一

種情況所在層位的不同而分兩a因a

E的

)14.......(),6(

)10....(,)2(

,1

,1

,

1

kjk

mkm

j

mkm

kjk

i

mk

miikm

jmj

mk

wa

E得將此二式代入

n

E定義wbawaa

n得利用

kmj

mk

mk

mj

mj

mj

mj

a

n

n

E

a

E

影響量並需累加條傳遞路徑的除了須使用連鎖律外時a

E求因此

n成為個處理單元向前傳遞給下一層的每a將不同一此時與前述而是隱藏層之一m第 層不是最終層二

)6.......(

,,,

;,:)(

,)(

1

1

1

Page 29: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 再作整理(甲 ) 處於隱藏層與輸出層之間 將 (5),(7),(8)代入 (4), 得

另可將 (8),(10)代入 (9), 得

(乙 ) 非處於隱藏層與輸出層之間 將 (7),(8),(14)代入 (4), 得

一樣可將 (8),(10)代入 (9), 得

比較 (12),(15), 得

因此 , 不論 是否處於隱藏層與輸出層之間 , 皆可以 (12) 為通式 ; 只是 代表所連接較後層之處理單元的誤差量 , 須以 (13) 求出 (若較後層是輸出層 ), 否則以 (16) 求解

※將 (12)代入 (17)得關鍵公式

ijw , )11......()()( 1

,

m

imjj

mj

ij

aatnfw

E

ijw ,)15.....()( 1

,1

,

m

ik

jkmk

mj

ij

awnfw

E

)16......()( ,1

kjk

mk

mj

mj wnf

ijw ,mj ijw ,

)12......(1

,

m

imj

ij

aw

E

)13.....()()()12(),11(

)12.....(1

,

mjj

mj

mj

mi

mj

ij

atnf得比較

aw

E

)18.....(1,

mi

mjij aw

Page 30: 神經網路有幾種 不同學習規則 :  例如聯想式學習、競爭式學習; 性能學習 之目的 :  調整網路參數以最佳化網路性能

• 以 logsig 轉移函數為例 , 即 且

• 將 (19)代入 (13) 與 (16), 可分別求得 所連接之較後層處理單元為輸出層或隱藏層的

• 利用 (20),(21),(18) 可求出權值修正量 ; 閥值或門檻值亦可以相同方法修正 , 即第 m 層第 j 個處理單元的閥值調整量為

※當 BP使用固定學習率訓練時 , 常遭遇減緩現象與跳脫現象 , 可以 Extended Delta-Bar-Delta

Algorithm by A.A. Minia , 使學習速率與精度提高

neanf 1

1)( )19....()1(

)(aa

dn

ndf

ijw ,

mjj

mjj

jjk

jkmk

mj

jjjjmj

a即隱藏層的元的輸出值j為隱藏層第個處理單h

a即輸出層的元的輸出值j為輸出層第個處理單y

hhw

yyyt

,

,

)21......()1(

)20......()1()(

,1

ijw ,

)22......(mjjb

mj