CN114491629A - 一种隐私保护的图神经网络训练方法及系统 - Google Patents

一种隐私保护的图神经网络训练方法及系统 Download PDF

Info

Publication number
CN114491629A
CN114491629A CN202210085207.8A CN202210085207A CN114491629A CN 114491629 A CN114491629 A CN 114491629A CN 202210085207 A CN202210085207 A CN 202210085207A CN 114491629 A CN114491629 A CN 114491629A
Authority
CN
China
Prior art keywords
computing terminal
array
neural network
node
terminal
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
Application number
CN202210085207.8A
Other languages
English (en)
Other versions
CN114491629B (zh
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.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
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 Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202210085207.8A priority Critical patent/CN114491629B/zh
Publication of CN114491629A publication Critical patent/CN114491629A/zh
Application granted granted Critical
Publication of CN114491629B publication Critical patent/CN114491629B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6236Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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

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)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种隐私保护的图神经网络训练方法及系统,本发明提供的隐私保护的图神经网络训练方法中,图数据的原始数据持有终端对图数据中节点的真实邻居节点中填充了虚假的邻居节点,并设置了虚假的邻居节点对应的边权值为0,将包括真实邻居节点和虚假邻居节点对应的边权值组成的数组以及节点的特征向量基于加性秘密共享的方式进行加密后分别发送给第一计算终端和第二计算终端进行图神经网络训练过程中的计算,实现了图数据所有者将非结构化信息以及结构化信息进行细致完全的加密处理、计算终端可以在不获知明文图数据的情况下进行隐私保护的图神经网络训练的效果。

Description

