RNN的前向传播过程:
RNN的BPTT公式:
说明:第t时刻,本层结点的残差有两个来源:一是上一层结点t时刻的残差进行加权(这个跟前馈网络是一样的,最后的误差要分派到每一个神经元上面,通过加权的方式,其实就是前面的神经元的误差累积形成最后的残差),二是后一个时刻(t+1)隐层结点的残差进行加权。所以,层与层之间的交互也只是将上一层的t时刻残差传给下一层。
(3.33)是个迭代式,先计算t = T时刻的残差。t = T+1时刻的残差可以假设为0。然后,计算t = T-1时刻的残差,以此类推。
说明:最后计算梯度时,是平均T个时刻的残差,来进行梯度更新。所以,如果RNN的BPTT要进行模块化,上一层网络只需要将1到T时刻的残差传递给下一层即可。这个T是不是就决定了,RNN要学习窗口为T长度的序列。
说明:因为BPTT有如此好的性质,使得RNN可以很好进行模块化。