结合注意力机制的LSTM网络的移动云负载预测方法及系统与流程

专利2022-05-09  54


结合注意力机制的lstm网络的移动云负载预测方法及系统
技术领域
1.本发明属于移动云负载预测领域,特别涉及一种结合注意力机制的lstm网络的移动云负载预测方法及系统。


背景技术:

2.随着移动互联网的发展,云计算的关注热点开始向移动设备转移。移动支付、移动游戏以及虚拟现实这些日益复杂的移动设备的广泛应用给移动终端的计算和存储能力带来了极大的挑战,移动云计算技术应运而生。许多科技公司都为其移动云服务产品提供了弹性的自动伸缩功能,能够在系统运行时动态改变系统的资源分配量。在这一背景下,在云数据中心精确地进行资源管理非常重要。准确的资源管理可以通过减少开启的机器数量来促进数据中心绿色计算。现有的资源管理方案通常分为被动管理资源和主动管理资源两种。在被动管理方案下,当主机工作负载增加或减少到预设的特定阈值时,将进行资源管理或虚拟机迁移。但是,这种方案下,可能会导致因为虚拟机的供应和迁移耗时过长而无法应对工作负载突然变化所造成的违反服务水平协议(service

level agreement,sla)的问题。主动管理方案则通过识别可能的资源使用模式和所需的主要资源来预测未来时间的主机工作负载,可解决被动资源管理方案响应慢无法应对负载快速变化的问题。所以,主动方案下的负载预测可以大幅度提高云数据中心的运行效率、资源利用率,有助于实现智能资源拓展,对满足sla具有重要意义。因此,云计算中的负载预测已成为研究的热点。
3.现有的负载预测算法主要分成三大类,传统的基于时间序列数据的负载统计预测模型、基于机器学习技术的负载预测模型和集成的负载预测模型。
4.传统的预测模型的数据规律通过对大量数据进行统计分析得到,统计预测模型有自回归模型(ar,autoregressive model)、自回归移动平均模型(arma,autoregressive moving average model)以和差分自回归移动平均模型(arima,autoregressive integrated moving average model)等。但不幸的是,这些模型高度依赖所收集数据的固定形式和工作人员有经验的参数调整,并且传统方法很难进行长时间预测。近年来,将机器学习技术用于解决这些问题正成为研究热点,机器学习方法作为新兴工具被用在了负载预测中,如贝叶斯方法、支持向量机算法(svm,support vector machine)、随机森林算法、神经网络等。然而由于移动云计算负载波动大,预测难度大,因此很多机器学习模型无法有效利用长期依赖关系,预测精度不高,难以针对移动云计算负载波动大、任务周期短的特点进行预测。因此,一些结合了多种预测算法的集成预测算法已经成为解决负荷预测问题的一个有效的技术途径。通过将多种预测模型相结合,往往可以得到更好的性能。


技术实现要素:

5.本发明的目的在于针对上述现有技术存在的问题,提供一种结合注意力机制的lstm网络的移动云负载预测方法,能够对移动云主机负载进行准确的单步和多步预测。
6.实现本发明目的的技术解决方案为:一种结合注意力机制的lstm网络的移动云负
载预测方法,所述方法包括以下步骤:
7.步骤1,对云监控系统收集到的负载特征序列进行归一化处理;
8.步骤2,采用联合特征选择方法选取与目标负载特征最相关的特征;
9.步骤3,采用在线预测的无抽取的小波变换技术分解目标负载特征序列;
10.步骤4,构建结合注意力机制的lstm网络的移动云负载预测模型mclpm

lstmn

am;
11.步骤5,对所述移动云负载预测模型mclpm

lstmn

am进行训练;
12.步骤6,利用训练好的mclpm

lstmn

am模型进行移动云目标负载序列的单步及多步预测。
13.进一步地,步骤2所述采用联合特征选择方法选取与目标负载特征最相关的特征,具体过程包括:
14.步骤2

1,计算目标负载特征p
x
和其他负载特征p
y
之间的pearson相关系数计算公式为:
[0015][0016]
式中,cov(p
x
,p
y
)为负载特征p
x
和p
y
的协方差,和分别表示负载特征p
x
和p
y
的平均值,和分别表示目标负载特征p
x
和其他负载特征p
y
的标准差,x表示目标负载特征的序号,y表示目标负载特征外的其他负载特征的序号,e[]为期望函数;每个负载特征p
j
均具有t个观测值,即p
j
={p
j1
,p
j2
,..,p
jt
,...,p
jt
},p
jt
表示第j个特征在第t个时刻的观测值;
[0017]
步骤2

2,计算目标负载特征p
x
和其他负载特征p
y
之间的spearman相关系数
[0018]
假设p
x
和p
y
为分别具有t个观测值的两个负载特征,p
x
={p
x1
,p
x2
,....,p
xt
,..,p
xt
},p
y
={p
y1
,p
y2
,...,p
yt


,p
yt
},将p
x
和p
y
中t个观测值中的最低值的等级设为1,次之的等级设为2,依此类推,获得p
x
和p
y
中每个值的等级;的计算公式为:
[0019][0020]
式中,d

t
为被观测的两个负载特征p
x
和p
y
在第t时刻的等级差值;τ为计算所需的参数;的值介于[

1,1]之间,如果p
x
和p
y
两个特征变量彼此独立,则的值为零,否则两个变量存在关联性;
[0021]
步骤2

3,计算目标负载特征p
x
和其他负载特征p
y
之间的最大互信息系数计算公式为:
[0022][0023]
其中,为p
x
和p
y
间的互信息值,计算公式为:
[0024][0025]
式中,p
x
为属于p
x
的任意实数,p
y
为属于p
y
的任意实数,p(p
x
,p
y
)为p
x
和p
y
对于p
x
和p
y
的联合概率密度,p(p
x
)和p(p
y
)分别为p
x
和p
y
对于p
x
、p
y
的边缘概率密度;a和b分别表示将p
x
的值域分成a段,将p
y
的值域分成b段;b(t)是一个关于观测规模t的函数,表示网格划分a*b的上限;
[0026]
步骤2

4,基于步骤2

1至步骤2

3计算得到的不同负载特征与目标负载特征在多种不同指标下的相关性,构建相关度矩阵cm,该矩阵中cm
j,u
表示在第u种指标下第j个负载特征p
j
与目标负载特征p
x
的相关度值;所述指标包括pearson相关系数spearman相关系数最大互信息系数
[0027]
计算多种相关性指标的信息熵,计算公式为:
[0028][0029]
式中,e
u
为第u种指标对应的信息熵,p
u,j
表示在第u种指标下第j个负载特征与目标负载特征的相关度值cm
u,j
占该指标所有相关度值的比重,m为采集到的负载特征数量;
[0030]
步骤2

5,计算联合关联度,第j个负载特征的联合关联度cm
j
为:
[0031][0032]
其中,w
u
为第u种指标对应的权重,
[0033]
步骤2

6,构建候选特征矩阵mz
i
,具体包括:
[0034]
初始化候选特征矩阵mz
i
={},除去目标负载特征外其他负载特征的数量为m

1;
[0035]
在m
i
={p1,p2,...,p
j
,...p
m
‑1}中选取联合关联度值cm最大的s个负载特征向量,加入到候选特征矩阵mz
i
中,得到的mz
i
={p1,p2,...,p
s
}为最终输出的候选特征。
[0036]
进一步地,步骤3所述采用在线预测的无抽取的小波变换技术分解目标负载特征序列,具体为:
[0037]
通过
à
trous小波变换将步骤1获得的目标负载特征序列p
x
分解为如下形式:
[0038][0039]
集合{d1,d2,...,d
j
,sj}为原始的目标负载特征序列p
x
分解到分辨率为j的小波分解序列集合,其中s
j
为近似信号序列,d
j
为细节信号序列,s
j
={s
j1
,s
j2
,...,s
jt
},d
j
={d
j1
,d
j2
,...,d
jt
},均具有t个观测值;s
jt
、d
jt
分别表示分辨率为j的分解序列在时间t处的近似信号、细节信号,j=1,2,...,j。
[0040]
进一步地,步骤4中所述移动云负载预测模型mclpm

lstmn

am包括线性组件和非线性组件,其构建过程包括:
[0041]
步骤4

1,采用自回归模型即ar模型作为线性组件来捕捉目标负载特征序列的线性成分,该模型预测结果y
ar
的计算公式为:
[0042][0043]
式中,w
ar
和b
ar
为线性组件ar模型的系数,ω表示输入序列的时间窗口的大小,即时间序列长度,x
t
表示负载特征序列在t时间步时的值;
[0044]
步骤4

2,采用编码器

解码器的结构构建非线性组件,编码器和解码器各由一个lstm网络构成,在编码器中使用注意力机制以赋予不同时刻输入不同的权重,h
t
表示编码层的lstm网络的隐含层状态向量,h
t
=lstm(h
t
‑1,x
t
);
[0045]
步骤4

3,计算注意力权重
[0046][0047]
式中,表示t时间步lstm网络输出的第i个隐藏状态向量h
i
对于预测输出的重要性,表示时间步t处的输入h
t
与时间步i处的输出s
i
之间的相关性评分;
[0048]
步骤4

4,计算注意力上下文向量c={c1,...,c
t
,...c
ω
},其中时间步t时的注意力上下文向量c
t
的计算公式为:
[0049][0050]
步骤4

5,在解码器解码阶段,将编码层中注意力机制中得到的c={c1,...,c
t
,...c
ω
}向量通过一层lstm网络进行计算,得到t时间步隐藏状态向量s
t
=lstm(s
t
‑1,c
t
);
[0051]
之后采用一个全连接层将隐藏状态向量s
t
转为非线性组件部分的最终预测结果y
ed

[0052]
y
ed
=w
ed
s
t
b
ed
ꢀꢀ
(11)
[0053]
式中,w
ed
和b
ed
为全连接层需要学习的参数,全连接层的输出即非线性组件部分的最终预测结果;
[0054]
步骤4

6,计算最终预测结果y:
[0055]
y=y
ed
y
ar
ꢀꢀ
(12)
[0056]
式中,y={y
ω 1
,...,y
t
,...,y
ω t

},t

=1时y为主机未来一个时间步的负载,t

>1时y为未来t

个时间步的负载序列。
[0057]
一种结合注意力机制的lstm网络的移动云计算负载预测系统,所述系统包括:
[0058]
数据处理模块,用于对云监控系统收集到的负载特征序列进行归一化处理;
[0059]
特征选取模块,用于采用联合特征选择方法选取与目标负载特征最相关的特征;
[0060]
分解模块,用于采用在线预测的无抽取的小波变换技术分解目标负载特征序列;
[0061]
模型构建模块,用于构建结合注意力机制的lstm网络的移动云负载预测模型
mclpm

lstmn

am;
[0062]
模型训练模块,用于对所述移动云负载预测模型mclpm

lstmn

am进行训练;
[0063]
预测模块,用于利用训练好的mclpm

lstmn

am模型进行移动云目标负载序列的单步及多步预测。
[0064]
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
[0065]
步骤1,对云监控系统收集到的负载特征序列进行归一化处理;
[0066]
步骤2,采用联合特征选择方法选取与目标负载特征最相关的特征;
[0067]
步骤3,采用在线预测的无抽取的小波变换技术分解目标负载特征序列;
[0068]
步骤4,构建结合注意力机制的lstm网络的移动云负载预测模型mclpm

lstmn

am;
[0069]
步骤5,对所述移动云负载预测模型mclpm

lstmn

am进行训练;
[0070]
步骤6,利用训练好的mclpm

lstmn

am模型进行移动云目标负载序列的单步及多步预测。
[0071]
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0072]
步骤1,对云监控系统收集到的负载特征序列进行归一化处理;
[0073]
步骤2,采用联合特征选择方法选取与目标负载特征最相关的特征;
[0074]
步骤3,采用在线预测的无抽取的小波变换技术分解目标负载特征序列;
[0075]
步骤4,构建结合注意力机制的lstm网络的移动云负载预测模型mclpm

lstmn

am;
[0076]
步骤5,对所述移动云负载预测模型mclpm

lstmn

am进行训练;
[0077]
步骤6,利用训练好的mclpm

lstmn

am模型进行移动云目标负载序列的单步及多步预测。
[0078]
本发明与现有技术相比,其显著优点为:1)为多变量资源联合特征选择策略的设计与实现提供了有效的方法。联合特征选择策略具有可有效避免某一指标下关联度评判失效的情况,因此可提高鲁棒性。且联合特征选择策略比起单特征预测可以提供更多的信息,因此可提高预测效果,还可以在保证预测效果的情况下减少冗余特征变量,从而减少构建预测模型所需的时间。使用了基于无抽取小波变换的分解方法,可以将原始时间序列各个子成分分离,并对各个尺度上的子序列进行单独预测,以应对高采样频率带来的问题,从而提高了在线预测的准确性;2)针对很多方法在特征提取期间赋予历史序列相同权重的问题,提出了一种结合注意力机制的lstm的编码器

解码器mclpm

lstmn

am负载预测模型。在处理负载序列时,注意力机制会评估历史数据的相关性并给出相应的权重,可以识别不同历史时刻负载的重要性,提高了对相关性加权的准确性。
[0079]
下面结合附图对本发明作进一步详细描述。
附图说明
[0080]
图1为一个实施例中结合注意力机制的lstm网络的移动云负载预测方法的流程图。
[0081]
图2为一个实施例中mclpm

lstmn

am预测模型结构图。
[0082]
图3为一个实施例中引入注意力机制的lstm编

解码器结构图。
[0083]
图4为一个实施例中单时间步长下cpu负载预测准确率比较图,our method为本发明的方法,arima、svr、lstm、lstm

ed是其他传统方法和机器学习方法。
[0084]
图5为一个实施例中分别在1、2、6、12时间步长下cpu负载预测准确率比较图,our method为本发明的方法,lstm和lstm

ed其他最新的神经网络方法。
具体实施方式
[0085]
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0086]
本发明提出了一种联合特征选择下在无抽取的小波变换方法后结合注意力机制的lstm网络的移动云负载预测模型mclpm

lstmn

am。lstm作为神经网络的一种特殊形式,解决了很多机器学习模型忽略长期依赖的问题,且将采用长短期记忆网络作为编码器

解码器网络的组成部分。同时引入时域注意力机制,赋予历史序列不同的权重,从而捕捉到负载中与预测序列最相关时刻的信息。进一步结合了自回归模型以处理负载中的线性数据。
[0087]
在一个实施例中,结合图1,提供了一种结合注意力机制的lstm网络的移动云负载预测方法,所述方法包括以下步骤:
[0088]
步骤1,对云监控系统收集到的负载特征序列进行归一化处理;
[0089]
这里,云监控系统采集到的第i个主机的特征向量集合m
i
={p1,p2,...,p
j
,...,p
m
},其中p1到p
m
为定期从主机收集得到的m个特征,如cpu利用率、内存使用率、磁盘输入/输出时间、磁盘空间、正在运行的任务数等;每个特征p
j
均具有t个观测值,即p
j
={p
j1
,p
j2
,..,p
jt
,...,p
jt
};为了消除各个特征之间的不同量纲,使其具有相同的尺度,对每个特征集合进行级差标准化处理,映射到(0,1)区间内;目标预测特征集合p
x
包含在m
i
中;
[0090]
步骤2,采用联合特征选择方法选取与目标负载特征最相关的特征;
[0091]
步骤3,采用在线预测的无抽取的小波变换技术分解目标负载特征序列;
[0092]
步骤4,构建结合注意力机制的lstm网络的移动云负载预测模型mclpm

lstmn

am;
[0093]
步骤5,对所述移动云负载预测模型mclpm

lstmn

am进行训练;
[0094]
步骤6,利用训练好的mclpm

lstmn

am模型进行移动云目标负载序列的单步及多步预测。
[0095]
进一步地,在其中一个实施例中,步骤2所述采用联合特征选择方法选取与目标负载特征最相关的特征,具体过程包括:
[0096]
步骤2

1,首先将p
x
移出m
i
,m
i
={p1,p2,...,p
j
,...,p
m
‑1},任意p
y
∈m
i
,计算目标负载特征p
x
和其他负载特征p
y
之间的pearson相关系数计算公式为:
[0097][0098]
式中,cov(p
x
,p
y
)为负载特征p
x
和p
y
的协方差,和分别表示负载特征p
x
和p
y
的平均值,和分别表示目标负载特征p
x
和其他负载特征p
y
的标准差,x表示目标负载特征的序号,y表示目标负载特征外的其他负载特征的序号,e[]为期望函数;每个负载特征p
j
均具有t个观测值,即p
j
={p
j1
,p
j2
,...,p
jt
,...,p
jt
},p
jt
表示第j个特征在第t个时刻的
观测值;
[0099]
步骤2

2,计算目标负载特征p
x
和其他负载特征p
y
之间的spearman相关系数
[0100]
spearman相关系数利用单调方程评价两个特征变换的强度和趋向,比如两个变量可能一起变化,但并不一定以相同的速率在一致的方向变化;设p
x
和p
y
为分别具有t个观测值的两个负载特征,p
x
={p
x1
,p
x2
,...,p
xt
,...,p
xt
},p
y
={p
y1
,p
y2
,...,p
yt
,...,p
yt
},将p
x
和p
y
中t个观测值中的最低值的等级设为1,次之的等级设为2,依此类推,获得p
x
和p
y
,中每个值的等级;的计算公式为:
[0101][0102]
式中,d

t
为被观测的两个负载特征p
x
和p
y
在第t时刻的等级差值;τ为计算所需的参数,一般情况下τ设为6;的值介于[

1,1]之间,如果p
x
和p
y
两个特征变量彼此独立,则的值为零,否则两个变量存在关联性;
[0103]
步骤2

3,计算目标负载特征p
x
和其他负载特征p
y
之间的最大互信息系数最大互信息系数算法本质上是计算两个特征间的互信息值,最大互信息系数主要利用互信息和网格划分方法进行计算;任意负载特征p
x
均具有t个观测值,p
x
={p
x1
,p
x2
,...,p
xt
};在给定的网格分辨率下,对由负载特征p
x
和p
y
构成的二维散点图按照不同的划分方案进行划分,求出其中最大的互信息值,将该互信息值进行归一化;改变网格分辨率,不同尺度下互信息的最大值为负载特征p
x
和p
y
的最大互信息系数值,计算公式为:
[0104][0105]
一般地,当b(t)=t
0.6
时效果最好,p
x
和p
y
的相关性和mic的绝对值正相关;
[0106]
其中,为p
x
和p
y
间的互信息值,计算公式为:
[0107][0108]
式中,p
x
为属于p
x
的任意实数,p
y
为属于p
y
的任意实数,p(p
x
,p
y
)为p
x
和p
y
对于p
x
和p
y
的联合概率密度,p(p
x
)和p(p
y
)分别为p
x
和p
y
对于p
x
、p
y
的边缘概率密度;a和b分别表示将p
x
的值域分成a段,将p
y
的值域分成b段;b(t)是一个关于观测规模t的函数,表示网格划分a*b的上限;
[0109]
这里示例性地,给出步骤2

1至步骤2

3的一个实施方案进行进一步说明:
[0110]
假设目标预测负载p
x
为cpu利用率,p
y
为特征向量集合m
i
中选出的特征——内存利用率;当观测值t为6时,p
x
={0.8,0.7,0.6,0.8,0.9,1.0},p
y
={0.85,0.6,0.65,0.85,0.8,1.0};两个负载资源特征p
x
和p
y
之间的pearson相关系数为:
[0111]
两个负载资源特征p
x
和p
y
之间的spearman相关系数计算中将p
x
和p
y
中t个观测值中的最低值的等级设为1,下一个最低值的等级设为2,依此类推;所以p
x
中最低值为0.6,等级设为1;p
y
中最低值为0.6,等级设为1;p
x
的等级为[3,2,1,3,4,5];p
y
的等级为[4,1,2,4,3,5];被观测的第t时刻p
x
和p
y
等级的差值为d

t;的值为
[0112]
p
x
和p
y
间的互信息值计算需要对p
x
={0.8,0.7,0.6,0.8,0.9,1.0}和p
y
={0.85,0.6,0.65,0.85,0.8,1.0}组成的散点图{(0.8,0.85),(0.7,0.6),(0.6,0.65),(0.8,0.85),(0.9,0.8),(1.0,1.0)}进行网格化;网格分辨率a和b表示将变量p
x
的值域分成a段,将p
y
的值域分成b段;当a=1时,b=3;将变量p
x
的值域分成1段,将p
y
的值域分成3段,对每一个网格的散点求最大的互信息值;当a=3时,b=1;将变量p
x
的值域分成3段,将p
y
的值域分成1段,对每一个网格的散点求互信息值得到每个网格下的互信息值,将得到的最大互信息除以log(min(x,y)),即为归一化;当分辨率a*b为5*4时,当分辨率a*b为4*5时,对满足a*b<b(t)=3的分辨率下的所有求出的互信息值中取最大值,即可得到最后的
[0113]
步骤2

4,基于步骤2

1至步骤2

3计算得到的不同负载特征与目标负载特征在多种不同指标下的相关性,构建相关度矩阵cm,该矩阵中cm
j,u
表示在第u种指标下第j个负载特征p
j
与目标负载特征p
x
的相关度值;所述指标包括pearson相关系数spearman相关系数最大互信息系数当目标负载特征为cpu负载时,其他可能相关的负载特征一般包括内存、网络带宽等;由于采集到的负载特征数量为m,除去目标负载特征外其他需要计算相关度的负载特征的数量为m

1,所以j=1,2,...,m

1;
[0114]
计算多种相关性指标的信息熵,计算公式为:
[0115][0116]
式中,e
u
为第u种指标对应的信息熵,p
u,j
表示在第u种指标下第j个负载特征与目标负载特征的相关度值cm
u,j
占该指标所有相关度值的比重,m为采集到的负载特征数量;
[0117]
步骤2

5,计算联合关联度,第j个负载特征的联合关联度cm
j
为:
[0118][0119]
其中,w
u
为第u种指标对应的权重,
[0120]
步骤2

6,构建候选特征矩阵mz
i
,具体包括:
[0121]
初始化候选特征矩阵mz
i
={},除去目标负载特征外其他负载特征的数量为m

1;
[0122]
在m
i
={p1,p2,...,p
j
,...,p
m
‑1}中选取联合关联度值cm最大的s个负载特征向量,加入到候选特征矩阵mz
i
中,得到的mz
i
={p1,p2,...,p
s
}为最终输出的候选特征。
[0123]
进一步地,在其中一个实施例中,步骤3所述采用在线预测的无抽取的小波变换技术分解目标负载特征序列,具体为:
[0124]
通过
à
trous小波变换将步骤1获得的目标负载特征序列p
x
分解为如下形式:
[0125][0126]
集合{d1,d2,...,d
j
,s
j
}为原始的目标负载特征序列p
x
分解到分辨率为j的小波分解序列集合,其中s
j
为近似信号序列,d
j
为细节信号序列,s
j
={s
j1
,s
j2
,...,s
jt
},d
j
={d
j1
,d
j2
,...,d
jt
},均具有t个观测值;s
jt
、d
jt
分别表示分辨率为j的分解序列在时间t处的近似信号、细节信号,j=1,2,...,j。
[0127]
将卷积核定义为k(h),分辨率为j的分解序列在时间t处的近似信号s
jt
的计算公式为:
[0128]
s
0t
=p
xt
ꢀꢀ
(20)
[0129][0130]
分辨率为j的分解序列在时间t处的细节信号d
jt
为:
[0131]
d
jt
=s
jt

s
(j

1)t

ꢀꢀ
(22)
[0132]
为了适应移动云负载的预测,降低小波变换的计算量,本文采用简单的滤波器k(h)=[1/2,1/2]作为低通滤波器,则近似信号s
jt
的计算公式为:
[0133][0134]
本发明将分辨率j设置为3,可以分解出较为平滑的近似信号,最终可以将目标负载序列p
x
分解成为三个不同分辨率下的细节信号序列d1,d2,d3和一个分辨率为3时的近似信号序列s3;由于变换的冗余性,它们的时间长度与原始的目标负载序列p
x
相等,所以每一个时间序列的同一个时间点可以建立直接联系,之间的规律可以被步骤4提出的模型获取到。
[0135]
进一步地,在一个实施例中,步骤4构建了一个结合注意力机制的lstm网络的移动云负载预测模型mclpm

lstmn

am。主机负载时间序列分为固定窗口大小的连续历史序列和预测序列:历史和预测序列分别用作mclpm

lstmn

am的输入和受监督的输出标签;输入向量为x,由步骤2中得到的{p1,p2,...,p
s
}、步骤1中的目标负载序列p
x
和步骤3得到的序列{d1,d2,d3,s3}构成,即x={p
x
,p1,p2,...,p
s
,d1,d2,d3,s3};且x具有ω个时间步长,即x={x1,...x
t
,...,x
ω
},x
t
={p
xt
,p
1t
,p
2t
,...,,p
st
,,d
1t
,d
2t
,,d
3t
,s
3t
},输入x
t
得到的输出预测序列y={y
ω 1
,...,y
t
,...,y
ω t

|;t

=1时y是主机未来单个时间间隔的负载,t

>1时是未来多个时间间隔的负载值;将x作为模型的输入,输入mclpm

lstmn

am模型进行训练;
[0136]
mclpm

lstmn

am模型由两个主要组件组成,包括线性组件和非线性组件;采用经
典的ar模型作为线性组件来捕捉目标预测负载序列的线性成分;结合图3,非线性组件采用编

解码器的结构,编码器和解码器各由一个lstm网络构成,在编码器中使用注意力机制以赋予不同时刻输入不同的权重;mclpm

lstmn

am预测模型结构如图2所示。步骤4构建模型的具体过程包括:
[0137]
步骤4

1,采用自回归模型即ar模型作为线性组件来捕捉目标负载特征序列的线性成分,以增强mclpm

lstmn

am模型整体的线性预测能力,该模型预测结果y
ar
的计算公式为:
[0138][0139]
式中,w
ar
和b
ar
为线性组件ar模型的系数,ω表示输入序列的时间窗口的大小,即时间序列长度,x
t
表示负载特征序列在t时间步时的值;
[0140]
步骤4

2,采用编码器

解码器的结构构建非线性组件,编码器和解码器各由一个lstm网络构成,在编码器中使用注意力机制以赋予不同时刻输入不同的权重,h
t
表示编码层的lstm网络的隐含层状态向量,h
t
=lstm(h
t
‑1,x
t
);
[0141]
步骤4

3,计算注意力权重
[0142][0143]
式中,表示t时间步lstm网络输出的第i个隐藏状态向量h
i
对于预测输出的重要性,表示时间步t处的输入h
t
与时间步i处的输出s
i
之间的相关性评分;
[0144]
这里,优选下面的评分函数:
[0145][0146][0147]
式中,v
a
为需要学习的向量,w
a
为评分函数att的权重,[h
t
;s
i
]表示将编

解码器中的隐藏状态h
t
和s
i
进行连接,tanh为双曲正切函数;
[0148]
步骤4

4,计算注意力上下文向量c={c1,...,c
t
,...c
ω
},其中时间步t时的注意力上下文向量c
t
的计算公式为:
[0149][0150]
从上面的计算可以看出,注意力机制作为一个自动选择过程,将编码器中的隐藏状态视为历史负载序列的组成,选择对未来负载值有影响的历史负载序列;注意力模块得到上下文向量c={c1,...,c
t
,...c
ω
}后将其作为输入传给下一层解码器;
[0151]
步骤4

5,在解码器解码阶段,将编码层中注意力机制中得到的c={c1,...,c
t
,...c
ω
}向量通过一层lstm网络进行计算,得到t时间步隐藏状态向量s
t
=lstm(s
t
‑1,c
t
);
[0152]
之后采用一个全连接层将隐藏状态向量s
t
转为非线性组件部分的最终预测结果y
ed

[0153]
y
ed
=w
ed
s
t
b
ed
ꢀꢀ
(29)
[0154]
式中,w
ed
和b
ed
为全连接层需要学习的参数,全连接层的输出即非线性组件部分的最终预测结果;
[0155]
步骤4

6,计算最终预测结果y:
[0156]
y=y
ed
y
ar
ꢀꢀ
(30)
[0157]
式中,y={y
ω 1
,...,y
t
,...,y
ω t

},t

=1时y为主机未来一个时间步的负载,t

>1时y为未来t

个时间步的负载序列。
[0158]
示例性地,步骤5对所述移动云负载预测模型mclpm

lstmn

am进行训练:利用步骤4中构建的mclpm

lstmn

am模型对步骤1~3的过程处理后的监控数据集中的历史负载序列x进行训练;历史窗口长度ω为17,编码层有128个神经元,解码层有64个神经元,每次训练的轮次为500;批处理的大小为128,初始学习率为0.0001。
[0159]
示例性地,步骤6利用训练好的mclpm

lstmn

am模型进行移动云目标负载序列的单步及多步预测:利用步骤5中训练好的mclpm

lstmn

am模型对通过步骤1~3的过程处理后得到的候选特征集合的监控数据集中的输入负载序列x进行预测,得到输出序列y={y
ω 1
,...,y
t
,...,y
ω t

}。,其中t

=1时,y是预测主机未来一个时间步的负载值;t

>1时,y是预测未来t

个时间步的负载序列。
[0160]
图4和图5给出了在google云计算数据集上本发明方法与其他方法的对比结果。由图4和图5可知,本发明的方法无论是rmse还是mae的评估指标下的预测精准度都要高于其他模型。
[0161]
在一个实施例中,提供了一种结合注意力机制的lstm网络的移动云计算负载预测系统,所述系统包括:
[0162]
数据处理模块,用于对云监控系统收集到的负载特征序列进行归一化处理;
[0163]
特征选取模块,用于采用联合特征选择方法选取与目标负载特征最相关的特征;
[0164]
分解模块,用于采用在线预测的无抽取的小波变换技术分解目标负载特征序列;
[0165]
模型构建模块,用于构建结合注意力机制的lstm网络的移动云负载预测模型mclpm

lstmn

am;
[0166]
模型训练模块,用于对所述移动云负载预测模型mclpm

lstmn

am进行训练;
[0167]
预测模块,用于利用训练好的mclpm

lstmn

am模型进行移动云目标负载序列的单步及多步预测。
[0168]
关于结合注意力机制的lstm网络的移动云负载预测系统的具体限定可以参见上文中对于结合注意力机制的lstm网络的移动云负载预测方法的限定,在此不再赘述。上述结合注意力机制的lstm网络的移动云负载预测系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0169]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
[0170]
步骤1,对云监控系统收集到的负载特征序列进行归一化处理;
[0171]
步骤2,采用联合特征选择方法选取与目标负载特征最相关的特征;
[0172]
步骤3,采用在线预测的无抽取的小波变换技术分解目标负载特征序列;
[0173]
步骤4,构建结合注意力机制的lstm网络的移动云负载预测模型mclpm

lstmn

am;
[0174]
步骤5,对所述移动云负载预测模型mclpm

lstmn

am进行训练;
[0175]
步骤6,利用训练好的mclpm

lstmn

am模型进行移动云目标负载序列的单步及多步预测。
[0176]
关于每一步的具体限定可以参见上文中对于结合注意力机制的lstm网络的移动云负载预测方法的限定,在此不再赘述。
[0177]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0178]
步骤1,对云监控系统收集到的负载特征序列进行归一化处理;
[0179]
步骤2,采用联合特征选择方法选取与目标负载特征最相关的特征;
[0180]
步骤3,采用在线预测的无抽取的小波变换技术分解目标负载特征序列;
[0181]
步骤4,构建结合注意力机制的lstm网络的移动云负载预测模型mclpm

lstmn

am;
[0182]
步骤5,对所述移动云负载预测模型mclpm

lstmn

am进行训练;
[0183]
步骤6,利用训练好的mclpm

lstmn

am模型进行移动云目标负载序列的单步及多步预测。
[0184]
关于每一步的具体限定可以参见上文中对于结合注意力机制的lstm网络的移动云负载预测方法的限定,在此不再赘述。
[0185]
本发明的方法预测准确率高,可以有效应用于移动云计算负载的预测。
[0186]
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

技术特征:
1.一种结合注意力机制的lstm网络的移动云负载预测方法,其特征在于,所述方法包括以下步骤:步骤1,对云监控系统收集到的负载特征序列进行归一化处理;步骤2,采用联合特征选择方法选取与目标负载特征最相关的特征;步骤3,采用在线预测的无抽取的小波变换技术分解目标负载特征序列;步骤4,构建结合注意力机制的lstm网络的移动云负载预测模型mclpm

lstmn

am;步骤5,对所述移动云负载预测模型mclpm

lstmn

am进行训练;步骤6,利用训练好的mclpm

lstmn

am模型进行移动云目标负载序列的单步及多步预测。2.根据权利要求1所述的结合注意力机制的lstm网络的移动云负载预测,其特征在于,步骤2所述采用联合特征选择方法选取与目标负载特征最相关的特征,具体过程包括:步骤2

1,计算目标负载特征p
x
和其他负载特征p
y
之间的pearson相关系数计算公式为:式中,cov(p
x
,p
y
)为负载特征p
x
和p
y
的协方差,和分别表示负载特征p
x
和p
y
的平均值,和分别表示目标负载特征p
x
和其他负载特征p
y
的标准差,x表示目标负载特征的序号,y表示目标负载特征外的其他负载特征的序号,e[]为期望函数;每个负载特征p
j
均具有t个观测值,即p
j
={p
j1
,p
j2
,...,p
jt
,...,p
jt
},p
jt
表示第j个特征在第t个时刻的观测值;步骤2

2,计算目标负载特征p
x
和其他负载特征p
y
之间的spearman相关系数设p
x
和p
y
为分别具有t个观测值的两个负载特征,p
x
={p
x1
,p
x2
,...,p
xt
,...,p
xt
},p
y
={p
y1
,p
y2
,...,p
yt
,...,p
yt
},将p
x
和p
y
中t个观测值中的最低值的等级设为1,次之的等级设为2,依此类推,获得p
x
和p
y
中每个值的等级;的计算公式为:式中,d

t
为被观测的两个负载特征p
x
和p
y
在第t时刻的等级差值;τ为计算所需的参数;的值介于[

1,1]之间,如果p
x
和p
y
两个特征变量彼此独立,则的值为零,否则两个变量存在关联性;步骤2

3,计算目标负载特征p
x
和其他负载特征p
y
之间的最大互信息系数计算公式为:
其中,为p
x
和p
y
间的互信息值,计算公式为:式中,p
x
为属于p
x
的任意实数,p
y
为属于p
y
的任意实数,p(p
x
,p
y
)为p
x
和p
y
对于p
x
和p
y
的联合概率密度,p(p
x
)和p(p
y
)分别为p
x
和p
y
对于p
x
、p
y
的边缘概率密度;a和b分别表示将p
x
的值域分成a段,将p
y
的值域分成b段;b(t)是一个关于观测规模t的函数,表示网格划分a*b的上限;步骤2

4,基于步骤2

1至步骤2

3计算得到的不同负载特征与目标负载特征在多种不同指标下的相关性,构建相关度矩阵cm,该矩阵中cm
j,u
表示在第u种指标下第j个负载特征p
j
与目标负载特征p
x
的相关度值;所述指标包括pearson相关系数spearman相关系数最大互信息系数计算多种相关性指标的信息熵,计算公式为:式中,e
u
为第u种指标对应的信息熵,p
u,j
表示在第u种指标下第j个负载特征与目标负载特征的相关度值cm
u,j
占该指标所有相关度值的比重,m为采集到的负载特征数量;步骤2

5,计算联合关联度,第j个负载特征的联合关联度cm
j
为:其中,w
u
为第u种指标对应的权重,步骤2

6,构建候选特征矩阵mz
i
,具体包括:初始化候选特征矩阵mz
i
={},除去目标负载特征外其他负载特征的数量为m

