PAGE
PAGE2
循环神经网络简介综述
1.1循环神经网络模型
循环神经网络(RecurrentNeuralNetwork,RNN)是现今极为流行的一类递归神经网络,它在序列的演进方向上输入序列数据并进行递归,它的所有节点(循环单元)都是按链式连接的。循环神经网络常常被应用于各类时间序列预测问题,它具有记忆性、参数共享以及图灵完备等特点,在对序列的非线性特征学习上具有一定优势,而且在自然语言处理,例如语音识别、语言建模、机器翻译等领域也有广泛的应用。RNN的核心部分是一个有向图。有向图展开中以链式相连的元素被称为循环单元。通常地,循环单元构成的链式连接可类比前馈神经网络中的隐含层,但在不同的论述中,RNN的“层”可能指单个时间步的循环单元或所有的循环单元,RNN的模型结构图如下:
图2.SEQ图2.\*ARABIC7RNN模型结构图
Fig2.SEQFig2.\*ARABIC7StructurediagramofRNNmodel
REF_Re\h图1为标准的RNN模型图,从图中可以看出,循环神经网络可以看做是前向神经网络隐藏层按时序展开的形式,其中U,W,V表示可训练的参数矩阵,而且他们都是共享参数,意味着在每一步都使用相同的U,W,V参数,表示序列在t时刻的输出向量,表示t时刻经过激活函数输出的隐藏层向量。RNN的计算公式表示如下:
(2.11)
.(2.12)
其中,和表示激活函数。
1.2LSTM模型
前面介绍了RNN的算法,它能够有效的处理时间序列的问题,但是仍然存在着一些问题,其中由于BP算法和长时间序列依赖的因素,常会造成较为严重的是梯度消失或者梯度爆炸的问题。为了解决上述问题LSTM被提出了出来,它是最早的RNN门控算法,通过加入3个门控单元:输入门、遗忘门和输出门,LSTM在内部建立了自循环状态。相对于RNN对系统状态建立的递归计算,LSTM的三个门控单元在内部自循环状态下可以更好的解决梯度依赖和爆炸问题。具体来说,输入门决定当前时间步的输入和前一个时间步的系统状态对内部状态的更新;遗忘门决定前一个时间步内部状态对当前时间步内部状态的更新;输出门决定内部状态对系统状态的更新。
LSTM单元的模型图如REF_Re\h图9所示:
图2.SEQ图2.\*ARABIC8LSTM模型图
Fig2.SEQFig2.\*ARABIC8StructurediagramofRNNmodel
LSTM的计算公式如下:
(SEQ____________\*ARABIC2.13)
(SEQ____________\*ARABIC2.14)
(SEQ____________\*ARABIC2.15)
(SEQ____________\*ARABIC2.16)
(SEQ____________\*ARABIC2.17)
(SEQ____________\*ARABIC2.18)
下面本文详细介绍LSTM增加的三个门控单元:
(1).遗忘门
LSTM中的第一步是决定从细胞状态中丢弃什么信息。这个决定通过一个称为忘记门的门控单元完成。该门会读取?t?1和xt,输出一个在0到1之间的数值给每个在细胞状态
(SEQ____________\*ARABIC2.19)
其中?t?1表示的是上一个神经元的输出,xt
(2).输入门
下一步是决定让多少新的信息加入到神经元的状态中来。实现这个需要包括两个步骤:首先,一个叫做“输入门控单元”的sigmoid层决定哪些信息需要更新;一个tanh层生成一个向量,也就是备选的用来更新的内容Ct
(SEQ____________\*ARABIC2.20)