一种基于自我学习双向GAN的异常检测方法技术

技术编号:36043873 阅读:20 留言:0更新日期:2022-12-21 10:51
一种基于自我学习双向GAN的异常检测方法,步骤包括:对原始数据集进行筛选过滤,得到只含有正常数据的训练数据集;使用训练数据集对基于原始GAN的异常检测模型进行训练;针对原始GAN模型的缺陷进行模型优化;使用训练数据集对优化后的异常检测模型进行训练;使用优化后的异常检测模型对测试数据集进行异常检测。本发明专利技术提出的新模型解决了原始模型中奖励稀疏性和模式崩溃的问题,提高了生成器生成样本的多样性以及异常检测的准确性。本的多样性以及异常检测的准确性。本的多样性以及异常检测的准确性。

【技术实现步骤摘要】
一种基于自我学习双向GAN的异常检测方法


[0001]本专利技术涉及智能运维
,尤其涉及一种基于自我学习双向GAN的异常检测方法。

技术介绍

[0002]现实生活中的很多智能运维平台系统,如电力系统,水处理系统,过程控制系统等,每天都会生成大量的多元时间序列数据。由于一些网络攻击或者入侵事件的发生,这些数据中会夹杂着一些异常数据,这时就需要通过异常检测技术来检测和剔除这些异常数据。不同于常规模式下的问题和任务,异常检测针对的是少数、不可预测或难以确定的事件,它具有独特的复杂性,使得一般的机器学习和深度学习技术对它无效。如何在导致异常的因素过多,异常通常是不规则的分布,以及异常通常是罕见的数据实例的情况下进行训练与监测,是异常检测面临的主要挑战。

技术实现思路

[0003]针对现有技术的不足,本专利技术的目的是提供一种基于自我学习双向GAN的异常检测方法,相比单向GAN加快了异常检测的速度,并且解决了原始GAN奖励稀疏性和模式崩溃的缺陷,可以更加快速、准确地检测出系统中的异常数据。
[0004]本专利技术提供一种基于自我学习双向GAN的异常检测方法,包括以下步骤:
[0005]步骤1:对原始数据集进行筛选过滤,得到只含有正常数据的训练数据集;
[0006]步骤2:使用训练数据集对基于原始GAN的异常检测模型进行训练;
[0007]步骤3:针对原始GAN模型的缺陷进行模型优化;
[0008]步骤4:使用训练数据集对优化后的异常检测模型进行训练;
[0009]步骤5:使用优化后的异常检测模型对测试数据集进行异常检测。
[0010]进一步地,所述步骤1中对原始数据集进行筛选过滤是指因为用于异常检测的GAN模型在训练时只学习正常数据的分布情况,所以将原始训练数据集中的异常数据剔除过滤掉,只保留正常数据用于模型训练。
[0011]进一步地,所述步骤2中的原始GAN模型包括生成器G,编码器E和判别器D。其训练过程包括以下步骤:
[0012]获取随机噪声z,噪声z作为虚假数据特征传入生成器G中,生成器根据虚假数据特征输出虚假数据G(z);
[0013]将真实数据x传入编码器E中,编码器根据真实数据进行编码,输出真实数据特征E(x);
[0014]同时将虚假数据

特征元组(G(z),z)和真实数据

特征元组(x,E(x))传入判别器D进行联合判别;
[0015]进一步地,所述步骤3中的原始模型缺陷为所述步骤3中的原始模型缺陷为奖励稀疏性和模式崩溃;
[0016]奖励稀疏性是指生成器由于其生成的样本很难欺骗到更容易训练的判别器,所以很难接收到奖励信号,便形成了奖励稀疏性;
[0017]模式崩溃是指生成器与判别器的博弈之中,生成器其实是更倾向于产生那些已经可以以假乱真的样本来欺骗判别器,而不愿意产生新的样本,这导致生成器生成的样本多样性不足,无法完美收敛到目标分布;
[0018]解决这两个问题的优化方法包括以下两点:
[0019]一是将早期获取的随机噪声z_p和早期生成器生成的虚假数据G(z_p)保存起来,等获取到当前的随机噪声z_n和生成器生成了当前的虚假数G(z_n)后,将当前虚假数据

特征元组(G(z_n),z_n)和早期虚假数据

特征元组(G(z_p),z_p)同时传入判别器D进行判别;
[0020]二是将之前的二分类判别器改进为三分类判别器。之前的判别器只会对传入的数据对进行正常或者异常的二分类判别,改进后的判别器可以对传入的测试数据对和参考数据对进行样本质量方面的三分类判别。如果测试数据对比参考数据对的样本质量高,判别器输出1标签;如果测试数据对和参考数据对的样本质量相当,判别器输出0标签;如果测试数据对比参考数据对的样本质量低,判别器输出

