面向联邦学习的去中心化函数加密隐私保护方法及系统

文档序号:28168962发布日期:2021-12-24 23:12阅读:308来源:国知局
面向联邦学习的去中心化函数加密隐私保护方法及系统

1.本发明涉及联邦学习隐私保护技术领域,特别是涉及面向联邦学习的去中心化函数加密隐私保护方法及系统。


背景技术:

2.随着联邦学习在数字图像处理、自然语言处理、文本语音处理等领域的广泛应用,在打破数据孤岛和提供更精确服务的基础上,进一步解决联邦学习中的隐私泄露问题已逐渐成为其实施应用中重点关注的问题。
3.现有应用于联邦学习的隐私保护方法主要有同态加密、安全多方计算和函数加密,如结合同态加密的分布式选择随机梯度下降方法,使用安全多方计算中的秘密共享技术来聚合客户端更新模型的方法,以及通过添加可信第三方实体来负责生成、管理和分配密钥,使用函数加密执行联邦学习安全聚合保证参数隐私性的方法。尽管现有技术在一定程度上为联邦学习提供了隐私保护,但也存在着各自的缺陷,如,同态加密技术会对计算能力较弱的设备,带来一定程度的性能压力和通信开销,而若通过减少模型加密所带来的计算开销,就必然会忽略参数聚合过程的安全性,进而影响隐私保护效果,以及引入可信第三方实体来负责生成、管理和分配密钥,就会存在恶意服务器与第三方实体共谋获取加密密钥,进而窃取用户模型的隐私暴露风险。
4.因此,亟需提供一种克服现有技术对可信第三方实体依赖问题,实现保护客户端模型隐私的同时,有效防止可信第三方与服务器执行共谋攻击的隐私保护方法。


技术实现要素:

5.本发明的目的是提供一种面向联邦学习的去中心化函数加密隐私保护方法,在保证服务器不能获得每个用户本地训练模型的特定梯度参数的同时,通过服务端与客户端交互产生密钥的方式,克服现有隐私保护方法依赖可信第三方实体生成、管理和分配密钥的问题,有效防止可信第三方与服务器执行共谋攻击风险,进一步提升了联邦学习中客户端模型的隐私保护力度和模型服务效果。
6.为了实现上述目的,有必要针对上述技术问题,提供了一种面向联邦学习的去中心化函数加密隐私保护方法、系统、计算机设备及存储介质。
7.第一方面,本发明实施例提供了一种面向联邦学习的去中心化函数加密隐私保护方法,所述方法包括以下步骤:
8.获取服务器发送的初始模型、公共数据集、加密标签、加密素数、加密权重和权重向量参数;所述初始模型由所述服务器根据所述公共数据集训练得到;
9.根据本地数据集对所述初始模型进行训练,得到本地模型,并根据所述公共数据集对所述本地模型进行测试,得到对应的模型准确率;
10.根据所述加密素数、加密权重和权重向量参数,生成加密私钥和部分解密密钥,并根据所述加密私钥和加密标签对所述本地模型进行函数加密,得到加密模型;
11.将所述加密模型、部分解密密钥和模型准确率发送给所述服务器,以使所述服务器根据所述部分解密密钥、加密标签、加密权重和模型准确率,对所述加密模型进行解密聚合,得到全局模型。
12.进一步地,所述根据本地数据集对所述初始模型进行训练,得到本地模型的步骤包括:
13.根据所述本地模型的分布特征和隐私保护需求,设置隐私预算和噪声参数;
14.根据所述隐私预算和噪声参数,执行本地化差分隐私对所述本地模型添加噪声。
15.进一步地,所述根据所述加密素数、加密权重和权重向量参数,生成加密私钥和部分解密密钥的步骤包括:
16.根据所述加密素数,生成的密钥参数,并将所述密钥参数作为所述加密私钥;所述密钥参数表示为:
[0017][0018]
式中,p和分别表示加密素数和对应的有限域;表示第i个客户端的密钥参数,且为2维向量;
[0019]
根据所述加密素数,生成解密参数,并根据所述解密参数、密钥参数、加密权重和权重向量参数,生成所述部分解密密钥;所述部分解密密钥表示为:
[0020][0021]
式中,
[0022][0023]
其中,和y
i
分别表示第i个客户端的部分解密密钥和加密权重;t
i
表示第i个客户端生成的解密参数,且∑
i∈[n]
t
i
=0,n为参与训练客户端的总数;表示哈希函数;表示由构成的2
×
2矩阵;表示与双线性对有关的p阶乘法循环群,且分别表示由乘法循环群构成的2维向量;和分别表示所有客户端加密权重组成的权重向量和对应的权重向量参数。
[0024]
进一步地,所述根据所述加密素数,生成解密参数的步骤包括:
[0025]
初始化一个参数矩阵;所述参数矩阵为所有元素均为零的矩阵;
[0026]
根据所述加密素数,分别与其他客户端协商确定一个对应的随机矩阵;所述随机矩阵表示为:
[0027][0028]
其中,t
ii
表示第i个客户端和第j个客户端协商确定的随机矩阵;表示由有限域构成的2
×
2矩阵;
[0029]
根据所述参数矩阵和随机矩阵,生成所述解密参数;所述解密参数表示为:
[0030]
t
i
=t0+∑
j∈n,i<j
t
ij


