掌桥专利:专业的专利平台
掌桥专利
首页

一种数据隐私保护和高模型质量的分布式联邦学习方法

文献发布时间:2024-04-18 19:58:53


一种数据隐私保护和高模型质量的分布式联邦学习方法

技术领域

本发明涉及信息安全和联邦学习技术领域,关于数据隐私保护和模型可靠的分布式联邦学习问题,涉及同态加密、联邦学习、可信执行环境、区块链,具体涉及到多密钥同态加密,可信执行环境数据保护,区块链通信和分布式联邦学习的一种数据隐私保护和高模型质量的分布式联邦学习方法。

背景技术

近年来,基于神经网络的深度学习在语音识别、图像识别和自动驾驶等各种任务中取得了巨大进展。为了实现更高的精度要求,有必要向深度学习模型提供大量的训练数据。然而,随着数据隐私意识的不断提高,集中所有参与者的训练数据变得困难。为了解决这个问题,出现了许多隐私保护深度学习框架。在这些框架中,联邦学习是一个广泛使用的系统。它允许用户在不上传本地数据的情况下参与协作训练。传统的联邦学习体系结构是一种集中式结构,包括一个中央服务器和多个参与者。参与者使用本地数据进行模型训练,并将获得的模型更新上传到中央服务器。中央服务器获得所有参与者的更新后,对其进行聚合并返回聚合后的全局模型。参与者根据中央服务器返回的全局模型调整其本地模型。这个过程在多个回合中迭代,直到全局模型收敛。

尽管联邦学习使参与者能够在不披露本地数据的情况下进行协作训练,但它仍然面临一些挑战。中央服务器的单点故障和恶意行为会对系统造成巨大危害。中心服务器承担模型聚合的任务。如果它断开连接或损坏,整个联邦学习过程将停止。在训练任务中,现有研究多假设中央服务器是诚实的或半诚实的。然而,部分研究并没有保护全局模型,它是否安全还有待验证。在中央服务器获得未受保护的全局模型后,攻击者可以利用该模型牟利。更重要的是,一旦中央服务器被攻击者控制,他们就可以利用服务器任意破坏训练任务。即使中央服务器正常执行任务,它也可以通过隐私推断攻击从模型更新的梯度推断出大量敏感信息。此外,在某些场景中(例如,客户端是边缘移动设备),每次向中央服务器发送数据都会产生巨大的成本。因此,为了解决上述问题,分布式联邦学习是一种有效的解决方案。这种方法从根本上解决了服务器单点故障和作恶的问题。然而,这种框架中缺少有效的隐私保护方法和模型质量检测技术。所以,需要更有效的方法来保护分布式联邦学习框架的数据隐私性和模型可靠性。

发明内容

本发明主要讨论分布式联邦学习。在这种设置下,客户端可以在没有中央服务器的情况下直接交换模型,避免了单点故障和服务器作恶,而且允许客户在学习过程中加入或离开。

本发明的目的在于:为了解决分布式联邦学习中的数据隐私和模型可靠性问题,提出了一种有效的提高数据隐私和保障模型可靠性的分布式联邦学习方案。

实现本发明目的的具体方案是:

一种数据隐私保护和高模型质量的分布式联邦学习方法,包括如下实体:客户端、可信机构CA和任务发布者;所述客户端负责训练本地模型并承担聚合任务;可信机构CA负责为系统生成参数和证书;任务发布者负责选择任务区域、发布任务;所述的分布式联邦学习方法包括下列步骤:

步骤1:系统设置

