CN110782044A - 多方联合训练图神经网络的方法及装置 - Google Patents

多方联合训练图神经网络的方法及装置 Download PDF

Info

Publication number
CN110782044A
CN110782044A CN201911040222.5A CN201911040222A CN110782044A CN 110782044 A CN110782044 A CN 110782044A CN 201911040222 A CN201911040222 A CN 201911040222A CN 110782044 A CN110782044 A CN 110782044A
Authority
CN
China
Prior art keywords
embedding
sample
vector
network
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911040222.5A
Other languages
English (en)
Inventor
陈超超
郑龙飞
王力
周俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201911040222.5A priority Critical patent/CN110782044A/zh
Publication of CN110782044A publication Critical patent/CN110782044A/zh
Priority to PCT/CN2020/111501 priority patent/WO2021082681A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供一种多方联合训练图神经网络的方法和装置。多方包括多个数据持有方和服务器;图神经网络包括图嵌入子网络和分类子网络。各数据持有方各自维护图嵌入子网络的一部分,服务器维护分类子网络。任意的数据持有方在其维护的图嵌入子网络中,通过多方安全计算MPC,与其他持有方联合计算样本的初级嵌入向量,并根据本地的图结构对节点进行多级邻居聚合,得到节点的高阶嵌入向量,发给服务器。服务器利用分类子网络对来自各个数据持有方的高阶嵌入向量进行综合,据此进行分类预测,确定损失。损失梯度从服务器中的分类子网络传递回数据持有方中的图嵌入子网络,实现整个图神经网络的联合训练。本发明实施例保护了各方的数据隐私。

Description

多方联合训练图神经网络的方法及装置
技术领域
本说明书一个或多个实施例涉及数据安全和机器学习领域,具体地,涉及多方联合训练图神经网络的方法和装置。
背景技术
机器学习所需要的数据往往会涉及到多个领域。例如在基于机器学习的用户分类分析场景中,电子支付平台拥有用户的交易流水数据,社交平台拥有用户的好友联络数据,银行机构拥有用户的借贷数据。数据往往以孤岛的形式存在。由于行业竞争、数据安全、用户隐私等问题,数据整合面临着很大阻力,将分散在各个平台的数据整合在一起训练机器学习模型难以实现。在保证数据不泄露的前提下,使用多方数据联合训练机器学习模型变成目前的一大挑战。
图神经网络是广为使用的机器学习模型。相对于传统的神经网络,图神经网络不仅能够捕捉节点的特征,而且能够刻画节点之间的关联关系特征,因此,在多项机器学习任务中取得了优异的效果。然而,这也使得图神经网络具有一定复杂性。特别是,当面对数据孤岛现象时,如何综合多方数据,安全地进行多方联合建模,成为有待解决的问题。
因此,希望能有改进的方案,能够安全、有效地在多方之间联合训练图神经网络。
发明内容
本说明书一个或多个实施例描述了多方联合训练图神经网络的方法和装置,能够安全、高效地在多方之间联合训练图神经网络作为预测模型。
根据第一方面,提供了一种多方联合训练图神经网络的方法,所述图神经网络包括图嵌入子网络和分类子网络,所述多方包括服务器和N个数据持有方,所述服务器维护所述分类子网络,所述N个数据持有方各自维护所述图嵌入子网络的一部分;所述N个数据持有方中任意的第一持有方存储有样本集中各个样本的第一特征部分,以及包含所述各个样本作为对应节点的第一图结构;所述第一持有方维护所述图嵌入子网络的第一网络部分,所述第一网络部分包括嵌入层和聚合层;所述方法通过该第一持有方执行,包括:
在所述嵌入层,至少基于所述各个样本的第一特征部分,利用多方安全计算方案,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量;
在所述聚合层,基于所述第一图结构,以及所述各个样本的初级嵌入向量,对所述各个样本执行多级聚合,以确定各个样本的高阶嵌入向量;其中每级聚合包括,对于各个样本在所述第一图结构中对应的节点,至少基于该节点的邻居节点的上一级嵌入向量,确定该节点的本级嵌入向量;
将所述各个样本的高阶嵌入向量发送至所述服务器,以使得所述服务器利用所述分类子网络,基于所述N个数据持有方发送的高阶嵌入向量对各个样本进行分类预测,得到分类预测结果;
从所述服务器接收损失梯度,所述损失梯度至少基于所述各个样本的分类预测结果与样本标签而确定;
根据所述损失梯度,更新所述第一网络部分。
根据一种实施方式,所述多方安全计算方案包括秘密分享方案;相应地,可以通过以下方式得到各个样本的初级嵌入向量:
对各个样本的第一特征部分进行分享处理,得到第一分享特征部分;
将所述第一分享特征部分发送给其他N-1个数据持有方,并从所述其他N-1个数据持有方分别接收N-1个分享特征部分;
对所述第一特征部分和所述N-1个分享特征部分进行综合,得到第一综合特征;
将所述第一综合特征发送给其他N-1个数据持有方,并从其他N-1个数据持有方分别接收N-1个综合特征;
根据所述第一综合特征,以及所述N-1个综合特征,确定所述各个样本的初级嵌入向量。
在一个实施例中,嵌入层具有嵌入参数,在嵌入层得到各个样本的初级嵌入向量包括,基于各个样本的第一特征部分,以及所述嵌入层中的嵌入参数,利用多方安全计算方案,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量。
在这样的情况下,更新第一网络部分包括,更新所述嵌入参数。
在一个进一步的实施例中,嵌入层采用秘密分享方案,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量,这具体包括:
对各个样本的第一特征部分进行分享处理,得到第一分享特征部分;并对所述嵌入参数进行分享处理,得到第一分享参数部分;
将所述第一分享特征部分和第一分享参数部分发送给其他N-1个数据持有方,并从其他N-1个数据持有方分别接收N-1个分享特征部分以及N-1个分享参数部分;
利用所述嵌入参数和所述N-1个分享参数部分构成的第一综合参数,处理由所述第一特征部分和所述N-1个分享特征部分构成的第一综合特征,得到第一综合嵌入结果;
将所述第一综合嵌入结果发送给所述其他N-1个数据持有方,并从所述其他N-1个数据持有方接收对应的N-1个综合嵌入结果;
根据所述第一综合嵌入结果和所述N-1个综合嵌入结果,确定所述各个样本的初级嵌入向量。
在一个实施例中,聚合层中的每级聚合包括,对于各个样本中任意的第一样本在所述第一图结构中对应的第一节点:
至少根据该第一节点的邻居节点的上一级嵌入向量,确定邻居聚合向量;
根据所述邻居聚合向量,以及所述第一节点的上一级嵌入向量,确定该第一节点的本级嵌入向量。
进一步的,在一个例子中,对第一节点的邻居节点的上一级嵌入向量进行池化操作,得到所述邻居聚合向量。
在另一例子中,对所述第一节点的邻居节点的上一级嵌入向量加权求和,得到所述邻居聚合向量,各邻居节点对应的权重根据该邻居节点与所述第一节点之间的连接边的特征而确定。
在又一例子中,基于各个邻居节点的上一级嵌入向量,以及各个邻居节点与所述第一节点之间的各个连接边的边嵌入向量,确定所述邻居聚合向量。
根据一个实施例,更新第一网络部分的过程包括:
根据损失梯度,采用反向传播算法,反向逐层更新所述聚合层中的聚合参数,以及所述嵌入层中的嵌入参数。
根据第二方面,提供了一种多方联合训练图神经网络的方法,所述图神经网络包括图嵌入子网络和分类子网络,所述多方包括服务器和N个数据持有方,所述服务器维护所述分类子网络,所述N个数据持有方各自维护所述图嵌入子网络的一部分;所述N个数据持有方中的各个持有方存储有样本集中各个样本的部分特征,以及包含所述各个样本作为对应节点的图结构;所述方法通过所述服务器执行,所述方法包括:
对于所述样本集中任意的目标样本,分别从所述N个数据持有方接收针对该目标样本的N个高阶嵌入向量,其中,第i个高阶嵌入向量是由所述N个数据持有方中的第i个持有方,通过将其中存储的图结构和目标样本的特征部分,输入其中维护的图嵌入子网络部分而得到;
在所述分类子网络中,对所述N个高阶嵌入向量进行综合,得到所述目标样本的综合嵌入向量,并根据所述综合嵌入向量确定所述目标样本的分类预测结果;
至少基于所述目标样本的分类预测结果与对应的样本标签,确定预测损失;
根据所述预测损失更新所述分类子网络,并确定所述分类子网络输入层对应的损失梯度;
将所述损失梯度发送给所述N个数据持有方,以使得各个持有方更新其中的图嵌入子网络部分。
在不同实施例中,可以通过以下方式对N个高阶嵌入向量进行综合,得到所述目标样本的综合嵌入向量:
对所述N个高阶嵌入向量进行拼接,得到所述综合嵌入向量;或者,
对所述N个高阶嵌入向量求平均,得到所述综合嵌入向量。
在一个实施例中,对N个高阶嵌入向量进行综合,得到所述目标样本的综合嵌入向量包括:
利用N个权重向量,分别与所述N个高阶嵌入向量进行按位相乘,得到N个加权处理向量;
对所述N个加权处理向量求和,得到所述综合嵌入向量;
其中,更新所述分类子网络包括,更新所述N个权重向量。
根据一个实施例,在确定预测损失之前,方法还包括:从所述N个数据持有方中的第二持有方,接收所述样本标签。
根据第三方面,提供了一种用于多方联合训练图神经网络的装置,所述图神经网络包括图嵌入子网络和分类子网络,所述多方包括服务器和N个数据持有方,所述服务器维护所述分类子网络,所述N个数据持有方各自维护所述图嵌入子网络的一部分;所述N个数据持有方中任意的第一持有方存储有样本集中各个样本的第一特征部分,以及包含所述各个样本作为对应节点的第一图结构;所述第一持有方维护所述图嵌入子网络的第一网络部分,所述第一网络部分包括嵌入层和聚合层;所述装置部署在第一持有方中,包括:
初级嵌入单元,配置为在所述嵌入层,至少基于所述各个样本的第一特征部分,利用多方安全计算方案,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量;
聚合单元,配置为在所述聚合层,基于所述第一图结构,以及所述各个样本的初级嵌入向量,对所述各个样本执行多级聚合,以确定各个样本的高阶嵌入向量;其中每级聚合包括,对于各个样本在所述第一图结构中对应的节点,至少基于该节点的邻居节点的上一级嵌入向量,确定该节点的本级嵌入向量;
发送单元,配置为将所述各个样本的高阶嵌入向量发送至所述服务器,以使得所述服务器利用所述分类子网络,基于所述N个数据持有方发送的高阶嵌入向量对各个样本进行分类预测,得到分类预测结果;
接收单元,配置为从所述服务器接收损失梯度,所述损失梯度至少基于所述各个样本的分类预测结果与样本标签而确定;
更新单元,配置为根据所述损失梯度,更新所述第一网络部分。
根据第四方面,提供了一种用于多方联合训练图神经网络的装置,所述图神经网络包括图嵌入子网络和分类子网络,所述多方包括服务器和N个数据持有方,所述服务器维护所述分类子网络,所述N个数据持有方各自维护所述图嵌入子网络的一部分;所述N个数据持有方中的各个持有方存储有样本集中各个样本的部分特征,以及包含所述各个样本作为对应节点的图结构;所述装置部署在所述服务器中,包括:
向量接收单元,配置为对于所述样本集中任意的目标样本,分别从所述N个数据持有方接收针对该目标样本的N个高阶嵌入向量,其中,第i个高阶嵌入向量是由所述N个数据持有方中的第i个持有方,通过将其中存储的图结构和目标样本的特征部分,输入其中维护的图嵌入子网络部分而得到;
分类预测单元,配置为在所述分类子网络中,对所述N个高阶嵌入向量进行综合,得到所述目标样本的综合嵌入向量,并根据所述综合嵌入向量确定所述目标样本的分类预测结果;
损失确定单元,配置为至少基于所述目标样本的分类预测结果与对应的样本标签,确定预测损失;
更新单元,配置为根据所述预测损失更新所述分类子网络,并确定所述分类子网络输入层对应的损失梯度;
发送单元,配置为将所述损失梯度发送给所述N个数据持有方,以使得各个持有方更新其中的图嵌入子网络部分。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
根据本说明书实施例提供的方法和装置,由多个数据持有方和服务器共同联合训练图神经网络,其中各个数据持有方各自存储样本的一部分特征以及以样本为节点的图结构。图神经网络被划分为图嵌入子网络和分类子网络,各个数据持有方各自维护图嵌入子网络的一部分,服务器维护分类子网络。任意的数据持有方在其维护的图嵌入子网络中,通过多方安全计算方案,与其他持有方联合计算出样本的初级嵌入向量,在此基础上,根据本地的图结构对节点进行多级邻居聚合,得到节点的高阶嵌入向量,并发送给服务器。服务器利用分类子网络对来自各个数据持有方的样本高阶嵌入向量进行综合,并据此对样本进行分类预测,确定损失。最终,损失梯度从服务器中的分类子网络传递回数据持有方中的图嵌入子网络,实现整个图神经网络的联合训练。整个过程中,保证了样本特征数据和图结构数据的隐私安全,还提升了整个网络的计算和训练效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的多方联合训练图神经网络的方法过程;
图3示出第一持有方采用秘密分享方式确定样本的初级嵌入向量的方法流程;
图4示出根据一个实施例的部署在第一持有方中的训练装置的示意性框图;
图5示出根据一个实施例的部署在服务器中的训练装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。在图1中,为了清楚和简单,示出了2个数据持有方,分别为持有方A和持有方B。持有方A和B各自存储有样本的一部分特征,和记录样本之间关联关系的图结构。在一个具体例子中,样本可以是用户。相应的,持有方A例如可以是电子支付平台(例如支付宝),其中存储有用户的一部分特征(例如与支付相关的特征)。这一部分特征在图1中示出为特征f1到f4。此外,持有方A中还存储有例如通过支付关系构建的图结构A。更具体的,在该电子支付平台中具有支付或转账关系的用户之间,可以通过连接边进行连接,由此形成图结构A。另一方面,持有方B例如可以是社交平台(例如钉钉),其中存储有用户的另一部分特征(例如与社交相关的特征)。这部分特征在图1中示出为特征f5,f6和f7。此外,持有方B中还存储有例如通过社交关系构建的图结构B。更具体的,在该社交平台中,具有好友关系或有过沟通记录的用户之间,可以通过连接边进行连接,由此形成图结构B。
通过图1的图示可以看到,持有方A和持有方B可以存储有相同样本的不同特征部分,并且,由于持有方A和持有方B基于不同的关联关系进行图结构的构建(例如,持有方A基于支付关系,持有方B基于社交好友关系),因此,持有方A和B各自存储有不同的图结构。
为了提高预测准确性,希望基于更加丰富的样本信息进行机器学习。而数据持有方A和持有方B各自只保存了样本的部分特征以及基于某种关联关系构建的图结构,因此,希望能够将数据持有方A和B中存储的特征数据和图数据综合起来,联合训练一个图神经网络作为预测模型。同时,希望在联合训练的过程中,数据持有方A和B中的原始数据不会泄露出去,以保证隐私和安全。
为此,在本说明书的一个实施例中,在各个数据持有方之外还引入中立的服务器,由各个数据持有方和服务器共同联合训练图神经网络。为了兼顾数据的隐私安全和计算效率,将有待训练的图神经网络划分为两部分:图嵌入子网络和分类子网络。
图嵌入子网络用于根据样本特征和图结构,生成各个样本对应节点的高阶嵌入向量。图嵌入子网络的计算涉及原始样本特征和图结构数据,属于隐私数据相关计算,因此,可以在数据持有方本地进行。具体的,各个数据持有方可以各自维护图嵌入子网络的一部分,基于本地存储的特征数据和图结构数据,利用本地维护的图嵌入子网络部分,计算得到节点的高阶嵌入向量。
更具体的,各个数据持有方中的图嵌入子网络可以分为嵌入层和聚合层。在嵌入层,各个数据持有方之间通过多方安全计算方案,综合其存储的样本特征部分,得到各个样本对应节点的初级嵌入向量。在聚合层,数据持有方基于节点的初级嵌入向量和本地存储的图结构,对节点进行多级邻居聚合,从而得到节点的高阶嵌入向量。
分类子网络用于将图嵌入子网络得到的节点的高阶嵌入向量进行综合,并根据综合结果对节点进行分类预测。分类子网络的计算并不涉及原始样本特征和图结构数据,属于非隐私相关计算,因此,可以在服务器中进行,以提升计算和训练效率。
在训练过程中,服务器可以根据分类子网络的分类预测结果和样本标签(图1中示出为y1,y2和y3),确定出预测损失,并通过反向传播更新分类子网络,直到确定出分类子网络输入层的损失梯度。然后,服务器将损失梯度发送给各个数据持有方,于是各个数据持有方可以根据该损失梯度,继续更新其中的图嵌入子网络。由此,实现整个图神经网络的更新和训练。
下面具体描述多方联合训练图神经网络的具体过程。
需要理解,尽管图1中仅示出了2个数据提供方,但是以上的构思和架构可以适用于更多数据提供方的场景。为了不失一般性,下面的描述中,假定存在N个数据持有方,N通常大于等于2。这N个数据持有方各自存储有样本集中各个样本的一部分特征,以及包含各个样本作为节点的图结构。在这样的场景下,希望由N个数据持有方和服务器共同联合训练出图神经网络模型。
为了兼顾联合训练的安全和效率,如上所述,将图神经网络划分为图嵌入子网络和分类子网络。在这样的情况下,N个数据持有方各自维护图嵌入子网络的一部分;服务器维护分类子网络。为了描述的简单和清楚,下面结合N个数据持有方中任意一个数据持有方,称为第一持有方,描述联合训练的执行步骤。
图2示出根据一个实施例的多方联合训练图神经网络的方法过程。可以看到,图2示出了联合训练中,任意的第一持有方与服务器各自的处理过程,以及两者的交互过程。其中,第一持有方,以及服务器,均可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
可以理解,作为N个数据持有方中任意的一个,第一持有方中存储有样本集中各个样本的部分特征,在此称为第一特征部分。此外,将第一持有方中存储的图结构称为第一图结构,其中维护的图嵌入子网络部分称为第一网络部分。进一步的,第一网络部分包括嵌入层和聚合层。
基于以上的场景,联合训练的过程包含以下步骤。
首先,在步骤201,第一持有方(可以记为持有方i)利用其维护的第一网络部分中的嵌入层,至少基于各个样本的第一特征部分,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量。该步骤的联合计算涉及各个数据持有方中存储的样本原始特征,属于私密数据,因此出于数据安全考虑,上述联合计算需要采用多方安全计算(MPC)方案进行。
存在多种已有的多方安全计算MPC方案,例如包括同态加密,混淆电路,秘密分享,等等。在步骤201中,可以结合嵌入层的具体算法,采用各种适用的MPC方案,联合计算样本的初级嵌入向量。
在一个实施例中,嵌入层对样本特征的处理,主要涉及将原始特征数据进行编码表征(例如编码为向量),而不涉及对特征数据的参数计算处理。在这样的情况下,可以采用各种MPC方案,将N个持有方编码的样本特征部分进行综合,以得到样本的初级嵌入向量。
在另一个实施例中,嵌入层在对样本的特征数据进行编码表征后,还进一步对其进行涉及参数的计算处理,例如利用参数向量对特征进行线性变换,或者还进一步施加非线性函数(例如sigmoid函数)处理,等等。换而言之,持有方i的嵌入层中包含特征运算所需的嵌入参数θi
在这样的情况下,在一个例子中,可以采用同态加密的方式,将N个持有方编码的样本特征部分以及维护的嵌入参数部分分别进行综合,以得到样本的初级嵌入向量。具体的,可以通过同态加密综合样本特征,还利用同态加密来综合各个持有方中维护的嵌入参数,然后用综合得到的嵌入参数处理综合得到的特征,据此得到样本的初级嵌入向量。
在另一例子中,采用秘密分享的方式,基于各个特征部分和嵌入参数,得到样本的初级嵌入向量。图3示出第一持有方采用秘密分享方式确定样本的初级嵌入向量的方法流程。
具体地,对于某个目标样本,在步骤301,第一持有方i对该样本的第一特征部分xi进行分享处理,得到第一分享特征部分x′i。上述分享处理可以采用秘密分享中的算法,通过在原始数据的基础上添加一定方式生成的随机数而实现。例如,可以如下得到第一分享特征部分:
x′i=xi+ri (1)
其中,ri为针对样本特征的分享处理随机数。
类似的,第一持有方i还对其中的嵌入参数θi进行分享处理,得到第一分享参数部分θ′i。具体的,可以按照下式进行分享处理:
θ′i=θi+si (2)
其中,si为针对嵌入参数的分享处理随机数。
然后,在步骤302,第一持有方i将该第一分享特征部分x′i和第一分享参数部分θ′i发送给其他N-1个数据持有方。类似的,其他N-1个数据持有方各自计算得到对应的分享特征部分x′j(j≠i)和分享参数部分θ′j,并将其发送出去。如此,第一持有方i从其他N-1个数据持有方分别接收N-1个分享特征部分x′j以及N-1个分享参数部分θ′j
接着,在步骤303,第一持有方i基于第一特征部分x′i和N-1个分享特征部分x′j,得到第一综合特征Xi。具体的,可以按照下式得到第一综合特征:
Xi=xi+∑jx′j (3)
此外,第一持有方i还基于自身嵌入参数θi和N-1个分享参数部分θ′j,类似地得到第一综合参数Wi
Wi=θi+∑jθ′j (4)
然后,用第一综合参数Wi处理上述第一综合特征Xi,得到第一综合嵌入结果Hi
在步骤304,第一持有方i将该第一综合嵌入结果Hi发送给所述其他N-1个数据持有方。其他持有方也类似的得到有综合嵌入结果Hj。于是,第一持有方i从其他N-1个数据持有方接收对应的N-1个综合嵌入结果Hj
最后,在步骤305,第一持有方i根据第一综合嵌入结果Hi和所述N-1个综合嵌入结果Hj,确定各个样本的初级嵌入向量H,例如:
Figure BDA0002252630330000131
如此,通过秘密分享的方式,针对该目标样本,第一持有方i与各个数据持有方联合计算得到相同的初级嵌入向量H。
回到图2,在第一持有方i的嵌入层利用MPC方案得到各个样本的初级嵌入向量的基础上,接着,在步骤202,在聚合层,基于其中存储的第一图结构,以及各个样本的初级嵌入向量,对各个样本执行多级邻居聚合,以确定各个样本的高阶嵌入向量。具体地,将各个样本对应到第一图结构中的各个节点,基于第一图结构中的节点之间连接信息,对各个节点进行多级邻居聚合,其中每级聚合包括,对于每个节点,至少基于该节点的邻居节点的上一级嵌入向量,确定该节点的本级嵌入向量。
具体地,对于各个样本中任意的第一样本在第一图结构中对应的第一节点v,针对该第一节点的第k级聚合可以包括:
采用聚合函数AGGk,至少根据该第一节点v的邻居节点u的上一级(即k-1级)嵌入向量
Figure BDA0002252630330000132
确定邻居聚合向量
Figure BDA0002252630330000133
其中N(v)表示节点v的邻居节点集合,即:
Figure BDA0002252630330000134
然后,根据邻居聚合向量
Figure BDA0002252630330000135
以及该第一节点v的上一级(即k-1级)嵌入向量
Figure BDA0002252630330000136
确定该第一节点v的本级(k级)嵌入向量
Figure BDA0002252630330000137
即:
Figure BDA0002252630330000138
其中,f表示对邻居聚合向量
Figure BDA0002252630330000139
和节点v上一级向量
Figure BDA00022526303300001310
施加的综合函数,Wk是第k级聚合的参数。在不同实施例中,函数f中的综合操作可以包括,将
Figure BDA0002252630330000141
Figure BDA0002252630330000142
拼接,或者求和,或者求平均,等等。
在不同实施例中,以上的聚合函数AGGk可以采取不同的形式和算法。
在一个实施例中,上述聚合函数AGGk包括池化操作。相应的,在公式(6)中根据邻居节点u的上一级嵌入向量
Figure BDA0002252630330000143
确定邻居聚合向量
Figure BDA0002252630330000144
即意味着,对第一节点v的各个邻居节点u的上一级嵌入向量
Figure BDA0002252630330000145
进行池化操作,得到邻居聚合向量
Figure BDA0002252630330000146
更具体的,上述池化操作可以包括,最大池化,平均池化,等等。
在另一实施例中,上述聚合函数AGGk可以表示,将各个邻居节点u的上一级嵌入向量
Figure BDA0002252630330000147
依次输入LSTM神经网络,将如此得到的隐向量作为邻居聚合向量
Figure BDA0002252630330000148
在又一个实施例中,上述聚合函数AGGk包括加权求和操作。相应的,公式(6)具体化为:
Figure BDA0002252630330000149
也就是,对第一节点v的邻居节点u的上一级嵌入向量加权求和,得到邻居聚合向量
Figure BDA00022526303300001411
其中,αuv为权重因子。
在一个例子中,上述权重因子αuv根据该邻居节点u与第一节点v之间的连接边euv的特征而确定。例如,当第一图结构基于转账关系而构建时,两个节点u和v之间的连接边euv的特征可以包括,两个节点对应的两个用户的转账总额。当第一图结构基于社交关系而构建时,两个节点u和v之间的连接边euv的特征可以包括,两个节点对应的两个用户的交互频次。如此,可以基于连接边euv的特征而确定邻居节点u的权重因子,并通过公式(8)的聚合函数得到邻居聚合向量
Figure BDA00022526303300001412
在又一实施例中,对于第一图结构,根据各个节点之间连接边的边特征,确定各个连接边的边嵌入向量。相应的,在聚合函数AGGk中,还引入对边嵌入向量的聚合。具体的,基于各个邻居节点u的上一级嵌入向量
Figure BDA0002252630330000151
以及各个邻居节点u与第一节点v之间的各个连接边euv的边嵌入向量,确定邻居聚合向量更具体的,在一个例子中,利用上述聚合函数AGGk进行聚合的公式(6)可以具体化为:
Figure BDA0002252630330000153
其中,quv为第一节点v与其邻居节点u之间的连接边euv的边嵌入向量。
以上,通过多种形式和算法的聚合函数AGGk,基于邻居节点的上一级嵌入向量确定出邻居聚合向量
Figure BDA0002252630330000154
然后,根据公式(7),得到第一节点v的本级嵌入向量
Figure BDA0002252630330000155
可以理解,步骤201中确定出的样本的初始嵌入向量即可以作为0级嵌入向量,基于此,使得k从1直到预设的聚合级数K,逐级执行聚合,可以得到节点v的预设级数K的高阶嵌入向量
Figure BDA0002252630330000156
其中,聚合级数K为预设的超参数,对应于聚合所考虑的邻居节点的阶数。
如此,根据步骤202,第一持有方i在聚合层,基于其中存储的第一图结构,以及各个样本的初级嵌入向量,得到各个样本的高阶嵌入向量。
接着,在步骤203,第一持有方i将各个样本的高阶嵌入向量发送至服务器。
可以理解,第一持有方i是N个数据持有方中任意的一个。其他的数据持有方j也会执行与第一持有方i类似的操作,基于其中存储的第j图结构,以及各个样本的初级嵌入向量,对应得到各个样本的高阶嵌入向量,并发送至服务器。
于是,服务器可以从N个数据持有方中的各个持有方分别接收到其处理得到的样本的高阶嵌入向量。为了表述的清楚,下面针对任意的目标样本v进行描述。针对该目标样本v,服务器可以分别从N个数据持有方接收针对该样本v的N个高阶嵌入向量
Figure BDA0002252630330000157
其中,表示第i个持有方针对样本v得到的高阶嵌入向量。
于是,在步骤204,服务器利用其维护的分类子网络,对目标样本v的N个高阶嵌入向量进行综合,得到该目标样本的综合嵌入向量,并根据该综合嵌入向量确定该目标样本的分类预测结果。
具体地,分类子网络可以包括综合层,用于对目标样本v的N个高阶嵌入向量进行综合。综合层可以采用多种不同综合方式。
在一个实施例中,在综合层中对样本v的N个高阶嵌入向量
Figure BDA0002252630330000161
进行拼接,得到综合嵌入向量
Figure BDA0002252630330000162
在另一实施例中,在综合层中对上述N个高阶嵌入向量
Figure BDA0002252630330000163
求平均,得到综合嵌入向量
Figure BDA0002252630330000164
在又一实施例中,在综合层中对上述N个高阶嵌入向量
Figure BDA0002252630330000165
加权求和,得到综合嵌入向量
Figure BDA0002252630330000166
即:
Figure BDA0002252630330000167
其中,βi为第i个数据持有方对应的权重因子。权重因子βi可以是预先设置的超参数,也可以通过训练而确定。
在另外一个实施例中,在综合层中,通过以下方式得到综合嵌入向量
Figure BDA0002252630330000169
其中,ωi为第i个数据持有方对应的权重向量,与高阶嵌入向量具有同样的维度,⊙表示按位相乘。也就是说,在公式(11)中,利用N个权重向量,分别与N个高阶嵌入向量进行按位相乘,得到N个加权处理向量,并对这N个加权处理向量求和,得到综合嵌入向量
Figure BDA00022526303300001610
需要理解,上述N个权重向量通过网络训练而确定。
在得到上述综合嵌入向量
Figure BDA00022526303300001611
之后,分类子网络可以基于综合嵌入向量
Figure BDA00022526303300001612
确定该目标样本的分类预测结果。例如,在分类子网络中,可以继续对该综合嵌入向量
Figure BDA00022526303300001613
进行进一步处理,然后输入到分类层中进行分类;或者,也可以将该综合嵌入向量
Figure BDA00022526303300001614
直接输入到分类层中。通过分类层,可以得到该目标样本的分类预测结果。
接着,在步骤205,服务器至少基于上述目标样本的分类预测结果与对应的样本标签,确定预测损失。
一般而言,各个样本的样本标签(例如针对用户进行分类的情况下,所划分的用户群的标识)来源于数据持有方。在一个例子中,N个数据持有方中的某个持有方,例如称为第二持有方,拥有全部训练样本的样本标签。在这样的情况下,在步骤205之前,服务器预先从该第二持有方接收各个样本的样本标签。在另一例子中,各个样本的样本标签分布于不同数据持有方中。在这样的情况下,在步骤205之前,服务器预先从各个数据持有方收集各个样本的样本标签。
在获得样本标签的情况下,在步骤205,服务器可以根据各种损失函数的定义,至少基于该目标样本的分类预测结果与样本标签的标签值的比较,确定预测损失。
然后,在步骤206,服务器根据以上得到的预测损失更新其中的分类子网络,并确定分类子网络输入层对应的损失梯度。具体地,可以采用损失反向传播的方式,从分类子网络的输出层开始,逐层确定损失梯度,基于损失梯度调整该层的网络参数,并将损失梯度传递到上一层,直到确定出输入层对应的损失梯度。
然后,在步骤207,服务器将上述损失梯度发送给N个数据持有方。相应的,N个数据持有方的第一持有方i,接收到上述损失梯度。
于是,在步骤208,第一持有方i根据接收到的损失梯度,更新其中的图嵌入子网络部分,也就是前述的第一网络部分。
具体地,第一持有方i根据上述损失梯度,继续进行损失的反向传播,以更新其中的网络参数。反向传播首先在聚合层中进行,因而可以反向逐层更新聚合层中的聚合参数。在嵌入层涉及需要训练的嵌入参数(例如如前述公式(4)所示)的情况下,反向传播继续进行,进一步更新嵌入层中的嵌入参数。如此,实现第一持有方i中的图嵌入子网络部分的更新。
可以理解,N个数据持有方中的各个持有方,均可以类似的执行上述操作,从而更新其中维护的图嵌入子网络部分。于是,整个图嵌入子网络得到更新。更进一步的,与服务器中的分类子网络结合在一起,整个图神经网络得到了训练和更新。
回顾图2所示的图神经网络的联合训练过程,可以看到,得到样本预测结果的正向处理过程可以划分为三个阶段,这三个阶段分别采用了三种不同的处理方式和实施主体。
第一个阶段中确定样本的初级嵌入向量的过程,由N个数据持有方采用MPC方案协同联合执行。在这个过程中,通过MPC方案确保了特征数据的安全性,并由此将各个持有方的特征数据进行全面综合,得到初级嵌入向量。
第二个阶段中确定样本的高阶嵌入向量的过程,由各个数据持有方各自执行。由此,一方面确保图结构数据的安全性,并一方面,允许各个数据持有方基于各自维护的不同图结构进行多级聚合。
第三个阶段中确定样本的预测结果和预测损失的过程,在服务器中执行。这是考虑到,对高阶嵌入向量的处理并不涉及隐私数据,并且,神经网络中的多项处理涉及非线性变换,对计算性能要求比较高。如此,由中立的服务器维护分类子网络,以此提升训练和计算效率。
如此,通过上述实施例的方案,高效而安全地实现了图神经网络的多方联合训练。
根据另一方面的实施例,提供了一种用于多方联合训练图神经网络的装置,该装置部署于前述N个数据持有方中任意的第一持有方中,该第一持有方可以实现为任何具有计算、处理能力的设备、平台或设备集群。如前所述,图神经网络包括图嵌入子网络和分类子网络,服务器维护所述分类子网络,所述N个数据持有方各自维护所述图嵌入子网络的一部分。第一持有方存储各个样本的第一特征部分,以及包含各个样本作为对应节点的第一图结构;并且,第一持有方维护所述图嵌入子网络的第一网络部分,所述第一网络部分包括嵌入层和聚合层。
图4示出根据一个实施例的部署在第一持有方中的训练装置的示意性框图。如图4所示,该训练装置400包括:
初级嵌入单元41,配置为在所述嵌入层,至少基于所述各个样本的第一特征部分,利用多方安全计算方案,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量;
聚合单元42,配置为在所述聚合层,基于所述第一图结构,以及所述各个样本的初级嵌入向量,对所述各个样本执行多级聚合,以确定各个样本的高阶嵌入向量;其中每级聚合包括,对于各个样本在所述第一图结构中对应的节点,至少基于该节点的邻居节点的上一级嵌入向量,确定该节点的本级嵌入向量;
发送单元43,配置为将所述各个样本的高阶嵌入向量发送至所述服务器,以使得所述服务器利用所述分类子网络,基于所述N个数据持有方发送的高阶嵌入向量对各个样本进行分类预测,得到分类预测结果;
接收单元44,配置为从所述服务器接收损失梯度,所述损失梯度至少基于所述各个样本的分类预测结果与样本标签而确定;
更新单元45,配置为根据所述损失梯度,更新所述第一网络部分。
根据一种实施方式,所述初级嵌入单元41配置为:基于所述各个样本的第一特征部分,以及所述嵌入层中的嵌入参数,利用多方安全计算方案,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量;相应地,所述更新单元45配置为,更新所述嵌入参数。
在上述实施方式的一个实施例中,所述多方安全计算方案采用秘密分享方案,所述初级嵌入单元41具体配置为:
对所述各个样本的第一特征部分进行分享处理,得到第一分享特征部分;并对所述嵌入参数进行分享处理,得到第一分享参数部分;
将所述第一分享特征部分和第一分享参数部分发送给其他N-1个数据持有方,并从其他N-1个数据持有方分别接收N-1个分享特征部分以及N-1个分享参数部分;
利用所述嵌入参数和所述N-1个分享参数部分构成的第一综合参数,处理由所述第一特征部分和所述N-1个分享特征部分构成的第一综合特征,得到第一综合嵌入结果;
将所述第一综合嵌入结果发送给所述其他N-1个数据持有方,并从所述其他N-1个数据持有方接收对应的N-1个综合嵌入结果;
根据所述第一综合嵌入结果和所述N-1个综合嵌入结果,确定所述各个样本的初级嵌入向量。
根据一个实施例,所述聚合单元42配置为,对于各个样本中任意的第一样本在所述第一图结构中对应的第一节点:
至少根据该第一节点的邻居节点的上一级嵌入向量,确定邻居聚合向量;
根据所述邻居聚合向量,以及所述第一节点的上一级嵌入向量,确定该第一节点的本级嵌入向量。
进一步的,在一个例子中,聚合单元42确定邻居聚合向量具体包括:
对所述第一节点的邻居节点的上一级嵌入向量进行池化操作,得到所述邻居聚合向量。
在另一个例子中,所述聚合单元42确定邻居聚合向量具体包括:
对所述第一节点的邻居节点的上一级嵌入向量加权求和,得到所述邻居聚合向量,各邻居节点对应的权重根据该邻居节点与所述第一节点之间的连接边的特征而确定。
在又一个例子中,所述聚合单元42确定邻居聚合向量具体包括:
基于各个邻居节点的上一级嵌入向量,以及各个邻居节点与所述第一节点之间的各个连接边的边嵌入向量,确定所述邻居聚合向量。
根据一个实施例,所述更新单元45具体配置为:
根据损失梯度,采用反向传播算法,反向逐层更新所述聚合层中的聚合参数,以及所述嵌入层中的嵌入参数。
根据又一方面的实施例,提供了一种用于多方联合训练图神经网络的装置,其中图神经网络包括图嵌入子网络和分类子网络,所述多方包括服务器和N个数据持有方,服务器维护所述分类子网络,所述N个数据持有方各自维护所述图嵌入子网络的一部分;所述N个数据持有方中的各个持有方存储有样本集中各个样本的部分特征,以及包含所述各个样本作为对应节点的图结构;所述装置部署在所述服务器中,该服务器可以实现为任何具有计算、处理能力的设备、平台或设备集群。
图5示出根据一个实施例的部署在服务器中的训练装置的示意性框图。如图5所示,该训练装置500包括:
向量接收单元51,配置为对于任意的目标样本,分别从所述N个数据持有方接收针对该目标样本的N个高阶嵌入向量,其中,第i个高阶嵌入向量是由所述N个数据持有方中的第i个持有方,通过将其中存储的图结构和目标样本的特征部分,输入其中维护的图嵌入子网络部分而得到;
分类预测单元52,配置为在所述分类子网络中,对所述N个高阶嵌入向量进行综合,得到所述目标样本的综合嵌入向量,并根据所述综合嵌入向量确定所述目标样本的分类预测结果;
损失确定单元53,配置为至少基于所述目标样本的分类预测结果与对应的样本标签,确定预测损失;
更新单元54,配置为根据所述预测损失更新所述分类子网络,并确定所述分类子网络输入层对应的损失梯度;
发送单元55,配置为将所述损失梯度发送给所述N个数据持有方,以使得各个持有方更新其中的图嵌入子网络部分。
在一个实施例中,分类预测单元52具体配置为:
对所述N个高阶嵌入向量进行拼接,得到所述综合嵌入向量;或者,
对所述N个高阶嵌入向量求平均,得到所述综合嵌入向量。
在另一实施例中,分类预测单元52具体配置为:
利用N个权重向量,分别与所述N个高阶嵌入向量进行按位相乘,得到N个加权处理向量;
对所述N个加权处理向量求和,得到所述综合嵌入向量;
相应地,所述更新单元54配置为,更新所述N个权重向量。
根据一种实施方式,装置500还包括(未示出)标签接收单元,配置为从所述N个数据持有方中的第二持有方,接收所述样本标签。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (26)

