上篇文章《gala-anteater:基于AI的操作系统异常检测平台》[1]主要分享了基于 OpenAtom openEuler(简称“openEuler”) 构建的 gala-anteater项目中基于深度学习的操作系统异常检测实践。本篇文章主要针对上述实践中涉及的技术原理展开剖析,帮助用户更深入的理解基于深度学习的异常检测方案。
技术回顾
图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技术,可以动态地确定异常分数的阈值,根据异常分数和异常阈值的比较结果获得了当前OS是否发生灰度故障的判断。
[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.