CN116527824A - 图卷积神经网络训练方法、装置及设备 - Google Patents
图卷积神经网络训练方法、装置及设备 Download PDFInfo
- Publication number
- CN116527824A CN116527824A CN202310807298.6A CN202310807298A CN116527824A CN 116527824 A CN116527824 A CN 116527824A CN 202310807298 A CN202310807298 A CN 202310807298A CN 116527824 A CN116527824 A CN 116527824A
- Authority
- CN
- China
- Prior art keywords
- vector
- node
- update
- graph
- neural 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012549 training Methods 0.000 title claims abstract description 67
- 239000013598 vector Substances 0.000 claims abstract description 373
- 238000004220 aggregation Methods 0.000 claims description 41
- 230000002776 aggregation Effects 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 17
- 238000005096 rolling process Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 11
- 230000003993 interaction Effects 0.000 claims description 11
- 238000013527 convolutional neural network Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000001902 propagating effect Effects 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims 1
- 239000010410 layer Substances 0.000 description 62
- 238000004364 calculation method Methods 0.000 description 47
- 238000013507 mapping Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 20
- 238000007781 pre-processing Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 239000000306 component Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 108010015780 Viral Core Proteins Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/44—Secrecy systems
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种图卷积神经网络训练方法、装置及设备,涉及信息安全技术领域。图卷积神经网络训练方法包括:获取第一参与方持有的子图的第一节点向量和第一边向量;对第一边向量进行转换,得到第一源节点向量;分别对第一边向量和第一源节点向量进行GAS模型的分散运算,得到第二边向量和第一更新向量;对第一节点向量和第一更新向量进行GAS模型的收集运算,得到第二更新向量;针对子图的第一节点,基于第二更新向量进行GAS模型的应用运算,得到第一节点相对于当前迭代执行的图卷积神经网络的层数的梯度;根据梯度,更新层数对应的图卷积神经网络参数。根据本申请实施例,能够不泄露各个参与方的子图数据隐私。
Description
技术领域
本申请属于信息安全技术领域,尤其涉及一种图卷积神经网络训练方法、装置及设备。
背景技术
图神经网络指的是专门为图数据设计的一类神经网络模型,通常被用于节点分类、节点嵌入表示、边预测、图分类等任务。相比传统神经网络,图神经网络能有效运用图数据中样本点之间的关联辅助预测,优化预测效果,同时需要的模型参数数量较少。作为当下部署最为广泛的神经网络类型之一,图神经网络在反金融欺诈、知识图谱分析、虚假社交账户检测等领域发挥着重要作用。
近年来不同机构之间共享图数据,合作进行图神经网络学习(训练)的需求日渐增强。各个参与方可以通过合作进行图神经网络训练以增强各自本地图神经网络的效果。
相关技术中,合作图神经网络(即联邦图神经网络)有若干参与方合作进行图神经网络训练,各参与方均提供一个子图。各个参与方在训练图神经网络中,通常会以明文形式向其他参与方提供数据,例如,中间梯度,而这些数据通常会包含参与方的图数据,导致参与方图数据隐私泄露,各参与方的图数据隐私无法得到保障。
发明内容
本申请实施例提供一种图卷积神经网络训练方法、装置及设备,能够解决在训练图卷积神经网络时,各参与方子图数据隐私泄露的问题。
第一方面,本申请实施例提供一种图卷积神经网络训练方法,应用于第一参与方,第一参与方为联邦图计算系统包括的多个参与方中的任一参与方,第一参与方与其他参与方通过秘密共享或全同态加密进行数据交互;图卷积神经网络训练方法包括:
获取第一参与方持有的子图的第一节点向量和第一边向量;
对第一边向量进行转换,得到第一源节点向量,其中,第一源节点向量中节点的索引顺序与第一边向量的源节点索引顺序相同;
分别对第一边向量和第一源节点向量进行收集-应用-分散(Gather-Apply-Scatter,GAS)模型的分散(Scatter)运算,得到第二边向量和第一更新向量,其中,第一更新向量为第二边向量中目标节点的更新向量;
对第一节点向量和第一更新向量进行GAS模型的收集(Gather)运算,得到第二更新向量,其中,第二更新向量为第一节点向量的更新向量;
针对子图的第一节点,基于第二更新向量进行GAS模型的应用(Apply)运算,得到第一节点相对于当前迭代执行的图卷积神经网络的层数的梯度,其中,第一节点为子图中的任一节点;
根据梯度,更新层数对应的图卷积神经网络参数。
第二方面,本申请实施例提供一种图卷积神经网络训练装置,应用于第一参与方,第一参与方为联邦图计算系统包括的多个参与方中的任一参与方,第一参与方与其他参与方通过秘密共享或全同态加密进行数据交互;图卷积神经网络训练装置包括:
获取模块,用于获取第一参与方持有的子图的第一节点向量和第一边向量;
第一转换模块,用于对第一边向量进行转换,得到第一源节点向量,其中,第一源节点向量中节点的索引顺序与第一边向量的源节点索引顺序相同;
第一运算模块,用于分别对第一边向量和第一源节点向量进行GAS模型的分散运算,得到第二边向量和第一更新向量,其中,第一更新向量为第二边向量中目标节点的更新向量;
第二运算模块,用于对第一节点向量和第一更新向量进行GAS模型的收集运算,得到第二更新向量,其中,第二更新向量为第一节点向量的更新向量;
第三运算模块,用于针对子图的第一节点,基于第二更新向量进行GAS模型的应用运算,得到第一节点相对于当前迭代执行的图卷积神经网络的层数的梯度,其中,第一节点为子图中的任一节点;
更新模块,用于根据梯度,更新层数对应的图卷积神经网络参数。
第三方面,本申请实施例提供一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现本申请实施例第一方面提供的图卷积神经网络训练方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现本申请实施例第一方面提供的图卷积神经网络训练方法。
第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行如本申请实施例第一方面提供的图卷积神经网络训练方法。
在本申请实施例中,第一参与方通过获取第一参与方持有的子图的第一节点向量和第一边向量;对第一边向量进行转换,得到第一源节点向量;分别对第一边向量和第一源节点向量进行分散运算,得到第二边向量和第一更新向量;对第一节点向量和第一更新向量进行收集运算,得到第二更新向量,其中,第二更新向量为第一节点向量的更新向量;针对子图的第一节点,基于第二更新向量进行应用运算,得到第一节点相对于当前迭代执行的图卷积神经网络的层数的梯度,其中,第一节点为子图中的任一节点;根据梯度,更新层数对应的图卷积神经网络参数。由于在训练图卷积神经网络的过程中,各个参与方通过秘密共享或全同态加密进行数据交互,能够在不泄露各个参与方的子图数据隐私的情况下,在强隐私保护的前提下完成图卷积神经网络的训练。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的图卷积神经网络训练方法的流程示意图;
图2是本申请实施例提供的联邦图计算系统的结构示意图;
图3是本申请实施例提供的图卷积神经网络的执行流程示意图;
图4是本申请实施例提供的多个参与方之间的关系示意图;
图5是本申请实施例提供的在线计算阶段的流程示意图;
图6是本申请实施例提供的多个参与方之间的信息交互示意图;
图7是本申请实施例提供的图卷积神经网络训练装置的结构示意图;
图8是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以下对本申请可能使用到的名词进行如下解释:
图卷积神经网络(Graph Convolution Neural Networks,GCN)是图神经网络中使用较为广泛的一种网络,核心思想是对局部图拓扑进行卷积。
联邦图计算:将各个参与方持有的分离的子图通过跨子图的边和公共节点拼接成一张全局图,并运行图算法,同时保护各参与方的子图数据隐私。
全同态加密:支持基于密文进行乘法、加法运算的公钥加密技术。
秘密共享:将某数据x拆分成若干秘密碎片(secret share),每个碎片的值的分布是随机的,但是相加等于x。对于两方秘密共享,将x拆分为两个秘密碎片和使得 。
隐私求交:多个参与方之间运行的密码学协议,输入是每个参与方手中持有的一个集合,输出是所有集合的交集,能够不泄露交集之外的任意集合元素的信息。
收集-应用-分散(Gather-Apply-Scatter,GAS)模型:该模型将图算法的执行表达为以节点为中心的计算,且由Gather-Apply-Scatter三个操作的若干轮迭代组成图算法的执行过程。GAS模型是分布式图计算领域使用最为广泛的一种图算法的抽象模型。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的图卷积神经网络训练方法、装置及设备进行详细地说明。
本申请实施例提供的图卷积神经网络训练方法应用于第一参与方,其中,第一参与方为联邦图计算系统包括的多个参与方中的任一参与方,第一参与方与其他参与方通过秘密共享或全同态加密进行数据交互。
图1是本申请实施例提供的图卷积神经网络训练方法的流程示意图。如图1所示,图卷积神经网络训练方法可以包括:
步骤101:获取第一参与方持有的子图的第一节点向量和第一边向量。
在本申请实施例的一些可能实现中,第一节点向量可以包括第一参与方持有的子图的节点信息,节点信息可以包括节点的标识,或者节点标识的索引;第一边向量可以包括第一参与方持有的子图的边信息,边信息可以包括边对应的源节点的标识或索引,以及目标节点的标识或索引。
步骤102:对第一边向量进行转换,得到第一源节点向量,其中,第一源节点向量中节点的索引顺序与第一边向量的源节点索引顺序相同。
在本申请实施例的一些可能实现中,可以调用隐私保护的向量元素映射协议,将第一边向量转换为和第一边向量中源节点索引顺序一致的节点向量(即第一源节点向量)。
其中,隐私保护的向量元素映射协议用于对节点向量、边向量、更新向量做变换,以支持向量化的Scatter和Gather计算。
隐私保护的向量元素映射协议的输入分为两部分。第一部分:在两个参与方之间秘密共享的旧向量;第二部分:其中一个参与方掌握的映射关系。其计算目标是基于秘密共享的旧向量和映射关系构造一个同样为秘密共享的新向量,其中映射关系将新向量中的一个元素的索引映射到旧向量中的一个索引,该元素的明文值与旧向量中的对应元素相等。隐私保护指计算过程不能公开新旧向量中任意元素的明文值,也不能泄露其中一个参与方所掌握的映射关系给另一个参与方,两参与方通过交互的中间数据所获取的唯一信息是新旧向量的长度(元素个数)。
隐私保护的向量元素映射协议的执行分为预处理阶段和在线计算阶段。预处理阶段为在线计算阶段准备关联随机数,在线计算结合关联随机数进行计算,无需密码学操作,且具有较小的传输开销。生成关联随机数的目的即执行向量元素映射协议的预处理阶段,为在线计算中所涉及的各种向量元素映射操作做准备。向量元素映射协议的预处理和在线计算复杂度均线性于新旧向量的长度(元素个数)。
在本申请实施例的一些可能实现中,可以在隐私保护的向量元素映射协议的执行的预处理阶段使用全同态加密技术。采用全同态加密技术能够满足GCN中在一个密文里加密高维向量的需求。
在本申请实施例的一些可能实现中,全同态加密技术通常在域上运算,因此生成的关联随机数也在/>上秘密共享;而安全多方计算协议的输入则在环/>上进行秘密共享,因此,需要实现从/>的秘密共享到/>的秘密共享的转化。
在本申请实施例的一些可能实现中,可以采用如下公式(1)进行转化。
(1)
其中,和/>分别为数据x的两个秘密碎片,/>为参数。
当且x的绝对值远小于/>时,通过上述公式(1)进行秘密共享的转化有较高的成功率,对训练过程没有明显影响。
步骤103:分别对第一边向量和第一源节点向量进行GAS模型的分散运算,得到第二边向量和第一更新向量,其中,第一更新向量为第二边向量中目标节点的更新向量。
如果本轮迭代对应前向传播的第一层,则以各节点的特征为输入的嵌入表示;否则,以各节点在上轮迭代得到的嵌入表示作为输入的嵌入表示。
对嵌入表示进行标量乘操作,所乘标量存储在出边上,和矩阵中定义的权值对应,标量乘的结果作为对目标节点的更新值。
在本申请实施例的一些可能实现中,GCN模型的每一轮迭代对应GCN的一个前向传播层或后向传播层计算。
GCN的单层前向传播可以如下公式(2)所示。
(2)
其中,在公式(2)中,为节点在第L层的嵌入表示矩阵,每行对应一个节点, />为加权邻接矩阵,/>为第L层对应的神经网络参数,/>为激活函数。特别地,/>,即模型的输入为节点特征构成的矩阵。
令,假设模型共/>层,在第/>层(也就是最后一层)的计算为:
其中,是预测结果,/>函数为归一化指数函数。
GCN的单层后向传播可以如下公式(3)所示。
(3)
其中,为节点相对于第L-1层的梯度,/>为加权邻接矩阵,/>为节点在第L-1层的嵌入表示矩阵,/>为激活函数,/>,/>为第L-1层的神经网络参数,/>为后向传播时第L-1层对应的嵌入表示。特别地,/>,。Y为标签。
步骤104:对第一节点向量和第一更新向量进行GAS模型的收集运算,得到第二更新向量,其中,第二更新向量为第一节点向量的更新向量。
在本申请实施例的一些可能实现中,在步骤104之前,本申请实施例提供的图卷积神经网络训练方法还可以包括:对第一更新向量中的元素进行预聚合处理,得到聚合向量;对聚合向量进行转换,得到第三更新向量,其中,第三更新向量中目标节点的顺序与第一节点向量中各节点的顺序相同。
相应地,步骤104可以包括:对第一节点向量和第三更新向量进行GAS模型的收集运算,得到第二更新向量。
在本申请实施例的一些可能实现中,可以调用隐私保护的向量元素预聚合协议对第一更新向量中的元素进行预聚合处理,调用上述隐私保护的向量元素映射协议对聚合向量进行转换。
其中,隐私保护的向量元素预聚合协议的输入分为两部分。第一部分:在两个参与方之间秘密共享的更新向量;第二部分:其中一个参与方掌握的更新向量中每个元素的目标节点索引。其计算目标是合并目标节点索引相同的所有元素为单个元素,即完成向量元素预聚合操作。输出的预聚合后的向量也应为秘密共享状态,其中,存放有聚合值的元素的索引为其中一个参与方掌握(即掌握元素目标节点索引的参与方)。隐私保护的要求指的是计算过程不能公开原向量和预聚合之后的向量的任意元素的明文值,也不能将其中一个参与方掌握的目标节点索引信息泄露给另一个参与方,双方通过交互过程获取的唯一信息是向量的长度(元素个数)。
隐私保护的向量元素预聚合协议的执行同样分为预处理阶段和在线计算阶段。预处理阶段将计算更新向量所需的边向量和节点向量重组织(排序和插入冗余边)为特定的形式,并基于此生成掩码向量,以支持在线计算;在线计算可并行度高(支持向量元素层次的并行),且具有线性复杂度(线性于向量的长度)。重组织的目的即执行向量元素预聚合协议的预处理阶段,为在线阶段做准备。
在本申请实施例的一些可能实现中,对第一更新向量中的元素进行预聚合处理,得到聚合向量,可以包括:将第一更新向量中目标节点索引相同的元素合并为一个元素,得到聚合向量。
在本申请实施例的一些可能实现中,对第一节点向量和第三更新向量进行收集运算,得到第二更新向量,可以包括:对第一节点向量和第三更新向量进行收集运算,得到第四更新向量;对第四更新向量和第三边向量对应的第三更新向量进行收集运算,得到第二更新向量,其中,第三边向量为第二参与方和第一参与方的子图之间的跨子图的边向量,第二参与方为对于多个参与方进行顺序编号之后第一参与方的下一个参与方。
步骤105:针对子图的第一节点,基于第二更新向量进行GAS模型的应用运算,得到第一节点相对于当前迭代执行的图卷积神经网络的层数的梯度,其中,第一节点为子图中的任一节点。
在本申请实施例的一些可能实现中,步骤105可以包括:当当前迭代为后向传播且执行图卷积神经网络的第K层时,根据上述计算第一节点相对于第K层的梯度;
当当前迭代为后向传播且执行图卷积神经网络的第L-1层时,根据上述公式(3)计算第一节点相对于第L-1层的梯度。
在本申请实施例的一些可能实现中,当当前迭代为前向传播且执行图卷积神经网络的第K层(即输出层)时,将嵌入表示乘以权重矩阵,然后进行上述Softmax函数计算,输出预测值,以及预测值/>与标签/>的差值/>;当当前迭代为前向传播且执行图卷积神经网络的非输出层时,将嵌入表示乘以权重矩阵,然后进行激活函数计算。
步骤106:根据梯度,更新层数对应的图卷积神经网络参数。
在本申请实施例的一些可能实现中,步骤106可以包括:计算子图的所有节点相对于层数的梯度的平均值,得到子图对应层数的局部梯度;根据子图对应层数的局部梯度、层数对应的更新前参数和梯度更新下降速率,更新层数对应的图卷积神经网络参数。
示例性地,假设得到子图对应第M层的局部梯度为,则可以根据如下公式(4)计算第M层对应的参数。
(4)
其中,为更新后的第M层对应的参数,/>为更新前的第M层对应的参数,/>为梯度更新下降速率。
在本申请实施例的一些可能实现中,步骤106可以包括:计算子图的所有节点相对于层数的梯度的平均值,得到子图对应层数的局部梯度;对子图对应层数的局部梯度和其他参与方的子图对应层数的局部梯度进行聚合处理,得到全局梯度;根据全局梯度,更新层数对应的图卷积神经网络参数。
在本申请实施例的一些可能实现中,步骤106可以包括:计算子图的所有节点相对于层数的梯度的平均值,得到子图对应层数的局部梯度;对子图对应层数的局部梯度和其他参与方的子图对应层数的局部梯度进行聚合处理,得到全局梯度;根据全局梯度,更新层数对应的图卷积神经网络参数。
在本申请实施例的一些可能实现中,每个参与方均可以计算得到一个局部梯度,各个参与方可以协作对局部梯度进行聚合,例如,求平均值,得到全局梯度,利用全局梯度对更新图卷积神经网络参数。
在本申请实施例的一些可能实现中,梯度聚合有两种方式,一种方式是各参与方协作运行共识协议,指定随机的两个参与方,将局部梯度委托给这两个参与方进行聚合,随后分发聚合后得到的全局梯度;第二种方式是各参与方协作调用多方安全计算协议,输入为各自持有的局部梯度,输出为聚合后的全局梯度,均为两方秘密共享的形式。
在本申请实施例中,能够在不泄露各个参与方的子图数据隐私的情况下,在强隐私保护的前提下完成图卷积神经网络的训练。
在本申请实施例的一些可能实现中,在步骤106之后,本申请实施例提供的图卷积神经网络方法还可以包括:判断是否满足预设训练终止条件;当不满足预设训练终止条件时,继续执行步骤103,直至满足预设训练终止条件;当满足预设训练终止条件时,接收并合并其他参与方秘密共享的图数据,得到运算执行结果。
其中,满足预设训练终止条件包括但不限于:迭代次数等于预设迭代次数、完成指定的训练epoch数量。在GCN推理中,满足预设训练终止条件完成单轮前向传播。
在本申请实施例的一些可能实现中,上述步骤101至步骤106可以是一次迭代过程,当不满足预设训练终止条件时,可以利用第二更新向量对第一节点向量进行更新,继续执行步骤101。
图2是本申请实施例提供的联邦图计算系统的结构示意图。
联邦图计算系统中主要包含两大核心组件,即横向联邦GCN引擎和安全计算后端。前者管控横向联邦GCN的执行流程、加载联邦GCN配置和图数据、定义GCN算法细节且支撑参与方之间的数据交互;后者提供各种安全多方计算底层协议支持,包含全同态加密、两方安全计算、多方安全计算及隐私求交。横向联邦GCN引擎主要包括:存储模块、控制模块、传输模块和算法模块。
存储模块加载并存储图数据、联邦GCN配置信息。其中,图数据包含节点(样本)特征、节点映射(各节点所属的参与方)、边权重、中间更新数据,图数据可能为明文或者秘密共享状态;联邦GCN配置信息即参与方数量、各参与方通信配置、GCN模型配置(神经网络层数和参数数量),训练超参数(包含epoch数量、梯度下降速率)等,其中,epoch是一个完整的数据集通过神经网络一次并且返回一次的过程。
控制模块是横向联邦GCN引擎的核心,负责整体计算与交互流程的控制,集中管控其他模块。具体地,控制模块通过存储模块读取图数据及联邦GCN配置信息,控制传输模块完成与各参与方的信道建立以及后续数据交互,通过算法模块获取联邦GCN训练和推理中每轮算法迭代涉及的具体计算任务,并调用计算引擎模块完成基于秘密共享或明文数据的任务计算。
传输模块负责维护和其他参与方之间的信道,中间数据发送与接收。需要注意的是,各参与方之间交互的GCN计算中间数据均为秘密共享数据或同态加密的密态数据,且接收方无法直接解密。此外,安全计算后端可使用其特定的底层网络组件完成协议执行的中间数据传输,不必使用传输模块。
算法模块首先定义GCN特定的数据结构,包含节点特征的向量、节点嵌入向量、参数矩阵、梯度矩阵等。此外,算法模块定义GCN各执行阶段所涉及的具体计算(执行阶段总体包含前向传播和后向传播),并可基于图数据封装具体的计算任务,提供给控制模块,并定义计算任务写回图数据的规则。控制模块无需处理具体的图算法细节,但需要根据特定的迭代轮数和GCN模型配置信息选择相应的计算任务执行。其中,算法模块包括前向传播模块、后向传播模块和梯度聚合模块。
图3是本申请实施例提供的图卷积神经网络的执行流程示意图。图卷积神经网络的执行流程主要包括四个阶段,分别为:输入图数据、预处理、在线计算和终止。各阶段完成的任务如下:
输入图数据主要使用存储模块读入参与方本地图数据和联邦GCN配置文件。
预处理主要完成建议秘钥、对齐公共节点、重组织向量、生成关联随机数和秘密共享图数据。
其中,在建议秘钥时,各参与方建立信道,本地生成全同态加密密钥对,并共享公钥给其他参与方。
在对齐公共节点时,参与方两两运行隐私求交协议,确定每一对子图之间的公共节点。进一步确定节点映射,即各节点所属的参与方。此处的假设是各参与方采用相同的节点索引方案。
在重组织向量时,各参与方根据节点入度对节点向量进行排序,并给节点增加最少量的冗余入边,使得节点入度为2的幂次或者0,并据此重新组织边向量,将目标节点相同的边放在相邻位置。令目标节点相同的边为一组,依据目标节点入度大小(也即组中边的数量)对各组进行降序排序。
在生成关联随机数时,基于全同态加密生成关联随机数。
在秘密共享图数据时,对节点数据向量和边权重向量进行秘密共享。仅秘密共享节点数据和边权重,而不共享节点索引信息。
在线计算主要基于GAS模型执行GCN训练与推理,即将GCN计算过程转换为Scatter-Gather-Apply三步骤的多轮迭代。
在Scatter阶段, 两两参与方之间协作运行隐私保护的向量元素映射协议,基于已经秘密共享的节点向量生成和边向量对应的源节点向量。随后,该源节点向量被用于和边向量执行向量化的Scatter计算。Scatter计算通过安全计算后端的两方计算模块完成,其涉及的具体计算内容将在下文具体介绍。Scatter计算将以秘密共享的形式输出对边向量的目标节点的更新向量。
在Gather阶段,两两参与方首先运行隐私保护的向量元素预聚合协议对更新向量进行预聚合,即将目标节点相同的元素合并为一个元素。然后,两两参与方调用向量元素映射协议将预聚合后的元素转换为和目标节点向量相同的顺序,并进一步结合目标节点向量进行向量化的Gather计算。
在Apply阶段,两两参与方对Gather计算输出的节点数据进行神经网络计算。如果当前迭代位于前向传播的最后一层,那么输出预测结果,计算损失函数;如果当前迭代位于后向传播中,那么神经网络计算将生成模型参数局部梯度,各参与方协作对局部梯度进行聚合,得到全局梯度,并进行模型参数更新。
在终止阶段时,判定是否达到GCN训练或推理的迭代的终止条件。在GCN训练中,该终止条件即GCN配置文件中指定的训练epoch数量;在GCN推理中,该终止条件为完成单轮前向传播。如果未达到终止条件,则回到在线计算阶段,继续执行算法迭代;如果达到终止条件,则合并已经秘密共享的图数据和神经网络参数,作为GCN执行的结果公开。
图4是本申请实施例提供的多个参与方之间的关系示意图。
在预处理阶段进行秘密共享图数据时,任意参与方将其掌握的节点向量和边向量均拆分成两方秘密共享的形式,分享给其他参与方。在图4中,/>为/>所掌握的子图节点向量,在预处理阶段进行秘密共享图数据时,所有其余参与方接收到相同的秘密碎片,即;/>为/>所掌握的子图内部边向量,仅参与方/>收到秘密碎片/>;/>为/>和/>之间的跨子图边向量,仅参与方/>收到秘密碎片/>。
图5是本申请实施例提供的在线计算阶段的流程示意图。
在线计算阶段主要包括:秘密共享的输入阶段、准备边向量的源节点向量阶段、向量化的Scatter计算阶段、预聚合更新向量阶段、准备节点向量的更新向量阶段、向量化的Gather计算阶段和向量化的Apply计算。
在秘密共享的输入阶段,在线计算由若干轮GCN迭代组成,其中,每一轮迭代的输入均为秘密共享的图数据。设和/>分别为参与方/>所持有的子图内部的节点向量和边向量,/>为参与方/>和参与方/>的子图之间的跨子图的边向量。节点向量对应节点的嵌入表示,边向量对应边的权值。需要说明的是,参与方/>和参与方/>的子图之间可能不存在跨子图的边向量。
在准备边向量的源节点向量阶段,调用隐私保护的向量元素映射协议,将边向量转换为和边向量中所存储的源节点索引顺序一致的源节点向量。在图5中 ,用表示向量元素映射协议,/>表示协议中使用的映射关系,/>表示源节点向量。需要注意的是,对应/>的源节点索引,由参与方/>和参与方/>合作执行向量元素映射协议生成;/>对应/>的源节点索引,由参与方/>和参与方/>合作执行向量元素映射协议生成。
在向量化的Scatter计算阶段,将(/>)与/>(/>)的对应元素执行Scatter计算,得到新的边向量/>(/>)及目标节点的更新向量/>(/>)。在图5中,用/>表示Scatter计算,其中,/>和/>的获取由/>和/>协作完成,/>和/>的获取由/>和/>协作完成。
在预聚合更新向量阶段,和/>(/>)调用隐私保护的向量元素预聚合协议对/>(/>)进行预聚合,得到/>(/>)。在图5中,用/>表示向量元素预聚合协议,用/>表示参与方/>所提供的掩码向量集合。
在准备节点向量的更新向量阶段,预聚合后的更新向量需要先变换为和目标节点向量(即待更新的节点向量)一致的顺序,之后才能进行向量化的Gather计算。在此阶段中,同样通过隐私保护的向量元素映射协议完成。需要注意的是,前面计算中得到的后续用于更新参与方/>的向量/>,其映射关系应该由/>提供;向量/>后续会用于更新/>的/>向量。用/>表示本阶段用到的映射关系,用/>和/>表示映射后的更新向量。
在向量化的Gather计算阶段,该计算阶段分为两步完成。第一步:参与方和参与方/>对/>和/>执行向量化的Gather计算,得到/>;第二步:参与方/>和/>对/>和/>执行向量化的Gather计算,得到/>。/>最终作为本轮算法迭代得到的更新后的节点向量。在图5中,用/>表示Gather计算。
在向量化的Apply计算阶段。基于上一步得到的节点嵌入向量,Apply计算执行神经网络计算。如果当前迭代位于后向传播中,则Apply阶段剩余的关键计算是梯度聚合和参数更新。
梯度聚合:各参与方首先对本地所有节点中产生的梯度进行求和平均,得到局部梯度,该梯度在和/>之间秘密共享。随后各参与方协作进行梯度聚合,得到全局梯度。梯度聚合有两种方法。一是各参与方协作运行共识协议,指定随机的两个参与方,将局部梯度委托给这两个参与方进行聚合,随后分发聚合后得到的全局梯度;二是各参与方协作调用多方安全计算协议,输入为各自持有的局部梯度,输出为聚合后的全局梯度,均为两方秘密共享的形式。
参数更新:基于上一步得到的全局梯度,乘以梯度下降速率,对模型参数进行梯度下降,得到新的模型参数。
在本申请实施例的一些可能实现中,在多方场景中,由于每个参与方和其他任意参与方之间都可能存在跨子图的边,因此上述向量化的Gather计算中的第二步可能发生于任意两个参与方之间。由于输入均以秘密共享的形式存在,为了避免复杂的数据同步或使用昂贵的多方(超过两方)安全计算技术,可采用Gather计算委托机制,如图6所示。
在图6中,参与方(/>且/>)将其所持有的执行完映射的更新向量的秘密碎片/>发送给参与方/>,之后由参与方/> 代理参与方/>与/>依次完成向量化的Gather计算,最后将更新后的/>向量的秘密碎片同步给所有参与方/>(/>且/>)。
在本申请实施例中,预处理阶段的大多数计算均基于明文完成,相比密码学操作具有较小的开销,因此,预处理阶段的主要开销来源是生成关联随机数时的全同态加密计算开销,该开销的量级决定于图中边向量、节点向量的规模(长度)以及向量元素映射协议的预处理部分的复杂度;而本申请实施例所调用的向量元素映射协议的预处理开销本身是线性复杂度的,这使得本申请实施例中的预处理阶段也具有线性复杂度。
对于在线计算阶段,向量元素映射协议的在线计算并不涉及密码学操作,其开销可以忽略,因此,在线计算的开销主要来源有四部分,即向量化的Scatter运算,Gather运算,向量元素预聚合的在线阶段,以及向量化的Apply运算。向量化的Scatter运算,Gather运算和Apply运算具有线性复杂度,而本申请实施例所使用的向量元素预聚合的在线阶段也具有线性复杂度,因此,联邦GCN的在线计算阶段整体也具有线性复杂度(线性于全局图规模,即边向量和节点向量的长度)。
在本申请实施例中,可以通过跨子图的边和公共节点传递图数据,提升联邦GCN的效果。相关技术中的联邦图神经网络技术将各参与方的图视作分离的子图,无法利用跨子图的边和公共节点信息。而本申请实施例所给出的联邦GCN的设计基础是联邦图计算系统,因此本身就具备通过跨子图的边和公共节点传递图数据的能力,即能将分离的子图拼接成全局图,大大增加了横向联邦的收益,即带来更高的模型预测准确率。
在本申请实施例中,在假设所使用的全同态加密、两方安全计算、多方安全计算、隐私求交等计算后端安全的前提下,本申请实施例实现了对联邦GCN的端到端隐私保护(无需公开任何中间数据,如中间梯度),且为可证明安全。具体而言,本申请实施例仅仅公开各子图的节点数量和边数量,不泄露其他任何子图信息。在半诚实和无共谋的假设下,本申请实施例能从密码学理论上保证不通过参与方之间交互的中间数据泄露各自的子图数据隐私,在强隐私保护的前提下完成联邦GCN训练和推理。相比之下,相关技术中的联邦图神经网络技术缺乏安全分析,隐私保护性得不到保障。
在本申请实施例中,各参与方的GCN梯度聚合通过参与方之间协作运行安全多方计算协议完成,是分布式的梯度聚合,无需依赖可信第三方服务器进行梯度聚合。因此,本申请实施例能避免向可信第三方聚合服务器泄露信息。
除此之外,本申请实施例基于全同态加密在预处理阶段生成关联随机数,具有较低的预处理开销和在线计算开销,能同时兼顾隐私保护性和计算性能。
本申请实施例还提供一种图卷积神经网络训练装置,本申请实施例提供的图卷积神经网络训练装置应用于第一参与方,其中,第一参与方为联邦图计算系统包括的多个参与方中的任一参与方,第一参与方与其他参与方通过秘密共享或全同态加密进行数据交互。
如图7所示。图7是本申请实施例提供的图卷积神经网络训练装置的结构示意图,该图卷积神经网络训练装置700可以包括:
获取模块701,用于获取第一参与方持有的子图的第一节点向量和第一边向量;
第一转换模块702,用于对第一边向量进行转换,得到第一源节点向量,其中,第一源节点向量中节点的索引顺序与第一边向量的源节点索引顺序相同;
第一运算模块703,用于分别对第一边向量和第一源节点向量进行GAS模型的分散运算,得到第二边向量和第一更新向量,其中,第一更新向量为第二边向量中目标节点的更新向量;
第二运算模块704,用于对第一节点向量和第一更新向量进行GAS模型的收集运算,得到第二更新向量,其中,第二更新向量为第一节点向量的更新向量;
第三运算模块705,用于针对子图的第一节点,基于第二更新向量进行GAS模型的应用运算,得到第一节点相对于当前迭代执行的图卷积神经网络的层数的梯度,其中,第一节点为子图中的任一节点;
更新模块706,用于根据梯度,更新层数对应的图卷积神经网络参数。
在本申请实施例中,第一参与方通过获取第一参与方持有的子图的第一节点向量和第一边向量;对第一边向量进行转换,得到第一源节点向量;分别对第一边向量和第一源节点向量进行分散运算,得到第二边向量和第一更新向量;对第一节点向量和第一更新向量进行收集运算,得到第二更新向量,其中,第二更新向量为第一节点向量的更新向量;针对子图的第一节点,基于第二更新向量进行应用运算,得到第一节点相对于当前迭代执行的图卷积神经网络的层数的梯度,其中,第一节点为子图中的任一节点;根据梯度,更新层数对应的图卷积神经网络参数。由于在训练图卷积神经网络的过程中,各个参与方通过秘密共享或全同态加密进行数据交互,能够在不泄露各个参与方的子图数据隐私的情况下,在强隐私保护的前提下完成图卷积神经网络的训练。
在本申请实施例的一些可能实现中,图卷积神经网络训练装置700还可以包括:
聚合模块,用于对第一更新向量中的元素进行预聚合处理,得到聚合向量;
第二转换模块,用于对聚合向量进行转换,得到第三更新向量,其中,第三更新向量中目标节点的顺序与第一节点向量中各节点的顺序相同;
相应地,第二运算模块704具体可以用于:
对第一节点向量和第三更新向量进行收集运算,得到第二更新向量。
在本申请实施例的一些可能实现中,聚合模块具体可以用于:
将第一更新向量中目标节点索引相同的元素合并为一个元素,得到聚合向量。
在本申请实施例的一些可能实现中,第二运算模块704具体可以用于:
对第一节点向量和第三更新向量进行收集运算,得到第四更新向量;
对第四更新向量和第三边向量对应的第三更新向量进行收集运算,得到第二更新向量,其中,第三边向量为第二参与方和第一参与方的子图之间的跨子图的边向量,第二参与方为对于多个参与方进行顺序编号之后第一参与方的下一个参与方。
在本申请实施例的一些可能实现中,第三运算模块705具体可以用于:
当当前迭代为后向传播且执行图卷积神经网络的第K层时,根据上述计算第一节点相对于第K层的梯度;
当当前迭代为后向传播且执行图卷积神经网络的第L-1层时,根据上述公式(3)计算第一节点相对于第L-1层的梯度。
在本申请实施例的一些可能实现中,更新模块706具体可以用于:
计算子图的所有节点相对于层数的梯度的平均值,得到子图对应层数的局部梯度;
根据子图对应层数的局部梯度、层数对应的更新前参数和梯度更新下降速率,更新层数对应的图卷积神经网络参数。
在本申请实施例的一些可能实现中,更新模块706具体可以用于:
计算子图的所有节点相对于层数的梯度的平均值,得到子图对应层数的局部梯度;
对子图对应层数的局部梯度和其他参与方的子图对应层数的局部梯度进行聚合处理,得到全局梯度;
根据全局梯度,更新层数对应的图卷积神经网络参数。
在本申请实施例的一些可能实现中,图卷积神经网络训练装置700还可以包括:
判断模块,用于判断是否满足预设训练终止条件;
迭代模块,用于当不满足预设训练终止条件时,继续执行分别对第一边向量和第一源节点向量进行分散运算,得到第二边向量和第一更新向量的步骤,直至满足预设训练终止条件;
合并模块,用于当满足预设训练终止条件时,接收并合并其他参与方秘密共享的图数据,得到运算执行结果。
图8是本申请实施例提供的电子设备的结构示意图。
该电子设备可以包括处理器801以及存储有计算机程序指令的存储器802。
具体地,上述处理器801可以包括中央处理器(Central Processing Unit,CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器802可以包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器802可在电子设备的内部或外部。在一些特定实施例中,存储器802是非易失性固态存储器。
在一些特定实施例中,存储器可包括只读存储器(Read-Only Memory,ROM),随机存取存储器(Random Access Memory,RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请的图卷积神经网络训练方法所描述的操作。
处理器801通过读取并执行存储器802中存储的计算机程序指令,以实现本申请实施例提供的图卷积神经网络训练方法。
在一个示例中,该电子设备还可以包括通信接口803和总线810。其中,如图8所示,处理器801、存储器802、通信接口803通过总线810连接并完成相互间的通信。
通信接口803,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线810包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,EISA)总线、前端总线(Front Side Bus,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(IndustryStandard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(Micro channel architecture,MCA)总线、外围组件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced Technology Attachment,SATA)总线、视频电子标准协会局部(Video electronics standards association Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该电子设备可以执行本申请实施例提供的图卷积神经网络训练方法,从而实现本申请实施例提供的图卷积神经网络训练方法的相应技术效果。
另外,结合上述实施例中的图卷积神经网络训练方法,本申请实施例还提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本申请实施例提供的图卷积神经网络训练方法。计算机可读存储介质的示例包括非暂态计算机可读介质,如ROM、RAM、磁碟或者光盘等。
本申请实施例提供一种计算机程序产品,该计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行本申请实施例提供的图卷积神经网络训练方法,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,做出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除只读存储器(Erasable Read Only Memory,EROM)、软盘、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、光盘、硬盘、光纤介质、射频(RadioFrequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种图卷积神经网络训练方法,其特征在于,所述方法应用于第一参与方,所述第一参与方为联邦图计算系统包括的多个参与方中的任一参与方,所述第一参与方与其他参与方通过秘密共享或全同态加密进行数据交互;所述方法包括:
获取所述第一参与方持有的子图的第一节点向量和第一边向量;
对所述第一边向量进行转换,得到第一源节点向量,其中,所述第一源节点向量中节点的索引顺序与所述第一边向量的源节点索引顺序相同;
分别对所述第一边向量和所述第一源节点向量进行GAS模型的分散运算,得到第二边向量和第一更新向量,其中,所述第一更新向量为所述第二边向量中目标节点的更新向量;
对所述第一节点向量和所述第一更新向量进行所述GAS模型的收集运算,得到第二更新向量,其中,所述第二更新向量为所述第一节点向量的更新向量;
针对所述子图的第一节点,基于所述第二更新向量进行所述GAS模型的应用运算,得到所述第一节点相对于当前迭代执行的图卷积神经网络的层数的梯度,其中,所述第一节点为所述子图中的任一节点;
根据所述梯度,更新所述层数对应的图卷积神经网络参数。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一节点向量和所述第一更新向量进行所述GAS模型的收集运算,得到第二更新向量之前,所述方法还包括:
对所述第一更新向量中的元素进行预聚合处理,得到聚合向量;
对所述聚合向量进行转换,得到第三更新向量,其中,所述第三更新向量中目标节点的顺序与所述第一节点向量中各节点的顺序相同;
所述对所述第一节点向量和所述第一更新向量进行所述GAS模型的收集运算,得到第二更新向量,包括:
对所述第一节点向量和所述第三更新向量进行所述收集运算,得到所述第二更新向量。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一更新向量中的元素进行预聚合处理,得到聚合向量,包括:
将所述第一更新向量中目标节点索引相同的元素合并为一个元素,得到所述聚合向量。
4.根据权利要求2所述的方法,其特征在于,所述对所述第一节点向量和所述第三更新向量进行收集运算,得到所述第二更新向量,包括:
对所述第一节点向量和所述第三更新向量进行所述收集运算,得到第四更新向量;
对所述第四更新向量和第三边向量对应的第三更新向量进行所述收集运算,得到所述第二更新向量,其中,所述第三边向量为第二参与方和所述第一参与方的子图之间的跨子图的边向量,所述第二参与方为对于所述多个参与方进行顺序编号之后所述第一参与方的下一个参与方。
5.根据权利要求1所述的方法,其特征在于,所述针对所述子图的第一节点,基于所述第二更新向量进行所述GAS模型的应用运算,得到所述第一节点相对于当前迭代执行的图卷积神经网络的层数的梯度,包括:
当当前迭代为后向传播且执行图卷积神经网络的第K层时,根据如下公式计算所述第一节点相对于所述第K层的梯度:
其中,K为所述图卷积神经网络的总层数,为所述梯度,/>为加权邻接矩阵,/>为节点在第K层的嵌入表示矩阵,/>为预测结果,/>为标签;
当当前迭代为后向传播且执行所述图卷积神经网络的第L-1层时,其中,L为小于K+1的正整数,根据如下公式计算所述第一节点相对于所述第L-1层的梯度:
其中,为所述第一节点相对于所述第L-1层的梯度,/>为加权邻接矩阵,/>节点在第L-1层的嵌入表示矩阵,/>为激活函数,/>,/>为第L-1层的神经网络参数,/>为后向传播时第L-1层对应的嵌入表示。
6.根据权利要求1所述的方法,其特征在于,所述根据所述梯度,更新所述层数对应的图卷积神经网络参数,包括:
计算所述子图的所有节点相对于所述层数的梯度的平均值,得到所述子图对应所述层数的局部梯度;
根据所述子图对应所述层数的局部梯度、所述层数对应的更新前参数和梯度更新下降速率,更新所述层数对应的图卷积神经网络参数。
7.根据权利要求1所述的方法,其特征在于,所述根据所述梯度,更新所述层数对应的图卷积神经网络参数,包括:
计算所述子图的所有节点相对于所述层数的梯度的平均值,得到所述子图对应所述层数的局部梯度;
对所述子图对应所述层数的局部梯度和其他参与方的子图对应所述层数的局部梯度进行聚合处理,得到全局梯度;
根据所述全局梯度,更新所述层数对应的图卷积神经网络参数。
8.根据权利要求1所述的方法,其特征在于,所述根据所述梯度,更新所述层数对应的图卷积神经网络参数之后,所述方法还包括:
判断是否满足预设训练终止条件;
当不满足所述预设训练终止条件时,继续执行所述分别对所述第一边向量和所述第一源节点向量进行GAS模型的分散运算,得到第二边向量和第一更新向量的步骤,直至满足所述预设训练终止条件;
当满足所述预设训练终止条件时,接收并合并其他参与方秘密共享的图数据,得到运算执行结果。
9.一种图卷积神经网络训练装置,其特征在于,所述装置应用于第一参与方,所述第一参与方为联邦图计算系统包括的多个参与方中的任一参与方,所述第一参与方与其他参与方通过秘密共享或全同态加密进行数据交互;所述装置包括:
获取模块,用于获取所述第一参与方持有的子图的第一节点向量和第一边向量;
第一转换模块,用于对所述第一边向量进行转换,得到第一源节点向量,其中,所述第一源节点向量中节点的索引顺序与所述第一边向量的源节点索引顺序相同;
第一运算模块,用于分别对所述第一边向量和所述第一源节点向量进行GAS模型的分散运算,得到第二边向量和第一更新向量,其中,所述第一更新向量为所述第二边向量中目标节点的更新向量;
第二运算模块,用于对所述第一节点向量和所述第一更新向量进行所述GAS模型的收集运算,得到第二更新向量,其中,所述第二更新向量为所述第一节点向量的更新向量;
第三运算模块,用于针对所述子图的第一节点,基于所述第二更新向量进行所述GAS模型的应用运算,得到所述第一节点相对于当前迭代执行的图卷积神经网络的层数的梯度,其中,所述第一节点为所述子图中的任一节点;
更新模块,用于根据所述梯度,更新所述层数对应的图卷积神经网络参数。
10.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器读取并执行所述计算机程序指令,以实现如权利要求1-8任意一项所述的图卷积神经网络训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310807298.6A CN116527824B (zh) | 2023-07-03 | 2023-07-03 | 图卷积神经网络训练方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310807298.6A CN116527824B (zh) | 2023-07-03 | 2023-07-03 | 图卷积神经网络训练方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116527824A true CN116527824A (zh) | 2023-08-01 |
CN116527824B CN116527824B (zh) | 2023-08-25 |
Family
ID=87405086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310807298.6A Active CN116527824B (zh) | 2023-07-03 | 2023-07-03 | 图卷积神经网络训练方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116527824B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021082681A1 (zh) * | 2019-10-29 | 2021-05-06 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
CN113362160A (zh) * | 2021-06-08 | 2021-09-07 | 南京信息工程大学 | 一种用于信用卡反欺诈的联邦学习方法和装置 |
CN114117926A (zh) * | 2021-12-01 | 2022-03-01 | 南京富尔登科技发展有限公司 | 一种基于联邦学习的机器人协同控制算法 |
CN114491629A (zh) * | 2022-01-25 | 2022-05-13 | 哈尔滨工业大学(深圳) | 一种隐私保护的图神经网络训练方法及系统 |
CN115271101A (zh) * | 2022-08-26 | 2022-11-01 | 天津大学 | 基于图卷积超网络的个性化联邦学习方法 |
CN116150810A (zh) * | 2023-04-17 | 2023-05-23 | 北京数牍科技有限公司 | 向量元素预聚合方法、电子设备及计算机可读存储介质 |
CN116186782A (zh) * | 2023-04-17 | 2023-05-30 | 北京数牍科技有限公司 | 联邦图计算方法、装置及电子设备 |
-
2023
- 2023-07-03 CN CN202310807298.6A patent/CN116527824B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021082681A1 (zh) * | 2019-10-29 | 2021-05-06 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
CN113362160A (zh) * | 2021-06-08 | 2021-09-07 | 南京信息工程大学 | 一种用于信用卡反欺诈的联邦学习方法和装置 |
CN114117926A (zh) * | 2021-12-01 | 2022-03-01 | 南京富尔登科技发展有限公司 | 一种基于联邦学习的机器人协同控制算法 |
CN114491629A (zh) * | 2022-01-25 | 2022-05-13 | 哈尔滨工业大学(深圳) | 一种隐私保护的图神经网络训练方法及系统 |
CN115271101A (zh) * | 2022-08-26 | 2022-11-01 | 天津大学 | 基于图卷积超网络的个性化联邦学习方法 |
CN116150810A (zh) * | 2023-04-17 | 2023-05-23 | 北京数牍科技有限公司 | 向量元素预聚合方法、电子设备及计算机可读存储介质 |
CN116186782A (zh) * | 2023-04-17 | 2023-05-30 | 北京数牍科技有限公司 | 联邦图计算方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116527824B (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210167948A1 (en) | High-Precision Privacy-Preserving Real-Valued Function Evaluation | |
Beigi et al. | Simplified instantaneous non-local quantum computation with applications to position-based cryptography | |
CN116186782B (zh) | 联邦图计算方法、装置及电子设备 | |
CN110032893B (zh) | 基于秘密分享的安全模型预测方法和装置 | |
CN116150810B (zh) | 向量元素预聚合方法、电子设备及计算机可读存储介质 | |
Luo et al. | SVFL: Efficient secure aggregation and verification for cross-silo federated learning | |
CN116561787A (zh) | 视觉图像分类模型的训练方法、装置及电子设备 | |
CN114362948B (zh) | 一种联邦衍生特征逻辑回归建模方法 | |
CN113407992B (zh) | 一种基于可信第三方的隐私数据两方安全相等测试方法 | |
Zhou et al. | LEGO: A hybrid toolkit for efficient 2PC-based privacy-preserving machine learning | |
CN116527824B (zh) | 图卷积神经网络训练方法、装置及设备 | |
CN113780552A (zh) | 一种双向隐私保护的安全多方计算方法 | |
CN108804933A (zh) | 一种用于大数据的进制转换方法 | |
Jivanyan et al. | Hierarchical one-out-of-many proofs with applications to blockchain privacy and ring signatures | |
EP3696670A1 (en) | Distributed computation system and method of operation thereof | |
CN115719094A (zh) | 基于联邦学习的模型训练方法、装置、设备及存储介质 | |
Ibarrondo et al. | Funshade: Function Secret Sharing for Two-Party Secure Thresholded Distance Evaluation | |
Jahan et al. | Design of a secure sum protocol using trusted third party system for secure multi-party computations | |
CN116633704B (zh) | 图计算方法和装置 | |
Li et al. | New method to describe the differential distribution table for large S‐boxes in MILP and its application | |
Xiao et al. | A novel image encryption scheme combing optical chaos scrambling, DNA diffusion strategy and MOPSO algorithm | |
CN114912146B (zh) | 一种垂直联邦架构下的数据信息防御方法、系统、电子设备及存储介质 | |
CN116595589B (zh) | 基于秘密共享机制的分布式支持向量机训练方法及系统 | |
CN115828312B (zh) | 一种面向电力用户社交网络的隐私保护方法及系统 | |
CN117454431B (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 |