1.一种多方联合训练图神经网络的方法,所述图神经网络包括图嵌入子网络和分类子网络,所述多方包括服务器和N个数据持有方,所述服务器维护所述分类子网络,所述N个数据持有方各自维护所述图嵌入子网络的一部分;所述N个数据持有方中任意的第一持有方存储有样本集中各个样本的第一特征部分,以及包含所述各个样本作为对应节点的第一图结构;所述第一持有方维护所述图嵌入子网络的第一网络部分,所述第一网络部分包括嵌入层和聚合层;所述方法通过该第一持有方执行,包括:
在所述嵌入层,至少基于所述各个样本的第一特征部分,利用多方安全计算MPC方案,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量;
在所述聚合层,基于所述第一图结构,以及所述各个样本的初级嵌入向量,对所述各个样本执行多级聚合,以确定各个样本的高阶嵌入向量;其中每级聚合包括,对于各个样本在所述第一图结构中对应的节点,至少基于该节点的邻居节点的上一级嵌入向量,确定该节点的本级嵌入向量;
将所述各个样本的高阶嵌入向量发送至所述服务器,以使得所述服务器利用所述分类子网络,基于所述N个数据持有方发送的高阶嵌入向量对各个样本进行分类预测,得到分类预测结果;
从所述服务器接收损失梯度,所述损失梯度至少基于所述各个样本的分类预测结果与样本标签而确定;
根据所述损失梯度,更新所述第一网络部分。
2.根据权利要求1所述的方法,其中,至少基于所述各个样本的第一特征部分,利用多方安全计算MPC方案,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量,包括:
基于所述各个样本的第一特征部分,以及所述嵌入层中的嵌入参数,利用多方安全计算MPC方案,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量;
所述更新所述第一网络部分包括,更新所述嵌入参数。
3.根据权利要求2所述的方法,其中,所述多方安全计算MPC方案包括秘密分享方案,所述与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量包括:
对所述各个样本的第一特征部分进行分享处理,得到第一分享特征部分;并对所述嵌入参数进行分享处理,得到第一分享参数部分;
将所述第一分享特征部分和第一分享参数部分发送给其他N-1个数据持有方,并从其他N-1个数据持有方分别接收N-1个分享特征部分以及N-1个分享参数部分;
利用所述嵌入参数和所述N-1个分享参数部分构成的第一综合参数,处理由所述第一特征部分和所述N-1个分享特征部分构成的第一综合特征,得到第一综合嵌入结果;
将所述第一综合嵌入结果发送给所述其他N-1个数据持有方,并从所述其他N-1个数据持有方接收对应的N-1个综合嵌入结果;
根据所述第一综合嵌入结果和所述N-1个综合嵌入结果,确定所述各个样本的初级嵌入向量。
4.根据权利要求1所述的方法,其中,所述每级聚合包括,对于各个样本中任意的第一样本在所述第一图结构中对应的第一节点:
至少根据该第一节点的邻居节点的上一级嵌入向量,确定邻居聚合向量;
根据所述邻居聚合向量,以及所述第一节点的上一级嵌入向量,确定该第一节点的本级嵌入向量。
5.根据权利要求4所述的方法,其中,所述确定邻居聚合向量包括:
对所述第一节点的邻居节点的上一级嵌入向量进行池化操作,得到所述邻居聚合向量。
6.根据权利要求4所述的方法,其中,所述确定邻居聚合向量包括:
对所述第一节点的邻居节点的上一级嵌入向量加权求和,得到所述邻居聚合向量,各邻居节点对应的权重根据该邻居节点与所述第一节点之间的连接边的特征而确定。
7.根据权利要求4所述的方法,其中,所述确定邻居聚合向量包括:
基于各个邻居节点的上一级嵌入向量,以及各个邻居节点与所述第一节点之间的各个连接边的边嵌入向量,确定所述邻居聚合向量。
8.根据权利要求1所述的方法,其中,根据所述损失梯度,更新所述第一网络部分包括:
根据所述损失梯度,采用反向传播算法,反向逐层更新所述聚合层中的聚合参数,以及所述嵌入层中的嵌入参数。
9.一种多方联合训练图神经网络的方法,所述图神经网络包括图嵌入子网络和分类子网络,所述多方包括服务器和N个数据持有方,所述服务器维护所述分类子网络,所述N个数据持有方各自维护所述图嵌入子网络的一部分;所述N个数据持有方中的各个持有方存储有样本集中各个样本的部分特征,以及包含所述各个样本作为对应节点的图结构;所述方法通过所述服务器执行,所述方法包括:
对于所述样本集中任意的目标样本,分别从所述N个数据持有方接收针对该目标样本的N个高阶嵌入向量,其中,第i个高阶嵌入向量是由所述N个数据持有方中的第i个持有方,通过将其中存储的图结构和目标样本的特征部分,输入其中维护的图嵌入子网络部分而得到;
在所述分类子网络中,对所述N个高阶嵌入向量进行综合,得到所述目标样本的综合嵌入向量,并根据所述综合嵌入向量确定所述目标样本的分类预测结果;
至少基于所述目标样本的分类预测结果与对应的样本标签,确定预测损失;
根据所述预测损失更新所述分类子网络,并确定所述分类子网络输入层对应的损失梯度;
将所述损失梯度发送给所述N个数据持有方,以使得各个持有方更新其中的图嵌入子网络部分。
10.根据权利要求9所述的方法,其中,对所述N个高阶嵌入向量进行综合,得到所述目标样本的综合嵌入向量,包括:
对所述N个高阶嵌入向量进行拼接,得到所述综合嵌入向量;或者,
对所述N个高阶嵌入向量求平均,得到所述综合嵌入向量。
11.根据权利要求9所述的方法,其中,对所述N个高阶嵌入向量进行综合,得到所述目标样本的综合嵌入向量,包括:
利用N个权重向量,分别与所述N个高阶嵌入向量进行按位相乘,得到N个加权处理向量;
对所述N个加权处理向量求和,得到所述综合嵌入向量;
其中,更新所述分类子网络包括,更新所述N个权重向量。
12.根据权利要求9所述的方法,其中,在确定预测损失之前,还包括:
从所述N个数据持有方中的第二持有方,接收所述样本标签。
13.一种用于多方联合训练图神经网络的装置,所述图神经网络包括图嵌入子网络和分类子网络,所述多方包括服务器和N个数据持有方,所述服务器维护所述分类子网络,所述N个数据持有方各自维护所述图嵌入子网络的一部分;所述N个数据持有方中任意的第一持有方存储有样本集中各个样本的第一特征部分,以及包含所述各个样本作为对应节点的第一图结构;所述第一持有方维护所述图嵌入子网络的第一网络部分,所述第一网络部分包括嵌入层和聚合层;所述装置部署在第一持有方中,包括:
初级嵌入单元,配置为在所述嵌入层,至少基于所述各个样本的第一特征部分,利用多方安全计算MPC方案,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量;
聚合单元,配置为在所述聚合层,基于所述第一图结构,以及所述各个样本的初级嵌入向量,对所述各个样本执行多级聚合,以确定各个样本的高阶嵌入向量;其中每级聚合包括,对于各个样本在所述第一图结构中对应的节点,至少基于该节点的邻居节点的上一级嵌入向量,确定该节点的本级嵌入向量;
发送单元,配置为将所述各个样本的高阶嵌入向量发送至所述服务器,以使得所述服务器利用所述分类子网络,基于所述N个数据持有方发送的高阶嵌入向量对各个样本进行分类预测,得到分类预测结果;
接收单元,配置为从所述服务器接收损失梯度,所述损失梯度至少基于所述各个样本的分类预测结果与样本标签而确定;
更新单元,配置为根据所述损失梯度,更新所述第一网络部分。
14.根据权利要求13所述的装置,其中,所述初级嵌入单元配置为:
基于所述各个样本的第一特征部分,以及所述嵌入层中的嵌入参数,利用多方安全计算MPC方案,与其他N-1个数据持有方联合计算得到各个样本的初级嵌入向量;
所述更新单元配置为,更新所述嵌入参数。
15.根据权利要求14所述的装置,其中,所述多方安全计算方案包括秘密分享方案,所述初级嵌入单元配置为:
对所述各个样本的第一特征部分进行分享处理,得到第一分享特征部分;并对所述嵌入参数进行分享处理,得到第一分享参数部分;
将所述第一分享特征部分和第一分享参数部分发送给其他N-1个数据持有方,并从其他N-1个数据持有方分别接收N-1个分享特征部分以及N-1个分享参数部分;
利用所述嵌入参数和所述N-1个分享参数部分构成的第一综合参数,处理由所述第一特征部分和所述N-1个分享特征部分构成的第一综合特征,得到第一综合嵌入结果;
将所述第一综合嵌入结果发送给所述其他N-1个数据持有方,并从所述其他N-1个数据持有方接收对应的N-1个综合嵌入结果;
根据所述第一综合嵌入结果和所述N-1个综合嵌入结果,确定所述各个样本的初级嵌入向量。
16.根据权利要求13所述的装置,其中,所述聚合单元配置为,对于各个样本中任意的第一样本在所述第一图结构中对应的第一节点:
至少根据该第一节点的邻居节点的上一级嵌入向量,确定邻居聚合向量;
根据所述邻居聚合向量,以及所述第一节点的上一级嵌入向量,确定该第一节点的本级嵌入向量。
17.根据权利要求16所述的装置,其中,所述确定邻居聚合向量包括:
对所述第一节点的邻居节点的上一级嵌入向量进行池化操作,得到所述邻居聚合向量。
18.根据权利要求16所述的装置,其中,所述确定邻居聚合向量包括:
对所述第一节点的邻居节点的上一级嵌入向量加权求和,得到所述邻居聚合向量,各邻居节点对应的权重根据该邻居节点与所述第一节点之间的连接边的特征而确定。
19.根据权利要求16所述的装置,其中,所述确定邻居聚合向量包括:
基于各个邻居节点的上一级嵌入向量,以及各个邻居节点与所述第一节点之间的各个连接边的边嵌入向量,确定所述邻居聚合向量。
20.根据权利要求13所述的装置,其中,所述更新单元配置为:
根据所述损失梯度,采用反向传播算法,反向逐层更新所述聚合层中的聚合参数,以及所述嵌入层中的嵌入参数。
21.一种用于多方联合训练图神经网络的装置,所述图神经网络包括图嵌入子网络和分类子网络,所述多方包括服务器和N个数据持有方,所述服务器维护所述分类子网络,所述N个数据持有方各自维护所述图嵌入子网络的一部分;所述N个数据持有方中的各个持有方存储有样本集中各个样本的部分特征,以及包含所述各个样本作为对应节点的图结构;所述装置部署在所述服务器中,包括:
向量接收单元,配置为对于所述样本集中任意的目标样本,分别从所述N个数据持有方接收针对该目标样本的N个高阶嵌入向量,其中,第i个高阶嵌入向量是由所述N个数据持有方中的第i个持有方,通过将其中存储的图结构和目标样本的特征部分,输入其中维护的图嵌入子网络部分而得到;
分类预测单元,配置为在所述分类子网络中,对所述N个高阶嵌入向量进行综合,得到所述目标样本的综合嵌入向量,并根据所述综合嵌入向量确定所述目标样本的分类预测结果;
损失确定单元,配置为至少基于所述目标样本的分类预测结果与对应的样本标签,确定预测损失;
更新单元,配置为根据所述预测损失更新所述分类子网络,并确定所述分类子网络输入层对应的损失梯度;
发送单元,配置为将所述损失梯度发送给所述N个数据持有方,以使得各个持有方更新其中的图嵌入子网络部分。
22.根据权利要求21所述的装置,其中,所述分类预测单元配置为:
对所述N个高阶嵌入向量进行拼接,得到所述综合嵌入向量;或者,
对所述N个高阶嵌入向量求平均,得到所述综合嵌入向量。
23.根据权利要求21所述的装置,其中,所述分类预测单元配置为:
利用N个权重向量,分别与所述N个高阶嵌入向量进行按位相乘,得到N个加权处理向量;
对所述N个加权处理向量求和,得到所述综合嵌入向量;
其中,所述更新单元配置为,更新所述N个权重向量。
24.根据权利要求21所述的装置,还包括:
标签接收单元,配置为从所述N个数据持有方中的第二持有方,接收所述样本标签。
25.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-13中任一项的所述的方法。
26.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-13中任一项所述的方法。
CN201911040222.5A 2019-10-29 2019-10-29 多方联合训练图神经网络的方法及装置 Pending CN110782044A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911040222.5A CN110782044A (zh) 2019-10-29 2019-10-29 多方联合训练图神经网络的方法及装置
PCT/CN2020/111501 WO2021082681A1 (zh) 2019-10-29 2020-08-26 多方联合训练图神经网络的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911040222.5A CN110782044A (zh) 2019-10-29 2019-10-29 多方联合训练图神经网络的方法及装置

Publications (1)

Publication Number Publication Date
CN110782044A true CN110782044A (zh) 2020-02-11

Family

ID=69387467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911040222.5A Pending CN110782044A (zh) 2019-10-29 2019-10-29 多方联合训练图神经网络的方法及装置

Country Status (2)

Country Link
CN (1) CN110782044A (zh)
WO (1) WO2021082681A1 (zh)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929870A (zh) * 2020-02-17 2020-03-27 支付宝(杭州)信息技术有限公司 图神经网络模型训练方法、装置及系统
CN110929887A (zh) * 2020-02-17 2020-03-27 支付宝(杭州)信息技术有限公司 逻辑回归模型训练方法、装置及系统
CN111275176A (zh) * 2020-02-27 2020-06-12 支付宝(杭州)信息技术有限公司 分布式计算方法及分布式计算系统
CN111461215A (zh) * 2020-03-31 2020-07-28 支付宝(杭州)信息技术有限公司 业务模型的多方联合训练方法、装置、系统及设备
CN111523686A (zh) * 2020-04-23 2020-08-11 支付宝(杭州)信息技术有限公司 一种模型联合训练的方法和系统
CN111538827A (zh) * 2020-04-28 2020-08-14 清华大学 基于内容和图神经网络的判例推荐方法、装置及存储介质
CN111553470A (zh) * 2020-07-10 2020-08-18 成都数联铭品科技有限公司 适用于联邦学习的信息交互系统及方法
CN111737755A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 业务模型的联合训练方法及装置
CN112085172A (zh) * 2020-09-16 2020-12-15 支付宝(杭州)信息技术有限公司 图神经网络的训练方法及装置
CN112104446A (zh) * 2020-09-03 2020-12-18 哈尔滨工业大学 一种基于同态加密的多方联合机器学习方法和系统
CN112101531A (zh) * 2020-11-16 2020-12-18 支付宝(杭州)信息技术有限公司 基于隐私保护的神经网络模型训练方法、装置及系统
CN112200321A (zh) * 2020-12-04 2021-01-08 同盾控股有限公司 基于知识联邦和图网络的推理方法、系统、设备及介质
WO2021082681A1 (zh) * 2019-10-29 2021-05-06 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法及装置
CN113221153A (zh) * 2021-05-31 2021-08-06 平安科技(深圳)有限公司 图神经网络训练方法、装置、计算设备及存储介质
CN113254996A (zh) * 2021-05-31 2021-08-13 平安科技(深圳)有限公司 图神经网络训练方法、装置、计算设备及存储介质
WO2021164625A1 (en) * 2020-02-17 2021-08-26 Huawei Technologies Co., Ltd. Method of training an image classification model
WO2021196800A1 (zh) * 2020-03-31 2021-10-07 华为技术有限公司 获取人工智能模型的方法、装置、设备及存储介质
CN114121206A (zh) * 2022-01-26 2022-03-01 中电云数智科技有限公司 一种基于多方联合k均值建模的病例画像方法及装置
CN114462600A (zh) * 2022-04-11 2022-05-10 支付宝(杭州)信息技术有限公司 一种有向图对应的图神经网络的训练方法及装置
CN114491629A (zh) * 2022-01-25 2022-05-13 哈尔滨工业大学(深圳) 一种隐私保护的图神经网络训练方法及系统
WO2022133725A1 (en) * 2020-12-22 2022-06-30 Orange Improved distributed training of graph-embedding neural networks
CN114971742A (zh) * 2022-06-29 2022-08-30 支付宝(杭州)信息技术有限公司 一种用户分类模型的训练、用户分类处理的方法及装置
CN115114980A (zh) * 2022-06-28 2022-09-27 支付宝(杭州)信息技术有限公司 联合训练用户聚类模型的、用户聚类方法及装置
WO2022237175A1 (zh) * 2021-05-10 2022-11-17 深圳前海微众银行股份有限公司 图数据的处理方法、装置、设备、存储介质及程序产品
WO2023011237A1 (zh) * 2021-08-04 2023-02-09 支付宝(杭州)信息技术有限公司 业务处理
CN117273086A (zh) * 2023-11-17 2023-12-22 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法及装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210080919A (ko) * 2019-12-23 2021-07-01 한국전자통신연구원 데이터의 비식별화 방법 및 데이터의 비식별화 방법을 수행하는 장치
CN113254580B (zh) * 2021-05-24 2023-10-03 厦门大学 一种特殊群体搜索方法及系统
CN113222143B (zh) * 2021-05-31 2023-08-01 平安科技(深圳)有限公司 图神经网络训练方法、系统、计算机设备及存储介质
CN113657577B (zh) * 2021-07-21 2023-08-18 阿里巴巴达摩院(杭州)科技有限公司 模型训练方法及计算系统
CN115056829A (zh) * 2022-05-16 2022-09-16 北京理工大学 多车型连续学习的列车运动状态估计方法
CN116527824B (zh) * 2023-07-03 2023-08-25 北京数牍科技有限公司 图卷积神经网络训练方法、装置及设备
CN117218459B (zh) * 2023-11-08 2024-01-26 支付宝(杭州)信息技术有限公司 一种分布式节点分类方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796475A (zh) * 2015-04-24 2015-07-22 苏州大学 一种基于同态加密的社会化推荐方法
CN109102393A (zh) * 2018-08-15 2018-12-28 阿里巴巴集团控股有限公司 训练和使用关系网络嵌入模型的方法及装置
WO2019114434A1 (zh) * 2017-12-15 2019-06-20 阿里巴巴集团控股有限公司 一种基于图结构模型的交易风险控制方法、装置以及设备
CN109918454A (zh) * 2019-02-22 2019-06-21 阿里巴巴集团控股有限公司 对关系网络图进行节点嵌入的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190156214A1 (en) * 2017-11-18 2019-05-23 Neuralmagic Inc. Systems and methods for exchange of data in distributed training of machine learning algorithms
CN110245787B (zh) * 2019-05-24 2023-11-17 创新先进技术有限公司 一种目标群体预测方法、装置及设备
CN110348573A (zh) * 2019-07-16 2019-10-18 腾讯科技(深圳)有限公司 训练图神经网络的方法、图神经网络设备、装置、介质
CN110782044A (zh) * 2019-10-29 2020-02-11 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796475A (zh) * 2015-04-24 2015-07-22 苏州大学 一种基于同态加密的社会化推荐方法
WO2019114434A1 (zh) * 2017-12-15 2019-06-20 阿里巴巴集团控股有限公司 一种基于图结构模型的交易风险控制方法、装置以及设备
CN109102393A (zh) * 2018-08-15 2018-12-28 阿里巴巴集团控股有限公司 训练和使用关系网络嵌入模型的方法及装置
CN109918454A (zh) * 2019-02-22 2019-06-21 阿里巴巴集团控股有限公司 对关系网络图进行节点嵌入的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
喻麒睿: "高铁共享汽车数据流通机制及关键技术研究", 《中国博士学位论文全文数据库 工程科技Ⅱ辑》 *

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021082681A1 (zh) * 2019-10-29 2021-05-06 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法及装置
WO2021164365A1 (zh) * 2020-02-17 2021-08-26 支付宝(杭州)信息技术有限公司 图神经网络模型训练方法、装置及系统
CN110929887A (zh) * 2020-02-17 2020-03-27 支付宝(杭州)信息技术有限公司 逻辑回归模型训练方法、装置及系统
CN110929870B (zh) * 2020-02-17 2020-06-12 支付宝(杭州)信息技术有限公司 图神经网络模型训练方法、装置及系统
WO2021164625A1 (en) * 2020-02-17 2021-08-26 Huawei Technologies Co., Ltd. Method of training an image classification model
CN110929870A (zh) * 2020-02-17 2020-03-27 支付宝(杭州)信息技术有限公司 图神经网络模型训练方法、装置及系统
CN111275176A (zh) * 2020-02-27 2020-06-12 支付宝(杭州)信息技术有限公司 分布式计算方法及分布式计算系统
CN111275176B (zh) * 2020-02-27 2023-09-26 支付宝(杭州)信息技术有限公司 分布式计算方法及分布式计算系统
CN111461215A (zh) * 2020-03-31 2020-07-28 支付宝(杭州)信息技术有限公司 业务模型的多方联合训练方法、装置、系统及设备
WO2021196800A1 (zh) * 2020-03-31 2021-10-07 华为技术有限公司 获取人工智能模型的方法、装置、设备及存储介质
CN111523686A (zh) * 2020-04-23 2020-08-11 支付宝(杭州)信息技术有限公司 一种模型联合训练的方法和系统
CN111523686B (zh) * 2020-04-23 2021-08-03 支付宝(杭州)信息技术有限公司 一种模型联合训练的方法和系统
CN111538827B (zh) * 2020-04-28 2023-09-05 清华大学 基于内容和图神经网络的判例推荐方法、装置及存储介质
CN111538827A (zh) * 2020-04-28 2020-08-14 清华大学 基于内容和图神经网络的判例推荐方法、装置及存储介质
CN111553470A (zh) * 2020-07-10 2020-08-18 成都数联铭品科技有限公司 适用于联邦学习的信息交互系统及方法
CN111737755A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 业务模型的联合训练方法及装置
CN112104446A (zh) * 2020-09-03 2020-12-18 哈尔滨工业大学 一种基于同态加密的多方联合机器学习方法和系统
CN112085172A (zh) * 2020-09-16 2020-12-15 支付宝(杭州)信息技术有限公司 图神经网络的训练方法及装置
CN112085172B (zh) * 2020-09-16 2022-09-16 支付宝(杭州)信息技术有限公司 图神经网络的训练方法及装置
CN112101531A (zh) * 2020-11-16 2020-12-18 支付宝(杭州)信息技术有限公司 基于隐私保护的神经网络模型训练方法、装置及系统
CN112200321A (zh) * 2020-12-04 2021-01-08 同盾控股有限公司 基于知识联邦和图网络的推理方法、系统、设备及介质
CN112200321B (zh) * 2020-12-04 2021-04-06 同盾控股有限公司 基于知识联邦和图网络的推理方法、系统、设备及介质
WO2022133725A1 (en) * 2020-12-22 2022-06-30 Orange Improved distributed training of graph-embedding neural networks
WO2022237175A1 (zh) * 2021-05-10 2022-11-17 深圳前海微众银行股份有限公司 图数据的处理方法、装置、设备、存储介质及程序产品
CN113254996A (zh) * 2021-05-31 2021-08-13 平安科技(深圳)有限公司 图神经网络训练方法、装置、计算设备及存储介质
CN113221153A (zh) * 2021-05-31 2021-08-06 平安科技(深圳)有限公司 图神经网络训练方法、装置、计算设备及存储介质
CN113254996B (zh) * 2021-05-31 2022-12-27 平安科技(深圳)有限公司 图神经网络训练方法、装置、计算设备及存储介质
WO2023011237A1 (zh) * 2021-08-04 2023-02-09 支付宝(杭州)信息技术有限公司 业务处理
CN114491629A (zh) * 2022-01-25 2022-05-13 哈尔滨工业大学(深圳) 一种隐私保护的图神经网络训练方法及系统
CN114491629B (zh) * 2022-01-25 2024-06-18 哈尔滨工业大学(深圳) 一种隐私保护的图神经网络训练方法及系统
CN114121206A (zh) * 2022-01-26 2022-03-01 中电云数智科技有限公司 一种基于多方联合k均值建模的病例画像方法及装置
CN114462600A (zh) * 2022-04-11 2022-05-10 支付宝(杭州)信息技术有限公司 一种有向图对应的图神经网络的训练方法及装置
CN114462600B (zh) * 2022-04-11 2022-07-05 支付宝(杭州)信息技术有限公司 一种有向图对应的图神经网络的训练方法及装置
CN115114980A (zh) * 2022-06-28 2022-09-27 支付宝(杭州)信息技术有限公司 联合训练用户聚类模型的、用户聚类方法及装置
CN114971742A (zh) * 2022-06-29 2022-08-30 支付宝(杭州)信息技术有限公司 一种用户分类模型的训练、用户分类处理的方法及装置
CN117273086A (zh) * 2023-11-17 2023-12-22 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法及装置
CN117273086B (zh) * 2023-11-17 2024-03-08 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法及装置

