两方横向联邦学习方法和用于两方横向联邦学习的装置制造方法及图纸

技术编号:34495486 阅读:17 留言:0更新日期:2022-08-10 09:15
本发明专利技术实施例提供一种两方横向联邦学习方法和用于两方横向联邦学习的装置。其中的方法包括:利用本地数据集模拟至少两个虚拟参与方,每个虚拟参与方持有虚拟数据集;利用所述至少两个虚拟参与方持有的虚拟数据集对所述联邦学习模型进行训练,得到每个虚拟参与方对应的第一参数;对各个虚拟参与方的第一参数进行聚合计算,得到第二参数;基于加密协议对所述第二参数进行加密,得到参数密文;将所述参数密文发送至协同方;接收所述协同方返回的聚合参数;基于所述聚合参数对所述联邦学习模型进行迭代更新,直至满足预设终止条件得到训练完成的联邦学习模型。本发明专利技术可以增强两方参与的横向联邦学习的安全性。的横向联邦学习的安全性。的横向联邦学习的安全性。

【技术实现步骤摘要】
两方横向联邦学习方法和用于两方横向联邦学习的装置


[0001]本专利技术涉及多方安全计算领域,尤其涉及一种两方横向联邦学习方法和用于两方横向联邦学习的装置。

技术介绍

[0002]在涉及多个数据方的数据融合计算过程中,传统的数据计算方式存在数据隐私泄露的风险。隐私计算平台可以在加密数据上直接进行计算,虽然牺牲了一定的计算效率,但是可以在保证数据隐私安全的基础上实现多方数据的融合计算。
[0003]联邦学习指的是拥有数据的各个数据方,在不共享受保护的隐私数据且自有数据不传递到外部的前提下,通过加密的方式交换模型相关信息从而实现协同优化联邦学习模型。
[0004]当前实现联邦学习的方式主要有两种,一种是通过半同态方法进行梯度聚合,另一种通过秘密分享进行梯度聚合。当只有两方参与横向联邦学习时,虽然梯度聚合过程是加密的,但对方的梯度可以通过本方梯度与聚合后梯度计算得出,因此原始数据信息存在被暴露的风险。

技术实现思路

