多方联合训练图神经网络的方法及装置与流程

文档序号:36505025发布日期:2023-12-28 10:16阅读:28来源:国知局
多方联合训练图神经网络的方法及装置与流程

本说明书一个或多个实施例涉及机器学习,尤其涉及一种保护数据隐私的多方联合训练图神经网络的方法及装置、一种计算机可读存储介质,以及一种计算设备。


背景技术:

1、关系网络图是对现实世界中实体之间的关系的描述,一般包含一个节点集合和一个边集合,节点表示现实世界中的实体,边表示现实世界中实体之间的联系。例如,在社交网络中,人就是实体,人和人之间的关系或联系就是边。

2、关系网络图的拓扑结构能反映现实世界中的复杂关系,因而在社交平台、推荐系统应用中有着举足轻重的作用。如图1所示,在推荐、欺诈检测和疾病传播等业务场景中,不同服务方各自持有相应场景的样本特征和标签数据,如果能够进一步引入丰富的社交网络数据训练机器学习模型,将极大提高对应业务场景下的预测准确率和业务质量。

3、联邦学习(federated learning,简称fl)提供了一种可行的数据合作方案,fl是一种保护数据隐私的机器学习框架,可以让多个数据方在不暴露各自原始数据隐私的情况下,共同训练一个机器学习模型。示例性的,在引入图数据的fl场景下,图数据方持有实体节点的连接关系特征,例如用户节点与哪些用户节点具有社交关系等,其他数据方持有实体节点的其他特征或标签数据,例如用户节点的兴趣爱好或在电商平台中的点击数据等。

4、但是,目前缺乏针对大型图谱进行fl学习的研究。由此,本说明书实施例提出了一种多方联合训练图神经网络(graph neural network,简称gnn)的方案,其中gnn可以用于直接处理图结构数据,该方案在图结构数据量级较大的情况下优势尤为突出。


技术实现思路

1、本说明书实施例描述一种多方联合训练图神经网络的方法及装置,可以满足实际应用中的更高要求。

2、根据第一方面,提供一种多方联合训练图神经网络的方法,其中供图方持有包含多个节点的关系网络图,样本方持有至少部分节点特征或至少部分节点标签,中立方部署有图神经网络;所述方法涉及针对所述多个节点的多轮遍历训练。其中任一轮遍历训练包括:

3、所述供图方和样本方各自根据当前批次的节点标识对应的本地数据,与所述中立方进行交互;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一,该交互使得所述中立方利用所述图神经网络得到对应当前批次节点的本轮表征向量。所述中立方在所述本轮表征向量中融合上一轮遍历训练得到的对应当前批次节点的历史表征向量,作为目标表征向量,以及,将所述历史表征向量更新为所述目标表征向量。所述中立方基于所述目标表征向量和所述当前批次对应的标签数据,完成所述图神经网络针对所述当前批次的迭代更新。

4、在一个实施例中,所述样本方为多个样本方,所述多个节点对应的特征和至少部分节点的标签数据垂直分布于所述多个样本方。

5、根据第二方面,提供一种多方联合训练图神经网络的方法,其中供图方持有包含多个节点的关系网络图,样本方持有至少部分节点特征或至少部分节点标签,中立方部署有图神经网络;所述方法涉及针对所述多个节点的多轮遍历训练。在任一轮遍历训练中所述中立方执行以下步骤:

6、通过与所述供图方和样本方进行针对当前批次的节点标识的交互,利用所述图神经网络得到对应当前批次节点的本轮表征向量;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一;其中供图方和样本方各自根据所述当前批次的节点标识对应的本地数据参与交互。在所述本轮表征向量中融合上一轮遍历训练得到的对应当前批次节点的历史表征向量,作为目标表征向量,以及,将所述历史表征向量更新为所述目标表征向量。基于所述目标表征向量和所述当前批次对应的标签数据,完成所述图神经网络针对所述当前批次的迭代更新。

7、在一个实施例中,其中在任一轮遍历训练中所述中立方还执行以下步骤:在本轮遍历训练中,将所述多个节点进行随机划分得到多批次节点标识;将所述多批次节点标识逐批次作为当前批次的节点标识,发送至所述供图方和样本方。

