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

一种面向安全发布的聚合模型训练方法、训练设备及系统

2022-04-27 03:09:28 来源:中国专利 TAG:


1.本发明涉及隐私保护技术领域,具体涉及一种面向安全发布的聚合模型训练方法、训练设备及系统。


背景技术:

2.在人工智能技术的高速发展以及社会、公民隐私意识逐渐提升的背景下,出现了联邦学习这一深度学习技术。深度学习技术最重要的特性之一就是需要大数据的支撑。必须将大量真实场景中的用户数据投入到深度学习的训练中才能得到令人满意的深度学习模型,由此如何解决“数据孤岛”问题显得十分重要。收集分散的大量用户的数据需要面对的最直接的问题就是由于隐私的缘故用户不愿意将数据直接提供给其他人。
3.在应用大量分散的电力数据的过程中,由于结构化的电力数据不仅包含电力相关的数据以及身份标识信息,同时也隐含着数据提供者的用电相关的特征,能够侧面反映很多隐私信息,如何确保电力数据提供者的隐私安全是一个难题。电力联邦学习技术的出现最直接地解决了电力应用场景中的这一问题。通过在每个客户端都部署一个模型,只需将客户端训练好的模型梯度上传随后聚合即可进行与收集数据后统一训练等效的深度模型学习。
4.然而,尽管用户没有将数据直接暴露给模型收集者,计算机科学家们发现仅从模型梯度就可以推断出很多训练数据相关的隐私。基于此,存在两种主要的威胁场景,第一种是最终模型发布后暴露出的模型参数,第二种是训练过程中各个客户端提供的模型梯度。针对这两种场景出现了基于差分隐私的联邦学习模型训练、发布方法以及基于安全计算的联邦学习训练方法。然而单一的基于差分隐私的训练方法无法应对训练过程中的恶意监听者。仅使用安全计算的训练方法没有对于发布的整体模型的保护。


技术实现要素:

5.为了解决现有技术在模型的训练过程中无法抵御窃听者对隐私的窃取行为,以及由于该窃取行文存在所导致的训练过程不安全的技术问题,本发明提供一种面向安全发布的聚合模型训练方法,包括:
6.服务端将处理过的深度学习模型发布到提供训练数据的客户端;
7.服务端将收到的多个客户端提供的梯度信息利用安全聚合协议进行聚合得到模型梯度;
8.服务端基于所述模型梯度对所述深度学习模型进行更新,并将更新后的深度学习模型发送至客户端,继续进行迭代训练直至模型训练完成;
9.其中,所述梯度信息为各客户端基于分布式差分隐私技术利用本地数据对所述深度学习模型进行训练得到。
10.优选的,所述服务端将收到的多个客户端提供的梯度信息利用安全聚合协议进行聚合得到模型梯度,包括:
11.所述服务端将收到的多个客户端提供的加密后的模型梯度进行同态加操作得到密文,并将所述密文发送到各客户端;
12.当所述服务端接收到各客户端返回的明文信息时,基于门限机制对接收到的所有明文信息进行聚合得到模型梯度;
13.其中,所述客户端提供的加密后的模型梯度由客户端利用本地数据对所述深度学习模型进行训练得到;所述客户端返回的明文由客户端对聚合得到密文进行本地解密得到。
14.优选的,所述基于门限机制对接收到的所有明文信息进行聚合得到模型梯度,包括:
15.基于接收的各客户端的明文信息,所述服务端利用可信密码分发服务器提供的密钥以及解密证明对部分明文进行验证;
16.当验证正确的部分明文数量大于设定数量时,将所有正确的部分明文进行聚合解密操作得到聚合梯度;
17.所述明文信息包括:部分明文和解密证明所述可信密码分发服务器提供的密钥包括:公钥、私钥和验证密钥。
18.优选的,所述服务端将处理过的深度学习模型发布到多个提供训练数据的客户端,包括:
19.所述服务端将处理过的深度学习模型以及模型相关的参数发布到多个提供数据的客户端;其中,所述参数包括:模型训练学习率、批处理大小。
20.优选的,所述处理过的深度学习模型发布到多个提供训练数据的客户端之前还包括:
21.预设隐私开销,并将所述预设隐私开销发送至各客户端。
22.优选的,所述服务端将收到的多个客户端提供的梯度信息利用安全聚合协议进行聚合得到模型梯度还包括:
23.服务端基于当前训练,获取多个客户端提供的各客户端的隐私开销,并整合得到当前隐私开销;
24.将当前隐私开销与上一轮训练的隐私开销叠加得到叠加隐私开销;
25.根据训练情况和所述叠加隐私开销确定是否需要对预设隐私开销进行调整,当需要对预设隐私开销进行调整时,将调整后的预设隐私开销发送至各客户端。
26.优选的,当满足下述条件之一时所述模型训练完成:
27.所述服务端确定更新后的深度学习模型的推断结果准确率高于预先设定的准确率阈值或损失值低于预设损失阈值;
28.联邦学习训练轮次达到设定上限。
29.优选的,所述训练完成后还包括,服务端将训练好的模型发布至各客户端。
30.基于同一种发明构思,本发明还提供一种面向安全发布的聚合模型的训练设备,所述训练设备为服务端,所述服务端包括:
31.模型发布模块,用于将处理过的深度学习模型发布到多个提供训练数据的客户端;
32.梯度确定模块,用于将收到的多个客户端提供的梯度信息利用安全聚合协议进行
聚合得到模型梯度;
33.模型更新模块,用于基于所述模型梯度对所述深度学习模型进行更新,并将更新后的模型发送至客户端,继续进行迭代训练直至模型训练完成;
34.其中,所述梯度信息为客户端基于安全聚合协议对客户端本地模型梯度进行处理得到;所述客户端本地模型梯度由客户端利用本地数据结合差分隐私技术对所述深度学习模型进行训练得到。
35.优选的,所述梯度确定模块具体用于:
36.服务端将收到的多个客户端提供的加密后的模型梯度进行同态加操作得到密文,并将所述密文发送到各客户端;
37.当所述服务端接收到各客户端返回的明文信息时,基于门限机制对接收到的所有明文信息进行聚合得到模型梯度;
38.其中,所述客户端提供的加密后的模型梯度由客户端利用本地数据对所述深度学习模型进行训练得到;所述客户端返回的明文由客户端对聚合得到密文进行本地解密得到。
39.基于同一种发明构思,本发明还提供一种面向安全发布的聚合模型训练方法,包括:
40.客户端基于分布式差分隐私技术利用本地数据对服务端发送的深度学习模型进行训练;
41.客户端基于安全聚合协议对训练结果进行处理得到梯度信息,并所述梯度信息发送至服务端;
42.客户端对服务端发送的更新的深度学习模型继续进行迭代训练,直至所述深度学习模型训练完成;
43.其中,所述服务端发送的密文由服务端对多个客户端提供的模型梯度进行聚合得到;所述更新的深度学习模型由服务端基于多个客户端提供的明文信息进行聚合得到的模型梯度对深度学习模型进行更新得到。
44.优选的,所述客户端基于分布式差分隐私技术利用本地数据对服务端发送的深度学习模型进行训练,包括:
45.客户端将本地数据的身份以及特征字段的范围和频率信息传送至服务端;
46.客户端根据收集的信息在本地进行分布式数据匿名隐私化处理;
47.基于处理后的本地数据对所述深度学习模型进行训练,得到更新梯度和本次训练的隐私开销。
48.优选的,所述客户端基于安全聚合协议对训练结果进行处理得到梯度信息,并将所述模型梯度信息加密发送至服务端,包括:
49.客户端利用公钥对梯度进行加密处理,并将加密后的梯度enc
pk
(gi)发送至服务端;
50.客户端接收到服务端发送的密文,使用部分密钥对所述密文进行部分解密得到部分明文,并使用验证密钥vi对所述部分解密结果进行验证得到验证结果;
51.客户端将所述部分明文和验证结果发送至服务端;
52.其中,所述公钥、部分秘钥和验证密钥由可信密码分发服务器提供。
53.优选的,所述基于处理后的本地数据对所述深度学习模型进行训练,得到更新梯度,之后还包括:
54.在所述更新梯度上加一层噪声;
55.所述噪声大小由参数敏感度和服务器发送的预设隐私开销确定;所述参数敏感度由对梯度进行定界处理的方式确定。
56.优选的,所述噪声包括但不限于高斯噪声其中,sf为敏感度,σ为噪声分布的标准差;
57.所述敏感度sf满足下式:
[0058][0059]
其中,g1和g2为两个不同客户端提供的梯度,且g在(-1,1)区间内;
[0060]
所述σ满足下式:
[0061][0062]
其中,ε为预设隐私开销,δ为隐私保护机制失效的概率。
[0063]
优选的,得到本次训练的隐私开销之后,还包括:
[0064]
将所述本次训练的隐私开销发送至服务端。
[0065]
优选的,所述深度学习模型训练完成,包括:
[0066]
当满足下述条件之一,结束深度学习模型的训练:
[0067]
客户端对深度模型训练的推断结果准确率大于准确率阈值;
[0068]
客户端对所述深度模型训练时的损失值小于损失阈值;
[0069]
客户端的差分隐私开销大于设定的差分隐私开销阈值;其中,所述客户端的差分隐私开销由整体差分隐私开销确定;
[0070]
整体联邦学习训练轮次达到所设上限。
[0071]
基于同一种发明构思,本发明还提供一种面向安全发布的聚合模型的训练设备;所述训练设备为客户端,所述客户端包括:
[0072]
训练模块,用于基于分布式差分隐私技术利用本地数据对服务端发送的深度学习模型进行训练;
[0073]
隐私设置模块,用于基于安全聚合协议对训练结果进行处理得到梯度信息,并所述梯度信息发送至服务端;
[0074]
其中,所述服务端发送的密文由服务端对多个客户端提供的模型梯度进行聚合得到;所述更新的深度学习模型由服务端基于多个客户端提供的明文信息进行聚合得到的模型梯度对深度学习模型进行更新得到。
[0075]
优选的,所述训练模块具体用于:
[0076]
通过收集各个参与方数据身份信息以及特征字段的范围和频率信息;
[0077]
客户端将收集的信息在本地进行分布式数据隐私化处理;
[0078]
基于处理后的本地数据对所述深度学习模型进行训练,得到更新梯度。
[0079]
优选的,所述隐私设置模块具体用于:
[0080]
利用公钥对梯度进行加密处理,并将加密后的梯度发送至服务端;
[0081]
当接收到服务端发送的密文,使用部分密钥对所述密文进行部分解密得到部分明文,并根据验证密钥序列v、vi对所述部分解密进行正确性验证得到验证结果;
[0082]
将所述部分明文和验证结果发送至服务端;
[0083]
其中,所述公钥、部分密钥和验证密钥由可信密码分发服务器提供。
[0084]
基于同一种发明构思,本发明还提供一种面向安全发布的聚合模型的训练系统,包括:服务端和提供训练数据的客户端;
[0085]
所述服务端为本发明提出的一种面向安全发布的聚合模型的训练设备,所述服务端用于提供一种面向安全发布的聚合模型训练方法;
[0086]
所述客户端为本发明提出的一种面向安全发布的聚合模型的训练设备,所述客户端用于提供一种面向安全发布的聚合模型训练方法。
[0087]
与现有技术相比,本发明的有益效果为:
[0088]
本发明提供的一种面向安全发布的聚合模型训练方法、训练设备及系统,包括:将处理过的深度学习模型发布到提供训练数据的客户端;将收到的多个客户端提供的梯度信息利用安全聚合协议进行聚合得到模型梯度;基于所述模型梯度对所述深度学习模型进行更新,并将更新后的深度学习模型发送至客户端,继续进行迭代训练直至模型训练完成;其中,所述梯度信息为各客户端基于分布式差分隐私技术利用本地数据对所述深度学习模型进行训练得到;本发明中服务端无法辨析数据来源,中间窃听者以及其他参与方无法直接获取有关模型的明文信息,使得训练过程安全可靠,能够直接抵御中间人窃听以及其他参与好奇者的隐私窃取行为;当同时存在恶意模型观察者和恶意窃听者的情况下,本发明的技术方案依旧能够提供隐私安全的联邦学习方法;
[0089]
本发明提供的一种面向安全发布的聚合模型训练方法、训练设备及系统,包括:基于分布式差分隐私技术利用本地数据对服务端发送的深度学习模型进行训练,基于安全聚合协议对训练结果进行处理得到梯度信息,并所述梯度信息发送至服务端;对服务端发送的更新的深度学习模型继续进行迭代训练,直至所述深度学习模型训练完成;其中,所述服务端发送的密文由服务端对多个客户端提供的模型梯度进行聚合得到;所述更新的深度学习模型由服务端基于多个客户端提供的明文信息进行聚合得到的模型梯度对深度学习模型进行更新得到;通过对本地数据做分布式匿名化处理以及训练时加以分布式差分隐私噪声使得除本地客户端外接触的参数都经过隐私化处理,并使得最后发布的模型满足对模型观察者的差分隐私;通过基于安全计算技术的联邦学习安全聚合协议使得训练过程中的子模型梯度对于除数据提供者本身以外不可见。
附图说明
[0090]
图1为本发明由服务端实现的一种面向安全发布的聚合模型训练方法;
[0091]
图2为本发明由客户端端实现的一种面向安全发布的聚合模型训练方法;
[0092]
图3为本发明根据实施例示出的电力联邦学习拓扑结构图;
[0093]
图4为本发明申请的一种面向安全发布的聚合模型训练方法的整体流程图;
[0094]
图5为本发明根据实施例示出的分布式差分隐私技术流程图;
[0095]
图6为本发明根据实施例示出的安全聚合协议流程图。
具体实施方式
[0096]
本技术公开了一种面向安全发布的聚合模型训练方法、训练设备及系统,将联邦学习安全聚合协议技术和分布式差分隐私技术结合,以应对电力联邦学习场景下的多种攻击情况。本发明中每个客户端使用安全计算技术获取联邦学习整体信息然后利用分布式差分隐私技术使用本地数据训练深度学习模型。服务端和参与方(即参与模型训练的客户端)使用安全聚合协议将模型聚合完成后,再将新的模型参数传至客户端以便进行迭代训练。本发明能够使得最后发布的模型满足对模型观察者的差分隐私,其次训练过程中的子模型梯度对于除数据提供者本身以外不可见,服务端也无法辨析数据来源。由此一方面能够满足抵御服务端单方或是联合其他参与方的隐私窃取攻击,另一方面对于中间窃听者或是恶意破坏者也有一定的攻击抵御能力。
[0097]
为了更好地理解本发明,下面结合说明书附图和实例对本发明的内容做进一步的说明。
[0098]
实施例1:
[0099]
为了解决现有技术的不足,本发明提供一种由服务端实现的面向安全发布的聚合模型训练方法,如图1所示,包括:
[0100]
步骤1、服务端将处理过的深度学习模型发布到提供训练数据的客户端;
[0101]
步骤2、服务端将收到的多个客户端提供的梯度信息利用安全聚合协议进行聚合得到模型梯度;
[0102]
步骤3、服务端基于所述模型梯度对所述深度学习模型进行更新,并将更新后的深度学习模型发送至客户端,继续进行迭代训练直至模型训练完成;
[0103]
其中,所述梯度信息为各客户端基于分布式差分隐私技术利用本地数据对所述深度学习模型进行训练得到。
[0104]
其中,步骤1服务端将处理过的深度学习模型发布到提供训练数据的客户端,包括:
[0105]
首先预设隐私开销,将预设隐私开销发送至各客户端;
[0106]
然后服务端将处理过的深度学习模型以及模型相关的参数发布到多个提供数据的客户端;其中,所述参数包括:模型训练学习率、批处理大小。
[0107]
其中,步骤2,服务端将收到的多个客户端提供的梯度信息利用安全聚合协议进行聚合得到模型梯度,具体包括:
[0108]
服务端将收到的多个客户端提供的加密后的模型梯度进行同态加操作得到密文,并将所述密文发送到各客户端;
[0109]
当所述服务端接收到各客户端返回的明文信息时,基于门限机制对接收到的所有明文信息进行聚合得到模型梯度;
[0110]
其中,所述客户端提供的加密后的模型梯度由客户端利用本地数据对所述深度学习模型进行训练得到;所述客户端返回的明文由客户端对聚合得到密文进行本地解密得到。
[0111]
这里,基于门限机制对接收到的所有明文信息进行聚合得到模型梯度,包括:
[0112]
基于接收的各客户端的明文信息,所述服务端利用可信密码分发服务器提供的密钥以及解密证明对部分明文进行验证;
[0113]
当验证正确的部分明文数量大于设定数量时,将所有正确的部分明文进行聚合解密操作得到聚合梯度;
[0114]
所述明文信息包括:部分明文和解密证明所述可信密码分发服务器提供的密钥包括:公钥、私钥和验证密钥。
[0115]
步骤2服务端将收到的多个客户端提供的梯度信息利用安全聚合协议进行聚合得到模型梯度还包括:
[0116]
服务端基于当前训练,获取多个客户端提供的各客户端的隐私开销,并整合得到当前隐私开销;
[0117]
将当前隐私开销与上一轮训练的隐私开销叠加得到叠加隐私开销;
[0118]
根据训练情况和所述叠加隐私开销确定是否需要对预设隐私开销进行调整,当需要对预设隐私开销进行调整时,将调整后的预设隐私开销发送至各客户端。
[0119]
步骤3中,当满足下述条件之一时所述模型训练完成:
[0120]
所述服务端确定更新后的深度学习模型的推断结果准确率高于预先设定的准确率阈值或损失值低于预设损失阈值;
[0121]
联邦学习训练轮次达到设定上限。
[0122]
在模型训练完成后,服务端将训练好的模型发布至各客户端。
[0123]
实施例2:
[0124]
本发明还提供一种由客户端实现的面向安全发布的聚合模型训练方法,如图2所示,包括:
[0125]
步骤1、客户端基于分布式差分隐私技术利用本地数据对服务端发送的深度学习模型进行训练;
[0126]
步骤2、客户端基于安全聚合协议对训练结果进行处理得到梯度信息,并所述梯度信息发送至服务端;
[0127]
步骤3、客户端对服务端发送的更新的深度学习模型继续进行迭代训练,直至所述深度学习模型训练完成;
[0128]
其中,所述服务端发送的密文由服务端对多个客户端提供的模型梯度进行聚合得到;所述更新的深度学习模型由服务端基于多个客户端提供的明文信息进行聚合得到的模型梯度对深度学习模型进行更新得到。
[0129]
步骤1、客户端基于分布式差分隐私技术利用本地数据对服务端发送的深度学习模型进行训练,包括:
[0130]
客户端将本地数据的身份以及特征字段的范围和频率信息传送至服务端;
[0131]
客户端根据收集的信息在本地进行分布式数据匿名隐私化处理;
[0132]
基于处理后的本地数据对所述深度学习模型进行训练,得到更新梯度和本次训练的隐私开销,然后将本次训练的隐私开销发送至服务端。
[0133]
进一步的,基于处理后的本地数据对所述深度学习模型进行训练,得到更新梯度,之后还包括:
[0134]
在梯度上加一层噪声;
[0135]
噪声大小由参数敏感度和服务器发送的隐私参数确定;所述参数敏感度由对梯度进行定界处理的方式确定。
[0136]
本发明的噪声包括但不限于高斯噪声其中,sf为敏感度,σ为噪声分布的标准差;
[0137]
所述敏感度sf满足下式:
[0138][0139]
其中,g1和g2为两个不同客户端提供的梯度,且g在(-1,1)区间内;
[0140]
所述σ满足下式:
[0141][0142]
其中,ε为预设隐私开销,、δ为预设参数,代表隐私保护机制失效的概率。
[0143]
步骤2,客户端基于安全聚合协议对训练结果进行处理得到梯度信息,并将所述模型梯度信息加密发送至服务端,包括:
[0144]
客户端利用公钥对梯度进行加密处理,并将加密后的梯度enc
pk
(gi)发送至服务端;
[0145]
客户端接收到服务端发送的密文,使用部分密钥对所述密文进行部分解密得到部分明文,并使用验证密钥vi对所述部分解密结果进行验证得到验证结果;
[0146]
客户端将所述部分明文和验证结果发送至服务端;
[0147]
其中,所述公钥、部分秘钥和验证密钥由可信密码分发服务器提供。
[0148]
步骤3中,当满足下述条件之一,结束深度学习模型的训练:
[0149]
客户端对所述深度模型训练时的损失值小于损失阈值;
[0150]
客户端的差分隐私开销大于设定的差分隐私开销阈值;其中,所述客户端的差分隐私开销由整体差分隐私开销确定,具体可由特定的差分隐私组合定理决定;
[0151]
整体联邦学习训练轮次达到所设上限。
[0152]
实施例3:
[0153]
本发明还提供一种面向安全发布的聚合模型的训练系统,由多个训练设备组成,训练设备包括服务端和多个提供训练数据的客户端;
[0154]
服务端,包括:模型发布模块、梯度确定模块和模型更新模块。
[0155]
模型发布模块,用于将处理过的深度学习模型发布到多个提供训练数据的客户端;
[0156]
梯度确定模块,用于将收到的多个客户端提供的梯度信息利用安全聚合协议进行聚合得到模型梯度;其具体用于:
[0157]
服务端将收到的多个客户端提供的加密后的模型梯度进行同态加操作得到密文,并将所述密文发送到各客户端;
[0158]
当所述服务端接收到各客户端返回的明文信息时,基于门限机制对接收到的所有明文信息进行聚合得到模型梯度;
[0159]
其中,所述客户端提供的加密后的模型梯度由客户端利用本地数据对所述深度学习模型进行训练得到;所述客户端返回的明文由客户端对聚合得到密文进行本地解密得到。
[0160]
模型更新模块,用于基于所述模型梯度对所述深度学习模型进行更新,并将更新后的模型发送至客户端,继续进行迭代训练直至模型训练完成;
[0161]
其中,所述梯度信息为客户端基于安全聚合协议对客户端本地模型梯度进行处理得到;所述客户端本地模型梯度由客户端利用本地数据结合差分隐私技术对所述深度学习模型进行训练得到。
[0162]
客户端,包括:训练模块和隐私设置模块;
[0163]
训练模块,用于基于分布式差分隐私技术利用本地数据对服务端发送的深度学习模型进行训练;其具体用于:
[0164]
通过收集各个参与方数据身份信息以及特征字段的范围和频率信息;
[0165]
客户端将收集的信息在本地进行分布式数据隐私化处理;
[0166]
基于处理后的本地数据对所述深度学习模型进行训练,得到更新梯度。
[0167]
隐私设置模块,用于基于安全聚合协议对训练结果进行处理得到梯度信息,并所述梯度信息发送至服务端;其具体用于:
[0168]
利用公钥对梯度进行加密处理,并将加密后的梯度发送至服务端;
[0169]
当接收到服务端发送的密文,使用部分秘钥对所述密文进行部分解密得到部分明文,并根据验证密钥序列v、vi对所述部分解密进行正确性验证得到验证结果;
[0170]
将所述部分明文和验证结果发送至服务端;
[0171]
其中,所述公钥、部分秘钥和验证密钥由可信密码分发服务器提供;所述服务端发送的密文由服务端对多个客户端提供的模型梯度进行聚合得到;所述更新的深度学习模型由服务端基于多个客户端提供的明文信息进行聚合得到的模型梯度对深度学习模型进行更新得到。
[0172]
本实施例提供的服务端是为了在服务端实现本发明的面向安全发布的聚合模型训练方法,其具体实现的功能可以参考实施例1,这里不再赘述。
[0173]
本实施例提供客户端是为了在客户端实现本发明的面向安全发布的聚合模型训练方法,其具体实现的功能可以参考实施例2,这里不再赘述。
[0174]
实施例4:
[0175]
基于同一种发明构思,本发明还提供利用服务端与客户端共同实现的电力联邦学习模型的训练方法,其拓扑结构见图3,本实施例的客户端可以是电力数据终端或电力中心,各客户端提供大量的电力数据,包括户主、总电量和峰谷电量等信息,聚合服务由电力联邦学习聚合端实现,聚合端即本发明的服务端。其具体实现过程如图4所示,包括:
[0176]
s1、服务端将相同预处理过的深度学习模型部署到多个提供数据的客户端,并且将训练涉及的参数如模型学习率、训练批次大小等传送至客户端。同时,可信密码分发服务器进行安全聚合协议密码体系初始化过程,并向服务端和各个客户端分发公钥和秘密分享过后的私钥ski,以及验证密钥;
[0177]
s2、客户端根据需求预设隐私参数,应用分布式差分隐私技术使用本地数据进行一轮模型训练。然后使用公钥将得到的梯度加密后发送密文ei至服务端;
[0178]
s3、服务端对多个客户端的密文参数进行聚合得到密文e,随后将其发回各个客户端;
[0179]
s4、客户端收到聚合后的密文后使用si进行解密得到部分明文di,并且使用vi进行
解密证明proofi,随后将(di,proofi)发送至服务端;
[0180]
s5、服务端接收并检验各个客户端发送的正确明文di,当接收到的明文数目大于阈值t时,完成秘密恢复得到聚合后的模型梯度;服务端将更新好的模型发送至客户端,随后进行新的迭代训练,直至模型推断结果符合预期,发布最后一次聚合好的模型;
[0181]
在步骤s1中,服务端首先进行相关深度学习训练任务的预处理,以提升联邦学习整体训练效率,然后根据深度学习训练任务的需要设置一些超参数,包括模型训练学习率lr、批处理大小bz,而后一同发放至客户端。
[0182]
具体地,可信密码分发服务器作为可信的第三方机构,对安全聚合协议的门限同态多方安全计算进行密码体系初始化过程,生成所需密钥体系的公钥pk、私钥sk以及验证密钥序列v、vi,随后应用(t,n)秘密分享技术将私钥拆分为ski个并一起发送至服务端和每个客户端,并且密码体系初始化过程需要保证信道安全即私有密钥和验证密钥不会被窃取。基于门限paillier的安全多方计算方案是一种支持加同态的多方计算技术方案,支持多方安全地进行加操作,保证运算在无可信计算参与方情况下的安全性。在本实施例中,针对训练过程的中间窃听者以及服务端不可信的情况,采用门限同态的加密方案能有效防止客户端局部模型泄露,保护各个参与方的隐私。其中t为秘密分享阈值;n为参与者数量(最终提供训练数据的客户端) 服务端。秘密分享将密钥拆分n份后发送至参与者和服务端保证每方一份即可。在步骤s2中,客户端根据统一发放的模型参数,应用分布式差分隐私训练技术更新本地的深度学习模型,以向服务端返回训练好的梯度,即用户端在上传参数之前已对模型参数进行差分隐私处理。
[0183]
差分隐私(differential privacy)是密码学中的一种手段,旨在提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别其记录的机会。本实施例先对客户端参数进行差分隐私处理后再上传至服务器,能够避免参数直接暴露给服务端,有利于保障数据隐私安全,避免差分攻击。
[0184]
具体地,如图5所示,分布式差分隐私技术包括两部分;所述客户端通过收集各个参与方数据身份信息以及特征字段的范围和频率信息,在本地首先进行分布式数据隐私化处理,以实现基本的匿名化并且以最小代价实现特征模糊化;然后应用差分隐私技术使用处理过后的本地数据进行一轮模型训练,包括客户端对本地数据进行一轮模型训练后得到更新梯度,随后在梯度上加一层噪声使其符合差分隐私,噪声大小取决于参数敏感度以及客户端自设的隐私参数;其中参数敏感度可以通过对梯度进行定界处理的方式固定,隐私参数则可以通过分布式交互技术进行整体控制。
[0185]
具体地,所加噪声可以为高斯噪声其中sf为敏感度,σ为噪声分布的标准差,且由此得到的模型梯度符合(ε,δ)差分隐私。其中ε为预设隐私开销,δ为预设参数,代表隐私保护机制失效的概率,而为预设参数,代表隐私保护机制失效的概率,而g1和g2为两个不同参与方的梯度,则可通过对梯度进行界定的方式统一计算,如将梯度限制在(-1,1)区间内。需要注意的是,客户端每次预设的隐私开销都只是一部分,将每轮训练开销εe,e为训练轮数,组合累计,则客户端i的总体开销为εi,而联邦学习整体的隐私开销则为max
i∈(0,l)
εi,l为客户端数量,其中εi可每轮发送至服务端进行记录。其中,差分隐私组合累计计算需要依
靠具体的差分隐私组合定理,这里可以采用矩计算技术。
[0186]
具体地,如图6,联邦学习安全聚合协议包含以下几个步骤:
[0187]
客户端使用公钥(g,n)以及随机数ri对具体梯度m进行加密,得到密文ei,其中而后将ei发送至服务端;
[0188]
进一步地,所述使用公钥并选取随机数ri将得到的梯度加密后发送密文ei至服务端,包括:
[0189]
所述客户端使用统一发放的基于门限paillier的安全多方计算方案中的公钥以及相应密码体系内的随机数ri,对本地隐私化处理过后的梯度进行加密。
[0190]
所述服务端对多个客户端的密文参数进行聚合得到密文e,包括:
[0191]
所述服务端对多个客户端上传的密文参数进行加法同态操作。
[0192]
在步骤s3中,服务端对获取的密文进行同态加操作,具体为e=∏ei,则e为将梯度求和后的密文值,然后将e发送至每个客户端。同时根据获得的εi计算此轮整体隐私开销;
[0193]
在步骤s4中,客户端收到e后使用部分密钥si进行部分解密得到di,且根据验证密钥序列v、vi证明解密的正确性,而后将di和证明结果proofi发送至服务端;
[0194]
进一步地,所述客户端接收服务端传回的使用同态加模型聚合后的密文结果,并使用部分私钥ski进行部分解密;所述的解密证明包括,根据密码体系初始化过程中得到的验证密钥序列确认解密结果正确。
[0195]
在步骤s5中,服务端收到并验证各个di,当数量大于秘密分享预设的t时,进行聚合解密操作得到d,为解密后的聚合梯度,此时最后的更新梯度即为l为参与聚合的客户端数目。随后服务端进行模型的梯度更新操作,完成模型的更新,并将更新好的模型发送至客户端,开始新一轮的迭代训练。模型回送的过程可以采用基本的加密方案防止中间人攻击或信道窃听攻击;
[0196]
当整体模型训练达到预设目标,服务端聚合模型的推断结果准确率高于预先设定的阈值或损失值低于预设阈值。对于客户端来说,本地模型的推断结果准确率高于阈值或者损失值低于阈值时,当前客户端可停止本地训练。对于差分隐私的开销,可根据整体情况进行具体调整,如大于阈值的客户端可停止参加训练或整体联邦学习训练轮次达到所设上限等。
[0197]
以上所述仅为本发明的优选实施例,并不用于限制本技术,本技术可以有各种优化和改变。但凡在本技术的精神和原则之内,所作的任何修改都应包含在本技术的保护范围内。
[0198]
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0199]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0200]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0201]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0202]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0203]
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献