RNN及其公式推导
RNN即循环神经网络,循环神经网络的种类有很多,本文主要是对基本的神经网络进行推导。一开始对推导很晕,在阅读了许多资料之后,整理如下。
结构
上图所示的是最基本的循环神经网络,但是这个图是抽象派的,只画了一个圈不代表只有一个隐层。如果把循环去掉,每一个都是一个全连接神经网络。 x 是一个向量,它表示输入层,
s 也是一个向量,它表示隐藏层,这里需要注意,一层是有多个节点,节点数与 s 的维度相同。U 是输入层到隐藏层的权重矩阵,与全连接网络的权重矩阵相同, o 也是一个向量,它表示输出层,V 是隐藏层到输出层的权重矩阵。
公式推导
RNN的BPTT算法关键就在于理解上图。前向算法很好理解,根据RNN的结构定义则很容易推出,下面是后向算法的推导。它的基本原理和BP算法一样的,同样包含了三个步骤:
1. 前向计算每个神经元的输出值
2. 方向计算每个神经元的误差项 δj ,它的误差项是指误差函数 E 对神经元
3.计算每个权重的梯度,然后用优化算法更新
误差项计算
让我们回到第一张图的表示方法,用向量