8、在一个实施例中,所述中立方还执行以下步骤:将首个训练轮次的上一训练轮次对应的各个历史表征向量分别初始化为零向量。

9、根据第三方面,提供一种多方联合训练图神经网络的方法,其中供图方持有包含多个节点的关系网络图,样本方持有至少部分节点特征或至少部分节点标签,中立方部署有图神经网络;所述方法涉及针对所述多个节点的多轮遍历训练。在任一轮遍历训练中所述供图方执行以下步骤:

10、根据当前批次的节点标识,从所述关系网络图中提取包含该批次节点的子图;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一。基于所述子图与所述样本方和中立方进行交互,使得所述中立方利用所述图神经网络得到对应当前批次节点的本轮表征向量;其中样本方根据所述当前批次的节点标识对应的本地特征数据参与交互。其中,所述本轮表征向量用于融合上一训练轮次得到的对应当前批次节点的历史表征向量,作为目标表征向量;所述目标表征向量用于更新所述历史表征向量,还用于结合所述当前批次对应的标签数据完成所述图神经网络针对所述当前批次的迭代更新。

11、在一个实施例中,在根据当前批次的节点标识,从所述关系网络图中提取对应的子图之前,所述方法还包括:获取所述关系网络图的原始版本。基于所述原始版本,在其中各个节点与对应的k阶邻居节点之间添加连接边,得到所述关系网络图的更新版本,用于提取所述子图;其中k为大于1的整数。

12、在一个实施例中,基于所述子图与所述样本方和中立方进行交互,包括:在所述子图中随机地添加和/或删除连接边,作为更新后的子图;利用所述更新后的子图参与所述交互。

13、在一个实施例中基于所述子图与所述样本方和中立方进行交互,包括:将所述子图的结构数据从稀疏数据形式转换为非稀疏的预定数据形式;采用所述预定数据形式支持的同态加密算法,对转换后的子图结构数据进行同态加密;利用所述同态加密得到的密文参与所述交互。

14、根据第四方面,提供一种多方联合训练图神经网络的方法,其中供图方持有包含多个节点的关系网络图,样本方持有至少部分节点特征或至少部分节点标签,中立方部署有图神经网络;所述方法涉及针对所述多个节点的多轮遍历训练。在任一轮遍历训练中所述样本方执行以下步骤:

15、根据当前批次的节点标识,从所述多个节点对应的特征中提取当前批次特征;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一。基于所述当前批次特征与所述中立方和供图方进行交互,使得所述中立方利用所述图神经网络得到对应当前批次节点的本轮表征向量;其中供图方根据所述当前批次的节点标识对应的本地子图数据参与交互。其中,所述本轮表征向量用于融合上一训练轮次得到的对应当前批次节点的历史表征向量,作为目标表征向量;所述目标表征向量用于更新所述历史表征向量,还用于结合所述当前批次对应的标签数据完成所述图神经网络针对所述当前批次的迭代更新。

16、在一个实施例中,基于所述当前批次特征与所述中立方和供图方进行交互,包括:利用本地部署的嵌入模型处理所述当前批次特征,得到当前批次的节点嵌入向量;利用所述节点嵌入向量参与所述交互。

17、在一个具体的实施例中,还包括:利用基于所述目标特征向量和所述当前批次对应的标签而确定的回传梯度,完成所述嵌入模型针对所述当前批次的迭代更新。

18、在一个实施例中,所述样本方为多个样本方,所述多个节点对应的特征和至少部分节点的标签数据垂直分布于所述多个样本方。

19、根据第五方面,提供一种多方联合训练图神经网络的方法,其中供图方持有包含多个节点的关系网络图,若干样本方持有至少部分节点特征或至少部分节点标签,所述若干样本方中的指定方部署有图神经网络;所述方法涉及针对所述多个节点的多轮遍历训练。其中任一轮遍历训练包括:

