CN116167088A - 一种两方联邦学习中进行隐私保护的方法、系统及终端 - Google Patents
一种两方联邦学习中进行隐私保护的方法、系统及终端 Download PDFInfo
- Publication number
- CN116167088A CN116167088A CN202310276614.1A CN202310276614A CN116167088A CN 116167088 A CN116167088 A CN 116167088A CN 202310276614 A CN202310276614 A CN 202310276614A CN 116167088 A CN116167088 A CN 116167088A
- Authority
- CN
- China
- Prior art keywords
- data
- party
- local
- participant
- parameters
- 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
Links
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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种两方联邦学习中进行隐私保护的方法、系统及终端,该方法首先定义参与隐私保护的两方,第一参与方建立全局参数模型,确定其损失函数,发送至第二参与方;两方分别在本地对全局参数模型进行训练,获取本地梯度数据或本地模型参数、本地损失函数;利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值;并更新全局参数模型中的参数;并迭代,直到获取最终参数;最后输出采取最终参数的全局参数模型,用于对隐私保护场景中的设定问题进行预测与分析。通过本申请,能够解决现有技术中采用服务端和客户端的方式不适用于两方联邦学习的问题,且有利于提高隐私数据的保密性。
Description
技术领域
本申请涉及隐私数据保护技术领域,特别是涉及一种两方联邦学习中进行隐私保护的方法、系统及终端。
背景技术
随着智能终端设备的快速普及,大量个人信息数据被各种网络平台所采集,因此,对于个人隐私数据的保密越来越受到关注,如何进行隐私保护,是个重要的技术问题。
目前对个人信息进行隐私保护的方法,通常是采用服务端和客户端的方式,基于非交互零知识证明的同态加密系统对联邦学习的保密性进行增强。具体地,在本地客户端对模型参数进行加密处理,然后发送到服务端,由服务端对加密后的模型参数进行聚合,接着再对聚合后的数据解密,最后再计算得到新的全局模型。比如:所有客户端持有公钥和私钥,服务端只持有公钥,每次随机选择一部分客户端参与训练,本地客户端将加密后的数据发送给服务端后,服务端对加密后的模型参数进行聚合,聚合后的全局私密参数直接发送到客户端,由客户端对加密的全局私密参数进行解密。
然而,目前对个人信息进行隐私保护的方法,主要是采用服务端和客户端的方式,这种应用场景下通常包括多个用户参与,且存在服务器。实际中还有很多只有两个参与者,且两者直接进行通讯,不经过服务器的情景,现有技术中的方法就不适用于这种两个参与者的情况,也就是两方联邦学习的情景。因此,亟需提供一种两方联邦学习中进行隐私保护的方法。
发明内容
本申请提供了一种两方联邦学习中进行隐私保护的方法、系统及终端,以解决现有技术中的采用服务端和客户端的方式不适用于两方联邦学习的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种两方联邦学习中进行隐私保护的方法,所述方法包括:
S1:定义参与隐私保护的两方分别为:第一参与方和第二参与方,隐私数据包括:第一参与方数据个数、第二参与方数据个数以及联邦学习参数,所述联邦学习参数为本地梯度数据或本地模型参数;
S2:所述第一参与方建立全局参数模型,确定所述全局参数模型的损失函数,并将所述全局参数模型和损失函数发送至第二参与方;
S3:第一参与方和第二参与方分别在本地对所述全局参数模型进行训练,获取本地梯度数据或本地模型参数,并确定本地损失函数;
S4:利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值;
S5:根据计算得出的本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值,更新全局参数模型中的参数;
根据更新后的参数,重复执行以上步骤S3-S5,直到达到设定的迭代停止条件为止,并获取全局参数模型中的最终参数;
S6:输出采取所述最终参数的全局参数模型,用于对隐私保护场景中的设定问题进行预测与分析。
可选地,所述设定的迭代停止条件为:迭代次数达到预设迭代次数,或者,全局损失函数收敛。
可选地,所述利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值,包括:
定义第一参与方有N1个数据,第二参与方有N2个数据,每个数据均有多个分量,当计算本地梯度数据的加权平均值时,多个分量为本地梯度数据和本地损失函数,当计算本地模型参数的加权平均值时,多个分量为本地模型参数和本地损失函数;
通过乘以相同的倍数,第一参与方和第二参与方分别将各自的相关数据转化为整数;
由所述第一参与方生成概率公钥加密算法密钥,并发送对应公钥至第二参与方;
所述第一参与方将其数据个数以及转化为整数的数据加密后发送至第二参与方;
第二参与方将其数据个数以及转化为整数的数据加密,并在密文上对第一参与方和第二参与方的对应数据个数的乘积、对应转化为整数数据的乘积进行随机处理,并将随机处理后的数据发送至第一参与方;
所述第一参与方对随机处理后的数据进行解密和近似求商计算后,发送至第二参与方;
根据求商结果以及随机处理后数据的对应关系,第二参与方计算得出数据所有分量的近似平均值,并将所述近似平均值发送至第一参与方。
可选地,所述第二参与方将其数据个数以及转化为整数的数据加密,并在密文上对第一参与方和第二参与方的对应数据个数的乘积、对应转化为整数数据的乘积进行随机处理,并将随机处理后的数据发送至第一参与方,包括:
所述第二参与方将其数据个数以及转化为整数的数据加密,获取密文;
在所述密文上分别计算第一参与方数据个数和第二参与方数据个数乘积的随机数次幂,以及,第一参与方转化为整数的数据与第二参与方转化为整数的数据乘积的随机数次幂,获取随机处理后的数据,其中,任一所述随机数包含有多个素因子;
将所述随机处理后的数据发送至第一参与方。
可选地,在所述密文上分别计算第一参与方数据个数和第二参与方数据个数乘积的随机数次幂,以及,第一参与方转化为整数的数据与第二参与方转化为整数的数据乘积的随机数次幂,获取随机处理后的数据之后,所述方法还包括:
对所述随机数的顺序进行混淆。
可选地,对所述随机数的大小进行限制,使所述第一参数对随机处理后的数据进行解密所获取的解密后不同的随机处理后数据的大小近似相等。
可选地,所述第一参与方对随机处理后的数据进行解密和近似求商计算后,发送至第二参与方,包括:
所述第一参与方对随机处理后的数据进行解密;
根据概率公钥加密算法的同态性,计算得出第一参与方和第二参与方的对应数据个数之和、对应转化为整数数据之和分别与不同的随机数相乘后的乘积混淆后的结果;
根据设定的误差范围,对乘积混淆后的结果进行近似求商;
将近似求商的结果发送至第二参与方。
可选地,所述根据求商结果以及随机处理后数据的对应关系,第二参与方计算得出数据所有分量的近似平均值,并将所述近似平均值发送至第一参与方,包括:
根据第一参与方与第二参与方将相关数据转化为整数时所乘的倍数、计算两方随机处理后数据的任一随机数、以及加密后数据和混淆后的结果,第二参与方利用分量计算公式,计算得出数据所有分量的近似平均值;
将所述近似平均值发送至第一参与方。
一种两方联邦学习中进行隐私保护的系统,所述系统包括:
定义模块,用于定义参与隐私保护的两方分别为:第一参与方和第二参与方,隐私数据包括:第一参与方数据个数、第二参与方数据个数以及联邦学习参数,所述联邦学习参数为本地梯度数据或本地模型参数;
全局参数模型建立模块,设置于所述第一参与方,用于建立全局参数模型,确定所述全局参数模型的损失函数,并将所述全局参数模型和损失函数发送至第二参与方;
模型训练模块,设置于第一参与方和第二参与方,用于第一参与方和第二参与方分别在本地对所述全局参数模型进行训练,获取本地梯度数据或本地模型参数,并确定本地损失函数;
加权平均计算模块,用于利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值;
参数更新模块,用于根据计算得出的本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值,更新全局参数模型中的参数;
迭代模块,用于根据更新后的参数,重复依次启动模型训练模块、加权平均计算模块以及参数更新模块,直到达到设定的迭代停止条件为止,并获取全局参数模型中的最终参数;
输出模块,用于输出采取所述最终参数的全局参数模型,用于对隐私保护场景中的设定问题进行预测与分析。
一种终端,所述终端包括:处理器以及与所述处理器通信连接的存储器,其中,
所述存储器中存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行如上任意一项所述的两方联邦学习中进行隐私保护的方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请提供一种两方联邦学习中进行隐私保护的方法,该方法首先定义参与隐私保护的两方分别为:第一参与方和第二参与方,其次第一参与方建立用于设定问题的全局参数模型,确定该模型的损失函数,并把全局参数模型和损失函数发送至第二参与方,两方分别在本地对全局参数模型进行训练,获取到本地梯度数据或本地模型参数,并确定本地损失函数,然后利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值,并利用这些加权平均值更新全局参数模型中的参数,并进行多次迭代直到确定最终参数,并输出采用最终参数的全局参数模型,利用该模型进行问题预测与分析。本实施例针对两方联邦学习的场景,提供一种隐私保护的方法,利用求两方加权平均值的算法,计算得出联邦学习参数的加权平均值以及损失函数的加权平均值,该求两方加权平均值的算法能够在数据拥有多个分量的情况下,更加安全地计算两方的加权平均值,从而有效提高隐私数据的保密性。而且该方法基于两方联邦学习而设定,能够解决现有技术中采用服务端和客户端的方式不适用于两方联邦学习的问题。
本申请还提供一种两方联邦学习中进行隐私保护的系统,该系统主要包括:定义模块、全局参数模型建立模块、模型训练模块、加权平均计算模块、参数更新模块、迭代模块以及输出模块。该系统针对两方联邦学习而设置,通过全局参数模型建立模块,建立用于隐私保护的模型,通过模型训练模块、加权平均计算模块、参数更新模块、迭代模块的设置,获取到用于全局参数模型的最终参数,将该最终参数用于对设定问题进行预测和分析,从而有效解决现有技术汇总采用服务端和客户端的方式不适用于两方联邦学习的问题。
通过加权平均计算模块的设置,本系统利用求两方加权平均值的算法,计算得出联邦学习参数的加权平均值以及损失函数的加权平均值,该求两方加权平均值的算法能够在数据拥有多个分量的情况下,更加安全地计算两方的加权平均值,从而有效提高隐私数据的保密性。
本申请还提供一种终端,该终端也具有如上两方联邦学习中进行隐私保护的方法和系统相应的技术效果,在此不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种两方联邦学习中进行隐私保护的方法的流程示意图;
图2为本申请实施例所提供的一种两方联邦学习中进行隐私保护的系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
实施例一
参见图1,图1为本申请实施例所提供的一种两方联邦学习中进行隐私保护的方法的流程示意图。由图1可知,本实施例中两方联邦学习中进行隐私保护的方法,主要包括如下过程:
S1:定义参与隐私保护的两方分别为:第一参与方和第二参与方。
本实施例中的隐私数据包括:第一参与方数据个数、第二参与方数据个数以及联邦学习参数,联邦学习参数为本地梯度数据或本地模型参数。
对个人信息进行隐私保护发生在很多场景中,在实际应用中有大量针对两方用户进行数据互通,且需要进行隐私数据保护的情况。例如:两家医院一起学习某种药物的效果与患者年龄、体质、用药量等特征的关系。两家商场一起学习每个季节不同款式衣服的销售水平等。在这种场景中将两个用户定义为第一参与方和第二参与方。通过该方法,在确保两方数据个数、本地梯度数据或本地模型参数彼此保密的情况下,获取到具体场景下设定问题的结果预测与分析,如:获取到某种药物的效果与患者年龄、体质、用药量等特征的关系,获取到销售水平与季节、衣服款式之间的关系以及对销售水平的预测。
S2:第一参与方建立全局参数模型,确定全局参数模型的损失函数,并将全局参数模型和损失函数发送至第二参与方。
S3:第一参与方和第二参与方分别在本地对全局参数模型进行训练,获取本地梯度数据或本地模型参数,并确定本地损失函数。
本实施例中,根据具体应用场景选择适应的联邦学习参数,可以选择本地梯度数据,也可以选择本地模型参数,两者选其一即可。
S4:利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值。
具体地,步骤S4包括如下过程:
S41:定义第一参与方有N1个数据,第二参与方有N2个数据,每个数据均有多个分量,当计算本地梯度数据的加权平均值时,多个分量为本地梯度数据和本地损失函数,当计算本地模型参数的加权平均值时,多个分量为本地模型参数和本地损失函数。
步骤S4也可以理解为:以N1,N2的比例分配权重,对数据(a1,a2,…,ad),(b1,b2,…,bd)按照分量求加权平均。
S42:通过乘以相同的倍数,第一参与方和第二参与方分别将各自的相关数据转化为整数。
根据步骤S4可知,假设第一参与方和第二参与方均有个d个分量,第一参与方的相关数据为(a1N1,a2N1,…,adN1),第二参与方的相关数据为(b1N2,b2N2,…,bdN2),通过步骤S42分别将相关数据乘以相同倍数s,对应转化为(X1,X2,…,Xd)和(Y1,Y2,…,Yd)。
S43:由第一参与方生成概率公钥加密算法密钥,并发送对应公钥至第二参与方。
本实施例中概率公钥加密算法采用Paillier算法,第一参与方生成Paillier算法秘钥(n,g,λ),并将公钥(n,g)发送给第二参与方。
S44:第一参与方将其数据个数以及转化为整数的数据加密后发送至第二参与方。
第一参与方加密数据N1,(X1,X2,…,Xd),得到E(N1),(E(X1),E(X2),…,E(Xd)),并将加密后的数据发送给第二参与方。
S45:第二参与方将其数据个数以及转化为整数的数据加密,并在密文上对第一参与方和第二参与方的对应数据个数的乘积、对应转化为整数数据的乘积进行随机处理,并将随机处理后的数据发送至第一参与方。
进一步地,步骤S45又包括如下过程:
S451:第二参与方将其数据个数以及转化为整数的数据加密,获取密文。
S452:在密文上分别计算第一参与方数据个数和第二参与方数据个数乘积的随机数次幂,以及,第一参与方转化为整数的数据与第二参与方转化为整数的数据乘积的随机数次幂,获取随机处理后的数据,其中,任一随机数包含有多个素因子。
S454:将随机处理后的数据发送至第一参与方。
进一步地,步骤S452之后还包括S453:对随机数的顺序进行混淆。
由以上步骤S451-S454可知,第二参与方加密数据N2,(Y1,Y2,…,Yd),得到E(N2),(E(Y1),E(Y2),…,E(Yd)),然后在密文上计算得到 ,其中,r0,r1,r2,…,rd是含有多个素因子的随机数,并将它们混淆后得到(w′0,w′1,w′2,…,w′d)发送给第一参与方。本实施例中的混淆可以采用调整顺序的方法,也就是调整随机数的顺序。
进一步地,本实施例还包括:对随机数的大小进行限制,使第一参数对随机处理后的数据进行解密所获取的解密后不同的随机处理后数据的大小近似相等。具体地,可以对r0,r1,r2,…,rd的大小作适当的限制,比如r0≈r1·s·b1≈r2·s·b2≈…≈rd·s·bd,从而让下一步中第一参与方解密得到的r0(N1+N2),r1(X1+Y1),r2(X2+Y2),…,rd(Xd+Yd)的大小相差不多。
S46:第一参与方对随机处理后的数据进行解密和近似求商计算后,发送至第二参与方。
具体地,步骤S46包括:
S461:第一参与方对随机处理后的数据进行解密。
S462:根据Paillier算法的同态性,计算得出第一参与方和第二参与方的对应数据个数之和、对应转化为整数数据之和分别与不同的随机数相乘后的乘积混淆后的结果。
S463:根据设定的误差范围,对乘积混淆后的结果进行近似求商。
S463:将近似求商的结果发送至第二参与方。
第一参与方对w0′,w1′,w2′,…,w′d解密,根据Paillier算法的同态性可以得到对r0(N1+N2),r1(X1+Y1),r2(X2+Y2),…,rd(Xd+Yd)混淆后的结果,设其为D(w0′),D(w1′),D(w2′),…,D(w′d),根据误差要求选择一个很小的数值ε(比如选取ε=10-6min{D(w0′),D(w1′),D(w2′),…,D(w′d)},并计算得到后发送给第二参与方。
通过求以上数据的乘积,可以得到的值,本实施例通过设置较小的近似误差限ε,如果将/>转化为小数后,要恢复为原始的数据形式是很困难的。因此,这种方式能够有效防止参与者通过约分对隐私数据进行推测,从而提高隐私数据保护的力度。
S47:根据求商结果以及随机处理后数据的对应关系,第二参与方计算得出数据所有分量的近似平均值,并将近似平均值发送至第一参与方。
具体地,步骤S47包括:
S471:根据第一参与方与第二参与方将相关数据转化为整数时所乘的倍数、计算两方随机处理后数据的任一随机数、以及加密后数据和混淆后的结果,第二参与方利用分量计算公式,计算得出数据所有分量的近似平均值。
具体地,第二参与方利用公式计算得出数据所有分量的近似平均值,其中,i=1,2,…,d,ki为第i分量的近似平均值,ri是计算两方随机处理后数据的任一随机数,s是第一参与方与第二参与方将相关数据转化为整数时所乘的倍数,{w0,w1,w2,…,wd}为加密后的数据,{w′0,w′1,w′2,…,w′d}为{w0,w1,w2,…,wd}混淆之后的结果,两个集合中数据相同且顺序不同,/>为在{w′0,w′1,w′2,…,w′d}中索引是i0的解密结果,/>为{w′0,w′1,w′2,…,w′d}中索引是j0的解密结果,ε为近似误差限。
S472:将近似平均值发送至第一参与方。
由以上步骤S471-S472可知,第二参与方通过w0,w1,w2,…,wd和w′0,w′1,w′2,…,w′d的对应关系,并结合r0,r1,r2,…,rd的值,近似求出数据所有分量的近似平均值k1,k2,…,kd,并将近似平均值k1,k2,…,kd发送给第一参与方。
继续参见图1可知,利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值之后,执行步骤S5:根据计算得出的本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值,更新全局参数模型中的参数。
根据更新后的参数,重复执行以上步骤S3-S5,直到达到设定的迭代停止条件为止,并获取全局参数模型中的最终参数。
本实施例中设定的迭代停止条件为:迭代次数达到预设迭代次数,或者,全局损失函数收敛。全局损失函数即:本地损失函数的加权平均值。
获取全局参数模型中的最终参数后,执行步骤S6:输出采取最终参数的全局参数模型,用于对隐私保护场景中的设定问题进行预测与分析。
下面以一个实例详细介绍采用本实施例中的方法在两方联邦学习中进行隐私保护的过程:
1)由第一参与方建立全局参数模型和损失函数,并发送给第二参与方,假设参数分别为θ1,θ2,…,θd。
2)第一参与方和第二参与方分别在本地进行训练,得到本地梯度数据或者本地模型参数,并计算本地损失函数。如果联邦学习参数选择本地梯度数据,则执行a),计算梯度加权平均;如果联邦学习参数选择本地模型参数,则执行b),计算模型参数加权平均,也就是权重加权平均。
a)梯度加权平均:设第一参与方得到本地梯度数据为g11,g12,…,g1d,第二参与方得到本地梯度数据为g21,g22,…,g2d。
b)权重加权平均:设第一参与方得到本地模型参数为θ11,θ12,…,θ1d,第二参与方得到本地梯度数据为θ21,θ22,…,θ2d。
设第一参与方计算得到本地损失函数为F1=F1(θ1,θ2,…,θd),第二参与方计算得到本地损失函数为F2=F2(θ1,θ2,…,θd)。
3)第一参与方和第二参与方利用求两方加权平均值的算法,计算得出本地梯度数据或者本地模型参数的加权平均值,以及本地损失函数的加权平均值,也就是全局损失函数。
设第一参与方拥有的数据个数为N1,第二参与方拥有的数据个数为N2,权重根据N1±n1与N2±n2的比例进行确定。其中n1是这一轮中第一参与方选择的随机数,n2是这一轮中第二参与方选择的随机数,并且满足n1<<N1,n2<<N2。本实施例通过添加随机数n1,n2,能够有效避免当某个分量基本稳定时,用户通过稍微改变此分量,利用两次结果的差分对隐私数据进行攻击。添加随机数后,能去除任意两次结果之间的相关性,从而有效地防止用户利用两次结果之间的差分进行攻击,提高隐私数据的保密性和安全性。
4)第一参与方和第二参与方都进行全局模型参数更新。
实施例二
在图1所示实施例的基础上参见图2,图2为本申请实施例所提供的一种两方联邦学习中进行隐私保护的系统的结构示意图。由图2可知,本实施例两方联邦学习中进行隐私保护的系统,主要包括:定义模块、全局参数模型建立模块、模型训练模块、加权平均计算模块、参数更新模块、迭代模块以及输出模块。
其中,定义模块,用于定义参与隐私保护的两方分别为:第一参与方和第二参与方,隐私数据包括:第一参与方数据个数、第二参与方数据个数以及联邦学习参数,联邦学习参数为本地梯度数据或本地模型参数;全局参数模型建立模块,设置于第一参与方,用于建立全局参数模型,确定全局参数模型的损失函数,并将全局参数模型和损失函数发送至第二参与方;模型训练模块,设置于第一参与方和第二参与方,用于第一参与方和第二参与方分别在本地对全局参数模型进行训练,获取本地梯度数据或本地模型参数,并确定本地损失函数;加权平均计算模块,用于利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值;参数更新模块,用于根据计算得出的本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值,更新全局参数模型中的参数;迭代模块,用于根据更新后的参数,重复依次启动模型训练模块、加权平均计算模块以及参数更新模块,直到达到设定的迭代停止条件为止,并获取全局参数模型中的最终参数;输出模块,用于输出采取最终参数的全局参数模型,用于对隐私保护场景中的设定问题进行预测与分析。
进一步地,加权平均计算模块包括:
定义单元,用于定义第一参与方有N1个数据,第二参与方有N2个数据,每个数据均有多个分量,当计算本地梯度数据的加权平均值时,多个分量为本地梯度数据和本地损失函数,当计算本地模型参数的加权平均值时,多个分量为本地模型参数和本地损失函数;
格式转化单元,用于通过乘以相同的倍数,第一参与方和第二参与方分别将各自的相关数据转化为整数;
算法密钥生成单元,用于由第一参与方生成Paillier算法密钥,并发送对应公钥至第二参与方;
第一加密单元,设置于第一参与方,用于将第一参与方的数据个数以及转化为整数的数据加密后发送至第二参与方;
第二加密单元,设置于第二参与方,用于将第二参与方的数据个数以及转化为整数的数据加密,并在密文上对第一参与方和第二参与方的对应数据个数的乘积、对应转化为整数数据的乘积进行随机处理,并将随机处理后的数据发送至第一参与方;
解密单元,设置于第一参与方,用于对随机处理后的数据进行解密和近似求商计算后,发送至第二参与方;
近似平均值计算单元,设置于第二参与方,用于根据求商结果以及随机处理后数据的对应关系,计算得出数据所有分量的近似平均值,并将近似平均值发送至第一参与方。
该实施例两方联邦学习中进行隐私保护的系统的工作原理和工作方法,在图1所示的实施例中已经详细阐述,两个实施例之间可以互相参照,在此不再赘述。
实施例三
本申请还提供一种终端,该终端包括:处理器以及与处理器通信连接的存储器,其中,存储器中存储有可被处理器执行的指令,指令被处理器执行,以使处理器能够执行如上两方联邦学习中进行隐私保护的方法。
处理器所执行的两方联邦学习中进行隐私保护的方法如下:
S1:定义参与隐私保护的两方分别为:第一参与方和第二参与方,隐私数据包括:第一参与方数据个数、第二参与方数据个数以及联邦学习参数,联邦学习参数为本地梯度数据或本地模型参数;
S2:第一参与方建立全局参数模型,确定全局参数模型的损失函数,并将全局参数模型和损失函数发送至第二参与方;
S3:第一参与方和第二参与方分别在本地对全局参数模型进行训练,获取本地梯度数据或本地模型参数,并确定本地损失函数;
S4:利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值;
S5:根据计算得出的本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值,更新全局参数模型中的参数;
根据更新后的参数,重复执行以上步骤S3-S5,直到达到设定的迭代停止条件为止,并获取全局参数模型中的最终参数;
S6:输出采取最终参数的全局参数模型,用于对隐私保护场景中的设定问题进行预测与分析。
该实施例中未详细描述的部分,可以参见图1和图2所示的实施例,在此不再赘述。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种两方联邦学习中进行隐私保护的方法,其特征在于,所述方法包括:
S1:定义参与隐私保护的两方分别为:第一参与方和第二参与方,隐私数据包括:第一参与方数据个数、第二参与方数据个数以及联邦学习参数,所述联邦学习参数为本地梯度数据或本地模型参数;
S2:所述第一参与方建立全局参数模型,确定所述全局参数模型的损失函数,并将所述全局参数模型和损失函数发送至第二参与方;
S3:第一参与方和第二参与方分别在本地对所述全局参数模型进行训练,获取本地梯度数据或本地模型参数,并确定本地损失函数;
S4:利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值;
S5:根据计算得出的本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值,更新全局参数模型中的参数;
根据更新后的参数,重复执行以上步骤S3-S5,直到达到设定的迭代停止条件为止,并获取全局参数模型中的最终参数;
S6:输出采取所述最终参数的全局参数模型,用于对隐私保护场景中的设定问题进行预测与分析。
2.根据权利要求1所述的一种两方联邦学习中进行隐私保护的方法,其特征在于,所述设定的迭代停止条件为:迭代次数达到预设迭代次数,或者,全局损失函数收敛。
3.根据权利要求1所述的一种两方联邦学习中进行隐私保护的方法,其特征在于,所述利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值,包括:
定义第一参与方有N1个数据,第二参与方有N2个数据,每个数据均有多个分量,当计算本地梯度数据的加权平均值时,多个分量为本地梯度数据和本地损失函数,当计算本地模型参数的加权平均值时,多个分量为本地模型参数和本地损失函数;
通过乘以相同的倍数,第一参与方和第二参与方分别将各自的相关数据转化为整数;
由所述第一参与方生成概率公钥加密算法密钥,并发送对应公钥至第二参与方;
所述第一参与方将其数据个数以及转化为整数的数据加密后发送至第二参与方;
第二参与方将其数据个数以及转化为整数的数据加密,并在密文上对第一参与方和第二参与方的对应数据个数的乘积、对应转化为整数数据的乘积进行随机处理,并将随机处理后的数据发送至第一参与方;
所述第一参与方对随机处理后的数据进行解密和近似求商计算后,发送至第二参与方;
根据求商结果以及随机处理后数据的对应关系,第二参与方计算得出数据所有分量的近似平均值,并将所述近似平均值发送至第一参与方。
4.根据权利要求3所述的一种两方联邦学习中进行隐私保护的方法,其特征在于,所述第二参与方将其数据个数以及转化为整数的数据加密,并在密文上对第一参与方和第二参与方的对应数据个数的乘积、对应转化为整数数据的乘积进行随机处理,并将随机处理后的数据发送至第一参与方,包括:
所述第二参与方将其数据个数以及转化为整数的数据加密,获取密文;
在所述密文上分别计算第一参与方数据个数和第二参与方数据个数乘积的随机数次幂,以及,第一参与方转化为整数的数据与第二参与方转化为整数的数据乘积的随机数次幂,获取随机处理后的数据,其中,任一所述随机数包含有多个素因子;
将所述随机处理后的数据发送至第一参与方。
5.根据权利要求4所述的一种两方联邦学习中进行隐私保护的方法,其特征在于,在所述密文上分别计算第一参与方数据个数和第二参与方数据个数乘积的随机数次幂,以及,第一参与方转化为整数的数据与第二参与方转化为整数的数据乘积的随机数次幂,获取随机处理后的数据之后,所述方法还包括:
对所述随机数的顺序进行混淆。
6.根据权利要求4所述的一种两方联邦学习中进行隐私保护的方法,其特征在于,对所述随机数的大小进行限制,使所述第一参数对随机处理后的数据进行解密所获取的解密后不同的随机处理后数据的大小近似相等。
7.根据权利要求3所述的一种两方联邦学习中进行隐私保护的方法,其特征在于,所述第一参与方对随机处理后的数据进行解密和近似求商计算后,发送至第二参与方,包括:
所述第一参与方对随机处理后的数据进行解密;
根据所述概率公钥加密算法的同态性,计算得出第一参与方和第二参与方的对应数据个数之和、对应转化为整数数据之和分别与不同的随机数相乘后的乘积混淆后的结果;
根据设定的误差范围,对乘积混淆后的结果进行近似求商;
将近似求商的结果发送至第二参与方。
8.根据权利要求3所述的一种两方联邦学习中进行隐私保护的方法,其特征在于,所述根据求商结果以及随机处理后数据的对应关系,第二参与方计算得出数据所有分量的近似平均值,并将所述近似平均值发送至第一参与方,包括:
根据第一参与方与第二参与方将相关数据转化为整数时所乘的倍数、计算两方随机处理后数据的任一随机数、以及加密后数据和混淆后的结果,第二参与方利用分量计算公式,计算得出数据所有分量的近似平均值;
将所述近似平均值发送至第一参与方。
9.一种两方联邦学习中进行隐私保护的系统,其特征在于,所述系统包括:
定义模块,用于定义参与隐私保护的两方分别为:第一参与方和第二参与方,隐私数据包括:第一参与方数据个数、第二参与方数据个数以及联邦学习参数,所述联邦学习参数为本地梯度数据或本地模型参数;
全局参数模型建立模块,设置于所述第一参与方,用于建立全局参数模型,确定所述全局参数模型的损失函数,并将所述全局参数模型和损失函数发送至第二参与方;
模型训练模块,设置于第一参与方和第二参与方,用于第一参与方和第二参与方分别在本地对所述全局参数模型进行训练,获取本地梯度数据或本地模型参数,并确定本地损失函数;
加权平均计算模块,用于利用求两方加权平均值的算法,计算得出本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值;
参数更新模块,用于根据计算得出的本地梯度数据或本地模型参数的加权平均值,以及本地损失函数的加权平均值,更新全局参数模型中的参数;
迭代模块,用于根据更新后的参数,重复依次启动模型训练模块、加权平均计算模块以及参数更新模块,直到达到设定的迭代停止条件为止,并获取全局参数模型中的最终参数;
输出模块,用于输出采取所述最终参数的全局参数模型,用于对隐私保护场景中的设定问题进行预测与分析。
10.一种终端,其特征在于,所述终端包括:处理器以及与所述处理器通信连接的存储器,其中,
所述存储器中存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行权利要求1至8中任意一项所述的两方联邦学习中进行隐私保护的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310276614.1A CN116167088A (zh) | 2023-03-17 | 2023-03-17 | 一种两方联邦学习中进行隐私保护的方法、系统及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310276614.1A CN116167088A (zh) | 2023-03-17 | 2023-03-17 | 一种两方联邦学习中进行隐私保护的方法、系统及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116167088A true CN116167088A (zh) | 2023-05-26 |
Family
ID=86414772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310276614.1A Pending CN116167088A (zh) | 2023-03-17 | 2023-03-17 | 一种两方联邦学习中进行隐私保护的方法、系统及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116167088A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116432040A (zh) * | 2023-06-15 | 2023-07-14 | 上海零数众合信息科技有限公司 | 基于联邦学习的模型训练方法、装置、介质以及电子设备 |
CN117811722A (zh) * | 2024-03-01 | 2024-04-02 | 山东云海国创云计算装备产业创新中心有限公司 | 全局参数模型构建方法、秘钥生成方法、装置及服务器 |
CN117811722B (zh) * | 2024-03-01 | 2024-05-24 | 山东云海国创云计算装备产业创新中心有限公司 | 全局参数模型构建方法、秘钥生成方法、装置及服务器 |
-
2023
- 2023-03-17 CN CN202310276614.1A patent/CN116167088A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116432040A (zh) * | 2023-06-15 | 2023-07-14 | 上海零数众合信息科技有限公司 | 基于联邦学习的模型训练方法、装置、介质以及电子设备 |
CN116432040B (zh) * | 2023-06-15 | 2023-09-01 | 上海零数众合信息科技有限公司 | 基于联邦学习的模型训练方法、装置、介质以及电子设备 |
CN117811722A (zh) * | 2024-03-01 | 2024-04-02 | 山东云海国创云计算装备产业创新中心有限公司 | 全局参数模型构建方法、秘钥生成方法、装置及服务器 |
CN117811722B (zh) * | 2024-03-01 | 2024-05-24 | 山东云海国创云计算装备产业创新中心有限公司 | 全局参数模型构建方法、秘钥生成方法、装置及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11722305B2 (en) | Password based threshold token generation | |
US9537660B2 (en) | Method of establishing public key cryptographic protocols against quantum computational attack | |
CN107342859B (zh) | 一种匿名认证方法及其应用 | |
EP1813051B1 (en) | Identity based encryption | |
Sakalauskas et al. | Key agreement protocol (KAP) using conjugacy and discrete logarithm problems in group representation level | |
US11451369B2 (en) | Method and system for multi-authority controlled functional encryption | |
US8311213B2 (en) | Method for determining functions applied to signals | |
US8416955B2 (en) | Method for determining functions applied to signals | |
CN104754570B (zh) | 一种基于移动互联网络的密钥分发和重构方法与装置 | |
EP3379444A1 (en) | User attribute matching method and terminal | |
CN112597542B (zh) | 目标资产数据的聚合方法及装置、存储介质、电子装置 | |
CN111581648B (zh) | 在不规则用户中保留隐私的联邦学习的方法 | |
Abusukhon et al. | Efficient and secure key exchange protocol based on elliptic curve and security models | |
CN116933899A (zh) | 基于多同态属性的数据安全聚合方法及系统 | |
CN116167088A (zh) | 一种两方联邦学习中进行隐私保护的方法、系统及终端 | |
CN113132104A (zh) | 一种主动安全的ecdsa数字签名两方生成方法 | |
CN113807534B (zh) | 联邦学习模型的模型参数训练方法、装置和电子设备 | |
Meshram et al. | Chebyshev chaotic map‐based ID‐based cryptographic model using subtree and fuzzy‐entity data sharing for public key cryptography | |
CN108880782A (zh) | 一种云计算平台下最小值的保密计算方法 | |
CN110890961B (zh) | 一种新型安全高效的多授权属性基密钥协商协议 | |
JP2011118387A (ja) | 信号に関数を適用した結果を求めるための方法およびシステム | |
CN116170142A (zh) | 分布式协同解密方法、设备和存储介质 | |
CN115442134A (zh) | 一种基于同态双向代理重加密的多密钥多方安全计算方法 | |
CN113806759A (zh) | 联邦学习模型的训练方法、装置、电子设备和存储介质 | |
CN117272389B (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 |