一种基于注意力机制和流量预测模型的资源预留方法与流程

文档序号:19123970发布日期:2019-11-13 01:56阅读:481来源:国知局
一种基于注意力机制和流量预测模型的资源预留方法与流程

本发明涉及网络服务质量技术领域,更具体地,涉及一种基于注意力机制和流量预测模型的资源预留方法。



背景技术:

随着软件定义网络(software-definednetworking,sdn)与ai人工智能技术的发展,越来越多的学者和机构开始研究通过ai处理后结合sdn实现智能网络,让sdn做出符和当前系统实际情况的决策,如动态地预留带宽方便“老鼠流”(指通过网络链路进行少量的,短时间的数据传递过程)的通过,及时回收预留带宽以便“大象流”(指通过网络链路进行大量的,长时间的数据传递过程)的通过等的资源预留。

其中ai人工智能技术在时间序列预测方面,传统的模型有holt-winters模型,arima模型,但这两种模型对数据的平滑性和数量有很高的要求,当不满足这些要求时,预测效果相对较差,对于不同类型的数据,总是需要手动调整参数,使得模型的泛化性能较差。因此为了解决泛化问题,进一步提出了一些基于机器学习的预测方法,如svm,神经网络等预测模型等,但这些预测模型对于时间序列数据没有一定的先验认知,对数据进行平等处理,不能更好地发现序列数据中的特征数据段,会对时间序列的预测结果造成一定影响,从而影响后续基于sdn的网络资源预留。



技术实现要素:

本发明为解决现有的网络资源预留方法由于流量预测结果存在误差,导致资源预留过多或过少的问题,提供了一种基于注意力机制和流量预测模型的资源预留方法。

为实现以上发明目的,而采用的技术手段是:

一种基于注意力机制和流量预测模型的资源预留方法,包括以下步骤:

s1.获取历史流量数据并进行数据预处理;

s2.利用注意力机制对预处理后的数据进行权重系数的计算;

s3.构建lstm时间序列预测模型,输入加权后的数据进行训练及预测后得到预测流量;

s4.基于预测得到的预测流量,通过sdn计算所需的预留资源并下达路由器流表从而预留网络资源。

上述方案中,通过注意力机制对训练数据进行加权处理,使其中对于预测效果影响较大的部分赋有更大的权重,然后通过lstm时间序列预测模型对加权后的数据进行训练和预测,得到高精确度的预测流量后再通过sdn接收和处理预测结果,然后下达对应的预留策略。

优选的,所述步骤s1具体为:

获取历史流量数据,得到流量序列为seq={s1,s2,s3,...sn},将所述流量序列划分为训练序列seqtrain={s1,s2,s3,...sm}以及测试序列seqtest={sm+1,sm+2,sm+3,...sn},其中n是所述流量序列的总长度,m是所述训练序列的分段长度;

将所述训练序列分成n个序列段,得到序列段集合为:

x0=seqtrain={x1,x2,x3,...,xn}

其中其中t是划分后每个序列段的长度,k是进行分段时数据需要向后移动的步长;xn表示第n个序列段。在本优选方案中,对数据进行预处理使其满足注意力机制的输入需求。

优选的,所述步骤s2具体为:

构造利用注意力机制对预处理后的数据进行权重系数计算的模型,包括:

注意力权重

衡量流量序列在时间t的重要性的注意力量

其中为需要学习的参数,be为偏差项,为时间t上的第k个片段的值;

通过softmax函数对以及进行求解,使得的总和为1,得到加权后的序列段集合为在本优选方案中,对预测效果影响较大的部分给予更大的权重,使得在流量预测中更多地关注包括峰值流量和流量突然变化的时期,而不是平等地处理所有时间段,提高流量预测的准确度。

优选的,所述步骤s3中所述的lstm时间序列预测模型包括输入层、输出层和隐藏层,所述隐藏层包括由lstm细胞构成的lstm层和以relu函数为激活函数的全连接层;

其中lstm细胞状态ct的更新公式为:

其中it是输入门的输出,wxi为输入与输入门的权重矩阵,whi为隐藏层和输入门的权重矩阵,ht-1为t-1时刻的隐藏层输出,bi为输入门偏差量,ft为遗忘门的输出,ct-1为t-1时刻的细胞状态,wxc为输入与细胞状态的权重矩阵,wxc为隐藏层和细胞状态的权重矩阵,bc为细胞状态的偏差量,和tanh分别是元素乘法和双曲正切激活函数;

其中隐藏层状态ht的更新公式为:

其中ot为输出门的输出;wxo为输入与输出门的权重矩阵,who为隐藏层和输出门的权重矩阵,bobc为输出门的偏差量;

其中所述输出层的输出预测值为:

pt=σ(vht+ct);

采用输出预测值和真实值的均方误差rmse作为损失函数loss,定义为:

其中pi为输出预测值,yi为真实值。在本优选方案中,lstm作为一种改进的rnn网络,擅长利用时间序列数据之间的非线性关系,因此使用lstm时间序列预测模型进行流量预测可以取得准确的预测效果。

优选的,所述步骤s3中输出加权后的序列段集合并采用反向传播bptt算法对所述lstm时间序列预测模型进行训练后,基于训练完毕的lstm时间序列预测模型对所述测试序列进行预测得到预测流量。

优选的,步骤s4中所述的通过sdn计算所需的预留资源具体为:定义时间段0~t1为网络当前的链路状况,时间段t1~t2为所述预测流量,且在t1时刻有一条持续t2-t1时间的大象流通过,时间段t1~t2间的tk时刻有一条老鼠流经过,则对所述老鼠流的预留资源为:

rneed=tneed×bneed

bleft=b-bcurrent

其中rneed为预留给所述老鼠流转发所需要的资源块,tneed为所述老鼠流持续的时间,bneed为所述老鼠流需要的带宽;blef为当前带宽余量,b为带宽总量,bcurrent为所述大象流占有的带宽总量,所述预留资源在t2时刻之后进行回收。在本优选方案中,为了保证tk时刻的老鼠流能够及时完成交互,sdn会下发计算得到的预留资源块,当t2过后及时回收预留的资源块,使得老鼠流在tk~(tk+tneed)时间段内能够及时完成数据交互,而不会等到t2时刻之后;同时预留资源块也能及时动态回收,而非静态分配某段带宽给老鼠流通过,提高了网络资源的利用率。

与现有技术相比,本发明技术方案的有益效果是:

本发明首先通过注意力机制对训练数据进行加权处理,使其中对于预测效果影响较大的部分赋有更大的权重,然后通过lstm时间序列预测模型对加权后的数据进行训练和预测,得到高精确度的预测流量后再通过sdn接收和处理预测结果,然后下达对应的预留策略。本发明方法首先通过注意力机制和lstm时间序列预测模型保证预测结果的准确性,从而使得基于预测结果的网络资源预留具有较高的准确性,提高资源利用率,解决了现有的网络资源预留方法由于流量预测结果存在误差,导致资源预留过多或过少的问题。

附图说明

图1为本实施例的总流程图。

图2为本实施例中注意力机制对预处理后的数据进行权重系数计算模型的示意图。

图3为本实施例lstm时间序列预测模型的示意图。

图4为本实施例中流量预测的示意图。

图5为本实施例中资源预留的示意图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例

一种基于注意力机制和流量预测模型的资源预留方法,如图1所示,包括以下步骤:

s1.获取历史流量数据并进行数据预处理;

获取历史流量数据,得到流量序列为seq={s1,s2,s3,...sn},将所述流量序列划分为训练序列seqtrain={s1,s2,s3,...sm}以及测试序列seqtest={sm+1,sm+2,sm+3,...sn},其中n是所述流量序列的总长度,m是所述训练序列的分段长度;

将所述训练序列分成n个序列段,得到序列段集合为:

x0=seqtrain={x1,x2,x3,...,xn}

其中其中t是划分后每个序列段的长度,k是进行分段时数据需要向后移动的步长;xn表示第n个序列段;

s2.利用注意力机制对预处理后的数据进行权重系数的计算,具体为:

构造利用注意力机制对预处理后的数据进行权重系数计算的模型,如图2所示,包括:

注意力权重

衡量流量序列在时间t的重要性的注意力量

其中为需要学习的参数,be为偏差项,为时间t上的第k个片段的值;

通过softmax函数对以及进行求解,使得的总和为1,得到加权后的序列段集合为

s3.构建lstm时间序列预测模型,如图3所示,输出加权后的序列段集合并采用反向传播bptt算法对所述lstm时间序列预测模型进行训练后,基于训练完毕的lstm时间序列预测模型对所述测试序列进行预测得到预测流量;

其中lstm时间序列预测模型包括输入层、输出层和隐藏层,所述隐藏层包括由lstm细胞构成的lstm层和以relu函数为激活函数的全连接层;

其中lstm细胞状态ct的更新公式为:

其中it是输入门的输出,wxi为输入与输入门的权重矩阵,whi为隐藏层和输入门的权重矩阵,ht-1为t-1时刻的隐藏层输出,bi为输入门偏差量,ft为遗忘门的输出,ct-1为t-1时刻的细胞状态,wxc为输入与细胞状态的权重矩阵,wxc为隐藏层和细胞状态的权重矩阵,bc为细胞状态的偏差量,和tanh分别是元素乘法和双曲正切激活函数;

其中隐藏层状态ht的更新公式为:

其中ot为输出门的输出,其中ot为输出门的输出;wxo为输入与输出门的权重矩阵,who为隐藏层和输出门的权重矩阵,bobc为输出门的偏差量;

其中所述输出层的输出预测值为:

pt=σ(vht+ct);

采用输出预测值和真实值的均方误差rmse作为损失函数loss,定义为:

其中pi为输出预测值,yi为真实值。

s4.基于预测得到的预测流量,通过sdn计算所需的预留资源并下达路由器流表从而预留网络资源;

如图4、5所示,定义时间段0~t1为网络当前的链路状况1,时间段t1~t2为所述预测流量2,且在t1时刻有一条持续t2-t1时间的大象流通过,时间段t1~t2间的tk时刻有一条老鼠流经过,则对所述老鼠流的预留资源3为:

rneed=tneed×bneed

bleft=b-bcurrent

其中rneed为预留给所述老鼠流转发所需要的资源块,tneed为所述老鼠流持续的时间,bneed为所述老鼠流需要的带宽;blef为当前带宽余量,b为带宽总量,bcurrent为所述大象流占有的带宽总量,所述预留资源在t2时刻之后进行回收,保证tk时刻的老鼠流能够及时完成交互,当t2过后及时回收预留的资源块,使得老鼠流在tk~(tk+tneed)时间段内能够及时完成数据交互,而不会等到t2时刻之后;同时预留资源块也能及时动态回收,而非静态分配某段带宽给老鼠流通过,提高了网络资源的利用率。

附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1