RNN不同于前馈神经网络,被认为具有记忆能力。其输入被看作一个序列,形如 xt(x1,x2,x3...) 其数学模型如下:
ht=h(W1ht−1+U2xt+b1)
yt=f(Vht+b2)
这里 ht 表示在t时的状态, yt 表示在t时的输出,h和f是非线性函数,常用sigmoid函数 f(x)=11+e−x ,W U V 和b是需要学习的变量。这里的关键是t时的状态是由t-1时的状态和t时的输入共同得到,也就是说理论上RNN可以记住任意长序列的输入。它和前馈神经网络相比还具有不限定长度的输入序列,比如在自然语言模型中,需要估计一个句子出现的概念,而每个句子的长度是不固定的。
和前馈神经网络一样,RNN也可以通过Backpropagation算法进行训练即BPTT算法。其目标函数所有时间点上的成本函数的和:
E=∑