一种隐私保护的图神经网络训练方法及系统
技术领域
本发明涉及信息安全技术领域,特别涉及一种隐私保护的图神经网络训练方法及系统。
背景技术
隐私保护的机器学习近年来受到了极大的关注,然而现有的隐私保护的机器学习训练工作都是关于卷积神经网络的训练,即设计面向非图结构数据的隐私保护的机器学习训练协议,而相较于非图结构数据,图结构数据中除了有非结构化信息如图节点的特征以及部分节点的标签需要保护之外,还有诸如每个节点的邻居节点、连接的节点之间的权值,每个节点的邻居节点的数量等多种结构化信息需要保护,现有技术中并没有如何在图结构数据上进行图卷积网络的隐私保护训练的解决方案。
因此,现有技术还有待改进和提高。
发明内容
针对现有技术的上述缺陷,本发明提供一种隐私保护的图神经网络训练方法及系统,旨在解决现有技术中没有在图结构数据上进行图卷积网络的隐私保护训练的解决方案的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
本发明的第一方面,提供一种隐私保护的图神经网络训练方法,所述方法包括:
原始数据持有终端随机生成图数据中的目标节点对应的第一加密向量,基于所述第一加密向量和所述目标节点对应的初始特征向量生成所述目标节点对应的第二加密向量,并将所述第一加密向量发送给第一计算终端,将所述第二加密向量发送给第二计算终端,其中,所述第一加密向量和所述第二加密向量的和为所述目标节点对应的初始特征向量;
所述原始数据持有终端基于所述目标节点对应的邻居节点和所述目标节点的邻居节点与所述目标节点的连线对应的边权值生成所述目标节点对应的目标数组,所述目标数组中的元素的索引为所述目标节点的真实邻居节点的节点ID和虚假邻居节点的节点ID,所述目标数组中的元素包括第一元素和第二元素,所述第一元素为所述目标节点的真实邻居节点的节点ID对应的元素,所述第二元素为所述虚假邻居节点对应的元素,所述第一元素为所述目标节点的真实邻居节点与所述目标节点的连线对应的边权值,所述第二元素为0;
所述原始数据持有终端随机生成所述目标节点对应的第一加密数组,基于所述第一加密数组和所述目标数组生成所述目标节点对应的第二加密数组,将所述第一加密数组发送给所述第一计算终端,将所述第二加密数组发送给所述第二计算终端,其中,所述第一加密数组和所述第二加密数组的和为所述目标数组;
所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算。
所述的隐私保护的图神经网络训练方法,其中,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算之前,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享对所述目标节点对应的初始特征向量进行归一化处理。
所述的隐私保护的图神经网络训练方法,其中,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享通过第一计算公式协同计算所述目标节点在图神经网络第k层的聚合状态;
所述第一计算公式为:
Figure BDA0003487447910000031
其中,
Figure BDA0003487447910000032
表示所述目标节点vi在第k层的聚合状态,
Figure BDA0003487447910000033
表示所述目标节点vi在第k层的初始状态,
Figure BDA0003487447910000034
表示所述目标节点vi的所有边权值的和,dmax为所述图数据中所有节点中最大的度,
Figure BDA0003487447910000035
表示所述节点
Figure BDA0003487447910000036
的所有边权值的和,
Figure BDA0003487447910000037
表示节点
Figure BDA0003487447910000038
在第k层的初始状态;
Figure BDA0003487447910000039
表示所述目标节点vi与所述目标节点vi的邻居节点
Figure BDA00034874479100000310
的边权值;
其中,所述目标节点在图神经网络的第0层的初始状态为所述目标节点对应的初始特征向量。
所述的隐私保护的图神经网络训练方法,其中,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
所述原始数据持有终端随机生成第一状态加密数组,并基于所述第一状态加密数组和目标状态数组生成第二状态加密数组,将所述第一状态加密数组发送给所述第一计算终端,将所述第二状态加密数组发送给所述第二计算终端,其中,所述第一状态加密数组和所述第二状态加密数组的和为所述目标状态数组,所述目标状态数组中的元素为所述图数据中所有节点在第k层的初始状态;
所述第一计算终端按照第一预设方式对所述第一状态加密数组进行旋转后生成第一旋转数组发送至第三计算终端,所述第二计算终端按照第一预设方式对所述第二状态加密数组进行旋转生成第二旋转数组发送至第三计算终端;
所述原始数据持有终端基于所述第一预设方式和所述第二预设方式确定所述目标节点的邻居节点在第k层的初始状态在所述第一旋转数组和所述第二旋转数组中对应的目标位置并将所述目标位置发送至所述第三计算终端;
所述第三计算终端基于所述目标位置获取所述图数据中的节点在第k层的初始状态,并生成第一加密状态和第二加密状态,将所述第一加密状态发送至所述第一计算终端,将所述第二加密状态发送至所述第二计算终端,以使得所述第一计算终端和所述第二计算终端基于加性秘密共享协同执行所述目标节点的聚合状态的计算。
所述的隐私保护的图神经网络训练方法,其中,所述第一计算终端按照所述第一预设方式对所述第一状态加密数组进行旋转后为每个元素添加噪声后生成所述第一旋转数组,所述第二计算终端按照所述第二预设方式对所述第二状态加密数组进行旋转后为每个元素添加噪声后生成所述第二旋转数组。
所述的隐私保护的图神经网络训练方法,其中,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
对于图神经网络训练过程中的除法运算,所述第一计算终端和所述第二计算终端基于加性秘密共享通过第二计算公式迭代计算得到分母的倒数,再基于加性秘密共享对分母的倒数和分子进行乘法运算;
其中,所述第二计算公式为:
yn+1=yn(2-xyn);
其中,yn表示第n次迭代计算分母倒数的计算结果,x表示除法运算中的分母;
对于图神经网络训练过程中的平方根运算,所述第一计算终端和所述第二计算终端基于加性秘密共享通过第三计算公式迭代计算得到平方根的倒数;
其中,所述第三计算公式为:
Figure BDA0003487447910000041
其中,y′n表示第n次迭代计算方根倒数的计算结果,x′表示待开方根的数;
对于图神经网络训练过程中的指数运算,所述第一计算终端和所述第二计算终端基于加性秘密共享通过第四计算公式迭代计算得到自然指数;
其中,所述第四计算公式为:
Figure BDA0003487447910000051
对于图神经网络中的对数计算,所述第一计算终端和所述第二计算终端基于加性秘密共享通过第五计算公式迭代计算得到自然对数;
其中,所述第五计算公式为:
Figure BDA0003487447910000052
其中,y”n表示第n次迭代计算自然对数的计算结果,x”表示待计算自然对数的数,K为常数。
所述的隐私保护的图神经网络训练方法,其中,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
对于图神经网络训练过程中的ReLU函数,采用以下方式实现加性秘密共享计算:
所述第一计算终端将所述第一计算终端持有的第一数据分解为比特数据,所述第二计算终端将所述第二计算终端持有的第二数据分解为比特数据,其中,所述第一数据和所述第二数据的和ReLU函数的输入数据;
所述第一计算终端和所述第二计算终端将各自持有的比特数据输入至并行前缀加法电路,执行异或门计算和与门计算得到所述输入数据的最高有效位;
所述原始数据持有终端基于所述最高有效位得到所述输入数据对应的ReLU函数结果。
所述的隐私保护的图神经网络训练方法,其中,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享利用ReLU函数计算相邻两次训练的交叉熵损失差值的绝对值;
所述第一计算终端和所述第二计算终端基于加性秘密共享确定所述绝对值是否小于预设阈值;
当所述绝对值小于预设阈值时,停止图神经网络的训练。
所述的隐私保护的图神经网络训练系统,其中,所述第一计算终端和所述第二计算终端基于加性秘密共享利用ReLU函数计算相邻两次训练的交叉熵损失差值的绝对值,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享通过第六计算公式计算所述绝对值;
所述第六计算公式为:
|[Lj+1]A-[Lj]A|=ReLU([Lj+1]A-[Lj]A)+ReLU([Lj]A-[Lj+1]A)
[Lj]A和[Lj+1]A表示相邻两次迭代训练的损失的加性秘密共享表示;
所述第一计算终端和所述第二计算终端基于加性秘密共享确定所述绝对值是否小于预设阈值,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享计算所述预设阈值和所述绝对值的差值的比特数据的最高有效位。
本发明的第二方面,提供一种隐私保护的图神经网络训练系统,所述系统包括第一计算终端和第二计算终端,所述第一计算终端和所述第二计算终端用于执行如本发明第一方面提供的隐私保护的图神经网络训练方法中的相关步骤。
与现有技术相比,本发明提供了一种隐私保护的图神经网络训练方法及系统,所述的隐私保护的图神经网络训练方法,图数据的原始数据持有终端对图数据中节点的真实邻居节点中填充了虚假的邻居节点,并设置了虚假的邻居节点对应的边权值为0,将包括真实邻居节点和虚假邻居节点对应的边权值组成的数组以及节点的特征向量基于加性秘密共享的方式进行加密后分别发送给第一计算终端和第二计算终端进行图神经网络训练过程中的计算,实现了图数据所有者将非结构化信息以及结构化信息进行细致完全的加密处理、计算终端可以在不获知明文图数据的情况下进行隐私保护的图神经网络训练的效果。
附图说明
图1为本发明提供的隐私保护的图神经网络训练方法的实施例的流程图;
图2为图卷积神经网络训练中明文计算过程示意图;
图3为本发明提供的隐私保护的图神经网络训练方法的实施例的应用场景的示例图;
图4为本发明提供的隐私保护的图神经网络训练方法的实施例中训练协议示意图;
图5为本发明提供的隐私保护的图神经网络训练方法的实施例中并行前缀加法电路的示意图;
图6为本发明提供的隐私保护的图神经网络训练系统的实施例的结构原理图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
首先,对于明文的图神经网络的训练过程,即不进行隐私保护的训练过程,以图卷积神经网络为例进行介绍:
一个图数据库可以表示为
Figure BDA0003487447910000071
其由节点
Figure BDA0003487447910000072
以及节点之间的连接,即边
Figure BDA0003487447910000073
组成。两个连接的节点称为邻居节点。每个节点
Figure BDA0003487447910000074
的邻居节点被表示为
Figure BDA0003487447910000081
其中di称为节点vi的度,即节点vi的邻居节点的数量。GCN处理的图数据中,每个图节点还与一个特征向量关联,用于表示节点的特征。同时有一些节点还带有标签,其可作为训练数据。GCN(Graph Convolutional Network,图卷积神经网络)中的图数据可以正式地定义为
Figure BDA0003487447910000082
其中A是该图数据的邻接矩阵。Ai,j是A中的一个元素,如果节点vi和节点vj之间存在边,则Ai,j=1(非权图)或者Ai,j=wi,j(有权图),否则Ai,j=0。此外,矩阵F的每一行(表示为
Figure BDA0003487447910000083
)是节点vi的特征向量。矩阵T的每一行(表示为
Figure BDA0003487447910000084
)是以独热码形式表示的训练数据
Figure BDA0003487447910000085
的向量标签,其中
Figure BDA0003487447910000086
是带标签的节点的集合。
利用图数据
Figure BDA0003487447910000087
可以训练一个GCN模型以执行图数据的分析任务。在GCN的传播过程中,给定一个节点vi,GCN模型可以计算其第k层的状态向量
Figure BDA0003487447910000088
(行向量)。随着神经网络逐层的传播,该状态向量的维度逐渐降低。最后一层的状态向量
Figure BDA0003487447910000089
为节点vi最终的分类预测结果。该预测结果通常是一个长度为C的概率向量,其中C是该图中节点的类别数量。最后,节点vi被标记为拥有最大概率的那一类。
不失一般性,下面将详细介绍一个具有代表性的两层GCN模型。该GCN的传播模型为:
Figure BDA00034874479100000810
其中M(1)和M(2)是两个可训练的权值矩阵。
Figure BDA00034874479100000811
是一个对称的归一化矩阵:
Figure BDA00034874479100000812
其中
Figure BDA00034874479100000813
是其邻接矩阵加上一个单位矩阵(表示每个节点是和自身连接的)。
Figure BDA00034874479100000814
是一个对角矩阵:
Figure BDA00034874479100000815
其中N是图中的节点数量,di是节点vi的度,
Figure BDA00034874479100000816
是节点vi所有边权值的总和。即
Figure BDA00034874479100000817
是节点vi的边权值加上自己的连接(其中与自己的连接的边权值为wi,i=1)。当图是一个无权图时,
Figure BDA0003487447910000091
此外,ReLU(x)和Softmax(x)是机器学习中常用的激活函数。其中ReLU(x)定义为:
Figure BDA0003487447910000092
Softmax(x)函数的输入是一个向量,输出是一个向量z,向量z中的每一维通过下式计算:
Figure BDA0003487447910000093
其中,C是该图中节点类别的数量。
为了训练一个GCN模型,需要为每个带标签的节点执行前向传播过程,即公式(1)。之后根据预测的分类结果与节点真实标签之间的差值计算得到loss函数,从而计算每个可训练权值的梯度,进而优化公式(1)中的两个可训练的权值矩阵M(1)和M(2),以获得较好的GCN模型。如图2所示,节点vi执行该前向传播的过程为:
1)节点vi的第0层的聚合状态是它的邻居节点和它自己的初始特征加权之和:
Figure BDA0003487447910000094
其中
Figure BDA0003487447910000095
表示矩阵
Figure BDA0003487447910000096
的第vi行,
Figure BDA0003487447910000097
是节点vi的邻居节点的特征向量。
Figure BDA0003487447910000098
表示矩阵
Figure BDA0003487447910000099
的第vi行第nei,j列。
2)之后,对第0层的聚合状态执行ReLU()激活函数,得到节点vi的第1层的状态:
Figure BDA00034874479100000910
3)之后,计算节点vi的第1层的聚合状态
Figure BDA00034874479100000911
其中X(1)是所有节点的第1层的状态。
4)类似地,将节点vi的第1层的聚合状态输入Softmax()函数得到第2层的状态:
Figure BDA0003487447910000101
其表示节点vi的预测结果。
在对所有带标签的节点进行预测之后,计算平均的交叉熵损失:
Figure BDA0003487447910000102
其中,
Figure BDA0003487447910000103
是带标签的节点集合,
Figure BDA0003487447910000104
是节点vi的真实标签。最后每一个可训练的权值Mi,j∈M(1)∪M(2)基于其梯度(偏导数)进行优化:
Figure BDA0003487447910000105
其中ρ是学习率。训练得到GCN模型后,利用上述正向传播可以推断出每个未标记(不带标签)节点的标签,即
Figure BDA0003487447910000106
从而实现样本推理。
从上述说明中可以看出,在图神经网络训练过程中,需要利用图数据中每个节点的特征、每个节点的相邻节点的ID,每个节点与邻居节点之间的边权重等多种信息,为了实现在训练过程中图数据的信息隐私保护,本发明提供了一种隐私保护的图神经网络训练方法。
本发明提供的隐私保护的图神经网络训练方法,可以应用于一种隐私保护的图神经网络训练系统中,所述系统中包括原始数据持有终端、第一计算终端和第二计算终端,所述原始数据持有终端持有图数据中的所有明文数据,所述原始数据持有终端、所述第一计算终端和所述第二计算终端之间可以进行通信,所述第一计算终端和所述第二计算终端在本地进行计算以及与系统中的其他终端进行交互以实现本发明提供的隐私保护的图神经网络训练方法。
实施例一
如图1所示,所述隐私保护的图神经网络训练方法的一个实施例中,包括步骤:
S100、原始数据持有终端随机生成图数据中的目标节点对应的第一加密向量,基于所述第一加密向量和所述目标节点对应的特征向量生成所述目标节点对应的第二加密向量,并将所述第一加密向量发送给第一计算终端,将所述第二加密向量发送给第二计算终端,其中,所述第一加密向量和所述第二加密向量的和为所述目标节点对应的特征向量。
所述目标节点是图数据中的任一个节点。
所述原始数据持有终端中存储有图神经网络训练过程中的明文数据,包括图数据中各个节点的ID,每个节点的邻居节点的ID,每个节点与邻居节点之间的边权重等。所述第一计算终端和所述第二计算终端为云服务器,具有较强的计算能力,所述原始数据持有终端需要借由所述第一计算终端和所述第二计算终端的计算能力完成图神经网络训练过程中的计算,但是计算过程中的真实数据,包括图数据中的结构性信息和非结构性信息,都不能被所述第一计算终端和所述第二计算终端获取,以实现隐私保护的图神经网络训练。
为了实现隐私保护的图神经网络训练,在本实施例中,如图3所示,所述原始数据持有终端对明文数据进行加密后分别发送给所述第一计算终端和所述第二计算终端,所述第一计算终端和所述第二计算终端基于密文数据进行计算。数据所有者想要利用云服务器的计算资源在其私密的图数据集上训练一个GCN模型以预测其图数据集中不带标签节点的标签。出于隐私的考虑,数据所有者希望云服务器在图数据是密文的状态下完成GCN模型的训练。在本实施例中使用诚实但好奇的威胁模型。在该威胁模型中,所述第一计算终端和所述第二计算终端作为独立的云服务器协作地提供云计算服务,它们都是“诚实但好奇”且非合谋的。即每个云服务器都会如实地执行本实施例提供的图神经网络训练方法中的步骤,同时它们又尝试独自地推测数据所有者的隐私信息。具体地,所述原始数据持有终端采用加性秘密共享的方式对数据进行加密使得所述第一计算终端和所述第二计算终端能够实现隐私保护的计算。
加性秘密共享的具体实现方式为:
一个隐私数值x的加性秘密共享表示为[x],其有两种形式:
算术秘密共享:[x]A=<x>1+<x>2,其中x,<x>1,
Figure BDA0003487447910000121
<x>1和<x>2分别被两个计算参与方持有。
布尔秘密共享:[b]B=<b>1+<b>2,其中b,<b>1,
Figure BDA0003487447910000122
<b>1和<b>2分别被两个计算参与方持有。
利用上述的秘密共享,两个计算参与方可以在不获得明文数据的情况下安全地执行线性和乘法计算。
1)安全的线性计算:秘密共享中的线性计算仅需要计算两方进行本地计算。即,如果α,β,γ是明文的常量,[x]A和[y]A是秘密共享的值,则
Figure BDA0003487447910000128
因此每一方可以利用它们持有的密文进行本地计算。
2)安全的乘法计算:要计算两个秘密共享数值的乘积要求两方进行一轮通信。即为了计算[z]A=[x]A×[y]A,两方需要提前共享一个乘法元组[w]A=[u]A×[v]A。然后,每一方Pi本地计算<e>i=<x>i-<u>i和<f>i=<y>i-<v>i。之后每一方Pi将<e>i和<f>i发送给彼此获得明文的e和f。最后,Pi,i∈{0,1}持有的乘积密文是
Figure BDA0003487447910000123
布尔秘密共享中的线性和乘法操作与算术共享中的操作类似,只是使用“异或⊕”取代加法操作,使用“与
Figure BDA0003487447910000124
”取代乘法操作。
对于图数据中目标节点vi的长度为L初始特征向量
Figure BDA0003487447910000125
所述原始数据持有终端首先生成一个相同长度的随机向量
Figure BDA0003487447910000126
作为所述第一加密向量。之后节点vi的初始特征向量被加密为两个向量:第二加密向量
Figure BDA0003487447910000127
Figure BDA0003487447910000131
和第一加密向量
Figure BDA0003487447910000132
其中密文
Figure BDA0003487447910000133
被对应地发送给计算终端Pj,j∈{1,2},即第一加密向量被发送给所述第一计算终端,所述第二加密向量被发送给所述第二计算终端,可以看出,由于所述第一加密向量是随机生成的,所述第一计算终端和所述第二计算终端仅基于自身所持有的数据,是无法独立地还原出所述目标节点的初始特征向量的。类似地,所述原始数据持有终端可以将每个带标签的节点的标签
Figure BDA0003487447910000134
以同样的方式进行加密生成两个密文向量分别发送给所述第一计算终端和所述第二计算终端。
在计算过程中,所有的非结构性数据都可以按照上述加密方式拆分为两个密文进行加密后分别发送给所述第一计算终端和所述第二计算终端进行计算。
而对于图数据中的结构化信息,包括每个节点的度di、每个节点的邻居节点列表nei,j以及所有边的权值wi,j。在一种可能的实现方式中,可以直接对整个邻接矩阵进行加密,但是由于邻接矩阵通常是稀疏的,因此这种方式的效率不高,在本实施例中,将图结构化信息转换为一种类数组的数据结构后再进行加密。具体地,本实施例提供的方法还包括步骤:
S200、所述原始数据持有终端基于所述目标节点对应的邻居节点和所述目标节点的邻居节点与所述目标节点的连线对应的边权值生成所述目标节点对应的目标数组,所述目标数组中的元素的索引为所述目标节点的真实邻居节点的节点ID和虚假邻居节点的节点ID,所述目标数组中的元素包括第一元素和第二元素,所述第一元素为所述目标节点的真实邻居节点的节点ID对应的元素,所述第二元素为所述虚假邻居节点对应的元素,所述第一元素为所述目标节点的真实邻居节点与所述目标节点的连线对应的边权值,所述第二元素为0;
S300、所述原始数据持有终端随机生成所述目标节点对应的第一加密数组,基于所述第一加密数组和所述目标数组生成所述目标节点对应的第二加密数组,将所述第一加密数组发送给所述第一计算终端,将所述第二加密数组发送给所述第二计算终端,其中,所述第一加密数组和所述第二加密数组的和为所述目标数组。
如图4所示,目标节点的邻居节点具体是哪些,也是需要保护的隐私数据。具体地,每个节点的度不同,每个节点的邻居节点的ID列表的长度也不相同,为了保护每个节点的度信息di,所述原始数据持有终端在每个节点的邻居节点的ID列表中填充几个假邻居节点ID,使所有节点拥有相同数量的邻居节点。即节点vi的安全的邻居节点ID列表表示为
Figure BDA0003487447910000141
其中,ne′是填充的虚假邻居节点的ID,dmax是图中所有节点的最大度。此外为了消除假邻居节点在GCN模型训练过程中造成的影响,设置节点vi与它的假邻居节点的边权值为0。即节点vi的安全的边权值列表为
Figure BDA0003487447910000142
使用一个数组(目标数组)来表示所述目标节点的结构性数据,具体地,所述目标数组中的索引是所述目标节点的安全的邻居节点ID列表中的节点ID,所述目标数组中的元素是所述目标节点的安全的边权值列表中的边权值。
将所述目标数组基于加性秘密共享的方式拆分为两个数组:第一加密数组和第二加密数组,并分别发送给所述第一计算终端和所述第二计算终端。在需要用到所述目标节点的邻居节点的边权值的计算中,所述第一计算终端和所述第二计算终端分别基于自身本地接收到的第一加密数组和第二加密数组中所述目标节点的安全的邻居列表中的每个节点ID对应的数组元素进行加性秘密共享地运算,例如,需要计算所述目标节点的每个邻居节点对应的边权值和其他量之间的乘积,所述第一计算终端和所述第二计算终端基于安全的邻居列表中的节点ID对应的边权值在各自持有的所述第一加密数组和所述第二加密数组中可以分别得到每个节点ID对应的边权值对应的密文数据,并采用加性秘密分享中的安全乘法计算方法分别计算得到一个乘积密文,再发送给所述原始数据持有终端,所述原始数据持有终端将二者相加,可以得到明文的计算结果,后续计算中如果还需要用到这个计算结果,所述原始数据持有终端可以再将该计算结果按照加性秘密共享的协议拆分为两个密文数据再分别发送给所述第一计算终端和所述第二计算终端。由于虚假节点ID和真实节点ID对应的边权值都被拆分了两部分分别发送给所述第一计算终端和所述第二计算终端,所述第一计算终端和所述第二计算终端全程持有的只有密文数据,并且也不能区分哪个节点ID是目标节点的真实邻居节点,同时由于虚假的邻居节点ID对应的边权值为0,即使采用所述目标节点的安全的邻居列表中的每个节点ID对应的边权值都进行了计算,虚假节点ID对应的边权值也不会对所述目标节点的真实邻居节点的计算结果产生影响。
请再次参阅图1,本实施例提供的隐私保护的图神经网络训练方法,还包括步骤:
S400、所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算。
在一种可能的实现方式中,如图4所示,为了提升图神经网络训练过程中的收敛速度和精确度,所述第一计算终端和所述第二计算终端先对图数据中的每个节点对应的初始特征向量安全地进行归一化操作,即,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算之前,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享对所述目标节点对应的初始特征向量进行归一化处理。
对于明文数据的归一化处理的公式为:
Figure BDA0003487447910000151
在公式(10)中,L表示特征的数量。显然,求和操作可以直接利用上述算术秘密共享的线性操作执行。而对于除法运算,在加性秘密共享域中不被原生地支持,为了实现除法的隐私保护运算,在本实施例中,对除法操作进行近似运算,即,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
对于图神经网络训练过程中的除法运算,所述第一计算终端和所述第二计算终端基于加性秘密共享通过第二计算公式迭代计算得到分母的倒数,再基于加性秘密共享对分母的倒数和分子进行乘法运算;
其中,所述第二计算公式为:
yn+1=yn(2-xyn) (11)
其中,yn表示第n次迭代计算分母倒数的计算结果,x表示除法运算中的分母。
为了计算密文除法,可以先计算密文的倒数
Figure BDA0003487447910000161
加性秘密共享中可以原生地支持乘法和减法运算,因此,可以基于加性秘密共享安全地计算公式(11),而公式(11)在经过多次迭代后,会收敛到
Figure BDA0003487447910000162
然后基于加性秘密共享将密文倒数和分子进行乘法运算即可实现隐私保护的除法运算。
为了获得更快的收敛速度,对于密文倒数计算公式中的迭代初始值,可以采用公式(12)来计算:
y0=3e0.5-x+0.003 (12)
对于秘密共享域中计算ex,也可以采用近似计算的方式来计算,即,对于图神经网络训练过程中的指数运算,所述第一计算终端和所述第二计算终端基于加性秘密共享通过第四计算公式迭代计算得到自然指数;
其中,所述第四计算公式为:
Figure BDA0003487447910000163
同样地,加法和乘法可以在加性秘密共享域中被原生地支持,因此可以基于加性秘密共享安全地计算得到自然指数。
值得说明的是,在图神经网络训练过程中,如公式(4)所示,softmax函数中也要求计算自然指数,同样可以采用公式(14)实现softmax函数的安全计算。
从前文对图神经网络训练过程的介绍可以看出,在图神经网络的训练过程中,在每一次需要获取所述目标节点的聚合状态时,除了所述目标节点在该层的初始状态之外,还需要所述目标节点的邻居节点在该层的初始状态。而由于所述目标节点的邻居节点的节点ID是保密的,因此,在本实施例中,同样采用数组的方式将所述目标节点的邻居节点的节点ID在第k层的状态进行存储并进行加密。具体地,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
所述原始数据持有终端随机生成第一状态加密数组,并基于所述第一状态加密数组和目标状态数组生成第二状态加密数组,将所述第一状态加密数组发送给所述第一计算终端,将所述第二状态加密数组发送给所述第二计算终端,其中,所述第一状态加密数组和所述第二状态加密数组的和为所述目标状态数组,所述目标状态数组中的元素为所述图数据中所有节点在第k层的初始状态;
所述第一计算终端按照第一预设方式对所述第一状态加密数组进行旋转后生成第一旋转数组发送至第三计算终端,所述第二计算终端按照第一预设方式对所述第二状态加密数组进行旋转生成第二旋转数组发送至第三计算终端;
所述原始数据持有终端基于所述第一预设方式和所述第二预设方式确定所述目标节点的邻居节点在第k层的初始状态在所述第一旋转数组和所述第二旋转数组中对应的目标位置并将所述目标位置发送至所述第三计算终端;
所述第三计算终端基于所述目标位置获取所述图数据中的节点在第k层的初始状态,并生成第一加密状态和第二加密状态,将所述第一加密状态发送至所述第一计算终端,将所述第二加密状态发送至所述第二计算终端,以使得所述第一计算终端和所述第二计算终端基于加性秘密共享协同执行所述目标节点的聚合状态的计算。
所述原始数据持有终端首先将图数据中所有节点ID在第k层对应的初始状态组合为一个数组(目标状态数组),并将所述目标状态数组基于加性秘密共享的方式拆分为两个加密数组:第一状态加密数组和第二状态加密数组并分别发送给所述第一计算终端和所述第二计算终端,所述第一计算终端按照第一预设方式对所述第一状态加密数组进行旋转,例如顺时针旋转90度后生成第一旋转数组,所述第二计算终端按照第二预设方式对所述第二状态加密数组进行旋转,例如逆时针旋转180度后生成第二旋转数组。所述第一预设方式仅有所述第一计算终端和所述原始数据持有终端知晓,所述第二预设方式仅有所述第二计算终端和所述原始数据持有终端知晓。由于所述第一预设方式和所述第二预设方式被所述原始数据持有终端知晓,因此,所述原始数据持有终端可以确定旋转后的所述第一旋转数组和所述第二旋转数组中所述目标节点的邻居节点在第k层的初始状态对应的目标位置,也就是说,所述目标位置中包括所述目标节点的邻居节点在第k层的初始状态的一个加性秘密分享的密文数据在所述第一旋转数组中对应的位置,和所述目标节点的邻居节点在第k层的初始状态的另一个加性秘密分享的密文数据在所述第二旋转数组中对应的位置。
所述原始数据持有终端将所述目标位置发送给第三计算终端,所述第一计算终端和所述第二计算终端分别将所述第一旋转数组和所述第二旋转数组发送给所述第三计算终端,所述第三计算终端基于所述目标位置在所述第一旋转数组和所述第二旋转数组中分别确定相应的数据,相加后再拆分为两个数据分别发送给所述第一计算终端和所述第二计算终端,在整个过程中,所述第一计算终端、所述第二计算终端和所述第三计算终端均不会持有所述目标节点的邻居节点的节点ID。
进一步地,为了防止节点在第k层的初始状态被泄露,在本实施例中,所述第一计算终端和所述第二计算终端在生成所述第一旋转数组和所述第二旋转数组时,还分别在所述第一状态加密数组和所述第二状态加密数组中的元素中添加噪声,即,所述第一计算终端按照所述第一预设方式对所述第一状态加密数组进行旋转后为每个元素添加噪声后生成所述第一旋转数组,所述第二计算终端按照所述第二预设方式对所述第二状态加密数组进行旋转后为每个元素添加噪声后生成所述第二旋转数组。添加噪声可以是在元素上加上或减去一个值,那么所述第三计算终端获取到的状态值就是真实的状态值加上两个噪声后的值,所述第三计算终端将获取到的状态值拆分为两个密文数据分别发送给所述第一计算终端和所述第二计算终端,所述第一计算终端和所述第二计算终端再分别减去各自在生成旋转数组时添加的噪声后进行计算,这样,所述第一计算终端和所述第二计算终端还是基于和为真实的状态数据的两个密文数据进行计算,所述第一计算终端、所述第二计算终端和所述第三计算终端均不会持有节点的真实状态数据。
具体地,在所述目标节点vi在图神经网络中传播的过程中,其第k层的聚合状态
Figure BDA0003487447910000191
是由节点vi自己的第k层的状态
Figure BDA0003487447910000192
和节点vi的邻居的第k层的状态
Figure BDA0003487447910000193
共同计算得到的,例如在图卷积神经网络中,所述目标节点vi在第k层的聚合状态
Figure BDA0003487447910000194
是由节点vi自己的第k层的状态
Figure BDA0003487447910000195
和节点vi的邻居的第k层的状态
Figure BDA0003487447910000196
的加权和(见公式(5)和公式(7))。然而,由于仅有加密的邻居节点ID列表
Figure BDA0003487447910000197
被上传到云服务器上,而不是完整的邻接矩阵A,所以无法计算公式(5)和公式(7)中的
Figure BDA0003487447910000198
因此需要转换公式(5)和公式(7)中的状态聚合方法。给定节点vi的第k层的聚合状态
Figure BDA0003487447910000199
Figure BDA00034874479100001910
其中( )i表示矩阵的第i行,其等价形式为
Figure BDA0003487447910000201
当安全地计算上式时,所述第一计算终端和所述第二计算终端首先需要获取节点vi的每个邻居节点第k层的状态
Figure BDA0003487447910000202
然后将这些状态在密文域乘以系数
Figure BDA0003487447910000203
通过上面的方法,所述第一计算终端和所述第二计算终端可以安全地获取到节点vi的每个邻居节点第k层的初始状态
Figure BDA0003487447910000204
的两个密文数据,从而安全地计算公式(13)。
公式(13)中还包括平方根运算,平方根运算在加性秘密共享域中不被原生地支持,在本实施例中,使用近似的根方倒数计算方法,即
Figure BDA0003487447910000205
其中,y′n表示第n次迭代计算方根倒数的计算结果,x′表示待开方根的数,其将迭代收敛到
Figure BDA0003487447910000206
显然,减法和乘法在秘密共享域都原生地支持。此外,为了获得更快的收敛速度,可以使用初始值
y′0=3e0.5-x′+0.003
在图神经网络训练过程中,还涉及到ReLU函数的计算,所述ReLU激活函数是计算ReLU(x)=max(x,0),其本质是计算是否x>0。然而,比较算法在秘密共享域并不被原生地支持。在本实施例中,计算x的最高有效位,其可以表示x的正负属性。给定补码表示的两个数A和B,其可以表示为一个数的两个密文共享,并分别被P1和P2持有。则A+B的最高有效位可以通过一个定制的并行前缀加法电路安全地计算。如图5展示了一个定制的8位并行前缀加法电路。
具体地,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
对于图神经网络训练过程中的ReLU函数,采用以下方式实现加性秘密共享计算:
所述第一计算终端将所述第一计算终端持有的第一数据分解为比特数据,所述第二计算终端将所述第二计算终端持有的第二数据分解为比特数据,其中,所述第一数据和所述第二数据的和ReLU函数的输入数据;
所述第一计算终端和所述第二计算终端将各自持有的比特数据输入至并行前缀加法电路,执行异或门计算和与门计算得到所述输入数据的最高有效位;
所述原始数据持有终端基于所述最高有效位得到所述输入数据对应的ReLU函数结果。
给定一个被P1和P2分别持有的密文[x]A=<x>1+<x>2,P1和P2首先在本地分解<x>1和<x>2为比特数据:<x>i=xi[1],…,xi[k],i∈{1,2}。之后P1和P2将自己持有的比特位输入到定制的并行前缀加法电路中,安全地执行“异或门⊕”和“与门
Figure BDA0003487447910000211
”计算。正如前面所述,“异或⊕”和“与
Figure BDA0003487447910000212
”在布尔秘密共享中被原生地支持。所以P1和P2可以安全地计算一个密文数据的最高有效位,进而在密秘共享域安全地计算ReLU(x)函数。
在一种可能的实现方式中,可以在对训练集数据进行固定次数的迭代之后结束训练,但是这种方法无法细粒度且安全地评估模型是否收敛,如图4所示,在本实施例中,先在密文域中计算加密的交叉熵损失函数(即公式(9)),然后再计算相邻两次训练集迭代(即epoch)之间的加密交叉熵损失的差值。其次利用上述密文域的比较协议判断其差值是否小于的阈值。如果该差值小于既定的阈值α,并且这种稳定状态持续一定数量的迭代,则说明模型训练趋于稳定,第一计算终端P1和第二计算终端P2将得出模型是收敛的结论,并终止模型的训练。通过该计算过程,P1和P2除了知道两次相邻迭代之间的交叉熵损失差是否小于既定的阈值α之外,什么都不知道。然而该解决方案引起了一个新的问题,即如何在秘密共享域计算交叉熵损失。公式(9)中在密秘共享域中唯一不被支持的计算是自然对数lnx。因此在本实施例中使用了近似的自然对数计算方法,即对于图神经网络中的对数计算,所述第一计算终端和所述第二计算终端基于加性秘密共享通过第五计算公式迭代计算得到自然对数;
其中,所述第五计算公式为:
Figure BDA0003487447910000221
其中,y”n表示第n次迭代计算自然对数的计算结果,x”表示待计算自然对数的数,K为常数。所述第五计算公式通过多次迭代计算,其将收敛到y”n≈lnx”。其中,K的取值越大,计算精度越高,但是相应的计算开销也就越高,本领域技术人员可以根据实际的计算资源设置K的取值,例如可以取8、10等。所述第五计算公式的初始值可以设置为
Figure BDA0003487447910000222
显然,在秘密共享域,减法和乘法计算都被原生地支持,而自然指数ex可以利用公式(14)近似计算。
在计算得到相邻两次训练的交叉熵损失后,基于二者的差值的绝对值来确定是否停止训练,即所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享利用ReLU函数计算相邻两次训练的交叉熵损失差值的绝对值;
所述第一计算终端和所述第二计算终端基于加性秘密共享确定所述绝对值是否小于预设阈值;
当所述绝对值小于预设阈值时,停止图神经网络的训练。
具体地,所述第一计算终端和所述第二计算终端基于加性秘密共享利用ReLU函数计算相邻两次训练的交叉熵损失差值的绝对值,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享通过第六计算公式计算所述绝对值;
所述第六计算公式为:
|[Lj+1]A-[Lj]A|=ReLU([Lj+1]A-[Lj]A)+ReLU([Lj]A-[Lj+1]A)
[Lj]A和[Lj+1]A表示相邻两次迭代训练的损失的加性秘密共享表示;
所述第一计算终端和所述第二计算终端基于加性秘密共享确定所述绝对值是否小于预设阈值,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享计算所述预设阈值和所述绝对值的差值的比特数据的最高有效位。
在计算相邻两次迭代的交叉熵损失[Lj]A和[Lj+1]A之后,第一计算终端P1和第二计算终端P2首先利用所述第六计算公式和前文所述的安全的ReLU(x)函数计算方法计算其差值的绝对值的密文。然后,模型收敛标志为
[msb(α-|[Lj]A-[Lj+1]A|)]B
其中msb()表示最高有效位,显然如果该值等于0则相邻两次迭代的交叉熵损失小于阈值α,反之则大于阈值α。最后P1和P2将该标志的密文共享给彼此,以获得明文的模型收敛标志,进而判断模型是否收敛,从而决定是否终止训练。
从前文的说明可以看出,通过本实施例提供的方法,可以安全地计算图神经网络的前向传播过程,为了完成模型的训练还需要进行后向传播,以计算梯度,进而优化图神经网络中的可优化权值,图神经网络后向传播的关键是计算前向传播中各个参数的倒数,即梯度。据链式法则,如果可以计算每层函数的导数,则可以完整地计算整个前向传播的导数。后向传播的核心是计算交叉熵损失、softmax函数以及ReLU函数的倒数,首先交叉熵损失函数的导数是:
Figure BDA0003487447910000231
显然,除法可以通过公式(11)近似计算。Softmax(x)的导数是
Figure BDA0003487447910000241
其中zj=Softmax(xj),其可以通过前面介绍的Softmax(x)函数安全地计算。最后一个函数ReLU(x)的导数是
Figure BDA0003487447910000242
其可以通过前面介绍的定制的并行前缀加法电路安全地计算。这样,通过本实施例提供的方法,可以实现安全且完成地执行图神经网络的训练过程。
综上所述,本实施例提供一种隐私保护的图神经网络训练方法,图数据的原始数据持有终端对图数据中节点的真实邻居节点中填充了虚假的邻居节点,并设置了虚假的邻居节点对应的边权值为0,将包括真实邻居节点和虚假邻居节点对应的边权值组成的数组以及节点的特征向量基于加性秘密共享的方式进行加密后分别发送给第一计算终端和第二计算终端进行图神经网络训练过程中的计算,实现了图数据所有者将非结构化信息以及结构化信息进行细致完全的加密处理、计算终端可以在不获知明文图数据的情况下进行隐私保护的图神经网络训练的效果。
应该理解的是,虽然本发明说明书附图中给出的的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
实施例二
基于上述实施例,本发明还相应提供了一种隐私保护的图神经网络训练系统,如图6所示,所述系统包括原始数据持有终端、第一计算终端和第二计算终端;所述原始数据持有终端、所述第一计算终端和所述第二计算终端用于协同执行实施例一中隐私保护的图神经网络训练方法中的相关步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种隐私保护的图神经网络训练方法,其特征在于,所述方法包括:
原始数据持有终端随机生成图数据中的目标节点对应的第一加密向量,基于所述第一加密向量和所述目标节点对应的初始特征向量生成所述目标节点对应的第二加密向量,并将所述第一加密向量发送给第一计算终端,将所述第二加密向量发送给第二计算终端,其中,所述第一加密向量和所述第二加密向量的和为所述目标节点对应的初始特征向量;
所述原始数据持有终端基于所述目标节点对应的邻居节点和所述目标节点的邻居节点与所述目标节点的连线对应的边权值生成所述目标节点对应的目标数组,所述目标数组中的元素的索引为所述目标节点的真实邻居节点的节点ID和虚假邻居节点的节点ID,所述目标数组中的元素包括第一元素和第二元素,所述第一元素为所述目标节点的真实邻居节点的节点ID对应的元素,所述第二元素为所述虚假邻居节点对应的元素,所述第一元素为所述目标节点的真实邻居节点与所述目标节点的连线对应的边权值,所述第二元素为0;
所述原始数据持有终端随机生成所述目标节点对应的第一加密数组,基于所述第一加密数组和所述目标数组生成所述目标节点对应的第二加密数组,将所述第一加密数组发送给所述第一计算终端,将所述第二加密数组发送给所述第二计算终端,其中,所述第一加密数组和所述第二加密数组的和为所述目标数组;
所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算。
2.根据权利要求1所述的隐私保护的图神经网络训练方法,其特征在于,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算之前,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享对所述目标节点对应的初始特征向量进行归一化处理。
3.根据权利要求1所述的隐私保护的图神经网络训练方法,其特征在于,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享通过第一计算公式协同计算所述目标节点在图神经网络第k层的聚合状态;
所述第一计算公式为:
Figure FDA0003487447900000021
其中,
Figure FDA0003487447900000022
表示所述目标节点vi在第k层的聚合状态,
Figure FDA0003487447900000023
表示所述目标节点vi在第k层的初始状态,
Figure FDA0003487447900000024
表示所述目标节点vi的所有边权值的和,dmax为所述图数据中所有节点中最大的度,
Figure FDA0003487447900000025
表示所述节点
Figure FDA0003487447900000026
的所有边权值的和,
Figure FDA0003487447900000027
表示节点
Figure FDA0003487447900000028
在第k层的初始状态;
Figure FDA0003487447900000029
表示所述目标节点vi与所述目标节点vi的邻居节点
Figure FDA00034874479000000210
的边权值;
其中,所述目标节点在图神经网络的第0层的初始状态为所述目标节点对应的初始特征向量。
4.根据权利要求1所述的隐私保护的图神经网络训练方法,其特征在于,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
所述原始数据持有终端随机生成第一状态加密数组,并基于所述第一状态加密数组和目标状态数组生成第二状态加密数组,将所述第一状态加密数组发送给所述第一计算终端,将所述第二状态加密数组发送给所述第二计算终端,其中,所述第一状态加密数组和所述第二状态加密数组的和为所述目标状态数组,所述目标状态数组中的元素为所述图数据中所有节点在第k层的初始状态;
所述第一计算终端按照第一预设方式对所述第一状态加密数组进行旋转后生成第一旋转数组发送至第三计算终端,所述第二计算终端按照第一预设方式对所述第二状态加密数组进行旋转生成第二旋转数组发送至第三计算终端;
所述原始数据持有终端基于所述第一预设方式和所述第二预设方式确定所述目标节点的邻居节点在第k层的初始状态在所述第一旋转数组和所述第二旋转数组中对应的目标位置并将所述目标位置发送至所述第三计算终端;
所述第三计算终端基于所述目标位置获取所述图数据中的节点在第k层的初始状态,并生成第一加密状态和第二加密状态,将所述第一加密状态发送至所述第一计算终端,将所述第二加密状态发送至所述第二计算终端,以使得所述第一计算终端和所述第二计算终端基于加性秘密共享协同执行所述目标节点的聚合状态的计算。
5.根据权利要求4所述的隐私保护的图神经网络训练方法,其特征在于,所述第一计算终端按照所述第一预设方式对所述第一状态加密数组进行旋转后为每个元素添加噪声后生成所述第一旋转数组,所述第二计算终端按照所述第二预设方式对所述第二状态加密数组进行旋转后为每个元素添加噪声后生成所述第二旋转数组。
6.根据权利要求1-3任一项所述的隐私保护的图神经网络训练方法,其特征在于,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
对于图神经网络训练过程中的除法运算,所述第一计算终端和所述第二计算终端基于加性秘密共享通过第二计算公式迭代计算得到分母的倒数,再基于加性秘密共享对分母的倒数和分子进行乘法运算;
其中,所述第二计算公式为:
yn+1=yn(2-xyn);
其中,yn表示第n次迭代计算分母倒数的计算结果,x表示除法运算中的分母;
对于图神经网络训练过程中的平方根运算,所述第一计算终端和所述第二计算终端基于加性秘密共享通过第三计算公式迭代计算得到平方根的倒数;
其中,所述第三计算公式为:
Figure FDA0003487447900000041
其中,y′n表示第n次迭代计算方根倒数的计算结果,x′表示待开方根的数;
对于图神经网络训练过程中的指数运算,所述第一计算终端和所述第二计算终端基于加性秘密共享通过第四计算公式迭代计算得到自然指数;
其中,所述第四计算公式为:
Figure FDA0003487447900000042
对于图神经网络中的对数计算,所述第一计算终端和所述第二计算终端基于加性秘密共享通过第五计算公式迭代计算得到自然对数;
其中,所述第五计算公式为:
Figure FDA0003487447900000043
其中,y”n表示第n次迭代计算自然对数的计算结果,x”表示待计算自然对数的数,K为常数。
7.根据权利要求1所述的隐私保护的图神经网络训练方法,其特征在于,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
对于图神经网络训练过程中的ReLU函数,采用以下方式实现加性秘密共享计算:
所述第一计算终端将所述第一计算终端持有的第一数据分解为比特数据,所述第二计算终端将所述第二计算终端持有的第二数据分解为比特数据,其中,所述第一数据和所述第二数据的和ReLU函数的输入数据;
所述第一计算终端和所述第二计算终端将各自持有的比特数据输入至并行前缀加法电路,执行异或门计算和与门计算得到所述输入数据的最高有效位;
所述原始数据持有终端基于所述最高有效位得到所述输入数据对应的ReLU函数结果。
8.根据权利要求7所述的隐私保护的图神经网络训练方法,其特征在于,所述第一计算终端和所述第二计算终端根据接收到的数据,基于加性秘密共享执行图神经网络训练过程中的计算,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享利用ReLU函数计算相邻两次训练的交叉熵损失差值的绝对值;
所述第一计算终端和所述第二计算终端基于加性秘密共享确定所述绝对值是否小于预设阈值;
当所述绝对值小于预设阈值时,停止图神经网络的训练。
9.根据权利要求8所述的隐私保护的图神经网络训练方法,其特征在于,所述第一计算终端和所述第二计算终端基于加性秘密共享利用ReLU函数计算相邻两次训练的交叉熵损失差值的绝对值,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享通过第六计算公式计算所述绝对值;
所述第六计算公式为:
|[Lj+1]A-[Lj]A|=ReLU([Lj+1]A-[Lj]A)+ReLU([Lj]A-[Lj+1]A)
[Lj]A和[Lj+1]A表示相邻两次迭代训练的损失的加性秘密共享表示;
所述第一计算终端和所述第二计算终端基于加性秘密共享确定所述绝对值是否小于预设阈值,包括:
所述第一计算终端和所述第二计算终端基于加性秘密共享计算所述预设阈值和所述绝对值的差值的比特数据的最高有效位。
10.一种隐私保护的图神经网络训练系统,其特征在于,所述系统包括原始数据持有终端、第一计算终端和第二计算终端;所述原始数据持有终端、所述第一计算终端和所述第二计算终端协同完成如权利要求1-9任一项所述的隐私保护的图神经网络训练方法。
CN202210085207.8A 2022-01-25 2022-01-25 一种隐私保护的图神经网络训练方法及系统 Active CN114491629B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210085207.8A CN114491629B (zh) 2022-01-25 2022-01-25 一种隐私保护的图神经网络训练方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210085207.8A CN114491629B (zh) 2022-01-25 2022-01-25 一种隐私保护的图神经网络训练方法及系统