20、所述供图方和若干样本方各自根据当前批次的节点标识对应的本地数据进行交互;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一,该交互使得所述指定方利用所述图神经网络得到对应当前批次节点的本轮表征向量。所述指定方在所述本轮表征向量中融合上一轮遍历训练得到的对应当前批次节点的历史表征向量,作为目标表征向量,以及,将所述历史表征向量更新为所述目标表征向量。所述指定方基于所述目标表征向量和所述当前批次对应的标签数据,完成所述图神经网络针对所述当前批次的迭代更新。

21、根据第六方面,提供一种多方联合训练图神经网络的方法,其中供图方持有包含多个节点的关系网络图,若干样本方持有至少部分节点特征或至少部分节点标签,所述若干样本方中的指定方部署有图神经网络;所述方法涉及针对所述多个节点的多轮遍历训练。在任一轮遍历训练中所述指定方执行以下步骤:

22、根据所述当前批次的节点标识对应的本地数据,与其他方进行交互,从而利用所述图神经网络得到对应当前批次节点的本轮表征向量;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一;所述其他方各自根据所述当前批次的节点标识对应的本地数据参与交互。在所述本轮表征向量中融合上一轮遍历训练得到的对应当前批次节点的历史表征向量,作为目标表征向量,以及,将所述历史表征向量更新为所述目标表征向量。基于所述目标表征向量和所述当前批次对应的标签数据,完成所述图神经网络针对所述当前批次的迭代更新。

23、根据第七方面,提供一种多方联合训练图神经网络的方法,其中供图方持有包含多个节点的关系网络图,若干样本方持有至少部分节点特征或至少部分节点标签,所述若干样本方中的指定方部署有图神经网络;所述方法涉及针对所述多个节点的多轮遍历训练。在任一轮遍历训练中所述供图方执行以下步骤:

24、根据当前批次的节点标识,从所述关系网络图中提取包含该批次节点的子图;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一。基于所述子图与所述若干样本方进行交互,使得所述指定方利用所述图神经网络得到对应当前批次节点的本轮表征向量;其中若干样本方各自根据所述当前批次的节点标识对应的本地特征数据参与交互。其中,所述本轮表征向量用于融合上一训练轮次得到的对应当前批次节点的历史表征向量,作为目标表征向量;所述目标表征向量用于更新所述历史表征向量,还用于结合当前批次对应的标签数据完成所述图神经网络针对所述当前批次的迭代更新。

25、根据第八方面,提供一种多方联合训练图神经网络的装置,其中供图方持有包含多个节点的关系网络图,样本方持有至少部分节点特征或至少部分节点标签,中立方部署有图神经网络;所述联合训练涉及针对所述多个节点的多轮遍历训练。所述装置集成于所述中立方,通过以下单元参与其中任一轮遍历训练:

26、交互单元,配置为通过与所述供图方和样本方进行针对当前批次的节点标识的交互,利用所述图神经网络得到对应当前批次节点的本轮表征向量;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一;其中供图方和样本方各自根据所述当前批次的节点标识对应的本地数据参与交互。向量处理单元,配置为在所述本轮表征向量中融合上一轮遍历训练得到的对应当前批次节点的历史表征向量,作为目标表征向量,以及,将所述历史表征向量更新为所述目标表征向量。模型更新单元,配置为基于所述目标表征向量和所述当前批次对应的标签数据,完成所述图神经网络针对所述当前批次的迭代更新。

27、根据第九方面,提供一种多方联合训练图神经网络的装置,其中供图方持有包含多个节点的关系网络图,样本方持有至少部分节点特征或至少部分节点标签,中立方部署有图神经网络;所述联合训练涉及针对所述多个节点的多轮遍历训练。所述装置集成于所述供图方,通过以下单元参与其中任一轮遍历训练:

28、子图提取单元,配置为根据当前批次的节点标识,从所述关系网络图中提取包含该批次节点的子图;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一。交互单元,配置为基于所述子图与所述样本方和中立方进行交互,使得所述中立方利用所述图神经网络得到对应当前批次节点的本轮表征向量;其中样本方根据所述当前批次的节点标识对应的本地特征数据参与交互。其中,所述本轮表征向量用于融合上一训练轮次得到的对应当前批次节点的历史表征向量,作为目标表征向量;所述目标表征向量用于更新所述历史表征向量,还用于结合所述当前批次对应的标签数据完成所述图神经网络针对所述当前批次的迭代更新。

29、根据第十方面,提供一种多方联合训练图神经网络的装置,其中供图方持有包含多个节点的关系网络图,样本方持有至少部分节点特征或至少部分节点标签,中立方部署有图神经网络;所述联合训练涉及针对所述多个节点的多轮遍历训练。所述装置集成于所述样本方,通过以下单元参与其中任一轮遍历训练:

30、特征提取单元,配置为根据当前批次的节点标识,从所述多个节点对应的特征中提取当前批次特征;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一。交互单元,配置为基于所述当前批次特征与所述中立方和供图方进行交互,使得所述中立方利用所述图神经网络得到对应当前批次节点的本轮表征向量;其中供图方根据所述当前批次的节点标识对应的本地子图数据参与交互。其中,所述本轮表征向量用于融合上一训练轮次得到的对应当前批次节点的历史表征向量,作为目标表征向量;所述目标表征向量用于更新所述历史表征向量,还用于结合所述当前批次对应的标签数据完成所述图神经网络针对所述当前批次的迭代更新。

31、根据第十一方面,提供一种多方联合训练图神经网络的装置,其中供图方持有包含多个节点的关系网络图,若干样本方持有至少部分节点特征或至少部分节点标签,所述若干样本方中的指定方部署有图神经网络;所述联合训练涉及针对所述多个节点的多轮遍历训练。所述装置集成于所述指定方,通过以下单元参与其中任一轮遍历训练:

32、交互单元,配置为根据所述当前批次的节点标识对应的本地数据,与其他方进行交互,从而利用所述图神经网络得到对应当前批次节点的本轮表征向量;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一;所述其他方各自根据所述当前批次的节点标识对应的本地数据参与交互。向量处理单元,配置为在所述本轮表征向量中融合上一轮遍历训练得到的对应当前批次节点的历史表征向量,作为目标表征向量,以及,将所述历史表征向量更新为所述目标表征向量。模型更新单元,配置为基于所述目标表征向量和所述当前批次对应的标签数据,完成所述图神经网络针对所述当前批次的迭代更新。

33、根据第十二方面,提供一种多方联合训练图神经网络的装置,其中供图方持有包含多个节点的关系网络图,若干样本方持有至少部分节点特征或至少部分节点标签,所述若干样本方中的指定方部署有图神经网络;所述联合训练涉及针对所述多个节点的多轮遍历训练。所述装置集成于供图方,通过以下单元参与其中在任一轮遍历训练:

34、子图提取单元,配置为根据当前批次的节点标识,从所述关系网络图中提取包含该批次节点的子图;所述当前批次是针对本轮遍历训练将所述多个节点进行随机划分得到的多个批次之一。交互单元,配置为基于所述子图与所述若干样本方进行交互,使得所述指定方利用所述图神经网络得到对应当前批次节点的本轮表征向量;其中若干样本方各自根据所述当前批次的节点标识对应的本地特征数据参与交互。其中,所述本轮表征向量用于融合上一训练轮次得到的对应当前批次节点的历史表征向量,作为目标表征向量;所述目标表征向量用于更新所述历史表征向量,还用于结合所述当前批次对应的标签数据完成所述图神经网络针对所述当前批次的迭代更新。

35、根据第十三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当上述计算机程序在计算机中执行时,令计算机执行第一方面至第七方面中任一方面提供的方法。

36、根据第十四方面,提供了一种计算设备,包括存储器和处理器,上述存储器中存储有可执行代码,该处理器执行上述可执行代码时,实现第一方面至第七方面中任一方面提供的方法。

37、在本说明书实施例提供的上述方法和装置中,提出了基于随机子图的图联邦学习框架,在兼容现有的fl学习框架下,以随机采样不同批次节点的方式进行图神经网络gnn的训练,通过小批多次的方式降低数据传输瓶颈,同时,随机子图放松了对子图的采样要求,不会在子图结构中暴露节点的邻居结构,有效降低了隐私泄露风险。

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