一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于自注意力机制DLSTM的云服务器老化预测方法

2022-05-18 11:47:01 来源:中国专利 TAG:

基于自注意力机制dlstm的云服务器老化预测方法
技术领域
1.本发明属于时间序列预测技术领域,涉及一种基于自注意力机制dlstm(deep long short-term memory)的云服务器老化预测方法。


背景技术:

2.云计算包含了多种计算资源,提供安全和能够快速获取的云计算服务和数据存储服务。云服务器是云计算的重要支撑技术之一,它的高扩展性、高度灵活性和高性价比,使得人们能够根据自己的需求去获取相应的服务,既可以节约开销,又可以提高资源利用率。但是在服务器持续的运行中,软件老化现象开始出现。软件老化现象由资源泄露、未释放文件锁和未终止的进程等错误情况的积累所导致,使得系统性能下降甚至系统崩溃,最终导致系统开销急剧增加。为了进一步地优化云服务器的运用,探索云服务器的老化情况对于云服务器性能的影响变得十分重要。
3.随着云计算技术和云服务器的不断发展,越来越多的专家开始着力于研究云服务器老化的规律,探究如何才能使得云服务器在更好状态下为云用户提供服务。
4.现有老化预测分析的方法有基于状态模型和基于数据度量的两类方法。其中基于状态模型的方法主要采用petri网和markov建模方法建立系统状态模型,但在实际任务中,建立准确模型的过程会十分困难;基于数据度量的方法主要包含时间序列方法和机器学习方法。其中长短期记忆(long short-term memory,lstm)深度学习网络能满足需要记忆较长时间段的数据信息来达到预测效果的需求,但是它在时间序列预测的表现不是很好。而传统bp神经网络方法,它的参数选择会比较困难,很难选择最合适的参数以达到最好预测效果。


技术实现要素:

5.本发明的目的是提供一种基于自注意力机制dlstm的云服务器老化预测方法,解决了传统预测方法对长时间运行、数据量大的云服务器老化情况预测不够准确的问题。
6.本发明所采用的技术方案是:
7.基于自注意力机制dlstm的云服务器老化预测方法,包括如下步骤:
8.步骤1,采集云服务器老化情况的数据指标,获取云服务器资源和性能参数的时间序列数据;
9.步骤2,对序列数据进行预处理,得到预处理后的数据集;
10.步骤3,将经步骤2中预处理后的云服务器老化数据分成训练集和测试集;
11.步骤4,构建基于注意力机制的云服务器老化数据时间序列的dlstm预测模型;
12.步骤5,利用训练集数据对dlstm预测模型进行训练;
13.步骤6,利用训练后dlstm预测模型预测测试集数据,并对dlstm预测模型进行性能评价。
14.本发明的特点还在于:
15.步骤2具体包括:
16.步骤2.1,对序列数据进行一阶差分得到差分序列;
17.步骤2.2,将一阶差分数据序列转换为时间步矩阵,矩阵中每一元都包含一个时间步长度的数据片段;
18.步骤2.3,对时间步矩阵进行归一化至[-1,1]区间得到预处理后的数据集。
[0019]
步骤2.2的具体过程为:
[0020]
将原有序列转换为一个n*1的矩阵p1;在原有序列之前插入一个0,再转换为一个n*1的矩阵p2;将矩阵p1和p2合并为一个n*2矩阵p

;即:
[0021][0022]
其中矩阵p

