基于秘密共享、同态加密的无第三方联邦学习方法及系统技术方案

技术编号:30413081 阅读:28 留言:0更新日期:2021-10-20 11:50
本申请实施例提供了一种基于秘密共享、同态加密的无第三方联邦学习方法及系统,在训练模型过程中,各参与方通过秘密分享模型训练的中间结果,并将本方获得的秘密以同态加密的形式交互给其他参与方,进行模型训练,最终指定结果方获得模型训练的最终结果,实现了无可信第三方机构的联邦学习中模型的训练。并且,由于仅秘密分享模型训练的中间结果,相比于基于MPC的无可信第三方联邦学习方案中将原始样本数据和模型参数进行拆分并秘密共享的方式,大大降低了系统资源的消耗,以及通信复杂度。以及通信复杂度。以及通信复杂度。

【技术实现步骤摘要】
基于秘密共享、同态加密的无第三方联邦学习方法及系统


[0001]本申请涉及机器学习
,特别是涉及一种基于秘密共享、同态加密的无第三方联邦学习方法及系统。

技术介绍

[0002]当今,大数据驱动的人工智能技术已经广泛应用于金融、零售、医疗等领域。为了得到更好效果的模型,往往需要大量数据的支撑,而现实中数据往往分布于不同的机构。
[0003]不同领域的数据往往存在着很大的互补性,不同组织间有很大的数据融合需求。然而基于隐私保护、自身利益和政策监管等因素考虑,各组织间很难将数据进行直接聚合。
[0004]在传统的联合建模方式中,样本数据需要被归集到某一方或第三方特定环境中,在这个过程中,多方数据有脱离私域的安全合规风险。
[0005]如何解决第三方可信风险问题,是隐私计算在实际落地应用的新挑战,业界已有的解决方案通常是基于MPC(Secure Muti

party Computation,安全多方计算)底层协议,设计无可信第三方方案。MPC协议在理论上只需要计算参与方之间的信息交互,不需要第三方介入,因此可以在MPC基础算子和函数算子之上实现协同机器学习,达成联邦学习效果,并规避第三方可信风险问题。
[0006]目前基于MPC的方案中,通常采用秘密共享协议,将原始样本数据和模型参数进行拆分并秘密共享给其他参与方,秘态下进行模型训练。因为样本数据量的巨大,其导致资源消耗和通讯消耗也会巨大,且会破坏原始数据的稀疏性(例如,原始数据如果是0的话,拆分为两个随机数a、b,满足a+b=0,则a和b都不会是0了)。这也会增加很多没必要的计算。
[0007]可见,受限于MPC协议的复杂度和性能瓶颈,基于MPC的无可信第三方联邦学习方案所消耗的系统资源较多、通信复杂度较高。

技术实现思路

[0008]本申请实施例的目的在于提供一种基于秘密共享、同态加密的无第三方联邦学习方法及系统,以实现在不依赖第三方机构,保护参与方隐私数据的前提下,完成纵向联邦学习中回归模型的训练,且降低了系统资源的消耗和通信复杂度。具体技术方案如下:为实现上述目的,本申请实施例提供了一种基于秘密共享、同态加密的无第三方联邦学习方法,所述方法包括:各个数据提供方基于本方存储的第一特征、第一特征参数进行第一内积运算,将运算得到的第一内积秘密共享至第一计算方和第二计算方;其中,所述第一特征是预先从样本用户的第一行为数据中提取的;所述第一计算方为数据需求方;所述第二计算方是预先从多个数据提供方中选取的;所述数据需求方基于本方存储的第二特征、第二特征参数进行第二内积运算,将运算得到的第二内积,以及本方存储的目标标签秘密共享至所述第一计算方和所述第二计算方;其中,所述第二特征是预先从所述样本用户的第二行为数据中提取的;
所述第一计算方基于第一内积的第一秘密、第二内积的第一秘密和目标标签的第一秘密,按照预设回归模型的回归算法计算第一回归结果,基于本方生成的公钥对所述第一回归结果进行同态加密,将同态加密的第一回归结果发送至其他参与方;所述第二计算方基于第一内积的第二秘密、第二内积的第二秘密和目标标签的第二秘密,按照预设回归模型的回归算法计算第二回归结果,基于本方生成的公钥对所述第二回归结果进行同态加密,将同态加密的第二回归结果发送至其他参与方;所述第一计算方基于所述第一回归结果和本方存储的数据特征,计算本方梯度的第一秘密,并基于所接收的同态加密的第二回归结果、本方存储的数据特征,加密计算本方梯度的第二秘密;所述第二计算方基于所述第二回归结果和本方存储的数据特征,计算本方梯度的第一秘密,并基于所接收的同态加密的第一回归结果、本方存储的数据特征,加密计算本方梯度的第二秘密;除所述第二计算方之外的其他数据提供方,基于接收的同态加密的第一回归结果、同态加密的第二回归结果和本方存储的数据特征,加密计算本方梯度的第一秘密和第二秘密;所述第一计算方在本方梯度的第一秘密基础上增加第一随机掩码,得到本方梯度的新的第一秘密,将同态加密下本方梯度的第二秘密减去所述第一随机掩码,得到同态加密下本方梯度的新的第二秘密,将同态加密下本方梯度的新的第二秘密发送至所述第二计算方;所述第二计算方在本方梯度的第一秘密基础上增加第二随机掩码,得到本方梯度的新的第一秘密,将同态加密下本方梯度的第二秘密减去所述第二随机掩码,得到同态加密下本方梯度的新的第二秘密,将同态加密下本方梯度的新的第二秘密发送至所述第一计算方;除所述第二计算方之外的其他数据提供方,在本方梯度的第一秘密基础上增加第三随机掩码,得到同态加密下本方梯度的第一秘密,并将同态加密下本方梯度的第一秘密发送至所述第一计算方;在本方梯度的第二秘密基础上增加第四随机掩码,得到同态加密下本方梯度的第二秘密,将同态加密下本方梯度的第二秘密发送至所述第二计算方;基于所述第三随机掩码和所述第四随机掩码生成本方梯度的第三秘密;所述第一计算方对其他参与方发送的同态加密下的秘密进行同态解密,并将同态解密结果反馈至对应的参与方;所述第二计算方对其他参与方发送的同态加密下的秘密进行同态解密,并将同态解密结果反馈至对应的参与方;所述第一计算方基于本方梯度的新的第一秘密,以及所述第二计算方反馈的同态解密后本方梯度的第二秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;所述第二计算方基于本方梯度的新的第一秘密,以及所述第一计算方反馈的同态解密后的本方梯度的第二秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;除所述第二计算方之外的其他数据提供方,基于所述第一计算方反馈的同态解密后本方梯度的第一秘密、所述第二计算方反馈的同态解密后本方梯度的第二秘密、以及本方梯度的第三秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;判断是否满足模型训练的终止条件,若满足,则将各参与方当前的特征参数确定
为训练完成后的特征参数;若不满足,返回所述各个数据提供方基于本方存储的第一特征、第一特征参数进行第一内积运算的步骤。
[0009]可选的,所述第一内积包括各个数据提供方的第一额外内积结果;所述第二内积包括各个数据需求方的第二额外内积结果;所述方法还包括:所述第一计算方基于同态解密恢复的第一额外内积结果、第二额外内积结果和预设损失计算公式,计算模型损失值。
[0010]可选的,所述判断是否满足模型训练的终止条件的步骤,包括:判断模型训练的迭代次数是否达到阈值,或者所述模型损失值是否小于预设损失值;若模型训练的迭代次数达到阈值,或者所述模型损失值小于预设损失值,则满足模型训练的终止条件。
[0011]可选的,所述预设回归模型为广义线性回归,所述回归模型包括:线性回归、逻辑回归、泊松回归、伽马回归或Tweedie回归。
[0012]为实现上述目的,本申请实施例提供了一种基于秘密共享、同态加密的无第三方联邦学习系统,所述系统包括:一个数据需求方和多个数据提供方;各个数据提供方,用于基于本方存储的第一特征、第一特征参数进行第一内积运算,将运算得到的第一内积秘密共享至第一计算方和第二计算方;其中,所述第一特征是预先从样本用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于秘密共享、同态加密的无第三方联邦学习方法,其特征在于,所述方法包括:各个数据提供方基于本方存储的第一特征、第一特征参数进行第一内积运算,将运算得到的第一内积秘密共享至第一计算方和第二计算方;其中,所述第一特征是预先从样本用户的第一行为数据中提取的;所述第一计算方为数据需求方;所述第二计算方是预先从多个数据提供方中选取的;所述数据需求方基于本方存储的第二特征、第二特征参数进行第二内积运算,将运算得到的第二内积,以及本方存储的目标标签秘密共享至所述第一计算方和所述第二计算方;其中,所述第二特征是预先从所述样本用户的第二行为数据中提取的;所述第一计算方基于第一内积的第一秘密、第二内积的第一秘密和目标标签的第一秘密,按照预设回归模型的回归算法计算第一回归结果,基于本方生成的公钥对所述第一回归结果进行同态加密,将同态加密的第一回归结果发送至其他参与方;所述第二计算方基于第一内积的第二秘密、第二内积的第二秘密和目标标签的第二秘密,按照预设回归模型的回归算法计算第二回归结果,基于本方生成的公钥对所述第二回归结果进行同态加密,将同态加密的第二回归结果发送至其他参与方;所述第一计算方基于所述第一回归结果和本方存储的数据特征,计算本方梯度的第一秘密,并基于所接收的同态加密的第二回归结果、本方存储的数据特征,加密计算本方梯度的第二秘密;所述第二计算方基于所述第二回归结果和本方存储的数据特征,计算本方梯度的第一秘密,并基于所接收的同态加密的第一回归结果、本方存储的数据特征,加密计算本方梯度的第二秘密;除所述第二计算方之外的其他数据提供方,基于接收的同态加密的第一回归结果、同态加密的第二回归结果和本方存储的数据特征,加密计算本方梯度的第一秘密和第二秘密;所述第一计算方在本方梯度的第一秘密基础上增加第一随机掩码,得到本方梯度的新的第一秘密,将同态加密下本方梯度的第二秘密减去所述第一随机掩码,得到同态加密下本方梯度的新的第二秘密,将同态加密下本方梯度的新的第二秘密发送至所述第二计算方;所述第二计算方在本方梯度的第一秘密基础上增加第二随机掩码,得到本方梯度的新的第一秘密,将同态加密下本方梯度的第二秘密减去所述第二随机掩码,得到同态加密下本方梯度的新的第二秘密,将同态加密下本方梯度的新的第二秘密发送至所述第一计算方;除所述第二计算方之外的其他数据提供方,在本方梯度的第一秘密基础上增加第三随机掩码,得到同态加密下本方梯度的第一秘密,并将同态加密下本方梯度的第一秘密发送至所述第一计算方;在本方梯度的第二秘密基础上增加第四随机掩码,得到同态加密下本方梯度的第二秘密,将同态加密下本方梯度的第二秘密发送至所述第二计算方;基于所述第三随机掩码和所述第四随机掩码生成本方梯度的第三秘密;所述第一计算方对其他参与方发送的同态加密下的秘密进行同态解密,并将同态解密结果反馈至对应的参与方;所述第二计算方对其他参与方发送的同态加密下的秘密进行同
态解密,并将同态解密结果反馈至对应的参与方;所述第一计算方基于本方梯度的新的第一秘密,以及所述第二计算方反馈的同态解密后本方梯度的第二秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;所述第二计算方基于本方梯度的新的第一秘密,以及所述第一计算方反馈的同态解密后的本方梯度的第二秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;除所述第二计算方之外的其他数据提供方,基于所述第一计算方反馈的同态解密后本方梯度的第一秘密、所述第二计算方反馈的同态解密后本方梯度的第二秘密、以及本方梯度的第三秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;判断是否满足模型训练的终止条件,若满足,则将各参与方当前的特征参数确定为训练完成后的特征参数;若不满足,返回所述各个数据提供方基于本方存储的第一特征、第一特征参数进行第一内积运算的步骤。2.根据权利要求1所述的方法,其特征在于,所述第一内积包括各个数据提供方的第一额外内积结果;所述第二内积包括各个数据需求方的第二额外内积结果;所述方法还包括:所述第一计算方基于秘密共享状态下的第一额外内积结果、第二额外内积结果和预设损失计算公式,计算模型损失值。3.根据权利要求1或2所述的方法,其特征在于,所述判断是否满足模型训练的终止条件的步骤,包括:判断模型训练的迭代次数是否达到阈值,或者所述模型损失值是否小于预设损失值;若模型训练的迭代次数达到阈值,或者所述模型损失值小于预设损失值,则满足模型训练的终止条件。4.根据权利要求1所述的方法,其特征在于,所述预设回归模型为广义线性回归,所述回归模型包括:线性回归、逻辑回...

【专利技术属性】
技术研发人员:黄一珉王湾湾冯新宇何浩姚明
申请(专利权)人:深圳市洞见智慧科技有限公司
类型:发明
国别省市:

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

1