j∈n,i<i
t
ij
[0031]
其中,t
i
表示第i个客户端对应的解密参数;t0表示客户端的参数矩阵。
[0032]
进一步地,所述根据所述加密私钥和加密标签对所述本地模型进行函数加密,得到加密模型的步骤包括:
[0033]
根据所述加密私钥和加密标签,采用下述加密算法对所述本地模型进行函数加密,得到所述加密模型:
[0034][0035]
式中,
[0036][0037]
其中,x
i
和[c
i
]1分别表示第i个客户端本地模型和加密模型;表示第i个客户端的密钥参数;表示加密标签;表示与双线性对有关的阶数为加密素数的乘法循环群,且表示由乘法循环群构成的2维向量;表示哈希函数。
[0038]
进一步地,所述服务器根据所述部分解密密钥、加密标签、加密权重和模型准确率,对所述加密模型进行解密聚合,得到全局模型的步骤包括:
[0039]
根据所述加密权重和部分解密密钥,采用密钥组合算法得到解密密钥;所述解密密钥表示为:
[0040][0041]
式中,
[0042][0043]
其中,和分别表示解密密钥和所有客户端加密权重组成的权重向量;表示第i个客户端的部分解密密钥;
[0044]
根据所述解密密钥和加密标签,对所有客户端的加密模型进行解密聚合,得到所述全局模型;所述全局模型表示为:
[0045][0046]
式中,
[0047][0048]
其中,[α]
t
表示全局模型;y
i
和[c
i
]1分别表示第i个客户端的加密权重和加密模型;表示解密密钥;表示加密标签;表示与双线性对有关的阶数为加密素数的乘法循环群,且表示由乘法循环群构成的2维向量;表示哈希函数;e(
·
)表示双线性对映射。
[0049]
进一步地,所述服务器根据所述部分解密密钥、加密标签、加密权重和模型准确率,对所述加密模型进行解密聚合,得到全局模型的步骤还包括:
[0050]
根据所述公共数据集,对所述全局模型进行测试,得到全局模型准确率;
[0051]
判断所述全局模型准确率是否达到预设准确率,若达到,则停止迭代训练,反之,
则根据所有客户端的模型准确率,更新各个客户端的加密权重和权重向量参数,并将全局模型、及更新后的加密权重和权重向量参数发送给各个客户端,继续迭代训练。
[0052]
第二方面,本发明实施例提供了一种面向联邦学习的去中心化函数加密隐私保护系统,所述系统包括:
[0053]
获取模块,用于获取服务器发送的初始模型、公共数据集、加密标签、加密素数、加密权重和权重向量参数;所述初始模型由所述服务器根据所述公共数据集训练得到;
[0054]
训练模块,用于根据本地数据集对所述初始模型进行训练,得到本地模型,并根据所述公共数据集对所述本地模型进行测试,得到对应的模型准确率;
[0055]
加密模块,用于根据所述加密素数、加密权重和权重向量参数,生成加密私钥和部分解密密钥,并根据所述加密私钥和加密标签对所述本地模型进行函数加密,得到加密模型;
[0056]
聚合模块,用于将所述加密模型、部分解密密钥和模型准确率发送给所述服务器,以使所述服务器根据所述部分解密密钥、加密标签、加密权重和模型准确率,对所述加密模型进行解密聚合,得到全局模型。
[0057]
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0058]
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
[0059]
上述本技术提供了一种面向联邦学习的去中心化函数加密隐私保护方法、系统、计算机设备及存储介质,通过所述方法,实现了通过服务器生成加密标签、加密素数和加密权重,以及根据公共数据集训练得到初始模型后,将初始模型、公共数据集、加密标签、加密素数、加密权重和权重向量参数发送给各个客户端,由各个客户端根据本地数据集对初始模型进行训练得到本地模型,并根据公共数据集进行测试得到模型准确率,及根据加密素数生成加密私钥和部分解密密钥,再根据加密私钥和加密标签对本地模型进行函数加密得到加密模型后,将加密模型、部分解密密钥和模型准确率发送给服务器,以使服务器完成对各个客户端加密模型的解密聚合,得到全局模型,以及采用公共数据集测试全局模型的准确率,并依此判断是否需要继续迭代训练,直至得到理想全局模型的技术方案。与现有技术相比,该面向联邦学习的去中心化函数加密隐私保护方法,不仅保证了服务器不能获得每个用户本地训练模型的特定梯度参数,而且通过服务端与客户端交互产生密钥的方式,克服现有隐私保护方法依赖可信第三方实体生成、管理和分配密钥的问题,有效防止可信第三方与服务器执行共谋攻击风险,进一步提升了联邦学习中客户端模型的隐私保护力度和模型服务效果。
附图说明
[0060]
图1是本发明实施例中面向联邦学习的去中心化函数加密隐私保护方法应用的联邦学习模型框架示意图;
[0061]
图2是现有联邦学习的隐私保护中存在的服务器与可信第三方共谋攻击的示意图;
[0062]
图3是本发明实施例中面向联邦学习的去中心化函数加密隐私保护方法的流程示意图;
[0063]
图4是图3中步骤s12对初始模型训练得到本地模型的流程示意图;
[0064]
图5是图3中步骤s14服务器对所有客户端的加密模型进行解密聚合得到全局模型的流程示意图;
[0065]
图6是图3中步骤s14服务器对所有客户端的加密模型进行解密聚合得到全局模型的另一流程示意图;
[0066]
图7是本发明实施例中面向联邦学习的去中心化函数加密隐私保护系统的结构示意图;
[0067]
图8是本发明实施例面向联邦学习的去中心化函数加密隐私保护系统应用于智慧医疗场景的示意图;
[0068]
图9是本发明实施例中计算机设备的内部结构图。
具体实施方式
[0069]
为了使本技术的目的、技术方案和有益效果更加清楚明白,下面结合附图及实施例,对本发明作进一步详细说明,显然,以下所描述的实施例是本发明实施例的一部分,仅用于说明本发明,但不用来限制本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0070]
本发明提供的面向联邦学习的去中心化函数加密隐私保护方法,应用于如图1所示的面向联邦学习的去中心化函数加密隐私保护模型框架中,在保证服务器不能获得每个用户本地训练模型的特定梯度参数的同时,有效解决了如图2所示的联邦学习过程中的服务器与可信第三方共谋攻击问题,进一步提升了联邦学习中客户端模型的隐私保护力度和模型服务效果。
[0071]
如图2所示,恶意服务器通过私下共谋、串通甚至利益交换等手段从可信第三方实体获取本不该属于自己的加密密钥和加密算法,再利用该加密算法和加密密钥从用户客户端的加密模型中计算出用户客户端的明文模型,进而获取用户客户端本地隐私信息。可见,联邦学习的隐私保护方法中解除对第三方生成、管理和分配密钥的依赖,对进一步加强客户端隐私保护的力度和提升客户端隐私保护效果来说是非常必要的。
[0072]
在一个实施例中,如图3所示,提供了一种面向联邦学习的去中心化函数加密隐私保护方法,包括以下步骤:
[0073]
s11、获取服务器发送的初始模型、公共数据集、加密标签、加密素数、加密权重和权重向量参数;所述初始模型由所述服务器根据所述公共数据集训练得到;
[0074]
其中,初始模型可根据实际联邦学习任务选取,公共数据集为服务器端收集且可共享给所有客户端训练使用的数据集,此处都不作具体限定。其中,加密标签、加密素数、加密权重和权重向量参数均为客户端和服务器交互加密和解密所必须使用的加密参数,加密标签为一组由任意字符组成的任意长度的字符串,加密素数为任意素数,加密权重为由服务器根据应用场景和需求为每个客户端分配的一一对应的权重数值,权重向量参数为服务器基于每个客户端的权重采用哈希算法得到的一个加密参数如,初始迭代时服务器可以根据每个客户端的数据量大小等情况为每个客户端分配对应的加密权重,基于所有客户端的
加密权重,再采用哈希算法得到融合所有客户端加密权重的权重向量参数,后续迭代时会根据每轮迭代客户端训练模型的准确率更新该加密权重,同时,也会更新对应的权重向量参数,以保证模型聚合效果。
[0075]
s12、根据本地数据集对所述初始模型进行训练,得到本地模型,并根据所述公共数据集对所述本地模型进行测试,得到对应的模型准确率;
[0076]
其中,本地模型具体采用何种损失函数配合何种训练方式训练都基于实际应用需求及选定的初始模型类型确定,本实施例都不作具体限制。每个客户端采用本地数据集训练得到本地模型后,都会使用服务器发送的公共数据集进行测试,得到对应的模型准确率,并将该模型准确率在后续将本地模型发送给服务器聚合时一起发送服务器,以供后续迭代使用。此外,为了加强客户端模型的隐私性,每个客户端在采用本地数据集训练得到本地模型后,会执行本地化差分隐私对模型添加噪声后,再进行加密,如图4所示,具体包括:
[0077]
s121、根据所述本地模型的分布特征和隐私保护需求,设置隐私预算和噪声参数;
[0078]
s122、根据所述隐私预算和噪声参数,执行本地化差分隐私对所述本地模型添加噪声。
[0079]
其中,隐私预算和噪声参数的设置都可根据实际应用场景和应用需求进行调整,此处不作限制。同时,为了提升整个联邦学习的效率,本实例优选在执行本地化差分隐私对本地模型加噪之前或之后采用现有模型压缩技术进行模型压缩,此处不作赘述。
[0080]
s13、根据所述加密素数、加密权重和权重向量参数,生成加密私钥和部分解密密钥,并根据所述加密私钥和加密标签对所述本地模型进行函数加密,得到加密模型;
[0081]
其中,加密私钥是用于每个客户端对本地模型进行加密得到加密模型,而部分解密密钥是发送给服务器供其对所有客户端的加密模型进行解密聚合使用,具体根据所述加密素数、加密权重和权重向量参数,生成加密私钥和部分解密密钥包括以下步骤:
[0082]
根据所述加密素数,生成的密钥参数,并将所述密钥参数作为所述加密私钥;所述密钥参数表示为:
[0083][0084]
式中,p和分别表示加密素数和对应的有限域;表示第i个客户端的密钥参数,且为2维向量;
[0085]
根据所述加密素数,生成解密参数,并根据所述解密参数、密钥参数、加密权重和权重向量参数,生成所述部分解密密钥;所述部分解密密钥表示为:
[0086][0087]
式中,
[0088][0089]
其中,和y
i
分别表示第i个客户端的部分解密密钥和加密权重;t
i
表示第i个客户端生成的解密参数,且∑
i∈[n]
t
i
=0,n为参与训练客户端的总数;表示哈希函数;表示由构成的2
×
2矩阵;表示与双线性对有关的p阶乘法循环群,且分别
表示由乘法循环群构成的2维向量;和分别表示所有客户端加密权重组成的权重向量和对应的权重向量参数。
[0090]
上述各客户端根据加密素数生成解密参数的步骤包括:
[0091]
初始化一个参数矩阵;所述参数矩阵为所有元素均为零的矩阵;
[0092]
根据所述加密素数,分别与其他客户端协商确定一个对应的随机矩阵;所述随机矩阵表示为:
[0093][0094]
其中,t
ij
表示第i个客户端和第j个客户端协商确定的随机矩阵;表示由有限域构成的2
×
2矩阵;
[0095]
根据所述参数矩阵和随机矩阵,生成所述解密参数;所述解密参数表示为:
[0096]
t
i
=t0+∑
j∈n,i<j
t
ij


