一种基于对抗自编码器的混合异常检测方法与流程

    专利2022-07-08  117


    本发明涉及异常检测
    技术领域
    ,尤其涉及一种基于对抗自编码器的混合异常检测方法。
    背景技术
    :异常点被定义为一个显著不同于其他数据分布的数据对象,通过分析异常点数据分布特征,可以从海量数据中挖掘异常信息、提取兴趣模式等。因此异常点检测(outlierdetection)成为数据挖掘领域的研究热点之一。传统异常点的检测方法众多,主要考虑检测过程中的时间性能和准确性能。然而,随着云计算、大数据技术的发展,传统通过单一节点计算方式挖掘异常节点信息已经无法满足日益增长的数据计算需求。以深度学习技术为代表的人工智能技术为异常点检测提供了新的研究方向。目前,通过深度学习方法相结合构造混合模型的方法在近年不断应用于实际场景。因其无须对模型提前训练的特点,因此属于高性价比的方法。但是,对于复杂高维度的数据,该类方法也很难捕捉到数据的内在属性,另外,当用ae降维时,维度降低的程度对最终结果影响很大,需要反复调参,降低了异常检测的准确率。技术实现要素:本发明的目的在于提供一种基于对抗自编码器的混合异常检测方法,提高异常检测的准确率。为实现上述目的,本发明提供了一种基于对抗自编码器的混合异常检测方法,包括以下步骤:对对抗自编码器模型进行改进,并利用改进后的所述对抗自编码器模型提取加噪输入数据特征;对提取出来的两组特征性向量进行加权融合,得到融合特征向量;将所述融合特征向量作为训练数据,利用集成学习的方式集成训练ifroest分类器、lof分类器和k-means分类器,得到检测分类器;利用改进后的所述对抗自编码器模型提取测试集中的两组特征向量,并将两组所述特征向量融合后输入所述检测分类器,得到异常检测结果。其中,对对抗自编码器模型进行改进,并利用改进后的所述对抗自编码器模型提取加噪输入数据特征,包括:将leakyrelu函数和tanh函数作为对抗自编码器模型中的两个编码器中的第一至第三层卷积层和第四层卷积层的激活函数,并将生成器与第一编码器组成自编码器,以及对判别器的激活函数和映射函数进行改进;将获取的数据集进行归一化处理,并将划分出的训练集进行加噪处理;对改进后的所述对抗自编码器模型进行训练,提取出所述训练集的两组特征。其中,对改进后的所述对抗自编码器模型进行训练,提取出所述训练集的两组特征,包括:将加噪后的所述训练集输入改进后的所述对抗自编码器模型中,利用第一编码器进行特征提取,并利用所述生成器将提取出的第一组特征向量作为输入,重构所述训练集;利用第二编码器对重构后的所述训练集进行特征提取,得到第二组特征向量。其中,对提取出来的两组特征性向量进行加权融合,得到融合特征向量,包括:将所述第一组特征向量与加权系数相乘,并将所述第二组特征向量与1减去所述加权系数相乘,然后将两个乘积相加,结合对应的标签,得到对应的融合特征向量。其中,将所述融合特征向量作为训练数据,利用集成学习的方式集成训练ifroest分类器、lof分类器和k-means分类器,得到检测分类器,包括:利用adaboost算法串行化处理三个分类器,先把所述融合特征向量当做训练集输入iforest分类器训练,调整权重分布,得到权重系数,再把所述训练集输入下一个分类器,直至ifroest分类器、lof分类器和k-means分类器训练完成,并将所有的所述权重系数集成,得到检测分类器。其中,利用改进后的所述对抗自编码器模型提取测试集中的两组特征向量,并将两组所述特征向量融合后输入所述检测分类器,得到异常检测结果,包括:对划分出的测试集进行加噪,并利用改进后的所述对抗自编码器模型中的第一编码器和第二编码器提取出两组特征向量;将两组所述特征向量进行加权融合,并输入搜索检测分类器中,得到每个测试样本的异常检测结果。本发明的一种基于对抗自编码器的混合异常检测方法,首先,对对抗自编码器模型进行改进,并利用改进后的所述对抗自编码器模型提取加噪输入数据特征;接着,对提取的两种特征进行加权融合处理;然后,将融合得到的融合特征向量作为训练数据,利用集成学习的方式集成训练ifroest分类器、lof分类器和k-means分类器,得到检测分类器;最后,利用改进后的所述对抗自编码器模型提取测试集中的两组特征向量,并将两组所述特征向量融合后输入所述检测分类器,得到异常检测结果。相比于现有的技术,本发明利用对抗自编码器与传统异常检测方法相结合,能够更加准确地对数据集进行异常检测,提高异常检测的准确率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明提供的一种基于对抗自编码器的混合异常检测方法的步骤示意图。图2是本发明提供的一种基于对抗自编码器的混合异常检测方法的流程示意图。图3是本发明提供的基于改进的对抗自编码器的混合异常检测模型框架。图4是本发明提供的改进的对抗自编码器的编码器模型结构。图5是本发明提供的改进的对抗自编码器的鉴别器模型结构。图6是本发明提供的改进的对抗自编码器的生成器模型结构。图7是本发明提供的集成学习的模型结构。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。请参阅图1至图3,本发明提供一种基于对抗自编码器的混合异常检测方法,包括以下步骤:s101、对对抗自编码器模型进行改进,并利用改进后的所述对抗自编码器模型提取加噪输入数据特征。具体的,构建改进的对抗自编码器模型,提取输入数据的特征。模型对dcgan进行改进,包含两个编码器e1和e2,一个生成器g,一个判别器d,其中两个编码器e1和e2采用相同的结构:四个卷积层用来降维,第二层和第三层采用batchnormalization技术,前三层的激活函数为leakyrelu函数,最后一层使用tanh当作激活函数。生成器g与第一编码器e1组成自编码器,有着四层逆卷积神经网络,前三层使用batchnormalization技术,且激活函数为leakyrelu函数,最后一层使用tanh当作激活函数。判别器d与第一编码器e1网络结构类似,使用四层卷积神经网络,第二层和第三层采用batchnormalization技术,前三层的激活函数为leakyrelu函数,最后一层使用sigmoid作为输出映射函数,如图4至图6所示。将数据集归一化为相同规格大小的单通道或者三通道图片。将数据集按照4:1拆分成训练集和测试集,在训练集上训练改进的对抗自编码器模型。在训练之前先对训练集进行加噪处理,能够更好的提取代表输入数据的特征。网络采用adam算法更新网络各层的参数,迭代次数为200代。先训练生成器g和判别器d,待训练完成之后再用加噪数据训练编码器e1和e2。其中包含三个损失函数为:lenc=||z1-z2||2lcon=||x-x′||1ladv=||f(x)-f(x')||2训练具体过程为:将m张相同像素大小的单通道加噪灰度图或者rgb三通道加噪图片输入到对抗自编码器模型中,加噪后的训练集表示为s={(x1,y1),...,(xm,ym)},其中,xi表示加噪后的n维数据,yi是数据标签。经过第一编码器e1的卷积层特征提取之后,每张图片表示成第一组特征向量z1={(z11,y1),...,(z1m,ym)}的形式输出并储存。生成器g将这些特征向量作为输入重构训练集,输出重构后的数据s'={(x1',y1),...,(xm',ym)}。判别器d负责确保重构后的数据与初始数据尽可能相似。第二编码器e2重新提取特征后,表示为第二组特征向量z2={(z21,y1),...,(z2m,ym)}储存下来。s102、对提取出来的两组特征性向量进行加权融合,得到融合特征向量。具体的,对于s1中的得到的两组特征向量z1={(z11,y1),...,(z1m,ym)}和z2={(z21,y1),...,(z2m,ym)},分别对其每两个数据的特征数据进行加权融合处理:其中,λ是加权系数,根据实际情况从0-1之间选取。对得到的z31~z3m,加上他们原本的标签y1~ym,组成新的特征向量组z3={(z31,y1),...,(z3m,ym)}。s103、将所述融合特征向量作为训练数据,利用集成学习的方式集成训练ifroest分类器、lof分类器和k-means分类器,得到检测分类器。具体的,利用adaboost算法串行化处理三个分类器,先把所述融合特征向量当做训练集输入iforest分类器训练,调整权重分布,得到权重系数,再把所述训练集输入下一个分类器,直至ifroest分类器、lof分类器和k-means分类器训练完成,并将所有的所述权重系数集成,得到检测分类器,如图7所示,s31:将模型训练后的数据z3导入adaboost检测模型中,首先初始化训练数据的权值分布w1=(w11,...,w1m),w1i=1/m,其中i=1,2,...,m。即把每一个训练样本赋予相同的权值,把所述融合特征向量当做训练集。s32:使用训练集对iforest进行训练,也就是分类器h1(z),通过交叉验证调整itree数量,根据样本标签设置异常比,使得损失函数e1最小。计算h1(z)的误差如果得到e1>0.5,则跳过直接进行下一个分类器的训练。计算权重系数更新权重分布w2=(w21,...,w2m),其中i=1,2,...,m,f(z)是原始数据的分布函数。s33:进入下一个分类器lof,使用训练集对lof进行训练,也就是分类器h2(z)。通过交叉验证调整lof算法中的k值,最小化损失函数e2训练lof的阈值t1:(t1',k)=argmint1',ke2,即使损失函数e2最小的t1'记为t1,比较异常得分score和阈值t1的大小确定异常值,并计算h2(z)的误差如果得到e2>0.5,则跳过直接进行下一个分类器的训练。计算权重系数更新权重分布w3=(w31,...,w3m),其中i=1,2,...,m,f(z)是原始数据的分布函数。s34:进入下一个分类器k-means,也就是分类器h3(z)。通过交叉验证调整k-means算法中的聚类簇个数k,选择各聚类中心的相对距离d作为异常得分score,以最小化误差e3训练k-means,得到阈值t2:(d,k)=argmind,ke2,即使损失函数e3最小的d记为t2,比较相对距离d和阈值t2的大小来确定异常值;并计算h3(z)的误差如果得到e3>0.5,则则跳过直接进行下一个分类器的训练。计算权重系数将3个分类器线性组合得到最终的检测分类器或者是最终强分类器s104、利用改进后的所述对抗自编码器模型提取测试集中的两组特征向量,并将两组所述特征向量融合后输入所述检测分类器,得到异常检测结果。具体的,首先将测试数据集进行加噪,之后送入训练好的改进对抗自编码器模型中,经过编码器e1和e2提取出来测试集的两组特征向量z1'和z2',并对其进行s102步骤中的加权融合,得到融合后的特征向量z'。将融合后的特征向量z'当作输入数据,送进s103步骤中得到的检测分类器h(z)中,强分类器输出每个测试样本的异常得分,从而得到异常检测结果。为了验证本发明所提出的基于对抗自编码器的混合异常检测模型的有效性,将本发明方法与三种传统异常检测算法在mnist数据集的异常检测效果进行对比,对比结果如表1所示。本发明所提方法的准确率值和auc值较三种传统异常检测方法有较大提升,证明了本方法具有较高的可靠性。表1四种检测方法的对比结果iforestlofocsvm本文算法准确率89.8184.5770.8292.38auc值0.790.830.800.95本发明与现有技术相比,其显著优点为:1、引入深度学习中的对抗自编码器,并通过改进的对抗自编码器模型提取输入数据的特征表达,相比传统的机器学习方法提取的特征更抽象、更具代表性,可有效提高异常检测准确率。2、引入深度学习中的集成学习,通过adaboost算法分别集成三种传统的异常检测算法iforest,lof,k-means,相比于直接使用传统的异常检测算法更加精准,而且能处理很高维度的数据,并且不用做特征选择。3、通过对抗自编码器模型解码出的两组特征向量,对他们进行加权融合,使得提取输入数据的特征更具有代表性,相比较于单独提取自编码器特征的方法更加可靠,并有更高的异常检测准确率。本发明的一种基于对抗自编码器的混合异常检测方法,首先,对对抗自编码器模型进行改进,并利用改进后的所述对抗自编码器模型提取加噪输入数据特征;接着,对提取的两种特征进行加权融合处理;然后,将融合得到的融合特征向量作为训练数据,利用集成学习的方式集成训练ifroest分类器、lof分类器和k-means分类器,得到检测分类器;最后,利用改进后的所述对抗自编码器模型提取测试集中的两组特征向量,并将两组所述特征向量融合后输入所述检测分类器,得到异常检测结果。相比于现有的技术,本发明利用对抗自编码器与传统异常检测方法相结合,能够更加准确地对数据集进行异常检测,提高异常检测的准确率。以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。当前第1页1 2 3 
    技术特征:

    1.一种基于对抗自编码器的混合异常检测方法,其特征在于,包括以下步骤:

    对对抗自编码器模型进行改进,并利用改进后的所述对抗自编码器模型提取加噪输入数据特征;

    对提取出来的两组特征性向量进行加权融合,得到融合特征向量;

    将所述融合特征向量作为训练数据,利用集成学习的方式集成训练ifroest分类器、lof分类器和k-means分类器,得到检测分类器;

    利用改进后的所述对抗自编码器模型提取测试集中的两组特征向量,并将两组所述特征向量融合后输入所述检测分类器,得到异常检测结果。

    2.如权利要求1所述的基于对抗自编码器的混合异常检测方法,其特征在于,对对抗自编码器模型进行改进,并利用改进后的所述对抗自编码器模型提取加噪输入数据特征,包括:

    将leakyrelu函数和tanh函数作为对抗自编码器模型中的两个编码器中的第一至第三层卷积层和第四层卷积层的激活函数,并将生成器与第一编码器组成自编码器,以及对判别器的激活函数和映射函数进行改进;

    将获取的数据集进行归一化处理,并将划分出的训练集进行加噪处理;

    对改进后的所述对抗自编码器模型进行训练,提取出所述训练集的两组特征。

    3.如权利要求2所述的基于对抗自编码器的混合异常检测方法,其特征在于,对改进后的所述对抗自编码器模型进行训练,提取出所述训练集的两组特征,包括:

    将加噪后的所述训练集输入改进后的所述对抗自编码器模型中,利用第一编码器进行特征提取,并利用所述生成器将提取出的第一组特征向量作为输入,重构所述训练集;

    利用第二编码器对重构后的所述训练集进行特征提取,得到第二组特征向量。

    4.如权利要求3所述的基于对抗自编码器的混合异常检测方法,其特征在于,对提取出来的两组特征性向量进行加权融合,得到融合特征向量,包括:

    将所述第一组特征向量与加权系数相乘,并将所述第二组特征向量与1减去所述加权系数相乘,然后将两个乘积相加,结合对应的标签,得到对应的融合特征向量。

    5.如权利要求1所述的基于对抗自编码器的混合异常检测方法,其特征在于,将所述融合特征向量作为训练数据,利用集成学习的方式集成训练ifroest分类器、lof分类器和k-means分类器,得到检测分类器,包括:

    利用adaboost算法串行化处理三个分类器,先把所述融合特征向量当做训练集输入iforest分类器训练,调整权重分布,得到权重系数,再把所述训练集输入下一个分类器,直至ifroest分类器、lof分类器和k-means分类器训练完成,并将所有的所述权重系数集成,得到检测分类器。

    6.如权利要求1所述的基于对抗自编码器的混合异常检测方法,其特征在于,利用改进后的所述对抗自编码器模型提取测试集中的两组特征向量,并将两组所述特征向量融合后输入所述检测分类器,得到异常检测结果,包括:

    对划分出的测试集进行加噪,并利用改进后的所述对抗自编码器模型中的第一编码器和第二编码器提取出两组特征向量;

    将两组所述特征向量进行加权融合,并输入搜索检测分类器中,得到每个测试样本的异常检测结果。

    技术总结
    本发明公开了一种基于对抗自编码器的混合异常检测方法,首先,对对抗自编码器模型进行改进,并利用改进后的所述对抗自编码器模型提取加噪输入数据特征;接着,对提取的两种特征进行加权融合处理;然后,将融合得到的融合特征向量作为训练数据,利用集成学习的方式集成训练ifroest分类器、LOF分类器和K‑means分类器,得到检测分类器;最后,利用改进后的所述对抗自编码器模型提取测试集中的两组特征向量,并将两组所述特征向量融合后输入所述检测分类器,得到异常检测结果。相比于现有的技术,本发明利用对抗自编码器与传统异常检测方法相结合,能够更加准确地对数据集进行异常检测,提高异常检测的准确率。

    技术研发人员:刘文芬;贾浩阳;黄月华;韦永壮
    受保护的技术使用者:桂林电子科技大学
    技术研发日:2020.12.14
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-18838.html

    最新回复(0)