一种基于自监督图神经网络的节点分类方法及装置转让专利

申请号 : CN202310275899.7

文献号 : CN115982654B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 栗位勋赵腊梅孙悦蔡准郭晓鹏

申请人 : 北京芯盾时代科技有限公司

摘要 :

本公开提供了一种基于自监督图神经网络的节点分类方法及装置,所述方法包括:基于第一节点的交易信息构建所述第一节点对应的特征矩阵以及邻接矩阵;基于所述特征矩阵和所述邻接矩阵,获取所述第一节点上不同粒度和种类的节点嵌入特征;基于所述节点嵌入特征确定所述第一节点的类别。

权利要求 :

1.一种基于自监督图神经网络的节点分类方法,其特征在于,所述方法包括:基于第一节点的交易信息构建所述第一节点对应的特征矩阵以及邻接矩阵;

基于所述特征矩阵和所述邻接矩阵,获取所述第一节点上不同粒度和种类的节点嵌入特征;

基于所述节点嵌入特征确定所述第一节点的类别;

其中,所述基于所述特征矩阵和所述邻接矩阵,获取所述第一节点上不同粒度和种类的节点嵌入特征,包括:将所述特征矩阵和所述邻接矩阵输入至多尺度多通道自监督图卷积神经网络模型;利用所述多尺度多通道自监督图卷积神经网络模型的多个通道获取所述第一节点上不同种类的节点嵌入特征;利用池化层对所述第一节点上不同种类的节点嵌入特征和所述第一节点对应的拓扑结构进行不同粒度的采样;基于自学习参数对所述第一节点上不同粒度和种类的节点嵌入特征进行特征融合,得到所述多尺度多通道自监督图卷积神经网络模型输出的节点嵌入特征。

2.根据权利要求1所述的方法,其特征在于,所述基于第一节点的交易信息构建所述第一节点对应的特征矩阵以及邻接矩阵,包括:整合所述第一节点的交易信息,得到所述第一节点对应的交易关系网;

基于所述交易关系网,构建交易关系拓扑图;

从所述交易关系拓扑图中分别提取所述第一节点的特征和所述第一节点对应的交易关系;

基于所述第一节点的特征和所述交易关系生成所述特征矩阵和所述邻接矩阵;

其中,所述第一节点表征所述交易关系网中的用户账号。

3.根据权利要求2所述的方法,其特征在于,所述利用所述多尺度多通道自监督图卷积神经网络模型的多个通道获取所述第一节点上不同种类的节点嵌入特征,包括:对所述邻接矩阵进行网页排名计算,得到图扩散矩阵;

基于所述特征矩阵和所述图扩散矩阵,利用正分支的多个通道获取所述第一节点对应的正样本节点嵌入特征;

对所述特征矩阵做行随机扰动,得到负特征矩阵;

基于所述负特征矩阵和所述图扩散矩阵,利用负分支的多个通道获取所述第一节点对应的负样本节点嵌入特征。

4.根据权利要求3所述的方法,其特征在于,所述利用池化层对所述第一节点上不同种类的节点嵌入特征和所述第一节点对应的拓扑结构进行不同粒度的采样,包括:基于多头注意力机制以及含有初始残差和恒等映射的图卷积神经网络模型进行池化操作,得到池化后的特征矩阵和图扩散矩阵;

将池化后的特征矩阵和图扩散矩阵用于节点嵌入特征的提取。

5.根据权利要求4所述的方法,其特征在于,所述基于多头注意力机制以及含有初始残差和恒等映射的图卷积神经网络模型进行池化操作,得到池化后的特征矩阵和图扩散矩阵,包括:将所述特征矩阵经过不同学习参数的线性变换,得到查询键和关键字;

将含有初始残差和恒等映射的图卷积神经网络模型作用于所述特征矩阵和所述图扩散矩阵,以构造关键值;

基于所述查询键、所述关键字和所述关键值确定所述第一节点的注意力得分向量;

基于所述注意力得分向量对所述第一节点进行采样。

6.根据权利要求5所述的方法,其特征在于,所述基于自学习参数对所述第一节点上不同粒度和种类的节点嵌入特征进行特征融合,得到所述多尺度多通道自监督图卷积神经网络模型输出的节点嵌入特征,包括:在每层池化上,对每个正样本节点嵌入特征和全局图嵌入特征进行互信息最大化处理,对每个负样本节点嵌入特征和全局图嵌入特征进行互信息最小化处理,以确定多个通道的自学习权重参数;

其中,对池化后每层得到的正样本节点嵌入特征做平均池化操作,得到所述全局图嵌入特征。

7.根据权利要求1所述的方法,其特征在于,所述基于所述节点嵌入特征确定所述第一节点的类别,包括:基于线性变换将所述节点嵌入特征映射到对应的节点类别;

基于激活函数确定所述节点嵌入特征映射到对应节点类别的概率,将概率最大的节点类别作为所述第一节点的类别。

8.一种基于自监督图神经网络的节点分类装置,其特征在于,所述装置包括:确定模块,用于基于第一节点的交易信息构建所述第一节点对应的特征矩阵以及邻接矩阵;

特征提取模块,用于基于所述特征矩阵和所述邻接矩阵,获取所述第一节点上不同粒度和种类的节点嵌入特征;

分类模块,用于基于所述节点嵌入特征确定所述第一节点的类别;

其中,所述特征提取模块,具体用于:将所述特征矩阵和所述邻接矩阵输入至多尺度多通道自监督图卷积神经网络模型;利用所述多尺度多通道自监督图卷积神经网络模型的多个通道获取所述第一节点上不同种类的节点嵌入特征;利用池化层对所述第一节点上不同种类的节点嵌入特征和所述第一节点对应的拓扑结构进行不同粒度的采样;基于自学习参数对所述第一节点上不同粒度和种类的节点嵌入特征进行特征融合,得到所述图卷积神经网络模型输出的节点嵌入特征。

9.一种电子设备,其特征在于,包括:

至少一个处理器;以及与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑7中任一项所述的基于自监督图神经网络的节点分类方法。

10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行根据权利要求1‑7中任一项所述的基于自监督图神经网络的节点分类方法。

说明书 :

一种基于自监督图神经网络的节点分类方法及装置

技术领域

[0001] 本公开涉及数据处理技术领域,尤其涉及一种基于自监督图神经网络的节点分类方法及装置。

背景技术

[0002] 网络中的社区由节点构成,相同社区的各个节点之间连接紧密。现实世界中,网络结构数据的存在具有普遍性。作为对网络结构数据的数学抽象,图的研究有着悠久的历史,从经典的图论与图信号处理到图嵌入与表示学习,图的结构和性质在对网络的研究中具有重要作用。
[0003] 因此,提高图结构数据的处理能力是一直追求的目标。

发明内容

[0004] 本公开提供了一种基于自监督图神经网络的节点分类方法及装置,以至少解决现有技术中存在的以上技术问题。
[0005] 根据本公开的第一方面,提供了一种基于自监督图神经网络的节点分类方法,所述方法包括:基于第一节点的交易信息构建所述第一节点对应的特征矩阵以及邻接矩阵;基于所述特征矩阵和所述邻接矩阵,获取所述第一节点上不同粒度和种类的节点嵌入特征;基于所述节点嵌入特征确定所述第一节点的类别。
[0006] 在一可实施方式中,所述基于第一节点的交易信息构建所述第一节点对应的特征矩阵以及邻接矩阵,包括:整合所述第一节点的交易信息,得到所述第一节点对应的交易关系网;基于所述交易关系网,构建交易关系拓扑图;从所述交易关系拓扑图中分别提取所述第一节点的特征和所述第一节点对应的交易关系;基于所述第一节点的特征和所述交易关系生成所述特征矩阵和所述邻接矩阵;其中,所述第一节点表征所述交易关系网中的用户账号。
[0007] 在一可实施方式中,所述基于所述特征矩阵和所述邻接矩阵,获取所述第一节点上不同粒度和种类的节点嵌入特征,包括:将所述特征矩阵和所述邻接矩阵输入至多尺度多通道自监督图卷积神经网络模型;利用所述多尺度多通道自监督图卷积神经网络模型的多个通道获取所述第一节点上不同种类的节点嵌入特征;利用池化层对所述第一节点上不同种类的节点嵌入特征和所述第一节点对应的拓扑结构进行不同粒度的采样;基于自学习参数对所述第一节点上不同粒度和种类的节点嵌入特征进行特征融合,得到所述图卷积神经网络模型输出的节点嵌入特征。
[0008] 在一可实施方式中,所述利用所述多尺度多通道自监督图卷积神经网络模型的多个通道获取所述第一节点上不同种类的节点嵌入特征,包括:对所述邻接矩阵进行网页排名计算,得到图扩散矩阵;基于所述特征矩阵和所述图扩散矩阵,利用正分支的多个通道获取所述第一节点对应的正样本节点嵌入特征;对所述特征矩阵做行随机扰动,得到负特征矩阵;基于所述负特征矩阵和所述图扩散矩阵,利用负分支的多个通道获取所述第一节点对应的负样本节点嵌入特征。
[0009] 在一可实施方式中,所述利用池化层对所述第一节点上不同种类的节点嵌入特征和所述第一节点对应的拓扑结构进行不同粒度的采样,包括:基于多头注意力机制以及含有初始残差和恒等映射的图卷积神经网络模型进行池化操作,得到池化后的特征矩阵和图扩散矩阵;将池化后的特征矩阵和图扩散矩阵用于节点嵌入特征的提取。
[0010] 在一可实施方式中,所述基于多头注意力机制以及含有初始残差和恒等映射的图卷积神经网络模型变体进行池化操作,得到池化后的特征矩阵和图扩散矩阵,包括:将所述特征矩阵经过不同学习参数的线性变换,得到查询键和关键字;将含有初始残差和恒等映射的图卷积神经网络模型变体作用于所述特征矩阵和所述图扩散矩阵,以构造关键值;基于所述查询键、所述关键字和所述关键值确定所述第一节点的注意力得分向量;基于所述注意力得分向量对所述第一节点进行采样。
[0011] 在一可实施方式中,所述基于自学习参数对所述第一节点上不同粒度和种类的节点嵌入特征进行特征融合,得到所述图卷积神经网络模型输出的节点嵌入特征,包括:在每层池化上,对每个正样本节点嵌入特征和全局图嵌入特征进行互信息最大化处理,对每个负样本节点嵌入特征和全局图嵌入特征进行互信息最小化处理,以确定多个通道的自学习权重参数;其中,对池化后每层得到的正样本节点嵌入特征做平均池化操作,得到所述全局图嵌入特征。
[0012] 在一可实施方式中,所述基于所述节点嵌入特征确定所述第一节点的类别,包括:基于线性变换将所述节点嵌入特征映射到对应的节点类别;基于激活函数确定所述节点嵌入特征映射到对应节点类别的概率,将概率最大的节点类别作为所述第一节点的类别。
[0013] 根据本公开的第二方面,提供了一种基于自监督图神经网络的节点分类装置,所述装置包括:确定模块,用于基于第一节点的交易信息构建所述第一节点对应的特征矩阵以及邻接矩阵;特征提取模块,用于基于所述特征矩阵和所述邻接矩阵,获取所述第一节点上不同粒度和种类的节点嵌入特征;分类模块,用于基于所述节点嵌入特征确定所述第一节点的类别。
[0014] 在一可实施方式中,所述确定模块,具体用于整合所述第一节点的交易信息,得到所述第一节点对应的交易关系网;基于所述交易关系网,构建交易关系拓扑图;从所述交易关系拓扑图中分别提取所述第一节点的特征和所述第一节点对应的交易关系;基于所述第一节点的特征和所述交易关系生成所述特征矩阵和所述邻接矩阵;其中,所述第一节点表征所述交易关系网中的用户账号。
[0015] 在一可实施方式中,所述特征提取模块,具体用于将所述特征矩阵和所述邻接矩阵输入至多尺度多通道自监督图卷积神经网络模型;利用所述多尺度多通道自监督图卷积神经网络模型的多个通道获取所述第一节点上不同种类的节点嵌入特征;利用池化层对所述第一节点上不同种类的节点嵌入特征和所述第一节点对应的拓扑结构进行不同粒度的采样;基于自学习参数对所述第一节点上不同粒度和种类的节点嵌入特征进行特征融合,得到所述图卷积神经网络模型输出的节点嵌入特征。
[0016] 在一可实施方式中,所述特征提取模块,具体用于对所述邻接矩阵进行网页排名计算,得到图扩散矩阵;基于所述特征矩阵和所述图扩散矩阵,利用正分支的多个通道获取所述第一节点对应的正样本节点嵌入特征;对所述特征矩阵做行随机扰动,得到负特征矩阵;基于所述负特征矩阵和所述图扩散矩阵,利用负分支的多个通道获取所述第一节点对应的负样本节点嵌入特征。
[0017] 在一可实施方式中,所述特征提取模块,具体用于基于多头注意力机制以及含有初始残差和恒等映射的图卷积神经网络模型进行池化操作,得到池化后的特征矩阵和图扩散矩阵;将池化后的特征矩阵和图扩散矩阵用于节点嵌入特征的提取。
[0018] 在一可实施方式中,所述特征提取模块,具体用于将所述特征矩阵经过不同学习参数的线性变换,得到查询键和关键字;将含有初始残差和恒等映射的图卷积神经网络模型作用于所述特征矩阵和所述图扩散矩阵,以构造关键值;基于所述查询键、所述关键字和所述关键值确定所述第一节点的注意力得分向量;基于所述注意力得分向量对所述第一节点进行采样。
[0019] 在一可实施方式中,所述特征提取模块,具体用于在每层池化上,对每个正样本节点嵌入特征和全局图嵌入特征进行互信息最大化处理,对每个负样本节点嵌入特征和全局图嵌入特征进行互信息最小化处理,以确定多个通道的自学习权重参数;其中,对池化后每层得到的正样本节点嵌入特征做平均池化操作,得到所述全局图嵌入特征。
[0020] 在一可实施方式中,所述分类模块,具体用于基于线性变换将所述节点嵌入特征映射到对应的节点类别;基于激活函数确定所述节点嵌入特征映射到对应节点类别的概率,将概率最大的节点类别作为所述第一节点的类别。
[0021] 根据本公开的第三方面,提供了一种电子设备,包括:
[0022] 至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
[0023] 其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开所述的方法。
[0024] 根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开所述的方法。
[0025] 本公开的一种基于自监督图神经网络的节点分类方法及装置,通过第一节点对应的矩阵从图结构数据中获取第一节点上不同粒度和种类的节点嵌入特征,提高了从图结构数据中提取特征的能力。
[0026] 应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

[0027] 通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
[0028] 在附图中,相同或对应的标号表示相同或对应的部分。
[0029] 图1示出了本公开实施例基于自监督图神经网络的节点分类方法的一种处理流程示意图;
[0030] 图2示出了本公开实施例基于自监督图神经网络的节点分类方法的一种整体流程示意图;
[0031] 图3示出了本公开实施例基于自监督图神经网络的节点分类方法的一种交易关系拓扑图;
[0032] 图4示出了本公开实施例一种基于自监督图神经网络的节点分类方法中多尺度多通道自监督图卷积神经网络的示意图;
[0033] 图5示出了本公开实施例一种基于自监督图神经网络的节点分类方法的池化流程示意图;
[0034] 图6示出了本公开实施例一种基于自监督图神经网络的节点分类装置的组成结构示意图;
[0035] 图7示出了本公开实施例一种电子设备的组成结构示意图。

具体实施方式

[0036] 为使本公开的目的、特征、优点能够更加的明显和易懂,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而非全部实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0037] 图结构数据(矩阵)相对于文本数据(序列)来说,图结构数据的处理较为复杂,这使得在很长一段时间里对图结构数据的探索进展缓慢,在机器学习领域,图结构数据备受关注还是在社交网络比较流行的时候。但是,在过去几年中将神经网络应用于图的研究正在逐渐的兴起。
[0038] 图神经网络源于图信号处理与神经网络的结合,通过节点属性沿网络拓扑的传播实现两类异构信息的融合表征,并被广泛应用于计算机视觉、自然语言处理以及信息检索等领域。进一步地,为了提高大规模数据集的处理效率和特征提取能力,研究人员提出了一种将深度学习中图像处理的卷积操作应用到图结构数据处理的图卷积神经网络(Graph Convolutional Network, GCN),GCN同时应用了拓扑图结构和节点的特征属性,可以利用图形处理器(graphics processing unit,GPU)加速并行处理数据,使得该模型处理大规模网络成为一种可能。
[0039] 本公开实施例提出了一种基于自监督图神经网络的节点分类方法,通过构建多尺度多通道自监督图卷积神经网络模型(Multi‑scale Multi‑channel Contrastive loss, MMC),并利用该模型融合节点上不同粒度和种类的节点嵌入特征,得到节点融合特征,提高了从图结构数据中提取节点特征的能力,从而实现对网络中节点的类型或属性进行预测。
[0040] 图1示出了本公开实施例基于自监督图神经网络的节点分类方法的一种处理流程示意图。
[0041] 参考图1,本公开实施例基于自监督图神经网络的节点分类方法的一种处理流程,至少可以包括以下步骤:
[0042] 步骤S101,基于第一节点的交易信息构建第一节点对应的特征矩阵以及邻接矩阵。
[0043] 在一些实施例中,交易信息可以包括:交易对象、交易时间、交易金额和用户余额等信息。互连成对的节点的集合可以形成网络,构建一个网络或图,需要确定将哪些信息(元素)作为节点以及这些节点之间的连接关系。
[0044] 作为示例,用户账号A、用户账号B、用户账号C以及用户账号D之间存在交易关系,则可以以用户账号为节点,用户账号之间的交易关系为边,构建交易关系拓扑图。
[0045] 因此,基于第一节点的交易信息确定第一节点对应的特征矩阵以及邻接矩阵的具体实现过程,至少可以包括以下步骤:
[0046] 步骤S101a,整合第一节点的交易信息,得到第一节点对应的交易关系网。
[0047] 其中,第一节点表征交易关系网中的用户账号,第一节点可以是交易关系网中任意的用户账号。
[0048] 步骤S101b,基于交易关系网,构建交易关系拓扑图。
[0049] 步骤S101c,从交易关系拓扑图中分别提取第一节点的特征和第一节点对应的交易关系。
[0050] 步骤S101d,基于第一节点的特征和交易关系生成特征矩阵和邻接矩阵。
[0051] 在一些实施例中,交易关系拓扑图以矩阵的形式存储。其中,特征矩阵可以表示用户账号的属性,用户账号的属性可以包括:交易时间、交易金额和余额等众多信息。
[0052] 步骤S102,基于特征矩阵和邻接矩阵,获取第一节点上不同粒度和种类的节点嵌入特征。
[0053] 在一些实施例中,基于特征矩阵和邻接矩阵,获取第一节点上不同粒度和种类的节点嵌入特征的具体实现过程,至少可以包括以下步骤:
[0054] 步骤S102a,将特征矩阵和邻接矩阵输入至多尺度多通道自监督图卷积神经网络模型。
[0055] 在一些实施例中,MMC模型分为正负两个分支,每个分支具有两个通道;MMC模型的网络传播层实现为多尺度多通道伪孪生(Siamese)网络,多层池化操作构成了多个尺度,多通道贯穿整个模型,每个尺度都是多通道模式。
[0056] 步骤S102b,利用多尺度多通道自监督图卷积神经网络模型的多个通道获取第一节点上不同种类的节点嵌入特征。
[0057] 在一些实施例中,可以对邻接矩阵进行网页排名(PageRank)计算,得到图扩散矩阵,将稀疏矩阵转化为稠密性矩阵,以提高矩阵的处理效率。
[0058] 在一些实施例中,一方面,将特征矩阵和图扩散矩阵输入至MMC模型的正分支,在正分支中,利用两个不同学习参数的GCN作为编码器构成两个通道,两个通道从不同的角度提取特征,即获取第一节点对应的正样本节点嵌入特征。另一方面,对特征矩阵做行随机扰动,改变特征矩阵对应拓扑图中的上下文信息,得到负特征矩阵,以构造正负样本进行对比学习;同样地,将负特征矩阵和图扩散矩阵输入至MMC模型的负分支,在负分支中,利用两个不同学习参数的GCN作为编码器构成两个通道,两个通道从不同的角度提取特征,获取第一节点对应的负样本节点嵌入特征。
[0059] 因此,利用多尺度多通道自监督图卷积神经网络模型的多个通道获取第一节点上不同种类的节点嵌入特征的具体实现过程,至少可以包括以下步骤:
[0060] 步骤a,对邻接矩阵进行网页排名计算,得到图扩散矩阵。
[0061] 步骤b,基于特征矩阵和图扩散矩阵,利用正分支的多个通道获取第一节点对应的正样本节点嵌入特征。
[0062] 步骤c,对特征矩阵做行随机扰动,得到负特征矩阵。
[0063] 步骤d,基于负特征矩阵和图扩散矩阵,利用负分支的多个通道获取第一节点对应的负样本节点嵌入特征。
[0064] 步骤S102c,利用池化层对第一节点上不同种类的节点嵌入特征和第一节点对应的拓扑结构进行不同粒度的采样。
[0065] 在图神经网络中池化操作更多应用在监督模型,为了解决图神经网络,尤其是多层图神经网络经常会遇到的过平滑问题,本公开实施例提出一种应用在自监督模型的新型学习池化(L2Pool)方法。其中,L2Pool对变换模型(Transformer‑style)进行了改进,利用鲁棒性更强的GCNII模型生成关键值 ,能够兼顾节点的特征(属性)和拓扑结构,得到更可靠的注意力系数;GCNII是GCN模型的扩展,含有初始残差和恒等映射。
[0066] 在一些实施例中,L2Pool利用多头注意力机制以及GCNII模型进行池化操作,得到池化后的特征矩阵和图扩散矩阵,并将池化后的特征矩阵和图扩散矩阵用于节点嵌入特征的提取。
[0067] 在一些实施例中,利用多头注意力机制以及GCNII模型进行池化操作的具体实现过程,至少可以包括以下步骤:
[0068] 步骤A,将特征矩阵经过不同学习参数的线性变换,得到查询键和关键字。
[0069] 步骤B,将GCNII模型作用于特征矩阵和图扩散矩阵,以构造关键值。
[0070] 步骤C,基于查询键、关键字和关键值确定第一节点的注意力得分向量。
[0071] 步骤D,基于注意力得分向量对第一节点进行采样。
[0072] 在一些实施例中,查询键和关键字均为矩阵;可以通过 函数丢弃注意力得分的节点,根据第一节点的注意力得分来决定是否对第一节点进行采样。
[0073] 步骤S101d,基于自学习参数对第一节点上不同粒度和种类的节点嵌入特征进行特征融合,得到所述图卷积神经网络模型输出的节点嵌入特征。
[0074] MMC模型的正负分支具有不同权重参数的两个通道,能够提取不同种类的节点嵌入特征,而不同节点嵌入特征的重要程度并不相同,因此在特征融合时需要确定MMC模型每个通道的权重参数。
[0075] 在一些实施例中,在每层池化上,对每个正样本节点嵌入特征和全局图嵌入特征进行互信息最大化处理,对每个负样本节点嵌入特征和全局图嵌入特征进行互信息最小化处理,以确定多个通道的自学习权重参数。其中,对池化后每层得到的正样本节点嵌入特征做平均池化操作,得到所述全局图嵌入特征。
[0076] 在一些实施例中,为训练MMC模型,可以定义总体目标函数如下:
[0077]
[0078] 其中, 表示节点未经池化的对比损失,可理解为多通道下无监督学习图结构数据中节点表示(Deep Graph Infomax,DGI)模型的损失, 表示除 之外的池化层总数,表示第 层池化尺度的池化比率, 表示在第 层池化损失函数。
[0079] 步骤S103,基于节点嵌入特征确定第一节点的类别。
[0080] 在一些实施例中,利用线性变换将MMC模型输出的节点嵌入特征映射到对应的节点类别,再基于激活函数确定节点嵌入特征映射到对应节点类别的概率,将概率最大的节点类别作为第一节点的类别。
[0081] 图2示出了本公开实施例基于自监督图神经网络的节点分类方法的一种整体流程示意图。
[0082] 参考图2,以对黑产用户的挖掘为例,对本公开实施例一种基于自监督图神经网络的节点分类方法进行示例性说明。
[0083] 数字安全行业目前仍然面临安全产品自身不够安全、新型威胁难检测、单点防护效率低、运维困难实效差等挑战,未来网络安全建设目标是构建一张基于“正向建、反向查”的可信网。
[0084] 当今社会,金融机构每天都产生海量数据,而在海量的数据中隐藏着黑产用户,为了筑牢数字安全屏障,需要从海量数据中分析出潜在的黑产用户;然而,黑产欺诈行为的特征变化多样,隐蔽性较强,组成了复杂的社交网络,这给工作人员和现有的技术带来了严峻挑战。
[0085] 目前金融机构在应对黑产用户的时候主要依靠业务专家记录用户的消费行为,并进行人工审核;或者根据卡片和商户的交易特征,构建专家规则进行识别,比如集中转入、集中转出等规则。但是,现有的处理方式过于死板,无法考虑到黑产交易规则的灵活性和内在关系的复杂性,很难挖掘出隐蔽性较强的黑产账户。
[0086] 现有的社区发现算法(如:louvain)以及特征嵌入算法(如:node2vec)等都是基于传统的机器学习模型。然而,机器学习模型以处理小数据集为主,具有提取特征较弱,处理效率低等缺点。当今金融机构的交易数量十分庞大,银行系统的月交易可以产生千万条数据,机器学习算法处理数据的能力并不能满足当前需求。另外,机器学习模型只应用了用户的特征信息,忽略了不同用户间的连接关系和信息的相互传播。
[0087] 由此,本公开实施例利用基于图卷积神经网络的节点分类方法根据黑产行为特征挖掘更多的黑产交易信息,得到比较隐蔽的黑产用户及相关账户,弥补机器学习处理大规模数据集效率低和特征提取能力较弱的缺陷,提高图结构数据的处理能力。其中,黑产账户在行为模式上的共有特征可以包括:分散转入、集中转出;集中转入、分散转出;沉睡用户突然大额交易、短时频繁交易;某些用户的出入金额大体相等、快进快出等特征。
[0088] 从银行的交易流水中抽取近一年的交易数据,得到约一亿四千万条流水记录,对流水记录中的字段缺失率进行统计,以过滤掉缺失率较高字段。如图3所示,以流水记录中的入账账户和出账账户为节点,若入账账户和出账账户之间具有资金交易,则对应的节点之间具有连接边,构建交易关系拓扑图,交易关系拓扑图的边权重默认为1。
[0089] 根据一亿四千万条流水记录构建的交易关系拓扑图有多个节点,每个节点有自己的特征值,提取节点的特征可以生成交易关系拓扑图的特征矩阵,而根据节点之间的交易关系可以生成交易关系拓扑图的邻接矩阵。其中,特征是由所有节点特征向量组成的空间,所有用户账号的属性构成用户账号的特征矩阵,特征矩阵每行表示对应用户账号的属性,用户账号的属性可以包括:交易时间、交易金额和余额等众多信息。用户账号的属性越多,对应节点特征向量的长度越长,而每个节点特征向量的长度表示向量的维数,所以每个节点的特征都是高维特征。
[0090] 交易关系拓扑图以矩阵的形式存储,邻接矩阵和特征矩阵作为图卷积神经网络输入条件,通过卷积得到嵌入特征。邻接矩阵表现为稀疏矩阵,高效地处理稀疏矩阵是较为困难的,特别是将稀疏矩阵用在GPU上一直是一个比较难的基础问题。因此,可以将邻接矩阵通过PageRank算法得到稠密性矩阵,也就是图扩散矩阵。其中,稠密性矩阵还具有天然的抗过平滑作用。
[0091] 如图4所示,交易关系拓扑图对应的特征信息在MMC模型中经过充分的特征传播,能够得到低维更高价值的特征。一方面,正样本特征矩阵记为节点特征矩阵 ,以节点特征矩阵 和图扩散矩阵 为MMC模型正分支的输入条件,对图扩散矩阵和节点特征矩阵进行图运算可以得到输入图 ;另一方面,对特征矩阵 做行随机扰动得到负样本特征矩阵,将负样本特征矩阵记为节点负特征矩阵 ,以节点负特征矩阵 和图扩散矩阵为MMC模型负分支的输入条件,对图扩散矩阵和节点负特征矩阵进行图运算可以得到输入图 。其中,表示节点的个数,表示特征的维度,表示图运算符号;行随机扰动会改变节点与节点原有特征之间的对应关系,令正、负样本接收不同的上下文信息,上下文信息在图像处理中通常表示像素以及周边像素的某种联系;同时,行随机扰动不会改变特征向量的维度,因此节点的负样本特征与节点的原始特征具有相同的维度。
[0092] 以正分支为例说明如下:
[0093] 在正分支上利用GCN进行特征传播,将正分支上输入图 的图扩散矩阵和节点特征矩阵作为正分支上的原始特征矩阵 和原始图扩散矩阵 ( , );此时,正分支的初始图像及对应的尺度嵌入表示为 。为解决图神经网络,尤其是多层图神经网络经常会遇到的过平滑问题,应用L2Pool对初始图像 做池化操作,得到池化后的特征矩阵和图扩散矩阵,并将这两个矩阵用于节点嵌入特征的提取。
[0094] 具体地,如图5所示,一方面利用Transformer的多头注意力机制对原始特征矩阵进行线性变换,提升模型的拟合能力,分别得到查询键 和关键字 ,令查询键 和关键字 相乘,并用激活函数激活;另一方面将GCNII作用于原始特征矩阵 和原始图扩散矩阵,构造关键值 ,利用GCNII的优势替换掉Transformer中求 的方法,如下所示:
[0095]
[0096] 其中,查询键 和关键字 均为矩阵,其来源是特征矩阵经过不同学习参数的线性变换; 为注意力函数,为激活函数。
[0097] 将激活函数作用后的查询键 和关键字 的乘积再与关键值 相乘,并用激活函数激活,得到各节点的注意力得分向量 ,再通过 函数丢弃注意力得分较低的节点来对前 个节点进行采样,如下式所示:
[0098]
[0099] 其中, 为池化函数,为注意力系数,为特征矩阵,为图扩散矩阵;从而得到池化后的特征矩阵 和池化后的图扩散矩阵 ,由此从转账关系拓扑图中保留尽可能多的图像信息。
[0100] 其中,关键值 可以使用4层GCNⅡ构造,具体地,对原始特征矩阵 和图扩散矩阵做卷积,再乘以权重矩阵 ,用激活函数激活,形成GCNⅡ的神经网络层;GCNⅡ按照比例系数 将单位矩阵 加到权重矩阵 上,比例系数 的值随着GCNⅡ层数的加深逐渐减小,权重矩阵 也会随之逐渐减小,权重矩阵 越小代表着GCNⅡ中神经网络的层数越深,越接近恒等变换,由此实现权重的恒等映射,解决了过度平滑的问题,从而能够实现更深的网络;同时,GCNⅡ在GCN模型的基础上利用残差增加模型的深度,提高了特征的提取能力。
[0101] 池化后的特征矩阵 和池化后的图扩散矩阵 形成图像 ,相比于初始图像 ,图像 中节点嵌入特征的抽象程度更高,更具有普遍性,特
征的抽象程度越高,所能代表的范围越大;应用L2Pool做 次池化操作,可以获得一系列更粗略的图 ,……, ,其中 ,任意的
,多层池化操作构成了MMC模型的多个尺度。以一个示例对特征的抽象程度说明如下:如果初始图像 具有“狗”这一图像特征,那么K次池化操作后 可以具有
“动物”这一图像特征,即K次池化操作将特征“狗”进一步地提取为更抽象的特征“动物”。
[0102] 为了更全面的从拓扑图中提取特征,利用MMC模型正、负分支不同学习参数的两个通道,从不同的角度提取特征,通过学习参数对这两个通道提取的特征进行相加融合(特征融合),其中特征融合的学习参数为 。每进行一次池化,即可得到一个学习参数,在MMC模型的正分支上进行K次池化操作后可以得到K个 ,在负分支上同样进行K次池化操作后可以得到K个 ;正分支多通道节点融合特征 ,负分支多通道节点融合特征 。
[0103] 在每层池化内,对每个特征融合后的节点正样本的特征嵌入 和全局特征嵌入之间做互信息最大化,得到 与 的配对,记为正例;对应的特征融合后的负样本 与全局嵌入特征 做互信息最小,得到 与 的配对记为负例。基于JS散度(Jensen‑Shannon)的判别器的作用类似于标准的二元交叉熵(Binary Cross Entropy,BCE)损失,最大化联合分布(正例)中样本的预期log‑rate(对正例中样本的预期比率求对数)和边际分布(负例)的乘积例子,计算第 层的池化对比损失,根据 层池化的对比损失优化MMC模型。
[0104] 第 层池化对比损失公式如下:
[0105]
[0106] 其中, ,表示图扩散矩阵; ,表示特征矩阵;表示正分支多通道节点融合特征, 表示负分支多通道节点融合特征,对池化后每层得到的特征嵌入 做平均池化操作得到当前池化的全 局特 征
; 表示第 层的判别器。
[0107] 为了端到端的训练MMC模型并学习下游任务的多尺度表示,可以将总体目标函数定义为:
[0108]
[0109] 其中, 表示节点未经池化的对比损失,可理解为多通道下DGI模型的损失, 表示除 之外的池化层总数, 表示第 层池化尺度的池化比率, 表示在第 层池化损失函数。
[0110] 通过MMC模型可以得到转账关系拓扑图中各个账户(节点)的嵌入特征,通过线性变换将各个账户嵌入特征的长度映射为对应的节点类别数量,将经过归一化指数函数(softmax激活函数)得到的概率最大的节点类别作为对应账户的类别,从而实现对黑产用户的挖掘。
[0111] 本公开实施例中,利用MMC模型获取多通道融合特征,利用多通道融合特征挖掘黑产交易的潜在信息,从而得到比较隐蔽的黑产用户;同时将多层池化应用在自监督模型,在无需标记数据的情况下,不仅提高了模型对黑产用户的挖掘能力,还降低了成本。
[0112] 对本公开实施例的实验环境说明如下:
[0113] 操作系统:Ubuntu 20.0;
[0114] 主要编程语言:Python 3.7;
[0115] 调用的第三方库:pytorch 1.6;
[0116] 内存大小:64G;
[0117] GPU:16G;
[0118] 硬盘大小:500G SSD;
[0119] 中央处理器型号:英特尔i9 CPU 64核。
[0120] 图6示出了实施例一种基于自监督图神经网络的节点分类装置的组成结构示意图。
[0121] 参考图6,实施例一种基于自监督图神经网络的节点分类装置,所述装置60包括:确定模块601,用于基于第一节点的交易信息构建第一节点对应的特征矩阵以及邻接矩阵;
特征提取模块602,用于基于特征矩阵和邻接矩阵,获取第一节点上不同粒度和种类的节点嵌入特征;分类模块603,用于基于节点嵌入特征确定第一节点的类别。
[0122] 在一些实施例中,确定模块601,具体用于整合第一节点的交易信息,得到第一节点对应的交易关系网;基于交易关系网,构建交易关系拓扑图;从交易关系拓扑图中分别提取第一节点的特征和第一节点对应的交易关系;基于第一节点的特征和交易关系生成特征矩阵和邻接矩阵;其中,所述第一节点表征所述交易关系网中的用户账号。
[0123] 在一些实施例中,特征提取模块602,具体用于将特征矩阵和邻接矩阵输入至多尺度多通道自监督图卷积神经网络模型;利用多尺度多通道自监督图卷积神经网络模型的多个通道获取第一节点上不同种类的节点嵌入特征;利用池化层对第一节点上不同种类的节点嵌入特征和第一节点对应的拓扑结构进行不同粒度的采样;基于自学习参数对第一节点上不同粒度和种类的节点嵌入特征进行特征融合,得到图卷积神经网络模型输出的节点嵌入特征。
[0124] 在一些实施例中,特征提取模块602,具体用于对邻接矩阵进行网页排名计算,得到图扩散矩阵;基于特征矩阵和图扩散矩阵,利用正分支的多个通道获取第一节点对应的正样本节点嵌入特征;对特征矩阵做行随机扰动,得到负特征矩阵;基于负特征矩阵和图扩散矩阵,利用负分支的多个通道获取第一节点对应的负样本节点嵌入特征。
[0125] 在一些实施例中,特征提取模块602,具体用于基于多头注意力机制以及含有初始残差和恒等映射的图卷积神经网络模型进行池化操作,得到池化后的特征矩阵和图扩散矩阵;将池化后的特征矩阵和图扩散矩阵用于节点嵌入特征的提取。
[0126] 在一些实施例中,特征提取模块602,具体用于将特征矩阵经过不同学习参数的线性变换,得到查询键和关键字;将含有初始残差和恒等映射的图卷积神经网络模型作用于特征矩阵和所述图扩散矩阵,以构造关键值;基于查询键、关键字和关键值确定第一节点的注意力得分向量;基于注意力得分向量对第一节点进行采样。
[0127] 在一些实施例中,特征提取模块602,具体用于在每层池化上,对每个正样本节点嵌入特征和全局图嵌入特征进行互信息最大化处理,对每个负样本节点嵌入特征和全局图嵌入特征进行互信息最小化处理,以确定多个通道的自学习权重参数;其中,对池化后每层得到的正样本节点嵌入特征做平均池化操作,得到全局图嵌入特征。
[0128] 在一些实施例中,分类模块603,具体用于基于线性变换将节点嵌入特征映射到对应的节点类别;基于激活函数确定节点嵌入特征映射到对应节点类别的概率,将概率最大的节点类别作为第一节点的类别。
[0129] 图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴电子设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0130] 如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储电子设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口
705也连接至总线704。
[0131] 电子设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许电子设备700通过诸如因特网的计算机网络和/或各种电信网络与其他电子设备交换信息/数据。
[0132] 计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如一种基于自监督图神经网络的节点分类方法。例如,在一些实施例中,一种基于自监督图神经网络的节点分类方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM702和/或通信单元709而被载入和/或安装到电子设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的一种基于自监督图神经网络的节点分类方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行一种基于自监督图神经网络的节点分类方法。
[0133] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0134] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0135] 在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0136] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0137] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0138] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0139] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0140] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0141] 以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。