1标签。
[0021]进一步地,所述步骤4中对优化后的异常检测模型进行训练即是重新提取步骤1中已经预处理好的训练数据集,将其输入到步骤3中已经优化好的自我学习双向GAN模型中进行训练,并针对同一数据集比较优化后的模型与原始GAN模型的训练效果。
[0022]进一步地,所述步骤5中的异常检测过程包括以下步骤:
[0023]先对测试数据集进行简单的预处理,然后将处理好的测试数据集传入步骤4中已经训练好的优化模型中进行异常检测,并且根据一系列的异常检测评估指标对优化后的模型性能进行评估。
[0024]本专利技术的有益效果如下:
[0025](1)本专利技术构建了一种基于自我学习双向GAN的异常检测方法,只需要训练正常数据并学习正常数据的特征分布,克服了现实生活中异常数据稀少导致无法学习其特征分布的问题;(2)本专利技术通过在原始GAN模型中加入编码器模块,大大提升了异常检测的速度;(3)通过自我对抗学习的方式,解决了原始GAN模型奖励稀疏性和模式崩溃的缺陷,提高了生成器生成样本的多样性以及异常检测的准确性。
附图说明
[0026]图1为本专利技术实施例中的整体流程示意图。
[0027]图2为本专利技术实施例中的原始GAN异常检测模型示意图。
[0028]图3为本专利技术实施例中的基于自我学习双向GAN的异常检测模型示意图。
[0029]图4为本专利技术实施例中的模拟验证实验结果。
具体实施方式
[0030]下面结合说明书附图对本专利技术的技术方案做进一步的详细说明。
[0031]本专利技术旨在构建一种用来进行异常检测的深度学习模型,该模型在原有模型基础上进行了优化,使得异常检测的速度和精确度都得到了提升,以图1所示流程为例对本专利技术的具体实施方式进行说明:
[0032]第一步,对原始数据集进行筛选过滤,得到只含有正常数据的训练数据集。
[0033]具体的,由于用于异常检测的GAN模型在训练时只学习正常数据的分布情况,该步骤主要是将原始训练数据集中的异常数据剔除过滤掉,只保留正常数据用于模型训练。本实施例中的原始数据集是安全水处理系统SwaT数据集,该数据集在正常运行下从测试平台生成了7天的数据量,在攻击场景下生成了4天的数据量,共计496800条数据。
[0034]第二步,使用训练数据集对基于原始GAN的异常检测模型进行训练。
[0035]具体的,如图2所示,原始GAN模型包含三大部件:生成器G,编码器E和判别器D。生成器G是一个生成数据的网络,它接收一个服从高斯分布的随机噪声z,通过这个噪声生成数据,记做G(z)。编码器E是一个编码数据特征的网络,它接收一个真实数据x,将x传入编码器E编码出数据特征,记做E(x)。判别器D是一个判别网络,它的输入为两个元组对,分别为真实数据

特征元组(x,E(x))和虚假数据

特征元组(G(z),z),判别器对它们进行联合判别,此时的判别器处理的是二分类问题,输出P(1)表示预测传入数据为异常的概率,输出P(0)表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于自我学习双向GAN的异常检测方法,其特征在于:包括以下步骤:步骤1,对原始数据集进行筛选过滤,得到只含有正常数据的训练数据集;步骤2,使用训练数据集对基于原始GAN的异常检测模型进行训练;步骤3,针对原始GAN模型的缺陷进行模型优化;步骤4,使用训练数据集对优化后的异常检测模型进行训练;步骤5,使用优化后的异常检测模型对测试数据集进行异常检测。2.根据权利要求1所述的一种基于自我学习双向GAN的异常检测方法,其特征在于:所述步骤1中,将原始训练数据集中的异常数据剔除过滤掉,只保留正常数据用于模型训练。3.根据权利要求1所述的一种基于自我学习双向GAN的异常检测方法,其特征在于:所述步骤2中的原始GAN模型包括生成器G,编码器E和判别器D,其训练过程包括以下步骤:获取随机噪声z,噪声z作为虚假数据特征传入生成器G中,生成器根据虚假数据特征输出虚假数据G(z);将真实数据x传入编码器E中,编码器根据真实数据进行编码,输出真实数据特征E(x);同时将虚假数据

特征元组(G(z),z)和真实数据

特征元组(x,E(x))传入判别器D进行联合判别。4.根据权利要求1所述的一种基于自我学习双向GAN的异常检测方法,其特征在于:所述步骤3中的模型优化包括:将早期获取的随机噪声z_p和早...

【专利技术属性】
技术研发人员:叶宁李向文徐康王汝传王娟王甦汪莹王波翟浩李友涛张结魁
申请(专利权)人:安徽晶奇网络科技股份有限公司
类型:发明
国别省市:

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

1