BP神经网络参数更新的详细推导
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
E (i ) E (i ) k( L ) h(j L 1) , ( L ) k( L ) ( L) wk j bk
对隐含层 L 1 层:
n E (i ) E (i ) yk (i ) netk( L ) 1) ( L) 1) w(j L w(j L k 1 yk (i ) net k i i
结合(4) 、 (5) 、 (6)可得
( L) kj
f ( x) |x ຫໍສະໝຸດ Baiduet ( L1) h
j
'
( L 2) i
(6)
n E (i ) (L ) ' ( L 2) tk (i ) yk (i ) f ( x)' |x net ( L ) wk (7) j f ( x ) |x net ( L1) hi ( L 1) j k w j i k 1
Figure 2. Three layers networks
Figure 3. Multiple hidden layer neural networks
Part 3 BP Process 下面给出图 3 所描述的一般性 L 层神经网络(第 1 层为输入层, 第 L 层为输出 层)的权重参数 BP 推导过程:
E (i ) (j l ) hi( L 1) (l ) w j i
(9)
E (i ) (j l ) (l ) w j i
其中,
sl 1
(10)
(l ) j
( l 1) ( l 1) wk f ( x )' |x net ( l ) j k k 1
j
BP Inference
Part 1 Neural Unit 图 1 展示了一个神经单元的构成。
Figure 1. a neural unit
o j f ( wi j xi b)
i 1
n
Part 2 Neural Network 图 2、 图 3 是两类常见的神经网络,其中图 2 描述了仅含有 1 个隐层的网络, 图 3 描述了含有多个隐层的网络。
相仿地
n E (i ) (L ) ' tk (i ) yk (i ) f ( x)' |x net ( L ) wk j f ( x ) |x net ( L1) ( L 1) j k w j i k 1
(8)
令:
( L 1) j
(L) ' t k (i) y k (i) f ( x) ' |x net( L ) wk j f ( x ) |x net ( L 1) k 1
3 Update w ( l ) , b ( l ) ○
For l 2 :L
w (l ) w (l ) -
w ( l ) , b ( l ) b ( l ) - b ( l ) ; N N
EndFor
k j
n
(L) (L) wk f ( x) ' |x net( L1) j k k 1
j
n
则
E (i ) E (i ) (j L 1) hi( L 2) , ( L 1) (j L 1) ( L 1) bi w j i
类似地,第 l 层 (2 l L 1) 的权值和偏置的偏导可表示为
(11)
Part 4 BP Algorithm
1 For l =2 :L ○
s w ( l ) 0 M sl sl 1 , b ( l ) 0 R l ;
EndFor
2 For i 1: N ○
For l L : 2 Calculate gradient matrix w ( l ) (i ) 、vector b ( l ) (i ) ; Update w ( l ) w ( l ) +w ( l ) (i) , b ( l ) b ( l ) +b ( l ) (i) ; EndFor EndFor
hi( l ) :为第 l 层第 i 个神经元的输出,具体地, hi(l ) f (neti(l ) ) 。
f () :激活函数。 L2 :误差函数所采用的度量形式。
注:常用的激活函数有 sigmoid 函数、tanh 函数。
2 ◇ 误差函数:
1 E N
其中, E(i)
1 n 2 t k (i ) y k (i ) 。 2 k 1
1 ◇ 参数说明:
xi i 1 :训练集,其中 x R
N
i
m
。
t :样本 x 的真实 label,其中 t R n 。 y :样本 x 所对应的网络输出,其中 y R n 。 sl :第 l 层 (2 l L 1) 神经元个数。 wi( lj) :第 l 1 层第 j 个神经元到第 l 层第 i 个神经元之间的连接权值。 neti( l ) :为第 l 层第 i 个神经元的输入。
'
k
( L 1) j
(2)
E (i ) E (i ) yk (i ) netk( L ) bk( L ) yk (i ) netk( L ) bk( L )
'
tk (i ) yk (i ) f ( x) | x net ( L )
k
k
(3)
记 k( L ) tk (i ) yk (i ) f ( x )' | x net ( L ) ,则
(4)
而
net
因此
( L) k
( L ) ( L 1) wk bk( L 1) p hp p 1
sL1
(5)
h(j L 1) net (j L 1) netk( L ) ( L) wk j 1) 1) w(j L net (j L 1) w(j L i i w
E(i)
i 1
N
(1)
3 ◇ 计算过程:
对于单个样本 x k 而言,输出层(即第 L 层)第 k 个神经元与第 L 1 层第 j 个
( L) 神经元权值 wk j 的偏导为:
E (i ) E (i ) yk (i ) netk( L ) ( L) ( L) wk yk (i ) netk( L ) wk j j tk (i ) yk (i ) f ( x) | x net ( L ) h