首页 理论教育 LSTM网络的结构与参数更新

LSTM网络的结构与参数更新

时间:2023-06-30 理论教育 版权反馈
【摘要】:(一)网络整体结构LSTM网络结构由RNN加入门控机制改进得到,RNN能够很好地处理不固定长度并且有序的输入序列。但是由于门控机制的加入,LSTM网络更适合处理长依赖问题,更加容易学习到工控网络周期性的规律,并且容易识别由多个数据包共同作用引起的攻击类型。

LSTM网络的结构与参数更新

(一)网络整体结构

LSTM网络结构由RNN加入门控机制改进得到,RNN能够很好地处理不固定长度并且有序的输入序列。RNN向前传播过程如图11-4所示,网络参数权重的更新不仅仅依赖每一时刻t样本输入xt对参数w的调整,而且依赖t时刻之前计算并保存的隐含状态ht-1对参数的调整。

与传统的RNN相比,LSTM本质上还是基于t时刻的输入xt和t-1时刻的隐状态ht-1来计算t时刻的输出yt和t时刻的隐状态ht。但是由于门控机制的加入,LSTM网络更适合处理长依赖问题,更加容易学习工控网络周期性的规律,并且容易识别由多个数据包共同作用引起的攻击类型。

图11-4 RNN向前传播过程

本书提取数据包字段并构造了12个有效的时间统计特征,网络模型在t时刻的结构为一个简单的前馈神经网络,整体的网络结构如图11-5所示,有N个前馈神经网络组成,不同时刻的前馈神经网络通过隐藏层神经元传递依赖关系。每层的前馈神经网络分为3层,分别是包含12个神经元节点的输入层(Input Layer),含有64个神经元节点的隐藏层(Hidden Layer),含有12个神经元的输出层(Output Layer),在训练过程中,前N个时刻的流量数据包用于预测N+1时刻的流量统计值,即前N个时刻为样本特征,第N+1个时刻为样本标签。

图11-5 LSTM神经网络时间展开图

(二)参数更新过程

LSTM网络相比RNN增加了存储单元用来存储长期记忆,增加了输入门用来记忆t时刻的输入信息,新来一个样本,并不会完全学习记忆其中的特征,而是自动学习除其中有多少有用信息可以用于N+1时刻的预测。遗忘门用来选择性的忘记过去的某些信息,起控制内部信息的作用,输出门起控制输出信息的作用,3个门控单元的加入让LSTM网络在用梯度下降算法更新参数时不易于陷入梯度消失的问题,3个门的逻辑结构如图11-6所示。

图11-6 LSTM网络门控机制

输入门输入15分钟以内180个样本的时间统计值,15分钟为滞后历史特征数值,在训练过程中是一个超参数,经过多组训练实验得到最优滞后历史特征,对滞后历史特征数值的选择如表11-1所示,可以发现,当滞后历史特征为15分钟时,模型在验证集上的损失最低,表面用前15分钟的流量去预测下一时刻流量的时间统计特征最准确,本书以5 s为最小单位,在预测流量时,预测下一时刻(5 s内)的流量统计特性。网络内部输入门的计算过程为:

(www.xing528.com)

式(11-7)中,σ为Sigmoid激活函数。遗忘门、输出门和输入门计算方式一样,细胞状态Ct用于长期记忆,更新过程为:

隐状态ht用于短期记忆,更新过程为:

式(11-9)中,ot为输出门的输出,tanh为双曲正切激活函数。

表11-1 滞后历史特征和隐藏层神经元节点数训练情况

本书的隐藏层神经节点有960个,网络输入的是一个三维向量[640,180,12],第一维batch_size的含义是一次性将640个样本序列,输入到网络中进行训练,使用梯度下降的方法完成一次误差反向传播和参数更新;第二维time_step的含义是用前180个样本去预测下一时刻的流量值;第三维input_size是单个样本的维度。网络的输出是一个二维向量[640,180,12],第一维代表输出(预测)的时刻流量值,第二维代表单个样本的维度。

网络的输出为数值型数据,所以损失函数采用均方误差损失函数,定义为:

其中,y为样本标签,y′为模型预测值,输出值为1×12的向量,图11-7为网络输出层的数据流图,隐藏输出为输出层的输入,经过reshape后和输出层权重进行点积运算,加上偏置后得到115 200个样本的预测值。

图11-7 网络输出层数据流图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