一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于多方纵向隐私保护和逻辑回归的模型联合构建方法与流程

2022-11-14 12:53:43 来源:中国专利 TAG:


1.本发明涉及数据秘密保护技术领域,具体涉及一种基于纵向隐私保护和逻辑回归的模型联合构建方法。


背景技术:

2.现有的多方纵向隐私保护的逻辑回归算法主要基于同态加密或基于秘密共享实现,其中基于paillier同态加密的多方纵向隐私保护逻辑回归算法更受欢迎。基于paillier同态加密的多方纵向隐私保护逻辑回归算法的原理为:
3.每一方需要各自拥有一套paillier公私钥,各种计算操作会在每套公钥加密后的密文上执行一次。举例而言,两方情形下,数据需要用己方的公钥和对方的公钥各加密一次,由于计算分别由两个计算方执行,因此额外增加的运算时间可忽略不计。但当拓展到n方时,各方的私有数据需要用其他n-1方的公钥进行加密运算,运算量将增加n-1倍,当n数值较大时,运算时间将大幅增加,会严重影响联邦学习的效率。因此,基于paillier同态加密的多方纵向隐私保护逻辑回归算法通常只对两方有效,难以拓展到多方。


技术实现要素:

4.本发明以支持多方联合建模而不再局限于两方,并提高联邦学习效率为目的,提供了一种基于多方纵向隐私保护和逻辑回归的模型联合构建方法。
5.为达此目的,本发明采用以下技术方案:
6.提供一种基于多方纵向隐私保护和逻辑回归的模型联合构建方法,步骤包括:
7.s1,联邦学习框架下的服务端生成公钥pk和私钥sk并存储,并将所述公钥pk发送给参与联邦学习的各客户端;
8.s2,所述服务端对每个所述客户端发送的在本地计算的部分模型梯度beta_i进行聚合,得到聚合梯度beta_agg,然后利用所述公钥pk对beta_agg进行加密,并将加密后的 [[beta_agg]]
pk
发送给每个所述客户端;
[0009]
s3,每个所述客户端计算[[beta_agg]]
pk
下的梯度[[grad_i]]
pk
,并加上随机掩码mask_i后将加密结果[[gradi mask_i]]
pk
发送给所述服务端,并在本地存储所述随机掩码mask_i;
[0010]
s4,所述服务端使用所述私钥sk解密[[gradi mask_i]]
pk
,并将解密结果[gradi mask_i]发送给对应的所述客户端;
[0011]
s5,每个所述客户端使用本地存储的所述随机掩码mask_i对所述解密结果[gradi mask_i]作mask_i匹配,过滤掉mask_i后得到明文梯度gradi以更新本地模型。
[0012]
作为优选,所述服务端基于paillier同态加密算法生成所述公钥pk和所述私钥sk。
[0013]
作为优选,作为联邦学习任务发起方的所述客户端发送给所述服务端作梯度聚合的所述部分模型梯度beta_i通过以下表达式(1)表达:
[0014][0015]
表达式(1)中,yi表示作为所述任务发起方的客户端a在本地训练逻辑回归模型的样本x
ai
的真实值;
[0016]uai
表示所述客户端a训练的所述逻辑回归模型作线性回归的假设函数,u
ai
的计算通过以下表达式(2)表达:
[0017][0018]
表达式(2)中,表示θa的转置,θa为所述客户端a本地训练的所述逻辑回归模型的参数;
[0019]
x
ai
表示所述客户端a进行本地模型训练的第i个样本。
[0020]
作为优选,作为联邦学习任务接受方的所述客户端发送给所述服务端作梯度聚合的所述部分模型梯度beta_i通过以下表达式(3)表达:
[0021][0022]
表达式(3)中,u
mi
表示作为所述任务接收方的客户端m本地训练的逻辑回归模型作线性回归的假设函数,u
mi
通过以下表达式(4)表达:
[0023][0024]
表达式(4)中,表示θm的转置,θm为所述客户端m本地训练的所述逻辑回归模型的参数;
[0025]
x
mi
表示所述客户端a进行本地模型训练的第i个样本。
[0026]
本发明具有以下有益效果:
[0027]
1、本发明只在服务端生成一次公私钥,相比较现有的基于paillier同态加密的多方纵向隐私保护逻辑回归算法在每个客户端生成公私钥,并利用所有客户端的公私钥进行加密运算,在pailier密钥长度均为512时,每轮联合逻辑回归建模的速度快了接近一倍,使得多方联合建模不再局限于两方。
[0028]
2、对联邦模型的梯度作了保护,每个客户端仅发送本地计算的部分模型梯度给服务端,使得服务端不仅不知晓每个客户端的所有数据,同时也不能准确判断模型每次更新时的梯度,保护了各客户端的原始数据不泄露。
附图说明
[0029]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]
图1是本发明一实施例提供的基于多方纵向隐私保护和逻辑回归的模型联合构建方法的流程示意图。
具体实施方式
[0031]
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
[0032]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0033]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0034]
在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0035]
假设多方为三方,带有样本标签的任务发起方为a,无标签的任务接受方为b、c,a、b、c在联邦学习框架下实现本实施例提供的基于多方纵向隐私保护和逻辑回归的模型联合构建方法的算法原理和具体流程如下:
[0036]
【算法原理】
[0037]
假设任务发起方a携带的样本数据为xa和y,y∈{-1, 1},1、-1为数据xa的样本标签, 1表示正样本,-1表示负样本;b的数据为xb;c的数据为xc,b、c不带样本标签,假设样本已经对齐。若逻辑回归模型的参数为θ,令θ
t
为θ的转置,则逻辑回归模型的输出值为利用统计学中极大似然估计的想法,将优化目标确定为最小化“负对数似然函数”,即:,即:将目标函数(也是损失函数)在原点处进行taylor二阶展开,有将目标函数(也是损失函数)在原点处进行taylor二阶展开,有记记则损失函数和客户本地模型的梯度计算公式分别为:
[0038]
[0039]
可以看出,其中的共同因子
[0040]
【具体流程】
[0041]
如图1所示,本实施例提供的基于多方纵向隐私保护和逻辑回归的模型联合构建方法,包括步骤:
[0042]
s1,联邦学习框架下的服务端(server)基于paillier同态加密算法生成公钥pk和私钥 sk并存储,并将公钥pk发送给参与联邦学习的各客户端(包括任务发起方和任务接受方)进行存储;
[0043]
s2,服务端对每个客户端发送的在本地计算的部分模型梯度beta_i进行聚合,得到聚合梯度beta_agg,然后利用公钥pk对beta_agg进行加密,并将加密后的[[beta_agg]]
pk
发送给每个客户端;
[0044]
为了确保服务端不知晓客户端的所有数据,本实施例对联邦模型的梯度进行了保护,即客户端只发送本地计算的部分模型梯度给服务端,服务端便无法知晓各客户的本地模型每次更新时的梯度。
[0045]
作为优选,作为联邦学习任务发起方的客户端发送给服务端作梯度聚合的部分模型梯度 beta_i通过以下表达式(1)表达:
[0046][0047]
表达式(1)中,yi表示作为任务发起方的客户端a利用本地训练的逻辑回归模型对输入样本x
ai
的预测输出值;
[0048]uai
表示客户端a训练的逻辑回归模型作线性回归的假设函数,u
ai
的计算通过以下表达式 (2)表达:
[0049][0050]
表达式(2)中,表示θa的转置,θa为客户端a本地训练的逻辑回归模型的参数;
[0051]
x
ai
表示客户端a进行本地模型训练的第i个样本。
[0052]
作为优选,作为联邦学习任务接受方的客户端发送给服务端作梯度聚合的部分模型梯度 beta_i通过以下表达式(3)表达:
[0053][0054]
表达式(3)中,u
mi
表示作为任务接收方的客户端m(本实施例中m为客户端a和b)本地训练的逻辑回归模型作线性回归的假设函数,u
mi
通过以下表达式(4)表达:
[0055][0056]
表达式(4)中,表示θm的转置,θm为客户端m本地训练的逻辑回归模型的参数;
[0057]
x
mi
表示客户端a进行本地模型训练的第i个样本。
[0058]
s3,每个客户端计算[[beta_agg]]
pk
下的梯度[[grad_i]]
pk
(客户端使用公钥pk计算梯度 [[grad_i]]
pk
,由于[[grad_i]]
pk
的具体计算方法并非本发明请求权利保护的范围,因此具体过程不做说明),并加上随机掩码mask_i后将加密结果[[gradi mask_i]]
pk
发送给服务端,并在本地存储随机掩码mask_i;
[0059]
加入随机掩码提高了其他客户端破解gradi的难度,提高了数据传输的安全性。
[0060]
s4,服务端使用私钥sk解密[[gradi mask_i]]
pk
,并将解密结果[gradi mask_i]发送给对应的客户端;
[0061]
这里需要强调的是,客户端是无法对密文进行解密的,这样做的目的是减少客户端加解密计算量,使得本发明实施例提供的基于多方纵向隐私保护和逻辑回归的模型联合构建方法更容易拓展到多方。
[0062]
s5,每个客户端使用本地存储的随机掩码mask_i对所述解密结果[gradi mask_i]作 mask_i匹配,过滤掉mask_i后得到明文梯度gradi以更新本地模型。
[0063]
这里需要说明的是,客户端无法直接利用密文[[grad_i]]
pk
更新本地模型,需要对 [[grad_i]]
pk
进行解密后得到明文梯度gradi后才能更新模型,但解密过程若放在客户端,会增加客户端的加解密时,当参与联邦学习的客户端数量庞大时,模型整体的训练效率由于众多数量的客户端在本地解密需要消耗较长时间而受到影响,因此本实施例将梯度解密统一放在服务端,但不可避免的增加了客户端和服务端间的信息交互,为了提高信息交互时的数据传输安全性,在步骤s3中,直接在密文[[beta_agg]]
pk
下计算梯度[[grad_i]]
pk
,并在 [[grad_i]]
pk
中加入了随机掩码mask_i,通过对[[beta_agg]]
pk
不解密 加入随机掩码的方式,给数据传输添加了双重隐私保护。
[0064]
需要强调的是,本实施例提供的基于多方纵向隐私保护和逻辑回归的模型联合构建方法只在服务端生成一次公私钥,各客户端除在步骤s3中加入随机掩码外,不参与其他的加解密过程,相比较现有的基于paillier同态加密的逻辑回归算法中各方分别持有一套公私钥进行数据加解密的方法,运算量大幅降低,提高了联合模型训练的效率,使得本发明针对多方同样有效,破除了现有的基于paillier同态加密的逻辑回归算法通常只对两方有效的局限。下表a示出了在paillier密钥长度均为512且模型训练参数相同时,本发明提供的模型联合构建方法与传统的各客户端各自拥有一套公私钥的基于paillier同态加密的逻辑回归算法的模型训练速度对比数据:
[0065][0066]
表a
[0067]
由上表a可知,使用本实施例提供的通过服务端加解密的模型联合构建方法的效率相比传统的客户端参与加解密的模型联合构建方法训练模型的效率提升了近一倍,验证了本发明对提升联合模型训练速度的有效性。
[0068]
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本技术说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献