CN111738438B - 图神经网络模型训练方法、装置及系统 - Google Patents
图神经网络模型训练方法、装置及系统 Download PDFInfo
- Publication number
- CN111738438B CN111738438B CN202010691847.4A CN202010691847A CN111738438B CN 111738438 B CN111738438 B CN 111738438B CN 202010691847 A CN202010691847 A CN 202010691847A CN 111738438 B CN111738438 B CN 111738438B
- Authority
- CN
- China
- Prior art keywords
- model
- member device
- feature vector
- vector representation
- submodel
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本说明书实施例提供图神经网络模型训练方法及装置。图神经网络模型包括位于各个第一成员设备的节点特征向量表示子模型和归一化子模型以及位于第二成员设备的判别模型,各个第一成员设备的私有数据是非独立同分布数据。各个第一成员设备的节点特征向量表示子模型的模型结构根据各自数据的数据分布特征确定。各个第一成员设备使用节点特征向量表示子模型和归一化子模型得到归一化特征向量表示,利用从第二成员设备获取的判别模型得到预测标签值并确定出损失函数。各个第一成员设备基于损失函数,确定判别模型的模型更新量并更新节点特征向量表示子模型和归一化子模型。第二成员设备使用源于各个第一成员设备的判别模型的模型更新量更新判别模型。
Description
技术领域
本说明书实施例通常涉及机器学习领域,尤其涉及用于训练图神经网络模型的方法、装置及系统。
背景技术
图神经网络模型是机器学习领域广泛使用的机器学习模型。在很多情况下,多个数据拥有方(例如,电子商务公司、快递公司和银行)各自拥有训练图神经网络模型所使用的特征数据的不同部分数据。该多个数据拥有方希望共同使用彼此的数据来统一训练图神经网络模型,但又不想将各自的私有数据提供给其它数据拥有方以防止隐私数据泄露。
面对这种情况,提出了能够保护隐私数据安全的图神经网络模型训练方法,其能够在保证多个数据拥有方的各自隐私数据安全的情况下,协同该多个数据拥有方来训练图神经网络模型,以供该多个数据拥有方使用。
发明内容
鉴于上述问题,本说明书实施例提供一种用于训练图神经网络模型的方法、装置及系统,其能够在保证多个数据拥有方的各自隐私数据安全的情况下实现图神经网络模型训练。
根据本说明书实施例的一个方面,提供一种用于训练图神经网络模型的方法,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成所述图神经网络模型的训练样本,所述方法包括:在各个第一成员设备处,将用于模型训练的私有数据提供给节点特征向量表示子模型得到节点特征向量表示,以及将所述节点特征向量表示提供给归一化子模型得到归一化特征向量表示,所述归一化特征向量表示的维度与所述判别模型的输入维度相同,各个第一成员设备的节点特征向量表示子模型的模型结构根据各自私有数据的数据分布特征确定;各个第一成员设备从所述第二成员设备获取当前判别模型;在各个第一成员设备处,将所述归一化特征向量表示提供给所述判别模型得到预测标签值,根据所述预测标签值以及所述第一成员设备具有的标签值确定损失函数,并且基于所述损失函数,确定所述判别模型的模型更新量并更新所述节点特征向量表示子模型和所述归一化子模型;各个第一成员设备将所述判别模型的模型更新量提供给所述第二成员设备;以及在所述第二成员设备处,使用源于各个第一成员设备的判别模型的模型更新量来更新所述判别模型。
可选地,在上述方面的一个示例中,各个第一成员设备处得到的模型更新量通过安全聚合的方式提供给所述第二成员设备。
可选地,在上述方面的一个示例中,所述安全聚合包括:基于秘密共享的安全聚合;基于同态加密的安全聚合;基于不经意传输的安全聚合;基于混淆电路的安全聚合;或者基于可信执行环境的安全聚合。
可选地,在上述方面的一个示例中,各个第一成员设备具有模型更新权重,以及所述第二成员设备使用源于各个第一成员设备的判别模型的模型更新量以及各自的模型更新权重来更新所述判别模型。
可选地,在上述方面的一个示例中,各个第一成员设备的模型更新权重根据各个第一成员设备的私有数据的数据质量和/或批样本数据数量确定。
可选地,在上述方面的一个示例中,针对所述图神经网络模型的训练循环执行,直到满足循环结束条件,其中,在未满足所述循环结束条件时,所述更新后的各个第一成员设备的节点特征向量表示子模型和归一化子模型以及所述第二成员设备的判别模型用作下一循环过程的当前模型。
可选地,在上述方面的一个示例中,所述循环结束条件包括:预定循环次数;所述判别模型的各个模型参数的变化量不大于预定阈值;或者当前总损失函数位于预定范围内。
根据本说明书的实施例的另一方面,提供一种用于训练图神经网络模型的方法,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成所述图神经网络模型的训练样本,各个第一成员设备的节点特征向量表示子模型的模型结构根据各自私有数据的数据分布特征确定,所述方法由第一成员设备执行,所述方法包括:将用于模型训练的私有数据提供给节点特征向量表示子模型得到节点特征向量表示;将所述节点特征向量表示提供给归一化子模型得到归一化特征向量表示,所述归一化特征向量表示的维度与所述判别模型的输入维度相同;从所述第二成员设备获取判别模型;将所述归一化特征向量表示提供给所述判别模型得到预测标签值;根据所述预测标签值以及所述第一成员设备的标签值确定损失函数;基于所述损失函数,确定所述判别模型的模型更新量并更新所述节点特征向量表示子模型和所述归一化子模型;以及将所述判别模型的模型更新量提供给所述第二成员设备,所述第二成员设备使用源于各个第一成员设备的判别模型的模型更新量来更新所述判别模型。
根据本说明书的实施例的另一方面,提供一种用于训练图神经网络模型的方法,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成所述图神经网络模型的训练样本,各个第一成员设备的节点特征向量表示子模型的模型结构根据各自私有数据的数据分布特征确定,所述方法由第二成员设备执行,所述方法包括:将判别模型提供给各个第一成员设备,各个第一成员设备将归一化特征向量表示提供给所述判别模型得到预测标签值,并且基于所述预测标签值以及所具有的标签值确定各自的损失函数,各个第一成员设备基于各自的损失函数,确定所述判别模型的模型更新量并且更新各自的节点特征向量表示子模型和归一化子模型,其中,所述归一化特征向量表示经由各个第一成员设备将节点特征向量表示提供给各自的归一化子模型而得到,所述归一化特征向量表示的维度与所述判别模型的输入维度相同,所述节点特征向量表示经由各个第一成员设备将各自的用于模型训练的私有数据提供给各自的节点特征向量表示子模型而得到;从各个第一成员设备获取所述判别模型的模型更新量,并且使用源于各个第一成员设备的模型更新量更新所述判别模型。
根据本说明书的实施例的另一方面,提供一种用于训练图神经网络模型的装置,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成所述图神经网络模型的训练样本,各个第一成员设备的节点特征向量表示子模型的模型结构根据各自私有数据的数据分布特征确定,所述装置应用于第一成员设备,所述装置包括:节点特征向量表示单元,将用于模型训练的私有数据提供给节点特征向量表示子模型得到特征向量表示;归一化向量表示单元,将所述节点特征向量表示提供给归一化子模型得到归一化特征向量表示,所述归一化特征向量表示的维度与所述判别模型的输入维度相同;判别模型获取单元,从所述第二成员设备获取判别模型;模型预测单元,将所述归一化特征向量表示提供给所述判别模型,得到预测标签值;损失函数确定单元,根据所述预测标签值以及所述第一成员设备处的标签值确定损失函数;模型更新量确定单元,基于所述损失函数确定所述判别模型的模型更新量;模型更新单元,基于所述损失函数更新所述节点特征向量表示子模型和所述归一化子模型;以及模型更新量提供单元,将所述判别模型的模型更新量提供给所述第二成员设备,所述第二成员设备使用源于各个第一成员设备的所述判别模型的模型更新量来更新所述第二成员设备的判别模型。
可选地,在上述方面的一个示例中,所述模型更新量提供单元使用安全聚合的方式来将所述第一成员设备处得到的模型更新量提供给所述第二成员设备。
可选地,在上述方面的一个示例中,所述安全聚合包括:基于秘密共享的安全聚合;基于同态加密的安全聚合;基于不经意传输的安全聚合;基于混淆电路的安全聚合;或者基于可信执行环境的安全聚合。
根据本说明书的实施例的另一方面,提供一种用于训练图神经网络模型的装置,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成所述图神经网络模型的训练样本,各个第一成员设备的节点特征向量表示子模型的模型结构根据各自私有数据的数据分布特征确定,所述装置应用于第二成员设备,所述装置包括:判别模型提供单元,将判别模型提供给各个第一成员设备,各个第一成员设备将归一化特征向量表示提供给所述判别模型得到预测标签值,并且基于所述预测标签值以及所具有的标签值确定各自的损失函数,各个第一成员设备基于各自的损失函数,确定所述判别模型的模型更新量并且更新各自的节点特征向量表示子模型和归一化子模型,其中,所述归一化特征向量表示经由各个第一成员设备将节点特征向量表示提供给各自的归一化子模型而得到,所述归一化特征向量表示的维度与所述判别模型的输入维度相同,所述节点特征向量表示经由各个第一成员设备将各自的用于模型训练的私有数据提供给各自的节点特征向量表示子模型而得到;模型更新量获取单元,从各个第一成员设备获取所述判别模型的模型更新量;以及判别模型更新单元,使用源于各个第一成员设备的模型更新量来更新所述判别模型。
可选地,在上述方面的一个示例中,各个第一成员设备具有模型更新权重,以及所述判别模型更新单元使用源于各个第一成员设备的判别模型的模型更新量以及各自的模型更新权重来更新所述判别模型。
可选地,在上述方面的一个示例中,各个第一成员设备的模型更新权重根据各个第一成员设备的私有数据的数据质量和/或批样本数据数量确定。
根据本说明书的实施例的另一方面,提供一种用于训练图神经网络模型的系统,包括:至少两个第一成员设备,每个第一成员设备包括如上所述的装置;以及第二成员设备,包括如上所述的装置,其中,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据按照水平切分的方式共同组成所述图神经网络模型的训练样本,以及各个第一成员设备的节点特征向量表示子模型的模型结构根据各自私有数据的数据分布特征确定。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述在第一成员设备侧执行的方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述在第一成员设备侧执行的方法。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述在第二成员设备侧执行的方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述在第二成员设备侧执行的方法。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了图神经网络模型训练过程的示例示意图。
图2示出了根据本说明书的实施例的经过水平切分的训练样本集的示例的示意图。
图3示出了根据本说明书的实施例的多个具有水平切分的非独立同分布的私有数据集的数据拥有方执行图神经网络模型训练的示意图。
图4示出了根据本说明书的实施例的用于训练图神经网络模型的系统的架构示意图。
图5示出了根据本说明书的实施例的图神经网络模型的示例的示意图。
图6示出了根据本说明书的实施例的用于训练图神经网络模型的方法的流程图。
图7示出了根据本说明书的实施例的用于训练图神经网络模型的一个示例过程的示意图。
图8示出了根据本说明书的实施例的用于训练图神经网络模型的装置的方框图。
图9示出了根据本说明书的实施例的用于训练图神经网络模型的装置的方框图。
图10示出了根据本说明书的实施例的用于实现在第一成员设备侧执行的图神经网络模型过程的电子设备的示意图。
图11示出了根据本说明书的实施例的用于实现在第二成员设备侧执行的图神经网络模型过程的电子设备的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在本说明书中,图神经网络模型训练方案中所使用的训练样本集是经过水平切分的训练样本集。术语“对训练样本集进行水平切分”是指按照模块/功能(或者某种指定规则)来将该训练样本集切分为多个训练样本子集,各个训练样本子集包含一部分训练样本,并且每个训练样本子集中所包括的训练样本是完整的训练样本,即,包括该训练样本的所有字段数据和对应的标签值。在本说明书中,假设存在三个数据拥有方Alice、Bob和Charlie,则在各个数据拥有方处获取本地数据以形成本地样本集,该本地样本集中所包含的每条样本都是完整的样本,然后,三个数据拥有方Alice、Bob和Charlie所获取的本地样本集按照水平切分方式共同组成图神经网络模型的训练样本集,其中,每个本地样本集作为该训练样本集的训练样本子集,以用于训练图神经网络模型。
在本说明书中,各个数据拥有方各自拥有图神经网络模型训练所使用的训练样本的不同部分数据。例如,以两个数据拥有方为例,假设训练样本集包括100个训练样本,每一个训练样本包含多个特征值和标签值,那么,第一数据拥有方拥有的数据可以是训练样本集内的前30个训练样本,以及,第二数据拥有方拥有的数据可以是训练样本集内的后70个训练样本。
在本说明书中,术语“图神经网络模型”和“图神经网络”可以互换使用。术语“图神经网络子模型”和“图神经子网络”可以互换使用。图神经网络(Graph Neural Network,GNN)是一种针对图数据的人工神经网络,图数据包括样本节点(nodes)以及样本节点之间的连接关系(edges)。此外,术语“第一成员设备”和“数据拥有方”可以互换使用。
随着人工智能技术的发展,图神经网络逐渐成为工业界广为使用的机器学习模型。相对于传统神经网络,图神经网络不但能够捕捉到样本节点的特征,而且能够刻画样本节点之间的关联关系特征,在金融欺诈、推荐系统、图像识别等领域具有广泛的应用。为了实现更好的模型性能,需要使用更多的训练数据来训练图神经网络。在医疗、金融等领域,不同的企业或机构拥有不同的数据样本,一旦将这些数据进行联合训练,将极大提升图神经网络模型的模型精度,从而给企业带来巨大的经济效益。然而这些训练数据包含大量的用户隐私和商业机密,一旦信息泄露,将导致不可挽回的负面影响。
为了解决多个数据拥有方协同训练图神经网络模型时的隐私数据安全问题,提出了联邦学习方案。在该联邦学习方案中,多个数据拥有方在服务端的协助下共同训练图神经网络模型。
图1示出了图神经网络模型训练过程的示例示意图。
如图1所示,图神经网络(GNN,Graph Neural Network)模型由判别模型10和多个图神经网络子模型20共同组成,比如,图1中的图神经网络子模型GNNA、GNNB和GNNC。判别模型10部署在服务端110,以及各个图神经网络子模型分别部署在对应的数据拥有方处,例如,可以部署在对应的数据拥有方处的客户端上,每个数据拥有方具有一个图神经网络子模型。如图1中所示,GNNA部署在数据拥有方A 120-1处,GNNB部署在数据拥有方B 120-2处,以及GNNC部署在数据拥有方C 120-3处。
图神经网络子模型20被使用来对数据拥有方的数据进行GNN计算,以得到该图神经网络子模型的节点特征向量表示。具体地,在进行GNN计算时,将数据拥有方的私有数据提供给图神经网络子模型20,根据节点特征以及图神经子网络,经过K度邻居传播,得到与数据拥有方所具有的私有数据对应的节点特征向量表示。
判别模型10被下发给各个数据拥有方,并且被各个数据拥有方使用来基于数据拥有方处得到的节点特征向量表示进行模型计算,以得到该数据拥有方处的模型预测值。然后,各个数据拥有方基于所计算出的模型预测值和标签值确定出各自的判别模型的梯度信息,并将梯度信息提供给服务端100。服务端100使用所获取的各个梯度信息来更新判别模型。
在本说明书中,各个数据拥有方处所具有的数据是经过水平切分的数据。图2示出了根据本说明书的实施例的经过水平切分的训练样本数据的示例的示意图。在图2中,示出了2个数据拥有方Alice和Bob,多个数据拥有方也类似。每个数据拥有方Alice和Bob拥有的训练样本子集中的每条训练样本是完整的,即,每条训练样本包括完整的特征数据(x)和标签数据(y)。比如,Alice拥有完整的训练样本(x0,y0)。
在图1中示出的联邦学习方案中,各个数据拥有方具有的数据集是独立同分布,并且各个数据拥有方的数据集的数据特征之间相互独立,由此针对各个数据拥有方构建统一的图神经网络子模型,即,各个数据拥有方处具有的图神经网络子模型具有相同的模型结构。这里,相同的模型结构是指网络深度(网络层数)相同以及每层网络的节点数相同。
然而,在一些实例中,由于数据拥有方的样本所对应的用户不同,用户所处地域不同,数据采集的时间窗口不同,因此在进行联合训练时,各个数据拥有方的数据集往往具有不同的特征分布或标签分布,特征之间并非相互独立,这类数据集称为非独立同分布(identically and independently distributed,Non-IID)数据集。
图3示出了多个具有水平切分的非独立同分布的私有数据集的数据拥有方联合训练图神经网络模型的示意图。
如图3所示,多个数据拥有方所具有的私有数据集是水平切分的Non-IID图数据。各个数据拥有方具有相同的特征空间(f1,f2,f3),但是所具有的数据集具有不同的数据分布。各个数据拥有方的Non-IID图数据具有不同的样本节点,样本节点之间的连接关系也不同,并且样本节点标签的概率分布也不相同。
在各个数据拥有方所具有的私有数据是Non-IID数据集的情况下,如果各个数据拥有方使用统一的图神经网络子模型得出所具有的图数据的节点特征向量表示,则难以体现不同的数据拥有方所具有的图数据的个性化差异,由此导致所训练出的图神经网络模型总体性能较差。
鉴于上述,本说明书的实施例提出了一种图神经网络模型训练方法,在该图神经网络模型训练方法中,图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型。各个第一成员设备的节点特征向量表示子模型的模型结构根据该第一成员设备的私有数据的数据分布特征确定。在各个第一成员设备处,将用于模型训练的私有数据提供给各自的节点特征向量表示子模型得到节点特征向量表示,由此得到各自私有数据的个性化节点特征向量表示。随后,各个第一成员设备将节点特征向量表示提供给归一化子模型得到归一化特征向量表示,所述归一化特征向量表示的维度与判别模型的输入维度相同,由此得到具有统一维度的特征向量表示。然后,各个第一成员设备将归一化特征向量表示提供给从第二成员设备接收的判别模型得到预测标签值,根据预测标签值以及该第一成员设备具有的标签值,确定损失函数,并且基于损失函数,确定判别模型的模型更新量并更新节点特征向量表示子模型和归一化子模型。各个第一成员设备将各自得到的判别模型的模型更新量提供给第二成员设备,由第二成员设备使用来更新判别模型。利用该图神经网络模型训练方法,由于各个第一成员设备处的节点特征向量表示子模型具有差异性模型结构,从而使得利用该节点特征向量表示子模型所得到的节点特征向量表示可以反映出该第一成员设备处具有的图数据的个性化特征,由此提升所训练出的图神经网络模型的模型性能。
下面将结合附图来详细描述根据本说明书实施例的用于训练图神经网络模型的方法、装置以及系统。
图4示出了示出了根据本说明书的实施例的用于训练图神经网络模型的系统(在下文中称为“模型训练系统400”)的架构示意图。
如图4所示,模型训练系统400包括至少两个第一成员设备410以及第二成员设备420。在图4中示出了3个第一成员设备410。在本说明书的其它实施例中,可以包括更多或者更少的第一成员设备410。至少一个第一成员设备410以及第二成员设备420可以通过例如但不局限于互联网或局域网等的网络430相互通信。
在本说明书的实施例中,第一成员设备可以是用于本地收集数据样本的设备或设备方,比如,智能终端设备、服务器设备等。第一成员设备也可以称为“数据拥有方”或者“数据持有方”。第一成员设备的本地数据可以包括本地私有数据和本地非私有数据。在本说明书中,本地私有数据是隐私数据,不能泄露给其它成员设备,从而在进行模型训练时不能以明文或将该数据全部共享给其它成员设备。本地非私有数据是指可以分享给其它成员设备的本地数据。本地非私有数据可以被其它成员设备使用来形成公域数据。
此外,第一成员设备上还部署有节点特征向量表示子模型和归一化子模型。各个第一成员设备处的节点特征向量表示子模型的模型结构根据该第一成员设备处具有的私有数据的数据分布特征确定,即,第一成员设备具有的私有数据的数据分布特征不同,则所具有的节点特征向量表示子模型的模型结构也不同。在各个第一成员设备处,经由节点特征向量表示子模型对私有数据进行处理后,可以得到该私有数据的个性化节点特征向量表示。然后,经由归一化子模型来进行归一化处理,从而使得提供给判别模型的特征向量表示具有统一的特征维度。
在本说明书中,各个第一成员设备所具有的私有数据按照水平切分的方式共同组成图神经网络模型的训练数据,并且各个第一成员设备所拥有的子模型以及私有数据是该第一成员设备的秘密,不能被其他第一成员设备获悉或者完整地获悉。
第二成员设备可以是部署或维护判别模型的设备或设备方,比如,终端设备、服务器设备等。所述判别模型被使用来对第一成员设备所得到的归一化节点特征向量表示进行模型计算,从而得到该数据拥有方处的模型预测值。
在一个实际应用示例中,各个第一成员设备例如可以是不同金融机构或医疗机构的私有数据存储服务器或智能终端设备,以及第二成员设备例如可以是第三方支付平台的服务器。
在本说明书中,多个第一成员设备410和第二成员设备420一起使用各个第一成员设备410的私有数据来协同训练图神经网络模型。关于模型的具体训练过程将在下面参照图5到图9进行详细描述。
在本说明书中,第一成员设备410以及第二成员设备420可以是任何合适的具有计算能力的电子设备。所述电子设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动电子设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴电子设备、消费电子设备等等。
图5示出了根据本说明书的实施例的图神经网络模型的示例的示意图。
如图5所示,图神经网络模型由位于各个第一成员设备510处的节点特征向量子模型10-1到10-3和归一化子模型20-1到20-3以及位于第二成员设备520处的判别模型30组成。如图5中所示,第一成员设备510-1处部署有节点特征向量表示子模型10-1和归一化子模型20-1,第一成员设备510-2处部署有节点特征向量表示子模型10-2和归一化子模型20-2,以及第一成员设备510-3处部署有节点特征向量表示子模型10-3和归一化子模型20-3。在本说明书中,节点特征向量表示子模型也可以称为node embedding生成模型。各个节点特征向量表示子模型10-1到10-3的模型结构由各个第一成员设备处具有的私有数据的数据分布特征确定。例如,各个第一成员设备可以根据自身数据分布特征,选择不同的节点特征向量表示子模型和超参数。所述节点特征向量表示子模型的示例例如可以包括但不限于GraphSAGE、GCN等。
节点特征向量表示子模型被各个第一成员设备使用来对所具有的私有数据进行GNN计算,以得到对应的节点特征向量表示。具体地,在进行GNN计算时,将第一成员设备的数据提供给节点特征向量表示子模型,经过K度邻居传播,不同的传播次数采用不同的权重矩阵,由此得到与当前数据对应的节点特征向量表示。
归一化子模型被各个第一成员设备使用来对所得到的节点特征向量表示进行归一化处理,得到归一化特征向量表示。在本说明书中,归一化子模型也可以称为全连接层。所得到的归一化特征向量表示的维度与判别模型的输入特征维度相同。经过归一化子模型的处理后,各个第一成员设备输出的特征向量表示的维度都相同,从而使得各个第一成员设备可以从第二成员设备获取相同的判别模型,并将所得到的具有相同维度的归一化特征向量表示提供给判别模型来得出预测标签值。
利用上述图神经网络模型结构,可以采用差异化的节点特征向量表示子模型来提高各个第一成员设备处的本地模型的个性化能力,增强对该第一成员设备处具有的非独立同分布数据的个性化表征。此外,利用归一化子模型对各个第一成员设备处得到的个性化节点特征向量表示进行归一化,使得各个第一成员设备可以输出具有相同维度的特征向量表示,由此使得各个第一成员设备可以实现不同维度的节点特征向量表示的水平切分形式共享学习。通过在各个第一成员设备处实现具有不同模型结构的节点特征向量表示子模型以及用于实现相同维度输出的归一化子模型,可以实现节点特征向量表示网络结构的多样性和联邦学习网络结构的一致性。
图6示出了根据本说明书的实施例的用于训练图神经网络模型的方法600的流程图。
如图6所示,在601,初始化各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及第二成员设备的判别模型。例如,初始化第一成员设备510-1处的节点特征向量表示子模型10-1和归一化子模型20-1,初始化第一成员设备510-2处的节点特征向量表示子模型10-2和归一化子模型20-2,初始化第一成员设备510-3处的节点特征向量表示子模型10-3和归一化子模型20-3,以及初始化第二成员设备520的判别模型30。
接着,循环执行602到611的操作,直到满足循环结束条件。
具体地,在602,各个第一成员设备510-1到510-3从各自的私有数据中获取当前用于模型训练的训练数据(批样本数据)。
在603,在各个第一成员设备510-1到510-3处,将所获取的当前训练数据提供给各自的节点特征向量表示子模型来进行GNN计算,得到该第一成员设备处的节点特征向量表示。具体地,在进行GNN计算时,将当前训练样本子集提供给节点特征向量表示子模型,经过K度邻居传播,得到与当前训练数据对应的节点特征向量表示。
在604,在各个第一成员设备510-1到510-3处,将各自的节点特征向量表示提供给归一化子模型,得到该第一成员设备处的归一化特征向量表示。
在605,各个第一成员设备510-1到510-3从第二成员设备520获取当前判别模型。随后,在606,在各个第一成员设备510-1到510-3处,将归一化特征向量表示作为当前判别模型的输入提供给当前判别模型来进行模型预测,得到当前预测标签值。
然后,在607,在各个第一成员设备510-1到510-3处,根据各自的当前预测标签值和所具有的标签值,确定当前损失函数。
在608,在各个第一成员设备510-1到510-3处,分别基于当前损失函数,确定所接收的当前判别模型的模型更新量,例如,通过反向传播来确定所接收的当前判别模型的模型更新量。在本说明书的实施例中,模型更新量可以是判别模型的梯度信息或者模型参数更新量。此外,在各个第一成员设备510-1到510-3处,基于当前损失函数,更新各自的节点特征向量表示子模型和归一化子模型,例如,通过反向传播来更新各自的节点特征向量表示子模型和归一化子模型的模型参数。
在609,各个第一成员设备510-1到510-3分别将各自确定的当前判别模型的模型更新量提供给第二成员设备520。在一个示例中,各个第一成员设备510-1到510-3可以分别将各自确定的当前判别模型的模型更新量(例如,依其原样)发送给第二成员设备520,然后在第二成员设备520,对所接收的各个模型更新量进行聚合。在另一示例中,各个第一成员设备510-1到510-3可以通过安全聚合的方式来将各自的模型更新量提供给第二成员设备520。在本说明书中,所述安全聚合可以包括:基于秘密共享的安全聚合;基于同态加密的安全聚合;基于不经意传输的安全聚合;基于混淆电路的安全聚合;或者基于可信执行环境的安全聚合。此外,在本说明书中,也可以采用其它合适的安全聚合方式。
此外,要说明的是,在一个示例中,对所接收的各个模型更新量进行聚合可以包括对所接收的各个模型更新量进行求平均。在另一示例中,各个第一成员设备可以具有模型更新权重。相应地,第二成员设备使用源于各个第一成员设备的判别模型的模型更新量以及各自的模型更新权重来更新判别模型。此外,可选地,各个第一成员设备的模型更新权重可以根据各个第一成员设备的私有数据的数据质量和/或批样本数据数量确定。这里,各个第一成员设备的批样本数据数量是当前用于模型训练的训练样本数据数量。
在610,在第二成员设备520处,使用经过聚合后的模型更新量来更新第二成员设备520处的判别模型,以用于后续训练循环过程,或者作为训练好的判别模型。
在611,判断是否满足循环结束条件,即,是否达到预定循环次数。如果达到预定循环次数,则流程结束。如果未达到预定循环次数,则返回到602的操作,执行下一训练循环过程。这里,当前循环过程中更新的各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及第二成员设备的判别模型用作下一训练循环过程的当前模型。
这里要说明的是,在上述的示例中,训练循环过程的结束条件是指达到预定循环次数。在本说明书的另一示例中,训练循环过程的结束条件也可以是判别模型30的各个模型参数的变化量不大于预定阈值。在这种情况下,关于循环过程是否结束的判断过程在第二成员设备520中执行。此外,在本说明书的另一示例中,训练循环过程的结束条件也可以是当前总损失函数位于预定范围内,例如,当前总损失函数不大于预定阈值。同样,关于循环过程是否结束的判断过程在第二成员设备520中执行。此外,在这种情况下,各个第一成员设备510-1到510-3需要将各自的损失函数提供给第二成员设备520来进行聚合,以得到总损失函数。另外,为了保证各个第一成员设备510-1到510-3的损失函数的隐私安全,在本说明书的另一示例中,各个第一成员设备510-1到510-3可以通过安全聚合的方式将各自的损失函数提供给第二成员设备520来得到总损失函数。同样,针对损失函数的安全聚合也可以包括:基于秘密共享的安全聚合;基于同态加密的安全聚合;基于不经意传输的安全聚合;基于混淆电路的安全聚合;或者基于可信执行环境的安全聚合。
图7示出了根据本说明书的实施例的用于训练图神经网络模型的一个示例过程的示意图。
图7中示出了三个第一成员设备510-1、510-2、510-3和第二成员设备520。第一成员设备510-1具有节点特征向量表示子模型A1和归一化子模型B1。第一成员设备510-2具有节点特征向量表示子模型A2和归一化子模型B2。第一成员设备510-3具有节点特征向量表示子模型A3和归一化子模型B3。第二成员设备520具有判别模型H。第一成员设备510-1、510-2和510-3分别具有用于模型训练的私有数据。
在进行模型训练时,在每轮循环过程中,第一成员设备510-1、510-2和510-3分别获取各自的当前训练数据X1、X2和X3。例如,第一成员设备510-i读取一个批次(batch)的数据di,其维度为ni0*mi0。其中,ni0是批样本数据数量,以及mi0是样本特征数量。
接着,第一成员设备510-1、510-2和510-3分别将当前训练数据X1、X2和X3提供给各自的当前节点特征向量表示子模型A1、A2和A3,以得到各个第一成员设备处的节点特征向量表示。例如,各个第一成员设备510-i利用子模型Ai(以GraphSAGE算法为例),进行k度邻居传播,不同传播次数采用不同的权重矩阵Wi,j,{j=1,2,…,k},其中Wi,j的维度为2mi,j-1*mi,j,得到节点特征向量表示ai,作为对应的归一化子子模型Bi的输入,其中,节点特征向量表示ai的维度为ni0*2mi,k。
当在GraphSAGE中采用concate的方法进行k度邻居的特征聚合时,每传播一次,输出层的维度加倍。mi,j-1为传播前的每个节点上的特征维度,进行第j次传播之后,每个节点上的特征维度变成2mi,j。
然后,在各个第一成员设备510-i处,利用Bi对节点特征向量表示ai的维度进行归一化,得到归一化特征向量表示(全连接层)bi,归一化特征向量表示bi的维度为2mi,k*p,其中,2mi,k为node embedding的特征维度,p为模型H的输入维度,并且将归一化特征向量表示bi作为判别模型H的输入。
各个第一成员设备510-i从第二成员设备520获取判别模型H的模型参数,并且根据归一化特征向量表示bi以及模型H,计算得到各自的预测标签值Yi_pred。
各个第一成员设备510-i根据预测标签值Yi_pred以及对应的标签值Yi,计算损失函数loss。随后,各个第一成员设备510-i基于损失函数loss,使用反向传播得到判别模型H的模型更新量。此外,各个第一成员设备510-i基于损失函数loss,使用反向传播更新各自的节点特征向量表示子模型Ai和归一化子模型Bi。
各个第一成员设备510-i使用安全聚合方式将各自得到的判别模型H的模型更新量发送给第二成员设备520。第二成员设备520根据上一轮的判别模型H以及本轮循环中从各个第一成员设备510-i获取的判别模型H的模型更新量,更新判别模型H。
按照上述方式循环操作,直到满足循环结束条件,由此完成图神经网络模型训练过程。
此外,要说明的是,图3-图7中示出的是具有3个第一成员设备的模型训练方案,在本说明书实施例的其它示例中,也可以包括多于或者少于3个第一成员设备。
在根据本说明书的实施例提供的图神经网络模型训练方法中,图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型。各个第一成员设备的节点特征向量表示子模型的模型结构根据该第一成员设备的私有数据的数据分布特征确定。利用上述图神经网络模型结构,通过在各个第一成员设备处部署差异化的节点特征向量表示子模型,可以采用差异化的节点特征向量表示子模型来提高各个第一成员设备处的本地模型的个性化能力,增强对该第一成员设备处具有的非独立同分布数据的个性化表征。此外,利用归一化子模型对各个第一成员设备处得到的个性化节点特征向量表示进行归一化,使得各个第一成员设备可以输出具有相同维度的特征向量表示。通过在各个第一成员设备处实现具有不同模型结构的节点特征向量表示子模型以及用于实现相同维度输出的归一化子模型,可以实现节点特征向量表示网络结构的多样性和联邦学习网络结构的一致性。
此外,利用结合图3-图7描述的图神经网络模型训练方法,各个第一成员设备通过安全聚合的方式来将各自的当前判别模型的模型更新量提供给第二成员设备,由此可以防止各个第一成员设备的模型更新量被完整地提供给第二成员设备,从而避免第二成员设备能够使用所接收的模型更新量来反向推导出第一成员设备的隐私数据,进而实现针对第一成员设备的隐私数据保护。
图8示出了根据本说明书实施例的用于训练图神经网络模型的装置(下文中称为模型训练装置)800的示意图。在该实施例中,图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成图神经网络模型的训练样本,各个第一成员设备的节点特征向量表示子模型的模型结构根据各自私有数据的数据分布特征确定。模型训练装置800位于第一成员设备侧。
如图8所示,模型训练装置800包括节点特征向量表示单元810、归一化向量表示单元820、判别模型获取单元830、模型预测单元840、损失函数确定单元850、模型更新量确定单元860、模型更新单元870和模型更新量提供单元880。
在进行模型训练时,节点特征向量表示单元810、归一化向量表示单元820、判别模型获取单元830、模型预测单元840、损失函数确定单元850、模型更新量确定单元860、模型更新单元870和模型更新量提供单元880循环操作,直到满足循环结束条件。所述循环结束条件例如可以包括:达到预定循环次数,判别模型的各个模型参数的变化量不大于预定阈值;或者当前总损失函数位于预定范围内。在循环过程未结束时,更新后的各个第一成员设备的节点特征向量表示子模型和归一化子模型以及第二成员设备的判别模型用作下一循环过程的当前模型。
具体地,节点特征向量表示单元810被配置为将用于模型训练的私有数据提供给节点特征向量表示子模型得到特征向量表示。节点特征向量表示单元810的操作可以参考上面参照图6描述的603的操作。
归一化向量表示单元820被配置为将节点特征向量表示提供给归一化子模型得到归一化特征向量表示,所述归一化特征向量表示的维度与判别模型的输入维度相同。归一化向量表示单元820的操作可以参考上面参照图6描述的604的操作。
判别模型获取单元830被配置为从第二成员设备获取当前判别模型。判别模型获取单元830的操作可以参考上面参照图6描述的605的操作。
模型预测单元840被配置为将归一化特征向量表示提供给当前判别模型,以得到当前预测标签值。模型预测单元840的操作可以参考上面参照图6描述的606的操作。
损失函数确定单元850被配置为根据当前预测标签值以及所具有的标签值确定当前损失函数。损失函数确定单元850的操作可以参考上面参照图6描述的607的操作。
模型更新量确定单元860被配置为基于当前损失函数,确定当前判别模型的模型更新量。模型更新量确定单元860的操作可以参考上面参照图6描述的608的操作。
模型更新单元870被配置为基于当前损失函数,更新当前节点特征向量表示子模型和归一化子模型的模型参数。模型更新单元870的操作可以参考上面参照图6描述的608的操作。
模型更新量提供单元880被配置为将当前判别模型的模型更新量提供给第二成员设备,所述第二成员设备使用来自各个第一成员设备的当前判别模型的模型更新量来更新第二成员设备处的判别模型。模型更新量提供单元880的操作可以参考上参照图6描述的609的操作。
在本说明书的一个示例中,模型更新量提供单元880可以采用安全聚合的方式来将当前判别模型的模型更新量提供给第二成员设备。
此外,可选地,模型训练装置800还可以包括训练数据获取单元(未示出)。在每次循环操作时,训练数据获取单元被配置为获取当前训练数据。
图9示出了根据本说明书实施例的用于训练图神经网络模型的装置(下文中称为模型训练装置900)的方框图。在该实施例中,图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成图神经网络模型的训练样本,各个第一成员设备的节点特征向量表示子模型的模型结构根据各自私有数据的数据分布特征确定。模型训练装置900位于第二成员设备侧。
如图9所示,模型训练装置900包括判别模型提供单元910、模型更新量获取单元920和模型更新单元930。
在进行模型训练时,判别模型提供单元910、模型更新量获取单元920和模型更新单元930循环操作,直到满足循环结束条件。所述循环结束条件例如可以包括:达到预定循环次数,所述判别模型的各个模型参数的变化量不大于预定阈值;或者当前总损失函数位于预定范围内。在循环过程未结束时,更新后的各个第一成员设备的节点特征向量表示子模型和归一化子模型以及第二成员设备的判别模型用作下一循环过程的当前模型。
具体地,判别模型提供单元910被配置为将当前判别模型提供给各个第一成员设备,以供各个第一成员设备使用来预测当前预测标签值。判别模型提供单元910的操作可以参考上面参照图6描述的605的操作。
模型更新量获取单元920被配置为从各个第一成员设备获取当前判别模型的模型更新量。模型更新量获取单元920的操作可以参考上面参照图6描述的609的操作。
判别模型更新单元930被配置基于来自各个第一成员设备的模型更新量来更新当前判别模型。判别模型更新单元930的操作可以参考上面参照图6描述的610的操作。
如上参照图1到图9,对根据本说明书实施例的模型训练方法、装置及系统进行了描述。上面的模型训练装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图10示出了根据本说明书实施例的用于实现在第一成员设备处的图神经网络模型训练过程的电子设备1000的硬件结构图。如图10所示,电子设备1000可以包括至少一个处理器1010、存储器(例如,非易失性存储器)1020、内存1030和通信接口1040,并且至少一个处理器1010、存储器1020、内存1030和通信接口1040经由总线1060连接在一起。至少一个处理器1010执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1010:将用于模型训练的私有数据提供给节点特征向量表示子模型得到节点特征向量表示;将节点特征向量表示提供给归一化子模型得到归一化特征向量表示,归一化特征向量表示的维度与判别模型的输入维度相同;从第二成员设备获取判别模型;将归一化特征向量表示提供给判别模型得到预测标签值;根据预测标签值以及第一成员设备的标签值确定损失函数;基于损失函数,确定判别模型的模型更新量并更新节点特征向量表示子模型和归一化子模型;以及将判别模型的模型更新量提供给第二成员设备,第二成员设备使用源于各个第一成员设备的判别模型的模型更新量来更新判别模型。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1010进行本说明书的各个实施例中以上结合图1到图9描述的各种操作和功能。
图11示出了根据本说明书实施例的用于实现在第二成员设备处的图神经网络模型训练过程的电子设备1100的硬件结构图。如图11所示,电子设备1100可以包括至少一个处理器1110、存储器(例如,非易失性存储器)1120、内存1130和通信接口1140,并且至少一个处理器1110、存储器1120、内存1130和通信接口1140经由总线1160连接在一起。至少一个处理器1110执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1110:将判别模型提供给各个第一成员设备,各个第一成员设备将归一化特征向量表示提供给判别模型得到预测标签值,并且基于预测标签值以及所具有的标签值确定各自的损失函数,各个第一成员设备基于各自的损失函数,确定判别模型的模型更新量并且更新各自的节点特征向量表示子模型和归一化子模型,其中,所述归一化特征向量表示经由各个第一成员设备将节点特征向量表示提供给各自的归一化子模型而得到,归一化特征向量表示的维度与判别模型的输入维度相同,节点特征向量表示经由各个第一成员设备将各自用于模型训练的私有数据提供给各自的节点特征向量表示子模型而得到;从各个第一成员设备获取判别模型的模型更新量,并且使用源于各个第一成员设备的模型更新量更新判别模型。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1110进行本说明书的各个实施例中以上结合图1到图9描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1到图9描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (20)
1.一种用于训练图神经网络模型的方法,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成所述图神经网络模型的训练样本,所述方法包括:
在各个第一成员设备处,将用于模型训练的私有数据提供给节点特征向量表示子模型得到节点特征向量表示,以及将所述节点特征向量表示提供给归一化子模型得到归一化特征向量表示,所述归一化特征向量表示的维度与所述判别模型的输入维度相同,各个第一成员设备的节点特征向量表示子模型的模型结构和超参数根据各自私有数据的数据分布特征确定;
各个第一成员设备从所述第二成员设备获取判别模型;
在各个第一成员设备处,将所述归一化特征向量表示提供给所述判别模型得到预测标签值,根据所述预测标签值以及所述第一成员设备具有的标签值,确定损失函数,并且基于所述损失函数,确定所述判别模型在该第一成员设备处的模型更新量并更新该第一成员设备处的节点特征向量表示子模型和归一化子模型;
各个第一成员设备将各自确定出的所述判别模型的模型更新量提供给所述第二成员设备;以及
在所述第二成员设备处,使用源于各个第一成员设备的模型更新量来更新所述判别模型。
2.如权利要求1所述的方法,其中,各个第一成员设备处得到的所述判别模型的模型更新量通过安全聚合的方式提供给所述第二成员设备。
3.如权利要求2所述的方法,其中,所述安全聚合包括:
基于秘密共享的安全聚合;
基于同态加密的安全聚合;
基于不经意传输的安全聚合;
基于混淆电路的安全聚合;或者
基于可信执行环境的安全聚合。
4.如权利要求1所述的方法,其中,各个第一成员设备具有模型更新权重,以及所述第二成员设备使用源于各个第一成员设备的模型更新量以及各自的模型更新权重来更新所述判别模型。
5.如权利要求4所述的方法,其中,各个第一成员设备的模型更新权重根据各个第一成员设备的私有数据的数据质量和/或批样本数据数量确定。
6.如权利要求1到5中任一所述的方法,其中,针对所述图神经网络模型的训练循环执行,直到满足循环结束条件,
其中,在未满足所述循环结束条件时,所述更新后的各个第一成员设备的节点特征向量表示子模型和归一化子模型以及所述第二成员设备的判别模型用作下一循环过程的当前模型。
7.如权利要求6所述的方法,其中,所述循环结束条件包括:
预定循环次数;
所述判别模型的各个模型参数的变化量不大于预定阈值;或者
当前总损失函数位于预定范围内。
8.一种用于训练图神经网络模型的方法,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成所述图神经网络模型的训练样本,各个第一成员设备的节点特征向量表示子模型的模型结构和超参数根据各自私有数据的数据分布特征确定,所述方法由第一成员设备执行,所述方法包括:
将用于模型训练的私有数据提供给节点特征向量表示子模型得到节点特征向量表示;
将所述节点特征向量表示提供给归一化子模型得到当前归一化特征向量表示,所述归一化特征向量表示的维度与所述判别模型的输入维度相同;
从所述第二成员设备获取判别模型;
将所述归一化特征向量表示提供给所述判别模型得到预测标签值;
根据所述预测标签值以及所述第一成员设备的标签值,确定损失函数;
基于所述损失函数,确定所述判别模型的模型更新量并更新所述节点特征向量表示子模型和所述归一化子模型;以及
将所述判别模型的模型更新量提供给所述第二成员设备,所述第二成员设备使用源于各个第一成员设备的判别模型的模型更新量来更新所述判别模型。
9.一种用于训练图神经网络模型的方法,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成所述图神经网络模型的训练样本,各个第一成员设备的节点特征向量表示子模型的模型结构和超参数根据各自私有数据的数据分布特征确定,所述方法由第二成员设备执行,所述方法包括:
将判别模型提供给各个第一成员设备,各个第一成员设备将归一化特征向量表示提供给所述判别模型得到预测标签值,并且基于所述预测标签值以及所具有的标签值确定各自的损失函数,各个第一成员设备基于各自的损失函数,确定所述判别模型的模型更新量并且更新各自的节点特征向量表示子模型和归一化子模型,其中,所述归一化特征向量表示经由各个第一成员设备将节点特征向量表示提供给各自的归一化子模型而得到,所述归一化特征向量表示的维度与所述判别模型的输入维度相同,所述节点特征向量表示经由各个第一成员设备将各自的私有数据提供给各自的节点特征向量表示子模型而得到;
从各个第一成员设备获取所述判别模型的对应模型更新量;以及
使用源于各个第一成员设备的模型更新量更新所述判别模型。
10.一种用于训练图神经网络模型的装置,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成所述图神经网络模型的训练样本,各个第一成员设备的节点特征向量表示子模型的模型结构和超参数根据各自私有数据的数据分布特征确定,所述装置应用于第一成员设备,所述装置包括:
节点特征向量表示单元,将用于模型训练的私有数据提供给节点特征向量表示子模型得到特征向量表示;
归一化向量表示单元,将所述节点特征向量表示提供给归一化子模型得到归一化特征向量表示,所述归一化特征向量表示的维度与所述判别模型的输入维度相同;
判别模型获取单元,从所述第二成员设备获取判别模型;
模型预测单元,将所述归一化特征向量表示提供给所述判别模型,得到预测标签值;
损失函数确定单元,根据所述预测标签值以及所述第一成员设备处的标签值,确定损失函数;
模型更新量确定单元,基于所述损失函数确定所述判别模型的模型更新量;
模型更新单元,基于所述损失函数更新所述节点特征向量表示子模型和所述归一化子模型;以及
模型更新量提供单元,将所述判别模型的模型更新量提供给所述第二成员设备,所述第二成员设备使用源于各个第一成员设备的所述判别模型的模型更新量来更新所述第二成员设备的判别模型。
11.如权利要求10所述的装置,其中,各个第一成员设备处的模型更新量提供单元使用安全聚合的方式来将各个第一成员设备处得到的模型更新量提供给所述第二成员设备。
12.如权利要求11所述的装置,其中,所述安全聚合包括:
基于秘密共享的安全聚合;
基于同态加密的安全聚合;
基于不经意传输的安全聚合;
基于混淆电路的安全聚合;或者
基于可信执行环境的安全聚合。
13.一种用于训练图神经网络模型的装置,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成所述图神经网络模型的训练样本,各个第一成员设备的节点特征向量表示子模型的模型结构和超参数根据各自私有数据的数据分布特征确定,所述装置应用于第二成员设备,所述装置包括:
判别模型提供单元,将判别模型提供给各个第一成员设备,各个第一成员设备将归一化特征向量表示提供给所述判别模型得到预测标签值,并且基于所述预测标签值以及所具有的标签值确定各自的损失函数,各个第一成员设备基于各自的损失函数,确定所述判别模型的模型更新量并且更新各自的节点特征向量表示子模型和归一化子模型,其中,所述归一化特征向量表示经由各个第一成员设备将节点特征向量表示提供给各自的归一化子模型而得到,所述归一化特征向量表示的维度与所述判别模型的输入维度相同,所述节点特征向量表示经由各个第一成员设备将各自的私有数据提供给各自的节点特征向量表示子模型而得到;
模型更新量获取单元,从各个第一成员设备获取所述判别模型的对应模型更新量;以及
判别模型更新单元,使用源于各个第一成员设备的模型更新量来更新所述判别模型。
14.如权利要求13所述的装置,其中,各个第一成员设备具有模型更新权重,以及所述判别模型更新单元使用源于各个第一成员设备的判别模型的模型更新量以及各自的模型更新权重来更新所述判别模型。
15.如权利要求14所述的装置,其中,各个第一成员设备的模型更新权重根据各个第一成员设备的私有数据的数据质量和/或批样本数据数量确定。
16.一种用于训练图神经网络模型的系统,包括:
至少两个第一成员设备,每个第一成员设备包括如权利要求10到12中任一所述的装置;以及
第二成员设备,包括如权利要求13到15中任一所述的装置,
其中,所述图神经网络模型包括位于各个第一成员设备处的节点特征向量表示子模型和归一化子模型以及位于第二成员设备处的判别模型,各个第一成员设备具有私有数据和标签值,各个第一成员设备的私有数据是非独立同分布数据,并且按照水平切分的方式共同组成所述图神经网络模型的训练样本,各个第一成员设备的节点特征向量表示子模型的模型结构和超参数根据各自私有数据的数据分布特征确定。
17.一种电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求8所述的方法。
18.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求8所述的方法。
19.一种电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求9所述的方法。
20.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求9所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010691847.4A CN111738438B (zh) | 2020-07-17 | 2020-07-17 | 图神经网络模型训练方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010691847.4A CN111738438B (zh) | 2020-07-17 | 2020-07-17 | 图神经网络模型训练方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111738438A CN111738438A (zh) | 2020-10-02 |
CN111738438B true CN111738438B (zh) | 2021-04-30 |
Family
ID=72654901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010691847.4A Active CN111738438B (zh) | 2020-07-17 | 2020-07-17 | 图神经网络模型训练方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111738438B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113066537B (zh) * | 2021-04-19 | 2022-04-08 | 山西大学 | 基于图神经网络的化合物分类方法 |
CN113221153B (zh) * | 2021-05-31 | 2022-12-27 | 平安科技(深圳)有限公司 | 图神经网络训练方法、装置、计算设备及存储介质 |
CN113297396B (zh) * | 2021-07-21 | 2022-05-20 | 支付宝(杭州)信息技术有限公司 | 基于联邦学习的模型参数更新方法、装置及设备 |
CN113806546B (zh) * | 2021-09-30 | 2024-04-05 | 中国人民解放军国防科技大学 | 一种基于协同训练的图神经网络对抗防御方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018174873A1 (en) * | 2017-03-22 | 2018-09-27 | Visa International Service Association | Privacy-preserving machine learning |
CN111178503A (zh) * | 2019-12-16 | 2020-05-19 | 北京邮电大学 | 面向移动终端的去中心化目标检测模型训练方法及系统 |
CN110929870B (zh) * | 2020-02-17 | 2020-06-12 | 支付宝(杭州)信息技术有限公司 | 图神经网络模型训练方法、装置及系统 |
-
2020
- 2020-07-17 CN CN202010691847.4A patent/CN111738438B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111738438A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929870B (zh) | 图神经网络模型训练方法、装置及系统 | |
CN111738438B (zh) | 图神经网络模型训练方法、装置及系统 | |
CN112052942B (zh) | 神经网络模型训练方法、装置及系统 | |
CN110942147B (zh) | 基于多方安全计算的神经网络模型训练及预测方法、装置 | |
CN111062487B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN111523673B (zh) | 模型训练方法、装置及系统 | |
CN111079939B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN112132270B (zh) | 基于隐私保护的神经网络模型训练方法、装置及系统 | |
CN112580826B (zh) | 业务模型训练方法、装置及系统 | |
CN111368983A (zh) | 业务模型训练方法、装置及业务模型训练系统 | |
CN111523556B (zh) | 模型训练方法、装置及系统 | |
CN112597540B (zh) | 基于隐私保护的多重共线性检测方法、装置及系统 | |
CN110929887B (zh) | 逻辑回归模型训练方法、装置及系统 | |
CN111523674B (zh) | 模型训练方法、装置及系统 | |
CN111737756B (zh) | 经由两个数据拥有方进行的xgb模型预测方法、装置及系统 | |
CN112183757B (zh) | 模型训练方法、装置及系统 | |
CN112183759B (zh) | 模型训练方法、装置及系统 | |
CN111523675B (zh) | 模型训练方法、装置及系统 | |
CN111738453B (zh) | 基于样本加权的业务模型训练方法、装置及系统 | |
CN111931870B (zh) | 基于模型复用的模型预测方法、模型预测装置及系统 | |
CN112183566B (zh) | 模型训练方法、装置及系统 | |
CN112183565B (zh) | 模型训练方法、装置及系统 | |
US20230084507A1 (en) | Servers, methods and systems for fair and secure vertical federated learning | |
WO2022223629A1 (en) | Methods and systems for data recovery | |
CN112183564A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |