CN114944934B - 一种联邦学习方法和系统、第一隐私计算平台和第二隐私计算平台 - Google Patents
一种联邦学习方法和系统、第一隐私计算平台和第二隐私计算平台 Download PDFInfo
- Publication number
- CN114944934B CN114944934B CN202210433893.3A CN202210433893A CN114944934B CN 114944934 B CN114944934 B CN 114944934B CN 202210433893 A CN202210433893 A CN 202210433893A CN 114944934 B CN114944934 B CN 114944934B
- Authority
- CN
- China
- Prior art keywords
- data
- aggregated
- computing platform
- parameter
- privacy computing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000002776 aggregation Effects 0.000 claims abstract description 183
- 238000004220 aggregation Methods 0.000 claims abstract description 183
- 238000004364 calculation method Methods 0.000 claims abstract description 81
- 230000003993 interaction Effects 0.000 claims abstract description 43
- 238000006243 chemical reaction Methods 0.000 claims description 53
- 238000012549 training Methods 0.000 claims description 49
- 239000012634 fragment Substances 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 10
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0478—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种联邦学习方法和系统、第一隐私计算平台和第二隐私计算平台。其中的方法包括:与第一数据方基于第一数据方持有的第一参数密文执行第一交互操作,得到第一待聚合数据,第一待聚合数据符合第二隐私计算平台支持的第二加密协议;将持有的第一待聚合数据通过路由节点转发至第二隐私计算平台,以使第二隐私计算平台利用第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数;所述第二待聚合数据符合第二加密协议;接收所述路由节点转发的第二隐私计算平台返回的聚合参数,利用聚合参数执行下一轮迭代计算。本发明实施例可以使得不同加密协议的隐私计算平台协同进行联邦学习。
Description
技术领域
本发明涉及多方安全计算领域,尤其涉及一种联邦学习方法和系统、第一隐私计算平台和第二隐私计算平台。
背景技术
在涉及多个数据方的数据融合计算过程中,传统的数据计算方式存在数据隐私泄露的风险。隐私计算平台可以在加密数据上直接进行计算,虽然牺牲了一定的计算效率,但是可以在保证数据隐私安全的基础上实现多方数据的融合计算。
联邦学习指的是拥有数据的各个数据方,在不共享受保护的隐私数据且自有数据不传递到外部的前提下,通过加密的方式交换模型相关信息从而实现协同优化联邦学习模型。
然而,不同数据方可能采用不同的加密协议,这就导致不同数据方的数据不能相互兼容,难以实现多个数据方通过联邦学习进行联合建模。
发明内容
本发明实施例提供一种联邦学习方法和系统、第一隐私计算平台和第二隐私计算平台,可以使得不同加密协议的隐私计算平台协同进行联邦学习。
第一方面,本发明实施例公开了一种联邦学习方法,应用于第一隐私计算平台,所述第一隐私计算平台支持第一加密协议,所述方法包括:
与第一数据方基于所述第一数据方持有的第一参数密文执行第一交互操作,得到第一待聚合数据,所述第一参数密文为所述第一数据方基于其自身的数据集在本地进行训练并按照所述第一加密协议加密得到,所述第一待聚合数据符合第二隐私计算平台支持的第二加密协议;
将持有的第一待聚合数据通过路由节点转发至第二隐私计算平台,以使所述第二隐私计算平台利用第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数;其中,所述第二待聚合数据根据所述第二隐私计算平台侧的各第二数据方的第二参数密文计算得到,所述第二待聚合数据符合所述第二加密协议;
接收所述路由节点转发的所述第二隐私计算平台返回的所述聚合参数,利用所述聚合参数执行下一轮迭代计算。
第二方面,本发明实施例公开了一种联邦学习方法,应用于第二隐私计算平台,所述第二隐私计算平台支持第二加密协议,所述方法包括:
与第二数据方基于所述第二数据方持有的第二参数密文执行第二交互操作,得到第二待聚合数据,所述第二参数密文为所述第二数据方基于其自身的数据集在本地进行训练并按照所述第二加密协议加密得到,所述第二待聚合数据符合所述第二加密协议;
接收路由节点转发的第一待聚合数据,所述第一待聚合数据根据所述第一隐私计算平台侧所有第一数据方的第一参数密文进行加密转换得到,且所述第一待聚合数据符合所述第二加密协议;
对所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数,并利用所述聚合参数执行下一轮迭代计算;
将所述聚合参数的加密协议转换为所述第一隐私计算平台支持的第一加密协议后,通过所述路由节点转发至所述第一隐私计算平台。
第三方面,本发明实施例公开了一种联邦学习系统,所述联邦学习系统包括第一隐私计算平台、第二隐私计算平台、以及路由节点,所述第一隐私计算平台支持第一加密协议,所述第二隐私计算平台支持第二加密协议;其中,
所述第一隐私计算平台,用于接收第一数据方的第一参数密文,所述第一参数密文为所述第一数据方基于自身的数据集在本地进行训练并按照所述第一加密协议加密得到;
所述第一隐私计算平台,还用于对接收到的各第一数据方的第一参数密文进行第一预计算,得到中间结果密文,发送至路由节点;
所述路由节点,用于将所述中间结果密文进行加密协议转换,得到第一待聚合数据,转发至第二隐私计算平台,所述第一待聚合数据符合所述第二加密协议;
所述第二隐私计算平台,用于接收第二数据方的第二参数密文,所述第二参数密文为所述第二数据方基于自身的数据集在本地进行训练并按照所述第二加密协议加密得到;
所述第二隐私计算平台,还用于对接收到的各第二数据方的第二参数密文进行第二预计算,得到第二待聚合数据,并利用所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数,发送至路由节点;
所述第二隐私计算平台,还用于利用所述聚合参数执行下一轮迭代计算;
所述路由节点,还用于将所述聚合参数转换为符合所述第一加密协议的密文数据,转发至所述第一隐私计算平台;
所述第一隐私计算平台,还用于接收所述路由节点转发的聚合参数,并利用该聚合参数执行下一轮迭代计算。
第四方面,本发明实施例公开了一种第一隐私计算平台,所述第一隐私计算平台支持第一加密协议,所述第一隐私计算平台包括:
第一交互模块,用于与第一数据方基于所述第一数据方持有的第一参数密文执行第一交互操作,得到第一待聚合数据,所述第一参数密文为所述第一数据方基于其自身的数据集在本地进行训练并按照所述第一加密协议加密得到,所述第一待聚合数据符合第二隐私计算平台支持的第二加密协议;
数据转发模块,用于将持有的第一待聚合数据通过路由节点转发至第二隐私计算平台,以使所述第二隐私计算平台利用第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数;其中,所述第二待聚合数据根据所述第二隐私计算平台侧的各第二数据方的第二参数密文计算得到,所述第二待聚合数据符合所述第二加密协议;
数据接收模块,用于接收所述路由节点转发的所述第二隐私计算平台返回的所述聚合参数;
迭代计算模块,用于利用所述聚合参数执行下一轮迭代计算。
第五方面,本发明实施例公开了一种第二隐私计算平台,所述第二隐私计算平台支持第二加密协议,所述第二隐私计算平台包括:
第二交互模块,用于与第二数据方基于所述第二数据方持有的第二参数密文执行第二交互操作,得到第二待聚合数据,所述第二参数密文为所述第二数据方基于其自身的数据集在本地进行训练并按照所述第二加密协议加密得到,所述第二待聚合数据符合所述第二加密协议;
数据接收模块,用于接收路由节点转发的第一待聚合数据,所述第一待聚合数据根据所述第一隐私计算平台侧所有第一数据方的第一参数密文进行加密转换得到,且所述第一待聚合数据符合所述第二加密协议;
聚合计算模块,用于对所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数,并利用所述聚合参数执行下一轮迭代计算;
转换发送模块,用于将所述聚合参数的加密协议转换为所述第一隐私计算平台支持的第一加密协议后,通过所述路由节点转发至所述第一隐私计算平台。
第六方面,本发明实施例公开了一种机器可读存储介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的联邦学习方法。
本发明实施例包括以下优点:
本发明实施例在第一隐私计算平台和第二隐私计算平台采用不同的加密协议的情况下,在第一隐私计算平台侧通过第一数据方与第一隐私计算平台执行第一交互操作,将第一数据方的第一参数密文转换为第二隐私计算平台兼容的第一待聚合数据,再由路由节点转发至第二隐私计算平台,以使所述第二隐私计算平台利用所述第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数,并利用该聚合参数执行下一轮迭代计算;第一隐私计算平台还可以通过路由节点接收第二隐私计算平台返回的聚合参数,利用所述聚合参数执行下一轮迭代计算。通过本发明实施例提供的联邦学习方法,可以实现不同加密协议的隐私计算平台之间的互联互通,以解决不同加密协议的隐私计算平台无法进行联合建模的问题,通过加密协议转换,使得不同加密协议的隐私计算平台可以协同进行联邦学习。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种联邦学习方法实施例的步骤流程图;
图2是一种应用本发明的联邦学习方法的系统架构示意图;
图3是本发明一个示例中两个隐私计算平台进行联合训练的交互示意图;
图4是本发明的另一种联邦学习方法实施例的步骤流程图;
图5是本发明的一种第一隐私计算平台实施例的结构框图;
图6是本发明的一种第二隐私计算平台实施例的结构框图;
图7是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
参照图1,示出了本发明的一种联邦学习方法实施例的步骤流程图,所述方法可应用于第一隐私计算平台,所述第一隐私计算平台支持第一加密协议,所述方法可以包括如下步骤:
步骤101、与第一数据方基于所述第一数据方持有的第一参数密文执行第一交互操作,得到第一待聚合数据,所述第一参数密文为所述第一数据方基于其自身的数据集在本地进行训练并按照所述第一加密协议加密得到,所述第一待聚合数据符合第二隐私计算平台支持的第二加密协议;
步骤102、将持有的第一待聚合数据通过路由节点转发至第二隐私计算平台,以使所述第二隐私计算平台利用第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数;其中,所述第二待聚合数据根据所述第二隐私计算平台侧的各第二数据方的第二参数密文计算得到,所述第二待聚合数据符合所述第二加密协议;
步骤103、接收所述路由节点转发的所述第二隐私计算平台返回的所述聚合参数,利用所述聚合参数执行下一轮迭代计算。
本发明实施例提供的联邦学习方法,可以实现不同加密协议的隐私计算平台之间的互联互通,以解决不同加密协议的隐私计算平台无法进行联合建模的问题,通过加密协议转换,使得不同加密协议的隐私计算平台可以协同进行联邦学习。
所述联邦学习过程指不同的隐私计算平台协同执行k次迭代计算,得到联合训练的模型。迭代次数k可以由训练数据的质量和隐私计算平台的计算能力确定,或者,迭代次数k还可以由参与联邦学习的各参与方协商确定。其中一次迭代计算的过程可以如下:各隐私计算平台侧的各数据方分别进行本地训练,得到各数据方自身的模型参数;将各数据方自身的模型参数基于密文进行聚合计算,得到聚合的模型参数;将聚合的模型参数返回给各数据方,以进行下一轮迭代计算。在k次迭代计算完成时,得到联合训练的模型。
需要说明的是,本发明实施例对联邦学习的类型不做限制。联邦学习根据训练数据在不同数据方之间的数据特征空间和样本空间的分布情况,可以划分为在数据特征空间重叠较大而在样本空间重叠较小的横向联邦学习,在数据特征空间重叠较小而在样本空间重叠较大的纵向联邦学习,以及在数据特征空间和样本空间均重叠较小的联邦迁移学习。
参照图2,示出了一种应用本发明的联邦学习方法的系统架构示意图。如图2所示的系统架构,其中包括第一隐私计算平台201、第二隐私计算平台202、以及路由节点203。第一隐私计算平台侧包括第一数据方,第一隐私计算平台支持第一加密协议。第二隐私计算平台侧包括第二数据方,第二隐私计算平台支持第二加密协议。数据方指数据拥有方,用于为联邦学习提供训练数据。路由节点可以为具有路由转发功能的设备。第一隐私计算平台和第二隐私计算平台是一种保护数据隐私安全的计算平台,如多方安全计算平台。本发明实施例对所述第一隐私计算平台和第二隐私计算平台支持的加密协议不做限制。第一隐私计算平台支持的第一加密协议和第二隐私计算平台支持的第二加密协议可以为不同的加密协议。需要说明的是,图2中示出的系统架构包括两个隐私计算平台(第一隐私计算平台和第二隐私计算平台)以及两个路由节点,该系统架构仅作为本发明实施例的一种应用示例,本发明实施例对联邦学习系统中隐私计算平台的数量以及路由节点的数量均不做限制。进一步地,第一隐私计算平台中可以包括第一计算节点(图2未示出),第二隐私计算平台中可以包括第二计算节点(图2未示出)。计算节点为具有密文计算功能的设备。本发明实施例对一个隐私计算平台包含的计算节点的数量不做限制,计算节点的数量可以根据隐私计算平台支持的加密协议所确定。例如,对于支持(2,2)门限秘密分享协议的隐私计算平台,可以包括至少两个计算节点。
在本发明实施例中,第一数据方指第一隐私计算平台侧参与联邦学习的数据拥有方,第二数据方指第二隐私计算平台侧参与联邦学习的数据拥有方。第二隐私计算平台可以利用第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数。当然,在具体实施中,本发明实施例对参与联邦一隐的隐私计算平台的数量不做限制,对每个隐私计算平台侧参与联邦学习的数据方的数量也不做限制。为便于描述,本发明实施例中以两个隐私计算平台为例进行说明。
假设第一隐私计算平台侧包括m1个第一数据方,每个第一数据方持有各自的数据集,则每个第一数据方可以利用自身的训练集训练各自的机器学习模型;或者,第一隐私计算平台还可以利用m1个第一数据方的数据集基于第一加密协议进行联合训练,得到m1个第一数据方联合训练的机器学习模型,以提高模型的质量,并且在训练过程中不泄露各第一数据方的数据明文。同理,假设第二隐私计算平台侧包括m2个第二数据方,每个第二数据方持有各自的数据集,则每个第二数据方可以利用自身的训练集训练各自的机器学习模型;或者,第二隐私计算平台还可以利用m2个第二数据方的数据集基于第二加密协议进行联合训练,得到m2个第二数据方联合训练的机器学习模型,以提高模型的质量,并且在训练过程中不泄露各第二数据方的数据明文。通过本发明实施例,使得第一隐私计算平台侧的m1个第一数据方和第二隐私计算平台侧的m2个第二数据方可以协同进行联邦学习,进行联合建模。
可选地,所述机器学习模型可以为逻辑回归(logistic)模型。logistic模型是一种广义的线性回归分析模型,可用于数据挖掘、经济预测等领域中的分类场景。
可选地,所述第一隐私计算平台支持的第一加密协议可以包括同态加密协议,所述第二隐私计算平台支持的第二加密协议可以包括秘密分享协议。
具体地,第一隐私计算平台侧的第一数据方基于自身的数据集在本地进行训练并按照所述第一加密协议加密,得到自身的第一参数密文,也就是,第一数据方基于自身的数据集在本地进行训练,得到自身的第一参数,并按照所述第一加密协议对所述第一参数加密得到第一参数密文。其中,第一参数可以为机器学习模型中的模型参数,如权重,权重的求解方法可以为梯度下降法。
示例性地,第一隐私计算平台支持的第一加密协议为同态加密协议,第一隐私计算平台包括第一数据方D3和D4。D3基于自身的数据集在本地进行训练并按照同态加密协议加密,得到自身的第一参数密文,如记为[w3],w3为D3本地训练得到的第一参数,[w3]为同态加密的形式。又如,D4基于自身的数据集在本地进行训练并按照所述第一加密协议加密,得到自身的第一参数密文,如记为[w4],w4为D4本地训练得到的第一参数,[w4]为同态加密的形式。
接下来,第一数据方利用自身的第一参数密文与第一隐私计算平台执行第一交互操作,得到第一待聚合数据,所述第一待聚合数据符合第二隐私计算平台支持的第二加密协议。所述第一交互操作为基于密文的交互操作,通过所述第一交互操作可以在密文状态下将第一数据方的第一参数密文转换为符合第二加密协议的第一待聚合数据。
一个示例中,假设第一加密协议为同态加密协议,第二加密协议为秘密分享协议。第一隐私计算平台中的各第一数据方训练并加密得到自身的第一参数密文后,该第一参数密文不符合第二隐私计算平台支持的第二加密协议,第二隐私计算平台无法使用第一隐私计算平台中的第一参数密文,进而无法进行两个第二隐私计算平台的联合训练。因此,本发明实施例在第一隐私计算平台侧,通过第一隐私计算平台与各第一数据方执行第一交互操作进行加密协议转换。
可选地,所述第一交互操作可用于利用各第一数据方的第一参数密文协同执行第一预计算,得到中间结果密文,并将所述中间结果密文进行加密协议转换,得到符合第二加密协议的第一待聚合数据。所述第一待聚合数据符合第二加密协议,使得第二隐私计算平台可以使用该第一待聚合数据;此外,第一待聚合数据是在中间结果密文的基础上进行加密协议转换得到的,而中间结果密文是对各第一数据方的第一参数密文执行第一预计算得到的,也即,第一待聚合数据是对各第一数据方的第一参数密文进行初步计算得到的结果,可以为第二隐私计算平台快速进行聚合计算提供计算基础。当然,在具体实施中,所述第一交互操作也可以直接将各第一数据方持有的第一参数密文进行加密协议转换,得到第一待聚合数据。
一个示例中,在第二加密协议为秘密分享协议的情况下,该第一待聚合数据可以为秘密分享分片。所述第一交互操作可以为符合第一加密协议的协同计算操作。所述第一预计算可以包括但不限于如下至少一种:密文求和、密文求差、密文比较等。示例性地,所述第一预计算为密文求和,则第一隐私计算平台与各第一数据方执行第一交互操作,对各第一数据方的第一参数密文执行密文求和计算,得到所有第一数据方的第一参数密文的和,该所有第一数据方的第一参数密文的和即为中间结果密文,通过所述第一交互操作还可以进一步将该中间结果密文进行加密协议转换,转换为符合第二加密协议的第一待聚合数据,也即,在第二加密协议为秘密分享协议的情况下,将所有第一数据方的第一参数密文的和转换为秘密分享分片,该所有第一数据方的第一参数密文的和的秘密分享分片即为第一待聚合数据。
本发明实施例通过所述第一交互操作,先对各第一数据方的第一参数密文执行第一预计算,得到中间结果密文,再将该中间结果密文进行加密协议转换,转换为符合第二加密协议的第一待聚合数据,即使参与方有机会对第一待聚合数据进行解密,也只能得到中间结果密文,而无法得到各第一数据方的第一参数,可以保证数据隐私安全。
进一步地,在第二加密协议为秘密分享协议的情况下,所述中间结果密文可以转换为至少两个第一待聚合数据,每个第一待聚合数据可以为一个秘密分享分片。例如,在第二加密协议为(2,2)门限秘密分享协议时,所述中间结果密文可以转换为两个第一待聚合数据,每个第一待聚合数据为一个秘密分享分片,如每个第一待聚合数据为所有第一数据方的第一参数密文的和的一个秘密分享分片。
为避免联邦学习的参与方可以获取所有第一待聚合数据进而恢复得到中间结果密文,本发明实施例中,第一隐私计算平台与第一数据方执行第一交互操作之后,将所述中间结果密文转换为至少两个第一待聚合数据,所述至少两个第一待聚合数据可以由所述第一数据方和所述第一隐私计算平台分别持有。第一隐私计算平台和第一数据方分别将各自持有的第一待聚合数据发送至第二隐私计算平台进行聚合计算。
当然,在具体实施中,本发明实施例对第一数据方与第一隐私计算平台执行第一交互操作后得到的第一待聚合数据的数据个数不做限制,对第一待聚合数据的持有方也不做限制。
在本发明的一种可选实施例中,所述第一待聚合数据可以包括所有第一数据方的第一参数密文的和的秘密分享分片。
在本发明实施例中,各第一数据方可以利用自身的第一参数密文与第一隐私计算平台执行第一交互操作,以对所有第一数据方的第一参数密文进行第一预计算(如密文求和),并且将所有第一数据方的第一参数密文的和转换为秘密分享分片,将转换得到的秘密分享分片作为第一待聚合数据。由于对所有第一数据方的第一参数密文进行密文求和是基于密文进行的,因此,得到的所有第一数据方的第一参数密文的和也是密文。
需要说明的是,在m1>1时,第一待聚合数据可以为m1个第一数据方的第一参数密文的和的秘密分享分片。在计算过程中,即使有参与方可以获得全部秘密分享分片,也只能恢复得到m1个第一数据方的第一参数密文的和,而无法获得每个第一数据方的第一参数的明文,可以保护数据隐私安全。在m1=1时,第一隐私计算平台侧仅包含一个第一数据方,则第一待聚合数据可以为该第一数据方的第一参数密文的秘密分享分片。在计算过程中,即使有参与方可以获得全部秘密分享分片,也只能恢复得到该第一数据方的第一参数密文,而无法获得该第一数据方的第一参数的明文,仍然可以保护数据隐私安全。
本发明实施例在将第一数据方的第一参数密文转换为第二隐私计算平台可以使用的第一待聚合数据时,已经在第一隐私计算平台提前计算所有第一数据方的第一参数密文的和,这样,在第二隐私计算平台利用第一待聚合数据和第二待聚合数据进行第一聚合计算时,不用再计算所有第一数据方的第一参数密文的和,可以减少第二隐私计算平台的计算量,提高第一聚合计算的效率。
需要说明的是,本发明实施例中以第二加密协议为秘密分享协议为例进行说明,需要将所有第一数据方的第一参数密文转换为秘密分享分片,在具体实施中,可以根据不同的第二加密协议,将所有第一数据方的第一参数密文转换为符合其他第二加密协议的数据格式。
接下来,第一数据方和/或第一隐私计算平台将各自持有的第一待聚合数据通过路由节点转发至所述第二隐私计算平台,以使所述第二隐私计算平台利用第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数;其中,所述第二待聚合数据根据所述第二隐私计算平台侧的各第二数据方的第二参数密文进行基于密文的计算得到,且所述第二待聚合数据符合所述第二加密协议。
为实现第一隐私计算平台和第二隐私计算平台的联合训练,第一隐私计算平台侧的各第一数据方分别基于自身的数据集在本地进行训练并按照所述第一加密协议加密,得到自身的第一参数密文。第二隐私计算平台侧的各第二数据方分别基于自身的数据集在本地进行训练并按照所述第二加密协议加密,得到自身的第二参数密文。在第一隐私计算平台侧,各第一数据方利用自身的第一参数密文与第一隐私计算平台执行第一交互操作,得到符合第二加密协议的第一待聚合数据。在第二隐私计算平台侧,各第二数据方利用自身的第二参数密文与第二隐私计算平台执行第二交互操作,得到符合第二加密协议的第二待聚合数据。
可选地,所述第二交互操作可以包括,各第二数据方将各自的第二参数密文发送给第二隐私计算平台,第二隐私计算平台对接收到的各第二数据方的第二参数密文进行第二预计算,得到第二待聚合数据。所述第二预计算可以包括但不限于如下至少一种:密文求和、密文求差、密文比较等。
在具体实施中,所述第一待聚合数据可以是对各第一数据方的第一参数密文进行初步计算(如第一预计算)得到的结果,第二待聚合数据可以是对各第二数据方的第二参数密文进行初步计算(如第二预计算)得到的结果,进而第二隐私计算平台可以在初步计算的结果的基础上,对第一待聚合数据和第二待聚合数据进行聚合计算,可以快速得到所有第一数据方的第一参数密文和所有第二数据方的第二参数密文的聚合计算结果(聚合参数)。示例性地,该聚合参数可以为所有第一数据方的第一参数密文和所有第二数据方的第二参数密文的和的平均值,且该聚合参数为密文形式。
当然,在具体实施中,还可以直接将各第一数据方的第一参数密文进行加密协议转换得到第一待聚合数据。同样地,还可以直接将各第二数据方的第二参数密文作为第二待聚合数据。
第二隐私计算平台通过路由节点接收第一隐私计算平台和/或第一数据方发送的第一待聚合数据,由于第一待聚合数据符合第二隐私计算平台支持的第二加密协议,因此,第二隐私计算平台可以对第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数,并利用所述聚合参数执行下一轮迭代计算。第二隐私计算平台将所述聚合参数的加密协议转换为所述第一加密协议后,通过所述路由节点转发至所述第一隐私计算平台,以使所述第一隐私计算平台利用所述聚合参数执行下一轮迭代计算。由此,第一隐私计算平台和第二隐私计算平台可以利用该聚合参数联合执行下一轮迭代计算,从而实现支持不同加密协议的隐私计算平台的联合训练。其中,第一聚合计算可以为符合第二加密协议的密文计算。
进一步地,所述路由节点的数量可以大于或等于2,由此,在第一待聚合数据的数据个数大于1时,不同的第一待聚合数据可以由不同的路由节点转发至第二隐私计算平台,可以避免一个路由节点获取全部第一待聚合数据进而恢复得到第一参数密文,从而存在被恢复为明文的风险的情况,可以进一步保护数据隐私安全。需要说明的是,路由节点在传输第一待聚合数据的过程中,第一待聚合数据始终保持密文状态。
在本发明实施例中,路由节点可用于将第一隐私计算平台中产生的第一待聚合数据转发至第二隐私计算平台,以及将第二隐私计算平台产生的聚合参数转发至第一隐私计算平台。在多个隐私计算平台协同进行联邦学习的过程中,利用路由节点转发不同隐私计算平台产生的中间数据(如第一待聚合数据和聚合参数),可以通过路由节点统一管理各隐私计算平台的传输接口,可以避免隐私计算平台之间暴露自身的传输接口,进而提高各隐私计算平台的网络安全。
在本发明的一种可选实施例中,所述第一数据方可以包括Guest方和Host方,所述第一隐私计算平台可以包括第一计算节点,所述与第一数据方基于所述第一数据方持有的第一参数密文执行第一交互操作,得到第一待聚合数据,可以包括:
步骤S11、所述第一计算节点接收所述Host方的第一参数密文;
步骤S12、所述第一计算节点接收所述Guest方的第一临时密文,所述第一临时密文为所述Guest方对其生成的第一随机数进行加密后,利用第一随机数密文对自身的第一参数密文进行加密计算得到;
步骤S13、所述第一计算节点基于持有的私钥对所述Host方的第一参数密文进行解密,得到所述Host方的第一参数明文,并对所述第一临时密文进行解密,得到第一临时明文;
步骤S14、所述第一计算节点对所述第一参数明文和所述第一临时明文进行第二聚合计算,得到所述第一计算节点持有的第一待聚合数据。
参照图3,示出了本发明一个示例中两个隐私计算平台进行联合训练的交互示意图。如图3所示,第一隐私计算平台支持同态加密协议,以下将该第一隐私计算平台简称为HE(Homomorphic Encryption,同态加密)计算平台,第二隐私计算平台支持秘密分享协议,以下将该第二隐私计算平台简称为SS(Secret Sharing,秘密分享)计算平台。HE计算平台侧包括两个第一数据方,如Guest方和Host方;HE计算平台包括一个第一计算节点,如Abriter。在HE计算平台中,计算节点Abriter作为协调方持有私钥,可以进行解密操作,Abriter作为协调方是可信任方,不会泄露数据隐私。SS计算平台侧包括两个第二数据方,如D1和D2;SS计算平台包括四个第二计算节点,如Sa、Sa、S1、S2。示例性地,图3所示的架构中包括两个路由节点,如RS_01和RS_02。
可选地,所述联邦学习可以为纵向联邦学习,如所述Guest方可以持有样本标签和样本数据,所述Host方仅持有样本数据。当然,所述联邦学习还可以为横向联邦学习,也即每个数据方都拥有各自的样本标签和样本数据。
图3所示的交互流程如下:
①在HE计算平台侧,Host方和Guest方分别利用自身的数据集在本地进行训练并按照同态加密协议进行加密,得到自身的第一参数密文。例如,Guest方得到自身的第一参数密文,如记为[w3],[w3]为同态加密的形式。Host方得到自身的第一参数密文,如记为[w4],[w4]为同态加密的形式。
②Host方将自身的第一参数密文[w4]发送至第一计算节点Abriter,第一计算节点Abriter接收所述Host方的第一参数密文。
③Guest方生成第一随机数并加密,得到第一随机数密文,利用所述第一随机数密文对自身的第一参数密文进行加密计算,得到第一临时密文,发送至第一计算节点Abriter,第一计算节点Abriter接收所述Guest方的第一临时密文。
示例性地,将Guest方生成的第一随机数记为w34 ss,2,加密为第一随机数密文,如记为[w34 ss,2],[w34 ss,2]为同态加密的形式。
需要说明的是,本发明实施例对Guest方利用所述第一随机数密文对自身的第一参数密文进行加密计算的方式不做限制。可选地,所述Guest方利用所述第一随机数密文对自身的第一参数密文进行加密计算,可以包括:所述Guest方对自身的第一参数密文与所述第一随机数密文进行密文求差计算。
例如,将Guest方生成得到的第一随机数密文记为[w34 ss,2],则Guest方可以计算第一临时密文为[w34 tmp]=[w3]-[w34 ss,2]。[w3]-[w34 ss,2]为密文求差计算,[w34 tmp]为同态加密的形式。Guest方将计算得到的第一临时密文[w34 tmp]发送至第一计算节点Abriter。
可以理解的是,上述Guest方对自身的第一参数密文与所述第一随机数密文进行密文求差计算,仅作为Guest方计算第一临时密文的一种方式。在具体实施中,Guest方还可以对自身的第一参数密文与所述第一随机数密文进行密文求和计算,得到第一临时密文。
③还包括:第一计算节点Abriter基于持有的私钥对Host方的第一参数密文[w4]进行解密,得到Host方的第一参数明文w4,并对所述第一临时密文[w34 tmp]进行解密,得到第一临时明文w34 tmp;第一计算节点Abriter对第一参数明文和第一临时明文进行第二聚合计算,得到第一计算节点Abriter持有的第一待聚合数据。
需要说明的是,本发明实施例对所述第二聚合计算的方式不做限制。可选地,所述第二聚合计算可以为对第一参数明文和第一临时明文进行求和计算。例如,第一计算节点Abriter可以计算第一待聚合数据为w34 ss,1=w34 tmp+w4。
可以理解的是,上述第一计算节点Abriter对第一参数明文和第一临时明文进行求和计算,仅作为第二聚合计算的一种方式。在具体实施中,第一计算节点Abriter还可以对第一参数明文和第一临时明文进行求差计算,得到其持有的第一待聚合数据。
第一数据方基于其持有的第一参数密文与第一隐私计算平台执行如步骤S11至步骤S14所示的第一交互操作之后,第一隐私计算平台和第一数据方分别得到各自持有的第一待聚合数据。具体地,第一隐私计算平台持有的第一待聚合数据为第一计算节点Abriter对第一参数明文和第一临时明文进行第二聚合计算所得的,由第一计算节点Abriter持有。第一数据方持有的第一待聚合数据为Guest方生成的第一随机数,由Guest方持有。
在本发明的一种可选实施例中,所述路由节点包括第一路由节点和第二路由节点,所述将持有的第一待聚合数据通过路由节点转发至第二隐私计算平台,可以包括:所述第一计算节点将其持有的第一待聚合数据通过所述第一路由节点转发至所述第二隐私计算平台。
此外,所述Guest方将所述第一随机数作为其持有的第一待聚合数据通过第二路由节点转发至第二隐私计算平台。
在本发明实施例中,优选地设置两个路由节点,包括第一路由节点(如记为RS_01)和第二路由节点(如记为RS_02)。第一路由节点和第二路由节点可以属于不同的管理域,由此可以避免同一个参与方可以获取所有的第一待聚合数据的风险,提高数据隐私安全。
仍以图3为例,③还包括:第一计算节点Abriter将其持有的第一待聚合数据w34 ss,1通过第一路由节点RS_01转发至第二隐私计算平台;Guest方将其持有的第一随机数w34 ss,2作为其持有的第一待聚合数据,通过第二路由节点RS_02转发至第二隐私计算平台。示例性地,第一计算节点Abriter持有的第一待聚合数据w34 ss,1通过第一路由节点RS_01转发至第二隐私计算平台中的第二计算节点Sb,Guest方持有的第一待聚合数据w34 ss,2通过第二路由节点RS_02转发至第二隐私计算平台中的第二计算节点S2。
④在SS计算平台侧,第二数据方D1和D2分别基于自身的数据集在本地进行训练并按照所述第二加密协议加密,得到自身的第二参数密文。例如,第二数据方D1训练得到自身的第二参数,如w1。第二数据方D2训练得到自身的第二参数,如w2。第二数据方D1和D2分别根据秘密分享协议,将自身的第二参数进行加密,得到自身的第二参数密文,该第二参数密文符合第二加密协议。
第二隐私计算平台(如SS计算平台)与第二数据方基于所述第二数据方持有的第二参数密文执行第二交互操作,得到第二待聚合数据。
可选地,第二数据方可以将各自的第二参数密文发送给第二隐私计算平台,由于第二参数密文符合第二隐私计算平台支持的第二加密协议,因此,第二隐私计算平台可以将接收到的各第二数据方的第二参数密文直接作为第二待聚合数据。或者,第二隐私计算平台还可以对接收到的各第二数据方的第二参数密文进行第二预计算,得到第二待聚合数据。
需要说明的是,本发明实施例对秘密分享协议的类型不做限制。本发明实施例中主要以(2,2)门限秘密分享协议为例,也即秘密分享分片的数量可以为2。当然,本发明实施例还可以支持其他秘密分享协议,如(t,n)门限秘密分享协议。进一步地,(t,n)门限秘密分享协议可以包括:(t,n)加法门限秘密分享协议、(t,n)乘法门限秘密分享协议、(t,n)加乘门限秘密分享协议。其中,t和n为大于或等于2的整数,且n≥t。
例如,在上述示例中,第二数据方D1可以将其持有的第二参数w1转换为秘密分享分片,如w1 ss,1和w1 ss,2,则利用w1 ss,1和w1 ss,2可以恢复得到第二参数w1,w1 ss,1和w1 ss,2即为第二数据方D1的第二参数密文。示例性地,在秘密分享分片的数量为2的情况下,第二数据方D1可以将第二参数w1的秘密分享分片w1 ss,1和w1 ss,2分别发送给第二隐私计算平台中的两个第二计算节点,每个第二计算节点可以持有w1的一个秘密分享分片。同理,第二数据方D2可以将其持有的第二参数w2转换为秘密分享分片,如w2 ss,1和w2 ss,2,并分别发送给两个第二计算节点,w2 ss,1和w2 ss,2即为第二数据方D2的第二参数密文。
⑤第二隐私计算平台利用接收到的第一待聚合数据和自身持有的第二待聚合数据,执行第一聚合计算,得到聚合参数。以第二隐私计算平台为SS计算平台为例,如图3所示,假设第二隐私计算平台(SS计算平台)可以包括4个第二计算节点,该4个计算节点中的部分或全部计算节点可以持有第一待聚合数据,该4个计算节点中的部分或全部计算节点可以持有第二待聚合数据。该4个计算节点可以利用自身持有的第一待聚合数据和/或第二待聚合数据,执行基于秘密分享协议的协同计算,该协同计算用于在密文状态下对第一待聚合数据和第二待聚合数据进行求和,得到聚合参数。
如图3所示的示例中,SS计算平台获取得到的第一待聚合数据包括:w34 ss,1和w34 ss,2。SS计算平台获取得到的第二待聚合数据包括:w1 ss,1和w1 ss,2,以及w2 ss,1和w2 ss,2。其中,w34 ss,1和w34 ss,2为所有第一数据方(Guest方和Host方)的第一参数密文的和的秘密分享分片。w1 ss,1和w1 ss,2为第二数据方D1的第二参数的秘密分享分片。w2 ss,1和w2 ss,2为第二数据方D2的第二参数的秘密分享分片。
SS计算平台中的第二计算节点利用自身持有的第二待聚合数据,可以计算得到所有第二数据方的第二参数的和的秘密分享分片,如记为w1 ss和w2 ss。此外,由于第一待聚合数据可以包括所有第一数据方(Guest方和Host方)的第一参数密文([w3]和[w4])的和的秘密分享分片。因此,第二计算节点利用自身持有的第一待聚合数据,可以计算得到[w3]和[w4]的和,如记为w34 ss。由此,SS计算平台可以通过第二计算节点之间的协同计算得到聚合参数wss=w1 ss+w2 ss+w34 ss,且各第二计算节点持有该聚合参数的秘密分享分片。
需要说明的是,所述至少两个第二计算节点基于各自持有的第一待聚合数据和/或第二待聚合数据,基于秘密分享协议对所述第一待聚合数据和所述第二待聚合数据进行协同计算,得到各第二计算节点持有的聚合参数的秘密分享分片。其中所述协同计算的计算类型根据联邦学习的任务需求所确定。在上述示例中,所述协同计算用于在密文状态下对第一待聚合数据和第二待聚合数据进行求和。又如,在实际应用中,所述协同计算还可以用于在密文状态下对第一待聚合数据和第二待聚合数据进行求和后再求平均。
⑥SS计算平台将所述聚合参数的加密协议转换为第一隐私计算平台支持的第一加密协议后,通过路由节点转发至第一隐私计算平台。
SS计算平台利用该聚合参数wss进行下一轮训练。SS计算平台将该聚合参数wss通过路由节点(如第一路由节点RS_01或者第二路由节点RS_02)转发至第一隐私计算平台(如HE计算平台),以使HE计算平台利用该聚合参数wss进行下一轮训练。
需要说明的是,本发明实施例中以第一隐私计算平台和第二隐私计算中分别包括两个数据方为例进行说明,本发明实施例的联邦学习方法还可以适用于每个隐私计算平台中包括两个以上数据方的场景。在某个隐私计算平台(第一隐私计算平台和/或第二隐私计算平台)中包括两个以上数据方时,可以对该隐私计算平台中的数据方,分别对两两数据方的参数密文按照前述实施例中的方法进行聚合计算。
示例性地,假设第一隐私计算平台侧包括如下第一数据方:D1、D2和D3。D1、D2和D3分别利用自身的数据集在本地进行训练并按照同态加密协议进行加密,得到自身的第一参数密文,如[w3]、[w4]和[w5]。则D1基于自身持有的[w3],D3基于自身持有的[w5],与第一隐私计算平台执行第一交互操作,得到[w3]与[w5]的和,如记为[w3]=[w3]+[w5]。然后再计算[w3]+[w4]的秘密分享分片,即得到D1、D2和D3的第一参数密文的和的秘密分享分片。
第二隐私计算平台对第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数。在第二隐私计算平台侧,各第二数据方可以获取该聚合参数,各第二数据方分别利用该聚合参数以及自身的数据集进行本地训练,得到自身的第二参数。第二隐私计算平台将该聚合参数进行加密协议转换,将该聚合参数的加密协议转换为第一隐私计算平台支持的第一加密协议之后,将转换后的聚合参数通过路由节点转发至第一隐私计算平台。第一隐私计算平台中的各第一数据方可以获取该聚合参数,各第一数据方分别利用该聚合参数以及自身的数据集进行本地训练,得到自身的第一参数密文。后续步骤与上一轮迭代过程相同,直至k轮迭代计算完成,得到第一隐私计算平台和第二隐私计算平台联合训练的机器学习模型。
在具体实施中,第一隐私计算平台和第二隐私计算平台是对等的,可以在第一隐私计算平台侧执行第一聚合计算,或者,可以在第二隐私计算平台侧执行第一聚合计算。
综上,本发明实施例在第一隐私计算平台和第二隐私计算平台采用不同的加密协议的情况下,在第一隐私计算平台侧通过第一数据方与第一隐私计算平台执行第一交互操作,将第一数据方的第一参数密文转换为符合第二隐私计算平台可以使用的第一待聚合数据,再由路由节点转发至第二隐私计算平台,以使所述第二隐私计算平台利用所述第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数;第一数据方还可以通过所述路由节点接收所述第二隐私计算平台返回的所述聚合参数,利用所述聚合参数执行下一轮迭代计算。通过本发明实施例提供的联邦学习方法,可以实现不同加密协议的隐私计算平台之间的互联互通,以解决不同加密协议的隐私计算平台无法进行联合建模的问题,通过加密协议转换,使得不同加密协议的隐私计算平台可以协同进行联邦学习。
参照图4,示出了本发明的另一种联邦学习方法实施例的步骤流程图,所述联邦学习方法可应用于第二隐私计算平台,所述第二隐私计算平台支持第二加密协议,所述方法可以包括如下步骤:
步骤401、与第二数据方基于所述第二数据方持有的第二参数密文执行第二交互操作,得到第二待聚合数据,所述第二参数密文为所述第二数据方基于其自身的数据集在本地进行训练并按照所述第二加密协议加密得到,所述第二待聚合数据符合所述第二加密协议;
步骤402、接收路由节点转发的第一待聚合数据,所述第一待聚合数据根据所述第一隐私计算平台侧所有第一数据方的第一参数密文进行加密转换得到,且所述第一待聚合数据符合所述第二加密协议;
步骤403、对所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数,并利用所述聚合参数执行下一轮迭代计算;
步骤404、将所述聚合参数的加密协议转换为所述第一隐私计算平台支持的第一加密协议后,通过所述路由节点转发至所述第一隐私计算平台。
本发明实施例提供的联邦学习方法,可以实现不同加密协议的隐私计算平台之间的互联互通,以解决不同加密协议的隐私计算平台无法进行联合建模的问题,通过加密协议转换,使得不同加密协议的隐私计算平台可以协同进行联邦学习。
第二隐私计算平台的操作步骤在图1所示的实施例中已经详细说明,此处不再进行赘述。
在本发明的一种可选实施例中,所述第一隐私计算平台支持的第一加密协议可以包括同态加密协议,所述第二隐私计算平台支持的第二加密协议可以包括秘密分享协议。
在本发明的一种可选实施例中,所述第二隐私计算平台可以包括至少两个第二计算节点,所述对所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数,可以包括:所述至少两个第二计算节点基于各自持有的第一待聚合数据和/或第二待聚合数据,基于秘密分享协议对所述第一待聚合数据和所述第二待聚合数据进行协同计算,得到各第二计算节点持有的聚合参数的秘密分享分片。
在本发明的一种可选实施例中,所述聚合参数包括至少两个秘密分享分片,所述将所述聚合参数的加密协议转换为所述第一加密协议,可以包括:将所述聚合参数的每个秘密分享分片分别进行同态加密后再求和,得到符合所述第一加密协议的聚合参数。
在本发明的一种可选实施例中,所述第一数据方可以包括Guest方和Host方,所述第一隐私计算平台可以包括第一计算节点,所述路由节点包括第一路由节点和第二路由节点,所述接收路由节点转发的第一待聚合参数,可以包括:
接收所述第一路由节点转发的所述第一计算节点持有的第一待聚合参数,所述第一计算节点持有的第一待聚合参数为所述第一计算节点根据所述Host方的第一参数密文以及所述Guest方的第一临时密文计算得到,所述第一临时密文为所述Guest方对其生成的第一随机数进行加密后,利用第一随机数密文对自身的第一参数密文进行加密计算得到;
接收所述第二路由节点转发的所述Guest方持有的第一待聚合参数,所述Guest方持有的第一待聚合参数为所述Guest方生成的第一随机数。
在本发明的一种可选实施例中,同一个第二数据方的第二待聚合数据发送至不同的第二计算节点。
示例性地,假设第二隐私计算平台包括两个第二数据方,如D1和D2。第二隐私计算平台支持的第二加密协议为秘密分享协议。第二数据方D1基于自身的数据集在本地进行训练,得到自身的第二参数,如w1。第二数据方D1根据秘密分享协议,将自身的第二参数w1转换为第二待聚合数据,上传至第二计算节点。以秘密分享分片的数量为2为例,第二数据方D1可以将其持有的第二参数w1转换为秘密分享分片,如w1 ss,1和w1 ss,2,并分别发送给两个第二计算节点,每个第二计算节点可以持有w1的一个秘密分享分片。同理,第二数据方D2基于自身的数据集在本地进行训练,得到自身的第二参数,如w2。第二数据方D2可以将其持有的第二参数w2转换为秘密分享分片,如w2 ss,1和w2 ss,2,并分别发送给两个第二计算节点。
在本发明的一种可选实施例中,不同的第一待聚合数据由不同的第二计算节点接收。为避免一个第二计算节点获取全部第一待聚合数据进而恢复得到第一参数密文的情况,本发明实施例中不同的第一待聚合数据可以由不同的第二计算节点接收,可以进一步保护数据隐私安全。
在第二隐私计算平台侧,各第二数据方可以获取该聚合参数,各第二数据方分别利用该聚合参数以及自身的数据集进行本地训练,得到自身的第二参数。第二隐私计算平台将加密协议转换后的聚合参数通过路由节点转发至第一隐私计算平台。第一隐私计算平台中的各第一数据方可以获取该聚合参数,各第一数据方分别利用该聚合参数以及自身的数据集进行本地训练,得到自身的第一参数密文。后续步骤与上一轮迭代过程相同,直至k轮迭代计算完成,得到第一隐私计算平台和第二隐私计算平台联合训练的机器学习模型,训练完成的机器学习模型的模型参数为最后一轮得到的聚合参数,训练完成的机器学习模型的模型参数为最后一轮得到的聚合参数。
需要说明的是,在本发明实施例中,第一待聚合数据可以是对各第一数据方的第一参数密文直接进行加密协议转换所得到,或者,第一待聚合数据可以是先将各第一数据方的第一参数密文进行第一预计算得到中间结果密文,再对该中间结果密文进行加密协议转换所得到。第二待聚合数据可以包括各第二数据方的第二参数密文,或者,第二待聚合数据可以是将各第二数据方的第二参数密文进行第二预计算得到。
在具体实施中,第一隐私计算平台和第二隐私计算平台是对等的,可以在第一隐私计算平台侧执行第一聚合计算,或者,可以在第二隐私计算平台侧执行第一聚合计算。
综上,本发明实施例在第一隐私计算平台和第二隐私计算平台采用不同的加密协议的情况下,在第一隐私计算平台侧通过第一数据方与第一隐私计算平台执行第一交互操作,将第一数据方的第一参数密文转换为符合第二隐私计算平台可以使用的第一待聚合数据,再由路由节点转发至第二隐私计算平台。在第二隐私计算平台侧通过第二数据方与第二隐私计算平台执行第二交互操作,将第二数据方的第二参数密文转换为第二待聚合数据。第二隐私计算平台利用自身持有的第二待聚合数据以及接收到的第一待聚合数据,执行第一聚合计算,得到聚合参数,利用该聚合参数执行下一轮迭代计算。第二隐私计算平台将所述聚合参数的加密协议转换为所述第一加密协议后,通过路由节点转发至第一隐私计算平台,以使第一隐私计算平台利用该聚合参数执行下一轮迭代计算。通过本发明实施例提供的联邦学习方法,可以实现不同加密协议的隐私计算平台之间的互联互通,以解决不同加密协议的隐私计算平台无法进行联合建模的问题,通过加密协议转换,使得不同加密协议的隐私计算平台可以协同进行联邦学习。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图2,示出了本发明的一种联邦学习系统实施例的结构框图,所述联邦学习系统可以包括第一隐私计算平台201、第二隐私计算平台202、以及路由节点203,所述第一隐私计算平台201支持第一加密协议,所述第二隐私计算平台202支持第二加密协议;其中,
所述第一隐私计算平台201,用于接收第一数据方的第一参数密文,所述第一参数密文为所述第一数据方基于自身的数据集在本地进行训练并按照所述第一加密协议加密得到;
所述第一隐私计算平台201,还用于对接收到的各第一数据方的第一参数密文进行第一预计算,得到中间结果密文,发送至路由节点;
所述路由节点203,用于将所述中间结果密文进行加密协议转换,得到第一待聚合数据,转发至第二隐私计算平台,所述第一待聚合数据符合所述第二加密协议;
所述第二隐私计算平台202,用于接收第二数据方的第二参数密文,所述第二参数密文为所述第二数据方基于自身的数据集在本地进行训练并按照所述第二加密协议加密得到;
所述第二隐私计算平台202,还用于对接收到的各第二数据方的第二参数密文进行第二预计算,得到第二待聚合数据,并利用所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数,发送至路由节点;
所述第二隐私计算平台202,还用于利用所述聚合参数执行下一轮迭代计算;
所述路由节点203,还用于将所述聚合参数转换为符合所述第一加密协议的密文数据,转发至所述第一隐私计算平台;
所述第一隐私计算平台201,还用于接收所述路由节点发送的聚合参数,并利用所述聚合参数执行下一轮迭代计算。
前述示例中,加密协议转换在隐私计算平台侧执行。例如,对于第一数据方持有的第一参数密文进行加密协议转换,可以通过第一数据方与第一隐私计算平台执行第一交互操作实现,第一交互操作完成后,第一隐私计算平台可以得到符合第二隐私计算平台支持的第二加密协议的第一待聚合数据。又如,对于第二隐私计算平台持有的聚合参数进行加密协议转换,可以通过第二隐私计算平台执行加密协议转换实现,得到符合第一隐私计算平台支持的第一加密协议的聚合参数。在隐私计算平台侧执行加密协议转换操作的情况下,路由节点用于进行数据转发,如将第一待聚合数据转发至第二隐私计算平台,以及将聚合参数转发至第一隐私计算平台。
在具体实施中,加密协议转换还可以由路由节点执行,在该场景下,路由节点具有密文计算的能力。具体地,在第一隐私计算平台侧,第一隐私计算平台接收第一数据方的第一参数密文,所述第一参数密文为所述第一数据方基于自身的数据集在本地进行训练并按照所述第一加密协议加密得到。第一隐私计算平台对接收到的各第一数据方的第一参数密文进行第一预计算,得到中间结果密文,发送至路由节点。通过路由节点将该中间结果密文进行加密协议转换,转换为符合第二隐私计算平台支持的第二加密协议的第一待聚合数据,然后再转发至第二隐私计算平台。
所述第一预计算可以包括但不限于如下至少一种:密文求和、密文求差、密文比较等。示例性地,所述第一预计算为密文求和,则第一隐私计算平台对接收到的各第一数据方的第一参数密文执行密文求和计算,得到所有第一数据方的第一参数密文的和,该所有第一数据方的第一参数密文的和即为中间结果密文。第一隐私计算平台将该中间结果密文发送至路由节点,由路由节点将该中间结果密文进行加密协议转换,转换为符合第二加密协议的第一待聚合数据。例如,在第二加密协议为秘密分享协议的情况下,路由节点将该所有第一数据方的第一参数密文的和转换为秘密分享分片,该所有第一数据方的第一参数密文的和的秘密分享分片即为第一待聚合数据。
在本发明的一种可选实施例中,所述中间结果密文转换得到的第一待聚合数据的个数可以大于或等于2,所述路由节点的个数可以大于或等于2,所述中间结果密文转换得到的不同第一待聚合数据分别由不同的路由节点进行转发。
示例性地,在所述第一待聚合数据包括所有第一数据方的第一参数密文的和的秘密分享分片时,该秘密分享分片的个数可以大于或等于2,不同的秘密分享分片可以由属于不同管理域的路由节点进行转发。
在第二隐私计算平台侧,第二隐私计算平台接收第二数据方的第二参数密文,所述第二参数密文为所述第二数据方基于自身的数据集在本地进行训练并按照所述第二加密协议加密得到;第二隐私计算平台对接收到的各第二数据方的第二参数密文进行第二预计算,得到第二待聚合数据,并利用所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数。第二隐私计算平台利用该聚合参数执行下一轮迭代计算,并将该聚合参数发送至路由节点。
需要说明的是,第一待聚合数据可以是对各第一数据方的第一参数密文直接进行加密协议转换所得到,或者,第一待聚合数据可以是先将各第一数据方的第一参数密文进行第一预计算得到中间结果密文,再对该中间结果密文进行加密协议转换所得到。第二待聚合数据可以包括各第二数据方的第二参数密文,或者,第二待聚合数据可以是将各第二数据方的第二参数密文进行第二预计算得到。
所述路由节点将接收到的聚合参数转换为符合第一加密协议的密文数据后,转发至第一隐私计算平台,以使第一隐私计算平台利用该聚合参数执行下一轮迭代计算。
在本发明的一种可选实施例中,所述第一隐私计算平台支持的第一加密协议包括同态加密协议,所述第二隐私计算平台支持的第二加密协议包括秘密分享协议;或者,所述第一隐私计算平台支持的第一加密协议包括秘密分享协议,所述第二隐私计算平台支持的第二加密协议包括同态加密协议。
在具体实施中,第一隐私计算平台和第二隐私计算平台是对等的,可以在第一隐私计算平台侧执行第一聚合计算,或者,可以在第二隐私计算平台侧执行第一聚合计算。
综上,本发明实施例通过路由节点对第一隐私计算平台侧的第一数据方的第一参数密文进行加密协议转换,得到符合第二隐私计算平台支持的第二加密协议的第一待聚合数据,并转发至第二隐私计算平台,以使第二隐私计算平台利用所述第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数,第二隐私计算平台利用该聚合参数执行下一轮迭代计算。所述第二待聚合数据根据所述第二隐私计算平台侧的各第二数据方的第二参数密文计算得到。通过路由节点对所述聚合参数进行加密协议转换,将聚合参数的加密协议转换为符合第一隐私计算平台支持的第一加密协议后,将转换后的聚合参数转发至第一隐私计算平台,以使第一隐私计算平台利用该聚合参数执行下一轮迭代计算。通过本发明实施例提供的联邦学习方法,可以实现不同加密协议的隐私计算平台之间的互联互通,以解决不同加密协议的隐私计算平台无法进行联合建模的问题,通过加密协议转换,使得不同加密协议的隐私计算平台可以协同进行联邦学习。
参照图5,示出了本发明的一种第一隐私计算平台实施例的结构框图,所述第一隐私计算平台支持第一加密协议,所述第一隐私计算平台可以包括:
第一交互模块501,用于与第一数据方基于所述第一数据方持有的第一参数密文执行第一交互操作,得到第一待聚合数据,所述第一参数密文为所述第一数据方基于其自身的数据集在本地进行训练并按照所述第一加密协议加密得到,所述第一待聚合数据符合第二隐私计算平台支持的第二加密协议;
数据转发模块502,用于将持有的第一待聚合数据通过路由节点转发至第二隐私计算平台,以使所述第二隐私计算平台利用第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数;其中,所述第二待聚合数据根据所述第二隐私计算平台侧的各第二数据方的第二参数密文计算得到,所述第二待聚合数据符合所述第二加密协议;
数据接收模块503,用于接收所述路由节点转发的所述第二隐私计算平台返回的所述聚合参数;
迭代计算模块504,用于利用所述聚合参数执行下一轮迭代计算。
可选地,所述第一交互操作用于利用各第一数据方的第一参数密文协同执行第一预计算,得到中间结果密文,并将所述中间结果密文进行加密协议转换,得到符合第二加密协议的第一待聚合数据。
可选地,所述中间结果密文转换为至少两个第一待聚合数据,所述至少两个第一待聚合数据由所述第一数据方和所述第一隐私计算平台分别持有。
可选地,所述第一待聚合数据包括所述第一隐私计算平台侧所有第一数据方的第一参数密文的和的秘密分享分片。
可选地,所述第一数据方包括Guest方和Host方,所述第一隐私计算平台包括第一计算节点,所述第一计算节点用于执行如下操作:
所述第一计算节点接收所述Host方的第一参数密文;
所述第一计算节点接收所述Guest方的第一临时密文,所述第一临时密文为所述Guest方对其生成的第一随机数进行加密后,利用第一随机数密文对自身的第一参数密文进行加密计算得到;
所述第一计算节点基于持有的私钥对所述Host方的第一参数密文进行解密,得到所述Host方的第一参数明文,并对所述第一临时密文进行解密,得到第一临时明文;
所述第一计算节点对所述第一参数明文和所述第一临时明文进行第二聚合计算,得到所述第一计算节点持有的第一待聚合数据。
可选地,所述路由节点包括第一路由节点和第二路由节点,所述数据转发模块,具体用于所述第一计算节点将其持有的第一待聚合数据通过所述第一路由节点转发至所述第二隐私计算平台。
可选地,所述第一加密协议包括同态加密协议,所述第二加密协议包括秘密分享协议。
参照图6,示出了本发明的一种第二隐私计算平台实施例的结构框图,所述第二隐私计算平台支持第二加密协议,所述第二隐私计算平台可以包括:
第二交互模块601,用于与第二数据方基于所述第二数据方持有的第二参数密文执行第二交互操作,得到第二待聚合数据,所述第二参数密文为所述第二数据方基于其自身的数据集在本地进行训练并按照所述第二加密协议加密得到,所述第二待聚合数据符合所述第二加密协议;
数据接收模块602,用于接收路由节点转发的第一待聚合数据,所述第一待聚合数据根据所述第一隐私计算平台侧所有第一数据方的第一参数密文进行加密转换得到,且所述第一待聚合数据符合所述第二加密协议;
聚合计算模块603,用于对所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数,并利用所述聚合参数执行下一轮迭代计算;
转换发送模块604,用于将所述聚合参数的加密协议转换为所述第一隐私计算平台支持的第一加密协议后,通过所述路由节点转发至所述第一隐私计算平台。
可选地,所述第二隐私计算平台包括至少两个第二计算节点,所述至少两个第二计算节点用于基于各自持有的第一待聚合数据和/或第二待聚合数据,基于秘密分享协议对所述第一待聚合数据和所述第二待聚合数据进行协同计算,得到各第二计算节点持有的聚合参数的秘密分享分片。
可选地,所述聚合参数包括至少两个秘密分享分片,所述转换发送模块,具体用于将所述聚合参数的每个秘密分享分片分别进行同态加密后再求和,得到符合所述第一加密协议的聚合参数。
可选地,所述第一数据方包括Guest方和Host方,所述第一隐私计算平台包括第一计算节点,所述路由节点包括第一路由节点和第二路由节点,所述数据接收模块,包括:
第一接收子模块,用于接收所述第一路由节点转发的所述第一计算节点持有的第一待聚合参数,所述第一计算节点持有的第一待聚合参数为所述第一计算节点根据所述Host方的第一参数密文以及所述Guest方的第一临时密文计算得到,所述第一临时密文为所述Guest方对其生成的第一随机数进行加密后,利用第一随机数密文对自身的第一参数密文进行加密计算得到;
第二接收子模块,用于接收所述第二路由节点转发的所述Guest方持有的第一待聚合参数,所述Guest方持有的第一待聚合参数为所述Guest方生成的第一随机数。
可选地,所述第一加密协议包括同态加密协议,所述第二加密协议包括秘密分享协议。
本发明实施例通过路由节点对第一隐私计算平台侧的第一数据方的第一参数密文进行加密协议转换,得到符合第二隐私计算平台支持的第二加密协议的第一待聚合数据,并转发至第二隐私计算平台,以使第二隐私计算平台利用所述第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数,第二隐私计算平台利用该聚合参数执行下一轮迭代计算。所述第二待聚合数据根据所述第二隐私计算平台侧的各第二数据方的第二参数密文计算得到。通过路由节点对所述聚合参数进行加密协议转换,将聚合参数的加密协议转换为符合第一隐私计算平台支持的第一加密协议后,将转换后的聚合参数转发至第一隐私计算平台,以使第一隐私计算平台利用该聚合参数执行下一轮迭代计算。通过本发明实施例提供的联邦学习方法,可以实现不同加密协议的隐私计算平台之间的互联互通,以解决不同加密协议的隐私计算平台无法进行联合建模的问题,通过加密协议转换,使得不同加密协议的隐私计算平台可以协同进行联邦学习。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行前文图1或图4所对应实施例中联邦学习方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种联邦学习方法和系统、一种第一隐私计算平台和第二隐私计算平台,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (28)
1.一种联邦学习方法,其特征在于,应用于第一隐私计算平台,所述第一隐私计算平台支持第一加密协议,所述方法包括:
与第一数据方基于所述第一数据方持有的第一参数密文执行第一交互操作,得到第一待聚合数据,所述第一参数密文为所述第一数据方基于其自身的数据集在本地进行训练并按照所述第一加密协议加密得到,所述第一待聚合数据符合第二隐私计算平台支持的第二加密协议;
将持有的第一待聚合数据通过路由节点转发至第二隐私计算平台,以使所述第二隐私计算平台利用第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数;其中,所述第二待聚合数据根据所述第二隐私计算平台侧的各第二数据方的第二参数密文计算得到,所述第二待聚合数据符合所述第二加密协议;
接收所述路由节点转发的所述第二隐私计算平台返回的所述聚合参数,利用所述聚合参数执行下一轮迭代计算。
2.根据权利要求1所述的方法,其特征在于,所述第一交互操作用于利用各第一数据方的第一参数密文协同执行第一预计算,得到中间结果密文,并将所述中间结果密文进行加密协议转换,得到符合第二加密协议的第一待聚合数据。
3.根据权利要求2所述的方法,其特征在于,所述中间结果密文转换为至少两个第一待聚合数据,所述至少两个第一待聚合数据由所述第一数据方和所述第一隐私计算平台分别持有。
4.根据权利要求1所述的方法,其特征在于,所述第一待聚合数据包括所述第一隐私计算平台侧所有第一数据方的第一参数密文的和的秘密分享分片。
5.根据权利要求1所述的方法,其特征在于,所述第一数据方包括Guest方和Host方,所述第一隐私计算平台包括第一计算节点,所述与第一数据方基于所述第一数据方持有的第一参数密文执行第一交互操作,得到第一待聚合数据,包括:
所述第一计算节点接收所述Host方的第一参数密文;
所述第一计算节点接收所述Guest方的第一临时密文,所述第一临时密文为所述Guest方对其生成的第一随机数进行加密后,利用第一随机数密文对自身的第一参数密文进行加密计算得到;
所述第一计算节点基于持有的私钥对所述Host方的第一参数密文进行解密,得到所述Host方的第一参数明文,并对所述第一临时密文进行解密,得到第一临时明文;
所述第一计算节点对所述第一参数明文和所述第一临时明文进行第二聚合计算,得到所述第一计算节点持有的第一待聚合数据。
6.根据权利要求5所述的方法,其特征在于,所述路由节点包括第一路由节点和第二路由节点,所述将持有的第一待聚合数据通过路由节点转发至第二隐私计算平台,包括:
所述第一计算节点将其持有的第一待聚合数据通过所述第一路由节点转发至所述第二隐私计算平台。
7.根据权利要求1至6任一所述的方法,其特征在于,所述第一加密协议包括同态加密协议,所述第二加密协议包括秘密分享协议。
8.一种联邦学习方法,其特征在于,应用于第二隐私计算平台,所述第二隐私计算平台支持第二加密协议,所述方法包括:
与第二数据方基于所述第二数据方持有的第二参数密文执行第二交互操作,得到第二待聚合数据,所述第二参数密文为所述第二数据方基于其自身的数据集在本地进行训练并按照所述第二加密协议加密得到,所述第二待聚合数据符合所述第二加密协议;
接收路由节点转发的第一待聚合数据,所述第一待聚合数据根据第一隐私计算平台侧所有第一数据方的第一参数密文进行加密转换得到,且所述第一待聚合数据符合所述第二加密协议;
对所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数,并利用所述聚合参数执行下一轮迭代计算;
将所述聚合参数的加密协议转换为所述第一隐私计算平台支持的第一加密协议后,通过所述路由节点转发至所述第一隐私计算平台。
9.根据权利要求8所述的方法,其特征在于,所述第二隐私计算平台包括至少两个第二计算节点,所述对所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数,包括:
所述至少两个第二计算节点基于各自持有的第一待聚合数据和/或第二待聚合数据,基于秘密分享协议对所述第一待聚合数据和所述第二待聚合数据进行协同计算,得到各第二计算节点持有的聚合参数的秘密分享分片。
10.根据权利要求8所述的方法,其特征在于,所述聚合参数包括至少两个秘密分享分片,所述将所述聚合参数的加密协议转换为所述第一隐私计算平台支持的第一加密协议,包括:
将所述聚合参数的每个秘密分享分片分别进行同态加密后再求和,得到符合所述第一加密协议的聚合参数。
11.根据权利要求8所述的方法,其特征在于,所述第一数据方包括Guest方和Host方,所述第一隐私计算平台包括第一计算节点,所述路由节点包括第一路由节点和第二路由节点,所述接收路由节点转发的第一待聚合参数,包括:
接收所述第一路由节点转发的所述第一计算节点持有的第一待聚合参数,所述第一计算节点持有的第一待聚合参数为所述第一计算节点根据所述Host方的第一参数密文以及所述Guest方的第一临时密文计算得到,所述第一临时密文为所述Guest方对其生成的第一随机数进行加密后,利用第一随机数密文对自身的第一参数密文进行加密计算得到;
接收所述第二路由节点转发的所述Guest方持有的第一待聚合参数,所述Guest方持有的第一待聚合参数为所述Guest方生成的第一随机数。
12.根据权利要求8至11任一所述的方法,其特征在于,所述第一加密协议包括同态加密协议,所述第二加密协议包括秘密分享协议。
13.一种联邦学习系统,其特征在于,所述联邦学习系统包括第一隐私计算平台、第二隐私计算平台、以及路由节点,所述第一隐私计算平台支持第一加密协议,所述第二隐私计算平台支持第二加密协议;其中,
所述第一隐私计算平台,用于接收第一数据方的第一参数密文,所述第一参数密文为所述第一数据方基于自身的数据集在本地进行训练并按照所述第一加密协议加密得到;
所述第一隐私计算平台,还用于对接收到的各第一数据方的第一参数密文进行第一预计算,得到中间结果密文,发送至路由节点;
所述路由节点,用于将所述中间结果密文进行加密协议转换,得到第一待聚合数据,转发至第二隐私计算平台,所述第一待聚合数据符合所述第二加密协议;
所述第二隐私计算平台,用于接收第二数据方的第二参数密文,所述第二参数密文为所述第二数据方基于自身的数据集在本地进行训练并按照所述第二加密协议加密得到;
所述第二隐私计算平台,还用于对接收到的各第二数据方的第二参数密文进行第二预计算,得到第二待聚合数据,并利用所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数,发送至路由节点;
所述第二隐私计算平台,还用于利用所述聚合参数执行下一轮迭代计算;
所述路由节点,还用于将所述聚合参数转换为符合所述第一加密协议的密文数据,转发至所述第一隐私计算平台;
所述第一隐私计算平台,还用于接收所述路由节点转发的聚合参数,并利用该聚合参数执行下一轮迭代计算。
14.根据权利要求13所述的联邦学习系统,其特征在于,所述第一隐私计算平台支持的第一加密协议包括同态加密协议,所述第二隐私计算平台支持的第二加密协议包括秘密分享协议;或者,所述第一隐私计算平台支持的第一加密协议包括秘密分享协议,所述第二隐私计算平台支持的第二加密协议包括同态加密协议。
15.根据权利要求13所述的联邦学习系统,其特征在于,所述路由节点的个数大于或等于2,所述中间结果密文转换得到的第一待聚合数据的个数大于或等于2,所述中间结果密文转换得到的不同第一待聚合数据分别由不同的路由节点进行转发。
16.一种第一隐私计算平台,其特征在于,所述第一隐私计算平台支持第一加密协议,所述第一隐私计算平台包括:
第一交互模块,用于与第一数据方基于所述第一数据方持有的第一参数密文执行第一交互操作,得到第一待聚合数据,所述第一参数密文为所述第一数据方基于其自身的数据集在本地进行训练并按照所述第一加密协议加密得到,所述第一待聚合数据符合第二隐私计算平台支持的第二加密协议;
数据转发模块,用于将持有的第一待聚合数据通过路由节点转发至第二隐私计算平台,以使所述第二隐私计算平台利用第一待聚合数据和第二待聚合数据进行第一聚合计算,得到聚合参数;其中,所述第二待聚合数据根据所述第二隐私计算平台侧的各第二数据方的第二参数密文计算得到,所述第二待聚合数据符合所述第二加密协议;
数据接收模块,用于接收所述路由节点转发的所述第二隐私计算平台返回的所述聚合参数;
迭代计算模块,用于利用所述聚合参数执行下一轮迭代计算。
17.根据权利要求16所述的第一隐私计算平台,其特征在于,所述第一交互操作用于利用各第一数据方的第一参数密文协同执行第一预计算,得到中间结果密文,并将所述中间结果密文进行加密协议转换,得到符合第二加密协议的第一待聚合数据。
18.根据权利要求17所述的第一隐私计算平台,其特征在于,所述中间结果密文转换为至少两个第一待聚合数据,所述至少两个第一待聚合数据由所述第一数据方和所述第一隐私计算平台分别持有。
19.根据权利要求16所述的第一隐私计算平台,其特征在于,所述第一待聚合数据包括所述第一隐私计算平台侧所有第一数据方的第一参数密文的和的秘密分享分片。
20.根据权利要求16所述的第一隐私计算平台,其特征在于,所述第一数据方包括Guest方和Host方,所述第一隐私计算平台包括第一计算节点,所述第一计算节点用于执行如下操作:
所述第一计算节点接收所述Host方的第一参数密文;
所述第一计算节点接收所述Guest方的第一临时密文,所述第一临时密文为所述Guest方对其生成的第一随机数进行加密后,利用第一随机数密文对自身的第一参数密文进行加密计算得到;
所述第一计算节点基于持有的私钥对所述Host方的第一参数密文进行解密,得到所述Host方的第一参数明文,并对所述第一临时密文进行解密,得到第一临时明文;
所述第一计算节点对所述第一参数明文和所述第一临时明文进行第二聚合计算,得到所述第一计算节点持有的第一待聚合数据。
21.根据权利要求20所述的第一隐私计算平台,其特征在于,所述路由节点包括第一路由节点和第二路由节点,所述数据转发模块,具体用于所述第一计算节点将其持有的第一待聚合数据通过所述第一路由节点转发至所述第二隐私计算平台。
22.根据权利要求16至21任一所述的第一隐私计算平台,其特征在于,所述第一加密协议包括同态加密协议,所述第二加密协议包括秘密分享协议。
23.一种第二隐私计算平台,其特征在于,所述第二隐私计算平台支持第二加密协议,所述第二隐私计算平台包括:
第二交互模块,用于与第二数据方基于所述第二数据方持有的第二参数密文执行第二交互操作,得到第二待聚合数据,所述第二参数密文为所述第二数据方基于其自身的数据集在本地进行训练并按照所述第二加密协议加密得到,所述第二待聚合数据符合所述第二加密协议;
数据接收模块,用于接收路由节点转发的第一待聚合数据,所述第一待聚合数据根据第一隐私计算平台侧所有第一数据方的第一参数密文进行加密转换得到,且所述第一待聚合数据符合所述第二加密协议;
聚合计算模块,用于对所述第一待聚合数据和所述第二待聚合数据进行第一聚合计算,得到聚合参数,并利用所述聚合参数执行下一轮迭代计算;
转换发送模块,用于将所述聚合参数的加密协议转换为所述第一隐私计算平台支持的第一加密协议后,通过所述路由节点转发至所述第一隐私计算平台。
24.根据权利要求23所述的第二隐私计算平台,其特征在于,所述第二隐私计算平台包括至少两个第二计算节点,所述至少两个第二计算节点用于基于各自持有的第一待聚合数据和/或第二待聚合数据,基于秘密分享协议对所述第一待聚合数据和所述第二待聚合数据进行协同计算,得到各第二计算节点持有的聚合参数的秘密分享分片。
25.根据权利要求23所述的第二隐私计算平台,其特征在于,所述聚合参数包括至少两个秘密分享分片,所述转换发送模块,具体用于将所述聚合参数的每个秘密分享分片分别进行同态加密后再求和,得到符合所述第一加密协议的聚合参数。
26.根据权利要求23所述的第二隐私计算平台,其特征在于,所述第一数据方包括Guest方和Host方,所述第一隐私计算平台包括第一计算节点,所述路由节点包括第一路由节点和第二路由节点,所述数据接收模块,包括:
第一接收子模块,用于接收所述第一路由节点转发的所述第一计算节点持有的第一待聚合参数,所述第一计算节点持有的第一待聚合参数为所述第一计算节点根据所述Host方的第一参数密文以及所述Guest方的第一临时密文计算得到,所述第一临时密文为所述Guest方对其生成的第一随机数进行加密后,利用第一随机数密文对自身的第一参数密文进行加密计算得到;
第二接收子模块,用于接收所述第二路由节点转发的所述Guest方持有的第一待聚合参数,所述Guest方持有的第一待聚合参数为所述Guest方生成的第一随机数。
27.根据权利要求23至26任一所述的第二隐私计算平台,其特征在于,所述第一加密协议包括同态加密协议,所述第二加密协议包括秘密分享协议。
28.一种机器可读存储介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如权利要求1至7或8至12中任一所述的联邦学习方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210433893.3A CN114944934B (zh) | 2022-04-24 | 2022-04-24 | 一种联邦学习方法和系统、第一隐私计算平台和第二隐私计算平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210433893.3A CN114944934B (zh) | 2022-04-24 | 2022-04-24 | 一种联邦学习方法和系统、第一隐私计算平台和第二隐私计算平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114944934A CN114944934A (zh) | 2022-08-26 |
CN114944934B true CN114944934B (zh) | 2023-12-29 |
Family
ID=82907692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210433893.3A Active CN114944934B (zh) | 2022-04-24 | 2022-04-24 | 一种联邦学习方法和系统、第一隐私计算平台和第二隐私计算平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114944934B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617897B (zh) * | 2022-11-04 | 2023-03-14 | 华控清交信息科技(北京)有限公司 | 一种数据类型转换方法和多方安全计算系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111898137A (zh) * | 2020-06-30 | 2020-11-06 | 深圳致星科技有限公司 | 一种联邦学习的隐私数据处理方法、设备及系统 |
US11017322B1 (en) * | 2021-01-28 | 2021-05-25 | Alipay Labs (singapore) Pte. Ltd. | Method and system for federated learning |
CN113239404A (zh) * | 2021-06-04 | 2021-08-10 | 南开大学 | 一种基于差分隐私和混沌加密的联邦学习方法 |
CN113434873A (zh) * | 2021-06-01 | 2021-09-24 | 内蒙古大学 | 一种基于同态加密的联邦学习隐私保护方法 |
WO2021189974A1 (zh) * | 2020-10-21 | 2021-09-30 | 平安科技(深圳)有限公司 | 模型训练方法、文本分类方法、装置、计算机设备和介质 |
WO2021204268A1 (zh) * | 2020-04-10 | 2021-10-14 | 支付宝(杭州)信息技术有限公司 | 基于隐私数据进行模型训练 |
CN113688999A (zh) * | 2021-08-23 | 2021-11-23 | 神州融安科技(北京)有限公司 | 一种横向联邦xgboost决策树的训练方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11188791B2 (en) * | 2019-11-18 | 2021-11-30 | International Business Machines Corporation | Anonymizing data for preserving privacy during use for federated machine learning |
-
2022
- 2022-04-24 CN CN202210433893.3A patent/CN114944934B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021204268A1 (zh) * | 2020-04-10 | 2021-10-14 | 支付宝(杭州)信息技术有限公司 | 基于隐私数据进行模型训练 |
CN111898137A (zh) * | 2020-06-30 | 2020-11-06 | 深圳致星科技有限公司 | 一种联邦学习的隐私数据处理方法、设备及系统 |
WO2021189974A1 (zh) * | 2020-10-21 | 2021-09-30 | 平安科技(深圳)有限公司 | 模型训练方法、文本分类方法、装置、计算机设备和介质 |
US11017322B1 (en) * | 2021-01-28 | 2021-05-25 | Alipay Labs (singapore) Pte. Ltd. | Method and system for federated learning |
CN113434873A (zh) * | 2021-06-01 | 2021-09-24 | 内蒙古大学 | 一种基于同态加密的联邦学习隐私保护方法 |
CN113239404A (zh) * | 2021-06-04 | 2021-08-10 | 南开大学 | 一种基于差分隐私和混沌加密的联邦学习方法 |
CN113688999A (zh) * | 2021-08-23 | 2021-11-23 | 神州融安科技(北京)有限公司 | 一种横向联邦xgboost决策树的训练方法 |
Non-Patent Citations (3)
Title |
---|
基于秘密分享和梯度选择的高效安全联邦学习;董业;侯炜;陈小军;曾帅;;计算机研究与发展(第10期);全文 * |
联邦学习模型在涉密数据处理中的应用;贾延延;张昭;冯键;王春凯;;中国电子科学研究院学报(第01期);全文 * |
隐私保护机器学习的密码学方法;蒋瀚;刘怡然;宋祥福;王皓;郑志华;徐秋亮;;电子与信息学报(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114944934A (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112906044B (zh) | 多方安全计算方法、装置、设备及存储介质 | |
US20170048208A1 (en) | Secure computation using a server module | |
CN110190945B (zh) | 基于多加密的线性回归隐私保护方法及系统 | |
CN109644128A (zh) | 安全数据处理 | |
CN113424185A (zh) | 快速不经意传输 | |
CN112906030B (zh) | 基于多方全同态加密的数据共享方法和系统 | |
CN111404950B (zh) | 一种基于区块链网络的信息共享方法、装置和相关设备 | |
CN111726225B (zh) | 一种基于秘密共享的外包隐私保护交集计算方法 | |
CN114944935B (zh) | 一种多方融合计算系统、多方融合计算方法和可读存储介质 | |
CN112818369B (zh) | 一种联合建模方法及装置 | |
WO2024093426A1 (zh) | 基于联邦机器学习的模型训练方法和装置 | |
CN111783129A (zh) | 一种保护隐私的数据处理方法及系统 | |
EP3654580A1 (en) | Communication device and communication method used in decentralized network | |
EP4278557B1 (en) | System and method for group key formation | |
CN112926064B (zh) | 一种模型训练方法及装置、数据处理系统和电子设备 | |
CN113408001B (zh) | 多方安全确定最值的方法、装置、设备及存储介质 | |
WO2018099577A1 (en) | System and method for providing a collective decentralized authority for sharing sensitive data | |
CN114944934B (zh) | 一种联邦学习方法和系统、第一隐私计算平台和第二隐私计算平台 | |
WO2022153051A1 (en) | System and method for key establishment | |
CN116681141A (zh) | 隐私保护的联邦学习方法、终端及存储介质 | |
CN114492850A (zh) | 基于联邦学习的模型训练方法、设备、介质及程序产品 | |
CN114124347A (zh) | 一种基于区块链的安全多方计算方法及系统 | |
CN114944936B (zh) | 一种隐私路由服务端、加密协议转换方法和机器可读存储介质 | |
TWI782701B (zh) | 區塊鏈錢包的非互動式批核系統及其方法 | |
CN113821811B (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 |