循环神经网络(RNNs
)
1 RNN
结构
RNN(Recurrent neural network)
是为了解决什么一个问题的呢?因为一般情况下序列的信息决定事件本身。如果我们试图使用这类数据得到有用的输出,就需要一个这样的网络:能够访问一些关于数据的先前知识(prior knowledge),以便完全理解这些数据。因此,RNN
就出现了。
在最原始的情况下,RNN
的网络结构如下图:
其中,U是输入层到隐藏层的权重矩阵,o是输出层的值,V是隐藏层到输出层的权重矩阵,权重矩阵W是隐藏层上一次的值作为下一次输入的权重。然后每次来的时候都会更新权重W,如此往复循环,这或许就是循环神经网络的由来吧。
当然,我们为了方便理解RNN
的话,可以将我们RNN
网络展开:
在这个网络中,时刻t接收到输入之后,隐藏层的值是 S t S_t St,输出值是 O t O_t Ot。从网络中可以看出, S t S_t St