一种面向大规模异质图的图神经网络采样方法

文档序号:32427916发布日期:2022-12-03 00:21阅读:28来源:国知局
一种面向大规模异质图的图神经网络采样方法

1.本发明提供一种面向大规模异质图的图神经网络采样方法,属于深度学习领域。


背景技术:

2.截至2021年12月,我国网民规模达10.32亿,互联网普及率达73.0%,移动互联网呈现全新的发展趋势。而随着互联网的普及,用户数据不断增加,对于用户的行为分析、用户类别区分等问题,有了更高的要求。在追求更佳分类及预测结果的过程中,模型参数量不断上升,训练时间逐渐增加,对于计算资源的需求更高。
3.在近年来的研究中,图神经网络已被证明是分析非欧图形数据的有力工具,被广泛应用于搜索、推荐、风险控制等多个领域。由于图神经网络模型的训练过程中,需要计算每层中所有节点的特征表示,但随着图的规模逐渐庞大,计算资源显然无法一次完全加载大规模数据的节点表示数据。对此一些工作提出了不同的采样方案,以获得较多采样子图进行训练。但多数工作的考虑的是同质图中获取子图,从而进行图神经网络的训练。在现实中,多数的数据是异质的,增加了额外的节点类型与关系特征。由于这些异质特征的数量及分布并不均衡,而同质图的采样方法多从度的特征进行考虑,忽略了异质特征,在子图的采样过程中,可能产生某种类型特征的失衡或者完全缺失。因此得到的子图采样结果并不合理,导致模型训练的时间的延长,并可能得到较差结果。因此,在大规模数据下,对异质图神经网络进行更好的采样是一项较为重要的研究内容。
4.目前的图神经网络的采样方法多基于重要性采样的策略,为每个节点计算重要性程度表示,而后根据概率进行重要性抽样。大多数工作基于采样邻居节点的方法,并利用多类型的聚合函数提高模型的表达能力。较为典型的有:节点采样,通过模拟从目标节点开始的随机游走,以达到子图节点子集的方案;层采样,在不同层的领域探索中保留少量节点用于聚合以控制扩展因子,进行重要性抽样;子图采样,采样多个子图,以图聚类方式进行采样,生成子图。
5.上述工作均基于同质图的假设条件下进行,针对异质图的采样方法较少,已知的异质图采样方法有hg sampling,其主要是想是为每种类型设置单独的权重,并对每种类型进行分别采样相同数量节点以进行子图的获取。这种方式在低采样层数、低batch_size下表现不佳。方法希望各类型的节点数量都大致相同,但忽略了采样子图与现实中比例的差异性,使得在邻域扩展层数较浅时,抽样结果得到子图在结构上与全图相比具备一定差异。在现实分布数据集上,忽略了现实数据间不同类型节点间的相互影响,需要迭代更多的次数达到相似的精度,采样过程中考虑的单纯的同类度信息,各个类型间的关系存在一定的孤立性。因此,提出了一种在大规模数据下,兼顾全局结构特征,且考虑不同类型间相互作用,具备一定数据特征补全特性的异质图采样方法。


技术实现要素:

6.要解决的技术问题
7.为了避免现有技术的不足之处,本发明提供一种面向大规模异质图的图神经网络采样方法。
8.技术方案
9.一种面向大规模异质图的图神经网络采样方法,其特征在于步骤如下:
10.步骤1:加载图数据,初始化节点集;
11.步骤2:初始化每个节点的采样概率的权重矩阵;
12.步骤3:在当前层中,根据步骤2得到的采样概率矩阵,进行归一化并累积;其计算方式为:其中代表累积的归一化概率,τ表示类型,len表示取邻接矩阵的最大长度,φ表示边类型;进行多轮的邻域探索,直到深度达到用户设定的层数;而后依据概率对当前已有节点进行图的重要性采样;
13.步骤4:根据采样节点的点集构建采样图;
14.步骤5:根据采样节点的点集,从原始数据中获取对应节点的特征信息,构建特征矩阵;多数数据集中节点特征并不完全,针对缺失的节点特征信息,进行特征补全;
15.步骤6:结合步骤4-3得到的采样图及步骤5中得到的特征补全信息,即为处理完毕的子图及特征信息。
16.本发明进一步的技术方案:步骤1具体如下:
17.步骤1-1:为所有节点设定唯一标识的id,自0开始编号;
18.步骤1-2:初始化节点集表示为sample_nodes:根据用户给定的数值batch_size,随机选取数目为batch_size的初始节点,将初始节点按照《id,节点包含特征数目》的形式,存储到当前层的采样节点结果集sample_nodes中,作为初始化随机采样结果;
19.步骤1-3:统计全图各类型边的数目,以及各类型占全图总边数的比例,以字典形式进行存储,将其称作初始节点比例集sample_dict,记录信息为:《起始节点类型,边类型,终止节点类型,比例数值》。
20.本发明进一步的技术方案:步骤2具体如下:
21.步骤2-1:计算当前层各类型概率矩阵的采样数
22.步骤2-1-1:根据步骤1-2中得到的初始节点集sample_nodes,统计该节点集周边一阶邻居所占边的类型数目比例,以字典形式进行存储,将其称作层节点比例集neighbor_dict,记录信息为:《起始节点类型,边类型,终止节点类型,比例数值》;
23.步骤2-1-2:根据步骤1-3中得到的初始节点比例集sample_dict,以及步骤2-1-1中得到的层节点比例集neighbor_dict各项记录按照《起始节点类型,边类型,终止节点类型》的对应比例数值做算数平均,得到各类型边在该层应采样的数目;在低阶采样中,使用均衡的方式,各类型采样比例能够更好的接近原图真实情况,能够对类型比例进行改善,下层模型训练能够更快的达到收敛目标;
24.步骤2-2:对各节点的邻居按照类别分别处理,根据节点的度信息决定权重,计算各节点类型下的概率矩阵;对各类型边进行分别处理,对各个节点进行概率评估,评估方式以度中心度依次进行累积,累积方式为周边邻居个数的倒数。
25.发明进一步的技术方案:步骤3具体如下:
26.步骤3-1:对步骤2-2得到的各节点类型下概率矩阵做归一化;
27.步骤3-2:对各个节点得到的归一化概率与节点特征数进行加权平均,通过以均数的加权估计进行偏差减小,得到新的各个节点的采样概率;
28.步骤3-3:根据步骤3-2得到的各节点采样概率,以及各类型采样数目进行采样;并将根据当前得到的点集,进行采样概率矩阵的更新,矩阵更新方式为依次累加,即其中,n表示当前节点,τ表示类型,s表示当前节点n,在τ类型下的采样概率累积值,代表累积的归一化概率,重复多次更新矩阵的值,直到达到指定深度,结束矩阵的更新。
29.本发明进一步的技术方案:步骤4具体如下:
30.步骤4-1:在步骤3-3中,得到采样的点集,每个节点具备标识id,该id在步骤1-1中唯一确定,记录这些id,即可得到采样的节点集;
31.步骤4-2:根据步骤4-1中的节点集,根据两点间的连通关系,可以得到对应的边关系,即边集;
32.步骤4-3:根据步骤4-1中得到的节点集和步骤4-2中得到的边集,即可构成采样图。
33.本发明进一步的技术方案:步骤5具体如下:
34.步骤5-1:根据步骤4中得到的采样图,寻找缺失特征信息的节点,将其列为点集;
35.步骤5-2:根据步骤5-1中得到的点集,按照现实依赖关系及特征传递方式进行补全。
36.有益效果
37.本发明提供的一种面向大规模异质图的图神经网络采样方法,该方法首先加载图数据,并对节点集重新标号;然后初始化每个节点在不同类型下的概率矩阵;根据邻域扩展规则进行不同层的扩展,并根据概率矩阵进行归一化,同时考虑特征完成性,以计算得到采样节点;接下来根据采样节点,构建采样子图,并对缺失特征进行补全;最终得到能够用于后续异质图神经网络训练的采样子图。
38.本发明能够在大规模数据下进行使用,兼顾了全局结构特征,使得在较小的邻域探索范围限制下能够表现出较好的结果,同时考虑了不同类型节点及边间的相互作用,并在得到采样子图后能够对部分缺失的数据特征进行较为快速的补全,最后能够提供给不同的异质图神经网络模型,进行后续训练。
附图说明
39.附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
40.图1是采样前后异质图节点分布的示意图;
41.图2是本发明中现实依赖关系的数据补全示意图。
具体实施方式
42.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不
用于限定本发明。此外,下面描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
43.步骤1:加载图数据,并完成结果节点集的初始化;
44.步骤1-1:为所有节点设定唯一标识的id,自0开始编号;
45.步骤1-2:初始化节点集表示为sample_nodes:根据用户给定的数值batch_size,随机选取数目为batch_size的初始节点,将初始节点按照《id,节点包含特征数目》的形式,存储到当前层的采样节点结果集sample_nodes中,作为初始化随机采样结果;
46.步骤1-3:统计全图各类型边的数目,以及各类型占全图总边数的比例,以字典形式进行存储,将其称作初始节点比例集sample_dict,记录信息为:《起始节点类型,边类型,终止节点类型,比例数值》;
47.步骤2:初始化每个节点的采样概率的权重矩阵;
48.步骤2-1:计算当前层各类型概率矩阵的采样数。由于各类型节点的占比不均衡,对各类型节点采样固定数目会导致在采样深度较小时,单个节点的不同类别邻居数目会存在不均衡问题。因此,需要根据当前层的初始节点集邻居占比情况,即步骤1-3得到的sample_dict。用下述步骤2-1-1及步骤2-1-2的方式,在每层采样过程中,调整不同类型边的数目比例,尽可能使得图中包含类型信息更加充分,在低采样层数时也能得到较好采样结果,提高计算效率;
49.步骤2-1-1:根据步骤1-2中得到的初始节点集sample_nodes,统计该节点集周边一阶邻居所占边的类型数目比例,以字典形式进行存储,将其称作层节点比例集neighbor_dict,记录信息为:《起始节点类型,边类型,终止节点类型,比例数值》;
50.步骤2-1-2:根据步骤1-3中得到的初始节点比例集sample_dict,以及步骤2-1-1中得到的层节点比例集neighbor_dict各项记录按照《起始节点类型,边类型,终止节点类型》的对应比例数值做算数平均,得到各类型边在该层应采样的数目。在低阶采样中,使用均衡的方式,各类型采样比例能够更好的接近原图真实情况,能够对类型比例进行改善,下层模型训练能够更快的达到收敛目标;
51.步骤2-2:对各节点的邻居按照类别分别处理,根据节点的度信息决定权重,计算各节点类型下的概率矩阵。对各类型边进行分别处理,对各个节点进行概率评估,评估方式以度中心度依次进行累积,累积方式为周边邻居个数的倒数;
52.步骤3:在当前层中,根据步骤2-2得到的各类别采样概率矩阵,进行归一化并累积。其计算方式为:其中代表累积的归一化概率,τ表示类型,len表示取邻接矩阵的最大长度,φ表示边类型。进行多轮的邻域探索,直到深度达到用户设定的层数。而后依据概率对当前已有节点进行图的带权采样;
53.步骤3-1:对步骤2-2得到的各节点类型下概率矩阵做归一化;
54.步骤3-2:对各个节点得到的归一化概率与节点特征数进行加权平均。通过以均数的加权估计进行偏差减小,得到新的各个节点的采样概率。这样做主要希望通过以加权方式降低缺失信息节点采样概率;
55.步骤3-3:根据步骤3-2得到的各节点采样概率,以及各类型采样数目进行采样。并将根据当前得到的点集,进行采样概率矩阵的更新,矩阵更新方式为依次累加,即
其中,n表示当前节点,τ表示类型,s表示当前节点n,在τ类型下的采样概率累积值,代表累积的归一化概率,具体计算方式如步骤3所述。重复多次更新矩阵的值,直到达到指定深度,结束矩阵的更新;
56.步骤4:根据采样节点的点集构建采样图;
57.步骤4-1:在步骤3-3中,得到采样的点集,每个节点具备标识id,该id在步骤1-1中唯一确定,记录这些id,即可得到采样的节点集;
58.步骤4-2:根据步骤4-1中的节点集,根据两点间的连通关系,可以得到对应的边关系,即边集;
59.步骤4-3:根据步骤4-1中得到的节点集和步骤4-2中得到的边集,即可构成采样图;
60.步骤5:根据采样节点的点集,从原始数据中获取对应节点的特征信息,构建特征矩阵。多数数据集中节点特征并不完全,针对缺失的节点特征信息,进行特征补全;
61.步骤5-1:根据步骤4中得到的采样图,寻找缺失特征信息的节点,将其列为点集;
62.步骤5-2:根据步骤5-1中得到的点集,按照现实依赖关系及特征传递方式进行补全;
63.步骤5-2-1:根据现实依赖关系的特征补全,这种方式仅对部分数据集适用,需要根据现实逻辑关系进行数据集的补全具备效率较高的特性。多与时间特性相关,例如社交网络中,正文与评论具备时间的先后性,若正文节点时间信息缺失,可用评论节点时间最早信息进行特征补全;在引文数据集中,若文章节点时间信息缺失,可以由引用与被引论文节点关系进行时间逼近。
64.假设在引文数据集中,入度关系为引用,出度关系为被引用;那么具体的特征补全方式为:取当前缺失信息的节点,寻找周边所有具备相应时间信息的节点;记入度节点中时间最大的值为a,相当于引用的文章的最晚时间;记出度节点中时间最大的值为b,相当于被引用的最早时间;对a和b取均值,可以作为当前节点的时间特征信息;在其他情况下需设计不同的现实依赖方式。
65.步骤5-2-2:根据特征传递方式进行信息补全:由于邻居往往具有相似的特征向量,根据同类型节点的特征矩阵的传播性可以使用狄利克雷能量dirichlet energy进行量化。具体的补全方式为:测量节点特征与其邻居平均值之间的平方差的二次形式;使用特征传播的相关性能够重构缺失特征;传播过程为,使用未知特征用初始化,而后通过应用归一化的邻接矩阵来传播特征,然后将已知特征重置为其真实值。重复上述两个操作,直到特征向量收敛;
66.步骤6:结合步骤4-3得到的采样图及步骤5中得到的特征补全信息,即为处理完毕的子图及特征信息。
67.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1