一种基于特征蒸馏的多维时间序列异常检测方法技术

技术编号:34798838 阅读:19 留言:0更新日期:2022-09-03 20:04
本发明专利技术公开了一种基于特征蒸馏的多维时间序列异常检测方法,软件系统集群根据自身指标的历史数据进行整合,共同离线训练一个大型的指标异常检测网络N。网络N训练完成后,对于集群中的某个系统,或是软件架构类似的其他集群中的某个系统,将网络N作为教师网络,同时自己初始化一个轻量级的网络N

【技术实现步骤摘要】
一种基于特征蒸馏的多维时间序列异常检测方法


[0001]本专利技术涉及多维时间序列异常检测方法领域,具体是指一种基于特征蒸馏的多维时间序列异常检测方法。

技术介绍

[0002]智能运维(Artificial Intelligence for IT Operations,AIOps)是指将人工智能应用于运维领域,以提升运维效率。随着互联网飞速发展,运维领域逐渐呈现数据量大,服务类型多样化的特点,传统的基于规则的运维方法已不再适用,而人工智能从海量数据中挖掘模式的特性则非常适配新型运维场景。目前智能运维主要应用于质量保障、效率提升和成本管理几个方面,其中质量保障是软件正常运行的最根本前提,也是智能运维的关键应用场景。
[0003]异常检测(anomaly detection)是质量保障中的核心任务,其目的是通过监测软件系统的状态判断系统是否处于异常,为后续的系统诊断和自愈提供基础。随着软件系统规模变大,可能出错的位点数量相应上升,及时的异常检测往往能够降低整个系统的故障损失,具有重要意义。异常检测主要针对指标和文本两类数据源,而指标数据能够更直接地反映软件的运行状态。
[0004]指标数据异常检测(Index anomaly detection)主要分为单指标异常检测和多指标异常检测。其中单指标异常检测问题已经被逐渐攻克,而对于多指标异常检测问题,由于变量维度的提升,指标数据量相应增长,需要使用更加复杂的神经网络模型,其训练和推理速度会相应减慢,这带来了异常检测的准确性要求和实时性要求之间的矛盾,目前尚未找到能够兼顾两者的算法。
[0005]多指标异常检测所遇到的问题本质上来源于神经网络模型表达能力和推理时间的权衡。小模型推理速度快但表达能力相对不足,而大模型虽然检测效果好但无法支持实时检测。为了解决这一问题,我们尝试从其它领域寻找解决方案。多指标异常检测问题实际上是时空相关的二维数据的分析问题,该问题与图像处理问题同构,因此图像处理的方法对多指标异常检测有一定借鉴意义。
[0006]知识蒸馏(Knowledge distillation)是图像处理领域流行的框架,使用预训练的大网络模型快速指导小网络模型的学习和行为。利用知识蒸馏能使小模型近似达到大模型的推理效果,同时还具备快速推理的能力,这与多指标异常检测领域的需求不谋而合。因此,我们尝试将知识蒸馏方法引入多指标异常检测,以实现高精度、实时的异常检测。
[0007]现有基于深度学习的多指标异常检测的技术方案主要有以下几种方式:
[0008]1、基于自编码器的异常检测。首先将正常指标通过自编码器以学习数据的潜在表示(latent representation),然后将待检测指标通过自编码器,通过重构误差判断数据异常。有研究在此基础上加入生成对抗网络进行对抗训练,可以使得检测结果更加稳定。
[0009]2、基于长短时记忆网络的异常检测。将空间关联与时间关联解耦,通过卷积编码器识别变量间的相关特性,然后利用长短时记忆网络识别时间上的依赖特性。测试时通过
解码器重构特征,再通过网络检测异常。
[0010]3、基于卷积神经网络的异常检测。将多指标序列切割成二维时空窗口,利用其时空相关性,通过卷积神经网络提取窗口特征,并用监督学习的方法实现异常检测的训练和测试。
[0011]现有技术主要存在以下缺点:
[0012]基于自编码器和长短时记忆网络的异常检测方法原本是针对单指标异常检测的,应用于多指标时,有时很难有效表示指标间的耦合关系;无监督学习的方式带来不确定性,有时不能学到合适的模式。自编码器仅适用于与训练样本相似规模的样本,当系统指标数量发生变化时迁移能力不够强。
[0013]基于卷积神经网络的异常检测是监督学习,需要大量训练样本和训练时间,异构系统大规模部署时成本过高。卷积神经网络本身没有记忆性,对于长时异常的检测效果不好。
[0014]因此,一种基于特征蒸馏的多维时间序列异常检测方法成为整个社会亟待解决的问题。

