1 概述
递归神经网络是时间递归神经网络(recurrent neural network)和结构递归神经网络(recursive neural network)的总称。RNN一般指代时间递归神经网络。
RNN早先被提到的可以追溯到1989年Axel Cleeremans的论文。
详情查看:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.160.2979&rep=rep1&type=pdf
RNN被提出的初衷是用来处理序列数据的。
RNN相对于传统神经网络最大的不同是神经元的输入的改变。RNN隐藏层神经元的输入不止是上一层神经元的输出,还包括了本层的输出。
但是鉴于RNN误差反向传播时候梯度消失的问题。1997年Sepp Hochreiter等人提出了典型的LSTM网络。
详情查看:http://www.bioinf.jku.at/publications/older/2604.pdf
LMST是RNN的升级版,它的隐藏层神经元的输入和输出会在RNN的基础上做进一步的处理,在本文末有提到。
RNN背后的思想是利用顺序信息。它包含循环的网络,允许信息的持久化。
2 优缺点
优点:时间递归神经网络可以描述动态时间行为,因为和前馈神经网络接受较特定结构的输入不同,RNN将状态在自身网络中循环传递,因此可以接受更广泛的时间序列结构输入。
缺点:简单递归神经网络无法处理随着递归,梯度爆炸或者梯度消失的问题,并且难以捕捉长期时间关联;有效的处理方法是忘掉错误的信息,记住正确的信息。LSTM能够比较好的解决这个问题。
3 应用
RNN已经被在实践中证明对