Application failure prediction method of cloud data center based on GRU Recurrent Neural Network
-
摘要: 云数据中心的分布式应用故障具有复杂性、随机性等特点,导致应用的运行与维护(简称:运维)管理任务难度大、效率低。为此,提出一种云数据中心应用故障预测方法,构建基于门控循环单元(GRU,Gated Recurrent Unit)循环神经网络(RNN,Recurrent Neural Network)的云数据中心应用故障预测模型,对云数据中心的应用监控数据进行分析处理并预测将要出现的应用故障。试验结果表明,本方法预测精确率满足应用运维管理中故障提前发现和处理的相关要求,在降低应用运维管理难度和提升运维效率方面具有一定的实用价值。
-
关键词:
- 云数据中心 /
- 循环神经网络(RNN) /
- 特征工程 /
- 门控循环单元(GRU) /
- 故障预测 /
- 单层感知器(SLP)
Abstract: Distributed application failures in cloud data centers have the characteristics of complexity, randomness, which make applications operation and maintenance tasks difficult and inefficient. Therefore, this paper proposed an application failure prediction method for cloud data center, built an application fault prediction model of a cloud data center based on GRU (Gated Recurrent Unit) Recurrent Neural Network (RNN), analyzed and processed the application monitoring data of the cloud data center and predicted the application failures that will occur. The test results showed that the prediction accuracy of this method meets the relevant requirements of failure early detection and treatment in application operation and maintenance management, and has certain practical value in reducing the difficulty of application operation and maintenance management and improving operation and maintenance efficiency. -
铁路客运车站进/出站口、检票口旅客人群密集程度较高,易造成旅客聚集效应,使旅客运输组织难度变大[1]。随着计算机视觉技术的发展,基于目标检测的人群密度估计算法可为车站突发客流监测、聚集人群疏导提供有效的决策辅助[2-4]。张秋亮等人[5]利用Faster-RCNN(Region Convolutional Neural Networks)算法设计了一种头肩检测模型,对客流密度和排队长度进行检测,并给出车站拥挤度评价方法;张泓等人[6]使用以ResNet101为特征提取网络的Faster-RCNN人头检测模型,统计监控摄像机下采集的复杂场景人群数量。
近年来有研究表明,深度学习模型易受到对抗攻击的影响[7],利用微小扰动生成的对抗图像,虽不会干扰人眼判断,却会干扰深度学习模型的预测结果,使模型性能下降。部分铁路客运业务需要经第三方客户端采集和上传图像,因此,存在不法分子上传对抗图像,进行恶意对抗攻击的情况。
提升深度学习模型对抗样本攻击防御能力的方式包括对抗样本检测和对抗训练[8]。对抗样本检测利用正常样本和对抗样本间的差异进行检测,实际使用中与深度学习模型进行串行或并行计算,会降低深度学习模型的推理速度或增加资源的消耗。对抗训练在深度学习模型训练过程中使用对抗样本,从而提高深度学习模型的鲁棒性,相比对抗样本检测减少了部署时的资源使用。本文基于RetinaNet算法设计了一种人头检测模型[9],对其进行对抗训练,研究对抗训练对检测模型鲁棒性的影响。
1 算法原理
1.1 对抗攻击方法
按照不同的攻击者能否获取目标检测模型的结构信息或参数,对抗攻击可分为白盒攻击和黑盒攻击。在白盒攻击条件下,攻击者能与目标检测模型交互,得到算法梯度信息;而黑盒攻击的攻击者只能得到目标检测模型的输入和输出。按攻击者攻击目的分类,对抗攻击可分为目标攻击和非目标攻击,区别在于前者使图片中同一类别的被检测物体被错误地分成另一类别,而后者不指定固定的出错类别。
对抗攻击方法按照不同的攻击原理,可分为基于梯度的单步攻击、迭代攻击和基于优化的攻击。单步攻击只对目标图像攻击1次;迭代攻击则按照一定的方式进行多次攻击;基于优化的攻击将寻找对抗样本看作一个优化问题,使用优化算法对其进行优化。
1.1.1 FGSM对抗攻击方法
快速梯度符号法(FGSM,Fast Gradient Sign Method)是Goodfellow 等人提出的一种以快速生成对抗样本为目标的单步白盒攻击方法[10]。该方法的核心思想是在
$ {\mathrm{L}}_{\infty } $ 范数下,沿着梯度的反方向对原始样本添加扰动,从而拉大对抗样本与原始样本间的距离。具体生成公式为$$ {\tilde x}=x+\varepsilon \cdot sign\left({\nabla }_{x}{J}\left(\mathrm{\theta },{x},{y}\right)\right) $$ (1) 式中,x为原始样本;ε为控制扰动大小的标量;
$ \mathrm{\theta }\mathrm{为} $ 被攻击检测模型的参数;y为样本x的真实标签,${J}\left(\mathrm{\theta },{x},{y}\right)$ 为被攻击检测模型在参数为$ \mathrm{\theta }\mathrm{、} $ 原始样本为x、标签为y时的损失函数;$ {\nabla }_{x} $ 代表对损失函数求x的偏导;${sign}$ 表示取梯度向量的符号。最终,由原始样本加上扰动生成对抗样本${\tilde x}$ 。1.1.2 PGD对抗攻击算法
Kurakin等人[11]提出了基于FGSM算法的多次迭代生成扰动方法(BIM,Basic Iterative Methods)。该方法以较小的步长多次执行FGSM,并将扰动样本裁剪到一定范围。投影梯度下降 (PGD,Projected Gradient Descent) 算法在BIM基础上增加了一个随机噪声初始化扰动,并将每一步产生的样本作为下一步的输入[12]。PGD是攻击性最强的迭代攻击算法之一,具体生成公式为
$$ {\tilde x}^{t+1}={\prod }_{x+S}\left({\tilde x}^{t}+\mathrm{\alpha }\cdot {sign}\left({\nabla }_{x}{J}\left(\mathrm{\theta },{x},{y}\right)\right)\right) $$ (2) 式中,
$ \mathrm{\alpha } $ 为控制扰动大小的标量;对抗样本${{\tilde x}}^{t+1}$ 由前一步的样本${{\tilde x}}^{t}$ 加上扰动生成,每一步的对抗样本都投影到x+S , S∈Rd,Rd为d维的实数空间。1.2 基于RetinaNet算法的人头检测模型
常用目标检测算法包括精度较高但推理速度较慢的双阶段目标检测算法和推理速度较快但精度稍差的单阶段目标检测算法。单阶段目标检测算法在推理速度方面具有优势,更适合对响应速度有较高要求的铁路客运场景。因此,本文基于单阶段目标检测算法RetinaNet构建了一种人头检测模型,用于铁路客运车站内的人群计数,模型网络结构如图1所示。
为降低模型参数量和提高推理速度,本文人头检测模型的骨干网络使用了基于深度可分离卷积的MobileNet[13]网络结构。骨干网络中特征图的边长经过步长为2的3×3卷积后会下降1倍,通常将边长相同的一组特征图,称为同一层级的特征图。RetinaNet检测算法输入的图像边长大小为640×640,骨干网络中共有5组步长为2的3×3卷积,所以有5个不同层级的特征图,边长分别为320×320、160×160、80×80、40×40和20×20。
由于监控图像中人头占比较小,本文基于RetinaNet算法,使用骨干网络中第2、3、4层级的多层级特征图,构成自顶向下的特征金字塔网络[14](FPN,Feature Pyramid Networks),并在不同层级的特征图上设计了形状、大小均不同且数量众多的锚点框。FPN对多层级特征图信息的利用和对锚点框的设计,可增加模型对不同大小的人头的捕捉能力,获得出色的检测性能。FPN的每1层使用独立的语义模块,语义模块结构如图2所示,使用数量不同的3×3卷积对输入的特征图进行卷积操作,提高感受野,增强刚性语境的建模能力。对通道数量为256的特征图连续使用3×3的卷积进行卷积操作,并将得到的通道数为128、64、64的特征图进行拼接融合。
2 实验与结果分析
2.1 参数设定与实验数据
本文所有实验均在ubuntu 18.04操作系统环境下进行,使用Pytorch深度学习框架,基于Python 3.6进行编程。硬件部分:CPU为Inter Xeon Gold 5218 @ 2.3 GHz×2;GPU为NVIDIA Tesla V100 @ 32 GB;RAM为250 GB。
训练过程采用带有动量的随机梯度下降(SGD,Stochastic gradient descent)优化算法,动量大小为0.9,权重衰减系数为0.0006,批次大小为256。初始学习率设置为
$ {10}^{-5} $ ,使用warm-up方式使学习率在10轮迭代后上升到$ {10}^{-1} $ ,再使用Cosine Annealing学习率下降方式继续迭代,直至300轮迭代后停止训练。本文实验采用Brainwash密集人头检测数据集对模型进行实验训练、验证和测试[15]。Brainwash数据集通过监控设备采集室内人群图像,并标注人头位置。该数据集共分为训练集、验证集、测试集3部分,训练集用于算法的训练,验证集作为算法调优的标准,测试集用于测试算法的能力指标。其中训练集有10769张图像,包含81975个人头;验证集有500张图像,包含3318个人头;测试集有500张图像,包含5007个人头。
2.2 评价指标
为验证本文提出的人头检测模型的有效性,采用平均准确率(mAP,mean Average Precision)作为模型检测的精度评价指标。模型精确率P和召回率R的公式为
$$ P=\frac{TP}{TP+FP} $$ (3) $$ R=\frac{TP}{TP+FN} $$ (4) AP是某一类 P(R) 曲线下的面积,mAP 则是所有类别 P (R) 曲线下面积的平均值,因为本文只有一个类别,因此AP即为mAP,公式为
$$ AP={\int }_{0}^{1}P\left(R\right)dR $$ (5) 2.3 模型训练
本文采用Mosaic数据增强[16]方法对训练样本进行了数据增强,在训练过程中每次随机选取4张原始图像,对每张原始图像进行缩放、裁减等操作后,拼接为一张训练图像,如图3所示。该方法通过随机缩放等操作丰富了人头尺度和背景的多样性。由于该训练方式将4张图像进行了拼接,相当于同时用4倍批次的图像进行训练,降低了训练过程对硬件的要求。
使用原始训练集D1对人头检测模型进行训练,将训练得到的模型记为M1,M1模型在测试集上的mAP达到了93.26%,人头检测效果如图4所示。车站监控类型的图像检测效果如图5所示。
2.4 对抗样本生成和对抗攻击
对人头检测模型进行攻击主要有2种攻击途径:令模型将背景识别成人头和令模型将人头识别成背景。为便于描述,本文将第1种途径记为正向攻击;第2种记为逆向攻击。要对人头检测模型进行对抗攻击,降低模型精度,需要先生成对抗样本。
2.4.1 FGSM对抗算法
设定FGSM对抗算法的参数 ε=0.04,基于验证集生成对抗训练数据样本,使用FGSM对抗算法正向攻击生成的数据集记为D2+,逆向攻击生成的数据集记为D2−,并使用M1模型进行检测。FGSM对抗算法正/逆向攻击效果如图6所示。
2.4.2 PGD对抗算法
设定PGD的参数
$ \mathrm{\alpha } $ =0.03,迭代次数为10,基于验证集生成对抗训练样本,使用PGD对抗算法正向攻击生成的数据集为D3+,逆向攻击生成的数据集为D3−,使用M1模型进行检测。FGSM对抗算法正/逆向攻击检测效果如图7所示。2.4.3 对抗攻击结果分析
模型M1在不同方法生成的对抗样本数据集上获得的mAP值如表1所示。由表1可知,模型M1在FGSM或PGD对抗算法生成的对抗样本数据集上,人头检测精度均有明显下降,可认为完成了攻击。
表 1 初始模型M1在各类对抗样本数据集上的mAP值方法 正向攻击 逆向攻击 FGSM 63.66 65.37 PGD 58.53 65.39 2.5 检测模型对抗训练
将基于训练数据集的原始数据集D1和D2+融合得到新的数据集,训练得到的模型记为M2+;同理,将原始数据集D1与其余数据集融合后,训练得到的模型分别记为M2−、M3−和M3+。将原始数据集D1与D2+、D3+融合后训练的模型记为M4+,将原始数据集D1与D2−、D3−融合后训练的模型记为M4−。使用与训练M1模型时相同的参数和数据增强方法,对上述模型进行训练。各模型在基于不同对抗攻击方法产生的验证数据集上取得的结果如表2所示。
表 2 对抗训练结果模型 验证数据集 D1 D2+ D2− D3+ D3− M2+ 94.88 93.98 88.61 94.56 93.35 M2- 94.62 93.09 92.36 94.28 94.04 M3+ 94.56 93.27 87.16 94.36 93.14 M3- 94.49 91.03 89.15 93.77 93.73 M4+ 94.45 90.12 85.18 94.61 93.11 M4- 94.66 92.78 92.66 94.30 94.13 2.6 实验结果分析
(1)在FGSM和PGD对抗攻击方法生成的对抗样本上测试初始模型M1时,模型的检测性能由93.26%大幅下降至63.66%和58.53%,证明对抗攻击对模型性能的影响较为明显。
(2)基于某种对抗攻击方法和特定参数生成的数据集训练出的模型,在相同对抗攻击方法和参数生成的验证数据集上的性能有较大提升。例如,使用FGSM对抗攻击方法正向生成的对抗样本进行对抗训练,得到模型M2+,该模型在D2+数据集上的检测性能达到了93.98%,较63.66%有较大提升,其他方法结论类似。证明对抗训练能提高模型对特定攻击方法的对抗鲁棒性。
(3)使用两种对抗攻击方法和参数生成的逆向对抗样本进行对抗训练得到的模型M4-,在D2+和D3+验证数据集上性能也有一定的提升,证明了对抗训练能够提高模型的泛化对抗鲁棒性。
(4)对抗攻击生成的样本进一步丰富了数据空间的特征表达,使用多种对抗训练方式得到的模型,不但对多个对抗攻击方法均有较好的防御效果,还能将人头检测模型在原始测试集上的性能由93.26%提升至94.4%以上。
3 结束语
本文基于RetinaNet算法设计了一种适用于铁路客运车站的人头检测模型,并在Brainwash数据集上进行了实验验证。利用FGSM和PGD 2种对抗攻击算生成对抗样本,对模型进行对抗训练。证明了对抗训练不但能有效提高模型的对抗鲁棒性,还能提高模型的最终性能。下一步,将对双阶段目标检测算法进行对抗训练的验证,进一步提高人头检测模型的鲁棒性,提高铁路客运场景下的人头检测精度。
-
[1] 施卫忠. 铁路数据中心建设与规划研究 [J]. 中国铁路,2020(1):1-2. [2] 凌 政,安 藤. AIOps平台建设和实践 [J]. 网络安全和信化,2020,46(2):70-71. [3] 覃进学. 基于AIoT+AIOps的数据中心智能化运维实现探讨 [J]. 数字通信世界,2020,182(2):115. DOI: 10.3969/J.ISSN.1672-7274.2020.02.083 [4] 范清栋,吴旭东,宁建创,等. 浅析人工智能在网络运维中的应用 [J]. 电脑与电信,2019(9):43-45,55. [5] 贾宇晗,李 静,贾润莹,等. 硬盘故障预测模型在大型数据中心环境下的验证 [J]. 计算机研究与发展,2015,52(S2):54-61. [6] 贾润莹,李 静,王 刚,等. 基于Adaboost和遗传算法的硬盘故障预测模型优化及选择 [J]. 计算机研究与发展,2014(S1):148-154. [7] 高建良,徐勇军,李晓维. 基于加权中值的分布式传感器网络故障检测 [J]. 软件学报,2007,18(5):1208-1217. [8] 王 成,王昌琪. 一种面向网络支付反欺诈的自动化特征工程方法 [J]. 计算机学报,2020(10):1986-1987. [9] 张超标,孙延明. 特征工程和深度前馈网络结合的刀具磨损预测 [J]. 机械设计与制造,2020,352(6):197-200. [10] 陆 航,杨涛存,刘 洋,等. 基于LSTM的动车组故障率预测模型 [J]. 中国铁路,2020(7):61-65. [11] 王明哲,张 研,杨 栋,等. 基于深度学习的车站旅客密度检测研究 [J]. 中国铁路,2019(11):13-17. [12] Yan-hua CHEN, Jian-nan LI, Kai LIAN, Qing-jie ZHU, Yi-liang LIU. Failure Prediction of Underground Pipeline Based on Artificial Neural Network[A]. Science and Engineering Research Center. Proceedings of 2017 2nd International Conference on Artificial Intelligence: Techniques and Applications (AITA 2017)[C]. Science and Engineering Research Center: Science and Engineering Research Center, 2017.
[13] Greff K, Srivastava RK, Koutník J, et al. LSTM: A search space odyssey [J]. IEEE Transactions on Neural Networks and Learning Systems, 2017, 28(10): 2222-2232. DOI: 10.1109/TNNLS.2016.2582924
[14] Bari M F, Boutaba R, Esteves, et al. Data center network virtualization: A survey [J]. IEEE Communications Surveys & Tutorials, 2013, 15(2): 909-928.
[15] 林靖皓,秦亮曦,苏永秀,等. 基于自注意力机制的双向门控循环单元和卷积神经网络的芒果产量预测 [J]. 计算机应用,2020(S1):51-55. [16] Gaurav Singhal. LSTM versus GRU Units in RNN[EB/OL]. [2021-07-07]. https://www.pluralsight.com/guides/lstm-versus-gru-units-in-rnn.
-
期刊类型引用(1)
1. 王桂博,丁晓霞,王法印. 有轨电车混合储能系统的能量管理策略与容量优化. 电子设计工程. 2024(02): 130-133 . 百度学术
其他类型引用(3)