即为时间步矩阵。
[0023]
步骤4中dlstm预测模型由50个lstm堆叠而成,每个lstm包括遗忘门、输入门和输出门,输入门的激活函数为tanh函数,遗忘门和输出门所用激活函数为sigmoid函数;dlstm神经网络中包括依次连接的输入层、隐藏层、连接激活层、输出层,并设置有dropout层;输入层内封装有注意力机制。
[0024]
注意力机制的封装过程具体为:首先使用交换层将输入数据的格式转换为期望格式;然后使用密集层中softmax激活函数,计算特征的权值,其中通过lambda层使用tf.keras.backend.mean()计算张量的平均值;再使用交换层将密集层的输出转换成乘积层需要的格式;最后到达乘积层,将权重与输入相乘,完成注意力机制的封装。
[0025]
本发明的有益效果是:
[0026]
本发明可以较好利用时间序列重要特征,解决传统预测方法对波动较大数据预测准确度不高的问题。提出在输入层加入自注意力机制,能够在时间序列中给输入特征赋予不同的权重,在预测时,以多个权重较高的特征作为一次特征预测的输入,以此提高预测准确度。注意力机制可以根据密集层对输入时间序列的注意力权值计算及权值分布,自适应地选择与相应时间点相关的数据序列,使得模型可以自行选择更为重要的输入特征,并获取时间序列的长时间序列特性;提出dlstm方法,相较于传统lstm方法,dlstm中各层lstm在不同时间尺度上运行,并将结果传输到下一层lstm,使得dlstm能够有效利用各层lstm的特点,从不同尺度提取时间序列上的信息,从而学习更复杂的时间序列数据。因此在对大量数据预测时,dlstm的预测准确度会更高。
附图说明
[0027]
图1为本发明基于自注意力机制dlstm的云服务器老化预测方法的总体框架图;
[0028]
图2为本发明基于自注意力机制dlstm的云服务器老化预测方法的dlstm结构图;
[0029]
图3为本发明基于自注意力机制dlstm的云服务器老化预测方法的注意力机制封装流程图;
[0030]
图4为本发明实施例的原始数据时间序列图;
[0031]
图5为本发明实施例的预测结果图。
具体实施方式
[0032]
下面结合附图和具体实施方式对本发明进行详细说明。
[0033]
如图1~图3,本发明基于自注意力机制dlstm的云服务器老化预测方法,包括如下步骤:
[0034]
步骤1,采集云服务器老化情况的数据指标,获取云服务器资源和性能参数的时间序列数据;
[0035]
步骤2,对序列数据进行预处理,得到预处理后的数据集;
[0036]
步骤3,将经步骤2中预处理后的云服务器老化数据分成训练集和测试集;
[0037]
步骤4,构建基于注意力机制的云服务器老化数据时间序列的dlstm预测模型;
[0038]
步骤5,利用训练集数据对dlstm预测模型进行训练;
[0039]
步骤6,利用训练后dlstm预测模型预测测试集数据,并对dlstm预测模型进行性能评价。
[0040]
其中步骤1中云服务器性能的时间序列数据为空闲内存;
[0041]
其中步骤2中预处理过程具体为:
[0042]
步骤2.1,对序列数据进行一阶差分得到差分序列;
[0043]
首先对原始数据进行一阶差分;记原始云服务器性能参数的时间序列为x=(x1,x2,

,xn)(n为整个时间序列的长度),差分后的数据序列为y=(y1,y2,

,y
n-1
);使用序列中后值减去前值,即:
[0044]
yi=x
i 1-xiꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0045]
利用公式(1)得到一阶差分数据序列y,从而消除时间序列对时间的依赖性。
[0046]
步骤2.2,将一阶差分数据序列转换为时间步矩阵,矩阵中每一元都包含一个时间步长度的数据片段;
[0047]
时间步矩阵用于预测;本方案中使用的时间步为2,构造过程为:将原有序列转换为一个n*1的矩阵p1;在原有序列之前插入一个0,再转换为一个n*1的矩阵p2;将矩阵p1和p2合并为一个n*2矩阵p

;即:
[0048][0049]
步骤2.3,对时间步矩阵进行归一化至[-1,1]区间得到预处理后的数据集,具体的为:
[0050]
使用使用表示xi归一化后的值,|x|
max
为差分后数据绝对值中最大值,将矩阵p

中数据归一化至[-1,1]区间。
[0051]
步骤4中dlstm预测模型的构造具体为:
[0052]
dlstm预测模型由50个lstm堆叠而成,每个lstm包括遗忘门、输入门和输出门,输
入门的激活函数为tanh函数,遗忘门和输出门所用激活函数为sigmoid函数;dlstm神经网络中包括依次连接的输入层、隐藏层、连接激活层、输出层,并设置有dropout层。
[0053]
其中每个lstm保持传统结构;记t时刻dlstm模型输入层的输入为x
t
,输出层的输出为h
t
;为防止模型过拟合,设置dropout层,使得前向传播时,神经元的激活值以一定概率p停止工作,本方案中设置p=0.3;
[0054]
在隐藏层之后连接激活层,使得矩阵运算结果具有非线性;lstm中遗忘门和输出门所用激活函数为sigmoid函数,即该函数输出0或1值,其中输出0表示丢弃当前信息,输出1表示保留当前信息;
[0055]
输入门激活函数为tanh函数,即用于计算候选值向量信息;
[0056]
dlstm预测模型的第i层lstm在t时刻的输入由x
t
、t-1时刻输出h
t-1
、t-1时刻模块状态c
t-1
和和i-1层lstm权重信息w
(i-1)
共同组成;t时刻输出h
t
和状态c
t
传递到t 1时刻;t时刻第i层lstm的权重信息w(i)传递到下一层lstm辅助预测,直到最后一层lstm获取输出值;t时刻,第一层lstm的权重信息w
(1)
传入第二层lstm作为输入,依次类推,直到最后一个lstm输出结果;
[0057]
其中lstm具有遗忘门、输入门和输出门;遗忘门计算方法为:
[0058]ft
=σ(w
f(i-1)
·
[h
t-1
,x
t
] bf)
ꢀꢀꢀ
(3)
[0059]
输入门计算方法为:
[0060]it
=σ(w
i(i-1)
·
[h
t-1
,x
t
] bi)
ꢀꢀꢀ
(4)
[0061]
候选值向量计算方法为:
[0062][0063]
状态输出为:
[0064][0065]
输出门计算方法:
[0066]ot
=σ(w
o(i-1)
·
[h
t-1
,x
t
] bo)
ꢀꢀꢀ
(7)
[0067]
输出为:
[0068]ht
=o
t
*tanh(c
t
)
ꢀꢀꢀꢀꢀꢀꢀ
(8);
[0069]
式(4)~(9)中,w为权重信息,h
t
为t时刻的输出,x
t
为t时刻的输入,w
(i-1)
为第i-1层lstm的权重信息,b为偏置项。
[0070]
其中步骤4中在云服务器老化数据时间序列的dlstm预测模型的输入层,加入注意力机制的具体实现方法,通过使用带有softmax激活函数的密集层计算输入信息的加权平均,完成注意力权重的分配。注意力机制的封装涉及多个层的综合使用:交换层将输入值的维度转置成为期望维度;lambda层用自定义函数实现需要的特定功能达到期望效果;repeatvector层将输入的数据重复n次。
[0071]
注意力机制的封装过程具体为:首先使用交换层将输入数据的格式转换为期望格式;然后使用密集层中softmax激活函数,计算特征的权值,其中通过lambda层使用
tf.keras.backend.mean()计算张量的平均值;再使用交换层将密集层的输出转换成乘积层需要的格式;最后到达乘积层,将权重与输入相乘,完成注意力机制的封装;
[0072]
步骤6中采用均方根误差rmse、平均绝对百分误差mape和平均绝对误差mae作为评价指标,公式分别如(9)-(11)所示;
[0073][0074][0075][0076]
其中n为数据的长度,yi为预测值,xi为云服务器老化的原始数据。
[0077]
实施例
[0078]
本实施例采用空闲内存作为老化指标,采集实际运行云服务器的空闲内存时间序列数据。每隔20个点取值作图,如图4所示。基于自注意力机制dlstm的云服务器老化预测方法预测结果与云服务器原始数据对比如图5所示。具体步骤如下:
[0079]
步骤1,采集云服务器老化情况的数据指标,获取云服务器资源和性能参数的时间序列数据,所述资源和性能参数为:空闲内存;
[0080]
步骤2,对序列数据进行预处理。
[0081]
步骤2.1,对序列数据进行一阶差分得到差分序列;
[0082]
步骤2.2,将一阶差分数据序列转换为时间步矩阵,矩阵中每一元都包含一个时间步长度的数据片段。本方案中使用的时间步为2;
[0083]
步骤2.3,对时间步矩阵进行归一化至[-1,1],完成预处理。
[0084]
步骤3,将经步骤2中预处理后的云服务器老化数据分成训练集和测试集;
[0085]
步骤4,构建基于注意力机制的云服务器老化数据时间序列的dlstm预测模型。
[0086]
步骤4.1,构建一个dlstm预测模型;
[0087]
步骤4.2,使用交换层将输入数据的格式转换为期望格式;
[0088]
步骤4.3,然后使用密集层中softmax激活函数,计算特征的权值,其中通过lambda层使用tf.keras.backend.mean()计算张量的平均值;
[0089]
步骤4.4,使用交换层将密集层的输出转换成乘积层需要的格式;
[0090]
步骤4.5,将权重与输入在乘积层相乘,完成注意力机制的封装;
[0091]
步骤5,利用训练集数据对dlstm预测模型进行训练;
[0092]
步骤6,利用训练后dlstm预测模型预测测试集数据,并对dlstm预测模型进行性能评价。
[0093]
采用均方根误差rmse、平均绝对百分误差mape和平均绝对误差mae作为评价指标,公式分别如(9)-(11)所示;
[0094][0095]
[0096][0097]
其中n为数据的长度,yi为预测值,xi为云服务器老化的原始数据。误差结果如表1所示。
[0098]
表1模型预测误差值
[0099]
预测模型rmsemaemape基于注意力dlstm模型4770.41621.050.08
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献