本发明属于信息挖掘领域,尤其涉及异常检测及图神经网络,具体涉及一种基于多损失图变分自编码器的图异常检测方法和系统。
背景技术:
1、图,作为现实世界的一种广泛存在的数据结构,近些年来越来越受到学者和研究团队的关注。从微观世界的分子结构,到宏观世界的社交网络,都可以被抽象为图结构。由于图在现实世界的应用如此广泛,针对图的异常检测也变得尤为重要。图异常检测的目标是识别与正常类别的图存在明显不同的图个体。传统的基于统计方法的异常检测方法和早期机器学习算法因其依赖于统计学原理,或者大量有标记的训练数据,表现非常有限。随着深度学习技术的不断发展,许多基于图神经网络(gnn)的图级别异常检测方法被提出,这些方法利用gnn(包括其衍生网络如图卷积网络gcn,图注意力网络gat等)作为编解码器来提取图在潜在空间的嵌入表示进行判别,但是并未对图的编码信息进行更多的提炼和挖掘,导致效果次优。
技术实现思路
1、为了更好地对图的编码特征进行挖掘,提高异常检测的准确率,本发明提供了一种基于多损失图变分自编码器(vgae)的图异常检测技术,将图变分自编码器应用于图级别异常检测当中,通过图变分自编码器与异常得分评估器结合的方法对图的异常程度进行评估,直接计算异常得分。
2、本发明包含的检测方法主要包括以下步骤:
3、步骤1,获取数据集,对数据进行预处理,得到后续训练所需的图结构数据和异常类别标签,并且进行训练集和测试集的划分;
4、步骤2,构建图异常检测模型,包括图变分自编码器和标签预测网络,其中图变分自编码器用于特征提取,标签预测网络用于异常的判别;
5、使用训练集对图异常检测模型进行训练,通过属性重构损失,结构重构损失和kl散度损失约束图变分自编码器的编解码过程,以提取出平滑连续的隐藏特征,通过标签预测损失约束标签预测网络;
6、步骤3,使用训练好的图变分自编码器对测试集的图进行特征提取,然后通过已训练的标签预测网络进行异常的判别。
7、进一步的,步骤2的具体实现过程如下;
8、首先使用图变分自编码器对原始特征进行编码得到每个节点每一维度上的嵌入均值和方差,然后再在高斯分布上进行采样,利用采样点的值与先前得到的均值方差一同计算获得隐藏特征,该隐藏特征被应用于计算四方面的损失以约束模型的训练,分别为:使用隐藏特征还原邻接矩阵计算与原始邻接矩阵之间的差异作为结构重构损失lstruct;使用隐藏特征经过解码器图卷积网络的还原得到的节点属性与原始节点属性之间的差异作为属性重构损失lattr;使用隐藏特征经过标签预测网络得到的异常与否的类别标签和真实类别之间的差异作为标签预测损失lscore;使用隐藏特征与高斯分布之间计算的kl散度损失lkl;其中结构重构损失lstruct、属性重构损失lattr与kl散度损失lkl这三部分共同组成图变分自编码器损失lvgae,再与标签预测损失lscore结合作为整个网络模型的总体损失函数,并以最小化损失函数为目标对模型网络参数进行迭代更新。
9、进一步的,图变分自编码器中的损失函数的计算过程如下;
10、首先将图中的所有节点的原始特征向量纵向排列组成原始属性特征矩阵h0,然后将h0送入第一个单层图卷积网络gcn中根据公式h1=fsigmoid(h0,a|w0)计算得到中间表示h1,其中w0指的是第一个单层gcn学习后的权重矩阵,a为原始邻接矩阵;接着将h1分别送入两个不同的单层gcn计算节点嵌入均值和节点嵌入方差计算公式分别表示为:和二者通过公式可以计算得到kl散度损失lkl;接着用和以及服从高斯分布的随机采样η,根据且η~n(0,1)将嵌入均值和嵌入方差转换为最为核心的隐藏特征z,再基于隐藏特征z计算剩余的损失;结构重构损失lstruct的计算过程是先通过计算得到重构的邻接矩阵然后与原始邻接矩阵a通过公式计算得到;
11、属性重构损失lattr则使用另一个gcn作为解码器经过如公式所示的计算得到还原出的属性特征矩阵然后依据公式通过对比计算还原后的以及原始的属性特征差异获得;
12、最后根据公式lvgae=lstruct+lattr+lkl得到lvgae。
13、进一步的,标签预测损失lscore是先将隐藏特征z通过聚合函数hg=readout(z)得到整张图的特征后,将其送入由线性层构成的标签预测网络经过如公式sg=sigmoid(hg·wg)所示的转换过程后得到预测得分sg,其中wg为线性层学习的权重系数矩阵,由于异常类别标签记为1而正常类别标签记为0,所以在计算sg时需要根据图的类别将sg的结果细分为sp和sn,分别为对正常图的预测得分和异常图的预测得分,然后再根据lscore=-(sn·log(sp)+(1-sn)·log(1-sp))计算得到。
14、进一步的,图异常检测模型最终的损失loss为lvgae和lscore的加权,即loss=α·lvgae+(1-α)·lscore,其中α为权重。
15、进一步的,步骤3的具体实现方式如下;
16、测试集中需要进行判别的未知图记为gun,将未知图的原始特征向量矩阵和邻接矩阵输入到图变分自编码器中进行编码得到各个节点的隐藏特征zun,然后通过聚合函数hgun=readout(zun)得到整张图的特征,readout是拼接函数,即将每个节点的隐藏特征拼接在一起构成整图的隐藏特征;然后将其全图特征hgun输入到标签预测网络中,计算异常得分sgun=sigmoid(hgun·wg),其中wg为步骤2中通过模型损失约束训练的权重矩阵,sigmoid函数将网络输出的预测数值取值转换为0到1之间,然后通过阈值处理预测数值,具体而言就是将大于阈值的归为1即认定为异常类,而小于阈值的归为0即认定为正常类。
17、进一步的,步骤1中的具体实现方式如下;
18、对于实际场景中的需要进行异常检测的数据,首先对具体的情景进行图结构化的预处理,即将场景中的实体与交互动作进行分离,实体作为图结构数据中的节点,而交互动作则构成了节点之间的连接边,实体的相关属性处理为维度相同的实数向量作为节点的特征向量,并且保证不同节点的特征向量的每一维度的数值的含义及量纲等均相同;另外,人工地对每一张图的类别进行正常或者异常的标注,并且二值化为0和1。
19、本发明还提供一种基于多损失图变分自编码器的图异常检测系统,包括如下模块:
20、数据获取模块,用于获取数据集,对数据进行预处理,得到后续训练所需的图结构数据和异常类别标签,并且进行训练集和测试集的划分;
21、异常检测模型构建模块,用于构建图异常检测模型,包括图变分自编码器和标签预测网络,其中图变分自编码器用于特征提取,标签预测网络用于异常的判别;
22、使用训练集对图异常检测模型进行训练,通过属性重构损失,结构重构损失和kl散度损失约束图变分自编码器的编解码过程,以提取出平滑连续的隐藏特征,通过标签预测损失约束标签预测网络;
23、异常判别模块,用于使用训练好的图变分自编码器对测试集的图进行特征提取,然后通过已训练的标签预测网络进行异常的判别。
24、本发明还提供一种基于多损失图变分自编码器的图异常检测设备,包括:
25、一个或多个处理器;
26、存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述方案所述的一种基于多损失图变分自编码器的图异常检测方法。
27、与现有技术相比,本发明的优点和有益效果如下:
28、当前图异常检测的大部分方法大多使用传统的图神经网络作为提取节点特征的主体,而本方法将图变分自编码器引入到图异常检测领域,并且通过设计的包含属性重构,结构重构,kl散度,标签预测四个方面的多项损失函数进一步提高对隐藏特征的挖掘能力,最后依靠质量更优辨识度更高的隐藏特征对异常进行检测,因此可以获得更加准确的判别效果也就是更高的异常检测精准度。
1.一种基于多损失图变分自编码器的图异常检测方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种基于多损失图变分自编码器的图异常检测方法,其特征在于:步骤2的具体实现过程如下;
3.如权利要求1所述的一种基于多损失图变分自编码器的图异常检测方法,其特征在于:图变分自编码器中的损失函数的计算过程如下;
4.如权利要求3所述的一种基于多损失图变分自编码器的图异常检测方法,其特征在于:标签预测损失lscore是先将隐藏特征z通过聚合函数hg=readout(z)得到整张图的特征后,将其送入由线性层构成的标签预测网络经过如公式sg=sigmoid(hg·wg)所示的转换过程后得到预测得分sg,其中wg为线性层学习的权重系数矩阵,由于异常类别标签记为1而正常类别标签记为0,所以在计算sg时需要根据图的类别将sg的结果细分为sp和sn,分别为对正常图的预测得分和异常图的预测得分,然后再根据lscore=-(sn·log(sp)+(1-sn)·log(1-sp))计算得到。
5.如权利要求4所述的一种基于多损失图变分自编码器的图异常检测方法,其特征在于:图异常检测模型最终的损失loss为lvgae和lscore的加权,即loss=α·lvgae+(1-α)·lscore,其中α为权重。
6.如权利要求1所述的一种基于多损失图变分自编码器的图异常检测方法,其特征在于:步骤3的具体实现方式如下;
7.如权利要求1所述的一种基于多损失图变分自编码器的图异常检测方法,其特征在于:步骤1中的具体实现方式如下;
8.一种基于多损失图变分自编码器的图异常检测系统,其特征在于,包括如下模块:
9.一种基于多损失图变分自编码器的图异常检测设备,其特征在于,包括: