一种面向信息驱动的分布式图表示学习方法及系统技术方案

技术编号:38325493 阅读:10 留言:0更新日期:2023-07-29 09:08
本发明专利技术公开了一种面向信息驱动的分布式图表示学习方法及系统,包括:从图数据中执行多阶邻近性感知的流式图划分策略,使用动态负载约束来确保各计算节点间的负载均衡;进而通过以增量信息为中心的计算机制,确保对随机游走生成路径的信息有效性进行动态衡量且以常量级在各计算节点间进行消息通信;通过分布式Skip

【技术实现步骤摘要】
一种面向信息驱动的分布式图表示学习方法及系统


[0001]本专利技术属于图表示学习领域,更具体地,涉及一种面向信息驱动的分布式图表示学习方法及系统。

技术介绍

[0002]随着社会信息化程度的不断提高,图作为一种重要的数据结构已广泛应用于众多领域,例如在社交网络中,可以用顶点表示用户,边表示用户之间的关注或互动;在化学分子网络中,顶点表示原子,边表示键;电子商务网络中,顶点表示用户,边表示用户对商品的浏览和评分等等。近年来,基于图数据的分析任务变得愈加重要,而图嵌入作为一种有效的图分析技术也备受关注,如Deepwalk,Node2vec,VERSE等,其旨在将大规模和高维的图数据映射为低维稠密向量空间,同时保留原有图中的结构和属性特征,更重要的是可以有效的应用到机器学习任务中,如链接预测、节点分类、推荐系统、可视化等。
[0003]随机游走因具备高度灵活性、易于并行性并且良好的可扩展性,已被广泛应用至图表示学习技术中。具体来讲,在输入的图数据上进行随机游走以采集顶点序列,从一个起始顶点随机地选择并选择一个邻居顶点加入游走路径中,然后重复上述过程生成上下文本样本,最后通过自然语言处理技术中的词嵌入模型(Skip

Gram)处理该样本,进而生成每个顶点的向量表示。
[0004]然而,图的规模经常可以达到百万级顶点和十亿级边的规模,无疑增加了对大规模图进行表示学习的挑战,使得图嵌入技术中普遍存在计算开销大和可扩展性难以保证的问题。例如,Deepwalk是第一个提出来基于随机游走对图中顶点进行表示学习的图嵌入技术,通过截断随机游走获得节点序列,然后利用自然语言处理技术中的Skip

Gram模型去学习图顶点的嵌入向量表示;Node2vec则是对Deepwalk进行的扩展,通过引入一个有偏向的随机游走捕获图中顶点的特征进而生成低维的嵌入向量,但基于随机游走的图嵌入技术通常需要依赖游走采集大量的顶点对来生成上下文样本以保证嵌入的质量,例如,在一台普通商用机器上采用20个线程运行Node2vec需要花费数月才能完成对一个拥有1亿个顶点和5亿条边的图的表示学习,这无疑对计算资源带来极大的挑战。而最新的工作HuGE致力于通过熵驱动的方法解决图表示学习过程中的有效性和高效性问题,但其仍需要超过一周时间才能在一台先进的服务器上完成对具有十亿级边的Twitter图的表示学习,阻碍了其在现实场景中的可用性。
[0005]另外,还有一些工作试图通过GPU去提供表示学习的加速,在CPU上进行随机游走,在GPU上完成图顶点的嵌入向量表示,但是受限于CPU和GPU的性能差距和GPU内存容量有限,导致了该类系统的性能表现并不令人满意。最近,为了解决图表示学习的可扩展性问题,基于分布式环境下进行大规模图表示学习备受关注。例如,KnighKing则聚焦于node2vec这一代表性的图嵌入方法,通过优化顶点的转移概率的采样机制,实现了一种分布式随机游走引擎,但是其忽略了随机游走过程中的计算节点间信息传递的效率问题以及游走路径采集的有效性问题。此外,还有一些基于其他技术路线的分布式图表示学习系统,
Pytorch

BigGraph利用图划分技术和参数服务器实现了一种基于关系模型的分布式图表示学习系统,然而该系统使用的参数服务器需要与客户端进行参数同步,对于大规模图数据训练,网络通信成为其性能瓶颈,从而限制了其可扩展性;DistDGL是最近提出地一种基于图神经网络的分布式图表示系统,然而其低效的采样效率(如GraphSAGE中的采样开销占比超过80%)以及其采用的小批量采样在梯度更新中会引发延迟,导致低效的参数同步。
[0006]考虑到分布式是解决大规模图处理的一种有效手段,将以信息为中心的图表示学习方法HuGE部署到分布式系统KnightKing中,发现由于HuGE需要在游走过程中实时衡量生成的路径的有效性,在分布式环境中不可避免地引入更高的计算和通信成本,其方法本身带来的性能提升被这一部分开销严重制约,难以发挥以信息为中心的图表示的优势,此外,Skip

