深入分析基于AI的系统故障检测技术原理

文摘   2024-10-21 23:00   广东  

上篇文章《gala-anteater:基于AI的操作系统异常检测平台》[1]主要分享了基于 OpenAtom openEuler(简称“openEuler”) 构建的 gala-anteater项目中基于深度学习的操作系统异常检测实践。本篇文章主要针对上述实践中涉及的技术原理展开剖析,帮助用户更深入的理解基于深度学习的异常检测方案。

技术回顾

在文章[1]已经介绍过基于深度学习的技术方案总体内容,主要步骤分为离线训练和在线检测两个阶段,离线训练主要实施离群点过滤和深度学习模型训练,在线阶段主要是在于已经训练好的模型进行推理,并采用SPOT模型计算阈值,判断当前点是否异常。下面主要分离群点过滤模型、多指标重构模型和SPOT模型三个方面进行原理性分享。相关技术原理均在gala-anteater项目中实现。

图1 OS灰度故障发现模块示意图
基于压缩感知的离群点过滤模型
基于深度学习来学习离线多指标时间序列关系,并用模型进行检测,然而,基于深度学习方法都需要比较长时间的训练数据,才能够保证模型的检测效果。此类方法的核心是学习离线训练数据中的正常模式,当在线检测时通过发现偏离正常模式的数据来发现异常,然而在实际的生产环境中,难以保证用来训练的数据是系统处于正常运行状况下收集来的,当训练集含有故障数据会使模型学习到相关的故障模式,产生相关的误报或漏报。
因此,我们采用基于压缩感知的离群点过滤模型来过滤训练数据集的离群点,保证训练集的数据质量,提高后续故障发现的效果。图2展示了离群点过滤技术的流程,主要包括:获取待过滤离群值的多个分组的多指标时间序列;对每个分组的多指标时间序列进行规避离群点采样,获取多个采样矩阵;基于压缩感知对多个采样矩阵进行数据重构,获取多个分组的重构指标时间序列;将多个分组的重构指标序列合成重构多指标时间序列,并对比重构多指标时间序列和原始序列的差异,获取异常分数值;根据异常分数值和预设阈值确定离群值,用附近的正常值替代。

图2 基于压缩感知的离群点过滤技术的流程
AE和GAN结合的多指标重构模型
AE和GAN结合的多指标重构技术核心思想是使用AE结构分两阶段进行对抗训练,将自编码器和对抗生成网络的优势相结合,既能够更好地对训练集正常指标的模式进行重构,又能够保证对抗训练过程的稳定。

图3 AE和GAN结合的多指标重构技术的整体结构[2] 

该技术的整体结构如图3所示,由一个编码E和两个解码器D1、D2组成。这三个元素共同组成了两个共享编码器的自编码器AE1 和 AE2。

整个网络训练分成了两个阶段,自编码器训练和对抗性训练:

自编码器训练阶段,两个自编码器各自独立训练,输入数据W由编码器E压缩到隐变量Z,再由两个解码器 D1、D2重建,以此学习数据的正常模式。

对抗性训练阶段, AE1为生成器,AE2为判别器,将 AE1的重构结果输入到AE2 中,此时是为了训练 AE1去生成更加真实的“假”数据来欺骗AE2,即最小化训练误差,同时也是为了训练AE2能够更好的分辨 AE1生成的假数据与真实数据,即最大化训练误差。

通过使用AE和GAN结合的多指标重构技术,将多维指标进行了重构,并通过计算重构数据和真实数据之间的误差获得了能代表多维指标整体状况的一个异常分数序列。

基于极值理论的SPOT模型
为了检测出系统故障,通常可以通过为异常分数设定阈值的方式来判定异常值,超出阈值范围的数据被判定为异常值。传统方法中,通常由专业技术人员依据相关经验设置一个固定的阈值。然而在实际生产环境中,一个系统的各项指标往往是动态变化的,会出现整体上浮或下降的波动,因此手动设置阈值的方式不可取,需要找到一种自动学习阈值的模型。因此我们采用了 SPOT 模型[3],利用极值理论动态调整阈值从而完成故障的发现。

通过使用SPOT技术,可以动态地确定异常分数的阈值,根据异常分数和异常阈值的比较结果获得了当前OS是否发生灰度故障的判断。

加入我们
文中所述的gala-anteater 项目的相关源码均已在 openEuler 社区开源。如果您对相关技术感兴趣,可以访问源码仓https://gitee.com/openeuler/gala-anteater,欢迎您的围观和加入。
参考
[1] gala-anteater:基于AI的操作系统异常检测平台

[2] Audibert J, Michiardi P, Guyard F, et al. Usad: Unsupervised anomaly detection on multivariate time series[C]//Proceedings of the 26th ACM SIGKDD international conference on knowledge discovery & data mining. 2020: 3395-3404.

[3] Siffer A, Fouque P A, Termier A, et al. Anomaly detection in streams with extreme value theory[C]//Proceedings of the 23rd ACM SIGKDD international conference on knowledge discovery and data mining. 2017: 1067-1075.



OpenAtom openEuler
openEuler是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目。 openEuler 面向数字基础设施的操作系统。
 最新文章