[0005]本专利技术实施例提供一种两方横向联邦学习方法和用于两方横向联邦学习的装置,可以解决现有技术中只有两方参与时,一方的参数可以通过另一方的参数与聚合参数计算得出,造成原始数据信息泄露的问题。
[0006]为了解决上述问题,本专利技术实施例公开了一种两方横向联邦学习方法,应用于参与方,所述方法用于利用两个参与方的本地数据集对联邦学习模型进行迭代训练,所述方法包括:利用本地数据集模拟至少两个虚拟参与方,每个虚拟参与方持有虚拟数据集,所述虚拟数据集是所述参与方的本地数据集的子集;利用所述至少两个虚拟参与方持有的虚拟数据集对所述联邦学习模型进行训练,得到每个虚拟参与方对应的第一参数;对各个虚拟参与方的第一参数进行聚合计算,得到第二参数;基于加密协议对所述第二参数进行加密,得到参数密文;将所述参数密文发送至协同方,以使所述协同方对两个参与方的参数密文进行聚合计算得到聚合参数;接收所述协同方返回的聚合参数;基于所述聚合参数对所述联邦学习模型进行迭代更新,直至满足预设终止条件得到训练完成的联邦学习模型。
[0007]本专利技术实施例还公开了另一种两方横向联邦学习方法,应用于协同方,所述方法用于利用两个参与方的本地数据集对联邦学习模型进行迭代训练,所述方法包括:
接收两个参与方发送的参数密文;对所述两个参与方的参数密文进行聚合计算,得到聚合参数;将所述聚合参数分别发送至所述两个参与方,以使所述两个参与方分别利用所述聚合参数对所述联邦学习模型进行下一轮迭代训练。
[0008]另一方面,本专利技术实施例公开了一种两方横向联邦学习装置,应用于参与方,所述装置用于利用两个参与方的本地数据集对联邦学习模型进行迭代训练,所述装置包括:参与方模拟模块,用于利用本地数据集模拟至少两个虚拟参与方,每个虚拟参与方持有虚拟数据集,所述虚拟数据集是所述参与方的本地数据集的子集;模型训练模块,用于利用所述至少两个虚拟参与方持有的虚拟数据集对所述联邦学习模型进行训练,得到每个虚拟参与方对应的第一参数;聚合计算模块,用于对各个虚拟参与方的第一参数进行聚合计算,得到第二参数;加密计算模块,用于基于加密协议对所述第二参数进行加密,得到参数密文;密文发送模块,用于将所述参数密文发送至协同方,以使所述协同方对两个参与方的参数密文进行聚合计算得到聚合参数;参数接收模块,用于接收所述协同方返回的聚合参数;迭代更新模块,用于基于所述聚合参数对所述联邦学习模型进行迭代更新,直至满足预设终止条件得到训练完成的联邦学习模型。
[0009]本专利技术实施例还提供了另一种两方横向联邦学习装置,应用于协同方,所述装置用于利用两个参与方的本地数据集对联邦学习模型进行迭代训练,所述装置包括:密文接收模块,用于接收两个参与方发送的参数密文;参数聚合模块,用于对所述两个参与方的参数密文进行聚合计算,得到聚合参数;参数发送模块,用于将所述聚合参数分别发送至所述两个参与方,以使所述两个参与方分别利用所述聚合参数对所述联邦学习模型进行下一轮迭代训练。
[0010]再一方面,本专利技术实施例公开了一种用于两方横向联邦学习的装置,应用于参与方,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:利用本地数据集模拟至少两个虚拟参与方,每个虚拟参与方持有虚拟数据集,所述虚拟数据集是所述参与方的本地数据集的子集;利用所述至少两个虚拟参与方持有的虚拟数据集对所述联邦学习模型进行训练,得到每个虚拟参与方对应的第一参数;对各个虚拟参与方的第一参数进行聚合计算,得到第二参数;基于加密协议对所述第二参数进行加密,得到参数密文;将所述参数密文发送至协同方,以使所述协同方对两个参与方的参数密文进行聚合计算得到聚合参数;接收所述协同方返回的聚合参数;基于所述聚合参数对所述联邦学习模型进行迭代更新,直至满足预设终止条件得到训练完成的联邦学习模型。
[0011]本专利技术实施例还公开了另一种用于两方横向联邦学习的装置,应用于协同方,包
括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:接收两个参与方发送的参数密文;对所述两个参与方的参数密文进行聚合计算,得到聚合参数;将所述聚合参数分别发送至所述两个参与方,以使所述两个参与方分别利用所述聚合参数对所述联邦学习模型进行下一轮迭代训练。
[0012]又一方面,本专利技术实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的两方横向联邦学习方法。
[0013]本专利技术实施例包括以下优点:本专利技术实施例提供的两方横向联邦学习方法,可以通过各个参与方在本地模拟至少两个虚拟参与方,利用至少两个虚拟参与方进行模型训练,参与方向协同方上传的参数密文,不是基于本地数据集直接得到的参数,而是对虚拟参与方的第一参数进行聚合计算之后得到的第二参数,从而对参与方最终上传的模型参数增加了混淆,相比于常规的两方横向联邦学习方法,本专利技术实施例大大增加了其中一个参与方反推出另一个参与方的原始训练数据的难度,增强了两方参与的横向联邦学习的安全性。
附图说明
[0014]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1是现有技术中常见的两方横向联邦学习的系统架构示意图;图2是本专利技术的一种两方横向联邦学习的系统架构的示意图;图3是本专利技术的一种两方横向联邦学习方法实施例的步骤流程图;图4是本专利技术的另一种两方横向联邦学习方法实施例的步骤流程图;图5是本专利技术的一种两方横向联邦学习装置实施例的结构框图;图6是本专利技术的另一种两方横向联邦学习装置实施例的结构本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种两方横向联邦学习方法,其特征在于,应用于参与方,所述方法用于利用两个参与方的本地数据集对联邦学习模型进行迭代训练,所述方法包括:利用本地数据集模拟至少两个虚拟参与方,每个虚拟参与方持有虚拟数据集,所述虚拟数据集是所述参与方的本地数据集的子集;利用所述至少两个虚拟参与方持有的虚拟数据集对所述联邦学习模型进行训练,得到每个虚拟参与方对应的第一参数;对各个虚拟参与方的第一参数进行聚合计算,得到第二参数;基于加密协议对所述第二参数进行加密,得到参数密文;将所述参数密文发送至协同方,以使所述协同方对两个参与方的参数密文进行聚合计算得到聚合参数;接收所述协同方返回的聚合参数;基于所述聚合参数对所述联邦学习模型进行迭代更新,直至满足预设终止条件得到训练完成的联邦学习模型。2.根据权利要求1所述的方法,其特征在于,所述利用本地数据集模拟至少两个虚拟参与方,包括:对本地数据集分别进行N次随机采样,得到N个虚拟数据集,N为正整数,且N≥2;或者,将本地数据集平均分为N份,得到N个虚拟数据集;基于所述N个虚拟数据集构建N个虚拟参与方,每个虚拟参与方持有一个虚拟数据集。3.根据权利要求1所述的方法,其特征在于,所述基于所述聚合参数对所述联邦学习模型进行迭代更新,直至满足预设终止条件得到训练完成的联邦学习模型,包括:在每一轮训练中,基于所述聚合参数更新所述联邦学习模型的本地参数,并判断是否满足预设终止条件;若确定满足预设终止条件,则结束训练,得到训练完成的联邦学习模型;若确定不满足预设终止条件,则利用本地数据集重新模拟至少两个虚拟参与方,并利用重新模拟的至少两个虚拟参与方持有的虚拟数据集对更新后的联邦学习模型进行下一轮迭代训练。4.根据权利要求1所述的方法,其特征在于,所述对各个虚拟参与方的第一参数进行聚合计算,得到第二参数,包括:计算各个虚拟参与方的第一参数的平均值,得到第二参数。5.一种两方横向联邦学习方法,其特征在于,应用于协同方,所述方法用于利用两个参与方的本地数据集对联邦学习模型进行迭代训练,所述方法包括:接收两个参与方发送的参数密文;对所述两个参与方的参数密文进行聚合计算,得到聚合参数;将所述聚合参数分别发送至所述两个参与方,以使所述两个参与方分别利用所述聚合参数对所述联邦学习模型进行下一轮迭代训练。6.一种两方横向联邦学习装置,其特征在于,应用于参与方,所述装置用于利用两个参与方的本地数据集对联邦学习模型进行迭代训练,所述装置包括:参与方模拟模块,用于利用本地数据集模拟至少两个虚拟参与方,每个虚拟参与方持有虚拟数据集,所述虚拟数据集是所述参与方的本地数据集的子集;
模型训练模块,用于利用所述至少两个虚拟参与方持有的虚拟数据集对所述联邦学习模型进行训练,得到每个虚拟参与方对应...

【专利技术属性】
技术研发人员:杨桂林
申请(专利权)人:华控清交信息科技北京有限公司
类型:发明
国别省市:

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

1