[发明专利]基于序列化自编码器的无监督KPI异常检测方法有效

专利信息
申请号: 202110597955.X 申请日: 2021-05-31
公开(公告)号: CN113204590B 公开(公告)日: 2021-11-23
发明(设计)人: 苏金树;赵娜;韩彪;蔡阳;陈曙晖;陶静;赵宝康;赵锋;魏子令 申请(专利权)人: 中国人民解放军国防科技大学
主分类号: G06F16/2458 分类号: G06F16/2458;G06K9/62;G06N3/04;G06N3/08
代理公司: 湖南企企卫知识产权代理有限公司 43257 代理人: 任合明
地址: 410073 湖*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 序列 编码器 监督 kpi 异常 检测 方法
【权利要求书】:

1.一种基于序列化自编码器的无监督KPI异常检测方法,其特征在于包括以下步骤:

第一步,构建基于序列化自编码器的无监督KPI异常检测系统,简称异常检测系统;异常检测系统由历史KPI序列数据库、在线KPI序列数据库、输入模块、数据预处理模块、离线训练模块、自动阈值选择模块、有效检测窗口设置模块、在线检测模块、输出模块和显示模块组成;

历史KPI序列数据库与输入模块相连,该数据库存储历史KPI序列,用于训练模型;历史KPI序列的每一条由三元组(Time,Value,Label)表示,其中:Time=(t1,...,ti,...,tT)表示时间向量,按时间升序排列;Value=V=(v1,...,vi,...,vT)表示KPI值向量,vi表示第i个时刻历史KPI序列的值,若vi=NaN,即空值,则表示该点为缺失点,T为历史KPI序列长度;Label=(l1,...,li...,lT)表示标签向量;第i条记录(ti,vi,li)表示在ti时刻的KPI值为vi,对应的标签为li,li取值为0或者1,0表示正常,1表示异常;1≤i≤T;

在线KPI序列数据库与输入模块相连,该数据库用于存储在线KPI数据,由二元组(Time,Value)表示,其中Time向量和Value向量与历史KPI序列的含义相同;

输入模块与历史KPI序列数据库、在线KPI序列数据库和数据预处理模块相连,训练阶段输入模块从历史KPI序列数据库读取历史KPI序列,从中提取历史KPI值向量,将历史KPI值向量发送给数据预处理模块;检测阶段输入模块从在线KPI序列数据库读取在线KPI序列,从中提取在线KPI值向量,将在线KPI值向量发送给数据预处理模块;

数据预处理模块与输入模块、离线训练模块和在线检测模块相连,数据预处理模块从输入模块历史KPI值向量和在线KPI值向量,采用线性插值方法对KPI值向量中的缺失点进行填充,并对填充后的KPI值向量进行标准化处理,将标准化后的历史KPI值向量发送给离线训练模块,将标准化后的在线KPI值向量发送给在线检测模块;数据预处理模块包含缺失点线性插值填充模块和KPI值向量标准化模块;

缺失点线性插值填充模块从输入模块接收历史KPI值向量和在线KPI值向量,处理KPI值向量中的缺失点,采用线性插值方法对KPI值向量中的缺失点进行填充,形成完整的KPI值向量,即填充后的KPI值向量,将填充后的KPI值向量发送给KPI值向量标准化模块;

KPI值向量标准化模块从缺失点线性插值填充模块接收填充后的KPI值向量,对填充后的KPI值向量进行标准化计算,获得标准化后的历史KPI值向量和标准化后的在线KPI值向量,将标准化后的历史KPI值向量发送给离线训练模块,将标准化后的在线KPI值向量发送给在线检测模块;

离线训练模块即基于序列化自编码器的KPI异常检测模型训练模块与数据预处理模块、自动阈值选择模块和在线检测模块相连;离线训练模块从数据预处理模块接收标准化后的历史KPI值向量,将标准化后的历史KPI值向量作为输入对异常检测模型进行训练,得到异常分值和训练好的模型,将异常分值发送到自动阈值选择模块,同时将训练好的模型发送给在线检测模块;

自动阈值选择模块与离线训练模块和在线检测模块相连,采用极值理论进行计算并得到阈值,将阈值发送给在线检测模块;

有效检测窗口设置模块与在线检测模块相连,有效检测窗口设置模块接收运维人员设置的有效检测窗口值,将有效检测窗口值发送给在线检测模块;

在线检测模块与数据预处理模块、离线训练模块、自动阈值选择模块、有效检测窗口设置模块和输出模块相连;在线检测模块从数据预处理模块接收标准化后的在线KPI值向量,从离线训练模块接收训练好的模型,从自动阈值选择模块接收阈值,从有效检测窗口设置模块接收有效窗口值,根据这些输入对在线KPI序列进行异常检测并得到检测结果,将检测结果发送到输出模块;

输出模块与在线检测模块相连,从在线检测模块接收检测结果,将检测结果发送到显示模块;

显示模块与输出模块相连,动态显示检测结果,若有异常结果则发送告警信息,由运维人员进行处理;

第二步:输入模块访问历史KPI序列数据库,从读取到的历史KPI序列提取KPI值向量V,将V发送到数据预处理模块;

第三步:数据预处理模块采用缺失点线性插值填充和标准化处理方法对KPI值向量V进行预处理,方法是:

3.1缺失点线性插值填充模块采用线性插值方法对V中的缺失点进行填充,将填充后的KPI值向量V′发送给KPI值向量标准化模块;V′=(v′1,...,v′i,...,v′T),v′i是填充后的vi

3.2 KPI值向量标准化模块对V′进行标准化操作,得到标准化后的KPI值向量Vnorm

3.3 KPI值向量标准化模块将Vnorm发送给离线训练模块;

第四步:离线训练模块对Vnorm进行切分;然后构建基于序列化自编码器的KPI异常检测模型,并对模型进行训练;方法为:

4.1离线训练模块从KPI值向量标准化模块接收Vnorm

4.2离线训练模块对Vnorm进行切分,得到切分后的KPI值向量Vpart

为第p个切分向量,1≤p≤P,P为切分数,为正整数,表示中的第r个值,表示中的最后一个值,R为Vnorm切分后的中的值的个数;

4.3离线训练模块采用基于随机跨步连接的RNN方法构建由N个不同结构的序列化自编码器组成的无监督KPI异常检测模型;再对序列化自编码器组成的无监督KPI异常检测模型进行离线训练,其中N个序列化自编码器均接收Vpart作为输入,N为正整数;具体方法是:

4.3.1离线训练模块构建基于序列化自编码器的无监督KPI异常检测模型,得到基于序列化自编码器的KPI异常检测模型;

4.3.2对基于序列化自编码器的KPI异常检测模型进行离线训练,得到异常分值向量Score,和训练后的基于序列化自编码器的无监督KPI异常检测模型,简称异常检测模型;为最终异常分值:

表示取中的中位数;为N个序列化自编码器中第b个自编码器对第p个切分向量的重构误差;0≤b≤N-1;

4.4离线训练模块将Score发送给自动阈值选择模块,将异常检测模型发送给在线检测模块;

第五步:自动阈值选择模块根据Score计算阈值,方法是:

5.1自动阈值选择模块从离线训练模块接收Score;

5.2自动阈值选择模块采用EVT方法分析Score分布,得到阈值Threshold;

5.3自动阈值选择模块将阈值Threshold发送给在线检测模块;

第六步:有效检测窗口设置模块接收运维人员设置的模块检测有效窗口值w,w为正整数且1≤w≤10,将w发送给在线检测模块;

第七步:输入模块、数据预处理模块、自动阈值选择模块、有效检测窗口设置模块、在线检测模块相互配合,对在线KPI序列进行检测:

7.1输入模块读取在线KPI序列数据库,提取在线KPI值向量Vonline,用A表示Vonline长度,将Vonline发送到数据预处理模块;

7.2数据预处理模块采用第三步所述的缺失点线性插值填充和标准化处理方法对Vonline进行预处理,得到标准化后的在线KPI值向量Vonline_norm,记

7.3在线检测模块利用异常检测模型,利用第五步得到的阈值Threshold、第六步设置的有效窗口值w,对Vonline_norm进行检测,方法如下:

7.3.1在线检测模块将Vonline_norm输入至异常检测模型,得到N个重构的KPI值向量,第x个重构KPI值向量记为为中第a个值;

7.3.2在线检查模块分别计算N个序列化自编码器的重构误差,方法是:

7.3.2.1令x=1;

7.3.2.2计算并保存第x个自编码器的KPI值向量的重构误差向量方法是:

7.3.2.3令x=x+1,如果x≤N,转7.3.1.2,否则计算结束,输出N个自编码器的重构误差向量Errorrestore

7.3.3根据Errorrestore计算异常检测模型的异常分值,方法是:

7.3.3.1令a=1;

7.3.3.2读取并保存N个重构误差,方法是:

7.3.3.2.1令u=1;

7.3.3.2.2从Errorrestore读取并保存;

7.3.3.2.3令u=u+1,如果u≤N,转7.3.3.2.2,否则输出转7.3.3.2.4;

7.3.3.2.4取的中位数作为第a个KPI值的异常分值,并保存,方法是:

median()为numpy的中位数计算函数;

7.3.3.3令a=a+1,如果a≤A,转7.3.2.2;否则输出异常检测模型的异常分值Scoreonline

转7.3.4;

7.3.4将阈值Threshold与Scoreonline进行比较,方法是:

7.3.4.1令变量a=1;

7.3.4.2判断第a个KPI值是否异常,方法是:

如果令检测结果ya=0,表示正常,否则令ya=1,表示异常;保存ya,转7.3.4.3;

7.3.4.3令a=a+1,如果a≤A,转7.3.3.2;否则比较完毕,输出检测结果向量Y,Y=(y1,…,ya,…,yA);

7.3.5根据窗口值w,向在线检测模块输入检测结果向量Y,在线检测模块计算窗口内的异常值向量其中方法为:

7.3.5.1令d=1;

7.3.5.2计算表示在窗口范围内对向量值yd、yd+1、...、yd+w-1进行“或”计算,如果表示异常窗口,如果表示正常窗口;

7.3.5.3若d≤m,令d=d+1,转7.3.5.2;若d>m,说明计算完毕,得到最终的检测结果Yw,转7.3.6;

7.3.6将Yw发送给输出模块,转第八步;

第八步:输出模块从在线检测模块接收检测结果Yw,将检测结果发送到显示模块;

第九步:显示模块显示检测结果Yw,若Yw中有“异常”结果,即有则显示告警信息,提醒运维人员处理。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110597955.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top