一种有向动态图数据异常检测方法及系统与流程

文档序号:34877917发布日期:2023-07-25 10:18阅读:74来源:国知局
一种有向动态图数据异常检测方法及系统

本发明涉及异常检测,具体为一种有向动态图数据异常检测方法及系统。


背景技术:

1、现有的动态图异常检测方法主要可以分为两类。一类是基于启发式规则异常检测算法。这些方法手动启发式地去设计动态图的特征,并在设计的特征上进行异常检测。现有基于表示学习的动态图异常边检测算法主要是针对无向动态图的。将这些检测方法拓展延伸到有向动态图时,存在着几点缺陷。①这些方法无法学习到有向动态图的非对称结构特征。②这些方法异常检测器无法区分具有相同顶点但方向不同的边,导致检测精度下降。③这些方法在使用负采样策略训练算法时,只考虑了无向图中的异常模式,没有考虑有向图中会出现的异常模式。这就导致训练出来的算法不能够很好适应有向动态图数据。

2、现有基于表示学习的动态图异常检测方法中,所提出的表示学习算法主要是针对无向图数据的,这类表示学习算法在处理有向动态图时,仍将有向动态图数据当做无向动态图数据来处理,这会导致有向动态图中特有的不对称结构特征丢失。同时,与这些结构特征相关的异常模式也无法被算法捕捉。现有算法所提出的异常打分函数f(·)通常的对称的,即f((i,j))=f((j,i)),这会使得检测算法无法区分具有相同节点,但方向不同的边,从而发生误判。同时现有的检测方法在使用负采样训练策略进行模型训练时,只考虑了无向图中的异常模式,没有考虑有向图的中会出现的异常模式。这就导致训练出来的模型不能够很好的适应有向图数据,导致模型应用范围不够全面。


技术实现思路

1、针对现有技术的不足,本发明提供了一种有向动态图数据异常检测方法及系统,解决了传统结构特征相关的异常模式无法被算法捕捉和容易发生误判的问题。

2、为实现以上目的,本发明通过以下技术方案予以实现:一种有向动态图数据异常检测系统,包括基于图角色的有向图卷积网络的动态图异常边检测ddg算法,所述ddg算法可分为基于图角色的有向图卷积网络(rdgcn)、具有传递结构的多头注意力网络和异常检测模块三个模块,所述ddg算法在图卷积网络(rdgcn)中将动态图中的每个节点按照源节点角色和目标节点角色两种角色进行划分,随后ddg算法提出基于有向图角色的图卷积网络(rdgcn),并使用图卷积网络(rdgcn)分别学习到节点两种角色的表示向量,这两种表达包含两种角色对应的结构特征;

3、在所述多头注意网络中ddg算法应用具有传递结构的多头注意力网络来提取时序特征;

4、在所述异常检测模块中ddg算法提出有向负采样的训练策略,提高了模型的训练效果。

5、优选的,所述动态图异常边检测的具体定义为:

6、动态图是一个图序列,其中代表为在时间戳t时的图,对于每张图有其中和代表图的点集和边集;代表节点vi和vj之间的一条边,并且权重为w,让和分别代表动态图g总的点集和边集,则有n=|v|,at∈rn×n代表每张图的邻接矩阵。

7、优选的,一种有向动态图数据异常检测方法,其特征在于:包括以下步骤:

8、步骤一:基于有向图角色的图卷积网络rdgcn

9、有向图中的每条边的两个顶点根据边的方向可分为两种角色,一个是源节点角色,另一个是目标节点角色,由于这两种角色在图中的作用比不完全相同,因此,为了区分这两类角色的作用,在用表示学习技术为每个节点学习表示向量时,需要为每个节点学习两种表示向量,分别是源表示向量和目标表示向量,以更好地区划分每个节点中两个角色的作用;

10、步骤二:时序特征提取

11、采用具有循环结构的头注意网络将长期和短期时间特征提取到每个节点的两种嵌入表示中。具体的来说,首先我们将图序列按窗口大小k划分为多个块,表示的是第i个块,在经过rdgcn处理后,获得了每个块的顶点隐嵌入序列,由于多头注意力机制的对称性,序列本身不会包含先后顺序的位置信息,所以要对序列进行一次位置编码pe(·),并得到多头注意力的输入,获得输入过程如下:

12、

13、其中为第i个位置的编码信息,为块中顶点v的输入序列,处理完输入序列后,将描述多头注意力机制提取时序信息的计算过程,具体过程如下:

14、

15、

16、

17、

18、其中,为代表块中顶点v输出向量序列,和分别是三个可学习的参数,而上述过程通过矩阵运算的特性可以让每个点的计算都是并行地;

19、步骤三:异常检测

20、在异常检测模块中,ddg算法将对快照中的每一条边进行异常打分,并将异常得分较高的边视为异常边,在对每条边e=(i,j,w)进行打分之前,ddg算法要先计算得到每条边表示向量φ(e),其具体地计算公式如下所示:

21、

22、其中⊙为哈达玛积运算,接着ddg算法再将每条边的表示向量φ(e)输入到打分函数f(·)中,其具体的计算公式如下:

23、f(φ(e))=σ(φ(e)wa+b)#(15)

24、打分函数f(·)的取值范围为(0,1),wa和b为可学习的参数,ddg算法将用公式13为每条边进行打分,由于公式13不具有对称性,即φ(i,j)≠φ(j,i),因此打分函数f(·)也是不对称的,这就使得模型能够区分相同顶点方向不同的边,从而具备了检测有向异常的先前条件;

25、同时由于许多现实数据集不包含任何异常样本或仅包含少量异常样本,所以提出了一种有向负采样的方法来提升模型的训练性能。

26、优选的,所述步骤一具体为:

27、图卷积网络rdgcn通过聚合节点中不同角色的两类邻居信息,来学习每个节点的两种表示向量,一类是节点不同角色的k-跳邻居信息,一类是节点不同角色的直接邻居传递信息;而图卷积网络rdgcn背后的关键思想是,假设,图中任意两个节点vi和vj在作为源节点时,享有共同的目标节点k,即存在边vi→vj和vj→vi,则认为这两个节点的关系较为紧密,所以这两个节点的表示向量会有更高的相似度,除此之外,为了保留有向图中的不对称传递性质,所以直接相连的两个节点在不同的角色表示向量上,也应具有一定的相似度,并且图卷积网络rdgcn具有k-跳源邻居/目标邻居和k-跳源邻居/目标邻居邻接矩阵两个定义。

28、优选的,定义1:k-跳源邻居/目标邻居

29、给定一张有向静态图对于所有它的k-跳源邻居的定义如下:其中d(i,t)代表节点vi到节点vt的最短距离;sourcenei(vi,k)包含了节点vi作为源节点时局部邻居结构信息,同样的表示的是节点vi的k-跳目的邻居。它包含了节点vi作为目的节点是局部邻居结构信息,除此之外,某个节点的k-跳目的邻居和k-跳源邻居就是它自己;

30、为了去更好的阐述每个节点的k-跳源邻居和k-跳目的邻居的结构关系,对于有向图定义了k-跳源邻居邻接矩阵和k-跳目的邻居邻接矩阵

31、定义2:k-跳源邻居/目标邻居邻接矩阵

32、对于有向图其k-跳源邻居邻接矩阵和k-跳目的邻居邻接矩阵可以由以下公式计算得出:

33、

34、其中a表示的是图的邻接矩阵,diag(a)表示的是矩阵a的对角矩阵,和中的每个元素表示的是两个节点之间k-跳邻居关系;

35、有了上述两个定义之后,rdgcn设计了一个多尺度的卷积网络去对不同跳数的邻居信息进行聚合,并用聚合的信息来更新和学习节点的隐状态向量,其计算公式如下所示:

36、

37、

38、其中,k≥1,代表当前聚合邻居的跳数,和分别为初始的节点源特征矩阵和目标特征矩阵,df为初始节点特征向量的维度,σ(·)表示激活函数,例如relu(·),和分别是聚合了第k跳源邻居和目标邻居信息后得到的隐状态矩阵,dh为节点隐状态向量维度,其中$是单位矩阵,d(k,r)是的度矩阵,例如表示的是第$i$个节点在的度,是网络中的可学习参数;

