RNN与传统神经网络
循环神经网络(RNN)是专门处理序列数据的神经网络。
传统的神经网络模型(左图),输入层(input layer)到隐藏层(hidden layer),隐藏层再到输出层(output layer),层与层之间是全连接的,但是隐藏层节点之间是无连接的。
循环神经网络(右图),隐藏层节点之间是有连接的。
RNN的基本结构
其中,右图圆形的箭头表示隐藏层的自连接。
在RNN中,每一层都共享参数U、V、W,降低了网络中需要学习的参数,提高学习效率。
输入单元(input units)记为:
隐藏单元(hidden units)记为:
输出单元(output units)记为:
RNN的计算过程
输入层: X t {X}_{t} Xt表示时刻t的输入。
隐藏层: s t = f ( U x t + W s t − 1 ) {s}_{t}=f(U{x}_{t}\, +\, W{s}_{t-1}) st=f(Uxt+Wst−1) ,f是非线性激活函数,比如tanh。
输出层: o t = s o f t m a x ( V s