图神经网络的训练方法及装置制造方法及图纸

技术编号:26731963 阅读:26 留言:0更新日期:2020-12-15 14:35
本说明书实施例提供一种图神经网络的训练方法,包括:获取关系网络图,其中各个对象节点对应采样概率集,包括针对其每个一阶邻居节点的采样概率;基于该关系网络图,对该图神经网络进行多轮迭代更新,其中任一轮包括:以本轮选取的第一标签节点为中心,进行M阶邻居节点采样,其中任意的第i阶邻居节点采样包括,针对已采样的第i‑1阶邻居节点中任意的第一节点,基于其当前采样概率集,从其一阶邻居节点全集中采样若干邻居节点归入第i阶邻居节点;基于采样到的M阶以内的邻居节点和该第一标签节点带有的第一业务标签,对该图神经网络进行本轮更新;利用更新后图神经网络确定若干邻居节点对应的若干训练反馈,进而更新第一节点的当前采样概率集。

【技术实现步骤摘要】
图神经网络的训练方法及装置
本说明书实施例涉及计算机
,尤其涉及一种图神经网络的训练方法及装置。
技术介绍
关系网络图是对现实世界中实体之间的关系的描述,目前广泛地应用于各种计算机信息处理中。一般地,关系网络图包含节点集合和边集合,节点表示现实世界中的实体,边表示现实世界中实体之间的联系。例如,在社交网络中,人就是实体,人和人之间的关系或联系就是边。在很多情况下,希望对关系网络图中的节点、边等的拓扑特性进行分析,从中提取出有效信息,实现这类过程的计算方法称为图计算。典型地,希望将关系网络图中的每个节点(实体)用相同维度的向量来表示,也就是生成针对每个节点的节点向量。如此,生成的节点向量可以应用于计算节点和节点之间的相似度,发现图中的社团结构,预测未来可能形成的边联系,以及对图进行可视化等。节点向量的生成方法已成为图计算的基础算法。根据一种方案,可以利用图神经网络(GraphNeuralNetworks,简称GNN),生成关系网络图中节点的节点向量。通常,图神经网络在确定某个节点的嵌入表达时需要使用它多阶邻居的信息,但是,随着阶数的增加,邻居数量会指数级上升,这对于计算资源和内存使用都会带来很大的负担。比如推荐中常见的用户-商品二部图,如果一个用户看过一些热门商品,其二阶邻居就会几乎覆盖整个用户群体。因此,需要一种改进的方案,可以使得在利用图神经网络确定节点嵌入表达的过程中,可以有效降低内存和计算资源的消耗,同时,保证节点嵌入表达具有较高的准确度。
技术实现思路
在本说明书描述的图神经网络的训练方法及装置中,基于动态更新的采样概率对邻居节点进行采样,进而基于采样邻居节点构造训练样本,训练图神经网络,实现在保证节点嵌入表达准确性的同时,有效降低内存占用量和计算消耗。根据第一方面,提供一种图神经网络的训练方法,包括:获取关系网络图,其中包括对应于多个业务对象的多个对象节点,以及对象节点之间存在关联关系而形成的连接边;该多个对象节点中包括带有业务标签的多个标签节点;该多个对象节点各自对应采样概率集,其中包括对应对象节点针对其每个一阶邻居节点的采样概率;基于所述关系网络图,对所述图神经网络进行多轮迭代更新,其中任一轮迭代更新包括:以本轮选取的第一标签节点为中心,进行M阶邻居节点采样,其中任意的第i阶邻居节点采样包括,针对已采样的第i-1阶邻居节点中任意的第一节点,基于其当前采样概率集,从其一阶邻居节点全集中采样若干邻居节点归入第i阶邻居节点;基于采样到的M阶以内的邻居节点,利用所述图神经网络包含的M个隐层,确定所述第一标签节点的嵌入向量;在其中任一隐层,利用当前隐层的注意力函数,确定上一隐层输出的邻居节点隐向量所对应的注意力权重;根据所述嵌入向量以及所述第一标签节点带有的第一业务标签,对所述图神经网络进行本轮更新;针对所述任意的第一节点,利用本轮更新后的图神经网络,确定其采样的若干邻居节点所对应的若干注意力权重;确定所述若干邻居节点所对应的若干训练反馈,其中各个训练反馈与对应节点的注意力权重正相关,且与对应节点的当前采样概率负相关;基于所述若干训练反馈,更新所述第一节点对应的当前采样概率集。根据第二方面,提供一种图神经网络的训练装置,包括:关系图获取单元,配置为获取关系网络图,其中包括对应于多个业务对象的多个对象节点,以及对象节点之间存在关联关系而形成的连接边;该多个对象节点中包括带有业务标签的多个标签节点;该多个对象节点各自对应采样概率集,其中包括对应对象节点针对其每个一阶邻居节点的采样概率;迭代更新单元,配置为基于所述关系网络图,对所述图神经网络进行多轮迭代更新,其中任一轮迭代更新通过以下模块实现:邻居采样模块,配置为以本轮选取的第一标签节点为中心,进行M阶邻居节点采样,其中任意的第i阶邻居节点采样包括,针对已采样的第i-1阶邻居节点中任意的第一节点,基于其当前采样概率集,从其一阶邻居节点全集中采样若干邻居节点归入第i阶邻居节点;标签节点嵌入模块,配置为基于采样到的M阶以内的邻居节点,利用所述图神经网络包含的M个隐层,确定所述第一标签节点的嵌入向量;在其中任一隐层,利用当前隐层的注意力函数,确定上一隐层输出的邻居节点隐向量所对应的注意力权重;图神经网络更新模块,配置为根据所述嵌入向量以及所述第一标签节点带有的第一业务标签,对所述图神经网络进行本轮更新;邻居权重确定模块,配置为针对所述任意的第一节点,利用本轮更新后的图神经网络,确定其采样的若干邻居节点所对应的若干注意力权重;训练反馈确定模块,配置为确定所述若干邻居节点所对应的若干训练反馈,其中各个训练反馈与对应节点的注意力权重正相关,且与对应节点的当前采样概率负相关;概率更新模块,配置为基于所述若干训练反馈,更新所述第一节点对应的当前采样概率集。根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所描述的方法。根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所描述的方法。在本说明书实施例披露的图神经网络的训练方法及装置中,基于动态更新的采样概率对邻居节点进行采样,进而基于采样邻居节点构造训练样本,训练图神经网络,可以实现在保证节点嵌入表达准确性的同时,有效降低内存占用量和计算消耗。附图说明为了更清楚地说明本说明书披露的多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书披露的多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1示出根据一个实施例的关系网络图的示意图;图2示出根据一个实施例的图神经网络的训练算法框架图;图3示出根据一个实施例的图神经网络的训练方法流程图;图4示出根据一个实施例的无放回采样用到的区间划分示意图;图5示出根据一个实施例的样本生成过程中的邻居节点采样示意图;图6示出根据一个实施例的图神经网络的训练装置架构图。具体实施方式下面结合附图,对本说明书披露的多个实施例进行描述。如前所述,关系网络图可以抽象为包括节点集合和边集合,其中节点表示现实世界中的实体,边表示实体之间的关联关系。图1示出关系网络图的示意图,其中以用户为节点进行示例。如图所示,具有关联关系的用户之间通过边进行连接。近年来,图神经网络模型(或称图神经网络、GNN网络、GNN模型)飞速发展,从最初的图卷积神经网络(GraphConvolutionalNetwork,简称GCN)模型升级到带注意力机制的图神经网络模型,模型效果得到了很大的提升。但是,注意力机制的引入也为图采样带来了新的挑战。为了解决节点数量膨胀的问题,在一种实施方式中,可以从某个节点出发,随机采样一部分邻居节点,这样每个节点的子图大小就会控制在一个可以本文档来自技高网...