j∈n,i<i
t
ij
[0097]
其中,t
i
表示第i个客户端对应的解密参数;t0表示客户端的参数矩阵。
[0098]
需要说明的是,上述各客户端初始化的参数矩阵也可以不为零矩阵,本实施例为了计算方便,将所有参数矩阵都设为零矩阵。此外,客户端之间相互协商确定对应的随机矩阵的方法可采用diffie

hellman密钥交换协议实现,也可以采用其他类似的协商技术,此处不作具体限制。各客户端采用上述方法步骤得到加密私钥后,就可以根据加密私钥和加密标签,采用下述加密算法对所述本地模型进行函数加密,得到对应的加密模型:
[0099][0100]
式中,
[0101][0102]
其中,x
i
和[c
i
]1分别表示第i个客户端本地模型和加密模型;表示第i个客户端的密钥参数;表示加密标签;表示与双线性对有关的阶数为加密素数的乘法循环群,且表示由乘法循环群构成的2维向量;表示哈希函数。
[0103]
本实施例通过客户端对本地模型加噪(或再进一步添加模型压缩)后再采用服务器下发的加密参数根据上述加密算法对加噪后模型进行加密,有效解决了依赖可信第三方实体生成、管理和分配密钥的问题,为客户端模型隐私保护提成了可靠保障。
[0104]
s14、将所述加密模型、部分解密密钥和模型准确率发送给所述服务器,以使所述服务器根据所述部分解密密钥、加密标签、加密权重和模型准确率,对所述加密模型进行解密聚合,得到全局模型。
[0105]
其中,全局模型是服务器对所有客户端本地训练上传的加密模型进行解密聚合得到,其聚合方法可以按照实际需求选择。本实施例中采用基于客户端权重对所有客户端上传的本地模型进行加权平均的聚合方法得到,并作为后续迭代时下发给所有客户端进行训练的模型。部分解密密钥用于服务器对所有客户端的加密模型进行聚合时,需要先将其与所有客户端加密权重对应的权重向量结合,通过密钥组合算法计算出对应的解密密钥,再使用该解密密钥和加密标签,并通过解密算法对所有客户端的加密模型进行解密聚合,如
图5所示,具体包括以下步骤:
[0106]
s141、根据所述加密权重和部分解密密钥,采用密钥组合算法得到解密密钥;所述解密密钥表示为:
[0107][0108]
式中,
[0109][0110]
其中,和分别表示解密密钥和所有客户端加密权重组成的权重向量;表示第i个客户端的部分解密密钥;
[0111]
s142、根据所述解密密钥和加密标签,对所有客户端的加密模型进行解密聚合,得到所述全局模型;所述全局模型表示为:
[0112][0113]
式中,
[0114][0115]
其中,[α]
t
表示全局模型;y
i
和[c
i
]1分别表示第i个客户端的加密权重和加密模型;表示解密密钥;表示加密标签;表示与双线性对有关的阶数为加密素数的乘法循环群,且表示由乘法循环群构成的2维向量;表示哈希函数;e(
·
)表示双线性对映射。
[0116]
服务器通过上述解密聚合的方法步骤得到当前轮迭代训练的全局模型后,原则上可以在没满足预设迭代次数或其他预设迭代收敛标准的情况下,直接将该全局模型直接下发给所有客户端继续后续的迭代训练。为了保证后续为各客户端分配的加密权重更加合理有效,本实施例中服务器得到全局模型后,会采用公共数据集对其进行测试,在准确率未达到要求时,根据各个客户端发送的当前轮迭代得到的本地模型的准确率重新给所有客户端的权重进行相应的调整,即服务器给当前轮训练模型准确率高的客户端分配较高的加密权重用于下一轮训练模型的加密和聚合,且每轮迭代训练都执行同样的方法步骤。具体地,除上述s141

