基于秘密共享、同态加密的无第三方联邦学习方法及系统与流程

文档序号:26994684发布日期:2021-10-19 21:26阅读:540来源:国知局
基于秘密共享、同态加密的无第三方联邦学习方法及系统与流程

1.本技术涉及机器学习技术领域,特别是涉及一种基于秘密共享、同态加密的无第三方联邦学习方法及系统。


背景技术:

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

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


技术实现要素:

8.本技术实施例的目的在于提供一种基于秘密共享、同态加密的无第三方联邦学习方法及系统,以实现在不依赖第三方机构,保护参与方隐私数据的前提下,完成纵向联邦学习中回归模型的训练,且降低了系统资源的消耗和通信复杂度。具体技术方案如下:为实现上述目的,本技术实施例提供了一种基于秘密共享、同态加密的无第三方联邦学习方法,所述方法包括:各个数据提供方基于本方存储的第一特征、第一特征参数进行第一内积运算,将运算得到的第一内积秘密共享至第一计算方和第二计算方;其中,所述第一特征是预先从样本用户的第一行为数据中提取的;所述第一计算方为数据需求方;所述第二计算方是预先从多个数据提供方中选取的;所述数据需求方基于本方存储的第二特征、第二特征参数进行第二内积运算,将运算得到的第二内积,以及本方存储的目标标签秘密共享至所述第一计算方和所述第二计算方;其中,所述第二特征是预先从所述样本用户的第二行为数据中提取的;
所述第一计算方基于第一内积的第一秘密、第二内积的第一秘密和目标标签的第一秘密,按照预设回归模型的回归算法计算第一回归结果,基于本方生成的公钥对所述第一回归结果进行同态加密,将同态加密的第一回归结果发送至其他参与方;所述第二计算方基于第一内积的第二秘密、第二内积的第二秘密和目标标签的第二秘密,按照预设回归模型的回归算法计算第二回归结果,基于本方生成的公钥对所述第二回归结果进行同态加密,将同态加密的第二回归结果发送至其他参与方;所述第一计算方基于所述第一回归结果和本方存储的数据特征,计算本方梯度的第一秘密,并基于所接收的同态加密的第二回归结果、本方存储的数据特征,加密计算本方梯度的第二秘密;所述第二计算方基于所述第二回归结果和本方存储的数据特征,计算本方梯度的第一秘密,并基于所接收的同态加密的第一回归结果、本方存储的数据特征,加密计算本方梯度的第二秘密;除所述第二计算方之外的其他数据提供方,基于接收的同态加密的第一回归结果、同态加密的第二回归结果和本方存储的数据特征,加密计算本方梯度的第一秘密和第二秘密;所述第一计算方在本方梯度的第一秘密基础上增加第一随机掩码,得到本方梯度的新的第一秘密,将同态加密下本方梯度的第二秘密减去所述第一随机掩码,得到同态加密下本方梯度的新的第二秘密,将同态加密下本方梯度的新的第二秘密发送至所述第二计算方;所述第二计算方在本方梯度的第一秘密基础上增加第二随机掩码,得到本方梯度的新的第一秘密,将同态加密下本方梯度的第二秘密减去所述第二随机掩码,得到同态加密下本方梯度的新的第二秘密,将同态加密下本方梯度的新的第二秘密发送至所述第一计算方;除所述第二计算方之外的其他数据提供方,在本方梯度的第一秘密基础上增加第三随机掩码,得到同态加密下本方梯度的第一秘密,并将同态加密下本方梯度的第一秘密发送至所述第一计算方;在本方梯度的第二秘密基础上增加第四随机掩码,得到同态加密下本方梯度的第二秘密,将同态加密下本方梯度的第二秘密发送至所述第二计算方;基于所述第三随机掩码和所述第四随机掩码生成本方梯度的第三秘密;所述第一计算方对其他参与方发送的同态加密下的秘密进行同态解密,并将同态解密结果反馈至对应的参与方;所述第二计算方对其他参与方发送的同态加密下的秘密进行同态解密,并将同态解密结果反馈至对应的参与方;所述第一计算方基于本方梯度的新的第一秘密,以及所述第二计算方反馈的同态解密后本方梯度的第二秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;所述第二计算方基于本方梯度的新的第一秘密,以及所述第一计算方反馈的同态解密后的本方梯度的第二秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;除所述第二计算方之外的其他数据提供方,基于所述第一计算方反馈的同态解密后本方梯度的第一秘密、所述第二计算方反馈的同态解密后本方梯度的第二秘密、以及本方梯度的第三秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;判断是否满足模型训练的终止条件,若满足,则将各参与方当前的特征参数确定
为训练完成后的特征参数;若不满足,返回所述各个数据提供方基于本方存储的第一特征、第一特征参数进行第一内积运算的步骤。
9.可选的,所述第一内积包括各个数据提供方的第一额外内积结果;所述第二内积包括各个数据需求方的第二额外内积结果;所述方法还包括:所述第一计算方基于同态解密恢复的第一额外内积结果、第二额外内积结果和预设损失计算公式,计算模型损失值。
10.可选的,所述判断是否满足模型训练的终止条件的步骤,包括:判断模型训练的迭代次数是否达到阈值,或者所述模型损失值是否小于预设损失值;若模型训练的迭代次数达到阈值,或者所述模型损失值小于预设损失值,则满足模型训练的终止条件。
11.可选的,所述预设回归模型为广义线性回归,所述回归模型包括:线性回归、逻辑回归、泊松回归、伽马回归或tweedie回归。
12.为实现上述目的,本技术实施例提供了一种基于秘密共享、同态加密的无第三方联邦学习系统,所述系统包括:一个数据需求方和多个数据提供方;各个数据提供方,用于基于本方存储的第一特征、第一特征参数进行第一内积运算,将运算得到的第一内积秘密共享至第一计算方和第二计算方;其中,所述第一特征是预先从样本用户的第一行为数据中提取的;所述第一计算方为数据需求方;所述第二计算方是预先从多个数据提供方中选取的;所述数据需求方,用于基于本方存储的第二特征、第二特征参数进行第二内积运算,将运算得到的第二内积,以及本方存储的目标标签秘密共享至所述第一计算方和所述第二计算方;其中,所述第二特征是预先从所述样本用户的第二行为数据中提取的;所述第一计算方,用于基于第一内积的第一秘密、第二内积的第一秘密和目标标签的第一秘密,按照预设回归模型的回归算法计算第一回归结果,基于本方生成的公钥对所述第一回归结果进行同态加密,将同态加密的第一回归结果发送至其他参与方;所述第二计算方,用于基于第一内积的第二秘密、第二内积的第二秘密和目标标签的第二秘密,按照预设回归模型的回归算法计算第二回归结果,基于本方生成的公钥对所述第二回归结果进行同态加密,将同态加密的第二回归结果发送至其他参与方;所述第一计算方,还用于基于所述第一回归结果和本方存储的数据特征,计算本方梯度的第一秘密,并基于所接收的同态加密的第二回归结果、本方存储的数据特征,加密计算本方梯度的第二秘密;所述第二计算方,还用于基于所述第二回归结果和本方存储的数据特征,计算本方梯度的第一秘密,并基于所接收的同态加密的第一回归结果、本方存储的数据特征,加密计算本方梯度的第二秘密;除所述第二计算方之外的其他数据提供方,还用于基于接收的同态加密的第一回归结果、同态加密的第二回归结果和本方存储的数据特征,加密计算本方梯度的第一秘密和第二秘密;所述第一计算方,还用于在本方梯度的第一秘密基础上增加第一随机掩码,得到
本方梯度的新的第一秘密,将同态加密下本方梯度的第二秘密减去所述第一随机掩码,得到同态加密下本方梯度的新的第二秘密,将同态加密下本方梯度的新的第二秘密发送至所述第二计算方;所述第二计算方,还用于在本方梯度的第一秘密基础上增加第二随机掩码,得到本方梯度的新的第一秘密,将同态加密下本方梯度的第二秘密减去所述第二随机掩码,得到同态加密下本方梯度的新的第二秘密,将同态加密下本方梯度的新的第二秘密发送至所述第一计算方;除所述第二计算方之外的其他数据提供方,还用于在本方梯度的第一秘密基础上增加第三随机掩码,得到同态加密下本方梯度的第一秘密,并将同态加密下本方梯度的第一秘密发送至所述第一计算方;在本方梯度的第二秘密基础上增加第四随机掩码,得到同态加密下本方梯度的第二秘密,将同态加密下本方梯度的第二秘密发送至所述第二计算方;基于所述第三随机掩码和所述第四随机掩码生成本方梯度的第三秘密;所述第一计算方,还用于对其他参与方发送的同态加密下的秘密进行同态解密,并将同态解密结果反馈至对应的参与方;所述第二计算方对其他参与方发送的同态加密下的秘密进行同态解密,并将同态解密结果反馈至对应的参与方;所述第一计算方,还用于基于本方梯度的新的第一秘密,以及所述第二计算方反馈的同态解密后本方梯度的第二秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;所述第二计算方,还用于基于本方梯度的新的第一秘密,以及所述第一计算方反馈的同态解密后的本方梯度的第二秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;除所述第二计算方之外的其他数据提供方,还用于基于所述第一计算方反馈的同态解密后本方梯度的第一秘密、所述第二计算方反馈的同态解密后本方梯度的第二秘密、以及本方梯度的第三秘密,恢复本方梯度,并基于本方梯度更新本方特征参数;所述第一计算方,还用于判断是否满足模型训练的终止条件,若满足,则将各参与方当前的特征参数确定为训练完成后的特征参数;若不满足,返回所述各个数据提供方基于本方存储的第一特征、第一特征参数进行第一内积运算的步骤。
13.可选的,所述第一内积包括各个数据提供方的第一额外内积结果;所述第二内积包括各个数据需求方的第二额外内积结果;所述第一计算方,还用于基于秘密共享状态下的第一额外内积结果、第二额外内积结果和预设损失计算公式,计算模型损失值。
14.可选的,所述预设回归模型为广义线性回归,所述回归模型包括:线性回归、逻辑回归、泊松回归、伽马回归或tweedie回归。
15.本技术实施例有益效果:采用本技术实施例提供的基于秘密共享、同态加密的无第三方联邦学习方法及系统,在训练模型过程中,各参与方通过秘密分享模型训练的中间结果,如特征数据与特征参数的内积,而非原始样本数据,并将本方获得的秘密以同态加密的形式交互给其他参与方,进行后续的模型训练,最终指定结果方获得模型训练的最终结果,实现了无可信第三方机构的联邦学习中模型的训练。并且,由于仅秘密分享模型训练的中间结果,相比于基于mpc的无可信第三方联邦学习方案中将原始样本数据和模型参数进行拆分并秘密共享的方式,
大大降低了系统资源的消耗,以及通信复杂度。
16.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
18.图1为本技术实施例提供的基于秘密共享、同态加密的无第三方联邦学习方法的一种流程示意图;图2为本技术实施例提供的基于秘密共享、同态加密的无第三方联邦学习方法的一种示意图。
具体实施方式
19.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本技术保护的范围。
20.为了解决现有技术中基于mpc的无可信第三方联邦学习方案消耗系统资源较多、通信复杂度较高的技术问题,本技术实施例提供了一种基于秘密共享、同态加密的无第三方联邦学习方法及系统。
21.参见图1,图1为本技术实施例提供的基于秘密共享、同态加密的无第三方联邦学习方法的一种流程示意图,方法可以包括以下步骤:s101:各个数据提供方基于本方存储的第一特征、第一特征参数进行第一内积运算,将运算得到的第一内积秘密共享至第一计算方和第二计算方;其中,第一特征是预先从样本用户的第一行为数据中提取的;第一计算方为数据需求方;第二计算方是预先从多个数据提供方中选取的。
22.本技术实施例提供的基于秘密共享、同态加密的无第三方联邦学习方法涉及数据需求方和一个或多个数据提供方。其中,数据提供方表示持有样本用户的一部分特征的电子设备,数据需求方表示持有样本用户的另一部分特征以及样本用户的目标标签的电子设备。数据提供方和数据需求方通常属于不同的机构。
23.本技术实施例中,每个数据提供方可以预先从样本用户的第一行为数据中提取第一特征。第一行为数据可以表示样本用户在数据提供方所属机构的行为所产生的数据,例如在电商公司交易产生的交易类数据。并且,数据提供方持有第一特征对应的第一特征参数。
24.数据需求方也可以预先从样本用户的第二行为数据中提取第二特征。第二行为数据可以表示样本用户在数据需求方所属机构的行为所产生的数据,例如在银行贷款所产生的贷款类数据。数据需求方也持有第二特征对应的第二特征参数,此外,数据需求方还持有
样本用户的目标标签。
25.本技术实施例提供的基于秘密共享、同态加密的无第三方联邦学习方法可以应用于金融、推荐、广告等领域。
26.作为一个示例,在金融领域,银行与电商公司合作进行金融欺诈行为的识别。电商公司作为数据提供方,银行作为数据需求方,样本用户是电商公司和银行公有的用户,例如可以是小微企业。电商公司可以持有样本用户的交易类数据,例如订单量等数据,并根据交易类数据提取出第一特征;银行可以持有样本用户的贷款类数据,例如贷款金额,或者持有样本用户的企业数据,例如成立年限、企业规模等,并从贷款类数据、企业数据中提取出第二特征。并且,银行作为数据需求方,还持有样本用户的目标标签,该目标标签可以为该样本用户是否存在金融欺诈行为等数据。
27.则采用本技术实施例提供的基于秘密共享、同态加密的无第三方联邦学习方法,可以根据第一特征、第二特征以及样本用户的标签训练回归模型,即更新回归模型中的特征参数,训练好的回归模型可用于预测。
28.承接上例,本技术提供的基于秘密共享、同态加密的无第三方联邦学习方法可以训练用于预测用户是否存在金融欺诈行为的联邦学习模型,该联邦学习模型的输入为数据提供方持有的样本用户的交易类数据、数据需求方持有的样本用户的贷款类数据或企业数据、以及数据需求方持有的样本用户的目标标签,该目标标签可以为该样本用户是否存在金融欺诈行为。则模型的每一轮训练过程中,各参与方在加密机制下计算联邦学习模型中参数的梯度,根据梯度更新模型参数。当达到模型训练的终止条件后,联邦学习模型可以根据目标用户的交易类数据、目标用户的贷款类数据或企业数据,预测目标用户是否存在金融欺诈行为。
29.本步骤中,各个数据提供方可以基于本方存储的第一特征、第一特征参数进行第一内积运算。
30.本技术实施例中,回归模型可以是线性回归、逻辑回归、泊松回归、伽马回归、tweedie回归等。
31.其中,内积运算的具体运算方法,可以根据回归模型确定。例如,对于线性回归,第一特征和第一特征参数的乘积作为第一内积运算结果;对于泊松回归,在第一特征与第一特征参数的乘积基础上,进行指数运算,作为第一内积运算结果。
32.本技术实施例中,各数据提供方运算得到第一内积后,将其秘密共享至第一计算方和第二计算方。其中,第一计算方是数据需求方,第二计算方是预先从多个数据提供方中选取的。
33.s102:数据需求方基于本方存储的第二特征、第二特征参数进行第二内积运算,将运算得到的第二内积,以及本方存储的目标标签秘密共享至第一计算方和第二计算方;其中,第二特征是预先从样本用户的第二行为数据中提取的。
34.s103:第一计算方基于第一内积的第一秘密、第二内积的第一秘密和目标标签的第一秘密,按照预设回归模型的回归算法计算第一回归结果,基于本方生成的公钥对第一回归结果进行同态加密,将同态加密的第一回归结果发送至其他参与方。
35.本技术实施例中,回归结果用d表示,由于第一计算方仅持有第一内积的第一秘密、第二内积的第一秘密和目标标签的第一秘密,因此只能计算得到回归结果的第一部分
秘密,记为第一回归结果,用d1表示。
36.其中,不同回归模型的回归算法也有所区别。
37.作为一个示例,以a、b和c三方作为参与方为例,下面列出了不同回归模型的回归算法,其中,d表示回归结果,a方的特征参数为,模型参数为;b方的特征参数为,模型参数为;c方的特征参数为,模型参数为;目标标签记为y。
38.在计算第一回归结果后,基于本方生成的公钥对第一回归结果进行同态加密,将同态加密的第一回归结果发送至其他参与方。本技术中,不存在额外的第三方,即数据需求方和各个数据提供方构成所有的参与方,则对于第一计算方,其他参与方也就是各个数据提供方。
39.s104:第二计算方基于第一内积的第二秘密、第二内积的第二秘密和目标标签的第二秘密,按照预设回归模型的回归算法计算第二回归结果,基于本方生成的公钥对第二回归结果进行同态加密,将同态加密的第二回归结果发送至其他参与方。
40.相应的,由于第二计算方仅持有第一内积的第二秘密、第二内积的第二秘密和目标标签的第二秘密,因此只能计算得到回归结果的第二部分秘密,记为第二回归结果,用d2表示。
41.第二计算方在计算第二回归结果后,基于本方生成的公钥对第二回归结果进行同态加密,将同态加密的第二回归结果发送至其他参与方。对于第二计算方,其他参与方也就是数据需求方和除第二计算方之外的其他数据提供方。
42.s105:第一计算方基于第一回归结果和本方存储的数据特征,计算本方梯度的第一秘密,并基于所接收的同态加密的第二回归结果、本方存储的数据特征,加密计算本方梯度的第二秘密。
43.本技术实施例中,回归结果与数据特征的乘积即为梯度,由于第一计算方持有的第一回归结果为明文数据,而第二回归结果是基于第二计算方的公钥加密的密文数据,因此第一计算方可以基于第一回归结果计算本方梯度的第一部分的明文秘密,记为本方梯度的第一秘密,同时可以在同态加密下计算本方梯度的第二部分的密文秘密,记为本方梯度的第二秘密。
44.s106:第二计算方基于第二回归结果和本方存储的数据特征,计算本方梯度的第一秘密,并基于所接收的同态加密的第一回归结果、本方存储的数据特征,加密计算本方梯度的第二秘密。
45.相应的,由于第二计算方持有的第二回归结果为明文数据,而第一回归结果是基于第一计算方的公钥加密的密文数据,因此第二计算方可以基于第二回归结果计算本方梯度的第一部分的明文秘密,记为本方梯度的第一秘密,同时可以在同态加密下计算本方梯
度的第二部分的密文秘密,记为本方梯度的第二秘密。
46.s107:除第二计算方之外的其他数据提供方,基于接收的同态加密的第一回归结果、同态加密的第二回归结果和本方存储的数据特征,加密计算本方梯度的第一秘密和第二秘密。
47.本技术实施例中,除第二计算方之外的其他数据提供方也就是非计算方。对于每一非计算方,接收第一计算方发送的同态加密下的第一回归结果,并接收第二计算方发送的同态加密下的第二回归结果。对于非计算方,第一回归结果和第二回归结果均为密文数据,因此非计算方基于同态加密下的第一回归结果,加密计算本方梯度的第一秘密;且基于同态加密下第二回归结果,加密计算本方梯度的第二秘密。
48.s108:第一计算方在本方梯度的第一秘密基础上增加第一随机掩码,得到本方梯度的新的第一秘密,将同态加密下本方梯度的第二秘密减去第一随机掩码,得到同态加密下本方梯度的新的第二秘密,将同态加密下本方梯度的新的第二秘密发送至第二计算方。
49.本技术实施例中,为了保护梯度的秘密不被其他参与方获知,第一计算方可以在本方梯度的第一秘密基础上增加第一随机掩码,得到本方梯度的新的第一秘密。
50.其中,第一随机掩码可以是随机数。
51.同时,将同态加密下本方梯度的第二秘密减去第一随机掩码,得到同态加密下本方梯度的新的第二秘密,将其发送至第二计算方。
52.s109:第二计算方在本方梯度的第一秘密基础上增加第二随机掩码,得到本方梯度的新的第一秘密,将同态加密下本方梯度的第二秘密减去第二随机掩码,得到同态加密下本方梯度的新的第二秘密,将同态加密下本方梯度的新的第二秘密发送至第一计算方。
53.相应的,本技术实施例中,为了保护梯度的秘密不被其他参与方获知,第二计算方可以在本方梯度的第一秘密基础上增加第二随机掩码,得到本方梯度的新的第一秘密。
54.同时,将同态加密下本方梯度的第二秘密减去第二随机掩码,得到同态加密下本方梯度的新的第二秘密,将其发送至第一计算方。
55.s110:除第二计算方之外的其他数据提供方,在本方梯度的第一秘密基础上增加第三随机掩码,得到同态加密下本方梯度的第一秘密,并将同态加密下本方梯度的第一秘密发送至第一计算方;在本方梯度的第二秘密基础上增加第四随机掩码,得到同态加密下本方梯度的第二秘密,将同态加密下本方梯度的第二秘密发送至第二计算方;基于第三随机掩码和第四随机掩码生成本方梯度的第三秘密。
56.本技术实施例中,除第二计算方之外的其他数据提供方也就是非计算方。对于每一非计算方,为了保护梯度的秘密不被其他参与方获知,在本方梯度的第一秘密基础上增加第三随机掩码,得到同态加密下本方梯度的第一秘密,由于该第一秘密是基于第一计算方的公钥加密的,因此将其发送至第一计算方;在本方梯度的第二秘密基础上增加第四随机掩码,得到同态加密下本方梯度的第二秘密,由于该第二秘密是基于第二计算方的公钥加密的,因此将其发送至第二计算方。
57.此外,基于第三随机掩码和第四随机掩码生成本方梯度的第三秘密。例如,将第三随机掩码和第四随机掩码之和取相反数,作为本方梯度的第三秘密,以保证同态解密后本方梯度的第一秘密、同态解密后本方梯度的第二秘密和本方梯度的第三秘密之和为本方梯度。
58.s111:第一计算方对其他参与方发送的同态加密下的秘密进行同态解密,并将同态解密结果反馈至对应的参与方;第二计算方对其他参与方发送的同态加密下的秘密进行同态解密,并将同态解密结果反馈至对应的参与方。
59.本技术实施例中,第一计算方收到的其他参与方发送的同态加密下的秘密,均是基于第一计算方的公钥加密的,因此第一计算方可以基于本方持有的同态加密的私钥,对收到的其他参与方发送的同态加密下的秘密进行同态解密,并将解密结果反馈至对应的参与方。
60.相应的,第二计算方收到的其他参与方发送的同态加密下的秘密,均是基于第二计算方的公钥加密的,因此第二计算方可以基于本方持有的同态加密的私钥,对收到的其他参与方发送的同态加密下的秘密进行同态解密,并将解密结果反馈至对应的参与方。
61.s112:第一计算方基于本方梯度的新的第一秘密,以及第二计算方反馈的同态解密后本方梯度的第二秘密,恢复本方梯度,并基于本方梯度更新本方特征参数。
62.具体的,第一计算方将本方梯度的新的第一秘密,与第二计算方反馈的同态解密后本方梯度的第二秘密相加,即可得到本方梯度,进而根据本方梯度更新本方特征参数。其中,根据梯度更新模型中特征参数的过程,可以参见相关技术,例如采用梯度下降法更新特征参数。
63.s113:第二计算方基于本方梯度的新的第一秘密,以及第一计算方反馈的同态解密后的本方梯度的第二秘密,恢复本方梯度,并基于本方梯度更新本方特征参数。
64.相应的,第二计算方将本方梯度的新的第一秘密,与第一计算方反馈的同态解密后本方梯度的第二秘密相加,即可得到本方梯度,进而根据本方梯度更新本方特征参数。
65.s114:除第二计算方之外的其他数据提供方,基于第一计算方反馈的同态解密后本方梯度的第一秘密、第二计算方反馈的同态解密后本方梯度的第二秘密、以及本方梯度的第三秘密,恢复本方梯度,并基于本方梯度更新本方特征参数。
66.本技术实施例中,除第二计算方之外的其他数据提供方,将第一计算方反馈的同态解密后本方梯度的第一秘密、第二计算方反馈的同态解密后本方梯度的第二秘密以及本方梯度的第三秘密相加,即可得到本方梯度,进而根据本方梯度更新本方特征参数。
67.s115:判断是否满足模型训练的终止条件,若满足,则将各参与方当前的特征参数确定为训练完成后的特征参数;若不满足,返回各个数据提供方基于本方存储的第一特征、第一特征参数进行第一内积运算的步骤。
68.本技术实施例中,在每轮迭代训练后,判断是否满足模型训练的终止条件,若满足,则认为模型训练完成,将各参与方当前的特征参数确定为训练完成后的特征参数。
69.若不满足,返回s101步骤,即进入下一轮迭代训练。
70.可见,采用本技术实施例提供的基于秘密共享、同态加密的无第三方联邦学习方法,在训练模型过程中,各参与方秘密共享模型训练的中间结果,如特征数据与特征参数的内积,而非原始样本数据,并将本方获得的秘密以同态加密的形式交互给其他参与方,进行后续的模型训练,直到模型训练完成,实现了无可信第三方机构的联邦学习中模型的训练。并且,由于仅秘密分享模型训练的中间结果,相比于基于mpc的无可信第三方联邦学习方案中将原始样本数据和模型参数进行拆分并秘密共享的方式,大大降低了系统资源的消耗,大大降低了通信复杂度。
71.在本技术的一种实施例中,第一内积包括各个数据提供方的第一额外内积结果;第二内积包括各个数据需求方的第二额外内积结果,其中第一额外内积和第二额外内积均是用于计算模型损失值的内积。
72.也就是说,各个数据提供方基于本方存储的第一特征、第一特征参数进行内积运算时,还计算得到第一额外内积结果,并将其秘密共享至第一计算方和第二计算方;数据需求方基于本方存储的第二特征、第二特征参数进行第二内积运算时,还计算得到第二额外内积结果,并将其秘密共享至第一计算方和第二计算方。从而结合预设损失计算公式,进行秘密共享状态下的模型损失值计算,并恢复损失值明文至第一计算方。
73.对于不同的回归模型,模型损失值的计算方式有所不同,上述额外内积结果也不相同。
74.作为一个示例,以a、b和c三方作为参与方为例,下面列出了不同回归模型的模型损失值的计算公式,其中,loss表示模型损失值,a方的特征参数为,模型参数为;b方的特征参数为,模型参数为;c方的特征参数为,模型参数为;目标标签记为y,m表示样本数量,p为tweedie回归中的超参数。
75.为了便于理解,下面结合图2对本技术实施例提供的基于秘密共享、同态加密的无第三方联邦学习方法进行进一步说明。
76.作为一个示例,a、b和c三方作为参与方,a和b为数据提供方,c为数据需求方,即c方是第一计算方,预先选择b方作为第二计算方。
77.则如图2所示,本技术实施例提供的基于秘密共享、同态加密的无第三方联邦学习方法可以包括以下细化步骤:首先,a、b、c三方初始化本方模型参数,并各自本地计算本方模型参数和本方特征数据的内积。其中,a方的特征参数为,模型参数为;b方的特征参数为,模型参数为;c方的特征参数为,模型参数为;c方作为数据需求方,额外持有目标标签,记为y。
78.随后,a方和b方分别将本方的第一内积秘密共享至两个计算方,即c方和b方,c方得到第一内积的第一秘密,b方得到内积的第二秘密。同时,c方将本方的第二内积和目标标签秘密共享至两个计算方,即c方和b方,c方得到第二内积和目标标签的第一秘密,b方得到第二内积和目标标签的第二秘密。
79.随后,b、c两个计算方各自本地计算各方参数内积秘密和标签秘密的数学运算结果,也就是回归结果。
80.由于b方和c方各自持有第一内积、第二内积和目标标签的一部分秘密,因此只能分别计算得到回归结果的一部分秘密,将回归结果的两部分秘密分别记为第一回归结果和第二回归结果。设c方计算的第一回归结果为d1,b方计算的第二回归结果为d2。
81.随后,b、c两个计算方各自生成同态加密的公私钥,并用公钥将本地计算的回归结果进行同态加密,将加密后的结果发送给其他参与方。
82.其中,表示采用c方的公钥进行同态加密的第一回归结果,表示采用b方的公钥进行同态加密的第二回归结果。
83.随后,各计算方(b方和c方)本地明文计算本方梯度的秘密,并接收另一计算方的加密中间结果,加密计算本方梯度的另一秘密,获得加密后的本方梯度的另一秘密。
84.其中,表示c方梯度的第一部分秘密,是明文形式的。表示基于b方公钥进行同态加密下的c方梯度的第二部分秘密。表示b方梯度的第二部分秘密,是明文形式的。表示基于c方公钥进行同态加密下的b方梯度的第一部分秘密。表示基于c方公钥进行同态加密下的a方梯度的第一部分秘密,表示基于b方公钥进行同态加密下的a方梯度的第二部分秘密。
85.随后,各计算方分别生成随机数,将本方梯度的秘密加上该随机数作为本方梯度的新秘密,并将加密后的另一秘密减去该随机数后的结果作为本方梯度的另一新秘密,将该另一新秘密发送至另一计算方。
86.如图2所示,c方生成的随机数为,则+表示c方梯度的新秘密,表示基于b方公钥进行同态加密的c方梯度的另一新秘密,由于该部分是基于b方公钥加密的密文数据,因此,将其发送至b方。
87.相应的,b方生成的随机数为,则+表示b方梯度的新秘密,表示基于c方公钥进行同态加密的b方梯度的另一新秘密,由于该部分是基于c方公钥加密的密文数据,因此,将其发送至c方。
88.此外,非计算方(a)方在同态加密下计算本方梯度的秘密,表示基于c方公钥进行同态加密的a方梯度的第一秘密,表示基于b方公钥进行同态加密的a方梯度的第二秘密。
89.随后,a方生成两个随机数,将本方梯度的两个秘密分别减去这两个随机数,获得本方梯度的两个加密新秘密,将其分别发送至两个拥有其解密私钥的计算方,即b方和c方,并将两个随机数的和作为本方梯度的本方秘密。
90.如图2所示,a方生成两个随机数分别为和,则+表示a方梯度的新的一部分秘密,是明文形式的,表示基于b方公钥进行同态加密下a方梯度的新的第二部分秘密,a方将其发送至b方;表示基于c方公钥进行同态加密下a方梯度的新的第一部分秘密,a方将其发送至c方。
91.各计算方(b方和c方)基于本方持有的私钥对其他参与方发送的加密秘密进行同态解密,并将解密结果反馈至各参与方,该解密结果为参与方的梯度与该参与方生成的随机数之差。
92.从而,各参与方可以基于本方生成的随机数,以及计算方反馈的解密结果,恢复出本方梯度,并利用恢复出的梯度进行本方的特征参数更新。
93.如图2所示,c方基于=
ꢀ‑
α ,更新c方特征参数;b方基于=
ꢀ‑
α ,更新b方特征参数;a方基于=
ꢀ‑
α ,更新a方特征参数。其中α表示梯度下降法中的学习率,可以理解为沿着梯度方向一次下降的步长。
94.可见,在训练模型过程中,各参与方通过秘密分享模型训练的中间结果,如特征数据与特征参数的内积,而非原始样本数据,并将本方获得的秘密以同态加密的形式交互给其他参与方,进行后续的模型训练,最终指定结果方获得模型训练的最终结果,实现了无可信第三方机构的联邦学习中模型的训练。并且,由于仅秘密分享模型训练的中间结果,相比于基于mpc的无可信第三方联邦学习方案中将原始样本数据和模型参数进行拆分并秘密共享的方式,大大降低了系统资源的消耗,以及通信复杂度。
95.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
96.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于基于秘密共享、同态加密的无第三方联邦学习系统实施例而言,由于其基本相似于基于秘密共享、同态加密的无第三方联邦学习方法实施例,所以描述的比较简单,相关之处参见基于秘密共享、同态加密的无第三方联邦学习方法实施例的部分说明即可。
97.以上所述仅为本技术的较佳实施例,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1