CN113221153A - 图神经网络训练方法、装置、计算设备及存储介质 - Google Patents
图神经网络训练方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN113221153A CN113221153A CN202110605548.9A CN202110605548A CN113221153A CN 113221153 A CN113221153 A CN 113221153A CN 202110605548 A CN202110605548 A CN 202110605548A CN 113221153 A CN113221153 A CN 113221153A
- Authority
- CN
- China
- Prior art keywords
- training
- terminal
- local
- neural network
- network
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及人工智能技术领域,尤其涉及一种图神经网络训练方法、装置、设备及存储介质。该图神经网络训练方法应用在一种图神经网络训练系统中,图神经网络训练系统包括多个训练终端以及可信终端;训练终端包括标签持有端;该图神经网络训练方法包括通过可信终端生成同态加密密钥对,并将同态加密密钥对中的公钥发送给各训练终端;通过训练终端计算对应的本地特征,并采用公钥对本地特征进行加密;基于同态加密机制,聚合每一训练终端的本地特征密文,得到全局特征密文,通过可信终端采用私钥对全局特征密文进行解密,以基于解密后的全局特征训练全局图神经网络。该图神经网络模型训练方法可有效解决用户个人隐私的安全性问题。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种图神经网络训练方法、装置、计算设备及存储介质。
背景技术
近年来,将图结构和深度神经网络相结合的图神经网络技术在节点分类,连接预测等图模型问题上的表现逐渐超越了传统的图算法,因而也越来越多地应用于实际生产当中。但是在实际应用中数据往往蕴含着不同用户个体的隐私信息,传统的图神经网络模型构建方法中建模者必须掌握所有数据,在数据来自多个不同数据源的情况下数据隐私会泄露至模型的训练方,导致传统的图神经网络模型构建方法无法保证用户个人隐私的安全性问题。
发明内容
本发明实施例提供一种图神经网络训练方法、装置、计算设备及存储介质,以解决传统的图神经网络模型构建方法无法保证用户个人隐私的安全性问题。
一种图神经网络训练方法,应用在一种图神经网络训练系统中,所述图神经网络训练系统包括多个训练终端以及可信终端;所述训练终端包括标签持有端;不同的训练终端包括不同的本地图数据以及本地图神经网络;所述图神经网络训练方法包括包括:
通过所述可信终端生成同态加密密钥对,并将所述同态加密密钥对中的公钥发送给各所述训练终端;
通过每一所述训练终端根据所述本地图数据计算对应的本地特征,将采用所述公钥对所述本地特征进行加密,得到本地特征密文;
基于同态加密机制,聚合每一所述训练终端的本地特征密文,得到聚合后的全局特征密文,并将所述全局特征发送给所述可信终端;
通过所述可信终端采用所述同态加密密钥对中的私钥对所述全局特征密文进行解密,以基于解密后的全局特征训练全局图神经网络,并将所述网络输出结果发送至所述标签持有端;
通过所述标签持有端根据所述网络输出结果计算网络梯度并返回给所述可信终端,以使所述可信终端根据所述网络梯度更新所述全局图神经网络,并将更新后的网络参数发送至对应的所述训练终端以更新所述本地图神经网络。
一种图神经网络训练系统,包括:
密钥生成模块,用于通过所述可信终端生成同态加密密钥对,并将所述同态加密密钥对中的公钥发送给各所述训练终端;
本地特征加密模块,用于通过每一所述训练终端根据所述本地图数据计算对应的本地特征,并采用所述公钥对所述本地特征进行加密,得到本地特征密文;
全局特征聚合模块,用于基于同态加密机制,聚合每一所述训练终端的本地特征密文,得到聚合后的全局特征密文,并将所述全局特征密文发送给所述可信终端;
全局特征解密模块,用于通过所述可信终端采用所述同态加密密钥对中的私钥对所述全局特征密文进行解密,以基于解密后的全局特征训练全局图神经网络,并将所述网络输出结果发送至所述标签持有端;
图神经网络训练模块,用于通过所述标签持有端根据所述网络输出结果计算网络梯度并返回给所述可信终端,以使所述可信终端根据所述网络梯度更新所述全局图神经网络,并将更新后的网络参数发送至对应的所述训练终端以更新所述本地图神经网络。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述图神经网络训练方法的步骤。
一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述图神经网络训练方法的步骤。
上述图神经网络训练方法、装置、计算设备及存储介质中,通过所述可信终端生成同态加密密钥对,并将所述同态加密密钥对中的公钥发送给各所述训练终端,以便各训练终端采用所述公钥对计算得到的本地特征进行加密,得到本地特征密文,以在各训练终端间聚合本地特征时,不会泄露各终端的本地数据。然后,基于同态加密机制,聚合每一所述训练终端的本地特征密文,得到聚合后的全局特征密文,并将所述全局特征密文发送给所述可信终端,在实现综合多方特征数据的同时,有效避免在图神经网络模型训练过程中出现隐私泄露的风险。接着,通过所述可信终端采用所述同态加密密钥对中的私钥对所述全局特征密文进行解密,以基于解密后的全局特征训练全局图神经网络,并将所述网络输出结果发送至所述标签持有端,通过所述标签持有端根据所述网络输出结果计算网络梯度并返回给所述可信终端,以使所述可信终端根据所述网络梯度更新所述全局图神经网络,并将更新后的网络参数发送至对应的所述训练终端以更新所述本地图神经网络使得训练过程中各个训练终端的数据不会脱离本地,在保护数据隐私的条件下实现了图神经网络的训练。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中图神经网络训练方法的一流程图;
图2是图1中步骤S12的一具体流程图;
图3是图2中步骤S22的一具体流程图;
图4是图2中步骤S21的一具体流程图;
图5是图1中步骤S13的一具体流程图;
图6是图1中步骤S15的一具体流程图;
图7是图6中步骤S61的一具体流程图;
图8是本发明一实施例中图神经网络训练系统的一示意图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
该图神经网络训练方法可应用一种图神经网络训练系统中,图神经网络训练系统包括多个训练终端以及可信终端;每一训练终端训练对应的本地图神经网络;不同的训练终端包括不同的本地图数据;训练终端包括多个无标签终端以及一个标签持有端。其中,无标签终端即指本地仅有训练样本的特征数据,而该训练样本未有对应的真实标签,即该训练样本未被标注。标签持有端即指本地既有训练样本的特征数据,同时该训练样本也有对应的真实标签。可信终端即为用于进行全局网络训练的受信任的第三方。
在一实施例中,如图1所示,提供一种图神经网络训练方法,具体包括如下步骤:
S11:通过可信终端生成同态加密密钥对,并将同态加密密钥对中的公钥发送给各训练终端。
其中,通过可信终端采用非对称加密算法(例如RSA)生成同态加密密钥对,该同态加密密钥对包括公钥和对应的私钥,该可信终端将该同态加密密钥对中的公钥发送给各训练终端,以使各训练终端在基于同态加密的方式聚合特征时,采用该公钥对本地数据进行加密,保障本地隐私数据不会泄露。
S12:通过每一训练终端根据本地图数据计算对应的本地特征,并采用公钥对本地特征进行加密,得到本地特征密文。
其中,不同的训练终端对应不同的本地图数据以及本地图神经网络,该本地图数据包括多个图节点、每一图节点对应的节点特征以及多节点之间的连接关系。需要说明的是,于本实施例中,不同训练终端对应的本地图书中的图节点相同,但其对应节点特征以及节点间的连接关系不同。
例如,训练终端A为微信,其包括本地图数据为三个图节点M、N、P(如用户节点),每一用户节点均包括a,b,c这三种节点特征,这三种节点特征可分别为微信步数、零钱通余额以及发布朋友圈的数量,其节点间的连接关系可通过微信好友关系建立;训练终端B为网易云音乐,其包括与训练中A相同的图节点M、N、P(如用户节点),每一用户节点均包括d,e这两种节点特征,这两种节点特征分别为最常听的音乐类型,最喜欢的歌手,其节点间的连接关系可通过微信好友关系建立。
具体地,在计算本地特征时,可通过训练终端在本地直接将本地图数据与所初始化的特征矩阵W相乘即可得到训练终端对应的本地特征,该本地特征可用于表征本地图数据的图结构信息。
具体地,不同的本地图数据种同一图节点对应的节点特征不同,而这些特征分散在不同的训练终端,故为聚合多方特征数据训练全局图神经网络,则需要将每一训练终端对应提取得到的本地特征与其他训练终端对应提取到的本地特征进行融合,而在融合过程中为保证本地特征不会泄露至其他训练终端,本实施例中通过对本地特征采用公钥加密后传递给下一训练终端,以使其他训练终端无法得知该本地特征的具体内容。
S13:基于同态加密机制,聚合每一训练终端的本地特征密文,得到聚合后的全局特征密文,并将全局特征密文发送给可信终端。
具体地,由于不同训练终端所持有的本地图数据包含用户的个人信息,而这些信息属于敏感信息,故为保证后续聚合多方局部特征时,避免泄露用户敏感信息,本实施例中基于同态加密机制,聚合每一训练终端的本地特征密文,得到聚合后的全局特征密文,以使各训练终端之间均无法得知除训练终端本地数据外的其他训练终端的本地数据,以保障多方数据在聚合过程中不易泄露。
由于同态加密机制具有可在密文状态下相加,其结果与明文相加得到的结果等价的特性,故本实施例中,通过将每一训练终端计算得到的局部特征密文进行累加,得到最终的累加结果即为全局特征密文,并将全局特征密文发送给可信终端,保障数据在传输过程中的安全性。
S14:通过可信终端采用同态加密密钥对中的私钥对全局特征密文进行解密,以基于解密后的全局特征训练全局图神经网络,并将网络输出结果发送至标签持有端。
其中,通过可信终端采用同态加密密钥对中的私钥对全局特征密文进行解密,以获取合多方数据特征后的全局特征。
具体地,将全局特征输入至全局图神经网络进行训练,即可得到网络输出结果,该训练过程与传统的图神经网络训练过程一致,由于全局特征可表征为多个局部特征的聚合,即每一节点的节点特征聚合了多方特征数据,故将每一节点聚合的多方特征数据作为训练样本输入至预先构建的全局图神经网络进行计算,即可得到对应的该节点对应的网络输出结果,例如感兴趣0或不感兴趣1。
具体地,由于标签持有端包括训练样本所需的标签数据,例如当前训练任务为预测某用户对某个广告是否感兴趣,则标签持有端则持有该用户节点的标签数据,即感兴趣或不感兴趣。故需要将网络输出结果发送至标签持有端,以使标签持有端根据网络输出结果计算网络梯度并返回给可信终端。其中,标签持有端可调用预设的损失函数(如交叉熵损失函数),以根据该网络输出结果以及该用户节点对应标注的真实标签,计算网络损失,并根据该网络损失对网络中的网络参数(如不同本地图数据中各节点间的连接权值)求偏导,即可获取该网络参数对应的网络梯度。
S15:通过标签持有端根据网络输出结果计算网络梯度并返回给可信终端,以使可信终端根据网络梯度更新全局图神经网络,并将更新后的网络参数发送至对应的训练终端以更新本地图神经网络。
具体地,通过计算网络参数对应的网络梯度,以根据该网络梯度反向更新全局图神经网络,例如通过BP(BackpropagatioN,反向传播)算法根据该网络梯度反向更新全局图神经网络,该网络更新的实现过程与传统神经网络的误差反传更新过程一致,此处不再赘述。
具体地,通过可信终端根据网络梯度更新全局图神经网络,以得到更新后的网络参数,并将更新后的网络参数(即更新后的不同本地图数据中各节点间的连接权值)发送至对应的训练终端以更新本地图神经网络。本实施例中,通过不同训练终端构建对应的本地图数据,训练本地图神经网络,以将图结构与神经网络技术相结合,充分发挥了深度神经网络捕捉高维特征空间特征的能力,可应用图神经网络解决传统的图算法难以处理且更复杂的问题。
本实施例中,通过可信终端生成同态加密密钥对,并将同态加密密钥对中的公钥发送给各训练终端,以便各训练终端采用公钥对计算得到的本地特征进行加密,得到本地特征密文,以在各训练终端间聚合本地特征时,不会泄露各终端的本地数据。然后,基于同态加密机制,聚合每一训练终端的本地特征密文,得到聚合后的全局特征密文,并将全局特征密文发送给可信终端,在实现综合多方特征数据的同时,有效避免在图神经网络模型训练过程中出现隐私泄露的风险。接着,通过可信终端采用同态加密密钥对中的私钥对全局特征密文进行解密,以基于解密后的全局特征训练全局图神经网络,并将网络输出结果发送至标签持有端,通过标签持有端根据网络输出结果计算网络梯度并返回给可信终端,以使可信终端根据网络梯度更新全局图神经网络,并将更新后的网络参数发送至对应的训练终端以更新本地图神经网络使得训练过程中各个训练终端的数据不会脱离本地,在保护数据隐私的条件下实现了图神经网络的训练。
在一实施例中,如图2所示,步骤S12中,即通过每一训练终端根据本地图数据计算对应的本地特征,具体包括如下步骤:
S21:通过每一训练终端构建对应的局部特征矩阵。
其中,局部特征矩阵为N行M列的矩阵;N为预先由多方协商确定的提取特征数;M表示训练终端对应的节点特征数量;不同的训练终端可根据本地图数据构建对应的局部特征矩阵。示例性地,假设训练终端对应的节点特征a,b,c,即节点特征数量为3个,故该训练终端可构建N行3列的局部特征矩阵。
S22:通过训练终端将局部特征矩阵与对应的本地图数据相乘,得到每一训练终端对应的本地特征。
其中,不同的训练终端可在本地预先构建对应的局部特征矩阵,例如,某训练终端所持有的节点特征数量为p,则该训练终端构建的局部特征矩阵W的大小为N*p,并初始化该局部特征矩阵W。
具体地,训练终端将局部特征矩阵与对应的本地图数据相乘,得到即与本地图数据中每一图节点对应的节点特征相乘,得到每一图节点的样本特征,这多个节点的样本特征的集合即为训练终端对应的本地特征。
在一实施例中,如图3所示,本地图数据包括多个图节点、图节点对应的节点特征以及图节点之间的连接权值;步骤S22中,即通过训练终端将局部特征矩阵与对应的本地图数据相乘,得到每一训练终端对应的本地特征,具体包括如下步骤:
S31:基于连接权值对每一图节点的节点特征进行聚合,以更新每一图节点对应的节点特征。
S32:将局部特征矩阵与更新后的每一图节点对应的节点特征相乘,以得到每一图节点的提取特征。
S34:基于每一图节点对应的提取特征,获取训练终端对应的本地特征。
可以理解地是,图神经网络中的主要思想为通过对某节点具有连接关系的多个邻居节点的特征进行聚合,以更新该节点自身的信息表达,而不再仅针对自身特征进行网络训练,可解释性更强。
具体地,将本地子图输入至图神经网络进行预测,得到图神经网络输出的预测结果,即将本地子图作为训练样本输入至图神经网络中进行特征的聚合处理,以得到图中每一特征节点(即用户节点以及目标推荐项目)对应的聚合后的特征向量。
作为一实施方式,本实施例中通过连接权值,以对每一图节点的节点特征进行聚合,以更新每一图节点对应的节点特征,然后将局部特征矩阵与更新后的每一图节点对应的节点特征相乘,得到每一图节点的提取特征,这些节点对应的提取特征即为训练终端对应的本地特征。
示例性地,假设本地子图中包括用户节点A,与其具有连接关系的其他目标用户节点包括B、C和D,用户节点A与其他目标用户节点B、C和D之间的连接权值分别为a、b、c,此时A对应一特征向量比如(1,3,4),B对应一特征向量比如(2,1,2)、C对应一特征向量比如(3,2,3)以及D对应一特征向量比如(4,3,4),用户节点A的节点特征通过连接权值a、b、c进行聚合更新,即Z=A+α*N,N=a*B+b*C+c*D=a*(2,1,2)+b*(3,2,3)+c*(4,3,4),其中,Z即为更新后的用户节点A的聚合特征;α为一可调节参数,该参数的取值可自定义或通过注意力机制等方式获取,此处不做限定。
需要说明的是上述示例仅作举例说明,对于图神经网络模型中的具体计算也可根据实际情况进行调整,此处不做限定。
进一步地,假设某训练终端对应的局部特征矩阵为W,该W的矩阵大小为2行3列,即该训练终端对应的每一图节点对应的节点特征数量均为3,预设的提取特征数位2,假设该局部特征矩阵为图节点对应的数据为[4,2,5],那么将这两个数据相乘,即可得到长度为2的向量,即该图节点对应的提取特征为[2*4+5*2+3*5=33,4*4+3*2+5*2=32]。通过对每一图节点进行上述操作以得到每一图节点对应的提取特征,最终得到一矩阵大小为K(表示图节点的数量,每一图节点可理解为一个训练样本)*N(表示预设的提取特征数)的矩阵D即作为本地特征,该矩阵D中的第i行第j列表示为第i个图节点对应的第j个特征值。
在一实施例中,如图4所示,步骤S21中,即将通过每一训练终端构建对应的局部特征矩阵,具体包括如下步骤:
S41:根据本地图数据构建对应的本地矩阵;其中,本地矩阵的矩阵大小为N行M列;N表示预设的提取特征数;M表示训练终端对应的本地图数据中节点特征的数量。
S42:初始化本地矩阵,以得到局部特征矩阵。
其中,不同的训练终端可在本地预先构建对应的本地矩阵W,即根据其所持有的节点特征数量以及多方协商确定的提取特征数N,构建对应的本地矩阵W;例如,某训练终端所持有的节点特征数量为M,则构建的特征矩阵W的大小为N*M,并初始化该本地矩阵W,以得到局部特征矩阵。
在一实施例中,如图5所示,步骤S13中,即基于同态加密机制,聚合每一训练终端的本地特征密文,得到聚合后的全局特征密文,具体包括如下步骤:
S51:计算当前训练终端对应的密文聚合结果,并将当前训练终端对应的密文聚合结果发送至下一训练终端;其中,密文聚合结果为每一训练终端的本地特征密文以及上一训练终端发送的密文聚合结果相加得到。
S52:更新下一训练终端为当前训练终端,以重复执行计算当前训练终端对应的密文聚合结果的步骤,直至当前训练终端为最后一个训练终端,获取最后一个训练终端计算得到的全局特征密文。
示例地,假设训练终端包括三个,分别为A、B和C,A终端计算的本地特征密文为a,B终端计算的本地特征密文为b,C终端计算的本地特征密文为c,假设预设的训练终端执行顺序为A-B-C,然后通过同态加密方式聚合特征的过程如下:1)当前指针指向A终端,则计算当前训练终端A对应的密文聚合结果,该密文聚合结果为本地特征密文为a以及上一训练终端的密文聚合结果(即0)的加和,即a;将其发送至下一训练终端B;2)此时更新当前训练终端为B终端,即将当前指针指向B终端,并重复执行计算当前终端B的密文聚合结果,即将对应的本地特征密文b与a相加,得到B终端的密文聚合结果,即a(上一训练终端A对应的密文聚合结果)+b(B终端对应的本地特征密文),将B终端的密文聚合结果a+b发送至最后一个训练终端C,并更新当前训练终端为C,此时C终端将对应的本地特征密文c与上一训练终端B对应的密文聚合结果a+b相加,即得到C终端的密文聚合结果a+b+c,由于C终端为五i后一个训练重,故C终端计算德奥的密文聚合结果a+b+c即为全局特征密文,综合了A、B和C三个训练终端的本地特征密文,且各训练终端间的数据处于私密状态,可有保障各训练终端对应的数据隐私。
可以理解地是,在同态加密机制下,各训练终端的本地特征密文对应的明文特征累加的结果与该全局特征密文是相同的,故不会影响后续训练全局图神经网络的准确率。例如,训练终端A、B和C,A终端对应的本地特征明文为s,本地特征密文为a,B终端对应的本地特征明文为u,本地特征密文为b,C终端对应的本地特征明文为v,本地特征密文为c,在同态加密机制下,即有如下等价关系,即s+u+v=a+b+c。
在一实施例中,如图6所示,标签持有端包括每一图节点对应的真实标签;步骤S15中,即根据网络输出结果计算网络梯度并返回给可信终端,具体包括如下步骤:
S61:根据网络输出结果以及真实标签,计算网络损失。
其中,真实标签可指用户节点对不同预测类别的评分(例如70分、80分)或分类评价(例如喜欢或不喜欢)。具体地,可根据全局图神经网络的预测任务的不同,采用不同的损失函数计算损失,若全局图神经网络的预测任务为分类任务,则调用交叉熵损失函数,根据预测结果以及真实标签,计算网络损失;若全局图神经网络的预测任务为回归任务,则调用均方误差损失函数,根据预测结果以及真实标签,计算网络损失。
S62:基于网络损失,计算网络梯度。
在一实施例中,如图7所示,步骤S61中,即根据预测结果以及真实标签,计算网络损失,具体包括如下步骤:
S71:若全局图神经网络的预测任务为分类任务,则调用交叉熵损失函数,根据预测结果以及真实标签,计算网络损失。
具体地,若图神经网络的预测任务为分类任务,例如评价用户对某广告是否感兴趣,则调用交叉熵损失函数,根据预测结果以及真实标签,计算网络损失,即通过如下公式计算网络损失,crossENtropy=∑k-yk*log(pk),其中,pk是预测用户对某广告评价为第k类的概率,即网络输出结果,当真实标签,即用户实际对某广告的评价是第i类,那么yi=1,对于不等于i的k,yk均为0,即不感兴趣。
S72:若全局图神经网络的预测任务为回归任务,则调用均方误差损失函数,根据预测结果以及真实标签,计算网络损失。
具体地,若图神经网络的预测任务为回归任务,则调用均方误差损失函数,根据网络输出结果以及真实标签,计算网络损失,即通过如下公式计算网络损失,meaN squarederror=∑(y-groundtruth)2,其中y为网络输出结果,例如网络预测的用户对各类广告的感兴趣程度,即通过一评价分数表示(例如70分、80分或90分),grouNdtruth即为真实标签,用于表示用户实际对目标推荐项目的评价分数。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种图神经网络训练系统,该图神经网络训练系统与上述实施例中图神经网络训练方法一一对应。如图8所示,该图神经网络训练系统包括密钥生成模块10、本地特征加密模块20、全局特征聚合模块30、全局特征解密模块40以及图神经网络训练模块50。各功能模块详细说明如下:
密钥生成模块10,用于通过可信终端生成同态加密密钥对,并将同态加密密钥对中的公钥发送给各训练终端。
本地特征计算模块20,用于通过每一训练终端根据本地图数据计算对应的本地特征,并采用公钥对本地特征进行加密,得到本地特征密文。
全局特征聚合模块30,用于基于同态加密机制,聚合每一训练终端的本地特征密文,得到聚合后的全局特征密文,并将全局特征密文发送给可信终端。
全局特征解密模块40,用于通过可信终端采用同态加密密钥对中的私钥对全局特征密文进行解密,以基于解密后的全局特征训练全局图神经网络,并将网络输出结果发送至标签持有端。
图神经网络训练模块50,用于通过标签持有端根据网络输出结果计算网络梯度并返回给可信终端,以使可信终端根据网络梯度更新全局图神经网络,并将更新后的网络参数发送至对应的训练终端以更新本地图神经网络。
具体地,本地特征计算模块包括矩阵构建单元和本地特征计算单元。
矩阵构建单元,用于通过每一训练终端构建对应的局部特征矩阵。
本地特征计算单元,用于通过训练终端将局部特征矩阵与对应的本地图数据相乘,得到每一训练终端对应的本地特征。
具体地,本地图数据包括多个图节点、图节点对应的节点特征以及图节点之间的连接权值;本地特征计算单元包括节点特征聚合更新子单元、节点特征提取子单元以及本地特征提取子单元。
节点特征聚合更新子单元,用于基于连接权值对每一图节点的节点特征进行聚合,以更新每一图节点对应的节点特征。
节点特征提取子单元,用于将局部特征矩阵与更新后的每一图节点对应的节点特征相乘,以得到每一图节点的提取特征。
本地特征提取子单元,用于基于每一图节点对应的提取特征,获取训练终端对应的本地特征。
具体地,矩阵构建单元包括本地矩阵构建子单元和初始化子单元。
本地矩阵构建子单元,用于根据本地图数据构建对应的本地矩阵;其中,本地矩阵的矩阵大小为N行M列;N表示预设的提取特征数;M表示训练终端对应的本地图数据中节点特征的数量。
初始化子单元,用于初始化本地矩阵,以得到局部特征矩阵。
具体地,全局特征聚合模块包括密文聚合结果获取单元以及迭代聚合单元。
密文聚合结果计算单元,用于计算当前训练终端对应的密文聚合结果,并将当前训练终端对应的密文聚合结果发送至下一训练终端;其中,密文聚合结果为每一训练终端的本地特征密文以及上一训练终端发送的密文聚合结果相加得到。
迭代聚合单元,用于更新下一训练终端为当前训练终端,以重复执行计算当前训练终端对应的密文聚合结果的步骤,直至当前训练终端为最后一个训练终端,获取最后一个训练终端计算得到的全局特征密文。
具体地,标签持有端包括每一图节点对应的真实标签;图神经网络训练模块包括损失计算单元和网络梯度计算单元。
网络损失计算单元,用于根据网络输出结果以及真实标签,计算网络损失。
网络梯度计算单元,用于基于网络损失,计算网络梯度。
具体地,网络损失计算单元包括第一计算子单元以及第二计算子单元。
第一计算子单元,用于若全局图神经网络的预测任务为分类任务,则调用交叉熵损失函数,根据预测结果以及真实标签,计算网络损失。
第二计算子单元,用于若全局图神经网络的预测任务为回归任务,则调用均方误差损失函数,根据预测结果以及真实标签,计算网络损失。
关于图神经网络训练系统的具体限定可以参见上文中对于图神经网络训练方法的限定,在此不再赘述。上述图神经网络训练系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机存储介质、内存储器。该计算机存储介质存储有操作系统、计算机程序和数据库。该内存储器为计算机存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行图神经网络训练方法过程中生成或获取的数据,如本地图数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图神经网络训练方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的图神经网络训练方法的步骤,例如图2所示的步骤S11-S15,或者图3至图7中所示的步骤。或者,处理器执行计算机程序时实现图神经网络训练系统这一实施例中的各模块/单元的功能,例如图8所示的各模块/单元的功能,为避免重复,这里不再赘述。
在一实施例中,提供一计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中图神经网络训练方法的步骤,例如图2所示的步骤S11-S15,或者图3至图7中所示的步骤,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述图神经网络训练系统这一实施例中的各模块/单元的功能,例如图8所示的各模块/单元的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(SyNchliNk)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种图神经网络训练方法,其特征在于,应用在一种图神经网络训练系统中,所述图神经网络训练系统包括多个训练终端以及可信终端;所述训练终端包括标签持有端;不同的训练终端包括不同的本地图数据以及本地图神经网络;所述图神经网络训练方法包括:
通过所述可信终端生成同态加密密钥对,并将所述同态加密密钥对中的公钥发送给各所述训练终端;
通过每一所述训练终端根据所述本地图数据计算对应的本地特征,并采用所述公钥对所述本地特征进行加密,得到本地特征密文;
基于同态加密机制,聚合每一所述训练终端的本地特征密文,得到聚合后的全局特征密文,并将所述全局特征密文发送给所述可信终端;
通过所述可信终端采用所述同态加密密钥对中的私钥对所述全局特征密文进行解密,以基于解密后的全局特征训练全局图神经网络,并将网络输出结果发送至所述标签持有端;
通过所述标签持有端根据所述网络输出结果计算网络梯度并返回给所述可信终端,以使所述可信终端根据所述网络梯度更新所述全局图神经网络,并将更新后的网络参数发送至对应的所述训练终端以更新所述本地图神经网络。
2.如权利要求1所述图神经网络训练方法,其特征在于,所述通过每一所述训练终端根据所述本地图数据计算对应的本地特征,包括:
通过每一所述训练终端构建对应的局部特征矩阵;
通过所述训练终端将所述局部特征矩阵与对应的本地图数据相乘,得到每一所述训练终端对应的本地特征。
3.如权利要求2所述图神经网络训练方法,其特征在于,所述本地图数据包括多个图节点、所述图节点对应的节点特征以及所述图节点之间的连接权值;
所述通过所述训练终端将所述局部特征矩阵与对应的本地图数据相乘,得到每一所述训练终端对应的本地特征,包括:
基于所述连接权值对每一所述图节点的节点特征进行聚合,以更新每一所述图节点对应的节点特征;
将所述局部特征矩阵与更新后的每一所述图节点对应的节点特征相乘,以得到所述每一所述图节点的提取特征;
基于每一所述图节点对应的提取特征,获取所述训练终端对应的本地特征。
4.如权利要求3所述图神经网络训练方法,其特征在于,通过每一所述训练终端构建对应的局部特征矩阵,包括:
根据所述本地图数据构建对应的本地矩阵;其中,所述本地矩阵的矩阵大小为N行M列;所述N表示预设的提取特征数;所述M表示所述图节点对应的节点特征;
初始化所述本地矩阵,以得到所述局部特征矩阵。
5.如权利要求1所述图神经网络训练方法,其特征在于,所述基于同态加密机制,聚合每一所述训练终端的本地特征密文,得到聚合后的全局特征密文,包括:
计算当前训练终端对应的密文聚合结果,并将所述当前训练终端对应的密文聚合结果发送至下一训练终端;其中,所述密文聚合结果为每一所述训练终端的本地特征密文以及上一训练终端发送的密文聚合结果相加得到;
更新所述下一训练终端为当前训练终端,以重复执行所述计算当前训练终端对应的密文聚合结果的步骤,直至所述当前训练终端为最后一个训练终端,获取所述最后一个训练终端计算得到的全局特征密文。
6.如权利要求3所述图神经网络训练方法,其特征在于,所述标签持有端包括每一所述图节点对应的真实标签;
所述根据所述网络输出结果计算网络梯度并返回给所述可信终端,包括:
根据所述网络输出结果以及所述真实标签,计算网络损失;
基于所述网络损失,计算所述网络梯度。
7.如权利要求6所述图神经网络训练方法,其特征在于,所述根据所述网络输出结果以及所述真实标签,计算网络损失,包括:
若所述全局图神经网络的预测任务为分类任务,则调用交叉熵损失函数,根据所述预测结果以及所述真实标签,计算网络损失;
若所述全局图神经网络的预测任务为回归任务,则调用均方误差损失函数,根据所述预测结果以及所述真实标签,计算网络损失。
8.一种图神经网络训练系统,其特征在于,包括:
密钥生成模块,用于通过可信终端生成同态加密密钥对,并将所述同态加密密钥对中的公钥发送给各训练终端;
本地特征加密模块,用于通过每一所述训练终端根据所述本地图数据计算对应的本地特征,并采用所述公钥对所述本地特征进行加密,得到本地特征密文;
全局特征聚合模块,用于基于同态加密机制,聚合每一所述训练终端的本地特征密文,得到聚合后的全局特征密文,并将所述全局特征密文发送给所述可信终端;
全局特征解密模块,用于通过所述可信终端采用所述同态加密密钥对中的私钥对所述全局特征密文进行解密,以基于解密后的全局特征训练全局图神经网络,并将所述网络输出结果发送至标签持有端;
图神经网络训练模块,用于通过所述标签持有端根据所述网络输出结果计算网络梯度并返回给所述可信终端,以使所述可信终端根据所述网络梯度更新所述全局图神经网络,并将更新后的网络参数发送至对应的所述训练终端以更新所述本地图神经网络。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述图神经网络训练方法的步骤。
10.一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述图神经网络训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605548.9A CN113221153B (zh) | 2021-05-31 | 2021-05-31 | 图神经网络训练方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110605548.9A CN113221153B (zh) | 2021-05-31 | 2021-05-31 | 图神经网络训练方法、装置、计算设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113221153A true CN113221153A (zh) | 2021-08-06 |
CN113221153B CN113221153B (zh) | 2022-12-27 |
Family
ID=77081924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110605548.9A Active CN113221153B (zh) | 2021-05-31 | 2021-05-31 | 图神经网络训练方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113221153B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553610A (zh) * | 2021-09-22 | 2021-10-26 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于同态加密和可信硬件的多方隐私保护机器学习方法 |
CN114091651A (zh) * | 2021-11-03 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法、装置及系统 |
CN114491629A (zh) * | 2022-01-25 | 2022-05-13 | 哈尔滨工业大学(深圳) | 一种隐私保护的图神经网络训练方法及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190087689A1 (en) * | 2017-09-15 | 2019-03-21 | NovuMind Limited | Methods and processes of encrypted deep learning services |
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
CN110874484A (zh) * | 2019-10-16 | 2020-03-10 | 众安信息技术服务有限公司 | 基于神经网络和联邦学习的数据处理方法和系统 |
CN110929870A (zh) * | 2020-02-17 | 2020-03-27 | 支付宝(杭州)信息技术有限公司 | 图神经网络模型训练方法、装置及系统 |
US20200151575A1 (en) * | 2018-11-13 | 2020-05-14 | Teradata Us, Inc. | Methods and techniques for deep learning at scale over very large distributed datasets |
CN111738438A (zh) * | 2020-07-17 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 图神经网络模型训练方法、装置及系统 |
CN111898145A (zh) * | 2020-07-22 | 2020-11-06 | 苏州浪潮智能科技有限公司 | 一种神经网络模型训练方法、装置、设备及介质 |
US20200394518A1 (en) * | 2019-06-12 | 2020-12-17 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method for collaborative learning of an artificial neural network without disclosing training data |
CN112347500A (zh) * | 2021-01-11 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 分布式系统的机器学习方法、装置、系统、设备及存储介质 |
CN112766500A (zh) * | 2021-02-07 | 2021-05-07 | 支付宝(杭州)信息技术有限公司 | 图神经网络的训练方法及装置 |
CN112861988A (zh) * | 2021-03-04 | 2021-05-28 | 西南科技大学 | 一种基于注意力图神经网络的特征匹配方法 |
-
2021
- 2021-05-31 CN CN202110605548.9A patent/CN113221153B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190087689A1 (en) * | 2017-09-15 | 2019-03-21 | NovuMind Limited | Methods and processes of encrypted deep learning services |
US20200151575A1 (en) * | 2018-11-13 | 2020-05-14 | Teradata Us, Inc. | Methods and techniques for deep learning at scale over very large distributed datasets |
US20200394518A1 (en) * | 2019-06-12 | 2020-12-17 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method for collaborative learning of an artificial neural network without disclosing training data |
CN110874484A (zh) * | 2019-10-16 | 2020-03-10 | 众安信息技术服务有限公司 | 基于神经网络和联邦学习的数据处理方法和系统 |
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
CN110929870A (zh) * | 2020-02-17 | 2020-03-27 | 支付宝(杭州)信息技术有限公司 | 图神经网络模型训练方法、装置及系统 |
CN111738438A (zh) * | 2020-07-17 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 图神经网络模型训练方法、装置及系统 |
CN111898145A (zh) * | 2020-07-22 | 2020-11-06 | 苏州浪潮智能科技有限公司 | 一种神经网络模型训练方法、装置、设备及介质 |
CN112347500A (zh) * | 2021-01-11 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 分布式系统的机器学习方法、装置、系统、设备及存储介质 |
CN112766500A (zh) * | 2021-02-07 | 2021-05-07 | 支付宝(杭州)信息技术有限公司 | 图神经网络的训练方法及装置 |
CN112861988A (zh) * | 2021-03-04 | 2021-05-28 | 西南科技大学 | 一种基于注意力图神经网络的特征匹配方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553610A (zh) * | 2021-09-22 | 2021-10-26 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于同态加密和可信硬件的多方隐私保护机器学习方法 |
CN114091651A (zh) * | 2021-11-03 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法、装置及系统 |
CN114091651B (zh) * | 2021-11-03 | 2024-05-24 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法、装置及系统 |
CN114491629A (zh) * | 2022-01-25 | 2022-05-13 | 哈尔滨工业大学(深圳) | 一种隐私保护的图神经网络训练方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113221153B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902413B2 (en) | Secure machine learning analytics using homomorphic encryption | |
US11301571B2 (en) | Neural-network training using secure data processing | |
Giacomelli et al. | Privacy-preserving ridge regression with only linearly-homomorphic encryption | |
Li et al. | Privacy-preserving machine learning with multiple data providers | |
CN113221153B (zh) | 图神经网络训练方法、装置、计算设备及存储介质 | |
US20220230071A1 (en) | Method and device for constructing decision tree | |
US20200366459A1 (en) | Searching Over Encrypted Model and Encrypted Data Using Secure Single-and Multi-Party Learning Based on Encrypted Data | |
CN111931216B (zh) | 一种基于隐私保护的方式获取联合训练模型的方法及系统 | |
TW202006615A (zh) | 基於模型的預測方法和裝置 | |
CN111784001B (zh) | 一种模型训练方法、设备及计算机可读存储介质 | |
US20200252198A1 (en) | Secure Multi-Party Learning and Inferring Insights Based on Encrypted Data | |
CN113505882B (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN114696990B (zh) | 基于全同态加密的多方计算方法、系统及相关设备 | |
CN112347500B (zh) | 分布式系统的机器学习方法、装置、系统、设备及存储介质 | |
JP2016512612A (ja) | 部分的準同型暗号およびマスクを用いたプライバシー保護リッジ回帰 | |
CN111428887A (zh) | 一种基于多个计算节点的模型训练控制方法、装置及系统 | |
Baryalai et al. | Towards privacy-preserving classification in neural networks | |
CN111970106B (zh) | 一种格上支持全同态的短密文属性基加密方法及系统 | |
CN111625862A (zh) | 基于多数据节点的数据处理方法、系统及存储介质 | |
CN110838069A (zh) | 数据处理方法、装置以及系统 | |
CN113645294A (zh) | 消息获取方法、装置、计算机设备和消息传输系统 | |
CN113254996B (zh) | 图神经网络训练方法、装置、计算设备及存储介质 | |
CN114547684A (zh) | 一种保护隐私数据的多方联合训练树模型的方法及装置 | |
Bal et al. | An efficient image encryption method based on genetic algorithm | |
CN116628498A (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 |