循环神经网络与前馈神经网络的异同点
循环神经网络的原则与前馈神经网络相同,但是也有以下两个主要区别,循环神经网络使用:1. 序列作为训练阶段的输入。2. 记忆要素
存储是隐藏层神经与的输出,在接下来训练步骤中将作为网络的额外输入。
在前馈神经网络中任何时间t的输出,是当前输入和权重的函数。这可以用以下方程式很容易表示:
y t = F ( x t , W ) y_t = F(x_t, W) yt=F(xt,W)
在循环神经网络中,我们在时间t的输出不仅取决于当前的输入和权重,还取决于之前的输入。在这个例子中,时间t的输出定义为:
y t = F ( x t , x ( t − 1 ) , x ( t − 2 ) , . . . , x ( t − t 0 ) , W ) y_t = F(x_t, x_(t-1), x_(t-2), ..., x_(t-t_0), W) yt=F(xt,x(t−1),x(t−2),...,x(t−t0),W)
以下是循环神经网络的折叠模型:
在这幅图中, a ‾ \overline{a} a表示输入向量, y ‾ \overline{y} y表示输出向量, s ‾ \overline{s} s表示状态向量。
W x W_x Wx: 连接输入层到状态层的权重矩阵
W y W_y Wy: 连接状态层到输出层的权重矩阵
W s W_s Ws: 表示连接之前时间步长状态到当前时间步长状态的权重矩阵
RNN的展开模型
下图是循环神经网络的基于时间的展开,展开模型通常是我们处理循环神经网络时使用的方法。
x ‾ \overline{x} x表示输入向量, y ‾ \overline{y} y表示输出向量, s ‾ \overline{s} s表示状态向量。
W x W_x Wx:连接输入到状态层的权重矩阵
W y W_y W