4.4.2 长短期记忆人工神经网络
长短期记忆(Long short-term memory,LSTM)(HOCHREITER S, et al.,1997)人工神经网络是一种具有记忆能力的循环神经网络,LSTM解决了循环神经网络梯度消失的问题,对时间序列数据间的非线性特征关系更能突出优势。LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。循环神经网络的重复模块只有单一的cell层,LSTM相比循环神经网络多出三层结构,分别是遗忘门层(Forget Gate)、输入门层(Input Gate)、和输出门层(Output Gate)。遗忘门层负责控制cell层的保存,输入门层负责控制cell层的信息写入,输出门层负责控制cell层的信息读取。因为这部分结构的存在,可以使LSTM存储比循环神经网络更丰富的信息。LSTM流程介绍如下(图4.15)。
(1)“Forget Gate”表示忘记门,该层的输出是一个介于0~1的数,表示允许信息通过的多少,0表示完全不允许通过,1表示允许完全通过。
(2)“Input Gate”层和tanh层表明应该升级更新的新信息。“Input Gate”层根据sigmoid来确定什么值用于升级,tanh层用于形成一个新的备选值(程亚红等,2022)。
上两步结合起来就是丢掉不需要的信息,添加新信息的过程。
(3)“Output Gate”层和以后的一部分确定模型的输出,关键是根据sigmoid层得到一个原始输出,然后使用tanh将值缩放到-1和1之间,然后将sigmoid得到的输出相乘,得到模型的输出(程亚红等,2022)。tanh函数是对此前学习到信息的缩减解决,具有平稳标值的功效。
模型具体结构如图4.15所示。
图4.15 LSTM的计算节点
Y、Yi、Yj、Yk均有输入层xt的参与,图示中各字母公式为:
式中 Z—— 权重向量参数;
[xt,ht -1]—— t时刻输入的xt与上一时刻在cell层保存信息ht-1组合。
两者点积之后经过激活函数tanh最终得到一个数值就是Y,另外三个公式为门控装置,激活函数为sigmoid函数,得到一个0~1的数据,用来作为输入门的控制信号(孟雪,2021)。
sigmoid函数:在信息科学中,由于sigmoid单增及其反函数单增等特性,Sigmoid函数经常被作为人工神经网络的激活函数,将自变量投射到0,1中间。在互联网中,一个节点的激活函数界定了这一节点在已知的输入或输入的结合中的输出。标准化的电子计算机芯片电路可以理解为是依据输入获得开(1)或关(0)输出的数字电路设计激活函数。其表达式为:
tanh是双曲函数中的一个,tanh为双曲正切。其公式为:
前馈神经元网络(Feedforward Neural Network,FNN),通称前馈互联网,是神经网络算法的一种。前馈神经元网络选用一种单边多层结构。在其中每一层包括多个神经元。在此类神经元网络中,各神经元能够接受前一层神经元信号,从而产生输出至下一层。第0层叫输入层,最后一层叫输出层,别的内层称为隐含层(或隐藏层、隐层)。隐层能是一层。还可以是双层。全部网络里无意见反馈,数据信号从输入层向输出层单向传播,可以用一个有向无环图表明。
遗忘门(Forget Gate):取决于上一时刻的模块情况有多少保存到现阶段时刻。
键入门(Input Gate):取决于现阶段时刻互联网的键入有多少储存到模块情况。
输出门(Output Gate):控制模块情况有多少输出到LSTM的现阶段输出值。
LSTM的反向传播:① 精子活动率测算每一个神经元的输出值。② 反方向测算每一个神经元的误差项值。两条路线分别是沿时间反向传播,也就是从现阶段t时刻开始,测算每一个时刻的误差项;将误差项往上一层散播。③ 依据对应的误差项,测算每一个权重的梯度方向。