s142外,如图6所示,所述服务器根据所述部分解密密钥、加密标签、加密权重和模型准确率,对所述加密模型进行解密聚合,得到全局模型的步骤还包括:
[0117]
s143、根据所述公共数据集,对所述全局模型进行测试,得到全局模型准确率;
[0118]
s144、判断所述全局模型准确率是否达到预设准确率,若达到,则停止迭代训练,反之,则根据所有客户端的模型准确率,更新各个客户端的加密权重和权重向量参数,并将全局模型、及更新后的加密权重和权重向量参数发送给各个客户端,继续迭代训练。
[0119]
上述权重向量参数是服务器根据各客户端的加密权重生成的,随着各客户端的加密权重的变动而更新,可表示为:
[0120]
[0121]
其中,表示权重向量参数;表示哈希函数;表示与双线性对有关的p阶乘法循环群,且表示由乘法循环群构成的2维向量。
[0122]
本技术实施例中基于现有联邦学习的隐私保护依赖可信第三方实体生成、管理和分配密钥的问题,易带来可信第三方与服务器执行共谋攻击风险的考虑,设计了一种面向联邦学习的去中心化函数加密隐私保护方法,其实现了预先由服务器生成加密标签、加密素数和加密权重,以及根据公共数据集训练得到初始模型,再将初始模型、公共数据集、加密标签、加密素数、加密权重和权重向量参数发送给各个客户端,由各个客户端根据本地数据集对初始模型进行训练得到本地模型,并根据公共数据集进行测试得到模型准确率,及根据加密素数生成加密私钥和部分解密密钥,再执行本地差分隐私对本地模型进行加噪处理后,根据加密私钥和加密标签对本地模型进行函数加密得到加密模型后,将加密模型、部分解密密钥和模型准确率发送给服务器,以使服务器完成对各个客户端加密模型的解密聚合,得到全局模型,以及采用公共数据集测试全局模型的准确率,并依此判断是否需要继续迭代训练,直至得到理想全局模型的技术方案。该方法应用于实际的联邦学习训练中,通过采用服务端与客户端交互产生密钥方式,与本地差分隐私相结合的方法,不仅保证了服务器不能获得每个用户本地训练模型的特定梯度参数,而且克服现有隐私保护方法对可信第三方实体的依赖问题,有效防止可信第三方与服务器执行共谋攻击风险,进一步提升了联邦学习中客户端模型的隐私保护力度和模型服务效果。
[0123]
需要说明的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
[0124]
在一个实施例中,如图7所示,提供了一种面向联邦学习的去中心化函数加密隐私保护系统,所述系统包括:
[0125]
获取模块1,用于获取服务器发送的初始模型、公共数据集、加密标签、加密素数、加密权重和权重向量参数;所述初始模型由所述服务器根据所述公共数据集训练得到;
[0126]
训练模块2,用于根据本地数据集对所述初始模型进行训练,得到本地模型,并根据所述公共数据集对所述本地模型进行测试,得到对应的模型准确率;
[0127]
加密模块3,用于根据所述加密素数、加密权重和权重向量参数,生成加密私钥和部分解密密钥,并根据所述加密私钥和加密标签对所述本地模型进行函数加密,得到加密模型;
[0128]
聚合模块4,用于将所述加密模型、部分解密密钥和模型准确率发送给所述服务器,以使所述服务器根据所述部分解密密钥、加密标签、加密权重和模型准确率,对所述加密模型进行解密聚合,得到全局模型。
[0129]
关于面向联邦学习的去中心化函数加密隐私保护的具体限定可以参见上文中对于面向联邦学习的去中心化函数加密隐私保护方法的限定,在此不再赘述。上述面向联邦学习的去中心化函数加密隐私保护系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0130]
如图8所示,在包括医院及诊断服务器的智慧医疗场景下,采用该系统完成各个医院数据库的安全的联邦学习,以实现线上疾病的精准诊断的具体应用为:线上诊断服务器根据公共数据集训练得到初始模型,同时生成加密标签l、加密素数p、加密权重y
i
和权重向量参数并将其与初始模型同时发送给各个医院;各个医院接收到服务器发送的初始模型、公共数据集、加密标签l、加密素数p、加密权重y
i
和权重向量参数后,根据本地数据集对初始模型进行训练得到本地模型,并根据公共数据集对本地模型进行测试得到对应的模型准确率,再根据本地模型的分布特征和隐私保护需求执行本地化差分隐私对本地模型添加噪声,再根据加密素数p生成加密私钥和部分解密密钥以及根据加密私钥和加密标签l对本地模型进行函数加密得到加密模型,并将加密模型、部分解密密钥和模型准确率发送给线上诊断服务器;线上诊断服务器根据各医院发送的部分解密密钥和加密权重y
i
采用密钥组合算法得到解密密钥再根据解密密钥和加密标签l,对所有客户端的加密模型进行解密聚合得到全局模型后,根据公共数据集对全局模型进行测试得到全局模型准确率,判断全局模型准确率未达到预设准确率时,根据所有客户端的模型准确率更新各个客户端的加密权重和权重向量参数,并将全局模型、及更新后的加密权重和权重向量参数发送给各个客户端,继续迭代训练直至得到理想的全局模型;线上诊断服务器利用经过联邦学习训练好的模型提供服务,在个人用户上传个人健康数据到线上诊断服务器后,线上诊断服务器将该用户的个人数据输入到全局模型进行疾病匹配,并将线上诊断结果及时反馈给个人用户。
[0131]
图9示出一个实施例中计算机设备的内部结构图,该计算机设备具体可以是终端或服务器。如图9所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示器和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现面向联邦学习的去中心化函数加密隐私保护方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0132]
本领域普通技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算设备可以包括比途中所示更多或更少的部件,或者组合某些部件,或者具有同的部件布置。
[0133]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
[0134]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
[0135]
综上,本发明实施例提供的面向联邦学习的去中心化函数加密隐私保护方法及系统,其面向联邦学习的去中心化函数加密隐私保护方法通过服务器生成加密标签、加密素
数和加密权重,以及根据公共数据集训练得到初始模型后,将初始模型、公共数据集、加密标签、加密素数、加密权重和权重向量参数发送给各个客户端,由各个客户端根据本地数据集对初始模型进行训练得到本地模型,并根据公共数据集进行测试得到模型准确率,及根据加密素数生成加密私钥和部分解密密钥,再根据加密私钥和加密标签对本地模型进行函数加密得到加密模型后,将加密模型、部分解密密钥和模型准确率发送给服务器,以使服务器完成对各个客户端加密模型的解密聚合,得到全局模型,以及采用公共数据集测试全局模型的准确率,并依此判断是否需要继续迭代训练,直至得到满足服务要求的理想全局模型的技术方案。该面向联邦学习的去中心化函数加密隐私保护方法,不仅保证了服务器不能获得每个用户本地训练模型的特定梯度参数,而且通过服务端与客户端交互产生密钥的方式,克服现有隐私保护方法依赖可信第三方实体生成、管理和分配密钥的问题,有效防止可信第三方与服务器执行共谋攻击风险,进一步提升了联邦学习中客户端模型的隐私保护力度和模型服务效果。
[0136]
本说明书中的各个实施例均采用递进的方式描述,各个实施例直接相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0137]
以上所述实施例仅表达了本技术的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本技术的保护范围。因此,本技术专利的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1