【技术保护点】
1.一种图神经网络的训练方法,包括:/n获取关系网络图,其中包括对应于多个业务对象的多个对象节点,以及对象节点之间存在关联关系而形成的连接边;该多个对象节点中包括带有业务标签的多个标签节点;该多个对象节点各自对应采样概率集,其中包括对应对象节点针对其每个一阶邻居节点的采样概率;/n基于所述关系网络图,对所述图神经网络进行多轮迭代更新,其中任一轮迭代更新包括:/n以本轮选取的第一标签节点为中心,进行M阶邻居节点采样,其中任意的第i阶邻居节点采样包括,针对已采样的第i-1阶邻居节点中任意的第一节点,基于其当前采样概率集,从其一阶邻居节点全集中采样若干邻居节点归入第i阶邻居节点;/n基于采样到的M阶以内的邻居节点,利用所述图神经网络包含的M个隐层,确定所述第一标签节点的嵌入向量;在其中任一隐层,利用当前隐层的注意力函数,确定上一隐层输出的邻居节点隐向量所对应的注意力权重;/n根据所述嵌入向量以及所述第一标签节点带有的第一业务标签,对所述图神经网络进行本轮更新;/n针对所述任意的第一节点,利用本轮更新后的图神经网络,确定其采样的若干邻居节点所对应的若干注意力权重;/n确定所述若干邻居节点所对应的若干训练反馈,其中各个训练反馈与对应节点的注意力权重正相关,且与对应节点的当前采样概率负相关;/n基于所述若干训练反馈,更新所述第一节点对应的当前采样概率集。/n...