39、在得到聚合了不同跳数邻居信息的隐状态矩阵后,下一步,rdgcn将这些隐状态矩阵进行融合,从而得到了聚合了所有k-跳邻居信息的隐状态矩阵,其计算公式如下所示:

40、

41、其中为可学习参数,通过上述的计算,rdgcn得到了聚合了所有k-跳邻居信息的隐状态矩阵和

42、通过聚合源邻居和目标邻居信息学习得到的表示向量,可以让拥有共同目标节点的源节点,或是拥有共同源节点的目标节点拥有更高的相似度,但是,仅从$k$-跳邻居中学习表示向量并没有考虑到有向动态图中不对称传递性质,因此,rdgcn还对直接相连的两个节点进行信息聚合,以此保留有向动态图中不对称传递性质;具体地,假设存在一条边a→b,则节点a的源表示向量φs(b)应该更加靠近节点b的源表示向量φs(a),同理,节点b的目标表示向量φt(a)应该更加靠近节点a的目标表示向量φt(b);两个直接连接的节点之间节点信息的卷积网络计算公式如下所示:

43、

44、

45、其中d和分别为出度和入度矩阵,并有和σ为激活函数,xr和xt为初始的源特征矩阵和目标特征矩阵,wtd和wsd都是可学习参数;

46、最后rdgcn将zs,dir$和$zt,dir$进行融合,最终得到提取了结构特征的隐嵌入,融合的方式为将两个特征向量进行拼接,其计算的过程如下所示:

47、hr=concat(zr,hop,zr,dir)#(8)。

48、优选的,所述有向负采样是根据每条边的出度和入度构造一个概率分布,这个概率分布描述的是正常边的反向边为异常的概率,然后依据这个概率分布去生成一些真实数据的反向边当做负样本,具体如下:

49、对于边来说,假如与其方向相反的边(vj,vi)不存在,就根据公

50、式14所示的概率来生成eneg=(vj,vi)作为负样本,概率计算公式如下所示:

51、

52、其中di,in和di,out分别表示节点vi的入度和出度,di=di,in+di,out表示节点vi的度,假如对于边来说,与其方向相反的边(vj,vi)存在,或者p((vj,vi))计算出的概率不生成(vj,vi)作为负样本,则ddg算法采用基于上下文的负采样策略来生成负样本数据,其具体做法为对于每条边e=(i,j),视其为一个正样本,然后依概率di/(di+dj)替换顶点i,并保证生成的新边不在数据集中,例如将顶点i换成节点x生成eneg=(x,j)作为负采样边,因此,ddg算法采用的是一种结合有向负采样和基于上下文负采样的混合负采样策略,最后,损失函数的计算公式如下所示:

53、

54、其中是模型参数的l2范数,用来控制模型参数的范围,防止模型过拟合。

55、本发明提供了一种有向动态图数据异常检测方法及系统。具备以下有益效果:

56、1、本发明通过基于角色的有向图卷积网络,主要利用核心公式1构造了k-跳源/目标邻接矩阵,并用公式2、3、4、5聚了合邻居信息,同时利用公式6、7对有向动态图不对称传递性质信息进行聚合,最后将所有信息通过公式8融合,ddg算法采用了基于有向图角色的图卷积网络rdgcn去提取动态图中的结构特征,以更好地适用于有向动态图数据,并采用具有传递结构的多头注意力网络去提取动态图的时序特征,最后采用有向负采样方法去训练模型,提高了模型在有向图和无向图数据中的异常检测的性能,填补了这方面的研究缺陷。

57、2、本发明通过有向负采样训练策略,首先判断每条边的反向边是否存在,假如不存在,则利用核心公式16对其反向边进行采样,假如存在,则利用基于上下文的负采样策略来生成负样本数据。

58、3、本发明通过在动态图的结构特征提取上,充分考虑了有向动态图中的不对称结构性质,并且设计的异常边检测模式能够感知不同方向边的差异,从而防止误判,检测精确度更高。除此之外,模型的训练策略也对有向动态图进行了适配,能够更好地应用在有向动态图数据上。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1