赞
踩
{
Recursive Neural Network(结构递归神经网络):用来处理树结构、图结构等递归结构的信息
Recurrent Neural Network(时间递归神经网络/循环神经网络):用来处理包含序列结构的信息
上式就是将误差项从父节点传递到其子节点的公式。注意,上式中的
n
e
t
c
net_c
netc 也是将两个子节点的加权输入
n
e
t
c
1
net_{c_1}
netc1 和
n
e
t
c
2
net_{c_2}
netc2 连在一起的向量。
有了传递一层的公式,我们就不难写出逐层传递的公式。
上图是在树型结构中反向传递误差项的全景图,反复应用式2,在已知
δ
p
(
3
)
δ^{(3)}_p
δp(3) 的情况下,我们不难算出
δ
p
(
1
)
δ^{(1)}_p
δp(1) 为:
在上面的公式中,
δ
(
2
)
=
[
δ
c
(
2
)
δ
p
(
2
)
]
δ^{(2)}=
根据加权输入的计算公式:
其中,
n
e
t
p
(
l
)
net^{(l)}_p
netp(l) 表示第
l
l
l 层的父节点的加权输入,
c
(
l
)
c^{(l)}
c(l) 表示第
l
l
l 层的子节点。
W
W
W 是权重矩阵,
b
b
b 是偏置项。将其展开可得:
那么,我们可以求得误差函数在第
l
l
l 层对权重的梯度为:
上式是针对一个权重项
w
j
i
w_{ji}
wji 的公式,现在需要把它扩展为对所有的权重项的公式。我们可以把上式写成矩阵的形式(在下面的公式中,
m
=
2
n
m=2n
m=2n):
式3就是第
l
l
l 层权重项的梯度计算公式。我们知道,由于权重
W
W
W 是在所有层共享的,所以和循环神经网络一样,递归神经网络的最终的权重梯度是各个层权重梯度之和。即:
递归神经网络『为什么最终梯度是各层梯度之和』的证明参考:卷积神经网络。
接下来,我们求偏置项
b
b
b 的梯度计算公式。先计算误差函数对第
l
l
l 层偏置项
b
(
l
)
b^{(l)}
b(l) 的梯度:
把上式扩展为矩阵的形式:
式5是第
l
l
l 层偏置项的梯度,那么最终的偏置项梯度是各个层偏置项梯度之和,即:
参考资料:
零基础入门深度学习(7) - 递归神经网络
百度文库:零基础入门深度学习(7) - 递归神经网络
递归神经网络(Recursive Neural Network, RNN)
深度学习课程笔记(十六)Recursive Neural Network
循环神经网络(Recurrent Neural Network, RNN)和递归神经网络(Recursive Neural Network, RNN),你搞清楚了吗?
CS224d: Deep Learning for Natural Language Processing
Learning Task-Dependent Distributed Representations by Back Propagation Through Structure
Parsing Natural Scenes and Natural Language with Recursive Neural Networks
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。