RNN上的BPTT的简单推导

RNN上的BPTT的简单推导


RNN上的BPTT的简单推导_第1张图片


从图中可以看出RNN的结构及其时间上反向传播的推导。当然图中是一个简化形式,没有偏置(bias)(不过这不是本质问题)。本来以为RNN上应该有多层hidden layer,然后存在时间和NN层之间的方向传播,也就是RNN可以结合NN。但是看了很多资料发现一般的RNN都只有一个hidden layer,不然会遇到梯度爆炸或者梯度消失问题,而且难以训练,所以一般的RNN都只有一个hidden layer,不过推导起来没有本质区别。只是反向传播有两个方向了而已。


事实上,无论是普通的神经网络,还是RNN,CNN,它们的方向传播思路都是类似的,就是把握 δ 流动的主线,以及经过不同神经网络层时候的根据不同神经网络生成的具体导数。然后再把其他参数和同层的 δ 联系起来求解。

至于 δ 求解无非是链式法则转移到已经求解完的部分,注意把握导数求解的流动方向,沿层次或者沿着时间。最后再根据矩阵形式做一个简化就好了。

你可能感兴趣的:(Machine,Learing)