【技术特征摘要】
1.一种图神经网络的训练方法,包括:
获取关系网络图,其中包括对应于多个业务对象的多个对象节点,以及对象节点之间存在关联关系而形成的连接边;该多个对象节点中包括带有业务标签的多个标签节点;该多个对象节点各自对应采样概率集,其中包括对应对象节点针对其每个一阶邻居节点的采样概率;
基于所述关系网络图,对所述图神经网络进行多轮迭代更新,其中任一轮迭代更新包括:
以本轮选取的第一标签节点为中心,进行M阶邻居节点采样,其中任意的第i阶邻居节点采样包括,针对已采样的第i-1阶邻居节点中任意的第一节点,基于其当前采样概率集,从其一阶邻居节点全集中采样若干邻居节点归入第i阶邻居节点;
基于采样到的M阶以内的邻居节点,利用所述图神经网络包含的M个隐层,确定所述第一标签节点的嵌入向量;在其中任一隐层,利用当前隐层的注意力函数,确定上一隐层输出的邻居节点隐向量所对应的注意力权重;
根据所述嵌入向量以及所述第一标签节点带有的第一业务标签,对所述图神经网络进行本轮更新;
针对所述任意的第一节点,利用本轮更新后的图神经网络,确定其采样的若干邻居节点所对应的若干注意力权重;
确定所述若干邻居节点所对应的若干训练反馈,其中各个训练反馈与对应节点的注意力权重正相关,且与对应节点的当前采样概率负相关;
基于所述若干训练反馈,更新所述第一节点对应的当前采样概率集。


2.根据权利要求1所述的方法,其中,所述多个业务对象归属以下中的至少一类:用户、商户、商品、服务、事件。


3.根据权利要求1所述的方法,其中,基于其当前采样概率集,从其一阶邻居节点全集中采样若干邻居节点归入第i阶邻居节点,包括:
基于其当前采样概率集,对其一阶邻居节点全集进行无放回采样,得到所述若干邻居节点,归入第i阶邻居节点。


4.根据权利要求1所述的方法,其中,根据所述嵌入向量以及所述第一标签节点带有的第一业务标签,对所述图神经网络进行本轮更新,包括:
将所述嵌入向量输入针对业务对象的业务预测模型中,得到对应的业务预测结果;
基于所述业务预测结果和所述第一业务标签,训练所述图神经网络和业务预测模型。


5.根据权利要求1所述的方法,其中,针对所述任意的第一节点,利用本轮更新后的图神经网络,确定其采样的若干邻居节点所对应的若干注意力权重,包括:
针对所述若干邻居节点中任意的第一邻居节点,利用所述M个隐层中首个隐层对应的注意力函数,对所述第一邻居节点和第一节点的节点特征进行进行计算,得到第一注意力权重,归入所述若干注意力权重。


6.根据权利要求1所述的方法,其中,所述多个对象节点还各自对应采样权重集,其中包括对应对象节点针对其每个一阶邻居节点的采样权重;其中,基于所述若干训练反馈,更新所述第一节点对应的当前采样概率集,包括:
基于所述若干训练反馈,更新所述第一节点对应的当前采样权重集;
基于更新后的当前采样权重集,更新所述当前采样概率集,其中各个更新后的采样概率正相关于对应节点的采样权重。


7.根据权利要求6所述的方法,其中,基于所述若干训练反馈,更新所述第一节点对应的当前采样权重集,包括:
更新所述当前采样权重集中对应所述若干邻居节点的采样权重,其中各个更新后的采样权重与对应节点的更新前采样权重和训练反馈正相关。


8.根据权利要求7所述的方法,其中,所述各个更新后的采样权重还与所述一阶邻居节点全集中节点的总数负相关。


9.根据权利要求7所述的方法,其中,基于更新后的当前采样权重集,更新所述当前采样概率集,包括:
针对所述一阶邻居节点全集中的各个节点,确定其当前采样权重与所述当前采样权重集中权重的和值之间的比值,并确定与该比值正相关的更新后采样权重。


10.根据权利要求6所述的方法,其中,基于所述若干训练反馈,更新所述第一节点对应的当前采样权重集,包括:
基于所述若干邻居节点对应的若干当前采样权重,以及所述若干邻居节点对应的采样邻居数量,求取满足预设函数的权重阈值;所述预设函数中包括与所述采样邻居数量负相关的第一表达式,以及取值与该第一表达式相等的第二表达式,所述第二表达式正比于所述权重阈值,并反比于若干第一权重的权重个数与权重阈值的乘积及若干第二权重的权重和值,所述若干第一权重为所述若干当前采样权重中不小于权重阈值的权重,所述若干第二权重为所述若干当前采样权重中小于权重阈值的权重;
对所述若干第一权重进行更新,并且,不更新所述若干第二权重;其中各个更新后的第一权重与对应节点的更新前权重和训练反馈正相关;
将所述当前采样权重集中除所述若干当前采样权重以外的各个权重,分别更新为所述权重阈值。


11.根据权利要求10所述的方法,其中,所述第一表达式还与所述一阶邻居节点全集中节点的总个数和第一超参数负相关;其中,基于所述若干邻居节点对应的若干当前采样权重,以及所述若干邻居节点对应的采样邻居数量,求取满足预定函数的权重阈值,包括:
确定所述若干当前采样权重中的最大值,所述若干当前采样权重的权重和值,以及所述第一表达式的第一数值;
在所述最大值与所述权重和值的比值不小于所述第一数值的情况下,求取所述权重阈值。


12.根据权利要求...

【专利技术属性】
技术研发人员:吴郑伟刘子奇
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1