神經網路有幾種 不同學習規則 : 例如聯想式學習、競爭式學習; 性能學習...
DESCRIPTION
神經網路有幾種 不同學習規則 : 例如聯想式學習、競爭式學習; 性能學習 之目的 : 調整網路參數以最佳化網路性能 最佳化過程 分兩步驟 : (1) 定義性能指標 , 找到衡量網路性能的定量標準 ( 性能指標在網路性能良好時很小 ) ; (2) 搜索減少性能指標的參數空間 ( 即調整加權值、偏權值 ) 以多變數泰勒級數展開式的近似作為性能指標 : - PowerPoint PPT PresentationTRANSCRIPT
• 神經網路有幾種不同學習規則 : 例如聯想式學習、競爭式學習;• 性能學習之目的 : 調整網路參數以最佳化網路性能• 最佳化過程分兩步驟 : (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
=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
• ∇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
• 最佳化的必要條件 : 當∆ 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
∵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
• 基底變換 :Λ= [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
Note1: 特徵向量被稱為函數輪廓線的主軸 ( 即定義了二次交叉項 (xy) 為 0 的座標系統 ); 特徵值絕對值愈大 , 曲率半徑 ( 二階導數 )愈大 , 輪廓線愈密 ( 輪廓線之間的距離愈小 )
Note2: 上述只在所有特徵值同號 , 才有效 ! Specifically 所有特徵值為正 , 則有極小值 ; 所有特徵值為負 , 則有極大值 . 特徵值有正有負 , 為 saddle pt ; eigenvalue(H) 0, ≧ 可能無極小值 . eigenvalue(H) 0,≦ 可能無極大值
• 最陡坡降法 : 利用一階泰勒展開 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)
• 學習率快 , 可快速收斂 . 但學習率太大 , 演算法會不穩定 (振盪 , 甚至可能跳過極小點 ); 較小的學習率 , 最速下降的軌跡 , 總是與輪廓線正交 ; 此乃因梯度與輪廓線正交 .
• 如何確定最大可行的學習率 ? 對於任何函數 , 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
※另一法 : 沿直線最小化 , 利用α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
演算法的每次疊代都是正交的 ; 因為沿直線的最小化 , 總會在輪廓線的切線上一點停止 , 又由於梯度正交輪廓線 , 沿梯度相反方向的下一步就與前一步正交
※牛頓法 : 求 F(x) 的二次近似的駐點 比較 (1), (A), (B) ⇒ 求此二次函數對 ∇ xk 的梯度 , 並設它為 0 , 得到
故牛頓法定義為 …… (D) 因為牛頓法總是用二次函數逼近 F(x) , 然後求其駐點 ; 所以 , 原
函數若為二次函數且有極小點 , 它就能一步最小化 . 如果原函數不是二次函數 , 則牛頓法無法一步實現最小化 (雖然疊代是朝全域極小點方向進行 ); 實際上 , 根本無法確定它是否收斂 ( 因為這又取決於具體的函數本身與初始點 )
牛頓法在許多應用中 , 都能快速收斂 ; 此乃因解析函數能被二次函數精確近似
Remark: 何謂解析函數 ?
kkTkk
Tkkkkk xAxxgxFxxFxF 2
1)()()( 1
kkkkkk gAxxAg 10 kkkk gAxx 1
1
• 牛頓法無法區別 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
※共軛梯度法 : 用於二次函數 , 只需一階導數 , 但具有二次終結性質
--- 在有限的疊代次數內 , 使二次函數極小化 (牛頓法即稱為二次終結法 )
回憶 (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
․ 如果搜索方向 (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
• 多層感知機
• 每一層可有不同數目的神經元 , 轉移函數也可不同 . 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
• 簡化成矩陣形式
• 第一層 (隱藏層 ) 的偏權值可用於確定曲線的位置 , 加權值可確定曲線的坡度 ; 第二層 (輸出層 ) 的偏權值會使網路的響應曲線上移或下移 . 研究證實 , 在兩層網路的隱藏層中使用 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
• 第一層的神經元從外部接收輸入 : 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
即 (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
現在將 (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
)()(
雅可比矩陣改寫成
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
但如何找起始 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
例一 : 一動態系統 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
例二 : 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
例三 : 如圖所示的兩層網路 , 初始加權值與偏權值為 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
例四 : 下圖的兩層網路 , 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
• 倒傳遞演算法是近似最陡坡降的方法 , 最陡坡降法 (SDBP) 是簡單但速度較慢的最小化方法 ; 共軛梯度法與牛頓法一般有較快的收斂 , 但對實際應用而言 , 仍嫌太慢 .
• 因此有很多提高演算法收斂速度的研究 , 上述後兩者屬標準數值最佳化技術 , 另一類為利用啟發式訊息 , 針對倒傳遞演算法特定性能的研究 , 例如 : 可變學習率 , 動量的引用等
• 倒傳遞演算法利用結果的導數來回溯修正加權值、偏權值
• 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....(
,,
由 (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
• 再作整理(甲 ) 處於隱藏層與輸出層之間 將 (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
• 以 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