Introduction to Deep Learning week 5
这一周主要介绍了RNN,这里回顾下RNN的反向传播。
Recurrent Neural Network (RNN)
RNN主要运用于序列数据,其架构如下:
右边是实际的架构,左边是拆开后的架构,方便理解,计算公式为:
损失函数为:
Backpropagation Through Time (BPTT)
下面介绍RNN的反向传播,我们借助下图进行理解:
可以看出我们要对两个方向进行反向传播,下面分别计算上图的偏导数。
$\frac{\partial L}{\partial U}$:
由于$h_t,b_y$和$U$无关,上式计算到此即可。
$\frac{\partial L}{\partial W}$:
注意$h_t$依旧和$W$有关,所以上式还要继续处理,我们重新处理$\frac{\partial L_t}{\partial W}$,首先处理$\frac{\partial h_t}{\partial W}$,记$a= Vx_t+Wh_{t-1} +b_h$,从而
为了避免混淆,将$\frac{\partial h_t}{\partial a}\frac{\partial a}{\partial W}$记录为$\frac{\partial h_t}{\partial W_*}$,因此上式为
这是一个递推方程,递推下去不难得到
因此
同理也可以用这个方法计算其他的导数,这里就不一一列出了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Doraemonzzz!
评论
ValineLivere