CN110929870B - 图神经网络模型训练方法、装置及系统 - Google Patents
图神经网络模型训练方法、装置及系统 Download PDFInfo
- Publication number
- CN110929870B CN110929870B CN202010096248.8A CN202010096248A CN110929870B CN 110929870 B CN110929870 B CN 110929870B CN 202010096248 A CN202010096248 A CN 202010096248A CN 110929870 B CN110929870 B CN 110929870B
- Authority
- CN
- China
- Prior art keywords
- model
- current
- data
- neural network
- graph neural
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供用于经由多个数据拥有方来训练图神经网络模型的方法及装置。在该方法中,图神经网络模型被分割为判别模型以及多个图神经网络子模型。在进行模型训练时,各个数据拥有方将各自的特征数据子集提供给各自的图神经网络子模型,以得到各个节点的特征向量表示。各个数据拥有方从服务端接收判别模型,并使用各个节点的特征向量表示来得到各个节点的当前预测标签值,由此计算出各个数据拥有方处的当前损失函数,并基于当前损失函数来确定出判别模型的梯度信息以及更新各自的图神经网络子模型。各个数据拥有方将各自的梯度信息提供给服务端,以供服务端来更新判别模型。利用该方法,能够保证各个数据拥有方处的私有数据的数据安全。
Description
技术领域
本说明书实施例通常涉及机器学习领域,尤其涉及用于使用水平切分的特征数据集来经由多个数据拥有方协同训练图神经网络模型的方法、装置及系统。
背景技术
图神经网络模型是机器学习领域广泛使用的机器学习模型。在很多情况下,多个模型训练参与方(例如,电子商务公司、快递公司和银行)各自拥有训练图神经网络模型所使用的特征数据的不同部分数据。该多个模型训练参与方通常想共同使用彼此的数据来统一训练图神经网络模型,但又不想把各自的数据提供给其它各个模型训练参与方以防止自己的数据被泄露。
面对这种情况,提出了能够保护隐私数据安全的图神经网络模型训练方法,其能够在保证多个模型训练参与方的各自数据安全的情况下,协同该多个模型训练参与方来训练图神经网络模型,以供该多个模型训练参与方使用。
发明内容
鉴于上述问题,本说明书实施例提供了一种用于经由多个数据拥有方协同训练图神经网络模型的方法、装置及系统,其能够在保证多个数据拥有方的各自数据安全的情况下实现图神经网络模型训练。
根据本说明书实施例的一个方面,提供一种用于经由多个数据拥有方来训练图神经网络模型的方法,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值,所述方法由数据拥有方执行,所述方法包括:执行下述循环过程,直到满足循环结束条件:将当前特征数据子集提供给所述数据拥有方处的当前图神经网络子模型,以得到所述当前图神经网络子模型的各个节点的特征向量表示;从服务端获取当前判别模型;将各个节点的特征向量表示提供给所述当前判别模型,以得到各个节点的当前预测标签值;根据各个节点的当前预测标签值以及对应的真实标签值,确定当前损失函数;在不满足循环结束条件时,基于当前损失函数,确定所述当前判别模型的梯度信息并且更新当前图神经网络子模型的模型参数;以及将所述当前判别模型的梯度信息提供给所述服务端,所述服务端使用来自于各个数据拥有方的所述当前判别模型的梯度信息来更新所述服务端处的判别模型,其中,在未满足所述循环结束条件时,所述更新后的各个数据拥有方的图神经网络子模型和所述服务端处的判别模型用作下一循环过程的当前模型。
可选地,在上述方面的一个示例中,各个数据拥有方处得到的梯度信息可以通过安全聚合的方式提供给所述服务端。
可选地,在上述方面的一个示例中,所述安全聚合可以包括:基于秘密共享的安全聚合;基于同态加密的安全聚合;或者基于可信执行环境的安全聚合。
可选地,在上述方面的一个示例中,在每次循环过程中,所述方法还可以包括:获取当前训练样本子集。
可选地,在上述方面的一个示例中,所述循环结束条件可以包括:预定循环次数;所述判别模型的各个模型参数的变化量不大于预定阈值;或者当前总损失函数位于预定范围内。
可选地,在上述方面的一个示例中,所述特征数据可以包括基于图像数据、语音数据或文本数据的特征数据,或者所述特征数据可以包括用户特征数据。
根据本说明书的实施例的另一方面,提供一种用于经由多个数据拥有方来训练图神经网络模型的方法,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值,所述方法由服务端执行,所述方法包括:执行下述循环过程,直到满足循环结束条件:将当前判别模型提供给各个数据拥有方,各个数据拥有方将当前子图神经网络模型的各个节点的特征向量表示提供给所述当前判别模型以得到各个节点的预测标签值,基于各个节点的预测标签值以及对应的真实标签值确定各自的当前损失函数,以及在不满足循环结束条件时,基于各自的当前损失函数,确定判别模型的梯度信息并且更新当前图神经网络子模型的模型参数,并且将所确定的梯度信息提供给所述服务端,所述各个节点的特征向量表示通过将当前特征数据子集提供给所述当前图神经网络子模型而得到;在未满足所述循环结束条件时,从各个数据拥有方获取所述当前判别模型的对应梯度信息,并且基于来自各个数据拥有方的梯度信息更新所述当前判别模型,其中,在未满足所述循环结束条件时,所述更新后的各个数据拥有方的图神经网络子模型和所述服务端的判别模型用作下一循环过程的当前模型。
可选地,在上述方面的一个示例中,各个数据拥有方处得到的梯度信息可以通过安全聚合的方式提供给所述服务端。
可选地,在上述方面的一个示例中,所述安全聚合可以包括:基于秘密共享的安全聚合;基于同态加密的安全聚合;或者基于可信执行环境的安全聚合。
根据本说明书的实施例的另一方面,提供一种用于使用图神经网络模型来进行模型预测的方法,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,所述方法由数据拥有方执行,所述方法包括:将待预测数据提供给所述数据拥有方处的图神经网络子模型,以得到所述图神经网络子模型的各个节点的特征向量表示;从服务端获取判别模型;以及将各个节点的特征向量表示提供给所述判别模型,以得到各个节点的预测标签值。
根据本说明书的实施例的另一方面,提供一种用于经由多个数据拥有方来训练图神经网络模型的装置,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值,所述装置应用于数据拥有方,所述装置包括:向量表示单元,将当前特征数据子集提供给当前图神经网络子模型,以得到所述当前图神经网络子模型的各个节点的特征向量表示;判别模型获取单元,从服务端获取当前判别模型;模型预测单元,将各个节点的特征向量表示提供给所述当前判别模型,以得到各个节点的当前预测标签值;损失函数确定单元,根据各个节点的当前预测标签值以及对应的真实标签值,确定当前损失函数;梯度信息确定单元,在不满足循环结束条件时,基于当前损失函数,确定所述当前判别模型的梯度信息;模型更新单元,在不满足循环结束条件时,基于当前损失函数,更新当前图神经网络子模型的模型参数;以及梯度信息提供单元,将所述当前判别模型的梯度信息提供给所述服务端,所述服务端使用来自各个数据拥有方的所述当前判别模型的梯度信息来更新所述服务端处的判别模型,其中,所述向量表示单元,所述判别模型获取单元、所述模型预测单元、所述损失函数确定单元、所述梯度信息确定单元、所述模型更新单元和所述梯度信息提供单元循环操作,直到满足所述循环结束条件,在未满足所述循环结束条件时,所述更新后的各个数据拥有方的图神经网络子模型和所述服务端的判别模型用作下一循环过程的当前模型。
可选地,在上述方面的一个示例中,所述梯度信息提供单元可以使用安全聚合的方式来将所述数据拥有方处得到的梯度信息提供给所述服务端。
可选地,在上述方面的一个示例中,所述安全聚合可以包括:基于秘密共享的安全聚合;基于同态加密的安全聚合;或者基于可信执行环境的安全聚合。
可选地,在上述方面的一个示例中,所述装置还可以包括:训练样本子集获取单元,在每次循环操作时,获取当前训练样本子集。
根据本说明书的实施例的另一方面,提供一种用于经由多个数据拥有方来训练图神经网络模型的装置,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值,所述装置应用于服务端,所述装置包括:判别模型提供单元,将当前判别模型提供给各个数据拥有方,各个数据拥有方将当前图神经网络子模型的各个节点的特征向量表示提供给所述当前判别模型来得到各个节点的预测标签值,基于各个节点的预测标签值以及对应的真实标签值来确定出各自的当前损失函数,以及在不满足循环结束条件时,各个数据拥有方基于各自的当前损失函数,确定判别模型的梯度信息并且更新当前图神经网络子模型的模型参数,并且将所确定的梯度信息提供给所述服务端,所述各个节点的特征向量表示通过将当前特征数据子集提供给所述当前图神经网络子模型而得到;梯度信息获取单元,在未满足循环结束条件时,从各个数据拥有方获取所述当前判别模型的对应梯度信息;以及判别模型更新单元,基于来自各个数据拥有方的梯度信息来更新所述当前判别模型,其中,所述判别模型提供单元,所述梯度信息获取单元和所述判别模型更新单元循环操作,直到满足所述循环结束条件,在未满足所述循环结束条件时,所述更新后的各个数据拥有方的图神经网络子模型和所述服务端的判别模型用作下一循环过程的当前模型。
根据本说明书的实施例的另一方面,提供一种用于经由多个数据拥有方来训练图神经网络模型的系统,包括:多个数据拥有方设备,每个数据拥有方设备包括如上所述的装置;以及服务端设备,包括如上所述的装置,其中,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值。
根据本说明书的实施例的另一方面,提供一种用于使用图神经网络模型来进行模型预测的装置,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,所述装置应用于数据拥有方,所述装置包括:向量表示单元,将待预测数据提供给所述数据拥有方处的图神经网络子模型,以得到所述图神经网络子模型的各个节点的特征向量表示;判别模型获取单元,从服务端获取判别模型;以及模型预测单元,将各个节点的特征向量表示提供给所述判别模型,以得到各个节点的预测标签值。
根据本说明书实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在数据拥有方侧执行的模型训练方法。
根据本说明书实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述至少一个处理器执行如上所述的在数据拥有方侧执行的模型训练方法。
根据本说明书实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在服务端侧执行的模型训练方法。
根据本说明书实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述至少一个处理器执行如上所述的在服务端侧执行的模型训练方法。
根据本说明书实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的模型预测方法。
根据本说明书实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述至少一个处理器执行如上所述的模型预测方法。
利用本说明书实施例的方案,能够在不泄漏该多个训练参与方的隐私数据的情况下训练得到图神经网络模型的模型参数。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本说明书的实施例的图神经网络模型的示例的示意图;
图2示出了根据本说明书的实施例的经过水平切分的训练样本集的示例的示意图;
图3示出了示出了根据本说明书的实施例的用于经由多个数据拥有方训练图神经网络模型的系统的架构示意图;
图4示出了根据本说明书的实施例的用于经由多个数据拥有方训练图神经网络模型的方法的流程图;
图5示出了根据本说明书的实施例的用于经由多个数据拥有方训练图神经网络模型的一个示例过程的示意图;
图6示出了根据本说明书的实施例的基于图神经网络模型的模型预测过程的流程图;
图7示出了根据本说明书的实施例的用于经由多个数据拥有方训练图神经网络模型的装置的方框图;
图8示出了根据本说明书的实施例的用于经由多个数据拥有方训练图神经网络模型的装置的方框图;
图9示出了根据本说明书的实施例的用于基于图神经网络模型来进行模型预测的装置的方框图;
图10示出了根据本说明书的实施例的用于经由多个数据拥有方训练图神经网络模型的电子设备的示意图;
图11示出了根据本说明书的实施例的用于经由多个数据拥有方训练图神经网络模型的电子设备的示意图;和
图12示出了根据本说明书的实施例的用于基于图神经网络模型来进行模型预测的电子设备的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在本说明书中,图神经网络模型训练方案中所使用的训练样本集是经过水平切分的训练样本集。术语“对训练样本集进行水平切分”是指按照模块/功能(或者某种指定规则)来将该训练样本集切分为多个训练样本子集,各个训练样本子集包含一部分训练样本,并且每个训练样本子集中所包括的训练样本是完整的训练样本,即,包括该训练样本的所有字段数据和对应的标记值。在本公开中,假设存在三个数据拥有方Alice、Bob和Charlie,则在各个数据拥有方处获取本地样本以形成本地样本集,在该本地样本集中所包含的每条样本都是完整的样本,然后,三个数据方Alice、Bob和Charlie所获取的本地样本集组成用于图神经网络模型训练的训练样本集,其中,每个本地样本集作为该训练样本集的训练样本子集,以用于训练图神经网络模型。
在本说明书中,各个数据拥有方各自拥有图神经网络模型训练所使用的训练样本的不同部分数据。例如,以两个数据拥有方为例,假设训练样本集包括100个训练样本,每一个训练样本包含多个特征值和标记实际值,那么,第一数据拥有方拥有的数据可以是训练样本集内的前30个训练样本,以及,第二数据拥有方拥有的数据可以是训练样本集内的后70个训练样本。
在本说明书的实施例中,图神经网络模型训练时所使用的特征数据可以包括基于图像数据、语音数据或文本数据的特征数据。相应地,图神经网络模型可以应用于基于图像数据、语音数据或者文本数据的业务风险识别、业务分类或者业务决策等等。或者,图神经网络模型训练时所使用的特征数据可以包括用户特征数据。相应地,图神经网络模型可以应用于基于用户特征数据的业务风险识别、业务分类、业务推荐或者业务决策等等。
此外,在本说明书的实施例中,图神经网络模型所使用的待预测数据可以包括图像数据、语音数据或文本数据。或者,图神经网络模型所使用的待预测数据可以包括用户特征数据。
在本说明书中,术语“图神经网络模型”和“图神经网络”可以互换使用。术语“图神经网络子模型”和“图神经子网络”可以互换使用。此外,术语“数据拥有方”和“训练参与方”可以互换使用。
下面将结合附图来详细描述根据本说明书实施例的用于经由多个数据拥有方来协同训练图神经网络模型的方法、装置以及系统。
图1示出了根据本说明书的实施例的图神经网络模型的示例的示意图。
如图1所示,图神经网络(GNN,Graph Neural Network)模型被分割为判别模型10和多个图神经网络子模型20,比如,图1中的图神经网络子模型、和。判别模型10设置在服务端110,以及各个图神经网络子模型分别设置在对应的数据拥有方处,例如,可以设置在对应的数据拥有方处的客户端上,每个数据拥有方具有一个图神经网络子模型。如图1中所示,设置在数据拥有方A 120-1处,设置在数据拥有方B 120-2处,以及设置在数据拥有方C 120-3处。
图神经网络子模型20被使用来对数据拥有方的数据进行GNN计算,以得到该图神经网络子模型的各个节点的特征向量表示。具体地,在进行GNN计算时,将数据拥有方的数据提供给图神经网络子模型20,根据节点特征以及图神经子网络,经过K阶邻居的传播,得到与当前数据对应的每个节点的特征向量表示。
判别模型10被使用来基于数据拥有方处得到的每个节点的特征向量表示进行模型计算,以得到每个节点的模型预测值。
在本说明书中,各个数据拥有方处所具有的数据是经过水平切分的数据。图2示出了根据本说明书的实施例的经过水平切分的训练样本数据的示例的示意图。在图2中,示出了2个数据方Alice和Bob,多个数据方也类似。每个数据方Alice和Bob拥有的训练样本子集中的每条训练样本是完整的,即,每条训练样本包括完整的特征数据(x)和标记数据(y)。比如,Alice拥有完整的训练样本(x0,y0)。
图3示出了示出了根据本说明书的实施例的用于经由多个数据拥有方训练图神经网络模型的系统(在下文中称为“模型训练系统300”)的架构示意图。
如图3所示,模型训练系统300包括服务端设备310以及至少一个数据拥有方设备320。在图3中示出了3个数据拥有方设备320。在本说明书的其它实施例中,可以包括更多或者更少的数据拥有方设备320。服务端设备310以及至少一个数据拥有方设备320可以通过例如但不局限于互联网或局域网等的网络330相互通信。
在本说明书中,所训练的图神经网络模型(去除判别模型之外的神经网络模型结构)被分割为第一数目个图神经网络子模型。这里,第一数目等于参与模型训练的数据拥有方设备的数目。这里,假设数据拥有方设备的数目为N。相应地,图神经网络模型被分解为N个子模型,每个数据拥有方设备具有一个子模型。用于模型训练的特征数据集分别位于各个数据拥有方设备320处,所述特征数据集按照图2中所述的方式水平切分为多个特征数据子集,每个数据拥有方设备具有一个特征数据子集。这里,每个数据拥有方所拥有的子模型以及对应的特征数据子集是该数据拥有方的秘密,不能被其他数据拥有方获悉或者完整地获悉。
在本说明书中,多个数据拥有方设备320和服务端设备310一起使用各个数据拥有方设备320的训练样本子集来协同训练图神经网络模型。关于模型的具体训练过程将在下面参照图4到图5进行详细描述。
在本说明书中,服务端设备310以及数据拥有方设备320可以是任何合适的具有计算能力的电子设备。所述电子设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动电子设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴电子设备、消费电子设备等等。
图4示出了根据本说明书的实施例的用于经由多个数据拥有方训练图神经网络模型的方法400的流程图。
接着,循环执行402到410的操作,直到满足循环结束条件。
具体地,在402,各个数据拥有方320获取各自的当前训练样本子集。例如,数据拥有方A获取当前训练样本子集,数据拥有方B获取当前训练样本子集,以及数据拥有方C获取当前训练样本子集。每个训练样本子集都包括特征数据子集和真实标签值。
在403,在各个数据拥有方320处,将所获取的当前训练样本子集提供给各自的图神经网络子模型来进行GNN计算,以得到该图神经网络子模型中的各个节点的特征向量表示。具体地,在进行GNN计算时,将当前训练样本子集提供给图神经网络子模型20,根据节点特征以及图神经子网络,经过K阶邻居的传播,得到与当前训练样本子集对应的每个节点的特征向量表示。
在404,各个数据拥有方320从服务端310获取当前判别模型。随后,在405,在各个数据拥有方320处,使用当前判别模型来基于各个节点的特征向量表示来进行模型预测,以得到各个节点的当前预测标签值。
然后,在406,在各个数据拥有方320处,根据各个节点的当前预测标签值和对应的真实标签值,确定当前损失函数。例如,在一个示例中,损失函数可以基于公式计算出,其中,i表示第i个节点,P表示图神经网络子模型中的节点总数,表示第i个节点的真实标签值,以及表示第i个节点的当前预测标签值。
在407,在各个数据拥有方320处,基于当前损失函数,确定所接收的当前判别模型的梯度信息,即,当前判别模型的模型参数的梯度信息,例如,通过反向传播来确定所接收的当前判别模型的梯度信息。此外,在各个数据拥有方320处,基于当前损失函数,更新当前图神经网络子模型的模型参数,例如,通过反向传播来更新当前图神经网络子模型的模型参数。
在408,各个数据拥有方320分别将各自确定的当前判别模型的梯度信息提供给服务端310。在一个示例中,各个数据拥有方310可以分别将各自确定的当前判别模型的梯度信息(例如,依其原样)发送给服务端310,然后在服务端310,对所接收的各个梯度信息进行聚合。在另一示例中,各个数据拥有方可以通过安全聚合的方式提供给服务端310。在本说明书中,所述安全聚合可以包括:基于秘密共享的安全聚合;基于同态加密的安全聚合;或者基于可信执行环境的安全聚合。此外,在本说明书中,也可以采用其它合适的安全聚合方式。
此外,要说明的是,在本说明书中,对所接收的各个梯度信息进行聚合可以包括对所接收的各个梯度信息进行求平均。
在409,在服务端310处,使用经过聚合后的梯度信息来更新服务端310处的判别模型,以用于后续训练循环过程,或者作为训练好的判别模型。
在410,判断是否满足循环结束条件,即,是否达到预定循环次数。如果达到预定循环次数,则流程结束。如果未达到预定循环次数,则返回到402的操作,执行下一训练循环过程。这里,当前循环过程中更新的各个数据拥有方处的图神经网络子模型以及服务端的判别模型用作下一训练循环过程的当前模型。
这里要说明的是,在上述的示例中,训练循环过程的结束条件是指达到预定循环次数。在本说明书的另一示例中,训练循环过程的结束条件也可以是判别模型10的各个模型参数的变化量不大于预定阈值。在这种情况下,关于循环过程是否结束的判断过程在服务端310中执行。此外,在本说明书的另一示例中,训练循环过程的结束条件也可以是当前总损失函数位于预定范围内,例如,当前总损失函数不大于预定阈值。同样,关于循环过程是否结束的判断过程在服务端310中执行。此外,在这种情况下,各个数据拥有方320需要将各自的损失函数提供给服务端310来进行聚合,以得到总损失函数。另外,为了保证各个数据拥有方320的损失函数的隐私安全,在本说明书的另一示例中,各个数据拥有方320可以通过安全聚合的方式将各自的损失函数提供给服务端310来得到总损失函数。同样,针对损失函数的安全聚合也可以包括:基于秘密共享的安全聚合;基于同态加密的安全聚合;或者基于可信执行环境的安全聚合。
图5示出了根据本说明书的实施例的用于经由多个数据拥有方训练图神经网络模型的一个示例过程的示意图。
图5中示出了三个数据拥有方A、B和C。在进行模型训练时,在每轮循环过程中,数据拥有方A、B和C分别获取各自的当前特征数据子集、和。数据拥有方A、B和C分别将当前特征数据子集、和提供给各自的当前图神经网络子模型、和,以得到各个当前图神经网络子模型中的各个节点的当前特征向量表示。
随后,各个数据拥有方从服务端110获取当前判别模型H。然后,各个数据拥有方将所得到的各个节点的当前特征向量表示提供个当前判别模型H,以得到各个节点的当前预测标签值。随后,在各个数据拥有方处,基于各个节点的当前预测标签值以及对应的真实标签值,确定出当前损失函数,并且基于当前损失函数,通过反向传播来确定出当前判别模型的各个模型参数的梯度信息GH。同时,在各个数据拥有方处,还基于当前损失函数,通过反向传播来更新当前图神经网络子模型的各层网络模型的模型参数。
在各个数据拥有方得到当前判别模型的各个模型参数的梯度信息GH后,通过安全聚合的方式来将各自的梯度信息提供给服务端。服务端基于所得到的聚合后的梯度信息来更新当前判别模型。
按照上述方式循环操作,直到满足循环结束条件,由此完成图神经网络模型训练过程。
此外,要说明的是,图3-图5中示出的是具有3个数据拥有方的模型训练方案,在本说明书实施例的其它示例中,也可以包括多于或者少于3个数据拥有方。
在传统的GNN模型中,由于多个数据拥有方的数据不能彼此分享,所以都是只基于单个数据拥有方的数据来构建GNN模型。此外,由于单个数据拥有方的数据有限,所以GNN模型的效果也有限。利用本说明书的实施例提供模型训练方案,可以在保护各个数据拥有方的数据隐私的基础上,共同训练GNN模型,由此提升GNN模型效果。
在现有的联邦学习方案中,GNN模型的所有模型部分都布置在服务端,各个数据拥有方(客户端)通过使用各自的隐私数据来学习模型梯度信息,然后将所得到的模型梯度信息提供给服务端进行安全聚合,然后进行全局模型更新。按照这种方式,所有数据拥有方的模型结构都必须一致,这样服务端才能对各个数据拥有方的模型梯度信息进行安全聚合来更新模型,从而不能针对不同的客户端来定制化不同的模型。然而,不同的数据拥有方的数据(特征及图关系)的稀疏质量不同,所以可以需要不同的GNN模型来学习。比如,数据拥有方A传播2度邻居时得到的节点特征向量表示是最优的,而数据拥有方B传播5度邻居时得到的节点特征向量表示才是最优的。
利用本说明书的实施例提供的模型训练方法,通过将用于得到节点特征向量表示的GNN模型部分布置在各个数据拥有方处自己学习(局部),而将判别模型放在服务端(全局)来经由多个数据拥有方来共同学习,从而可以提高判别模型的效果。
此外,利用图3-图5中公开的图神经网络模型训练方法,各个数据拥有方通过安全聚合的方式来将各自的当前判别模型的梯度信息提供给服务端,由此可以防止各个数据拥有方的梯度信息被完整地提供给服务端,从而避免服务端能够使用所接收的梯度信息来推导出数据拥有方的隐私数据,进而实现针对数据拥有方的隐私数据保护。
图6示出了根据本说明书的实施例的基于图神经网络模型的模型预测过程600的流程图。图6中示出的模型预测过程中使用的图神经网络模型是按照图4所示的过程训练的图神经网络模型。
在进行模型预测时,在610,将待预测数据提供给数据拥有方处的图神经网络子模型,以得到图神经网络子模型的各个节点的特征向量表示。接着,在620,从服务端获取判别模型。然后,在630,将各个节点的特征向量表示提供给所接收的判别模型,以得到各个节点的预测标签值,由此完成模型预测过程。
图7示出了根据本说明书实施例的用于经由多个数据拥有方训练图神经网络模型的装置(下文中称为模型训练装置)700的示意图。在该实施例中,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值。模型训练装置700位于数据拥有方侧。
如图7所示,模型训练装置700包括向量表示单元710、判别模型获取单元720、模型预测单元730、损失函数确定单元740、梯度信息确定单元750、模型更新单元760和梯度信息提供单元770。
在进行模型训练时,向量表示单元710、判别模型获取单元720、模型预测单元730、损失函数确定单元740、梯度信息确定单元750、模型更新单元760和梯度信息提供单元770循环操作,直到满足循环结束条件。所述循环结束条件例如可以包括:达到预定循环次数,所述判别模型的各个模型参数的变化量不大于预定阈值;或者当前总损失函数位于预定范围内。在循环过程未结束时,更新后的各个数据拥有方的图神经网络子模型以及服务端的判别模型用作下一循环过程的当前模型
具体地,向量表示单元710被配置为将当前特征数据子集提供给当前图神经网络子模型,以得到当前图神经网络子模型的各个节点的特征向量表示。向量表示单元710的操作可以参考上面参照图4描述的403的操作。
判别模型获取单元720被配置为从服务端获取当前判别模型。判别模型获取单元720的操作可以参考上面参照图4描述的404的操作。
模型预测单元730被配置为将各个节点的特征向量表示提供给当前判别模型,以得到各个节点的当前预测标签值。模型预测单元730的操作可以参考上面参照图4描述的405的操作。
损失函数确定单元740被配置为根据各个节点的当前预测标签值以及对应的真实标签值,确定当前损失函数。损失函数确定单元740的操作可以参考上面参照图4描述的406的操作。
梯度信息确定单元750被配置为在不满足循环结束条件时,基于当前损失函数,确定当前判别模型的梯度信息。梯度信息确定单元750的操作可以参考上面参照图4描述的407的操作。
模型更新单元760被配置为在不满足循环结束条件时,基于当前损失函数,更新当前图神经网络子模型的模型参数。模型更新单元760的操作可以参考上面参照图4描述的407的操作。
梯度信息提供单元770被配置为将当前判别模型的梯度信息提供给服务端,所述服务端使用来自各个数据拥有方的所述当前判别模型的梯度信息来更新服务端处的判别模型。梯度信息提供单元770的操作可以参考上参照图4描述的408的操作。
在本说明书的一个示例中,梯度信息提供单元770可以采用安全聚合的方式来将当前判别模型的梯度信息提供给服务端。
此外,可选地,模型训练装置700还可以包括训练样本子集获取单元(未示出)。在每次循环操作时,训练样本子集获取单元被配置为获取当前训练样本子集。
图8示出了根据本说明书实施例的用于经由多个数据拥有方来协同训练图神经网络模型的装置(下文中称为模型训练装置800)的方框图。在该实施例中,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值。模型训练装置800位于服务端侧。
如图8所示,模型训练装置800包括判别模型提供单元810、梯度信息获取单元820和模型更新单元830。
在进行模型训练时,判别模型提供单元810、梯度信息获取单元820和模型更新单元830循环操作,直到满足循环结束条件。所述循环结束条件例如可以包括:达到预定循环次数,所述判别模型的各个模型参数的变化量不大于预定阈值;或者当前总损失函数位于预定范围内。在循环过程未结束时,更新后的各个数据拥有方的图神经网络子模型以及服务端的判别模型用作下一循环过程的当前模型。
具体地,判别模型提供单元810被配置为将当前判别模型提供给各个数据拥有方,以供各个数据拥有方使用来预测各个节点的预测标签值。判别模型提供单元810的操作可以参考上面参照图4描述的404的操作。
梯度信息获取单元820被配置为在未满足循环结束条件时,从各个数据拥有方获取当前判别模型的对应梯度信息。梯度信息获取单元820的操作可以参考上面参照图4描述的408的操作。
判别模型更新单元830被配置基于来自各个数据拥有方的梯度信息来更新当前判别模型。判别模型更新单元830的操作可以参考上面参照图4描述的409的操作。
图9示出了根据本说明书的实施例的用于基于图神经网络模型来进行模型预测的装置(下文中简称为模型预测装置900)的方框图。模型预测装置900应用于数据拥有方。
如图9所述,模型预测装置900包括向量表示单元910、判别模型获取单元920和模型预测单元930。
向量表示单元910被配置为将待预测数据提供给数据拥有方处的图神经网络子模型,以得到图神经网络子模型的各个节点的特征向量表示。判别模型获取单元920被配置为从服务端获取判别模型。模型预测单元930被配置为将各个节点的特征向量表示提供给判别模型,以得到各个节点的预测标签值,由此完成模型预测过程。
如上参照图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描述的各种操作和功能。
图12示出了根据本说明书实施例的用于基于图神经网络模型进行模型预测的电子设备1200的硬件结构图。如图12所示,电子设备1200可以包括至少一个处理器1210、存储器(例如,非易失性存储器)1220、内存1230和通信接口1240,并且至少一个处理器1210、存储器1220、内存1230和通信接口1240经由总线1260连接在一起。至少一个处理器1210执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1210:将待预测数据提供给数据拥有方处的图神经网络子模型,以得到所述图神经网络子模型的各个节点的特征向量表示;从服务端获取判别模型;以及将各个节点的特征向量表示提供给判别模型,以得到各个节点的预测标签值。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1210进行本说明书的各个实施例中以上结合图1-9描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-9描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (19)
1.一种用于经由多个数据拥有方来训练图神经网络模型的方法,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值,所述方法由数据拥有方执行,所述方法包括:
执行下述循环过程,直到满足循环结束条件:
将当前特征数据子集提供给所述数据拥有方处的当前图神经网络子模型,以得到所述当前图神经网络子模型的各个节点的特征向量表示;
从服务端获取当前判别模型;
将各个节点的特征向量表示提供给所述当前判别模型,以得到各个节点的当前预测标签值;
根据各个节点的当前预测标签值以及对应的真实标签值,确定当前损失函数;
在不满足循环结束条件时,
基于所述当前损失函数确定所述当前判别模型的梯度信息,并且基于所述当前损失函数更新当前图神经网络子模型的模型参数;以及
将所述当前判别模型的梯度信息提供给所述服务端,所述服务端使用来自于各个数据拥有方的所述当前判别模型的梯度信息来更新所述服务端处的判别模型,其中,在未满足所述循环结束条件时,所述更新后的各个数据拥有方的图神经网络子模型和所述服务端处的判别模型用作下一循环过程的当前模型。
2.如权利要求1所述的方法,其中,各个数据拥有方处得到的梯度信息通过安全聚合的方式提供给所述服务端。
3.如权利要求2所述的方法,其中,所述安全聚合包括:
基于秘密共享的安全聚合;
基于同态加密的安全聚合;或者
基于可信执行环境的安全聚合。
4.如权利要求1所述的方法,其中,在每次循环过程中,所述方法还包括:
获取当前训练样本子集。
5.如权利要求1到4中任一所述的方法,其中,所述循环结束条件包括:
预定循环次数;
所述判别模型的各个模型参数的变化量不大于预定阈值;或者
当前总损失函数位于预定范围内。
6.如权利要求1到4中任一所述的方法,其中,所述特征数据包括基于图像数据、语音数据或文本数据的特征数据,或者所述特征数据包括用户特征数据。
7.一种用于经由多个数据拥有方来训练图神经网络模型的方法,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值,所述方法由服务端执行,所述方法包括:
执行下述循环过程,直到满足循环结束条件:
将当前判别模型提供给各个数据拥有方,各个数据拥有方将当前图神经网络子模型的各个节点的特征向量表示提供给所述当前判别模型以得到各个节点的预测标签值,基于各个节点的预测标签值以及对应的真实标签值确定各自的当前损失函数,以及在不满足循环结束条件时,各个数据拥有方基于各自的当前损失函数确定判别模型的梯度信息,以及基于各自的当前损失函数更新当前图神经网络子模型的模型参数,并且将所确定的梯度信息提供给所述服务端,所述各个节点的特征向量表示通过将当前特征数据子集提供给所述当前图神经网络子模型而得到;
在未满足所述循环结束条件时,从各个数据拥有方获取所述当前判别模型的对应梯度信息,并且基于来自各个数据拥有方的梯度信息更新所述当前判别模型,
其中,在未满足所述循环结束条件时,所述更新后的各个数据拥有方的图神经网络子模型和所述服务端的判别模型用作下一循环过程的当前模型。
8.如权利要求7所述的方法,其中,各个数据拥有方处得到的梯度信息通过安全聚合的方式提供给所述服务端。
9.如权利要求8所述的方法,其中,所述安全聚合包括:
基于秘密共享的安全聚合;
基于同态加密的安全聚合;或者
基于可信执行环境的安全聚合。
10.一种用于经由多个数据拥有方来训练图神经网络模型的装置,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值,所述装置应用于数据拥有方,所述装置包括:
向量表示单元,将当前特征数据子集提供给当前图神经网络子模型,以得到所述当前图神经网络子模型的各个节点的特征向量表示;
判别模型获取单元,从服务端获取当前判别模型;
模型预测单元,将各个节点的特征向量表示提供给所述当前判别模型,以得到各个节点的当前预测标签值;
损失函数确定单元,根据各个节点的当前预测标签值以及对应的真实标签值,确定当前损失函数;
梯度信息确定单元,在不满足循环结束条件时,基于所述当前损失函数,确定所述当前判别模型的梯度信息;
模型更新单元,在不满足循环结束条件时,基于所述当前损失函数,更新当前图神经网络子模型的模型参数;以及
梯度信息提供单元,将所述当前判别模型的梯度信息提供给所述服务端,所述服务端使用来自各个数据拥有方的所述当前判别模型的梯度信息来更新所述服务端处的判别模型,
其中,所述向量表示单元,所述判别模型获取单元、所述模型预测单元、所述损失函数确定单元、所述梯度信息确定单元、所述模型更新单元和所述梯度信息提供单元循环操作,直到满足所述循环结束条件,在未满足所述循环结束条件时,所述更新后的各个数据拥有方的图神经网络子模型和所述服务端的判别模型用作下一循环过程的当前模型。
11.如权利要求10所述的装置,其中,所述梯度信息提供单元使用安全聚合的方式来将所述数据拥有方处得到的梯度信息提供给所述服务端。
12.如权利要求11所述的装置,其中,所述安全聚合包括:
基于秘密共享的安全聚合;
基于同态加密的安全聚合;或者
基于可信执行环境的安全聚合。
13.如权利要求10所述的装置,还包括:
训练样本子集获取单元,在每次循环操作时,获取当前训练样本子集。
14.一种用于经由多个数据拥有方来训练图神经网络模型的装置,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值,所述装置应用于服务端,所述装置包括:
判别模型提供单元,将当前判别模型提供给各个数据拥有方,各个数据拥有方将当前图神经网络子模型的各个节点的特征向量表示提供给所述当前判别模型来得到各个节点的预测标签值,基于各个节点的预测标签值以及对应的真实标签值来确定出各自的当前损失函数,以及在不满足循环结束条件时,各个数据拥有方基于各自的当前损失函数确定判别模型的梯度信息,以及基于各自的当前损失函数更新当前图神经网络子模型的模型参数,并且将所确定的梯度信息提供给所述服务端,所述各个节点的特征向量表示通过将当前特征数据子集提供给所述当前图神经网络子模型而得到;
梯度信息获取单元,在未满足循环结束条件时,从各个数据拥有方获取所述当前判别模型的对应梯度信息;以及
判别模型更新单元,基于来自各个数据拥有方的梯度信息来更新所述当前判别模型,
其中,所述判别模型提供单元,所述梯度信息获取单元和所述判别模型更新单元循环操作,直到满足所述循环结束条件,在未满足所述循环结束条件时,所述更新后的各个数据拥有方的图神经网络子模型和所述服务端的判别模型用作下一循环过程的当前模型。
15.一种用于经由多个数据拥有方来训练图神经网络模型的系统,包括:
多个数据拥有方设备,每个数据拥有方设备包括如权利要求10到13中任一所述的装置;以及
服务端设备,包括如权利要求14所述的装置,
其中,所述图神经网络模型包括位于服务端的判别模型以及位于各个数据拥有方处的图神经网络子模型,每个数据拥有方具有通过对用于模型训练的训练样本集进行水平切分而获得的训练样本子集,所述训练样本子集包括特征数据子集以及真实标签值。
16.一种电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到6中任一所述的方法。
17.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到6中任一所述的方法。
18.一种电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求7到9中任一所述的方法。
19.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求7到9中任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010096248.8A CN110929870B (zh) | 2020-02-17 | 2020-02-17 | 图神经网络模型训练方法、装置及系统 |
PCT/CN2020/132667 WO2021164365A1 (zh) | 2020-02-17 | 2020-11-30 | 图神经网络模型训练方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010096248.8A CN110929870B (zh) | 2020-02-17 | 2020-02-17 | 图神经网络模型训练方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110929870A CN110929870A (zh) | 2020-03-27 |
CN110929870B true CN110929870B (zh) | 2020-06-12 |
Family
ID=69854815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010096248.8A Active CN110929870B (zh) | 2020-02-17 | 2020-02-17 | 图神经网络模型训练方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110929870B (zh) |
WO (1) | WO2021164365A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929870B (zh) * | 2020-02-17 | 2020-06-12 | 支付宝(杭州)信息技术有限公司 | 图神经网络模型训练方法、装置及系统 |
CN111581648B (zh) * | 2020-04-06 | 2022-06-03 | 电子科技大学 | 在不规则用户中保留隐私的联邦学习的方法 |
CN111612126A (zh) * | 2020-04-18 | 2020-09-01 | 华为技术有限公司 | 强化学习的方法和装置 |
CN111665861A (zh) * | 2020-05-19 | 2020-09-15 | 中国农业大学 | 一种轨迹跟踪控制方法、装置、设备和存储介质 |
CN111553470B (zh) * | 2020-07-10 | 2020-10-27 | 成都数联铭品科技有限公司 | 适用于联邦学习的信息交互系统及方法 |
CN111737474B (zh) * | 2020-07-17 | 2021-01-12 | 支付宝(杭州)信息技术有限公司 | 业务模型的训练和确定文本分类类别的方法及装置 |
CN111738438B (zh) * | 2020-07-17 | 2021-04-30 | 支付宝(杭州)信息技术有限公司 | 图神经网络模型训练方法、装置及系统 |
CN111783143B (zh) * | 2020-07-24 | 2023-05-09 | 支付宝(杭州)信息技术有限公司 | 用户数据的业务模型使用确定方法、装置及系统 |
CN112052942B (zh) * | 2020-09-18 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 神经网络模型训练方法、装置及系统 |
CN112131303A (zh) * | 2020-09-18 | 2020-12-25 | 天津大学 | 基于神经网络模型的大规模数据沿袭方法 |
CN112364819A (zh) * | 2020-11-27 | 2021-02-12 | 支付宝(杭州)信息技术有限公司 | 一种联合训练识别模型的方法和装置 |
CN112766500B (zh) * | 2021-02-07 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 图神经网络的训练方法及装置 |
CN113052333A (zh) * | 2021-04-02 | 2021-06-29 | 中国科学院计算技术研究所 | 基于联邦学习进行数据分析的方法及系统 |
CN113254996B (zh) * | 2021-05-31 | 2022-12-27 | 平安科技(深圳)有限公司 | 图神经网络训练方法、装置、计算设备及存储介质 |
CN113222143B (zh) * | 2021-05-31 | 2023-08-01 | 平安科技(深圳)有限公司 | 图神经网络训练方法、系统、计算机设备及存储介质 |
CN113221153B (zh) * | 2021-05-31 | 2022-12-27 | 平安科技(深圳)有限公司 | 图神经网络训练方法、装置、计算设备及存储介质 |
CN113849665A (zh) * | 2021-09-02 | 2021-12-28 | 中科创达软件股份有限公司 | 多媒体数据识别方法、装置、设备及存储介质 |
CN113571133B (zh) * | 2021-09-14 | 2022-06-17 | 内蒙古农业大学 | 一种基于图神经网络的乳酸菌抗菌肽预测方法 |
CN113771289B (zh) * | 2021-09-16 | 2022-06-24 | 健大电业制品(昆山)有限公司 | 一种注塑成型工艺参数优化的方法和系统 |
CN114117926B (zh) * | 2021-12-01 | 2024-05-14 | 南京富尔登科技发展有限公司 | 一种基于联邦学习的机器人协同控制算法 |
CN114819139A (zh) * | 2022-03-28 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 一种图神经网络的预训练方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684855A (zh) * | 2018-12-17 | 2019-04-26 | 电子科技大学 | 一种基于隐私保护技术的联合深度学习训练方法 |
CN110751275A (zh) * | 2019-08-03 | 2020-02-04 | 北京达佳互联信息技术有限公司 | 图训练系统、数据访问方法及装置、电子设备、存储介质 |
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4202782A1 (en) * | 2015-11-09 | 2023-06-28 | Google LLC | Training neural networks represented as computational graphs |
US20190286973A1 (en) * | 2018-03-14 | 2019-09-19 | Microsoft Technology Licensing, Llc | Hardware accelerated neural network subgraphs |
CN110751269B (zh) * | 2019-10-18 | 2022-08-05 | 网易(杭州)网络有限公司 | 图神经网络训练方法、客户端设备及系统 |
CN110929870B (zh) * | 2020-02-17 | 2020-06-12 | 支付宝(杭州)信息技术有限公司 | 图神经网络模型训练方法、装置及系统 |
-
2020
- 2020-02-17 CN CN202010096248.8A patent/CN110929870B/zh active Active
- 2020-11-30 WO PCT/CN2020/132667 patent/WO2021164365A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684855A (zh) * | 2018-12-17 | 2019-04-26 | 电子科技大学 | 一种基于隐私保护技术的联合深度学习训练方法 |
CN110751275A (zh) * | 2019-08-03 | 2020-02-04 | 北京达佳互联信息技术有限公司 | 图训练系统、数据访问方法及装置、电子设备、存储介质 |
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110929870A (zh) | 2020-03-27 |
WO2021164365A1 (zh) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929870B (zh) | 图神经网络模型训练方法、装置及系统 | |
CN112052942B (zh) | 神经网络模型训练方法、装置及系统 | |
CN110942147B (zh) | 基于多方安全计算的神经网络模型训练及预测方法、装置 | |
CN111523673B (zh) | 模型训练方法、装置及系统 | |
CN111061963B (zh) | 基于多方安全计算的机器学习模型训练及预测方法、装置 | |
US11715044B2 (en) | Methods and systems for horizontal federated learning using non-IID data | |
CN111738438B (zh) | 图神经网络模型训练方法、装置及系统 | |
CN113536383B (zh) | 基于隐私保护训练图神经网络的方法及装置 | |
CN111062487B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN111079939B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN112580826B (zh) | 业务模型训练方法、装置及系统 | |
CN112132270B (zh) | 基于隐私保护的神经网络模型训练方法、装置及系统 | |
CN110929887B (zh) | 逻辑回归模型训练方法、装置及系统 | |
CN111523556B (zh) | 模型训练方法、装置及系统 | |
CN111523134B (zh) | 基于同态加密的模型训练方法、装置及系统 | |
CN111368983A (zh) | 业务模型训练方法、装置及业务模型训练系统 | |
CN111523674A (zh) | 模型训练方法、装置及系统 | |
CN111737756B (zh) | 经由两个数据拥有方进行的xgb模型预测方法、装置及系统 | |
CN113033824A (zh) | 模型超参数确定方法、模型训练方法及系统 | |
CN112183759B (zh) | 模型训练方法、装置及系统 | |
CN112183757B (zh) | 模型训练方法、装置及系统 | |
CN111738453B (zh) | 基于样本加权的业务模型训练方法、装置及系统 | |
CN112288088B (zh) | 业务模型训练方法、装置及系统 | |
CN112183566B (zh) | 模型训练方法、装置及系统 | |
US20230084507A1 (en) | Servers, methods and systems for fair and secure vertical federated learning |
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 |