1;在m
i
={p1,p2,...,p
j
,...,p
m
‑1}中选取联合关联度值cm最大的s个负载特征向量,加入到候选特征矩阵mz
i
中,得到的mz
i
={p1,p2,...,p
s
}为最终输出的候选特征。3.根据权利要求2所述的结合注意力机制的lstm网络的移动云负载预测方法,其特征在于,步骤3所述采用在线预测的无抽取的小波变换技术分解目标负载特征序列,具体为:通过
àꢀ
trous小波变换将步骤1获得的目标负载特征序列p
x
分解为如下形式:
集合{d1,d2,...,d
j
,s
j
}为原始的目标负载特征序列p
x
分解到分辨率为j的小波分解序列集合,其中s
j
为近似信号序列,d
j
为细节信号序列,s
j
={s
j1
,s
j2
,...,s
jt
},d
j
={d
j1
,d
j2
,...,d
jt
},均具有t个观测值;s
jt
、d
jt
分别表示分辨率为j的分解序列在时间t处的近似信号、细节信号,j=1,2,...,j。4.根据权利要求3所述的结合注意力机制的lstm网络的移动云负载预测方法,其特征在于,步骤3中分辨率为j的分解序列在时间t处的近似信号s
jt
的计算公式为:s
0t
=p
xt
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)式中,k(h)为卷积核;分辨率为j的分解序列在时间t处的细节信号d
jt
为:d
jt
=s
jt

s
(j

1)t

ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)5.根据权利要求4所述的结合注意力机制的lstm网络的移动云负载预测方法,其特征在于,所述k(h)=[1/2,1/2],则近似信号s
jt
的计算公式为:6.根据权利要求4所述的结合注意力机制的lstm网络的移动云负载预测方法,其特征在于,步骤4中所述移动云负载预测模型mclpm

lstmn

am包括线性组件和非线性组件,其构建过程包括:步骤4

1,采用自回归模型即ar模型作为线性组件来捕捉目标负载特征序列的线性成分,该模型预测结果y
ar
的计算公式为:式中,w
ar
和b
ar
为线性组件ar模型的系数,ω表示输入序列的时间窗口的大小,即时间序列长度,x
t
表示负载特征序列在t时间步时的值;步骤4

2,采用编码器

解码器的结构构建非线性组件,编码器和解码器各由一个lstm网络构成,在编码器中使用注意力机制以赋予不同时刻输入不同的权重,h
t
表示编码层的lstm网络的隐含层状态向量,h
t
=lstm(h
t
‑1,x
t
);步骤4

3,计算注意力权重3,计算注意力权重式中,表示t时间步lstm网络输出的第i个隐藏状态向量h
i
对于预测输出的重要性,
表示时间步t处的输入h
t
与时间步i处的输出s
i
之间的相关性评分;步骤4

4,计算注意力上下文向量c={c1,...,c
t
,...c
ω
},其中时间步t时的注意力上下文向量c
t
的计算公式为:步骤4

5,在解码器解码阶段,将编码层中注意力机制中得到的c={c1,...,c
t
,...c
ω
}向量通过一层lstm网络进行计算,得到t时间步隐藏状态向量s
t
=lstm(s
t
‑1,c
t
);之后采用一个全连接层将隐藏状态向量s
t
转为非线性组件部分的最终预测结果y
ed
:y
ed
=w
ed
s
t
b
ed
ꢀꢀꢀꢀꢀꢀꢀꢀ
(15)式中,w
ed
和b
ed
为全连接层需要学习的参数,全连接层的输出即非线性组件部分的最终预测结果;步骤4

6,计算最终预测结果y:y=y
ed
y
ar
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)式中,y={y
ω 1
,...,y
t
,...,y
ω t

},t

=1时y为主机未来一个时间步的负载,t

>1时y为未来t

个时间步的负载序列。7.基于权利要求1至6任意一项所述方法的结合注意力机制的lstm网络的移动云负载预测系统,其特征在于,所述系统包括:数据处理模块,用于对云监控系统收集到的负载特征序列进行归一化处理;特征选取模块,用于采用联合特征选择方法选取与目标负载特征最相关的特征;分解模块,用于采用在线预测的无抽取的小波变换技术分解目标负载特征序列;模型构建模块,用于构建结合注意力机制的lstm网络的移动云负载预测模型mclpm

lstmn

am;模型训练模块,用于对所述移动云负载预测模型mclpm

lstmn

am进行训练;预测模块,用于利用训练好的mclpm

lstmn

am模型进行移动云目标负载序列的单步及多步预测。8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
技术总结
本发明公开了一种结合注意力机制的LSTM网络的移动云负载预测方法及系统,属于移动云负载预测领域。可应用于云计算虚拟机、云计算主机、云数据中心的各种负载预测。方法具体包括:对云监控系统收集到的负载特征序列进行归一化处理;采用联合特征选择方法选取与目标负载特征最相关的特征;采用在线预测的无抽取的小波变换技术分解目标负载特征序列;构建结合注意力机制的LSTM网络的移动云负载预测模型MCLPM


技术研发人员:庄毅 陈丝雨 李静
受保护的技术使用者:南京航空航天大学
技术研发日:2021.03.19
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-12915.html

最新回复(0)