Gram模型在分布式环境下也面临大量随机访问、低计算吞吐量和参数同步效率低下的问题。
[0007]因此,如何设计一种高效的分布式图表示学习方法及系统以满足在大规模图上进行随机游走,且保证图表示学习的有效性和可扩展性是本领域的技术人员亟需解决的问题。

技术实现思路

[0008]针对现有技术的缺陷,本专利技术的目的在于提供一种面向信息驱动的分布式图表示学习方法及系统,旨在解决解决分布式环境下图划分策略负载的均衡性和本地节点分区子集的利用率问题、以信息为中心的随机游走存在的冗余计算和高通信成本的问题和特征训练过程中产生的随机访问、低计算吞吐量和参数同步效率低下的问题。
[0009]为实现上述目的,第一方面,本专利技术提供了一种面向信息驱动的分布式图表示学习方法,包括以下步骤:
[0010]获取社交网络图数据;所述社交网络图数据中的顶点代表用户,边代表用户之间存在社交关系;
[0011]对所述社交网络图数据进行多阶邻近性感知的流式划分,将其划分到多个计算节点;所述多阶邻近性感知的流式划分指根据最大度深度优先搜索遍历方式对图数据中的顶点进行遍历,考虑顶点在各个计算节点中的邻居数量和顶点与各个计算节点中顶点共同邻居的数量,以将具有相似特征的顶点划分到同一个计算节点,且对每个计算节点进行动态负载约束,以保证多个计算节点负载均衡;
[0012]每个计算节点根据混合属性感知的随机游走策略在其分到的图数据中随机选取一个顶点作为起点,并以增量信息为中心的计算机制从起点开始进行随机游走,以生成每个顶点的路径信息;所述以增量信息为中心的计算机制指基于当前路径长度、当前路径信息熵值、顶点加入游走路径后在路径中出现的次数、当前路径的信息熵均值、长度均值、信息熵与路径长度乘积的均值、信息熵平方均值以及路径长度平方均值迭代计算加入一个新顶点后得到的新路径的信息熵与路径长度的决定系数,以决定以某顶点为起点的随机游走是否结束;
[0013]将每个计算节点所生成的游走路径输入到分布式Skip

Gram学习模型,学习每个用户的向量表示;Skip

Gram学习模型在训练过程中为当前训练的文本生成本地缓存器,待当前训练的文本学习完成后再在全局词向量矩阵中更新,提升数据访问局部性且避免多线
程学习过程中引发缓存抖动,且在一个线程上同时训练多条文本,以充分利用CPU硬件资源,以及采用基于热点词块的同步机制,保证热点词被更新,缓解通信带宽压力,提高训练效率。
[0014]作为示例地,对所述社交网络图数据进行多阶邻近性感知的流式划分,将其划分到多个计算节点,具体为:
[0015]按照深度优先搜索方式遍历社交网络图数据的顶点流,并依次选择度数最高的顶点作为候选顶点;
[0016]通过多阶邻近性感知的流式图划分策略分别计算候选顶点相对每一个候选计算节点的得分,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向信息驱动的分布式图表示学习方法,其特征在于,包括以下步骤:获取社交网络图数据;所述社交网络图数据中的顶点代表用户,边代表用户之间存在社交关系;对所述社交网络图数据进行多阶邻近性感知的流式划分,将其划分到多个计算节点;所述多阶邻近性感知的流式划分指根据最大度深度优先搜索遍历方式对图数据中的顶点进行遍历,考虑顶点在各个计算节点中的邻居数量和顶点与各个计算节点中顶点共同邻居的数量,以将具有相似特征的顶点划分到同一个计算节点,且对每个计算节点进行动态负载约束,以保证多个计算节点负载均衡;每个计算节点根据混合属性感知的随机游走策略在其分到的图数据中随机选取一个顶点作为起点,并以增量信息为中心的计算机制从起点开始进行随机游走,以生成每个顶点的路径信息;所述以增量信息为中心的计算机制指基于当前路径长度、当前路径信息熵值、顶点加入游走路径后在路径中出现的次数、当前路径的信息熵均值、长度均值、信息熵与路径长度乘积的均值、信息熵平方均值以及路径长度平方均值迭代计算加入一个新顶点后得到的新路径的信息熵与路径长度的决定系数,以决定以某顶点为起点的随机游走是否结束;将每个计算节点所生成的游走路径输入到分布式Skip

Gram学习模型,学习每个用户的向量表示;Skip

Gram学习模型在训练过程中为当前训练的文本生成本地缓存器,待当前训练的文本学习完成后再在全局词向量矩阵中更新,提升数据访问局部性且避免多线程学习过程中引发缓存抖动,且在一个线程上同时训练多条文本,以充分利用CPU硬件资源,以及采用基于热点词块的同步机制,保证热点词被更新,缓解通信带宽压力,提高训练效率。2.根据权利要求1所述的方法,其特征在于,对所述社交网络图数据进行多阶邻近性感知的流式划分,将其划分到多个计算节点,具体为:按照深度优先搜索方式遍历社交网络图数据的顶点流,并依次选择度数最高的顶点作为候选顶点;通过多阶邻近性感知的流式图划分策略分别计算候选顶点相对每一个候选计算节点的得分,选择最高得分的候选计算节点作为该顶点放置的计算节点,具体的,通过考虑一阶属性特征和二阶属性特征,以尽可能满足随机游走任务的特征,提高图表示学习在分布式环境下随机游走对本地计算节点的利用率,同时考虑各计算节点之间的负载均衡,通过在图划分过程中使用动态负载约束确保随机游走过程中各计算节点的负载均衡;其中,所述一阶属性特征指候选顶点的邻居与候选计算节点顶点集的交集,二阶属性特征指候选顶点与候选计算节点中顶点的共同邻居数。3.根据权利要求1所述的方法,其特征在于,所述生成每个顶点的路径信息,具体为:每个计算节点以顶点共同邻居和度数两种混合属性作为顶点邻近性衡量指标,进行随机游走;在随机游走过程中,基于信息熵相关的增量信息对随机游走路径的信息进行评估,以自适应决定游走路径的长度;所述信息熵用于衡量随机过程包含信息的多少,当发生跨顶点计算时,参考跨节点前的路径的信息熵和路径长度,并将新顶点加入游走路径后新顶点在新路径中出现的次数和新路径长度作为增量信息,计算跨顶点后新路径的信息熵,以减少冗余计算和通信消耗;
每个计算节点对其本地的全部顶点完成一次采样后,基于相对熵衡量已生成的上下文样本,以决定随机游走采样是否结束。4.根据权利要求3所述的方法,其特征在于,所述基于信息熵对随机游走路径的信息进行评估,以自适应决定游走路径的长度,具体为:以顶点u为起始顶点的随机游走路径为通过所述顶点邻近性衡量指标选择顶点加入到中;通过当前路径长度L、当前的信息熵以及顶点v
i
加入游走路径后在路径长度为L+1的路径中出现的次数n
L+1
(
i
)迭代计算最新的熵值其中,T为中间参数,若v
i
在游走路径长度为L的当前路径中已经存在,则否则n
L
(
i
)为顶点v
i
在路径长度为L的路径中出现的次数;通过当前路径信息熵的均值当前路径长度的均值E(L)、当前路径信息熵与路径长度乘积的均值当前路径信息熵平方的均值以及当前路径长度平方的均值E(L2)迭代得到顶点v
i
加入游走路径后更新的信息熵与路径长度L+1之间的决定系数以决定顶点u为起始顶点的随机游走是否终止;其中,求决定系数时,分别将和L+1代入上式;和L+1代入上式;其中,p表示路径长度,E
p
(X)表示路径长度为p时X的均值,
P
表示路径长度为p时的X数值,E
p
(Y)表示路径长度为p时Y的均值,
P
表示路径长度为p时的Y数值,X或Y指代信息熵或者路径长度;E()为E
p
()的缩写。5.根据权利要求2所述的方法,其特征在于,计算候选顶点相对候选计算节点的得分,分值PS=(PS1+PS2)
×
τ(P
i
);其中,PS1表示一阶属性特征分值,PS2表示二阶属性特征分值,动态负载约束|
i
|为当前计算节点P
i
包含的顶点数,γ为一个约束系数,n表示候选计算节点总数。6.根据权利要求1至5任一项所述的方法,其特征在于,分布式Skip

Gram学习模型学习每个用户的向量表示,具体为:
每个计算节点开始训练之前,根据文本库中顶点出现的频率按照频率降序排列创建存放每个顶点及其初始向量的全局词向量矩阵;为每个线程上当前训练的文本创建本地缓存器,以提升上下文词数...

【专利技术属性】
技术研发人员:方鹏王芳冯丹施展李真理尹伟
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1