CN116861964A - 一种基于双判别器生成式对抗网络的异常数据检测方法 - Google Patents
一种基于双判别器生成式对抗网络的异常数据检测方法 Download PDFInfo
- Publication number
- CN116861964A CN116861964A CN202310765861.8A CN202310765861A CN116861964A CN 116861964 A CN116861964 A CN 116861964A CN 202310765861 A CN202310765861 A CN 202310765861A CN 116861964 A CN116861964 A CN 116861964A
- Authority
- CN
- China
- Prior art keywords
- data
- reconstruction
- pseudo
- abnormal
- loss function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 68
- 238000001514 detection method Methods 0.000 title claims description 20
- 238000012549 training Methods 0.000 claims abstract description 41
- 230000003044 adaptive effect Effects 0.000 claims abstract description 14
- 238000012216 screening Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 76
- 238000000034 method Methods 0.000 claims description 29
- 230000002547 anomalous effect Effects 0.000 claims description 10
- 230000009977 dual effect Effects 0.000 claims description 9
- 230000008485 antagonism Effects 0.000 claims description 6
- 238000013459 approach Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 8
- 101000794020 Homo sapiens Bromodomain-containing protein 8 Proteins 0.000 description 4
- 101001006782 Homo sapiens Kinesin-associated protein 3 Proteins 0.000 description 4
- 101000615355 Homo sapiens Small acidic protein Proteins 0.000 description 4
- WGKGADVPRVLHHZ-ZHRMCQFGSA-N N-[(1R,2R,3S)-2-hydroxy-3-phenoxazin-10-ylcyclohexyl]-4-(trifluoromethoxy)benzenesulfonamide Chemical compound O[C@H]1[C@@H](CCC[C@@H]1N1C2=CC=CC=C2OC2=C1C=CC=C2)NS(=O)(=O)C1=CC=C(OC(F)(F)F)C=C1 WGKGADVPRVLHHZ-ZHRMCQFGSA-N 0.000 description 4
- 102100021255 Small acidic protein Human genes 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000000746 purification Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/094—Adversarial learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
Abstract
一种基于双判别器生成式对抗网络的异常数据检测方法,S1、输入训练数据Dt到自动编码器中获得重构数据Dre,将获得的重构数据和原始数据输入到过滤器中,基于重构数据和原始数据之间的重构误差计算伪标签,通过伪标签将数据划分为伪正常数据和伪异常数据;S2、将S1中获得的伪异常数据输入到动态字典中,动态字典在每次迭代中将存储的数据和输入的数据对比,筛选出异常数据保存到动态字典中;S3、将S2中获得的伪正常数据输入到正常判别器中;S4、根据当前训练的步骤设计自适应权重系数,基于自适应权重系数计算重构误差的损失函数;S5、根据S3得到的两个判别器和步骤S4得到的重构误差损失函数,并迭代更新,得到生成器。
Description
技术领域
本发明涉及人工智能技术领域,主要涉及一种基于双判别器生成式对抗网络的异常数据检测方法。
背景技术
在近年来,多变量时间序列异常检测在金融、航空航天和安全等各个领域展现出了巨大的潜力。然而,数据异常的模糊定义、数据模式的复杂性以及异常数据样本的稀缺性给异常检测带来了重大挑战。目前,研究人员使用自编码器(AE)和生成对抗网络(GAN)来研究基于重构误差的异常检测。然而,现有的基于自编码器的异常检测算法缺乏有效的正则化方法,容易受到过拟合的影响。同时,基于生成对抗网络的异常检测算法需要高质量的训练数据,这对它们的实际部署产生了很大影响。
如CN2020107488083公开了基于稳健深度自编码器和密度峰值的航迹聚类与异常值识别方法,收集多维航迹样本;通过RDAE对样本进行非线性降维,利用正则化手段约束低维流形难以表示的噪声和异常向量,得到重建的去噪紧密航迹;将上述重建的航迹数据作为CFSFDP的输入样本;使用CFSFDP对航迹进行提取,得到战术性航迹类别中心;通过航迹簇边缘密度参数的阈值设定,识别航迹中的异常模式;通过机场跑道的进场或离场航迹数据,实现航迹聚类与异常航迹识别。
发明内容
发明目的:针对上述背景技术中存在的问题,本发明提供了一种双判别器生成式对抗网络的异常数据检测方法。
本发明技术方案:为实现上述目的,本发明采用的技术方案为:一种基于双判别器生成式对抗网络的异常数据检测方法,包括以下步骤:
步骤S1、输入训练数据Dt到自动编码器中获得重构数据Dre,将获得的重构数据和原始数据输入到过滤器中,基于重构数据和原始数据之间的重构误差计算伪标签,通过伪标签将数据划分为伪正常数据和伪异常数据;自动编码器中获得重构数据的具体方法是:如果原始数据x和重构数据之间的误差ew大于均值M(E),数据x被标记为异常的概率大于0.5。相反地,如果误差ew小于均值M(E),数据x被标记为异常的概率小于0.5。自动编码器使用的是一个基于LSTM的编码器和解码器;
自动编码器是基于LSTM构建的一个编码器和解码器,架构在更新的图1中可见,剩余的部分是生成伪标签的一部分。
具体的划分依据是,进一步地,所述步骤S1中输入训练数据Dt到自动编码器中获得重构数据Dre,将获得的重构数据和原始数据输入到过滤器中,基于重构数据和原始数据之间的重构误差计算伪标签,通过伪标签将数据划分为伪正常数据和伪异常数据,具体表示如下:
其中,D={x1,x2,...,xw}是原始数据,原始数据输入自动编码器后获得重构数据E={e1,e2,...,ew}表示原始数据和重构数据之间的误差,V(E)和M(E)表示重构误差E的方差和均值,P(xw)表示xw为异常数据的可能性,σ是Sigmoid函数,它可以将一个实数映射到(0,1)的区间,σ函数只会输出0和1两种结果,在这里能获得当前数据的正常/异常的伪标签;
Sepoch是一个关于当前迭代次数的函数,而且满足以下关系基于P(xw)获得的伪标签,获得伪正常数据/>和伪异常数据zw表示标准化分数;
步骤S2、将步骤S1中获得的伪异常数据输入到动态字典中,动态字典在每次迭代中将存储的数据和输入的数据对比,筛选出异常数据保存到动态字典中;对比的依据是在步骤S1中提到的zw,zw越大就越有可能保留到动态字典中;
步骤S3、将步骤S2中获得的伪正常数据输入到正常判别器中,将步骤S3获得的动态字典内保存的数据输入到异常判别器中,基于设计的损失函数不断迭代更新;
在训练过程中,模型通过反向传播算法计算梯度,并根据梯度更新参数,使得损失函数的值逐渐减小:
通过不同的判别器函数的设定,在随着损失函数的减小,会带来完全不同的效果,在正常判别器中损失函数的减小能进一步的减少正常数据和其重构数据之间的误差,而异常判别器中损失函数的减小则会进一步的扩大异常数据和其重构数据之间的误差。
步骤S4、根据当前训练的步骤设计自适应权重系数,基于自适应权重系数计算重构误差损失函数;
步骤S5、根据步骤S3得到的两个判别器和步骤S4得到的重构误差损失函数,计算生成器的损失函数,并迭代更新,从而得到生成器。
进一步地,所述步骤S2获得的伪异常数据输入到动态字典,动态字典在每次迭代中将存储的数据和输入的数据对比,筛选出异常数据保存到动态字典:0/1是数据的伪标签,通过zw和P(xw)数据就可以获得伪标签0或者伪标签1,真实的数据是否异常是在数据集中进行界定,本发明只是通过这个伪标签实现模型输入“提纯”,本发明涉及到的两个判别器分别输入正常数据和异常数据,通过这个伪标签能够减少输入正常数据中的异常数据以及异常数据中的正常数据源,从而提升模型的效率;
动态字典的长度L一般是训练数据集维度的倍数,动态字典内保存的数据可以表示为每次将Dd和D1根据zw进行迭代更新,从而获得
进一步地,所述步骤S3中步骤S2中获得的伪正常数据输入到正常判别器中,将步骤S3获得的动态字典内保存的数据输入到异常判别器中,正常与异常两种判别器的损失函数分别如下:
进一步地,所述步骤S4中根据当前训练的步骤设计自适应权重系数,基于自适应权重系数计算重构误差的损失函数表示如下:
N是一个自然常数,Sepoch是关于当前步数的函数,e是自然数,表示输入数据和重构数据之间的误差,/>是关于重构误差的函数。本发明涉及重构误差的函数,以及生成器的损失函数,损失函数的迭代更新与上面的一致,过反向传播算法计算梯度,并根据梯度更新参数,使得损失函数的值逐渐减小。
进一步地,所述步骤S5中两个判别器和步骤S4得到的重构误差损失函数,计算生成器的损失函数:损失函数的迭代更新与上面的一致,通过反向传播算法计算梯度,并根据梯度更新参数,使得损失函数的值逐渐减小;
是用于调整Lre和Lad之间的权重。
本发明模型(DDGAN模型)首先使用生成器处理数据,得到重构误差,并计算伪标签将数据分为两个类别。其中一类数据输入到第一个判别器中,数据与其重构对应物之间的损失越小越好。另一类数据输入到第二个判别器中,数据与其重构对应物之间的损失越大越好。通过这个过程,模型可以有效地约束并最后得到生成器,在数据重构过程中保留正常数据的信息,同时舍弃异常数据的信息。
有益效果:本发明提供的基于双判别器生成式对抗网络的异常数据检测方法,应用于多时间序列的异常数据检测,采用重构数据误差作为数据异常检测的基准,同时引入双判别器实现对生成器的强约束。此外引入了动态数组,通过不断的更新动态数组的存储的数据,实现生成器对异常数据更好的模拟与生成效果,从而实现对异常数据和正常数据在相同的重构下产生不同的重构误差,基于重构误差实现了对于正常数据和异常数据的判别。
本发明方法使用生成器处理数据,得到重构误差,然后计算伪标签将数据分为两个类别。一类数据输入到第一个判别器中,数据与其重构对应物之间的损失越小越好。另一类数据输入到第二个判别器中,数据与其重构对应物之间的损失越大越好。通过这个过程,模型可以有效地约束生成器,在数据重构过程中保留正常数据的信息,同时舍弃异常数据的信息。在多个基准数据集上进行实验证明,基于双判别器结构提出的生成对抗网络在异常检测方面取得了良好的结果,胜过了几种先进的方法。此外,该模型在实际的变压器数据上也表现良好。通过在5个公共数据集上的结果表明本发明提出的算法是高效且优于同类算法。
附图说明
图1是基于双判别器生成式对抗网络的异常数据检测模型图;
图2是基于双判别器生成式对抗网络的异常数据检测应用场景;
图3是基于双判别器生成式对抗网络的异常数据检测在应景的检测效果。图3中10幅数据对应的是一个应用背景,具体的是16维变压器的数据,由于篇幅的限制,只展示了10个维度的数据(10幅数据)。
具体实施方式
下面结合附图对本发明作更进一步的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种基于双判别器生成式对抗网络的异常数据检测方法,包括如下步骤:
步骤S1、输入训练数据Dt到自动编码器中获得重构数据Dre,将获得的重构数据和原始数据输入到过滤器中,基于重构数据和原始数据之间的重构误差计算伪标签,通过伪标签将数据划分为伪正常数据和伪异常数据。
原始数据D={x1,x2,...,xw}输入自动编码器后获得重构数据原始数据和重构数据之间的误差可以表示为E={e1,e2,...,ew}
V(E)和M(E)分别表示重构误差E的方差和均值,基于重构误差、重构误差均值和方差本发明提出了zw;
在zw的基础上,x是异常的概率则可以表示为
P(xw)=σ(zw) (3)
其中σ是Sigmoid函数,它可以将一个实数映射到(0,1)的区间。如果原始数据x和重构数据之间的误差ew等于均值M(E),或者标准化分数zw等于0,数据x被标记为异常的概率为0.5。如果原始数据x和重构数据/>之间的误差ew大于均值M(E),数据x被标记为异常的概率大于0.5。相反地,如果误差ew小于均值M(E),数据x被标记为异常的概率小于0.5。以上是自动编码器中获得重构数据的具体方法。以上是伪标签生成的部分,只在介绍什么样的数据会被标记为正常数据,什么样的数据会被标注为异常数据,本发明使用的重构是基于LSTM涉及的编码器和解码器(无须对重构方法进行详细介绍)。
在初始训练阶段,模型可能没有获得足够的信息来准确表示数据的潜在信息。因此,在初始阶段,所有数据使用相同的参数设置。在后续阶段,引入一个影响因子θ来影响异常概率。影响因子θ在初始条件下对所有数据保持一致,随着训练的增加而显示出更大的影响力,因此将影响因子θ定义为:
Sepoch是一个关于当前迭代的函数,满足以下条件:
结合等式(3)和等式(4),可以得到如下等式:
通过使用影响因子对标准化分数zw进行限制,数据的异常概率可以随着迭代次数的增加而改变。在训练的初始化阶段,所有数据被赋予相同的异常概率。随着训练的进行,数据被分配不同的异常概率,从而导致不同的异常标签。标记为0的数据被标记为“伪正常数据”,而标记为1的数据被标记为“伪异常数据”。伪正常数据和伪异常数据/>伪标签生成伪代码如下所示:
步骤S2、将步骤S1中获得的伪异常数据输入到动态字典中,动态字典在每次迭代中将存储的数据和输入的数据对比,筛选出异常数据保存到动态字典中。
原始数据和重构数据之间的误差大于均值,数据被标记为异常的概率大于0.5。因此,根据重构误差对动态字典进行排序,选择具有最大重构误差的前L个数据作为真实的异常数据,并用于训练鉴别器然后可以得到动态字典Dd的如下形式:
L通常设置为训练数据集维度的倍数。这强制鉴别器学习区分真实的异常数据,从而提高其识别异常数据的能力。
在每次迭代中,使用动态字典中的L个真实异常数据和生成器G生成的重构异常数据来更新鉴别器这使得鉴别器/>能够基于实际异常数据向生成器G提供反馈,从而指导生成器G生成更加逼真的异常数据。
通过这个迭代过程,生成器G和鉴别器DA进行一场相互改进性能的博弈,实现对异常数据的识别和生成。最终,在训练结束时,生成器G将能够生成高质量的异常数据,而鉴别器将能够准确地识别异常数据并将其保存在动态字典中,以供下一个训练周期使用。
步骤S3、将步骤S2中获得的伪正常数据输入到正常判别器中,将步骤S3获得的动态字典内保存的数据输入到异常判别器中,基于设计的损失函数不断迭代更新。
旨在减小正常数据和重构数据之间的距离,并增大异常数据和重构数据之间的距离。为了实现这个目标,我们为两个鉴别器和/>采用不同的损失函数。对于鉴别器/>它接受正常数据及其对应的重构数据作为输入,我们设计了其损失函数,通过每次迭代训练后的反向传播逐渐减小正常数据和重构数据之间的距离:
然而,原始数据被标记为真实数据,而重构数据被标记为伪造数据,因此原始数据被标记为1,重构数据被标记为0,鉴别器的损失可以定义为:
对于鉴别器它接受异常数据Dd及其对应的重构数据作为输入,我们设计了其损失函数,通过每次迭代训练后进一步增大异常数据和重构数据之间的距离:
类似于鉴别器然后将原始数据标记为1,将重构数据标记为0,鉴别器/>的损失可以表示为:
步骤S4、根据当前训练的步骤设计自适应权重系数,基于自适应权重系数计算重构误差的损失函数:
本发明提出了一种基于重构误差的异常检测的新训练函数,它要求对数据进行精确重构,保留正常信息而丢弃异常信息,以减小正常数据和重构数据之间的距离,扩大异常数据和重构数据之间的距离。
为了实现这一目标,本发明重新设计了训练函数,以区分正常数据和异常数据对损失函数的贡献。该函数的形式为:
当通过梯度下降进行此目标的训练时,正常数据和异常数据都会影响损失函数。然而,在无监督学习中,我们无法访问标签信息。通过构建伪标签,我们假设具有较大重构误差的数据更有可能是异常数据。因此,我们为每个数据点分配一个权重,较小的重构误差表示较少的异常,因此具有较大的权重。在每次反向传播的迭代之前,我们计算所有数据的标准化分数,并使用这些分数来设计数据权重,如下所示:
其中,标准化分数大于0表示数据的重构误差大于平均值,数据将获得较小的权重;标准化分数小于0表示数据的重构误差小于平均值,数据将获得较大的权重。较小的重构误差对应较大的权重,较大的重构误差对应较小的权重。我们还引入了一个平衡因子,最终权重为:
其中,N是一个归一化因子。在初始状态下,权重和每个数据点对损失函数的贡献是相等的。随着迭代次数的增加,权重将逐渐接近等式14。最终,式(13)可以近似表示为:
步骤S5、根据步骤S3得到的两个判别器和步骤S4得到的重构误差损失函数,计算生成器的损失函数,并迭代更新,从而得到生成器。
给定训练数据集T={x1,x2,,x3,...,xT},本提出了一种用于生成器和两个鉴别器和/>的交替训练方法,其中鉴别器/>和/>的训练损失函数分别定义为式(10)和式(12)。与传统的生成对抗网络(GANs)不同,传统GANs只使用对抗性损失函数来训练生成器,而本发明利用了鉴别器/>和/>并获得了它们各自的对抗性损失函数。通过结合这两个对抗性损失函数,得到了一个基于双鉴别器的对抗性损失函数,如下所示:
然而,基于双鉴别器的对抗性损失函数忽略了时间序列数据的时序相关性。因此,本发明结合式(16)和式(19)获得生成器的损失函数,如下所示:
其中,是用于调整Lre和Lad两个损失之间权重的参数。具体的训练过程如以下伪代码所示:
为了更加全面展示本发明异常数据检测的效果,本发明在5个公共数据进行了实验,并于6个算法进行了比较。
在五个真实世界数据集上对我们的模型进行了广泛的评估,并与六个竞争基线模型进行了比较。如表所示,我们的模型在几乎所有基准测试中取得了最先进的结果。展示了我们提出的DDGAN模型和其他基线模型在五个公共数据集上的精确度、召回率和F1分数。DDGAN模型在这五个数据集上的平均F1分数为0.9426。除了SMAP数据集外,DDGAN模型在其他四个数据集上的F1分数都超过了其他基线模型,并且在SMAP数据集上也取得了第二高的F1分数。值得注意的是,TranAD模型和AT模型是2022年提出的先进模型。我们提出的DDGAN模型在公共数据集上的平均F1分数比TranAD模型和AT模型分别高出了13.01%和2.60%。具体而言,在MSL数据集上,DDGAN模型的F1分数比AT模型高出2.79%,比TranAD模型高出0.18%。在WADI数据集上,DDGAN模型的F1分数比AT模型高出1.89%,比TranAD模型高出41.51%。在SWaT数据集上,DDGAN模型的F1分数比AT模型高出5.41%,比TranAD模型高出17.30%。在SMD数据集上,DDGAN模型的F1分数比AT模型高出7.65%,比TranAD模型高出4.97%。然而,在SMAP数据集上,DDGAN模型的F1分数比AT模型低了4.71%。这种差异可以归因于SMAP数据集的不同数据特征,其中异常和正常数据点的较小重构误差影响了结果。尽管如此,DDGAN模型仍然取得了第二好的性能。上述结果可以归因于两个因素:首先,利用自动编码器进行数据重构,放大正常和异常数据之间的重构误差;其次,利用接收正常和异常数据的双重鉴别器,使鉴别器能够区分两者。这些措施有助于改进算法在不同数据集上的性能。此外本发明所涉及的方法在图2所示的变压器的数据集进行了实验,具体的实验结果如图3的十幅数据曲线所示。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种基于双判别器生成式对抗网络的异常数据检测方法,其特征在于,包括以下步骤:
步骤S1、输入训练数据Dt到自动编码器中获得重构数据Dre,将获得的重构数据和原始数据输入到过滤器中,基于重构数据和原始数据之间的重构误差计算伪标签,通过伪标签将数据划分为伪正常数据和伪异常数据;
步骤S2、将步骤S1中获得的伪异常数据输入到动态字典中,动态字典在每次迭代中将存储的数据和输入的数据对比,筛选出异常数据保存到动态字典中;
步骤S3、将步骤S2中获得的伪正常数据输入到正常判别器中,将步骤S3获得的动态字典内保存的数据输入到异常判别器中,基于设计的损失函数不断迭代更新;
步骤S4、根据当前训练的步骤设计自适应权重系数,基于自适应权重系数计算重构误差的损失函数;
步骤S5、根据步骤S3得到的两个判别器和步骤S4得到的重构误差损失函数,计算生成器的损失函数,并迭代更新,从而得到生成器。
2.根据权利要求1所述的一种基于双判别器生成式对抗网络的异常数据检测方法,其特征在于,
所述步骤S1中输入训练数据Dt到自动编码器中获得重构数据Dre,将获得的重构数据和原始数据输入到过滤器中,基于重构数据和原始数据之间的重构误差计算伪标签,通过伪标签将数据划分为伪正常数据和伪异常数据,具体表示如下:
其中,D={x1,x2,...,xw}是原始数据,原始数据输入自动编码器后获得重构数据E={e1,e2,...,ew}表示原始数据和重构数据之间的误差,V(E)和M(E)表示重构误差E的方差和均值,P(xw)表示xw为异常数据的可能性,σ是Sigmoid函数,它可以将一个实数映射到(0,1)的区间,Sepoch是一个关于当前迭代次数的函数,而且满足以下关系基于P(xw)获得的伪标签,获得伪正常数据/>和伪异常数据/>
3.根据权利要求1所述的一种基于双判别器生成式对抗网络的异常数据检测方法,其特征在于,所述步骤S2获得的伪异常数据输入到动态字典,动态字典在每次迭代中将存储的数据和输入的数据对比,筛选出异常数据保存到动态字典:
动态字典的长度L是训练数据集维度的倍数,动态字典内保存的数据可以表示为每次将Dd和D1根据zw进行迭代更新,从而获得
4.根据权利要求1所述的一种基于双判别器生成式对抗网络的异常数据检测方法,其特征在于,所述步骤S3中步骤S2中获得的伪正常数据输入到正常判别器中,将步骤S3获得的动态字典内保存的数据输入到异常判别器中,正常与异常两种判别器的损失函数分别如下:
5.根据权利要求1所述的一种基于双判别器生成式对抗网络的异常数据检测方法,其特征在于,所述步骤S4中根据当前训练的步骤设计自适应权重系数,基于自适应权重系数计算重构误差的损失函数表示如下:
N是一个自然常数,Sepoch是关于当前步数的函数,e是自然数,表示输入数据和重构数据之间的误差,/>是关于重构误差的函数。
6.根据权利要求1所述的一种基于双判别器生成式对抗网络的异常数据检测方法,其特征在于,所述步骤S5中两个判别器和步骤S4得到的重构误差损失函数,计算生成器的损失函数:
θ是用于调整Lre和Lad之间的权重。
7.根据权利要求1所述的一种基于双判别器生成式对抗网络的异常数据检测方法,其特征在于,两个鉴别器和/>采用不同的损失函数,对于鉴别器/>接受正常数据及其对应的重构数据作为输入,其损失函数,通过每次迭代训练后的反向传播逐渐减小正常数据和重构数据之间的距离:
原始数据被标记为1,重构数据被标记为0,鉴别器的损失定义为:
对于鉴别器接受异常数据Dd及其对应的重构数据作为输入,设计其损失函数,通过每次迭代训练后进一步增大异常数据和重构数据之间的距离:
鉴别器然后将原始数据标记为1,将重构数据标记为0,鉴别器/>的损失表示为:
步骤S4、根据当前训练的步骤设计自适应权重系数,基于自适应权重系数计算重构误差的损失函数:
设计训练函数,以区分正常数据和异常数据对损失函数的贡献;该函数的形式为:
当通过梯度下降进行此目标的训练时,正常数据和异常数据都会影响损失函数;因具有较大重构误差的数据更有可能是异常数据,因此,为每个数据点分配一个权重,较小的重构误差表示较少的异常;在每次反向传播的迭代之前,计算所有数据的标准化分数,并使用这些分数来设计数据权重,如下所示:
其中,标准化分数大于0表示数据的重构误差大于平均值,数据将获得较小的权重;标准化分数小于0表示数据的重构误差小于平均值,数据将获得较大的权重;较小的重构误差对应较大的权重,较大的重构误差对应较小的权重;引入一个平衡因子,最终权重为:
其中,N是一个归一化因子;在初始状态下,权重和每个数据点对损失函数的贡献是相等的;随着迭代次数的增加,权重将逐渐接近式14;式(13)近似表示为:
步骤S5、根据步骤S3得到的两个判别器和步骤S4得到的重构误差损失函数,计算生成器的损失函数,并迭代更新,从而得到生成器;
给定训练数据集T={x1,x2,,x3,...,xT},提出一种用于生成器和两个鉴别器和/>的交替训练方法,其中鉴别器/>和/>的训练损失函数分别定义为式(10)和式(12)。与传统的生成对抗网络(GANs)不同,传统GANs只使用对抗性损失函数来训练生成器,而利用了鉴别器/>和/>并获得了它们各自的对抗性损失函数。通过结合这两个对抗性损失函数,得到了一个基于双鉴别器的对抗性损失函数,如下所示:
然而,基于双鉴别器的对抗性损失函数忽略了时间序列数据的时序相关性。因此,结合式(16)和式(19)获得生成器的损失函数,如下所示:
Ldgan=Lre+θ·Lad (20)
其中,θ是用于调整Lre和Lad两个损失之间权重的参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310765861.8A CN116861964A (zh) | 2023-06-27 | 2023-06-27 | 一种基于双判别器生成式对抗网络的异常数据检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310765861.8A CN116861964A (zh) | 2023-06-27 | 2023-06-27 | 一种基于双判别器生成式对抗网络的异常数据检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116861964A true CN116861964A (zh) | 2023-10-10 |
Family
ID=88222664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310765861.8A Pending CN116861964A (zh) | 2023-06-27 | 2023-06-27 | 一种基于双判别器生成式对抗网络的异常数据检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116861964A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117409326A (zh) * | 2023-12-13 | 2024-01-16 | 山东锋士信息技术有限公司 | 基于自适应加权损失和对抗干扰器的遥感异常检测方法 |
-
2023
- 2023-06-27 CN CN202310765861.8A patent/CN116861964A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117409326A (zh) * | 2023-12-13 | 2024-01-16 | 山东锋士信息技术有限公司 | 基于自适应加权损失和对抗干扰器的遥感异常检测方法 |
CN117409326B (zh) * | 2023-12-13 | 2024-04-19 | 山东锋士信息技术有限公司 | 基于自适应加权损失和对抗干扰器的遥感异常检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108846259B (zh) | 一种基于聚类和随机森林算法的基因分类方法及系统 | |
CN110348399B (zh) | 基于原型学习机制和多维残差网络的高光谱智能分类方法 | |
Kuo et al. | Green learning: Introduction, examples and outlook | |
CN110188824B (zh) | 一种小样本植物病害识别方法及系统 | |
CN113378632A (zh) | 一种基于伪标签优化的无监督域适应行人重识别算法 | |
CN112232413B (zh) | 基于图神经网络与谱聚类的高维数据特征选择方法 | |
CN111723915B (zh) | 一种基于深度卷积神经网络的目标检测方法 | |
CN112765352A (zh) | 基于具有自注意力机制的图卷积神经网络文本分类方法 | |
CN113326731A (zh) | 一种基于动量网络指导的跨域行人重识别算法 | |
CN105701503B (zh) | 基于dbn模型的干涉sar图像分类方法 | |
CN110866134B (zh) | 一种面向图像检索的分布一致性保持度量学习方法 | |
CN109993208B (zh) | 一种有噪声图像的聚类处理方法 | |
CN106991355A (zh) | 基于拓扑保持的解析型字典学习模型的人脸识别方法 | |
CN116861964A (zh) | 一种基于双判别器生成式对抗网络的异常数据检测方法 | |
CN112232395B (zh) | 一种基于联合训练生成对抗网络的半监督图像分类方法 | |
CN110349170A (zh) | 一种全连接crf级联fcn和k均值脑肿瘤分割算法 | |
CN113255573A (zh) | 基于混合簇中心标签学习的行人重识别方法和存储介质 | |
CN109948589B (zh) | 基于量子深度信念网络的人脸表情识别方法 | |
CN115512772A (zh) | 一种基于标记基因和集成学习的高精度单细胞聚类方法及系统 | |
CN109284662A (zh) | 一种面向水下声音信号分类的迁移学习方法 | |
CN111371611A (zh) | 一种基于深度学习的加权网络社区发现方法及装置 | |
CN114897002A (zh) | 基于LPINet的低截获概率雷达信号脉内调制识别方法 | |
Qin et al. | Two-stage feature selection for classification of gene expression data based on an improved Salp Swarm Algorithm | |
Zhang et al. | Multi-domain clustering pruning: Exploring space and frequency similarity based on GAN | |
Cho et al. | Fruit ripeness prediction based on dnn feature induction from sparse dataset |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |