基于可信执行环境的联邦学习方法以及系统技术方案

技术编号:38336943 阅读:8 留言:0更新日期:2023-08-02 09:17
本说明书实施例提供基于可信执行环境的联邦学习方法以及系统,其中所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,包括通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据;通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据;将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据;通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。通过在可信执行环境处理客户端与服务端之间的通信数据,提高数据的隐私性和安全性。据的隐私性和安全性。据的隐私性和安全性。

【技术实现步骤摘要】
基于可信执行环境的联邦学习方法以及系统


[0001]本说明书实施例涉及机器学习
,特别涉及一种基于可信执行环境的联邦学习系统及方法。

技术介绍

[0002]随着互联网技术的快速发展,互联网数据也随之增多。在不同的机构可能保存着同一样本对应的不同特征数据,例如不同的业务平台存储相同用户的不同数据,如果各个业务平台想挖掘该用户的喜好,则只能依据本地存储的用户数据进行聚类分析,无法获得最优的聚类结果,而将各个业务平台的用户数据进行汇总再聚类又会产生数据隐私安全问题。目前常采用联邦学习方法应用于无需共享本地原始数据的多客户端协作学习,联邦学习是一种针对数据孤岛问题、保护数据安全与隐私而提出的一种算法框架,联邦学习的系统架构通常包括客户端和服务器,客户端为联邦学习中的参与方,服务端为联邦学习中的中间方,但是服务端的数据安全无法保障,在服务端遭受到攻击的情况下,利用服务端收集的各客户端的信息还是会出现数据泄露的问题。因此,如何提供一种安全可靠的联邦学习方法是目前亟需解决的问题。

技术实现思路

[0003]有鉴于此,本说明书实施例提供了基于可信执行环境的联邦学习方法。本说明书一个或者多个实施例同时涉及基于可信执行环境的联邦学习装置、基于可信执行环境的联邦学习系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
[0004]根据本说明书实施例的第一方面,提供了一种基于可信执行环境的联邦学习方法,所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,包括:通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据;通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据;将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据;通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。
[0005]根据本说明书实施例的第二方面,提供了一种基于可信执行环境的联邦学习方法,所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,包括:通过所述本地公开计算节点利用本地样本文本对本地文本模型进行训练,获得本地训练数据;
通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据并发送至服务端;接收所述服务端针对所述本地加密数据返回的目标加密数据;通过所述本地隐私计算节点利用所述目标加密数据对所述本地文本模型进行更新,获得目标文本模型。
[0006]根据本说明书实施例的第三方面,提供了一种基于可信执行环境的联邦学习系统,所述系统包括服务端和至少两个客户端,所述服务端包括部署在可信执行环境内的中心隐私计算节点,任意一个客户端包括部署在所述可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,其中,目标客户端,用于通过本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据,通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据,将所述本地加密数据发送至所述服务端;所述服务端,用于通过所述中心隐私计算节点对所述至少两个客户端对应的本地加密数据进行聚合,获得目标加密数据并发送至所述至少两个客户端;所述目标客户端,用于通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。
[0007]根据本说明书实施例的第四方面,提供了一种基于可信执行环境的联邦学习装置,所述装置应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,所述装置包括:训练模块,被配置为通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据;加密模块,被配置为通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据;接收模块,被配置为将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据;更新模块,被配置为通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。
[0008]根据本说明书实施例的第五方面,提供了一种基于可信执行环境的联邦学习装置,所述装置应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,所述装置包括:训练模块,被配置为通过所述本地公开计算节点利用本地样本文本对本地文本模型进行训练,获得本地训练数据;加密模块,被配置为通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据并发送至服务端;接收模块,被配置为接收所述服务端针对所述本地加密数据返回的目标加密数据;更新模块,被配置为通过所述本地隐私计算节点利用所述目标加密数据对所述本地文本模型进行更新,获得目标文本模型。
[0009]根据本说明书实施例的第六方面,提供了一种计算设备,包括:
存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述基于可信执行环境的联邦学习方法的步骤。
[0010]根据本说明书实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述基于可信执行环境的联邦学习方法的步骤。
[0011]根据本说明书实施例的第八方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述基于可信执行环境的联邦学习方法的步骤。
[0012]本说明书一个实施例实现了通过客户端部署在可信执行环境外的本地公开计算节点对未加密的本地样本数据进行处理,通过客户端部署在可信执行环境内的本地隐私计算节点对加密的加密数据进行处理,使得数据处理的安全性更高;并且无需将数据解密汇总给服务端进行汇总,进一步提高数据的隐私性和安全性。
附图说明
图1是本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的场景示意图;图2是本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的流程图;图3是本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的处理过程流程图;图4是本说明书一个实施例提供的一种基于可信执行环境的联邦学习方法的流程图;图5是本说明书一个实施例提供的一种基于可信执行环境的联邦学习系统的流程图;图6是本说明书一个实施例提供的一种基于可信执行环境的联邦学习装置的结构示意图;图7是本说明书一个实施例提供的一种基于可信执行环境的联邦学习装置的结构示意图;图8是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
[0013]在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于可信执行环境的联邦学习方法,其特征在于,所述方法应用于客户端,所述客户端包括部署在可信执行环境内的本地隐私计算节点,以及部署在所述可信执行环境外的本地公开计算节点,所述方法包括:通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据;通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据;将所述本地加密数据发送至服务端,并接收所述服务端针对所述本地加密数据返回的目标加密数据;通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型。2.如权利要求1所述的方法,其特征在于,通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练之前,所述方法还包括:响应于针对目标学习任务的任务执行指令,向所述目标学习任务对应的服务端发送模型获取请求;接收所述服务端针对所述模型获取请求返回的初始模型参数,并根据所述初始模型参数构建本地预训练模型。3.如权利要求1所述的方法,其特征在于,所述客户端包括任务调度节点,所述方法还包括:在接收到训练任务的情况下,通过所述任务调度节点选择所述本地公开计算节点,并执行通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据的步骤;在接收到加密任务的情况下,通过所述任务调度节点选择所述本地隐私计算节点,并执行通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据的步骤;在接收到更新任务的情况下,通过所述任务调度节点选择所述本地隐私计算节点,并执行通过所述本地隐私计算节点利用所述目标加密数据对所述本地预训练模型进行更新,获得目标模型的步骤。4.如权利要求1所述的方法,其特征在于,通过所述本地公开计算节点利用本地样本数据对本地预训练模型进行训练,获得本地训练数据,包括:通过所述本地公开计算节点将本地样本数据输入至本地预训练模型,获得所述本地预训练模型输出的本地预测标签;根据所述本地样本数据对应的本地样本标签和所述本地预测标签计算所述本地预训练模型的模型损失值;基于所述模型损失值调整所述本地预训练模型的模型参数,并继续训练所述本地预训练模型,直至获得满足预设模型训练条件的目标预训练模型;将所述目标预训练模型的模型参数作为本地训练数据。5.如权利要求1所述的方法,其特征在于,通过所述本地隐私计算节点对所述本地训练数据进行加密,获得本地加密数据,包括:通过所述本地隐私计算节点确定所述本地训练数据对应的对称密钥;
基于所述对称密钥对所述本地训练数据进行加密。6.如权利要求5所述的方法,其特征在于,所述对称密钥的生成,包括:响应于针对联邦学习任务的密钥生成指令生成本地公私密钥和本地对称密钥;将所述本地公私密钥中的本地公钥发送至所述联邦学习任务的参与方,以及接收所述联邦学习任务的参与方发送的网络公钥;基...

【专利技术属性】
技术研发人员:陈超超叶家俊郑小林
申请(专利权)人:杭州金智塔科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1