CA选择一个安全参数λ并执行多密钥同态加密参数生成算法MKHE.Setup(1

步骤2:设备初始化

客户端P

步骤3:任务发布

任务发布者根据任务要求生成一个测试数据集;任务发布者初始化全局模型,并选择任务区域;任务发布者将任务区域划分为子区域,同一子区域的客户端为一组;任务发布者远程验证客户端的可信执行环境TEE并建立安全信道,然后上传测试数据集给客户端的可信执行环境;

步骤4:训练与聚合阶段

步骤3中的客户端使用本地数据集训练生成本地模型,然后通过安全信道将本地模型及其公钥上传到本地TEE;TEE对模型进行加密和签名,并将结果上传到区块链;客户端从区块链下载同一组中其他客户端的加密模型信息并聚合生成密文子全局模型;同组客户端对密文子全局模型协作解密后上传至区块链,最后下载其他组对应的明文子全局模型并计算全局模型;客户端得到全局模型后先利用TEE对本地模型质量进行评估,根据评估结果更新客户端的信誉价值,最后利用全局模型对本地模型进行更新,经过T轮,训练结束;其中:

所述步骤2具体包括:

客户端P

所述步骤3具体包括:

任务发布者选择一个训练任务I,初始化全局模型ω

所述步骤4具体包括:

步骤3中的客户端使用本地数据集训练生成本地模型,然后通过安全信道将本地模型及其公钥上传到本地TEE;TEE使用加密算法MKHE.Enc对模型进行加密,生成加密模型并使用自己内部私钥对加密结果进行签名;每个客户端从本地TEE下载打包的加密模型和签名信息,并将其上传到区块链;具体步骤如下:

共有t轮训练过程,当t=1时,客户端利用本地数据集和本地数据集大小更新本地模型,具体步骤如下:

1)利用本地数据集更新本地模型,

是学习率,

2)利用本地数据集大小s作为权重更新本地模型:

当t>1时,客户端利用上一轮模型的准确度作为权重更新本地模型,具体步骤如下:

1)利用本地数据集更新本地模型:

2)利用上一轮模型的准确度

将更新后的本地模型上传TEE,TEE对模型进行加密和签名,具体步骤如下:

1)客户端通过安全信道将本地模型上传到本地TEE中;

2)本地TEE利用MKHE.Enc加密模型,并利用签名算法Sign对加密结果进行签名:

3)客户端在本地TEE中下载

当信息上传到区块链时,智能合约首先与TEE服务提供商验证签名的正确性,验证通过才能上传信息给区块链;在模型聚合中,每个客户端从区块链下载同一分组中其他客户端的加密模型信息并聚合生成密文子全局模型;同组客户端对密文子全局模型协作解密后上传至区块链,最后下载其他组对应的明文子全局模型并计算全局模型,具体执行步骤如下:

若一个组中的客户端为

1)利用多密钥同态加密加法运算算法MKHE.Add聚合模型密文:

2)客户端利用门限解密算法MKHE.PartDec对聚合结果执行门限解密:

3)客户端将解密结果

4)组内每个客户端利用门限聚合算法MKHE.FinDec计算子全局模型,并将生成的明文子全局模型上传区块链:

5)客户端加和所有子全局模型得到全局模型:

在模型质量评估中,任务发布者评估每个参与任务的客户端的本地模型的质量;在每轮模型聚合之后,任务发布者通过安全信道将全局模型和阈值上传到客户端的TEE;在TEE中运行模型评估算法,以评估客户端上传的本地模型;评估结束后,TEE通过安全通道将评估结果返回给任务发布者;任务发布者根据评估结果筛选参与任务的客户端;具体步骤如下:

1)客户端从区块链下载全局模型ω

2)在TEE中利用测试数据集评估模型准确度:

3)设客户端P

为了让客户端积极、诚实地参与训练任务,需要一个公平的激励机制来鼓励用户;客户端的信誉价值是激励机制设计的根本依赖;影响其信誉价值的因素有两个:本地模型的质量和训练任务的完成情况;任务发布者将根据客户端的信誉值来决定是否选择其参与训练任务;具体步骤如下:

若信誉值奖励为m,惩罚系数为c,对于客户端P

1)若客户端在规定时间T

2)否则其信誉值将会收到影响:

本发明使得客户端能够直接交换他们的模型,可以有效检测客户端接收到的模型是否为低质量的模型。此外多密钥同态加密技术用于保护客户端模型信息,以增强数据私密性。该方法还支持客户端加入和离开,能够有效地避免服务器单点故障和做恶问题,并保证了在模型的可靠性,生成的全局模型几乎没有精度损失。本发明满足安全性强,模型精度高等特点。

附图说明

图1为本发明流程图。

具体实施方式

以下结合附图对本发明做详细描述。

本发明的数据隐私保护和模型可靠的分布式联邦学习方法,包括如下实体:客户端、可信机构CA和任务发布者。客户端负责训练本地模型并承担聚合任务;可信机构CA负责为系统生成必要的参数和证书;任务发布者负责选择任务区域、发布任务等。具体包括下列步骤:

(1)系统设置

CA选择一个安全参数λ并执行多密钥同态加密参数生成算法MKHE.Setup(1

(2)设备初始化

客户端P

(3)任务发布

任务发布者选择一个训练任务I,初始化全局模型ω

(4)训练与聚合阶段

步骤3中的客户端使用本地数据集训练生成本地模型,然后通过安全信道将本地模型及其公钥上传到本地TEE;TEE使用加密算法MKHE.Enc对模型进行加密,生成加密模型并使用自己内部私钥对加密结果进行签名;每个客户端从本地TEE下载打包的加密模型和签名信息,并将其上传到区块链;具体步骤如下:

共有t轮训练过程,当t=1时,客户端利用本地数据集和本地数据集大小更新本地模型,具体步骤如下:

1)利用本地数据集更新本地模型,

2)利用本地数据集大小s

当t>1时,客户端利用上一轮模型的准确度作为权重更新本地模型,具体步骤如下:

1)利用本地数据集更新本地模型:

2)利用上一轮模型的准确度

将更新后的本地模型上传TEE,TEE对模型进行加密和签名,具体步骤如下:

1)客户端通过安全信道将本地模型上传到本地TEE中;

2)本地TEE利用MKHE.Enc加密模型,并利用签名算法Sign对加密结果进行签名:

3)客户端在本地TEE中下载

当信息上传到区块链时,智能合约首先与TEE服务提供商验证签名的正确性,验证通过才能上传信息给区块链;在模型聚合中,每个客户端从区块链下载同一分组中其他客户端的加密模型信息并聚合生成密文子全局模型;同组客户端对密文子全局模型协作解密后上传至区块链,最后下载其他组对应的明文子全局模型并计算全局模型,具体执行步骤如下:

若一个组中的客户端为

1)利用多密钥同态加密加法运算算法MKHE.Add聚合模型密文:

2)客户端利用门限解密算法MKHE.PartDec对聚合结果执行门限解密:

3)客户端将解密结果ρ

4)组内每个客户端利用门限聚合算法MKHE.FinDec计算子全局模型,并将生成的明文子

全局模型上传区块链:

5)客户端加和所有子全局模型得到全局模型:

在模型质量评估中,任务发布者评估每个参与任务的客户端的本地模型的质量;在每轮模型聚合之后,任务发布者通过安全信道将全局模型和阈值上传到客户端的TEE;在TEE中运行模型评估算法,以评估客户端上传的本地模型;评估结束后,TEE通过安全通道将评估结果返回给任务发布者;任务发布者根据评估结果筛选参与任务的客户端;具体步骤如下:

1)客户端从区块链下载全局模型ω

2)在TEE中利用测试数据集评估模型准确度:

3)设客户端P的信誉值为

为了让客户端积极、诚实地参与训练任务,需要一个公平的激励机制来鼓励用户;客户端的信誉价值是激励机制设计的根本依赖;影响其信誉价值的因素有两个:本地模型的质量和训练任务的完成情况;任务发布者将根据客户端的信誉值来决定是否选择其参与训练任务;具体步骤如下:

若信誉值奖励为m,惩罚系数为c,对于客户端P,T(P)是P在本轮中执行聚合和解密任务所需的时间,T

1)若客户端在规定时间T

2)否则其信誉值将会收到影响:

相关技术
  • 一种基于拆分联邦学习的分布式无人艇模型训练数据隐私保护方法
  • 一种数据隐私保护的无服务器异步联邦学习方法
技术分类

06120116510808