CN113806759A - 联邦学习模型的训练方法、装置、电子设备和存储介质 - Google Patents
联邦学习模型的训练方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113806759A CN113806759A CN202011584095.8A CN202011584095A CN113806759A CN 113806759 A CN113806759 A CN 113806759A CN 202011584095 A CN202011584095 A CN 202011584095A CN 113806759 A CN113806759 A CN 113806759A
- Authority
- CN
- China
- Prior art keywords
- information
- gradient
- public key
- decryption operation
- point number
- 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
- 238000012549 training Methods 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 abstract description 14
- 230000008901 benefit Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001617 migratory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种联邦学习模型的训练方法、装置和电子设备,其中,该训练方法包括:与数据提供方服务器进行样本对齐;计算当前样本的梯度信息,并发送至数据提供方服务器;接收数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息;根据梯度返回信息生成目标分裂点编号,并基于第一公钥或第二公钥,以及目标分裂点编号生成密文,并将密文发送至数据提供方服务器;以及接收数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据第一解密运算值和第二解密运算值进行节点分裂。由此,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种联邦学习模型的训练方法、装置、电子设备和存储介质。
背景技术
随着机器学习的发展,越来越多的机器学习技术被应用于各行各业。数据的数量和质量往往决定了机器学习模型效果的上限。但是随着法规和监管越来越严格,以及人们对于数据安全和隐私保护越来越重视,形成数据孤岛现象。在这样的场景下,联邦学习应运而生,它可以让参与方在不共享数据的基础上联合训练,解决数据孤岛的难题。
相关技术中,联邦学习是一种加密的分布式机器学习技术,它融合了信息加密、分布式计算和机器学习等多种技术。联邦学习根据参与方持有数据的特点可以被分为横向联邦学习、纵向联邦学习以及联邦迁移学习。在风控场景下,纵向联邦学习的应用更为广泛。
发明内容
本申请第一方面实施例提出一种联邦学习模型的训练方法,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全。
本申请第二方面实施例提出一种联邦学习模型的训练方法。
本申请第三方面实施例提出一种联邦学习模型的训练装置。
本申请第四方面实施例提出一种联邦学习模型的训练装置。
本申请第五方面实施例提出一种电子设备。
本申请第六方面实施例提出一种计算机可读存储介质。
本申请第一方面实施例提出了一种联邦学习模型的训练方法,所述方法包括:
与数据提供方服务器进行样本对齐;
计算当前样本的梯度信息,并发送至所述数据提供方服务器;
接收所述数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息;
根据所述梯度返回信息生成目标分裂点编号,并基于所述第一公钥或所述第二公钥,以及所述目标分裂点编号生成密文,并将所述密文发送至所述数据提供方服务器;以及
接收所述数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据所述第一解密运算值和所述第二解密运算值进行节点分裂。
根据本申请实施例的联邦学习模型的训练方法,首先与数据提供方服务器进行样本对齐,并计算当前样本的梯度信息,以及发送至数据提供方服务器,然后接收数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息,并根据梯度返回信息生成目标分裂点编号,以及基于第一公钥或第二公钥,以及目标分裂点编号生成密文,并将密文发送至数据提供方服务器,最后接收数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据第一解密运算值和第二解密运算值进行节点分裂。由此,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
另外,根据本申请上述实施例的联邦学习模型的训练方法还可以具有如下附加的技术特征:
在本申请的一个实施例中,所述计算当前样本的梯度信息,包括:
生成所述当前样本的一阶梯度值和二阶梯度值;
对所述一阶梯度值和所述二阶梯度值进行同态加密以生成所述梯度信息。
在本申请的一个实施例中,所述梯度返回信息为多个,且每个所述梯度返回信息对应有相应的编号,其中,所述根据所述梯度返回信息生成目标分裂点编号,包括:
根据所述多个梯度返回信息分别生成对应的多个信息增益;
从所述多个信息增益之中选择最大信息增益,并将所述最大信息增益对应的编号作为所述目标分裂点编号。
在本申请的一个实施例中,所述基于所述第一公钥或所述第二公钥,以及所述目标分裂点编号生成密文,包括:
根据所述目标分裂点编号和混淆分裂点编号,生成特征混淆字典,其中,所述混淆分裂点编号为从所述梯度返回信息对应有相应的编号中选取的一个编号;
生成随机数,并根据所述特征混淆字典、所述第一公钥或所述第二公钥对所述随机数进行加密以生成密文。
在本申请的一个实施例中,所述根据所述特征混淆字典、所述第一公钥或所述第二公钥对所述随机数进行加密以生成密文,包括:
根据所述特征混淆字典中所述目标分裂点编号和所述混淆分裂点编号,确定加密用的公钥,其中,所述加密用的公钥为所述第一公钥或所述第二公钥;
利用所述加密用的公钥对所述随机数进行加密,生成所述密文。
在本申请的一个实施例中,所述根据所述第一解密运算值和所述第二解密运算值进行节点分裂,包括:
根据所述第一解密运算值和所述第二解密运算值,以及所述随机数生成分裂空间信息;
根据所述当前样本和所述分裂空间信息进行节点分裂。
本申请第二方面实施例提出了一种联邦学习模型的训练方法,所述方法包括:
与业务方服务器进行样本对齐;
接收所述业务方服务器发送的当前所训练的样本的梯度信息,并根据所述梯度信息获取梯度返回信息;
向所述业务方服务器发送第一公钥、第二公钥以及所述梯度返回信息;
接收所述业务方服务器发送的基于所述第一公钥或所述第二公钥、以及目标分裂点编号生成的密文,其中,所述目标分裂点编号根据所述梯度返回信息生成;以及
对所述密文进行解密,得到第一解密运算值和第二解密运算值,并发送给所述业务方服务器。
根据本申请实施例的联邦学习模型的训练方法,首先与业务方服务器进行样本对齐,并接收业务方服务器发送的当前所训练的样本的梯度信息,以及根据梯度信息获取梯度返回信息,然后向业务方服务器发送第一公钥、第二公钥以及梯度返回信息,并接收业务方服务器发送的基于第一公钥或第二公钥、以及目标分裂点编号生成的密文,最后对密文进行解密,得到第一解密运算值和第二解密运算值,并发送给业务方服务器。由此,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
另外,根据本申请上述实施例的联邦学习模型的训练方法还可以具有如下附加的技术特征:
在本申请的一个实施例中,所述根据所述梯度信息获取梯度返回信息,包括:
根据每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间;
根据所述梯度信息,获取每个特征对应的所述指定侧的分裂空间的梯度求和信息,并对所述梯度求和信息进行编号;
利用所述梯度求和信息和所述梯度求和信息的编号,生成所述梯度返回信息。
在本申请的一个实施例中,所述对所述梯度求和信息进行编号之后,还包括:
生成所述编号,以及所述编号对应的特征、所述分裂阈值以及所述编号对应的所述梯度求和信息之间的映射关系。
在本申请的一个实施例中,所述对所述密文进行解密,得到第一解密运算值和第二解密运算值,包括:
接收所述业务方服务器发送的特征混淆字典,其中,所述特征混淆字典基于所述目标分裂点编号和混淆分裂点编号生成,所述混淆分裂点编号为从所述梯度返回信息对应有相应的编号中选取的一个编号;
根据所述特征混淆字典,以及第一私钥和第二私钥,得到所述第一解密运算值和所述第二解密运算值,其中,所述第一公钥与所述第一私钥对应,且所述第二公钥和所述第二私钥对应。
在本申请的一个实施例中,所述根据所述特征混淆字典,以及第一私钥和第二私钥,得到所述第一解密运算值和所述第二解密运算值,包括:
分别获取所述目标分裂点编号对应的第一分裂空间和所述混淆分裂点编号对应的第二分裂空间;
获取所述第一分裂空间的第一编码信息,以及所述第二分裂空间的第二编码信息;
分别利用所述第一私钥和所述第二私钥对所述密文进行解密,得到第一解密值和第二解密值;
根据所述第一解密值和所述第一编码信息,得到所述第一解密运算值;
根据所述第二解密值和所述第二编码信息,得到所述第二解密运算值。
本申请第三方面实施例提出了一种联邦学习模型的训练装置,所述装置包括:
对齐模块,用于与数据提供方服务器进行样本对齐;
计算模块,用于计算当前样本的梯度信息,并发送至所述数据提供方服务器;
接收模块,用于接收所述数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息;
生成模块,用于根据所述梯度返回信息生成目标分裂点编号,并基于所述第一公钥或所述第二公钥,以及所述目标分裂点编号生成密文,并将所述密文发送至所述数据提供方服务器;以及
节点分裂模块,用于接收所述数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据所述第一解密运算值和所述第二解密运算值进行节点分裂。
本申请实施例的联邦学习模型的训练装置,首先通过对齐模块与数据提供方服务器进行样本对齐,并通过计算模块计算当前样本的梯度信息,并发送至数据提供方服务器,以及通过接收模块接收数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息,然后通过生成模块根据梯度返回信息生成目标分裂点编号,并基于第一公钥或第二公钥,以及目标分裂点编号生成密文,并将密文发送至数据提供方服务器,最后通过节点分裂模块接收数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据第一解密运算值和第二解密运算值进行节点分裂。由此,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
另外,根据本申请上述实施例的联邦学习模型的训练装置还可以具有如下附加的技术特征:
在本申请的一个实施例中,所述计算模块,具体用于:
生成所述当前样本的一阶梯度值和二阶梯度值;
对所述一阶梯度值和所述二阶梯度值进行同态加密以生成所述梯度信息。
在本申请的一个实施例中,所述梯度返回信息为多个,且每个所述梯度返回信息对应有相应的编号,其中,所述生成模块,包括:
第一生成单元,用于根据所述多个梯度返回信息分别生成对应的多个信息增益;
选择单元,用于从所述多个信息增益之中选择最大信息增益,并将所述最大信息增益对应的编号作为所述目标分裂点编号。
在本申请的一个实施例中,所述生成模块,包括:
第二生成单元,用于根据所述目标分裂点编号和混淆分裂点编号,生成特征混淆字典,其中,所述混淆分裂点编号为从所述梯度返回信息对应有相应的编号中选取的一个编号;
第三生成单元,用于生成随机数,并根据所述特征混淆字典、所述第一公钥或所述第二公钥对所述随机数进行加密以生成密文。
在本申请的一个实施例中,所述第三生成单元,具体用于:
根据所述特征混淆字典中所述目标分裂点编号和所述混淆分裂点编号,确定加密用的公钥,其中,所述加密用的公钥为所述第一公钥或所述第二公钥;
利用所述加密用的公钥对所述随机数进行加密,生成所述密文。
在本申请的一个实施例中,所述节点分裂模块,具体用于:
根据所述第一解密运算值和所述第二解密运算值,以及所述随机数生成分裂空间信息;
根据所述当前样本和所述分裂空间信息进行节点分裂。
本申请第四方面实施例提出了一种联邦学习模型的训练装置,所述装置包括:
对齐模块,用于与业务方服务器进行样本对齐;
获取模块,用于接收所述业务方服务器发送的当前所训练的样本的梯度信息,并根据所述梯度信息获取梯度返回信息;
发送模块,用于向所述业务方服务器发送第一公钥、第二公钥以及所述梯度返回信息;
接收模块,用于接收所述业务方服务器发送的基于所述第一公钥或所述第二公钥、以及目标分裂点编号生成的密文,其中,所述目标分裂点编号根据所述梯度返回信息生成;以及
解密模块,用于对所述密文进行解密,得到第一解密运算值和第二解密运算值,并发送给所述业务方服务器。
本申请实施例的联邦学习模型的训练装置,首先通过对齐模块与业务方服务器进行样本对齐,并通过获取模块接收业务方服务器发送的当前所训练的样本的梯度信息,并根据梯度信息获取梯度返回信息,然后通过发送模块向业务方服务器发送第一公钥、第二公钥以及梯度返回信息,并通过接收模块接收业务方服务器发送的基于第一公钥或第二公钥、以及目标分裂点编号生成的密文,最后通过解密模块对密文进行解密,得到第一解密运算值和第二解密运算值,并发送给业务方服务器。由此,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
另外,根据本申请上述实施例的联邦学习模型的训练装置还可以具有如下附加的技术特征:
在本申请的一个实施例中,所述获取模块,具体用于:
根据每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间;
根据所述梯度信息,获取每个特征对应的所述指定侧的分裂空间的梯度求和信息,并对所述梯度求和信息进行编号;
利用所述梯度求和信息和所述梯度求和信息的编号,生成所述梯度返回信息。
在本申请的一个实施例中,所述获取模块,还用于:
对所述梯度求和信息进行编号之后,生成所述编号,以及所述编号对应的特征、所述分裂阈值以及所述编号对应的所述梯度求和信息之间的映射关系。
在本申请的一个实施例中,所述解密模块,包括:
接收单元,用于接收所述业务方服务器发送的特征混淆字典,其中,所述特征混淆字典基于所述目标分裂点编号和混淆分裂点编号生成,所述混淆分裂点编号为从所述梯度返回信息对应有相应的编号中选取的一个编号;
获取单元,用于根据所述特征混淆字典,以及第一私钥和第二私钥,得到所述第一解密运算值和所述第二解密运算值,其中,所述第一公钥与所述第一私钥对应,且所述第二公钥和所述第二私钥对应。
在本申请的一个实施例中,所述获取单元,具体用于:
分别获取所述目标分裂点编号对应的第一分裂空间和所述混淆分裂点编号对应的第二分裂空间;
获取所述第一分裂空间的第一编码信息,以及所述第二分裂空间的第二编码信息;
分别利用所述第一私钥和所述第二私钥对所述密文进行解密,得到第一解密值和第二解密值;
根据所述第一解密值和所述第一编码信息,得到所述第一解密运算值;
根据所述第二解密值和所述第二编码信息,得到所述第二解密运算值。
本申请第五方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如前述第一方面实施例或第二方面实施例所述的联邦学习模型的训练方法。
本申请实施例的电子设备,通过处理器执行存储在存储器上的计算机程序,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
本申请第六方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如前述第一方面实施例或第二方面实施例所述的联邦学习模型的训练方法。
本申请实施例的计算机可读存储介质,通过存储计算机程序并被处理器执行,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请一个实施例的联邦学习模型的训练方法的流程示意图;
图2为根据本申请具体实施例的业务方服务器和数据提供方服务器之间的交互示意图;
图3为根据本申请另一个实施例的联邦学习模型的训练方法的流程示意图;
图4为根据本申请另一个实施例的联邦学习模型的训练装置的方框示意图;
图5为根据本申请另一个实施例的联邦学习模型的训练装置的方框示意图;以及
图6为根据本申请一个实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参照附图描述本申请实施例的联邦学习模型的训练方法、装置、电子设备和存储介质。
本申请实施例提供的联邦学习模型的训练方法,可以由电子设备来执行,该电子设备可为PC(Personal Computer,个人计算机)电脑、平板电脑或服务器等,此处不做任何限定。
在本申请实施例中,电子设备中可以设置有处理组件、存储组件和驱动组件。可选的,该驱动组件和处理组件可以集成设置,该存储组件可以存储操作系统、应用程序或其他程序模块,该处理组件通过执行存储组件中存储的应用程序来实现本申请实施例提供的联邦学习模型的训练方法。
图1为根据本申请一个实施例的联邦学习模型的训练方法的流程示意图。
本申请实施例的联邦学习模型的训练方法,还可由本申请实施例提供的联邦学习模型的训练装置行,该装置可配置于电子设备中,以实现与数据提供方服务器进行样本对齐,并计算当前样本的梯度信息,以及发送至数据提供方服务器,然后接收数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息,并根据梯度返回信息生成目标分裂点编号,以及基于第一公钥或第二公钥,以及目标分裂点编号生成密文,并将密文发送至数据提供方服务器,再然后接收数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据第一解密运算值和第二解密运算值进行节点分裂,从而保护业务方和数据提供方的隐私和利益。
作为一种可能的情况,本申请实施例的联邦学习模型的训练方法还可以在服务器端执行,服务器可以为云服务器,可以在云端执行该联邦学习模型的训练方法。
如图1所示,该联邦学习模型的训练方法,可包括:
步骤101,与数据提供方服务器进行样本对齐。
在本申请实施例中,业务方(即,业务方服务器)可通过预设的方法与数据提供方服务器进行样本对齐。其中,预设的方法可根据实际情况进行标定。
需要说明的是,该实施例中所描述样本对齐可以是指,业务方服务器与数据提供方服务器进行样本位置的对齐,以便于进行精确的样本传输。另外,在进行样本对齐的过程中,可建立业务方和数据提供方服务器之间的通信通道(信道),且可对该通信通道进行加密。
步骤102,计算当前样本的梯度信息,并发送至数据提供方服务器。
在本申请的一个实施例中,计算当前样本的梯度信息,可包括生成当前样本的一阶梯度值和二阶梯度值,并对一阶梯度值和二阶梯度值进行同态加密以生成梯度信息。
具体地,参见图2,业务方服务器可先根据预设的梯度生成算法生成当前样本(即,对齐样本)的一阶梯度值g1和二阶梯度值h1,并对一阶梯度值g1和二阶梯度值h1进行同态加密以生成梯度信息<g1>,<h1>,并将该梯度信息<g1>,<h1>发送至数据提供方服务器。其中,预设的梯度生成算法可根据实际情况进行标定。
进一步地,在本申请实施例中,当前样本可为多个,业务方服务器可根据预设的梯度生成算法生成每个样本的一阶梯度值和二阶梯度值(g1,h1),...,(gn,hn),然后通过同态加密得到(<g1>,<h1>),...,(<gn>,<hn>)发送给数据提供方服务器,其中,n为正整数。
在本申请实施例中,数据提供方服务器接收业务方服务器发送的当前所训练的样本的梯度信息,并根据梯度信息获取梯度返回信息,同时还可根据预设的生成两对公私钥,其中,根据梯度信息获取梯度返回信息,可包括根据每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间,并根据梯度信息,获取每个特征对应的指定侧的分裂空间的梯度求和信息,并对梯度求和信息进行编号,以及利用梯度求和信息和梯度求和信息的编号,生成梯度返回信息。其中,对梯度求和信息进行编号之后,还可包括生成编号,以及编号对应的特征、分裂阈值以及编号对应的梯度求和信息之间的映射关系。
具体地,参见图2,数据提供方服务器在接收到业务方服务器发送的当前所训练的样本的梯度信息之后,可先根据预设的密钥生成算法生成两对公私钥(即,第一公钥和第一私钥,以及第二公钥和第二私钥),可分别进行编号记作1:{p1,p′1}与2:{p2,p′2},其中,p1和p2为公钥(即,第一公钥和第二公钥),p1和p2为私钥(即,第一私钥和第二私钥)。
然后,数据提供方服务器可根据每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间,即进行分箱操作,并根据梯度信息,获取每个特征对应的指定侧的分裂空间的梯度求和信息,即对应计算每一箱中样本的梯度求和信息,例如,通过下述公式(1)和(2)计算左侧的分裂空间(即,左空间)中的梯度求和信息:
其中,<GL>可为样本的一阶梯度求和信息,<HL>可为样本的二阶梯度求和信息,<gi>可为样本的一阶梯度信息,<hi>可为样本的一阶梯度信息,i可为小于等于n的正整数,IL可为左侧的分裂空间(即,i个样本的空间)。
再然后,数据提供方服务器可对梯度求和信息进行编号,以及利用梯度求和信息和梯度求和信息的编号,生成梯度返回信息,
进一步地,数据提供方服务器在对梯度求和信息进行编号之后,还可生成编号,以及编号对应的特征、分裂阈值以及编号对应的梯度求和信息之间的映射关系,并可将其生成一张表。例如,下述的表A(即,编号-特征-分裂阈值-梯度求和信息表)中的映射关系:
表A
需要说明的是,该实施例中所描述的梯度返回信息可包括编号和梯度求和信息。
最后,数据提供方服务器可将第一公钥、第二公钥以及梯度返回信息发送(同步)至业务方服务器。其中,数据提供方服务器可将发送(同步)至业务方服务器的数据进行加密。
步骤103,接收数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息。
步骤104,根据梯度返回信息生成目标分裂点编号,并基于第一公钥或第二公钥,以及目标分裂点编号生成密文,并将密文发送至数据提供方服务器。
在本申请的一个实施例中,梯度返回信息可为多个,且每个梯度返回信息对应有相应的编号,其中,根据梯度返回信息生成目标分裂点编号,可包括根据多个梯度返回信息分别生成对应的多个信息增益,并从多个信息增益之中选择最大信息增益,并将最大信息增益对应的编号作为目标分裂点编号。
具体地,参见图2,业务方服务器在接收到上述的第一公钥、第二公钥以及梯度返回信息后,可根据多个梯度返回信息分别生成对应的多个信息增益,并从多个信息增益之中选择最大信息增益,并将最大信息增益对应的编号作为目标分裂点编号。
例如,可根据下述公式(3)和(4)计算得到上述左侧的分裂空间中的多个信息增益:
其中,CLi可为样本的一阶梯度信息增益,HLi可为样本的二阶梯度信息增益,i可为小于等于n的正整数,IL可为左侧的分裂空间(即,i个样本的空间)。
而后,业务方服务器找到上述多个信息增益中的最大信息增益(即,一阶梯度信息增益和二阶梯度信息增益)以及对应表A中的编号q(即,目标分裂点编号)。
进一步地,在本申请的一个实施例中,基于第一公钥或第二公钥,以及目标分裂点编号生成密文,可包括根据目标分裂点编号和混淆分裂点编号,生成特征混淆字典,其中,混淆分裂点编号为从梯度返回信息对应有相应的编号中选取的一个编号,以及生成随机数,并根据特征混淆字典、第一公钥或第二公钥对随机数进行加密以生成密文。其中,根据特征混淆字典、第一公钥或第二公钥对随机数进行加密以生成密文,可包括根据特征混淆字典中目标分裂点编号和混淆分裂点编号,确定加密用的公钥,其中,加密用的公钥为第一公钥或第二公钥,以及利用加密用的公钥对随机数进行加密,生成密文。
具体地,参见图2,业务方服务器在确定目标分裂点编号(即,编号q)后,可先随机选择编号为w的特征和阈值(即,分裂阈值)对应的编号参与混淆,例如,从表A中选择编号为w的特征和阈值,且编号W和编号q不相同。然后业务方服务器可基于编号q和编号W生成特征混淆字典B:{1:q;2:w},其中,目标分裂点编号(即,最大信息增益对应的编号)为q,特征混淆字典索引为1。
再然后,业务方服务器可根据预设的随机数生成算法生成随机数k,并根据特征混淆字典B:{1:q;2:w},第一公钥或第二公钥对随机数k进行加密以生成密文,其中,最优分裂节点(目标分裂点)编号为q,可第一公钥p1加密,编号为w,可用第二公钥p2对随机数k进行加密以生成密文c,假设最优分裂节点(目标分裂点)编号为q,则可利用根据特征混淆字典B、第一公钥p1、对随机数k进行加密以生成密文c。
而后,业务方服务器可将密文c和特征混淆字典B发送(同步至)至数据提供方服务器。
在本申请实施例中,数据提供方服务器接收业务方服务器发送的基于第一公钥或第二公钥、以及目标分裂点编号生成的密文和特征混淆字典,并对密文进行解密,得到第一解密运算值和第二解密运算值,并发送给业务方服务器。其中,对密文进行解密,得到第一解密运算值和第二解密运算值,可包括根据业务方服务器发送的特征混淆字典,以及第一私钥和第二私钥,得到第一解密运算值和第二解密运算值,其中,第一公钥与第一私钥对应,且第二公钥和第二私钥对应。
其中,根据特征混淆字典,以及第一私钥和第二私钥,得到第一解密运算值和第二解密运算值,可包括分别获取目标分裂点编号对应的第一分裂空间和混淆分裂点编号对应的第二分裂空间,并获取第一分裂空间的第一编码信息,以及第二分裂空间的第二编码信息,然后分别利用第一私钥和第二私钥对密文进行解密,得到第一解密值和第二解密值,并根据第一解密值和第一编码信息,得到第一解密运算值,最后根据第二解密值和第二编码信息,得到第二解密运算值。
具体地,参见图2,数据提供方服务器在接收到业务方服务器发送的密文c和特征混淆字典B之后,分别使用第一私钥p'1和第二私钥p'2对密文c进行解密,以得到第一解密值c1和第二解密值c2,其中,c1可为上述的随机数k,c2可以是一个无意义的值,从而进一步增加了安全性。
然后,数据提供方服务器可通过上述的表A找到特征混淆字典B中特征编号对应的一侧分裂空间,例如,此处人为事先约定关注的分裂空间均为左空间IL。并可将指定空间中的样本集合使用0,1进行编码。例如,在编号为p的特征及其阈值(即,分裂阈值)对应的左侧空间中样本1出现,则在该位置中记录为1,反之为0,依次类推至其他样本(0,1编码的前提是需要确保数据提供方服务器和业务方服务器样本对齐且ID编号顺序保持一致)。将这样由0,1填充的样本空间信息记作M,并可依据特征混淆字典B中特征编号的索引对对应特征编号的样本空间信息进行编号,记作{1:q,M1;2:w,M2},其中,M1可为上述的第一编码信息,M2可为上述的第二编码信息。
再然后,数据提供方服务器可将第一解密值c1和第二解密值c2对应第一编码信息M1和第二编码信息M2通过下述公式(5)和(6)进行异或运算得到第一解密运算值R1和第二解密运算值R2。
R1=c1⊕M1 (5)
R2=c2⊕M2 (6)
而后,数据提供方服务器将计算得到的第一解密运算值R1和第二解密运算值R2发送(同步)至业务方服务器。
步骤105,接收数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据第一解密运算值和第二解密运算值进行节点分裂。
在本申请的一个实施例中,根据第一解密运算值和第二解密运算值进行节点分裂,可包括根据第一解密运算值和第二解密运算值,以及随机数生成分裂空间信息,并根据当前样本和分裂空间信息进行节点分裂。
具体地,参见图2,业务方服务器在接收到第一解密运算值R1和第二解密运算值R2之后,可通过下述公式(7)和(8)将第一解密运算值R1和第二解密运算值R2同随机数k进行(反)异或运算解出第一编码信息M1:
M1=k⊕R1 (7)
M*=k⊕R2 (8)
然后,业务方服务器通过第一编码信息M1得到第一分裂空间的信息(即,最优特征的一侧分裂空间信息)
需要说明的是,该实施例中所描述的通过第一编码信息M1得到第一分裂空间的信息,可为业务方服务器所需要的空间信息。而业务方此时仅仅只能获得所需要的最优分裂特征的一侧分裂空间信息,数据提供方并不知道业务方解出了哪一个特征的分裂空间,保护了业务方的隐私。与此同时,异或运算得到的另一个结果M*是不含有价值的信息,未造成数据提供方的其他的隐私信息泄露。这一步体现了不经意传输可以同时保护业务方和数据提供方的隐私。
进一步地,业务方服务器还可根据自身对齐后样本信息M和最优分裂特征的一侧分裂空间信息(即,第一分裂空间信息)进行差集运算以得到最优分裂特征的另一侧分裂空间信息,由此完成节点分裂(即,第一次节点分裂)。
需要说明的是,重复上述的步骤101至步骤104,直至模型收敛,以完成联邦学习模型的训练。
在本申请实施例中,本申请实施例提供的联邦学习模型的训练方法,能够保证业务方仅能获取最优特征的样本空间,而无法获取非最优样本空间的额外信息,防止数据提供方的信息泄露,保护了数据提供方的利益,同时保护了当前分裂节点的样本空间,更让数据提供方无法知道当前分裂节点为上一节点的左边还是右边,隐藏了分裂方向,进一步避免数据提供方知道模型结构。
综上,根据本申请实施例的联邦学习模型的训练方法,首先与数据提供方服务器进行样本对齐,并计算当前样本的梯度信息,以及发送至数据提供方服务器,然后接收数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息,并根据梯度返回信息生成目标分裂点编号,以及基于第一公钥或第二公钥,以及目标分裂点编号生成密文,并将密文发送至数据提供方服务器,最后接收数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据第一解密运算值和第二解密运算值进行节点分裂。由此,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
图3为根据本申请另一个实施例的联邦学习模型的训练方法的流程示意图。
本申请实施例的联邦学习模型的训练方法,还可由本申请实施例提供的联邦学习模型的训练装置行,该装置可配置于电子设备中,以实现与业务方服务器进行样本对齐,并接收业务方服务器发送的当前所训练的样本的梯度信息,以及根据梯度信息获取梯度返回信息,然后向业务方服务器发送第一公钥、第二公钥以及梯度返回信息,并接收业务方服务器发送的基于第一公钥或第二公钥、以及目标分裂点编号生成的密文,最后对密文进行解密,得到第一解密运算值和第二解密运算值,并发送给业务方服务器,从而保护业务方和数据提供方的隐私和利益。
作为一种可能的情况,本申请实施例的联邦学习模型的训练方法还可以在服务器端执行,服务器可以为云服务器,可以在云端执行该联邦学习模型的训练方法。
如图3所示,该联邦学习模型的训练方法,可包括:
步骤301,与业务方服务器进行样本对齐。
步骤302,接收业务方服务器发送的当前所训练的样本的梯度信息,并根据梯度信息获取梯度返回信息。
步骤303,向业务方服务器发送第一公钥、第二公钥以及梯度返回信息。
步骤304,接收业务方服务器发送的基于第一公钥或第二公钥、以及目标分裂点编号生成的密文,其中,目标分裂点编号根据梯度返回信息生成。
步骤305,对密文进行解密,得到第一解密运算值和第二解密运算值,并发送给业务方服务器。
在本申请的一个实施例中,根据梯度信息获取梯度返回信息,可包括:根据每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间;根据梯度信息,获取每个特征对应的指定侧的分裂空间的梯度求和信息,并对梯度求和信息进行编号;利用梯度求和信息和梯度求和信息的编号,生成梯度返回信息。
在本申请的一个实施例中,对梯度求和信息进行编号之后,还可包括:生成编号,以及编号对应的特征、分裂阈值以及编号对应的梯度求和信息之间的映射关系。
在本申请的一个实施例中,对密文进行解密,得到第一解密运算值和第二解密运算值,可包括:接收业务方服务器发送的特征混淆字典,其中,特征混淆字典基于目标分裂点编号和混淆分裂点编号生成,混淆分裂点编号为从梯度返回信息对应有相应的编号中选取的一个编号;根据特征混淆字典,以及第一私钥和第二私钥,得到第一解密运算值和第二解密运算值,其中,第一公钥与第一私钥对应,且第二公钥和第二私钥对应。
在本申请的一个实施例中,根据特征混淆字典,以及第一私钥和第二私钥,得到第一解密运算值和第二解密运算值,可包括:分别获取目标分裂点编号对应的第一分裂空间和混淆分裂点编号对应的第二分裂空间;获取第一分裂空间的第一编码信息,以及第二分裂空间的第二编码信息;分别利用第一私钥和第二私钥对密文进行解密,得到第一解密值和第二解密值;根据第一解密值和第一编码信息,得到第一解密运算值;根据第二解密值和第二编码信息,得到第二解密运算值。
需要说明的是,本申请实施例的联邦学习模型的训练方法中未披露的细节,请参照本申请图1实施例的联邦学习模型的训练方法中所披露的细节,具体这里不再赘述。
综上,根据本申请实施例的联邦学习模型的训练方法,首先与业务方服务器进行样本对齐,并接收业务方服务器发送的当前所训练的样本的梯度信息,以及根据梯度信息获取梯度返回信息,然后向业务方服务器发送第一公钥、第二公钥以及梯度返回信息,并接收业务方服务器发送的基于第一公钥或第二公钥、以及目标分裂点编号生成的密文,最后对密文进行解密,得到第一解密运算值和第二解密运算值,并发送给业务方服务器。由此,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
图4为根据本申请另一个实施例的联邦学习模型的训练装置的方框示意图。
本申请实施例的联邦学习模型的训练装置,可配置于电子设备中,以实现与数据提供方服务器进行样本对齐,并计算当前样本的梯度信息,以及发送至数据提供方服务器,然后接收数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息,并根据梯度返回信息生成目标分裂点编号,以及基于第一公钥或第二公钥,以及目标分裂点编号生成密文,并将密文发送至数据提供方服务器,再然后接收数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据第一解密运算值和第二解密运算值进行节点分裂,从而保护业务方和数据提供方的隐私和利益。
如图4所示,该联邦学习模型的训练装置400,可包括:对齐模块410、计算模块420、接收模块430、生成模块440和节点分裂模块450。
其中,对齐模块410用于与数据提供方服务器进行样本对齐,
计算模块420用于计算当前样本的梯度信息,并发送至数据提供方服务器。
接收模块430用于接收数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息。
生成模块440用于根据梯度返回信息生成目标分裂点编号,并基于第一公钥或第二公钥,以及目标分裂点编号生成密文,并将密文发送至数据提供方服务器。
节点分裂模块450用于接收数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据第一解密运算值和第二解密运算值进行节点分裂。
在本申请的一个实施例中,计算模块420具体可用于:生成当前样本的一阶梯度值和二阶梯度值;对一阶梯度值和二阶梯度值进行同态加密以生成梯度信息。
在本申请的一个实施例中,梯度返回信息为多个,且每个梯度返回信息对应有相应的编号,其中,如图4所示,生成模块440可包括第一生成单元441和选择单元442。
其中,第一生成单元441用于根据多个梯度返回信息分别生成对应的多个信息增益。
选择单元442用于从多个信息增益之中选择最大信息增益,并将最大信息增益对应的编号作为目标分裂点编号。
在本申请的一个实施例中,如图4所示,生成模块440还可包括第二生成单元443和第三生成单元444。
其中,第二生成单元443用于根据目标分裂点编号和混淆分裂点编号,生成特征混淆字典,其中,混淆分裂点编号为从梯度返回信息对应有相应的编号中选取的一个编号。
第三生成单元444用于生成随机数,并根据特征混淆字典、第一公钥或第二公钥对随机数进行加密以生成密文。
在本申请的一个实施例中,第三生成单元444具体可用于:根据特征混淆字典中目标分裂点编号和混淆分裂点编号,确定加密用的公钥,其中,加密用的公钥为第一公钥或第二公钥;利用加密用的公钥对随机数进行加密,生成密文。
在本申请的一个实施例中,节点分裂模块450具体可用于:根据第一解密运算值和第二解密运算值,以及随机数生成分裂空间信息;根据当前样本和分裂空间信息进行节点分裂。
需要说明的是,本申请实施例的联邦学习模型的训练装置中未披露的细节,请参照本申请图1实施例的联邦学习模型的训练方法中所披露的细节,具体这里不再赘述。
综上,本申请实施例的联邦学习模型的训练装置,首先通过对齐模块与数据提供方服务器进行样本对齐,并通过计算模块计算当前样本的梯度信息,并发送至数据提供方服务器,以及通过接收模块接收数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息,然后通过生成模块根据梯度返回信息生成目标分裂点编号,并基于第一公钥或第二公钥,以及目标分裂点编号生成密文,并将密文发送至数据提供方服务器,最后通过节点分裂模块接收数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据第一解密运算值和第二解密运算值进行节点分裂。由此,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
图5为根据本申请另一个实施例的联邦学习模型的训练装置的方框示意图。
本申请实施例的联邦学习模型的训练装置,可配置于电子设备中,以实现与业务方服务器进行样本对齐,并接收业务方服务器发送的当前所训练的样本的梯度信息,以及根据梯度信息获取梯度返回信息,然后向业务方服务器发送第一公钥、第二公钥以及梯度返回信息,并接收业务方服务器发送的基于第一公钥或第二公钥、以及目标分裂点编号生成的密文,最后对密文进行解密,得到第一解密运算值和第二解密运算值,并发送给业务方服务器,从而保护业务方和数据提供方的隐私和利益。
如图5所示,该联邦学习模型的训练装置,可包括:对齐模块510、获取模块520、发送模块530、接收模块540和解密模块550。
其中,对齐模块510用于与业务方服务器进行样本对齐。
获取模块520用于接收业务方服务器发送的当前所训练的样本的梯度信息,并根据梯度信息获取梯度返回信息。
发送模块530用于向业务方服务器发送第一公钥、第二公钥以及梯度返回信息。
接收模块540用于接收业务方服务器发送的基于第一公钥或第二公钥、以及目标分裂点编号生成的密文,其中,目标分裂点编号根据梯度返回信息生成。
解密模块550用于对密文进行解密,得到第一解密运算值和第二解密运算值,并发送给业务方服务器。
在本申请的一个实施例中,获取模块520具体可用于:根据每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间;根据梯度信息,获取每个特征对应的指定侧的分裂空间的梯度求和信息,并对梯度求和信息进行编号;利用梯度求和信息和梯度求和信息的编号,生成梯度返回信息。
在本申请的一个实施例中,获取模块520还可用于:对梯度求和信息进行编号之后,生成编号,以及编号对应的特征、分裂阈值以及编号对应的梯度求和信息之间的映射关系。
在本申请的一个实施例中,如图5所示,解密模块550可包括接收单元551和获取单元552。
其中,接收单元551用于接收业务方服务器发送的特征混淆字典,其中,特征混淆字典基于目标分裂点编号和混淆分裂点编号生成,混淆分裂点编号为从梯度返回信息对应有相应的编号中选取的一个编号。
获取单元552用于根据特征混淆字典,以及第一私钥和第二私钥,得到第一解密运算值和第二解密运算值,其中,第一公钥与第一私钥对应,且第二公钥和第二私钥对应。
在本申请的一个实施例中,获取单元552具体可用于:分别获取目标分裂点编号对应的第一分裂空间和混淆分裂点编号对应的第二分裂空间;获取第一分裂空间的第一编码信息,以及第二分裂空间的第二编码信息;分别利用第一私钥和第二私钥对密文进行解密,得到第一解密值和第二解密值;根据第一解密值和第一编码信息,得到第一解密运算值;根据第二解密值和第二编码信息,得到第二解密运算值。
需要说明的是,本申请实施例的联邦学习模型的训练装置中未披露的细节,请参照本申请图1实施例的联邦学习模型的训练方法中所披露的细节,具体这里不再赘述。
综上,本申请实施例的联邦学习模型的训练装置,首先通过对齐模块与业务方服务器进行样本对齐,并通过获取模块接收业务方服务器发送的当前所训练的样本的梯度信息,并根据梯度信息获取梯度返回信息,然后通过发送模块向业务方服务器发送第一公钥、第二公钥以及梯度返回信息,并通过接收模块接收业务方服务器发送的基于第一公钥或第二公钥、以及目标分裂点编号生成的密文,最后通过解密模块对密文进行解密,得到第一解密运算值和第二解密运算值,并发送给业务方服务器。由此,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
为了实现上述实施例,如图6所述,本发明还提出一种电子设备600,包括存储器610、处理器620及存储在存储器610上并可在处理器620上运行的计算机程序,处理器620执行程序,以实现本申请前述实施例提出的联邦学习模型的训练方法。
本申请实施例的电子设备,通过处理器执行存储在存储器上的计算机程序,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现本申请前述实施例提出的联邦学习模型的训练方法。
本申请实施例的计算机可读存储介质,通过存储计算机程序并被处理器执行,能够有效地防止模型提取攻击和模型逆向攻击,实现了保护业务方的模型和训练数据的安全,也能防止数据提供方的信息泄露,保护了数据提供方的数据安全,从而保护业务方和数据提供方的隐私和利益。
在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (24)
1.一种联邦学习模型的训练方法,其特征在于,所述方法包括:
与数据提供方服务器进行样本对齐;
计算当前样本的梯度信息,并发送至所述数据提供方服务器;
接收所述数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息;
根据所述梯度返回信息生成目标分裂点编号,并基于所述第一公钥或所述第二公钥,以及所述目标分裂点编号生成密文,并将所述密文发送至所述数据提供方服务器;以及
接收所述数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据所述第一解密运算值和所述第二解密运算值进行节点分裂。
2.如权利要求1所述的联邦学习模型的训练方法,其特征在于,所述计算当前样本的梯度信息,包括:
生成所述当前样本的一阶梯度值和二阶梯度值;
对所述一阶梯度值和所述二阶梯度值进行同态加密以生成所述梯度信息。
3.如权利要求1所述的联邦学习模型的训练方法,其特征在于,所述梯度返回信息为多个,且每个所述梯度返回信息对应有相应的编号,其中,所述根据所述梯度返回信息生成目标分裂点编号,包括:
根据所述多个梯度返回信息分别生成对应的多个信息增益;
从所述多个信息增益之中选择最大信息增益,并将所述最大信息增益对应的编号作为所述目标分裂点编号。
4.如权利要求1所述的联邦学习模型的训练方法,其特征在于,所述基于所述第一公钥或所述第二公钥,以及所述目标分裂点编号生成密文,包括:
根据所述目标分裂点编号和混淆分裂点编号,生成特征混淆字典,其中,所述混淆分裂点编号为从所述梯度返回信息对应有相应的编号中选取的一个编号;
生成随机数,并根据所述特征混淆字典、所述第一公钥或所述第二公钥对所述随机数进行加密以生成密文。
5.如权利要求4所述的联邦学习模型的训练方法,其特征在于,所述根据所述特征混淆字典、所述第一公钥或所述第二公钥对所述随机数进行加密以生成密文,包括:
根据所述特征混淆字典中所述目标分裂点编号和所述混淆分裂点编号,确定加密用的公钥,其中,所述加密用的公钥为所述第一公钥或所述第二公钥;
利用所述加密用的公钥对所述随机数进行加密,生成所述密文。
6.如权利要求4或5所述的联邦学习模型的训练方法,其特征在于,所述根据所述第一解密运算值和所述第二解密运算值进行节点分裂,包括:
根据所述第一解密运算值和所述第二解密运算值,以及所述随机数生成分裂空间信息;
根据所述当前样本和所述分裂空间信息进行节点分裂。
7.一种联邦学习模型的训练方法,其特征在于,所述方法包括:
与业务方服务器进行样本对齐;
接收所述业务方服务器发送的当前所训练的样本的梯度信息,并根据所述梯度信息获取梯度返回信息;
向所述业务方服务器发送第一公钥、第二公钥以及所述梯度返回信息;
接收所述业务方服务器发送的基于所述第一公钥或所述第二公钥、以及目标分裂点编号生成的密文,其中,所述目标分裂点编号根据所述梯度返回信息生成;以及
对所述密文进行解密,得到第一解密运算值和第二解密运算值,并发送给所述业务方服务器。
8.如权利要求7所述的联邦学习模型的训练方法,其特征在于,所述根据所述梯度信息获取梯度返回信息,包括:
根据每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间;
根据所述梯度信息,获取每个特征对应的所述指定侧的分裂空间的梯度求和信息,并对所述梯度求和信息进行编号;
利用所述梯度求和信息和所述梯度求和信息的编号,生成所述梯度返回信息。
9.如权利要求8所述的联邦学习模型的训练方法,其特征在于,所述对所述梯度求和信息进行编号之后,还包括:
生成所述编号,以及所述编号对应的特征、所述分裂阈值以及所述编号对应的所述梯度求和信息之间的映射关系。
10.如权利要求7所述的联邦学习模型的训练方法,其特征在于,所述对所述密文进行解密,得到第一解密运算值和第二解密运算值,包括:
接收所述业务方服务器发送的特征混淆字典,其中,所述特征混淆字典基于所述目标分裂点编号和混淆分裂点编号生成,所述混淆分裂点编号为从所述梯度返回信息对应有相应的编号中选取的一个编号;
根据所述特征混淆字典,以及第一私钥和第二私钥,得到所述第一解密运算值和所述第二解密运算值,其中,所述第一公钥与所述第一私钥对应,且所述第二公钥和所述第二私钥对应。
11.根据权利要求10所述的联邦学习模型的训练方法,其特征在于,所述根据所述特征混淆字典,以及第一私钥和第二私钥,得到所述第一解密运算值和所述第二解密运算值,包括:
分别获取所述目标分裂点编号对应的第一分裂空间和所述混淆分裂点编号对应的第二分裂空间;
获取所述第一分裂空间的第一编码信息,以及所述第二分裂空间的第二编码信息;
分别利用所述第一私钥和所述第二私钥对所述密文进行解密,得到第一解密值和第二解密值;
根据所述第一解密值和所述第一编码信息,得到所述第一解密运算值;
根据所述第二解密值和所述第二编码信息,得到所述第二解密运算值。
12.一种联邦学习模型的训练装置,其特征在于,所述装置包括:
对齐模块,用于与数据提供方服务器进行样本对齐;
计算模块,用于计算当前样本的梯度信息,并发送至所述数据提供方服务器;
接收模块,用于接收所述数据提供方服务器提供的第一公钥、第二公钥以及梯度返回信息;
生成模块,用于根据所述梯度返回信息生成目标分裂点编号,并基于所述第一公钥或所述第二公钥,以及所述目标分裂点编号生成密文,并将所述密文发送至所述数据提供方服务器;以及
节点分裂模块,用于接收所述数据提供方服务器发送的第一解密运算值和第二解密运算值,并根据所述第一解密运算值和所述第二解密运算值进行节点分裂。
13.如权利要求12所述的联邦学习模型的训练装置,其特征在于,所述计算模块,具体用于:
生成所述当前样本的一阶梯度值和二阶梯度值;
对所述一阶梯度值和所述二阶梯度值进行同态加密以生成所述梯度信息。
14.如权利要求12所述的联邦学习模型的训练装置,其特征在于,所述梯度返回信息为多个,且每个所述梯度返回信息对应有相应的编号,其中,所述生成模块,包括:
第一生成单元,用于根据所述多个梯度返回信息分别生成对应的多个信息增益;
选择单元,用于从所述多个信息增益之中选择最大信息增益,并将所述最大信息增益对应的编号作为所述目标分裂点编号。
15.如权利要求12所述的联邦学习模型的训练装置,其特征在于,所述生成模块,包括:
第二生成单元,用于根据所述目标分裂点编号和混淆分裂点编号,生成特征混淆字典,其中,所述混淆分裂点编号为从所述梯度返回信息对应有相应的编号中选取的一个编号;
第三生成单元,用于生成随机数,并根据所述特征混淆字典、所述第一公钥或所述第二公钥对所述随机数进行加密以生成密文。
16.如权利要求15所述的联邦学习模型的训练装置,其特征在于,所述第三生成单元,具体用于:
根据所述特征混淆字典中所述目标分裂点编号和所述混淆分裂点编号,确定加密用的公钥,其中,所述加密用的公钥为所述第一公钥或所述第二公钥;
利用所述加密用的公钥对所述随机数进行加密,生成所述密文。
17.如权利要求15或16所述的联邦学习模型的训练装置,其特征在于,所述节点分裂模块,具体用于:
根据所述第一解密运算值和所述第二解密运算值,以及所述随机数生成分裂空间信息;
根据所述当前样本和所述分裂空间信息进行节点分裂。
18.一种联邦学习模型的训练装置,其特征在于,所述装置包括:
对齐模块,用于与业务方服务器进行样本对齐;
获取模块,用于接收所述业务方服务器发送的当前所训练的样本的梯度信息,并根据所述梯度信息获取梯度返回信息;
发送模块,用于向所述业务方服务器发送第一公钥、第二公钥以及所述梯度返回信息;
接收模块,用于接收所述业务方服务器发送的基于所述第一公钥或所述第二公钥、以及目标分裂点编号生成的密文,其中,所述目标分裂点编号根据所述梯度返回信息生成;以及
解密模块,用于对所述密文进行解密,得到第一解密运算值和第二解密运算值,并发送给所述业务方服务器。
19.如权利要求18所述的联邦学习模型的训练装置,其特征在于,所述获取模块,具体用于:
根据每个特征对应的分裂阈值对样本空间进行分裂,以获取指定侧的分裂空间;
根据所述梯度信息,获取每个特征对应的所述指定侧的分裂空间的梯度求和信息,并对所述梯度求和信息进行编号;
利用所述梯度求和信息和所述梯度求和信息的编号,生成所述梯度返回信息。
20.如权利要求19所述的联邦学习模型的训练装置,其特征在于,所述获取模块,还用于:
对所述梯度求和信息进行编号之后,生成所述编号,以及所述编号对应的特征、所述分裂阈值以及所述编号对应的所述梯度求和信息之间的映射关系。
21.如权利要求18所述的联邦学习模型的训练装置,其特征在于,所述解密模块,包括:
接收单元,用于接收所述业务方服务器发送的特征混淆字典,其中,所述特征混淆字典基于所述目标分裂点编号和混淆分裂点编号生成,所述混淆分裂点编号为从所述梯度返回信息对应有相应的编号中选取的一个编号;
获取单元,用于根据所述特征混淆字典,以及第一私钥和第二私钥,得到所述第一解密运算值和所述第二解密运算值,其中,所述第一公钥与所述第一私钥对应,且所述第二公钥和所述第二私钥对应。
22.如权利要求21所述的联邦学习模型的训练装置,其特征在于,所述获取单元,具体用于:
分别获取所述目标分裂点编号对应的第一分裂空间和所述混淆分裂点编号对应的第二分裂空间;
获取所述第一分裂空间的第一编码信息,以及所述第二分裂空间的第二编码信息;
分别利用所述第一私钥和所述第二私钥对所述密文进行解密,得到第一解密值和第二解密值;
根据所述第一解密值和所述第一编码信息,得到所述第一解密运算值;
根据所述第二解密值和所述第二编码信息,得到所述第二解密运算值。
23.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-6或权利要求7-11中任一项所述的联邦学习模型的训练方法。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6或权利要求7-11中任一项所述的联邦学习模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011584095.8A CN113806759B (zh) | 2020-12-28 | 2020-12-28 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011584095.8A CN113806759B (zh) | 2020-12-28 | 2020-12-28 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113806759A true CN113806759A (zh) | 2021-12-17 |
CN113806759B CN113806759B (zh) | 2024-07-16 |
Family
ID=78943593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011584095.8A Active CN113806759B (zh) | 2020-12-28 | 2020-12-28 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806759B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723070A (zh) * | 2022-04-18 | 2022-07-08 | 京东科技控股股份有限公司 | 机器学习模型的生成方法、系统和用户数据的处理方法 |
CN117972793A (zh) * | 2024-03-28 | 2024-05-03 | 中电科网络安全科技股份有限公司 | 一种纵向联邦树模型训练方法、装置、设备及存储介质 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357537A (zh) * | 2015-12-11 | 2016-02-24 | 辽宁工程技术大学 | 一种基于混沌的多级树集合分裂编码图像加密方法 |
CN109492420A (zh) * | 2018-12-28 | 2019-03-19 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、终端、系统及介质 |
CN109657696A (zh) * | 2018-11-05 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 多任务监督学习模型训练、预测方法和装置 |
CN109886417A (zh) * | 2019-03-01 | 2019-06-14 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、装置、设备及介质 |
CN110572253A (zh) * | 2019-09-16 | 2019-12-13 | 济南大学 | 一种联邦学习训练数据隐私性增强方法及系统 |
CN110704860A (zh) * | 2019-11-18 | 2020-01-17 | 深圳前海微众银行股份有限公司 | 提升安全性的纵向联邦学习方法、设备、系统及存储介质 |
WO2020029585A1 (zh) * | 2018-08-10 | 2020-02-13 | 深圳前海微众银行股份有限公司 | 基于迁移学习的神经网络联邦建模方法、设备及存储介质 |
CN111340247A (zh) * | 2020-02-12 | 2020-06-26 | 深圳前海微众银行股份有限公司 | 纵向联邦学习系统优化方法、设备及可读存储介质 |
CN111368901A (zh) * | 2020-02-28 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的多方联合建模方法、设备和介质 |
CN111507481A (zh) * | 2020-04-17 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种联邦学习系统 |
CN111598186A (zh) * | 2020-06-05 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于纵向联邦学习的决策模型训练方法、预测方法及装置 |
CN111695697A (zh) * | 2020-06-12 | 2020-09-22 | 深圳前海微众银行股份有限公司 | 多方联合决策树构建方法、设备及可读存储介质 |
CN111783139A (zh) * | 2020-06-29 | 2020-10-16 | 京东数字科技控股有限公司 | 联邦学习分类树构建方法、模型构建方法,及终端设备 |
CN111856934A (zh) * | 2020-07-16 | 2020-10-30 | 南京大量数控科技有限公司 | 一种同构智能车间之间的联邦学习数据处理算法 |
US20200349443A1 (en) * | 2019-05-01 | 2020-11-05 | Massachusetts Institute Of Technology | Methods and apparatus for reducing leakage in distributed deep learning |
US20200358599A1 (en) * | 2019-05-07 | 2020-11-12 | International Business Machines Corporation | Private and federated learning |
CN112100295A (zh) * | 2020-10-12 | 2020-12-18 | 平安科技(深圳)有限公司 | 基于联邦学习的用户数据分类方法、装置、设备及介质 |
-
2020
- 2020-12-28 CN CN202011584095.8A patent/CN113806759B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357537A (zh) * | 2015-12-11 | 2016-02-24 | 辽宁工程技术大学 | 一种基于混沌的多级树集合分裂编码图像加密方法 |
WO2020029585A1 (zh) * | 2018-08-10 | 2020-02-13 | 深圳前海微众银行股份有限公司 | 基于迁移学习的神经网络联邦建模方法、设备及存储介质 |
CN109657696A (zh) * | 2018-11-05 | 2019-04-19 | 阿里巴巴集团控股有限公司 | 多任务监督学习模型训练、预测方法和装置 |
CN109492420A (zh) * | 2018-12-28 | 2019-03-19 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、终端、系统及介质 |
CN109886417A (zh) * | 2019-03-01 | 2019-06-14 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、装置、设备及介质 |
US20200349443A1 (en) * | 2019-05-01 | 2020-11-05 | Massachusetts Institute Of Technology | Methods and apparatus for reducing leakage in distributed deep learning |
US20200358599A1 (en) * | 2019-05-07 | 2020-11-12 | International Business Machines Corporation | Private and federated learning |
CN110572253A (zh) * | 2019-09-16 | 2019-12-13 | 济南大学 | 一种联邦学习训练数据隐私性增强方法及系统 |
CN110704860A (zh) * | 2019-11-18 | 2020-01-17 | 深圳前海微众银行股份有限公司 | 提升安全性的纵向联邦学习方法、设备、系统及存储介质 |
CN111340247A (zh) * | 2020-02-12 | 2020-06-26 | 深圳前海微众银行股份有限公司 | 纵向联邦学习系统优化方法、设备及可读存储介质 |
CN111368901A (zh) * | 2020-02-28 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的多方联合建模方法、设备和介质 |
CN111507481A (zh) * | 2020-04-17 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种联邦学习系统 |
CN111598186A (zh) * | 2020-06-05 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于纵向联邦学习的决策模型训练方法、预测方法及装置 |
CN111695697A (zh) * | 2020-06-12 | 2020-09-22 | 深圳前海微众银行股份有限公司 | 多方联合决策树构建方法、设备及可读存储介质 |
CN111783139A (zh) * | 2020-06-29 | 2020-10-16 | 京东数字科技控股有限公司 | 联邦学习分类树构建方法、模型构建方法,及终端设备 |
CN111856934A (zh) * | 2020-07-16 | 2020-10-30 | 南京大量数控科技有限公司 | 一种同构智能车间之间的联邦学习数据处理算法 |
CN112100295A (zh) * | 2020-10-12 | 2020-12-18 | 平安科技(深圳)有限公司 | 基于联邦学习的用户数据分类方法、装置、设备及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723070A (zh) * | 2022-04-18 | 2022-07-08 | 京东科技控股股份有限公司 | 机器学习模型的生成方法、系统和用户数据的处理方法 |
CN117972793A (zh) * | 2024-03-28 | 2024-05-03 | 中电科网络安全科技股份有限公司 | 一种纵向联邦树模型训练方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113806759B (zh) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107196763B (zh) | Sm2算法协同签名及解密方法、装置与系统 | |
CN113259329B (zh) | 一种数据不经意传输方法、装置、电子设备及存储介质 | |
CN111510281B (zh) | 一种同态加密方法及装置 | |
EP2829010B1 (en) | Updating key information | |
CN112906030B (zh) | 基于多方全同态加密的数据共享方法和系统 | |
US20090010436A1 (en) | Decipherable searchable encryption method, system for such an encryption | |
US7970141B2 (en) | Method and apparatus for tracing the source of decryption keys used by a decoder | |
CN108183791B (zh) | 应用于云环境下的智能终端数据安全处理方法及系统 | |
CN108933650B (zh) | 数据加解密的方法及装置 | |
CN110166258A (zh) | 基于隐私保护和属性认证的群组密钥协商方法 | |
Soleymani et al. | A novel public key image encryption based on elliptic curves over prime group field | |
Peng | Danger of using fully homomorphic encryption: A look at Microsoft SEAL | |
CN102521785B (zh) | 用于图像共享的基于EC-ElGamal算法的同态图像加密和解密方法 | |
JP6592851B2 (ja) | 匿名ブロードキャスト方法、鍵交換方法、匿名ブロードキャストシステム、鍵交換システム、通信装置、プログラム | |
CN113806759A (zh) | 联邦学习模型的训练方法、装置、电子设备和存储介质 | |
Khalil | Real-time encryption/decryption of audio signal | |
CN113824677B (zh) | 联邦学习模型的训练方法、装置、电子设备和存储介质 | |
CN113132104A (zh) | 一种主动安全的ecdsa数字签名两方生成方法 | |
CN113807534B (zh) | 联邦学习模型的模型参数训练方法、装置和电子设备 | |
CN111404671A (zh) | 移动化量子保密通信方法、网关、移动终端及服务器 | |
CN113807537A (zh) | 多源数据的数据处理方法、装置及电子设备、存储介质 | |
CN109962924B (zh) | 群聊构建方法、群消息发送方法、群消息接收方法及系统 | |
CN114095161A (zh) | 一种支持等式测试的身份基可穿刺加密方法 | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
KR101695361B1 (ko) | 페어링 연산 및 비밀키를 이용한 술어 암호화 방법 |
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 |