Publications (2)

Publication Number Publication Date
CN114491629A true CN114491629A (zh) 2022-05-13
CN114491629B CN114491629B (zh) 2024-06-18

Family

ID=81474961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210085207.8A Active CN114491629B (zh) 2022-01-25 2022-01-25 一种隐私保护的图神经网络训练方法及系统

Country Status (1)

Country Link
CN (1) CN114491629B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114969783A (zh) * 2022-05-26 2022-08-30 哈尔滨工业大学(深圳) 一种隐私保护的群智感知数据恢复方法及系统
CN116150810A (zh) * 2023-04-17 2023-05-23 北京数牍科技有限公司 向量元素预聚合方法、电子设备及计算机可读存储介质
CN116527824A (zh) * 2023-07-03 2023-08-01 北京数牍科技有限公司 图卷积神经网络训练方法、装置及设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019231481A1 (en) * 2018-05-29 2019-12-05 Visa International Service Association Privacy-preserving machine learning in the three-server model
CN110782044A (zh) * 2019-10-29 2020-02-11 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法及装置
US20200242466A1 (en) * 2017-03-22 2020-07-30 Visa International Service Association Privacy-preserving machine learning
CN112395643A (zh) * 2020-11-23 2021-02-23 中国人民大学 一种神经网络的数据隐私保护方法及系统
CN113095490A (zh) * 2021-06-07 2021-07-09 华中科技大学 一种基于差分隐私聚合的图神经网络构建方法及构建系统
CN113221153A (zh) * 2021-05-31 2021-08-06 平安科技(深圳)有限公司 图神经网络训练方法、装置、计算设备及存储介质
CN113222143A (zh) * 2021-05-31 2021-08-06 平安科技(深圳)有限公司 图神经网络训练方法、系统、计算机设备及存储介质
CN113536383A (zh) * 2021-01-27 2021-10-22 支付宝(杭州)信息技术有限公司 基于隐私保护训练图神经网络的方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200242466A1 (en) * 2017-03-22 2020-07-30 Visa International Service Association Privacy-preserving machine learning
WO2019231481A1 (en) * 2018-05-29 2019-12-05 Visa International Service Association Privacy-preserving machine learning in the three-server model
CN110782044A (zh) * 2019-10-29 2020-02-11 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法及装置
WO2021082681A1 (zh) * 2019-10-29 2021-05-06 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法及装置
CN112395643A (zh) * 2020-11-23 2021-02-23 中国人民大学 一种神经网络的数据隐私保护方法及系统
CN113536383A (zh) * 2021-01-27 2021-10-22 支付宝(杭州)信息技术有限公司 基于隐私保护训练图神经网络的方法及装置
CN113221153A (zh) * 2021-05-31 2021-08-06 平安科技(深圳)有限公司 图神经网络训练方法、装置、计算设备及存储介质
CN113222143A (zh) * 2021-05-31 2021-08-06 平安科技(深圳)有限公司 图神经网络训练方法、系统、计算机设备及存储介质
CN113095490A (zh) * 2021-06-07 2021-07-09 华中科技大学 一种基于差分隐私聚合的图神经网络构建方法及构建系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈伟;杨龙;于乐: "数据融合中支持隐私保护的完整性动态验证算法", 计算机科学, vol. 40, no. 7, 31 December 2013 (2013-12-31) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114969783A (zh) * 2022-05-26 2022-08-30 哈尔滨工业大学(深圳) 一种隐私保护的群智感知数据恢复方法及系统
CN114969783B (zh) * 2022-05-26 2023-08-29 哈尔滨工业大学(深圳) 一种隐私保护的群智感知数据恢复方法及系统
CN116150810A (zh) * 2023-04-17 2023-05-23 北京数牍科技有限公司 向量元素预聚合方法、电子设备及计算机可读存储介质
CN116150810B (zh) * 2023-04-17 2023-06-20 北京数牍科技有限公司 向量元素预聚合方法、电子设备及计算机可读存储介质
CN116527824A (zh) * 2023-07-03 2023-08-01 北京数牍科技有限公司 图卷积神经网络训练方法、装置及设备
CN116527824B (zh) * 2023-07-03 2023-08-25 北京数牍科技有限公司 图卷积神经网络训练方法、装置及设备

