6.2.2 循环神经网络
面对时间序列问题,全连接网络由于缺乏“记忆”机制,从而难以有效利用时间序列的上下文信息。因此,对全连接网络进行改进,引入反馈,建立循环神经网络(recurrent neural network,RNN),以有效提取序列的上下文信息,从而解决时间序列相关问题。
面对时序数据x1,x2,…,xn,一层RNN结构示意如图6.3所示,其隐藏层输出延迟一步反馈回输入端,其计算过程为

图6.3 一层RNN结构示意

式中,xt为第t步的输入;W和V分别为输入层到隐藏层、隐藏层到隐藏层的权重矩阵;b为偏置向量;φ(·)为激活函数;pt为第t步的中间变量。
RNN通过循环方程提取序列中的信息,并记录在隐藏层状态h中。RNN的循环方程为
![]()
式中,θ为给定RNN的参数;f(·)为给定RNN的映射关系。
如图6.4所示,将RNN的映射关系沿时间轴展开,可得

式中,g(t)(·)表示RNN在第t步的展开映射关系。
式(6.12)表明第t步的RNN隐藏层状态ht中蕴含了响应信号序列xt,xt-1,xt-2,…的信息,可以有效地建立响应信号序列的内在关系,获得原系统的信息。(https://www.daowen.com)


图6.4 RNN映射关系示意


式中,
和
分别表示t时刻第j个输入和输出;bi为第i单元的相关偏置;Ui,j和Wi,j分别为第i单元的内循环参数与第j个输入及上时刻隐藏层输出之间的权重;上标(或下标)“F”“I”“O”“S”分别表示遗忘门、输入门、输出门和内部状态相关;σ(·)为非线性激活函数Sigmoid函数。

图6.5 LSTM计算图
其隐藏层输出为
![]()
为了实现利用适当时间段内历史信息处理序列问题的目的,LSTM引入内循环,并由输入序列实时决定相关权重。重要历史信息通过存储在内循环中实现长期影响,还可以由内循环的操作实现合适的遗忘机制。由于内循环相关权重由输入序列决定,因而网络可以在同一组参数的情况下有效处理不同时间尺度的问题。
与训练全连接网络类似,训练循环神经网络时,首先采用时间展开的反向传播(back propagation through time,BPTT)算法来获取优化梯度[306],之后通过梯度优化器对网络模型参数进行优化,使其损失函数降低,从数据集中挖掘信息。