CN116402159A - 联邦学习方法、预测方法、装置、电子设备及存储介质 - Google Patents

联邦学习方法、预测方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116402159A
CN116402159A CN202310325370.1A CN202310325370A CN116402159A CN 116402159 A CN116402159 A CN 116402159A CN 202310325370 A CN202310325370 A CN 202310325370A CN 116402159 A CN116402159 A CN 116402159A
Authority
CN
China
Prior art keywords
data
federal learning
ciphertext
model
encrypting
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.)
Pending
Application number
CN202310325370.1A
Other languages
English (en)
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xufang Technology Co ltd
Original Assignee
Beijing Xufang Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xufang Technology Co ltd filed Critical Beijing Xufang Technology Co ltd
Priority to CN202310325370.1A priority Critical patent/CN116402159A/zh
Publication of CN116402159A publication Critical patent/CN116402159A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种联邦学习方法、预测方法、装置、电子设备及存储介质,该方法包括:生成加密密钥对;采用全同态加密算法,对联邦学习模型的初始模型参数进行加密,得到密文模型参数,以及对第一训练数据进行加密,得到第一密文数据;将密文模型参数、加密密钥对中的公有密钥和第一密文数据发送至联邦学习系统中的第二参与方;第二参与方用于采用公有密钥,对第二训练数据进行加密,得到第二密文数据;对第一密文数据和第二密文数据进行拼接,得到第四数据集合;利用第四数据集合和密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;将目标梯度发送至第一参与方;第一参与方对目标梯度进行解密,以更新联邦学习模型。

Description

联邦学习方法、预测方法、装置、电子设备及存储介质
技术领域
本发明涉及大数据处理领域,具体而言,涉及一种联邦学习方法、预测方法、装置、电子设备及存储介质。
背景技术
传统的联邦学习,是基于半同态加密算法Paillier算法的联邦学习,通过对传统联邦学习过程分析可知,不管是纵向联邦学习还是横向联邦学习,算法均需要第三方参与;之所以需要第三方参与是由于计算梯度时,其使用的半同态加密算法仅支持密文乘常数的计算,需要在可信第三方的辅助下,才能计算梯度,无法保证双方的隐私数据安全性的问题。
因此,相关技术中因缺乏可信第三方导致在联邦学习过程中双方隐私数据存在安全性的技术问题。
发明内容
鉴于上述问题,本发明提出了一种联邦学习方法、预测方法、装置、电子设备及存储介质,以至少解决相关技术中因缺乏可信第三方导致在联邦学习过程中双方隐私数据存在安全性的技术问题。
根据本发明的第一方面,提供了一种联邦学习方法,应用于联邦学习系统中的第一参与方,所述第一参与方存储有待更新的联邦学习模型及第一训练数据,所述方法包括:生成加密密钥对;采用全同态加密算法,对所述联邦学习模型的初始模型参数进行加密,得到密文模型参数,以及对所述第一训练数据进行加密,得到第一密文数据;将所述密文模型参数、所述加密密钥对中的公有密钥和所述第一密文数据发送至所述联邦学习系统中的第二参与方;其中,所述第二参与方存储有第二训练数据,所述第二参与方用于采用所述公有密钥,对所述第二训练数据进行加密,得到第二密文数据;对所述第一密文数据和所述第二密文数据进行拼接,得到第四数据集合;利用所述第四数据集合和所述密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;将所述目标梯度发送至所述第一参与方;接收所述目标梯度,并对所述目标梯度进行解密,以更新所述联邦学习模型。
可选地,如前述的方法,若所述联邦学习模型为横向联邦学习模型,所述对所述第一训练数据进行加密得到第一密文数据包括:按照随机种子生成的随机序列,从所述第一训练数据中抽取第一预设数量的样本,得到第一数据集合;对所述第一数据集合进行预处理,并采用全同态加密算法对预处理结果进行加密,得到所述第一密文数据。
可选地,如前述的方法,若所述联邦学习模型为纵向联邦学习模型,所述对所述第一训练数据进行加密得到第一密文数据包括:对所述第一训练数据和所述第二训练数据进行隐私集合求交,得到第二数据集合;确定所述第二数据集合中属于所述第二训练数据的第一子集合,并采用字符0替换所述第一子集合中的每个样本,得到第三数据集合;对所述第三数据集合进行预处理,并采用全同态加密算法对预处理结果进行加密,得到所述第一密文数据。
根据本发明的第二方面,提供了一种联邦学习方法,应用于联邦学习系统中的第二参与方,所述第二参与方存储有第二训练数据,所述方法包括:接收由所述联邦学习系统中的第一参与方发送的公有密钥、第一密文数据和密文模型参数,其中,所述公有密钥属于由所述第一参与方生成的加密密钥对,所述第一密文数据由所述第一参与方采用全同态加密算法对第一训练数据进行加密得到,所述密文模型参数是由所述第一参与方采用全同态加密算法对联邦学习模型的初始模型参数加密得到,所述第一参与方存储有待更新的所述联邦学习模型和所述第一训练数据;采用所述公有密钥,对所述第二训练数据进行加密,得到第二密文数据;对所述第一密文数据和所述第二密文数据进行拼接,得到第四数据集合;利用所述第四数据集合和所述密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;将所述目标梯度发送至所述第一参与方,以使所述第一参与方对所述目标梯度进行解密,以更新所述联邦学习模型。
可选地,如前述的方法,若所述联邦学习模型为横向联邦学习模型,所述采用所述公有密钥对所述第二训练数据进行加密得到第二密文数据包括:按照随机种子生成的随机序列从所述第二训练数据中抽取第二预设数量的样本,得到第五数据集合;对所述第五数据集合进行预处理,并利用所述公有密钥对预处理结果进行加密,得到所述第二密文数据。
可选地,如前述的方法,若所述联邦学习模型为纵向联邦学习模型,所述采用所述公有密钥对所述第二训练数据进行加密得到第二密文数据包括:对所述第一训练数据和所述第二训练数据进行隐私集合求交,得到第六数据集合;确定所述第六数据集合中属于所述第一训练数据的第二子集合,并采用字符0替换所述第二子集合中的每个样本,得到第七数据集合;对所述第七数据集合进行预处理,并采用所述公有密钥对预处理结果进行加密,得到所述第二密文数据。
根据本发明的第三方面,提供了一种预测方法,所述方法包括:获取用户样本对应的数据特征;将所述数据特征输入预测模型,其中,所述预测模型是由上述第一方面或第二方面中任一项所述的联邦学习方法训练得到;获取所述预测模型输出的数值,并根据所述数值确定所述用户样本对应的预测结果。
根据本发明的第四方面,提供了一种联邦学习装置,应用于联邦学习系统中的第一参与方,所述第一参与方存储有待更新的联邦学习模型及第一训练数据,所述装置包括:生成模块,用于生成加密密钥对;加密模块,用于采用全同态加密算法,对所述初始模型参数进行加密,得到密文模型参数,以及对所述第一训练数据进行加密,得到第一密文数据;发送模块,用于将所述密文模型参数、所述加密密钥对中的公有密钥和所述第一密文数据发送至所述联邦学习系统中的第二参与方;其中,所述第二参与方存储有第二训练数据,所述第二参与方用于采用所述公有密钥,对所述第二训练数据进行加密,得到第二密文数据;对所述第一密文数据和所述第二密文数据进行拼接,得到第四数据集合;利用所述第四数据集合和所述密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;将所述目标梯度发送至所述第一参与方;更新模块,用于接收所述目标梯度,并对所述目标梯度进行解密,以更新所述联邦学习模型。
可选地,如前述的装置,若所述联邦学习模型为横向联邦学习模型,所述加密模块包括:抽取单元,用于按照随机种子生成的随机序列,从所述第一训练数据中抽取第一预设数量的样本,得到第一数据集合;第一加密单元,用于对所述第一数据集合进行预处理,并采用全同态加密算法对预处理结果进行加密,得到所述第一密文数据。
可选地,如前述的装置,若所述联邦学习模型为纵向联邦学习模型,所述加密模块包括:计算单元,用于对所述第一训练数据和所述第二训练数据进行隐私集合求交,得到第二数据集合;确定单元,用于确定所述第二数据集合中属于所述第二训练数据的第一子集合,并采用字符0替换所述第一子集合中的每个样本,得到第三数据集合;第二加密单元,用于对所述第三数据集合进行预处理,并采用全同态加密算法对预处理结果进行加密,得到所述第一密文数据。
根据本发明的第五方面,提供了一种联邦学习装置,应用于联邦学习系统中的第二参与方,所述第二参与方存储有第二训练数据,所述装置包括:接收模块,用于接收由所述联邦学习系统中的第一参与方发送的公有密钥、第一密文数据和密文模型参数,其中,所述公有密钥属于由所述第一参与方生成的加密密钥对,所述第一密文数据由所述第一参与方采用全同态加密算法对第一训练数据进行加密得到,所述密文模型参数是由所述第一参与方采用全同态加密算法对联邦学习模型的初始模型参数加密得到,所述第一参与方存储有待更新的所述联邦学习模型和所述第一训练数据;加密模块,用于采用所述公有密钥,对所述第二训练数据进行加密,得到第二密文数据;拼接模块,用于对所述第一密文数据和所述第二密文数据进行拼接,得到第四数据集合;确定模块,用于利用所述第四数据集合和所述密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;发送模块,用于将所述目标梯度发送至所述第一参与方,以使所述第一参与方对所述目标梯度进行解密,以更新所述联邦学习模型。
可选地,如前述的装置,若所述联邦学习模型为横向联邦学习模型,所述加密模块包括:抽取单元,用于按照随机种子生成的随机序列从所述第二训练数据中抽取第二预设数量的样本,得到第五数据集合;第一加密单元,用于对所述第五数据集合进行预处理,并利用所述公有密钥对预处理结果进行加密,得到所述第二密文数据。
可选地,如前述的装置,若所述联邦学习模型为纵向联邦学习模型,所述采用所述公有密钥对所述第二训练数据进行加密得到第二密文数据包括:计算单元,用于对所述第一训练数据和所述第二训练数据进行隐私集合求交,得到第六数据集合;确定单元,用于确定所述第六数据集合中属于所述第一训练数据的第二子集合,并采用字符0替换所述第二子集合中的每个样本,得到第七数据集合;第二加密单元,用于对所述第七数据集合进行预处理,并采用所述公有密钥对预处理结果进行加密,得到所述第二密文数据。
根据本发明的第六方面,提供了一种预测装置,所述装置包括:获取模块,用于获取用户样本对应的数据特征;输入模块,用于将所述数据特征输入预测模型,其中,所述预测模型是由上述第一方面或第二方面中任一项所述的联邦学习方法训练得到;确定模块,用于获取所述预测模型输出的数值,并根据所述数值确定所述用户样本对应的预测结果。
根据本发明的第七方面,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
根据本发明的第八方面,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项装置实施例中的步骤。
本发明提供的技术方案,采用全同态加密算法对样本数据和模型参数进行加密,然后进行模型参数对应的梯度计算,以对联邦学习模型进行更新,从而完成联邦学习训练任务。通过使用全同态算法,能够利用密文乘法计算的特性,在无可信第三方的情况下完成联邦学习的训练目标,解决了相关技术中因缺乏可信第三方导致在联邦学习过程中双方隐私数据存在安全性的技术问题,显著改善了当前联邦学习因缺乏可信第三方而难以落地的现状,有效改善实用性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明实施例提供的一种联邦学习方法的流程图;
图2是根据本发明实施例提供的另一种联邦学习方法的流程图;
图3是根据本发明实施例提供的一种联邦学习装置的结构框图;
图4是根据本发明实施例提供的另一种联邦学习装置的结构框图;
图5是根据本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。
为了解决相关技术存在的技术问题,在本实施例中提供了一种模型的训练方法。本申请应用于联邦学习,联邦学习涉及机器学习、人工智能、密码学等多个学科领域,它使用一个中央服务器,可以让多个客户端在中央服务器的协调下共同训练一个模型,并且训练数据可以分散的保存在本地;不仅体现了集中收集和数据最小化的原则,还可以减轻传统的集中式机器学习所带来的系统性隐私风险和成本。联邦学习的核心特点是:数据不动模型动,数据可用不可见。即数据在不出本地的情况下,可以用于模型训练,且不知道其他参与方提供数据的具体内容,从而保证了数据的隐私不被泄漏。
下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
Paillier加密算法是联邦学习的一个核心模块,由Pascal Paillier在1999年提出,它是一种典型的半同态加密算法,支持密文加法,密文乘常数,不支持密文乘密文和复杂的指数、对数运算。而本发明实施例采用CKKS全同态加密算法,CKKS全同态加密算法由Cheon等人于2017年提出,它是一种第二代全同态加密算法,能够同时支持密文加法和密文乘法,这使得使用CKKS算法计算梯度时,可做任意函数的高精度近似。
具体地,本发明实施例提供的联邦学习方法,应用于联邦学习系统中的第一参与方,第一参与方存储有待更新的联邦学习模型及第一训练数据。图1是根据本发明实施例提供的一种联邦学习方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,生成加密密钥对;
首先生成一对密钥对,包括公有密钥和私钥密钥。
步骤S104,采用全同态加密算法,对联邦学习模型的初始模型参数进行加密,得到密文模型参数,以及对第一训练数据进行加密,得到第一密文数据;
在本发明实施例中,联邦学习系统中包括两个参与方,即第一参与方和第二参与方;其中,第一参与方中存储有待训练的联邦学习模型,第二参与方存储有用于训练联邦学习模型的训练数据,为了保护第一参与方联邦学习模型的初始模型参数的隐私,第一参与方采用全同态加密算法,利用私钥密钥对初始模型参数进行加密,得到上述第一密文数据。
本发明实施例基于全同态加密算法的功能性,联邦学习方案能够支持复杂损失函数的高精度逼近,可以应对更复杂的训练目标和任务;在纵向联邦学习或者横向联邦学习过程中,能够支持任意方发起的模型评估运算,并对模型及数据提供保护,适用于更广泛的应用场景,从而实现了基于全同态加密的横向和纵向联邦学习方案在训练流程上实现了统一,参与者在同一个框架下可根据数据分布情况进行横向/纵向联邦学习运算,不需要分别部署横向/纵向版本。
步骤S106,将密文模型参数、加密密钥对中的公有密钥和第一密文数据发送至联邦学习系统中的第二参与方;其中,第二参与方存储有第二训练数据,第二参与方用于采用公有密钥,对第二训练数据进行加密,得到第二密文数据;对第一密文数据和第二密文数据进行拼接,得到第四数据集合;利用第四数据集合和密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;将目标梯度发送至第一参与方。
在本实施例中,将经过加密后的密文模型参数、公有密钥及第一密文数据发送给第二参与方,经由第二参与方采用全同态加密算法完成梯度计算,无需第三方辅助,从而实现两个参与方之间即可完成模型训练目标。
步骤S108,接收目标梯度,并对目标梯度进行解密,以更新联邦学习模型。
获取第二参与方计算得到的目标梯度,并进行解密,获得联邦学习模型的模型参数,进而实现联邦学习模型的训练任务。
本发明提供的技术方案,采用全同态加密算法对样本数据和模型参数进行加密,然后进行模型参数对应的梯度计算,以对联邦学习模型进行更新,从而完成联邦学习训练任务。通过使用全同态算法,能够利用密文乘法计算的特性,在无可信第三方的情况下完成联邦学习的训练目标,解决了相关技术中因缺乏可信第三方导致在联邦学习过程中双方隐私数据存在安全性的技术问题,显著改善了当前联邦学习因缺乏可信第三方而难以落地的现状,有效改善实用性。
在本案的一个可能的实现方式中,若联邦学习模型为横向联邦学习模型,上述步骤S104中对第一训练数据进行加密得到第一密文数据包括以下步骤:
步骤S201,按照随机种子生成的随机序列,从第一训练数据中抽取第一预设数量的样本,得到第一数据集合;
步骤S202,对第一数据集合进行预处理,并采用全同态加密算法对预处理结果进行加密,得到第一密文数据。
横向联邦学习模型,适用于联邦学习各参与方的数据特征重叠较多的情况,即数据特征在参与方之间是对齐的,但是参与方拥有的数据样本是不同的。例如,位于两个不同城市的银行可能拥有绝大部分不相同的客户,但他们的业务非常相似,所以他们的特征空间也是相同的。
在上述实施例的一个可选的示例中,以银行为例,联邦学习模型为横向联邦学习模型,第一参与方与第二参与方,即银行A和银行B,银行A和银行B拥有不同的用户样本,每个用户样本具有相同的多个样本特征,例如借贷业务、保险业务、理财业务等,按照随机种子生成的随机序列从银行A的用户样本数据中抽取batch-size样本,比如抽取m个训练集样本数量,得到上述第一数据集合;然后对抽取的样本进行预处理,比如转置,能够减少乘法的计算次数,从而提高数据处理效率;接着对预处理结果做加密处理,从而得到上述第一密文数据。
在本案的另一个可能的实现方式中,若联邦学习模型为纵向联邦学习模型,上述步骤S104中对第一训练数据进行加密得到第一密文数据包括以下步骤:
步骤S301,对第一训练数据和第二训练数据进行隐私集合求交,得到第二数据集合;
步骤S302,确定第二数据集合中属于第二训练数据的第一子集合,并采用字符0替换第一子集合中的每个样本,得到第三数据集合;
步骤S303,对第三数据集合进行预处理,并采用全同态加密算法对预处理结果进行加密,得到第一密文数据。
纵向联邦学习,适用于联邦学习参与方的数据样本重叠较多的情况,即参与方之间的数据样本是对齐的,但是它们在数据特征上有所不同。比如,有一家银行和一家电子商务公司,他们拥有大量相同用户,却提供不同的服务;想要得到一个更好的机器学习模型需要在各自的不同数据特征空间上协作,即进行纵向联邦学习。
在上述实施例的一个示例中,第一参与方为银行,第二参与方为电子商务公司,各自参与方均有样本数据需要进行纵向联邦学习,因此在将模型参数的密文发送给电子商务公司之前,各方进行隐私集合交集计算,得到上述第二数据集合。其中,隐私集合交集计算(private set intersection,PSI)指的是双方持有各自的项目数据集合,在不泄露交集以外的任何信息的前提下,完成共同计算集合交集的任务。PSI协议作为安全多方计算的一种重要应用,已被广泛应用于隐私计算领域,具有重要的理论和实践意义。
进一步地,确定第二数据集合中属于电子商务公司的数据样本(即上述第一子集合),并采用字符0替换第一子集合中的每个元素,得到上述第三数据集合。在本实施例中,补零是因为全同态加密针对向量计算,要求双方向量的维数一致才可以计算,所以补零即补位。
进一步地,对第三数据集合进行预处理,比如转置,经过转置再进行加密计算,可以减少乘法的计算次数。
假设在一个可选的应用场景中,平台X和平台Y联合起来训练一个模型,预测一个用户是否对科技类产品感兴趣;其中,平台X有用户A、B、C三个人的购买历史数据,而平台Y有B、C、D三个人的知乎文章浏览数据。采用纵向联邦学习,在平台X和平台Y都不泄露各自的用户数据前提下,可以整合B、C两个人对于的平台X和平台Y数据特征,共同训练一个预测模型,由于使用到了两类数据进行训练,理论上来说得到的结果应该比平台X或者平台Y各自训练出的模型更准确。
由于模型训练需要同时使用平台X和平台Y的数据,发现用户A仅仅有平台X的数据,没有平台Y的数据,因此用户A无法作为训练样本使用。同样的,平台Y的用户D也无法参与训练。因此在纵向联邦学习之前,双方需要采用隐私集合求交计算出共有的样本,也就是B、C两人,后续的计算都围绕B、C两人进行;而隐私集合求交就是双方通过加密计算,得到B、C两人这个集合,同时不暴露各自的原始集合的方法。
基于上文各个实施例提供的联邦学习方法,基于同一发明构思,在本实施例中还提供了另一种联邦学习方法,图2是根据本发明实施例提供的另一种联邦学习方法的流程图,应用于联邦学习系统中的第二参与方,第二参与方存储有第二训练数据,该方法流程包括以下步骤:
步骤S401,接收由联邦学习系统中的第一参与方发送的公有密钥、第一密文数据和密文模型参数,其中,公有密钥属于由第一参与方生成的加密密钥对,第一密文数据由第一参与方采用全同态加密算法对第一训练数据进行加密得到,密文模型参数是由第一参与方采用全同态加密算法对联邦学习模型的初始模型参数加密得到,第一参与方存储有待更新的联邦学习模型和第一训练数据;
步骤S402,采用公有密钥,对第二训练数据进行加密,得到第二密文数据;
步骤S403,对第一密文数据和第二密文数据进行拼接,得到第四数据集合;
步骤S404,利用第四数据集合和密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;
步骤S405,将目标梯度发送至第一参与方,以使第一参与方对目标梯度进行解密,以更新联邦学习模型。
在本案的一个可选的实施例中,联邦学习系统中包括第一参与方和第二参与方,第一参与方存储有联邦学习模型的初始模型参数及第一训练数据,第二参与方存储有第二训练数据,其中,
第一参与方,首先生成一对加密密钥对,包括公有密钥和私有密钥;接着,采用全同态加密算法,对待更新的联邦学习模型的初始模型参数进行加密,得到密文模型参数,以及对第一训练数据进行加密,得到第一密文数据;然后将密文模型参数、该加密密钥对中的公有密钥和第一密文数据发送至联邦学习系统中的第二参与方;
第二参与方,通过利用自身存储的第二训练数据、第一密文数据和密文模型参数,可以采用损失梯度函数来进行梯度计算,得到目标梯度,再发送给第一参与方,经由第一参与方进行梯度解密,得到训练好的模型参数,以更新联邦学习模型。
通过上述实施步骤,采用全同态加密算法对样本数据和模型参数进行加密,然后进行模型参数对应的梯度计算,以对联邦学习模型进行更新,从而完成联邦学习训练任务。通过使用全同态算法,能够利用密文乘法计算的特性,在无可信第三方的情况下完成联邦学习的训练目标,解决了相关技术中因缺乏可信第三方导致在联邦学习过程中双方隐私数据存在安全性的技术问题,显著改善了当前联邦学习因缺乏可信第三方而难以落地的现状,有效改善实用性。
在本案的一个可选的实施例中,若联邦学习模型为横向联邦学习模型,上述步骤S402包括以下步骤:
步骤S501,按照随机种子生成的随机序列从第二训练数据中抽取第二预设数量的样本,得到第五数据集合;
本实施例中,第一预设数量和第二预设数量相同,为了保证计算维度一致,第二参与方同样需要从第二训练数据中抽取相同数量的样本。
步骤S502,对第五数据集合进行预处理,并利用公有密钥对预处理结果进行加密,得到第二密文数据。
对抽取到的样本做预处理,并对预处理结果,采用公钥进行加密,得到上述第二密文数据。
在本案的另一个可选的实施例中,若联邦学习模型为纵向联邦学习模型,上述步骤S402包括以下步骤:
步骤S601,对第一训练数据和第二训练数据进行隐私集合求交,得到第六数据集合;
步骤S602,确定第六数据集合中属于第一训练数据的第二子集合,并采用字符0替换第二子集合中的每个样本,得到第七数据集合;
步骤S603,对第七数据集合进行预处理,并采用公有密钥对预处理结果进行加密,得到第二密文数据。
针对纵向联邦学习,在第二参与方同样需要进行隐私集合求交,得到上述第六数据集合,然后对第六数据集合中属于第一训练数据的第二子集合,并对第二子集合中的每个元素执行补零操作,从而保证计算维度一致性;进一步地,将补零得到的第七数据集合进行预处理,比如转置,并采用公钥密钥对转置后的结果进行加密,从而得到上述第二密文数据。
基于上文各个实施例提供的联邦学习方法,基于同一发明构思,在本实施例中还提供了一种预测方法,该方法用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。该流程包括如下步骤:
步骤S701,获取用户样本对应的数据特征;
步骤S702,将数据特征输入预测模型,其中,预测模型是由上述的联邦学习方法训练得到;
步骤S703,获取预测模型输出的数值,并根据数值确定用户样本对应的预测结果。
假设公司A和公司B想要共同联合训练一个机器学习模型,A公司和B公司都有自己的数据;此外,A公司还有预测模型所需数据的标签,B公司含有待训练的联邦学习模型,采用上述联邦学习方法对经过初始化后的联邦学习模型的初始参数进行训练,得到更新后的联邦学习模型,并利用更新后的联邦学习模型进行A公司的标签预测,得到的预测结果相对A公司或B公司各自训练出来的模型,更加准确。
下面结合一具体实施例对本发明实施例做进一步地说明:
假设公司A和公司B想要共同联合训练一个机器学习模型,公司A和公司B的业务系统都有自己的数据,出于数据隐私和安全的原因,A公司和B公司不能直接交换数据;此外,A公司还有预测模型所需数据的标签,将B作为服务器进行模型训练,为了用梯度下降的方法来训练一个逻辑回归模型,需要安全的计算它的损失和梯度。其中,A公司对应的数据集
Figure BDA0004153070590000111
模型参数为θ,学习速率η,正则化参数λ,对应于通过PSI求得的xi对应的特征空间。损失函数如下:
Figure BDA0004153070590000112
通过PSI求得
Figure BDA0004153070590000113
与/>
Figure BDA0004153070590000114
的交集,对于A,将只属于B中的特征值补0,对于B,将只属于A的特征值补0,得到的结果拼成xi。例如,XB=(0,0,0,x52,…,x101),将其加密后再与A方对应的部分密文求和就能够得到完整的样本[x]=[xa]+[xb]。
将xi中约80%的数据用于训练,约20%的数据进行测试,得到全同态梯度下降公式如下:
Figure BDA0004153070590000115
具体地,在B侧,生成一对密钥Pkn及Skn;初始化模型参数θ(即上述初始模型参数),并对初始化模型参数进行加密,得到||θ||(即上述密文模型参数),按照随机种子生成的随机序列从B数据集(即上述第一训练数据)抽取batch-size样本,得到XB,进行拼0、转置等预处理,并进行加密得到||XB||(即上述第一密文数据),然后将公钥Pkn、||XB||和||θ||发送给A;
在A侧,按照随机种子生成的随机序列从A数据集(即上述第二训练数据)抽取同样数据量的batch-size样本XA,对XA进行补0、转置等预处理后,进行加密,得到上述第二密文数据,然后利用上述公式(1)和(2)计算全同态梯度,得到目标梯度,并将目标梯度发送至B;
最后,在B则解密
Figure BDA0004153070590000116
更新模型参数θ。
通过上述步骤,当使用全同态算法时,利用全同态算法可实现密文乘法计算的特性,可以在无可信第三方的情况下完成纵向联邦学习训练目标,这一特点可以显著改善当前纵向联邦学习因缺乏可信第三方而难以落地的现状,有效改善实用性;此外,还可以依此统一设计基于全同态加密的横向/纵向联邦学习框架,使横向/纵向联邦学习可以在同一个框架下调用,复用程度高,不需要分别部署不同的版本。
基于上文各个实施例提供的联邦学习方法,基于同一发明构思,在本实施例中还提供了一种联邦学习装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例提供的一种联邦学习装置的结构框图,如图3所示,该装置应用于联邦学习系统中的第一参与方,第一参与方存储有待更新的联邦学习模型及第一训练数据,该装置包括:
生成模块31,用于生成加密密钥对;
加密模块32,连接至上述生成模块31,用于采用全同态加密算法,对初始模型参数进行加密,得到密文模型参数,以及对第一训练数据进行加密,得到第一密文数据;
发送模块33,连接至上述加密模块32,用于将密文模型参数、加密密钥对中的公有密钥和第一密文数据发送至联邦学习系统中的第二参与方;其中,第二参与方存储有第二训练数据,第二参与方用于采用公有密钥,对第二训练数据进行加密,得到第二密文数据;对第一密文数据和第二密文数据进行拼接,得到第四数据集合;利用第四数据集合和密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;将目标梯度发送至第一参与方;
更新模块34,连接至上述发送模块33,用于接收目标梯度,并对目标梯度进行解密,以更新联邦学习模型。
可选地,若联邦学习模型为横向联邦学习模型,加密模块32包括:抽取单元,用于按照随机种子生成的随机序列,从第一训练数据中抽取第一预设数量的样本,得到第一数据集合;第一加密单元,用于对第一数据集合进行预处理,并采用全同态加密算法对预处理结果进行加密,得到第一密文数据。
可选地,若联邦学习模型为纵向联邦学习模型,加密模块32包括:计算单元,用于对第一训练数据和第二训练数据进行隐私集合求交,得到第二数据集合;确定单元,用于确定第二数据集合中属于第二训练数据的第一子集合,并采用字符0替换第一子集合中的每个样本,得到第三数据集合;第二加密单元,用于对第三数据集合进行预处理,并采用全同态加密算法对预处理结果进行加密,得到第一密文数据。
图4是根据本发明实施例提供的另一种联邦学习装置的结构框图,如图4所示,该装置应用于联邦学习系统中的第二参与方,第二参与方存储有第二训练数据,该装置包括:
接收模块41,用于接收由联邦学习系统中的第一参与方发送的公有密钥、第一密文数据和密文模型参数,其中,公有密钥属于由第一参与方生成的加密密钥对,第一密文数据由第一参与方采用全同态加密算法对第一训练数据进行加密得到,密文模型参数是由第一参与方采用全同态加密算法对联邦学习模型的初始模型参数加密得到,第一参与方存储有待更新的联邦学习模型和第一训练数据;
加密模块42,连接至上述接收模块41,用于采用公有密钥,对第二训练数据进行加密,得到第二密文数据;
拼接模块43,连接至上述加密模块42,用于对第一密文数据和第二密文数据进行拼接,得到第四数据集合;
确定模块44,连接至上述拼接模块43,用于利用第四数据集合和密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;
发送模块45,连接至上述确定模块44,用于将目标梯度发送至第一参与方,以使第一参与方对目标梯度进行解密,以更新联邦学习模型。
可选地,若联邦学习模型为横向联邦学习模型,加密模块42包括:抽取单元,用于按照随机种子生成的随机序列从第二训练数据中抽取第二预设数量的样本,得到第五数据集合;第一加密单元,用于对第五数据集合进行预处理,并利用公有密钥对预处理结果进行加密,得到第二密文数据。
可选地,若联邦学习模型为纵向联邦学习模型,加密模块42包括:计算单元,用于对第一训练数据和第二训练数据进行隐私集合求交,得到第六数据集合;确定单元,用于确定第六数据集合中属于第一训练数据的第二子集合,并采用字符0替换第二子集合中的每个样本,得到第七数据集合;第二加密单元,用于对第七数据集合进行预处理,并采用公有密钥对预处理结果进行加密,得到第二密文数据。
本发明实施例提供的一种预测装置,该装置包括:
获取模块,用于获取用户样本对应的数据特征;
输入模块,用于将数据特征输入预测模型,其中,预测模型是由上述任一项的联邦学习方法训练得到;
确定模块,用于获取预测模型输出的数值,并根据数值确定用户样本对应的预测结果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
如图5所示,本申请实施例提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,
存储器113,用于存放计算机程序;
在本申请一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的联邦学习方法或预测方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的联邦学习方法或预测方法的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (12)

1.一种联邦学习方法,其特征在于,应用于联邦学习系统中的第一参与方,所述第一参与方存储有待更新的联邦学习模型及第一训练数据,所述方法包括:
生成加密密钥对;
采用全同态加密算法,对所述联邦学习模型的初始模型参数进行加密,得到密文模型参数,以及对所述第一训练数据进行加密,得到第一密文数据;
将所述密文模型参数、所述加密密钥对中的公有密钥和所述第一密文数据发送至所述联邦学习系统中的第二参与方;其中,所述第二参与方存储有第二训练数据,所述第二参与方用于采用所述公有密钥,对所述第二训练数据进行加密,得到第二密文数据;对所述第一密文数据和所述第二密文数据进行拼接,得到第四数据集合;利用所述第四数据集合和所述密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;将所述目标梯度发送至所述第一参与方;
接收所述目标梯度,并对所述目标梯度进行解密,以更新所述联邦学习模型。
2.根据权利要求1所述的方法,其特征在于,若所述联邦学习模型为横向联邦学习模型,所述对所述第一训练数据进行加密得到第一密文数据包括:
按照随机种子生成的随机序列,从所述第一训练数据中抽取第一预设数量的样本,得到第一数据集合;
对所述第一数据集合进行预处理,并采用全同态加密算法对预处理结果进行加密,得到所述第一密文数据。
3.根据权利要求1所述的方法,其特征在于,若所述联邦学习模型为纵向联邦学习模型,所述对所述第一训练数据进行加密得到第一密文数据包括:
对所述第一训练数据和所述第二训练数据进行隐私集合求交,得到第二数据集合;
确定所述第二数据集合中属于所述第二训练数据的第一子集合,并采用字符0替换所述第一子集合中的每个样本,得到第三数据集合;
对所述第三数据集合进行预处理,并采用全同态加密算法对预处理结果进行加密,得到所述第一密文数据。
4.一种联邦学习方法,其特征在于,应用于联邦学习系统中的第二参与方,所述第二参与方存储有第二训练数据,所述方法包括:
接收由所述联邦学习系统中的第一参与方发送的公有密钥、第一密文数据和密文模型参数,其中,所述公有密钥属于由所述第一参与方生成的加密密钥对,所述第一密文数据由所述第一参与方采用全同态加密算法对第一训练数据进行加密得到,所述密文模型参数是由所述第一参与方采用全同态加密算法对联邦学习模型的初始模型参数加密得到,所述第一参与方存储有待更新的所述联邦学习模型和所述第一训练数据;
采用所述公有密钥,对所述第二训练数据进行加密,得到第二密文数据;
对所述第一密文数据和所述第二密文数据进行拼接,得到第四数据集合;
利用所述第四数据集合和所述密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;
将所述目标梯度发送至所述第一参与方,以使所述第一参与方对所述目标梯度进行解密,以更新所述联邦学习模型。
5.根据权利要求4所述的方法,其特征在于,若所述联邦学习模型为横向联邦学习模型,所述采用所述公有密钥对所述第二训练数据进行加密得到第二密文数据包括:
按照随机种子生成的随机序列从所述第二训练数据中抽取第二预设数量的样本,得到第五数据集合;
对所述第五数据集合进行预处理,并利用所述公有密钥对预处理结果进行加密,得到所述第二密文数据。
6.根据权利要求4所述的方法,其特征在于,若所述联邦学习模型为纵向联邦学习模型,所述采用所述公有密钥对所述第二训练数据进行加密得到第二密文数据包括:
对所述第一训练数据和所述第二训练数据进行隐私集合求交,得到第六数据集合;
确定所述第六数据集合中属于所述第一训练数据的第二子集合,并采用字符0替换所述第二子集合中的每个样本,得到第七数据集合;
对所述第七数据集合进行预处理,并采用所述公有密钥对预处理结果进行加密,得到所述第二密文数据。
7.一种预测方法,其特征在于,所述方法包括:
获取用户样本对应的数据特征;
将所述数据特征输入预测模型,其中,所述预测模型是由权利要求1-6中任一项所述的联邦学习方法训练得到;
获取所述预测模型输出的数值,并根据所述数值确定所述用户样本对应的预测结果。
8.一种联邦学习装置,其特征在于,应用于联邦学习系统中的第一参与方,所述第一参与方存储有待更新的联邦学习模型及第一训练数据,所述装置包括:
生成模块,用于生成加密密钥对;
加密模块,用于采用全同态加密算法,对所述联邦学习模型的初始模型参数进行加密,得到密文模型参数,以及对所述第一训练数据进行加密,得到第一密文数据;
发送模块,用于将所述密文模型参数、所述加密密钥对中的公有密钥和所述第一密文数据发送至所述联邦学习系统中的第二参与方;其中,所述第二参与方存储有第二训练数据,所述第二参与方用于采用所述公有密钥,对所述第二训练数据进行加密,得到第二密文数据;对所述第一密文数据和所述第二密文数据进行拼接,得到第四数据集合;利用所述第四数据集合和所述密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;将所述目标梯度发送至所述第一参与方;
更新模块,用于接收所述目标梯度,并对所述目标梯度进行解密,以更新所述联邦学习模型。
9.一种联邦学习装置,其特征在于,应用于联邦学习系统中的第二参与方,所述第二参与方存储有第二训练数据,所述装置包括:
接收模块,用于接收由所述联邦学习系统中的第一参与方发送的公有密钥、第一密文数据和密文模型参数,其中,所述公有密钥属于由所述第一参与方生成的加密密钥对,所述第一密文数据由所述第一参与方采用全同态加密算法对第一训练数据进行加密得到,所述密文模型参数是由所述第一参与方采用全同态加密算法对联邦学习模型的初始模型参数加密得到,所述第一参与方存储有待更新的所述联邦学习模型和所述第一训练数据;
加密模块,用于采用所述公有密钥,对所述第二训练数据进行加密,得到第二密文数据;
拼接模块,用于对所述第一密文数据和所述第二密文数据进行拼接,得到第四数据集合;
确定模块,用于利用所述第四数据集合、所述密文模型参数,采用损失函数梯度下降的方法,确定目标梯度;
发送模块,用于将所述目标梯度发送至所述第一参与方,以使所述第一参与方对所述目标梯度进行解密,以更新所述联邦学习模型。
10.一种预测装置,其特征在于,所述装置包括:
获取模块,用于获取用户样本对应的数据特征;
输入模块,用于将所述数据特征输入预测模型,其中,所述预测模型是由权利要求1-6中任一项所述的联邦学习方法训练得到;
确定模块,用于获取所述预测模型输出的数值,并根据所述数值确定所述用户样本对应的预测结果。
11.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
12.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202310325370.1A 2023-03-29 2023-03-29 联邦学习方法、预测方法、装置、电子设备及存储介质 Pending CN116402159A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310325370.1A CN116402159A (zh) 2023-03-29 2023-03-29 联邦学习方法、预测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310325370.1A CN116402159A (zh) 2023-03-29 2023-03-29 联邦学习方法、预测方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116402159A true CN116402159A (zh) 2023-07-07

Family

ID=87008496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310325370.1A Pending CN116402159A (zh) 2023-03-29 2023-03-29 联邦学习方法、预测方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116402159A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116796860A (zh) * 2023-08-24 2023-09-22 腾讯科技(深圳)有限公司 联邦学习方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116796860A (zh) * 2023-08-24 2023-09-22 腾讯科技(深圳)有限公司 联邦学习方法、装置、电子设备及存储介质
CN116796860B (zh) * 2023-08-24 2023-12-12 腾讯科技(深圳)有限公司 联邦学习方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN111723404B (zh) 联合训练业务模型的方法及装置
CN106803784B (zh) 安全多媒体云存储中基于格的多用户模糊可搜索加密方法
CN112822005B (zh) 基于同态加密的安全迁移学习系统
US10635824B1 (en) Methods and apparatus for private set membership using aggregation for reduced communications
Liu et al. Intelligent and secure content-based image retrieval for mobile users
CN105103487A (zh) 用于基于矩阵分解的到评级贡献用户的隐私保护推荐的方法和系统
WO2014137394A1 (en) Privacy-preserving ridge regression using partially homomorphic encryption and masks
Liu et al. Revfrf: Enabling cross-domain random forest training with revocable federated learning
Erkin et al. Privacy-preserving distributed clustering
CN111861099A (zh) 联邦学习模型的模型评估方法及装置
Nassar et al. Securing aggregate queries for DNA databases
CN116402159A (zh) 联邦学习方法、预测方法、装置、电子设备及存储介质
CN115630713A (zh) 样本标识符不相同下的纵向联邦学习方法、设备和介质
Vu et al. An efficient and practical approach for privacy-preserving Naive Bayes classification
Bay et al. Multi-party private set intersection protocols for practical applications
CN111859440B (zh) 基于混合协议的分布式隐私保护逻辑回归模型的样本分类方法
CN117675270A (zh) 面向纵向联邦学习的多模态数据加密传输方法及系统
CN117521102A (zh) 一种基于联邦学习的模型训练方法及装置
CN116383865B (zh) 联邦学习预测阶段隐私保护方法及系统
CN117034338A (zh) 基于隐私保护的分布式文旅数据计算方法
Deng et al. Non-interactive and privacy-preserving neural network learning using functional encryption
Jin et al. Efficient blind face recognition in the cloud
Zhu et al. Fast secure scalar product protocol with (almost) optimal efficiency
CN113536353A (zh) 一种隐私数据处理方法
KR100441416B1 (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