Also Published As

Publication number Publication date
CN114491629B (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
US11301571B2 (en) Neural-network training using secure data processing
US11354539B2 (en) Encrypted data model verification
CN114491629A (zh) 一种隐私保护的图神经网络训练方法及系统
Tran et al. An efficient approach for privacy preserving decentralized deep learning models based on secure multi-party computation
CN113011587B (zh) 一种隐私保护的模型训练方法和系统
CN111475854B (zh) 保护两方数据隐私的协同计算方法及系统
US20160036584A1 (en) Privacy-preserving ridge regression using partially homomorphic encryption and masks
Niu et al. Toward verifiable and privacy preserving machine learning prediction
CN113158239B (zh) 保护数据隐私的选择问题处理方法
CN115310121A (zh) 车联网中基于MePC-F模型的实时强化联邦学习数据隐私安全方法
Zheng et al. Towards secure and practical machine learning via secret sharing and random permutation
Boura et al. High-precision privacy-preserving real-valued function evaluation
Moon et al. An Efficient Encrypted Floating‐Point Representation Using HEAAN and TFHE
Zhou et al. Deep binarized convolutional neural network inferences over encrypted data
Sun et al. Privacy-preserving vertical federated logistic regression without trusted third-party coordinator
Meng et al. Fedmonn: meta operation neural network for secure federated aggregation
Dong et al. Privacy-preserving locally weighted linear regression over encrypted millions of data
Bhowmik et al. Isomorphic encryption and coupled ANN with Mealy machine: a cutting edge data security model for cloud computing environment
Zhao et al. PPCNN: An efficient privacy‐preserving CNN training and inference framework
Tan et al. Distributed Outsourced Privacy‐Preserving Gradient Descent Methods among Multiple Parties
Dai et al. Privacy‐Preserving Sorting Algorithms Based on Logistic Map for Clouds
Yalame et al. Secure two-party computation using an efficient garbled circuit by reducing data transfer
Fu et al. Gatenet: Bridging the gap between binarized neural network and fhe evaluation
Zhao et al. NegDL: Privacy-Preserving Deep Learning Based on Negative Database
Liu et al. Verifiable privacy-preserving neural network on encrypted data

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