技术实现思路

[0015]为解决上述技术问题,本专利技术提供的技术方案为:一种基于特征蒸馏的多维时间序列异常检测方法,包括以下方法步骤,
[0016](1)训练教师网络N,假定在软件系统集群中一共有S个系统,I个待检测指标,这些指标能够最完整地反映软件系统的异常情况。每间隔固定的时间T
i
统计一次指标值v
t
∈R
I
,并根据系统的后验表现得出t时刻系统的异常情况y
t
∈{0,1}。假定教师网络的输入为W
×
I,那么在t时刻输入网络的数据为x
t
=[v
t
,v
t
‑1,...,v
t

W+1
]∈
RW
×1,标签为y
t

[0017]以此方式在T个时刻收集一组数据D={(x
t,s
,y
t,s
)|t∈[0,T

1],s∈[0,S
‑1]},并将其输入大型异常检测网络N进行有监督学习,得到一个预训练的网络N;
[0018](2)训练学生网络NM,对于集群中的某个系统M,或是软件架构类似的其他集群中的某个系统,假设其有J个待检测指标,t时刻的指标值以a
t
∈R
j
表示,t时刻的异常情况以b
t
∈{0,1}表示,按照相同的方式在T
M
个时刻收集一组数据D
M
={(a
t
,b
t
)|t∈[0,T
M

1]};
[0019]初始化一个小型网络NM,将大型网络N作为教师网络,小型网络NM作为学生网络,把数据输入知识蒸馏模型进行有监督学习,得到一个预训练的网络NM;
[0020](3)多指标实时异常检测与非实时微调,对于系统M,基于预训练的大型网络N和小型网络NM,同时进行多指标实时异常检测和非实时网络微调。
[0021]进一步地,所述实时异常检测部分包括两个步骤:
[0022](1)将新生成的数据(o
t
∈R
W
×
j
,p
t
∈{0,1})与历史窗口内的数据组合成二维指标矩阵,将该指标矩阵输入小型网络NM,然后输出异常分数α
t

[0023](2)设置异常分数窗口H,基于历史异常分数α
t
‑1,α
t
‑2,...,α
t

H+1
对异常分数α
t
做平滑处理,得到最终的异常分数β
t
,并经过阈值检测得到二值化输出的异常预测。
[0024]进一步地,所述非实时网络微调在异常检测的过程中,利用新出现的数据对网络N本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于特征蒸馏的多维时间序列异常检测方法,其特征在于:包括以下方法步骤,(1)训练教师网络N,假定在软件系统集群中一共有S个系统,I个待检测指标,这些指标能够最完整地反映软件系统的异常情况;每间隔固定的时间T
i
统计一次指标值v
t
∈R
I
,并根据系统的后验表现得出t时刻系统的异常情况y
t
∈{0,1};假定教师网络的输入为W
×
I,那么在t时刻输入网络的数据为x
t
=[v
t
,v
t
‑1,...,v
t

w+1
]∈R
W
×
I
,标签为y
t
;以此方式在T个时刻收集一组数据D={(x
t,s
,y
t,s
)|t∈[0,T

1],s∈[0,S

1]},并将其输入大型异常检测网络N进行有监督学习,得到一个预训练的网络N;(2)训练学生网络NM,对于集群中的某个系统M,或是软件架构类似的其他集群中的某个系统,假设其有J个待检测指标,t时刻的指标值以a
t
∈R
J
表示,t时刻的异常情况以b
t
∈{0,1}表示,按照相同的方式在T
M
个时刻收集一组数据D
M
={(a
...

【专利技术属性】
技术研发人员:李汶静沈国鹏朱品燕
申请(专利权)人:北京云集智造科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1