Also Published As

Publication number Publication date
WO2021082681A1 (zh) 2021-05-06

Similar Documents

Publication Publication Date Title
CN110782044A (zh) 多方联合训练图神经网络的方法及装置
US11301571B2 (en) Neural-network training using secure data processing
Zhu et al. From federated learning to federated neural architecture search: a survey
WO2021164365A1 (zh) 图神经网络模型训练方法、装置及系统
CN110751291B (zh) 实现安全防御的多方联合训练神经网络的方法及装置
US11843586B2 (en) Systems and methods for providing a modified loss function in federated-split learning
CN113221183B (zh) 实现隐私保护的多方协同更新模型的方法、装置及系统
CN112132270B (zh) 基于隐私保护的神经网络模型训练方法、装置及系统
CN111428887A (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
US11843587B2 (en) Systems and methods for tree-based model inference using multi-party computation
Baryalai et al. Towards privacy-preserving classification in neural networks
CN113033823A (zh) 一种模型训练方法、系统及装置
CN111368983A (zh) 业务模型训练方法、装置及业务模型训练系统
CN112948885A (zh) 实现隐私保护的多方协同更新模型的方法、装置及系统
CN111523556A (zh) 模型训练方法、装置及系统
CN114330673A (zh) 一种对业务预测模型进行多方联合训练的方法及装置
CN112183759A (zh) 模型训练方法、装置及系统
CN112183757A (zh) 模型训练方法、装置及系统
CN115130568A (zh) 支持多参与方的纵向联邦Softmax回归方法及系统
CN114492828A (zh) 基于区块链技术的垂直联邦学习恶意节点检测与加固方法和应用
WO2022081539A1 (en) Systems and methods for providing a modified loss function in federated-split learning
US20230084507A1 (en) Servers, methods and systems for fair and secure vertical federated learning
CN114912146B (zh) 一种垂直联邦架构下的数据信息防御方法、系统、电子设备及存储介质
US20240144029A1 (en) System for secure and efficient federated learning
CN116595589B (zh) 基于秘密共享机制的分布式支持向量机训练方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination