循环神经网络(RNN)是一种特殊的网络结构,特殊在于同一隐藏层的节点之间是有连接的。还有个最大的特点是在于将时间序列思想引入到神经网络构建中,通过时间关系不断加强数据间的影响关系。结合过去的经验记忆和现正在学习的知识,融合贯通得到现在的认知。也就是说RNN模型不仅考虑到当前的输入,还赋予网络对过去的记忆,并且隐藏层的输入不仅包括当前时刻的输入,还需要加入上一时刻隐藏层的输出。
1)循环神经网络的基本结构
2)循环神经网络的改进结构
3)循环神经网络的应用
RNN可有多个隐藏层,隐藏层可不断的循环和递归信息。例如,在双层循环神经网络中,数据进入第一隐藏层得到的输出以一定的权重进入第二隐藏层,然后最后一层的输出反过来通过损失函数,反向调整各层的连接权重,利用梯度下降方法寻找最优化参数。
RNN网络结构大致是由输入层、隐藏层、输出层构成。如图1.1所示:
虽然RNN可以处理序列信息,但比较偏向最后输入的信息,这使得较早留下的信息越来越少,甚至丢失。同时在网络训练过程中,梯度也会随着时序(链式法则求导)逐渐消失,也就是我们常说的梯度消失或爆炸。
对于这一问题,目前主要采用的解决方案有:
1)避免使用极大或极小值来初始化权重。
2)改进RNN结构,使得它能够很好的处理长时间的记忆问题,如今对此处理效果好的结构有LSTM(长短期记忆网络)和GRU(门控循环单元)。
1.1 LSTM网络结构
LSTM是RNN的改进。在传统的RNN结构中,隐藏层每个神经元(也称记忆细胞)只包含一个简单激活函数,而LSTM在细胞中构建了四层网络结构,5个激活函数。如图1.2所示,它克服了原始RNN的不足,可通过门控机制回忆过去,并且有选择性的忘记一些不重要的信息来解决学习长期依赖关系。
LSTM主要是通过遗忘门、输入门、输出门和细胞状态来控制信息的传递。遗忘门可以理解为一种选择性忘记策略,它控制了上一时刻有多少信息流入当前时刻。输入门决定了当前的输入有多少进入细胞单元,输出门控制当前细胞单元流向下一时刻的内容有多少。细胞状态类似一个传送带,在整个链上运行,存在一些线性关系,信息容易流传。
1.2 GRU网络结构
LSTM内部结构比较复杂,因此就衍生了简化版GRU。
GRU可看成是LSTM的改进,将遗忘门和输入门合并成为一个单一的更新门,同时合并了LSTM中原有的细胞更新状态和输出状态,结构比LSTM更简单,运行速度要更快。在实际运用方面,效果能够与LSTM媲美,甚至更好。
1.3 Bi-LSTM网络结构
Bi-LSTM又称双向长短期记忆网络,是结合正反两个方向的LSTM网络。LSTM擅长处理连续数据,若是单向的LSTM,就只能学习一个方向的规律,而Bi-LSTM不仅可以学习它的正向规律,还可以学习反向规律[50]。文本、语句等包含博大精深的信息,正向理解与反向理解也许是不同的句意,故使用正反两向相结合的LSTM网络会比单向LSTM网络有更高的拟合度。
RNN模型有比较多的变种,这里介绍最主流的RNN模型结构如下:
上图中左边是RNN模型没有按时间展开的图,如果按时间序列展开,则是上图中的右边部分。我们重点观察右边部分的图。
2.1 前向传播算法
有了上面的模型,RNN的前向传播算法就很容易得到了。
2.2 反向传播算法
有了RNN前向传播算法的基础,就容易推导出RNN反向传播算法的流程了。RNN反向传播算法的思路和DNN是一样的,即通过梯度下降法一轮轮的迭代,得到合适的RNN模型参数U,W,V,b,c。由于我们是基于时间反向传播,所以RNN的反向传播有时也叫做BPTT。当然这里的BPTT和DNN也有很大的不同点,即这里所有的U,W,V,b,c在序列的各个位置是共享的,反向传播时我们更新的是相同的参数。
单纯的循环神经网络具有梯度消失或爆炸问题,当序列很长的时候问题尤其严重,故一般不能直接用于应用领域。LSTM和GRU是RNN的改进版,能够较大的改善梯度消失等问题,能够很好地训练序列数据。但由于序列数据是逐步加入,不能并行运算,故训练速度相比CNN要慢很多,要求运行环境的配置较高。
注意这里所说的循环神经网络是长短期记忆网络LSTM和门控单元网络GRU,它们常用于:
1)文本分类
2)语言识别
3)时间序列
4)文本生成
参考文献
[1] https://www.cnblogs.com/pinard/p/6509630.html
[2] https://blog.csdn.net/qq_23348071/article/details/89073519
[3] https://www.cnblogs.com/arachis/p/RNN.html
[4] https://www.cnblogs.com/pinard/p/6519110.html
[5] https://www.jianshu.com/p/87aa03352eb9
(部分文字、图片来自网络,如涉及侵权,请及时与我们联系,我们会在第一时间删除或处理侵权内容。电话:4006770986 邮箱:zhangming [at]eefung.com 负责人:张明)