[发明专利]一种基于注意力机制的LSTM模型的网络流量预测方法有效
| 申请号: | 202010618153.8 | 申请日: | 2020-06-30 |
| 公开(公告)号: | CN111970163B | 公开(公告)日: | 2022-06-21 |
| 发明(设计)人: | 徐倩;姚振杰;涂燕晖;陈一昕 | 申请(专利权)人: | 网络通信与安全紫金山实验室 |
| 主分类号: | H04L43/0876 | 分类号: | H04L43/0876;H04L41/147;G06N3/08;G06N3/04 |
| 代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 贺翔 |
| 地址: | 210000 江*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 注意力 机制 lstm 模型 网络流量 预测 方法 | ||
1.一种基于注意力机制的LSTM模型的网络流量预测方法,其特征在于,所述网络流量预测方法包括以下步骤:
步骤1:数据预处理,对所述网络流量数据进行标准化处理,然后将网络流量数据划分为训练数据和测试数据;
步骤2:构建模型,构建基于注意力机制的LSTM模型,所述LSTM模型的输出单元及所述注意力窗口长度,利用深度学习框架Tensorflow中的注意力机制将LSTM的输出单元连接起来;所述基于注意力机制的LSTM模型基于前n个历史时刻的隐藏状态与当前细胞状态计算出相关系数值,利用unstack函数将数据集按列划分,将划分后的数据送入tf.nn.static_rnn函数中,得到前n个时刻的输出值集合output和输出状态states,通过softmax函数对相关系数进行归一化得到注意力得分;
根据网络的输出值集合output获取最后一个时刻的输出值,根据所述输出值output获取最后一个时刻的输出值last_output,根据线性回归模型last_output*W+b计算出网络流量预测值;
步骤3:模型训练,将训练数据输入所述基于注意力机制的LSTM模型中,基于Adam优化算法进行迭代训练,得到训练好的模型;
步骤4:网络流量预测,将实时采集的网络流量数据输入所述基于注意力机制的LSTM模型进行网络流量预测。
2.根据权利要求1所述的一种基于注意力机制的LSTM模型的网络流量预测方法,其特征在于,所述步骤1,数据预处理具体通过以下方式实施:
步骤1.1:加载网络流量数据集,将所述网络流量数据集存储在本地,所述网络流量数据集中包含有特定网络链路在各个历史时刻的网络流量数据值;
步骤1.2:计算所述网络流量数据集中的流量最大值xmax和最小值xmin;
步骤1.3:对原始网络流量数据进行min-max标准化,即
其中,x为原始网络流量数据,xmin为网络流量数据中的最小值,xmax为网络流量数据中的最大值,x′为标准化处理后的数值结果;
步骤1.4:将数据集划分为训练集和测试集。
3.根据权利要求1所述的一种基于注意力机制的LSTM模型的网络流量预测方法,其特征在于,所述步骤2,构建模型具体通过以下方式实施:
步骤2.1:设置历史序列长度l、待预测序列长度p和注意力窗口长度n;其中历史序列长度l代表用于训练的历史序列长度;待预测序列长度p代表需要预测的时间序列长度;注意力窗口长度n代表在计算当前时刻输出状态时,为前面n个历史时刻序列分配注意力得分;
步骤2.2:设计所述基于注意力机制的LSTM模型的相关参数;
步骤2.3:初始化线性回归的权重矩阵W和偏置b为0至1之间的随机数;
步骤2.4:基于所述相关参数构建输出单元;
步骤2.5:基于步骤2.4中的LSTM的输出单元及所述注意力窗口长度,利用深度学习框架Tensorflow中的注意力机制将LSTM的输出单元连接起来;
步骤2.6:利用unstack函数将数据集按列划分,将划分后的数据送入tf.nn.static_rnn函数中,得到前n个时刻的输出值集合output和输出状态states;
步骤2.7:根据所述输出值集合output获取最后一个时刻的输出值last_output;
步骤2.8:根据线性回归模型last_output*W+b计算出网络流量预测值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网络通信与安全紫金山实验室,未经网络通信与安全紫金山实验室许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010618153.8/1.html,转载请声明来源钻瓜专利网。





