业务模型的联合训练方法及装置转让专利

申请号 : CN202010759898.6

文献号 : CN111738361B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周亚顺李漓春张祺智

申请人 : 支付宝(杭州)信息技术有限公司

摘要 :

本说明书实施例提供一种业务模型的联合训练方法及装置,在多方联合训练业务模型过程中,为了使用牛顿法以更快的收敛速度训练业务模型,在确定海森矩阵的逆矩阵时,引入由可信第三方生成的辅助矩阵,由联合训练业务模型的各个业务方以秘密共享方式来确定海森矩阵与辅助矩阵的乘积,并各自得到相应份额。之后,公开海森矩阵与辅助矩阵的乘积的合并结果,使各个业务方分别得到以上合并结果的逆矩阵,进而确定海森矩阵的逆矩阵的相应份额。根据这种特定的业务方交互方式设置,使得多方安全计算中,在保证数据隐私的前提下,利用牛顿法调整模型参数具有可行性,从而提高业务模型的联合训练效率。

权利要求 :

1.一种业务模型的联合训练方法,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额,第三方为辅助训练业务模型的可信第三方;所述方法由第一方执行,包括:按照与所述第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的特征数据;

与第二方秘密共享当前模型参数和当前获取的训练样本对应的特征数据的融合结果,得到融合结果的第一份额;

将所述融合结果的第一份额发送至第三方,以供第三方基于所述融合结果的第一份额,以及从第二方获取的所述融合结果的第二份额,确定基于激励函数处理所述融合结果的激励结果;

基于从第三方获取的激励结果的第一份额,与第二方秘密共享当前模型参数的梯度和海森矩阵,得到所述当前模型参数的梯度的第一份额、所述海森矩阵的第一份额;

利用从第三方接收的辅助矩阵的第一份额,与第二方秘密共享所述海森矩阵与所述辅助矩阵的乘积,得到所述乘积的第一份额,其中,所述辅助矩阵由第三方生成,并随机拆分得到辅助矩阵的第一份额和所述辅助矩阵的第二份额,所述辅助矩阵的第二份额由第三方发送至第二方;

根据所述乘积的第一份额,与第二方公开所述海森矩阵与所述辅助矩阵的乘积的合并结果,或所述合并结果的逆矩阵;

按照所述合并结果的逆矩阵,以及所述辅助矩阵的第一份额,确定所述海森矩阵的逆矩阵的第一份额;

基于所述模型参数的梯度的第一份额、所述海森矩阵的逆矩阵的第一份额,与第二方秘密共享更新的模型参数,以获得更新的模型参数的第一份额。

2.根据权利要求1所述的方法,其中,所述基于所述融合结果的第一份额,与第二方秘密共享当前模型参数的梯度和海森矩阵,得到所述当前模型参数的梯度的第一份额、所述海森矩阵的第一份额包括:基于所述融合结果的第一份额,得到所述融合结果的激励结果的第一份额,其中,所述激励结果的第一份额通过与第二方秘密共享所述激励结果而得到;

根据所述激励结果的第一份额,与第二方秘密共享所述当前模型参数的梯度以及海森矩阵,得到所述当前模型参数的梯度的第一份额以及所述海森矩阵的第一份额。

3.根据权利要求2所述的方法,其中,所述基于所述融合结果的第一份额,得到所述融合结果的激励结果的第一份额包括:向第三方发送所述融合结果的第一份额,以供第三方根据所述融合结果的第一份额,以及从第二方获取的所述融合结果的第二份额,确定基于激励函数处理所述融合结果得到的激励结果,并将所述激励结果拆分得到第一份额和第二份额;

从第三方接收所述激励结果的第一份额。

4.根据权利要求2所述的方法,其中,所述基于所述融合结果的第一份额,得到所述融合结果的激励结果的第一份额包括:基于所述激励结果的第一份额,与第二方以多项式或混淆电路的方式秘密共享所述激励结果,得到所述激励结果的第一份额。

5.根据权利要求2-4中任一所述的方法,其中,所述当前模型参数的梯度为,所述特征数据对应的特征矩阵的转置矩阵,与所述激励结果和当前训练样本的标签数据的差的乘积;

所述根据所述激励结果的第一份额,与第二方秘密共享所述当前模型参数的梯度以及海森矩阵,得到所述当前模型参数的梯度的第一份额以及所述海森矩阵的第一份额包括:利用所述激励结果的第一份额,确定所述激励结果与标签数据的差的第一份额;

根据所述激励结果与标签数据的差的第一份额,以及所述特征数据的第一份额,与第二方秘密共享所述当前模型参数的梯度,得到所述当前模型参数的梯度的第一份额。

6.根据权利要求5所述的方法,其中,所述标签数据由第一方或第二方中的一方持有:

在第二方持有所述标签数据,且第二方以秘密共享方式向第一方分享所述标签数据的第一份额的情况下,所述激励结果与标签数据的差的第一份额基于所述标签数据的第一份额与所述激励结果的第一份额的差确定;

在第二方持有所述标签数据,且不与第一方共享的情况下,所述激励结果与标签数据的差的第一份额为所述激励结果的第一份额;

在所述第一方持有所述标签数据,且不与第二方共享的情况下,所述激励结果与标签数据的差的第一份额,根据所述激励结果的第一份额与所述标签数据的差确定。

7.根据权利要求2所述的方法,其中,所述海森矩阵根据所述特征数据对应的特征矩阵的转置矩阵,与梯度矩阵以及所述特征数据对应的特征矩阵的乘积确定,其中,所述梯度矩阵为:所述激励结果,与预定向量、所述激励结果的差向量按位相乘得到的积向量中,各个维度的数值作为对角元素确定的对角矩阵。

8.根据权利要求1所述的方法,其中,所述根据所述乘积的第一份额,与第二方公开所述海森矩阵与所述辅助矩阵的乘积的合并结果,或所述合并结果的逆矩阵包括以下至少一项:向第二方发送所述乘积的第一份额,由第二方根据所持有的所述乘积的第二份额,确定所述合并结果或所述合并结果的逆矩阵,并反馈给第一方;

接收第二方发送的所述乘积的第二份额,根据所持有的所述乘积的第一份额,确定所述合并结果或所述合并结果的逆矩阵,并反馈给第二方;

向第三方发送所述乘积的第一份额,由第三方根据所述乘积的第一份额,以及从第二方接收的所述乘积的第二份额,确定所述合并结果或所述合并结果的逆矩阵,并分别反馈给第一方和第二方。

9.根据权利要求1所述的方法,其中,所述按照所述合并结果的逆矩阵,以及所述辅助矩阵的第一份额,确定所述海森矩阵的逆矩阵的第一份额包括:将所述辅助矩阵的第一份额与所述合并结果的逆矩阵的乘积作为所述海森矩阵的逆矩阵的第一份额。

10.根据权利要求1所述的方法,其中,更新后的模型参数为,更新前的当前模型参数,与海森矩阵的逆矩阵和当前模型参数的梯度的乘积之差。

11.一种业务模型的联合训练方法,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,第一方和第二方联合持有用于训练所述业务模型的多个训练样本,第三方为辅助训练业务模型的可信第三方;所述方法由第三方执行,包括:生成辅助矩阵;

将所述辅助矩阵随机拆分为第一份额和第二份额;

向第一方发送所述辅助矩阵的第一份额,以及向第二方发送所述辅助矩阵的第二份额,以供第一方和第二方:根据所述辅助矩阵的第一份额和所述辅助矩阵的第二份额,秘密共享海森矩阵与所述辅助矩阵的乘积,其中,所述海森矩阵基于第一方和第二方秘密共享当前模型参数和当前获取的训练样本对应的特征数据的融合结果,经由第三方基于激励函数处理得到的融合结果,并以秘密共享方式向第一方、第二方分别分享的激励结果的第一份额、第二份额确定,并以秘密共享方式存储于第一方和第二方,第一方和第二方按照协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而各自获取与各个随机数分别对应的各个训练样本的样本数据;相互公开所述海森矩阵与所述辅助矩阵的乘积的合并结果,或所述合并结果的逆矩阵;基于所述合并结果的逆矩阵,秘密共享所述海森矩阵的逆矩阵;根据秘密共享的模型参数的梯度、秘密共享的所述海森矩阵的逆矩阵,秘密共享更新的模型参数。

12.根据权利要求11所述的方法,其中,所述方法还包括:

分别从第一方、第二方接收当前模型参数和当前训练样本对应的特征数据的融合结果的第一份额、第二份额;

根据所述融合结果的第一份额、第二份额,确定所述融合结果;

通过预定的激励函数处理所述融合结果,得到激励结果;

将所述激励结果随机拆分为第一份额、第二份额,并分别发送给第一方、第二方,以供第一方和第二方根据所述激励结果的第一份额、第二份额秘密共享当前模型参数的梯度和海森矩阵。

13.一种业务模型的联合训练装置,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额,第三方为辅助训练业务模型的可信第三方;所述装置设于第一方,包括:第一安全计算单元,配置为按照与所述第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的特征数据;以及与第二方秘密共享当前模型参数和当前获取的训练样本对应的特征数据的融合结果,得到融合结果的第一份额;

第二安全计算单元,配置为基于从第三方获取的激励结果的第一份额,与第二方秘密共享当前模型参数的梯度和海森矩阵,得到所述当前模型参数的梯度的第一份额、所述海森矩阵的第一份额,其中,所述激励结果为,第三方基于从第一方获取的所述融合结果的第一份额,以及从第二方获取的所述融合结果的第二份额,通过激励函数处理所述融合结果得到;

第三安全计算单元,配置为利用从第三方接收的辅助矩阵的第一份额,与第二方秘密共享所述海森矩阵与所述辅助矩阵的乘积,得到所述乘积的第一份额,其中,所述辅助矩阵由第三方生成,并随机拆分得到辅助矩阵的第一份额和所述辅助矩阵的第二份额,所述辅助矩阵的第二份额由第三方发送至第二方;

公开单元,配置为基于所述乘积的第一份额,与第二方公开所述海森矩阵与所述辅助矩阵的乘积的合并结果,或所述合并结果的逆矩阵;

确定单元,配置为按照所述合并结果的逆矩阵,以及所述辅助矩阵的第一份额,确定所述海森矩阵的逆矩阵的第一份额;

更新单元,配置为基于所述模型参数的梯度的第一份额、所述海森矩阵的逆矩阵的第一份额,与第二方秘密共享更新的模型参数,以获得更新的模型参数的第一份额。

14.一种业务模型的联合训练装置,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,第一方和第二方联合持有用于训练所述业务模型的多个训练样本,第三方为辅助训练业务模型的可信第三方;所述装置设于第三方,包括:生成单元,配置为生成辅助矩阵;

拆分单元,配置为将所述辅助矩阵随机拆分为第一份额和第二份额;

通信单元,配置为向第一方发送所述辅助矩阵的第一份额,以及向第二方发送所述辅助矩阵的第二份额,以供第一方和第二方:根据所述辅助矩阵的第一份额和所述辅助矩阵的第二份额,秘密共享海森矩阵与所述辅助矩阵的乘积,其中,所述海森矩阵基于第一方和第二方秘密共享当前模型参数和当前获取的训练样本对应的特征数据的融合结果,经由第三方基于激励函数处理得到的融合结果,并以秘密共享方式向第一方、第二方分别分享的激励结果的第一份额、第二份额确定,并以秘密共享方式存储于第一方和第二方,第一方和第二方按照协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而各自获取与各个随机数分别对应的各个训练样本的样本数据;相互公开所述海森矩阵与所述辅助矩阵的乘积的合并结果,或所述合并结果的逆矩阵;基于所述合并结果的逆矩阵,秘密共享所述海森矩阵的逆矩阵;根据秘密共享的模型参数的梯度、秘密共享的所述海森矩阵的逆矩阵,秘密共享更新的模型参数。

15.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-12中任一项的所述的方法。

16.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12中任一项所述的方法。

说明书 :

业务模型的联合训练方法及装置

技术领域

[0001] 本说明书一个或多个实施例涉及计算机技术领域,尤其涉及多方安全计算中,利用计算机对业务模型进行联合训练的方法和装置。

背景技术

[0002] 大数据时代,很多数据可能分散存于不同的企业中,企业与企业之间基于隐私保护等方面的考虑,并不能完全分享彼此的数据,因此可能存在数据孤岛。
[0003] 在一些情况下,企业与企业之间通常需要进行合作安全建模,以便在充分保护企业数据隐私的前提下,使用各方的数据对数据处理模型进行协作训练,从而更准确、有效地
处理业务数据。此时,用于对数据处理模型进行训练的数据可以是分散在合作建模的各方
的。因此,如何在模型训练的过程中基于对建模各方的数据隐私的保护,提供更有效的模型
训练方式,是当前亟需解决的技术问题。

发明内容

[0004] 本说明书一个或多个实施例描述了一种业务模型的联合训练方法及装置,用以解决背景技术提到的一个或多个问题。
[0005] 根据第一方面,提供了一种业务模型的联合训练方法,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业
务方包括第一方、第二方和第三方,第一方和第二方联合持有用于训练所述业务模型的多
个训练样本,第三方为辅助训练业务模型的可信第三方;所述方法由第一方执行,包括:与
第二方秘密共享当前模型参数和当前训练样本对应的特征数据的融合结果,得到融合结果
的第一份额;基于所述融合结果的第一份额,与第二方秘密共享当前模型参数的梯度和海
森矩阵,得到所述当前模型参数的梯度的第一份额、所述海森矩阵的第一份额;利用从第三
方接收的辅助矩阵的第一份额,与第二方秘密共享所述海森矩阵与所述辅助矩阵的乘积,
得到所述乘积的第一份额,其中,所述辅助矩阵由第三方生成,并随机拆分得到辅助矩阵的
第一份额和所述辅助矩阵的第二份额,所述辅助矩阵的第二份额由第三方发送至第二方;
根据所述乘积的第一份额,与第二方公开所述海森矩阵与所述辅助矩阵的乘积的合并结
果,或所述合并结果的逆矩阵;按照所述合并结果的逆矩阵,以及所述辅助矩阵的第一份
额,确定所述海森矩阵的逆矩阵的第一份额;基于所述模型参数的梯度的第一份额、所述海
森矩阵的逆矩阵的第一份额,与第二方秘密共享更新的模型参数,以获得更新的模型参数
的第一份额。
[0006] 根据一个实施方式,所述基于所述融合结果的第一份额,与第二方秘密共享当前模型参数的梯度和海森矩阵,得到所述当前模型参数的梯度的第一份额、所述海森矩阵的
第一份额包括:基于所述融合结果的第一份额,得到所述融合结果的激励结果的第一份额,
其中,所述激励结果的第一份额由与第二方秘密共享所述激励结果而得到;根据所述激励
结果的第一份额,与第二方秘密共享所述当前模型参数的梯度以及海森矩阵,得到所述当
前模型参数的梯度的第一份额以及所述海森矩阵的第一份额。
[0007] 在一个实施例中,所述基于所述融合结果的第一份额,得到所述融合结果的激励结果的第一份额包括:向第三方发送所述融合结果的第一份额,以供第三方根据所述融合
结果的第一份额,以及从第二方获取的所述融合结果的第二份额,确定基于激励函数处理
所述融合结果得到的激励结果,并将所述激励结果拆分得到第一份额和第二份额;从第三
方接收所述激励结果的第一份额。
[0008] 在一个实施例中,所述方法还包括:按照与第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,根据与各个随机数分别对应的各个训练样本确
定所述当前训练样本的以下中的一项:特征数据,标签数据,部分特征数据和标签数据。
[0009] 在一个实施例中,所述基于所述融合结果的第一份额,得到所述融合结果的激励结果的第一份额包括:基于所述激励结果的第一份额,与第二方以多项式或混淆电路的方
式秘密共享所述激励结果,得到所述激励结果的第一份额。
[0010] 在一个实施例中,所述当前模型参数的梯度为,所述特征数据对应的特征矩阵的转置矩阵,与所述激励结果和当前训练样本的标签数据的差的乘积;所述根据所述激励结
果的第一份额,与第二方秘密共享所述当前模型参数的梯度以及海森矩阵,得到所述当前
模型参数的梯度的第一份额以及所述海森矩阵的第一份额包括:利用所述激励结果的第一
份额,确定所述激励结果与标签数据的差的第一份额;根据所述激励结果与标签数据的差
的第一份额,以及所述特征数据的第一份额,与第二方秘密共享所述当前模型参数的梯度,
得到所述当前模型参数的梯度的第一份额。
[0011] 在一个实施例中,所述标签数据由第一方或第二方中的一方持有:在第二方持有所述标签数据,且第二方以秘密共享方式向第一方分享所述标签数据的第一份额的情况
下,所述激励结果与标签数据的差的第一份额基于所述标签数据的第一份额与所述激励结
果的第一份额的差确定;在第二方持有所述标签数据,且不与第一方共享的情况下,所述激
励结果与标签数据的差的第一份额为所述激励结果的第一份额;在所述第一方持有所述标
签数据,且不与第二方共享的情况下,所述激励结果与标签数据的差的第一份额,根据所述
激励结果的第一份额与所述标签数据的差确定。
[0012] 在一个实施例中,所述海森矩阵根据所述特征数据对应的特征矩阵的转置矩阵,与梯度矩阵以及所述特征数据对应的特征矩阵的乘积确定,其中,所述梯度矩阵为:所述激
励结果,与预定向量、所述激励结果的差向量按位相乘得到的积向量中,各个维度的数值作
为对角元素确定的对角矩阵。
[0013] 在一个实施例中,所述根据所述乘积的第一份额,与第二方公开所述海森矩阵与所述辅助矩阵的乘积的合并结果,或所述合并结果的逆矩阵包括以下至少一项:向第二方
发送所述乘积的第一份额,由第二方根据所持有的所述乘积的第二份额,确定所述合并结
果或所述合并结果的逆矩阵,并反馈给第一方;接收第二方发送的所述乘积的第二份额,根
据所持有的所述乘积的第一份额,确定所述合并结果或所述合并结果的逆矩阵,并反馈给
第二方;向第三方发送所述乘积的第一份额,由第三方根据所述乘积的第一份额,以及从第
二方接收的所述乘积的第二份额,确定所述合并结果或所述合并结果的逆矩阵,并分别反
馈给第一方和第二方。
[0014] 在一个实施例中,所述按照所述合并结果的逆矩阵,以及所述辅助矩阵的第一份额,确定所述海森矩阵的逆矩阵的第一份额包括:将所述辅助矩阵的第一份额与所述合并
结果的逆矩阵的乘积作为所述海森矩阵的逆矩阵的第一份额。
[0015] 在一个实施例中,更新后的模型参数为,更新前的当前模型参数,与海森矩阵的逆矩阵和当前模型参数的梯度的乘积之差。
[0016] 根据第二方面,提供了一种业务模型的联合训练方法,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业
务方包括第一方、第二方和第三方,第一方和第二方联合持有用于训练所述业务模型的多
个训练样本,第三方为辅助训练业务模型的可信第三方;所述方法由第三方执行,包括:生
成辅助矩阵;将所述辅助矩阵随机拆分为第一份额和第二份额;向第一方发送所述辅助矩
阵的第一份额,以及向第二方发送所述辅助矩阵的第二份额,以供第一方和第二方:根据所
述辅助矩阵的第一份额和所述辅助矩阵的第二份额,秘密共享海森矩阵与所述辅助矩阵的
乘积,其中,所述海森矩阵以秘密共享方式存储于第一方和第二方;相互公开所述海森矩阵
与所述辅助矩阵的乘积的合并结果,或所述合并结果的逆矩阵;基于所述合并结果的逆矩
阵,秘密共享所述海森矩阵的逆矩阵;根据秘密共享的模型参数的梯度、秘密共享的所述海
森矩阵的逆矩阵,秘密共享更新的模型参数。
[0017] 在一个实施例中,所述方法还包括:分别从第一方、第二方接收当前模型参数和当前训练样本对应的特征数据的融合结果的第一份额、第二份额;根据所述融合结果的第一
份额、第二份额,确定所述融合结果;通过预定的激励函数处理所述融合结果,得到激励结
果;将所述激励结果随机拆分为第一份额、第二份额,并分别发送给第一方、第二方,以供第
一方和第二方根据所述激励结果的第一份额、第二份额秘密共享当前模型参数的梯度和海
森矩阵。
[0018] 根据第三方面,提供一种业务模型的联合训练装置,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务
方包括第一方、第二方和第三方,第一方和第二方联合持有用于训练所述业务模型的多个
训练样本,第三方为辅助训练业务模型的可信第三方;所述装置设于第一方,包括:
[0019] 第一安全计算单元,配置为与第二方秘密共享当前模型参数和当前训练样本对应的特征数据的融合结果,得到融合结果的第一份额;
[0020] 第二安全计算单元,配置为基于所述融合结果的第一份额,与第二方秘密共享当前模型参数的梯度和海森矩阵,得到所述当前模型参数的梯度的第一份额、所述海森矩阵
的第一份额;
[0021] 第三安全计算单元,配置为利用从第三方接收的辅助矩阵的第一份额,与第二方秘密共享所述海森矩阵与所述辅助矩阵的乘积,得到所述乘积的第一份额,其中,所述辅助
矩阵由第三方生成,并随机拆分得到辅助矩阵的第一份额和所述辅助矩阵的第二份额,所
述辅助矩阵的第二份额由第三方发送至第二方;
[0022] 公开单元,配置为基于所述乘积的第一份额,与第二方公开所述海森矩阵与所述辅助矩阵的乘积的合并结果,或所述合并结果的逆矩阵;
[0023] 确定单元,配置为按照所述合并结果的逆矩阵,以及所述辅助矩阵的第一份额,确定所述海森矩阵的逆矩阵的第一份额;
[0024] 更新单元,配置为基于所述模型参数的梯度的第一份额、所述海森矩阵的逆矩阵的第一份额,与第二方秘密共享更新的模型参数,以获得更新的模型参数的第一份额。
[0025] 根据第四方面,提供一种业务模型的联合训练装置,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务
方包括第一方、第二方和第三方,第一方和第二方联合持有用于训练所述业务模型的多个
训练样本,第三方为辅助训练业务模型的可信第三方;所述装置设于第三方,包括:
[0026] 生成单元,配置为生成辅助矩阵;
[0027] 拆分单元,配置为将所述辅助矩阵随机拆分为第一份额和第二份额;
[0028] 通信单元,配置为向第一方发送所述辅助矩阵的第一份额,以及向第二方发送所述辅助矩阵的第二份额,以供第一方和第二方:根据所述辅助矩阵的第一份额和所述辅助
矩阵的第二份额,秘密共享海森矩阵与所述辅助矩阵的乘积,其中,所述海森矩阵以秘密共
享方式存储于第一方和第二方;相互公开所述海森矩阵与所述辅助矩阵的乘积的合并结
果,或所述合并结果的逆矩阵;基于所述合并结果的逆矩阵,秘密共享所述海森矩阵的逆矩
阵;根据秘密共享的模型参数的梯度、秘密共享的所述海森矩阵的逆矩阵,秘密共享更新的
模型参数。
[0029] 根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
[0030] 根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面
的方法。
[0031] 通过本说明书实施例提供的方法和装置,在多方联合训练业务模型过程中,为了使用牛顿法以更快的收敛速度训练业务模型,在确定海森矩阵的逆矩阵时,引入由可信第
三方生成的辅助矩阵,由联合训练业务模型的各个业务方以秘密共享方式来确定海森矩阵
与辅助矩阵的乘积,并各自得到相应份额。在各自得到相应份额之后,由于各方不知道其他
方初始的辅助矩阵份额以及海森矩阵的相应份额,因此,即使将海森矩阵与辅助矩阵的乘
积的各个份额合并在一起,得到海森矩阵与辅助矩阵的乘积结果,也不会泄露各个业务方
的隐私数据。以上过程充分利用这种原理,使各个业务方分别得到海森矩阵与辅助矩阵的
乘积结果的逆矩阵,进而确定海森矩阵的逆矩阵的相应份额。根据这种特定的业务方交互
方式设置,使得多方安全计算中,利用牛顿法调整模型参数具有可行性,从而提高业务模型
的联合训练效率。

附图说明

[0032] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本
领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的
附图。
[0033] 图1示出本说明书的业务模型的实施架构示意图;
[0034] 图2示出本说明书的技术构思下的一个具体例子的实现过程示意图;
[0035] 图3示出根据一个实施例的多方安全计算的业务模型的联合训练流程中各个业务方操作的时序图;
[0036] 图4示出根据一个实施例的由第一方执行的业务模型的联合训练流程示意图;
[0037] 图5示出根据一个实施例的由第三方执行的业务模型的联合训练流程示意图
[0038] 图6示出根据一个实施例的设于第一方或第二方的业务模型的联合训练装置的示意性框图;
[0039] 图7示出根据一个实施例的设于第三方的业务模型的联合训练装置的示意性框图。

具体实施方式

[0040] 下面结合附图,对本说明书提供的方案进行描述。以下介绍本说明书实施例涉及的技术术语。
[0041] 多方安全计算(Secure Muti-Party Computation,MPC)是一种保护数据隐私安全的算法。多方安全计算能让参与计算的多个数据方在不泄漏自身数据的前提下进行协作计
算。
[0042] 秘密共享(Secret Sharing,SS)是一种保护数据隐私安全的算法。多个数据方可以在不泄漏自身数据的前提下,使用秘密共享方法进行协作计算,得到秘密信息。每个数据
方可以获得该秘密信息的一份份额。单个数据方无法恢复该秘密信息。只有将多个数据方
拥有的份额融合才能恢复该秘密信息。例如,数据方P1持有数据x1,数据方P2持有数据x2。采
用秘密共享方法,数据方P1和数据方P2可以进行协作计算,得到秘密信息。数据方P1在计算
后可以获得秘密信息y= 的份额y1,数据方P2在计算后可以获得秘密信息y的份额y2。
[0043] 激励函数(Activation Function),又称为激活函数,可以用于构建数据处理模型。激励函数为非线性函数。通过激励函数可以在数据处理模型中加入非线性因素,提高数
据处理模型的表达能力。激励函数可以包括但不限于Sigmoid函数、Tanh函数和ReLU函数等
中的一项。数据处理模型例如是逻辑回归模型、神经网络模型等。输出层的激励函数可以将
处理结果映射为输出结果,例如预定维度的向量。
[0044] 损失函数(Loss Function)可以用于衡量数据处理模型的预测值与真实值之间不一致的程度。损失函数的值越小,表示数据处理模型的鲁棒性越好。损失函数可以包括但不
限于对数损失函数(Logarithmic Loss Function)、平方损失函数(Square Loss)等。
[0045] 多方安全计算可以用秘密共享的方式来实现保护隐私的机器学习模型训练,例如逻辑回归、线性回归等算法。逻辑回归算法里面包含常见的几种优化算法,比如梯度下降
法、牛顿法、拟牛顿法等等。
[0046] 牛顿法的基本思想是利用迭代点处的一阶导数(梯度)和二阶导数(海森矩阵)对目标函数进行二次函数近似,然后把二次模型的极小点作为新的迭代点,并不断重复这一
过程,直至求得满足精度的近似极小值。牛顿法的速度相当快,而且能高度逼近最优值。牛
顿法具有较快的收敛速度,然而,在多方安全计算中,联合训练业务模型的多个业务方无法
获取其他业务方的隐私数据,对牛顿法的实施造成困扰。本说明书意在提供一种可以通过
多方安全计算实现牛顿法的一种方案。
[0047] 参考图1所示,给出了本说明书的一个实施架构,在该实施架构下,可以由三个或三个以上的业务方共同训练业务模型。其中,这些业务方中,有一个业务方担任可信第三方
(如图1中的业务方3)。这里说的可信第三方是指,在训练过程中可以不提供训练样本的样
本数据(如特征数据及标签数据),而作为辅助业务方进行复杂运算,从而降低多方安全计
算共同训练业务模型的复杂度。值得说明的是,在确保各方数据隐私的情况下,并不排除第
三方也持有部分训练数据的可能。
[0048] 实践中,参与业务模型训练的业务方至少为2个。如图1示出了至少3个,分别是业务方1、业务方2、业务方4。在业务模型训练过程中,每个业务方可以提供训练样本的一部分
业务数据,例如一部分特征数据,全部特征数据或标签数据,等等,也可以针对部分训练样
本提供相应的全部业务数据。
[0049] 其中,每个业务方可以提供训练样本的一部分业务数据的情况下,可以称为特征数据和标签数据对纵向切分的场景。所谓纵向切分,例如特征数据包括x1-xn,标签数据为y,
则可以有诸如下表1和表2所示的情形:
[0050] 表1 纵向切分情形1
[0051]训练样本 业务方1 业务方2 业务方3
样本1 x11,x12,x13,x14 x15,x16,x1n y1
~
样本2 x21,x22,x23,x24 x25,x26,~x2n y2
…… …… …… ……
[0052] 表2 纵向切分情形2
[0053]训练样本 业务方1 业务方2 业务方3
样本1 x11,x12,x13,x14 x15,x16,x1(n-2) x1(n-1) ,x1n,y1
~
样本2 x21,x22,x23,x24 x25,x26,~x2(n-2) x2(n-1) ,x2n,y2
…… …… …… ……
[0054] 表1和表2作为示例,仅列出了两种情形,实践中可能有更多的切分情形,在此不再赘述。表1示出了一些业务方持有训练样本的特征数据,一些业务方持有训练样本的标签数
据的情形,表2示出了一些业务方持有训练样本的特征数据,一些业务方既持有训练样本的
标签数据,又持有特征数据的情形。实践中,业务模型例如还可以是多任务模型,单个训练
样本可以对应多个标签,则多个标签还可以分布于多个业务方,即由多个业务方持有。
[0055] 针对部分训练样本提供相应的全部业务数据可以是横向切分的情形,所谓横向切分,就是一条训练样本可以被单个业务方完整持有。如表3所示:
[0056] 表3 横向切分示例
[0057]
[0058] 通常,横向切分的情形由于每个业务方持有完整的训练样本,可以采用更多其他的方式联合训练业务模型,因此,本说明书提供的发明构思尤其适用于在纵向切分的情形
下提供牛顿法的优化方案。
[0059] 其中,各个业务方可以通过计算机、终端、单个服务器、由多个服务器构成的服务器集群、或者部署在云端的服务器等等,实现与其他业务方的交互。各个业务方也可以理解
为相应业务方参与交互的设备。
[0060] 下面描述本说明书的技术构思。
[0061] 根据牛顿法的思想和原理,假设模型参数为w,用dw描述损失函数对模型参数的梯度(可以简称模型参数的梯度),用H表示海森矩阵(Hessian Matrix),其中,海森矩阵又称
为黑塞矩阵、海瑟矩阵或海塞矩阵等,例如是损失函数对模型参数w的二阶偏导数所构成的
方阵,则有:
[0062] dw+H(w1-w0)=0;
[0063] 这里,w0表示当前的模型参数,w1表示更新后的模型参数,即极值点的下一个估计值。
[0064] 假设训练样本的特征矩阵为X,标签向量为Y,业务模型输出向量为y=sigmoid(Xw),损失函数可以根据实际情况而定,例如逻辑回归算法中的损失函数为交叉熵,线性回
归算法中的损失函数为方差,等等。根据梯度的定义可以推导出:dw=XT·(y-Y)。海森矩阵
T
是损失函数的二阶导数,即,在梯度dw的基础上,进一步对模型参数w的偏导数,得到H=X ×
M×X,其中,M为diag(y*(1-y)),diag(x)表示由m维向量x中的各个维度的数值按照对角线
依次排列转换成的m×m维对角矩阵。其中,dw和H的具体推导过程在此不再赘述,可参考现
有技术的记载,例如https://blog.csdn.net/weixin_45424997/article/details/
104950049等中的记录。
[0065] 若H为非奇异矩阵,则模型参数的更新过程可以被表示为:
[0066] w1= w0-H-1dw。
[0067] 其中,这里的w0表示更新前的模型参数,w1表示更新后的模型参数。在多方安全计算中,由于各个业务方分别存储有部分数据,且相互之间不能泄露隐私,从而海森矩阵的逆
H-1的计算变得复杂,甚至可能导致无法通过牛顿法进行业务模型的联合训练。
[0068] 为了在多个业务方之间计算海森矩阵的逆H-1,本说明书提供一种特殊构思,实现多个业务方之间的海森矩阵的逆H-1的计算。假设参与联合训练业务模型的业务方有2个,记
为第一方和第二方,海森矩阵以共享的方式,由第一方持有第一份额H1,第二方持有第二份
额H2,且H1+H2=H。
[0069] 引入辅助矩阵R,则有:
[0070] H-1=R×R-1×H-1= R×(H×R)-1
[0071] 将R拆成两个份额,R1和R2,则H-1可以分别是这两个份额表示的形式:
[0072] H-1=R×R-1×H-1= R×(H× R)-1= R1×(H×R)-1+ R2×(H×R)-1
[0073] 其中,第一方和第二方能够共同运算(H×R)-1即可。由于R是辅助矩阵,如果第一方和第二方相互不知道对方持有的辅助矩阵R的份额,那么,通过各自持有的R的份额对海森
矩阵的相应份额进行处理后,即使对方获取了处理结果,也不会泄露海森矩阵的相应份额
的数据隐私。假设第一方持有海森矩阵的第一份额H1,第二方持有海森矩阵的第二份额H2,
则两方联合计算H×R:
[0074] H×R=(H1+H2)×(R1+R2)= H1R1+H1R2+ H2R1+H2R2
[0075] H1R1可以由第一方单独计算,H2R2可以由第二方单独计算,H1R2、H2R1可以由第一方和第二方通过秘密共享的矩阵乘法共同计算,并由第一方持有计算结果的第一份额,第二
方持有计算结果的第二份额:
[0076] (HR)1= H1R1+(H1R2)1+(H2R1)1
[0077] (HR)2=(H1R2)2+(H2R1)2+ H2R2
[0078] 由于经过了复杂的运算,如果一方将持有的计算结果的相应份额发送个另一方,另一方可以得到HR,以及(HR)-1,而无法反推对方持有的H份额。因此,第一方和第二方可以
-1
分别向另一方分享自身持有的计算结果的相应份额,并分别计算HR和(HR),也可以由一方
向另一方发送自身持有的计算结果的相应份额并由另一方计算HR和(HR)-1,将(HR)-1结果
反馈给自身。
[0079] 有了(HR)-1,第一方和第二方可以分别计算H-1的相关份额。
[0080] H-1= R1×(H×R)-1+ R2×(H×R)-1=(H-1)1 +(H-1)2
[0081] 其中,第一方可以持有H-1的第一份额(H-1)1= R1×(H×R)-1,第二方可以持有H-1的第二份额(H-1)2= R2×(H×R)-1。为了使得第一方和第二方都不能获知对方的辅助矩阵R的
份额,辅助矩阵可以由可信第三方生成,并拆分成两个份额后分别发送给第一方和第二方。
从而,可以在不泄露数据隐私的情况下,完成海森矩阵的逆的运算,提供多方联合训练业务
模型过程中,通过牛顿法达到更快的收敛速度的可能性。值得说明的是,当联合训练业务模
型有更多时,可以将HR拆分为更复杂的运算,并最终由各个业务方获取HR,并通过秘密共享
的联合运算获得(H)-1的相应份额。
[0082] 作为示例,图2示出在以上构思下的一个具体例子。在图2示出的具体示例中,多方安全计算的业务方包括第一方、第二方和第三方。第一方和第二方可以是拥有不同数据的
数据方,也即为合作安全构建业务模型的双方。业务模型的联合训练样本可以分散在第一
方和第二方,第三方为可信第三方(TTP,Trusted Third Party)。例如,第一方可以持有训
练样本的特征数据X,第二方可以持有训练样本的标签数据Y,或者第一方持有标签数据Y、
第二方持有特征数据X,或者第一方持有特征数据X1、第二方持有特征数据X(2 其中X=(X1,
X2))和标签数据Y,等等。
[0083] 作为实际场景示例,第一方持有特征数据X,第二方持有标签数据Y的情形例如是,第一方可以为大数据公司,持有用户借贷金额、用户缴纳社保的基数、用户是否已婚、以及
用户是否有房等特征数据,第二方可以为征信机构,持有用户的信用标签,用于表示用户是
否为失信者。在合作安全建模的过程中,出于保护数据隐私的考虑,第一方大数据公司不能
够向第二方征信机构泄漏自身持有的特征数据,第二方征信机构也不能够向第一方大数据
公司泄漏自身持有的数据。
[0084] 第一方和第二方之间可以联合训练业务模型,由第三方辅助进行数据处理,例如激励函数的运算、辅助矩阵的生成、初始模型参数的生成等,以降低联合训练业务模型的复
杂度。图2的具体示例中,业务模型或业务模型的单层输出例如为预定激励函数的激励结果
y=sigmoid(Xw)。其中,Xw是特征数据和模型参数的乘积形式的融合结果。第一方和第二方
可以通过秘密共享的矩阵乘法联合确定Xw,并秘密共享乘法结果,每一方存储Xw的一部分
份额,例如第一方存储(Xw)1,第二方存储(Xw)2。y=sigmoid(Xw)可以由可信第三方确定,也可以由第一方和第二方基于秘密共享方式通过多项式、混淆电路等联合确定,本说明书对
此不做限定。总之,第一方和第二方可以分别得到激励结果y的第一份额y1、第二份额y2。
[0085] 接下来第一方和第二方可以以秘密共享dw=XT(Y-y)和海默矩阵H= XT×M×X。然后,利用前述的本说明书的技术构思,由第三方生成辅助矩阵R,并随机拆分为第一份额R1
和第二份额R2,分别发送给第一方、第二方。第一方和第二方通过秘密共享的矩阵乘法确定
HR,并分别得到HR的第一份额、第二份额。之后,第一方、第二方利用HR的第一份额、第二份
额,公开其合并结果HR,或直接公开合并结果的逆矩阵(HR)-1。这里说的公开是指,第一方和
第二方都可以获取HR或(HR)-1。这里突破了多方安全计算的秘密共享。这是因为,经过秘密
共享的运算后,第一方和第二方即使知道了对方相互的HR份额,由于相互不知道对方的R份
额,因此也无法知晓对方的H份额,从而不会泄露隐私数据。从而,第一方和第二方可以分别
根据辅助矩阵R的第一份额R1和第二份额R2,确定海默矩阵H的逆矩阵H-1的第一份额(H-1)1、
第二份额(H-1)2。之后,第一方和第二方可以根据各自持有的模型参数的梯度、海森矩阵的
-1
相应份额,以秘密共享方式更新w= w-H dw。假设更新前的模型参数为w0,更新后为w1,则w1= 
w0-H-1dw。例如在第一方得到w1的第一份额(w1)1、在第一方得到w1的第二份额(w1)2。
[0086] 下面结合图3示出的时序图详细描述各个业务方的数据处理过程。
[0087] 可以理解,业务模型可以用于处理业务数据得到相应业务结果,例如处理用户画像业务数据,得到信息推送的目标的业务处理结果、金融行为业务处理结果等等。业务模型
的联合训练数据可以包括业务特征和标签。业务特征可以从业务数据中提取,一条业务特
征数据可以对应一个标签。业务数据可以是文字、图片、视频、动画、语音等中的至少一项。
其中,本说明书实施例可以适用于业务方的多种数据持有组合,例如,一方持有部分业务特
征和标签,另一方持有另一部分业务特征,或者多方分别持有业务特征,另一方持有业务标
签,等等。为了描述方便,可以将业务方持有的业务特征称为特征数据(包含业务特征的数
据),将业务方持有的业务标签称为标签数据(包含业务标签的数据)。
[0088] 在本说明书的技术构思下,至少包括第一方、第二方和第三方。第一方、第二方根据各自持有的训练数据联合训练业务模型,第三方作为可信第三方辅助第一方和第二方进
行数据处理,以降低运算复杂度,或提供必要的数据。在隐私保护要求较高的场景下,第三
方可以不获取其他方的数据隐私。可以理解的是,第一方和第二方在在业务模型的联合训
练过程中具有同等地位,这里第一方、第二方仅为区别描述,均不对业务方表示特指。
[0089] 首先,在步骤301中,第一方和第二方秘密共享当前模型参数和当前训练数据的特征数据的融合结果。其中,第一方得到融合结果的第一份额,第二方得到融合结果的第二份
额。
[0090] 可以理解的是,秘密共享的交互方式下,当前模型参数可以由第一方持有第一份额,第二方持有第二份额。在初始流程中,当前模型参数可以为初始化的模型参数,该初始
化模型参数可以由第一方或第二方中的任意一方生成,并随机拆分后发送给另一方,也可
以由可信第三方生成,并随机拆分后分发给第一方和第二方,还可以由第一方和第二方分
别随机生成相应的份额,本说明书对此不做限定。在业务模型训练的后续流程中,当前模型
参数可以为前一流程中更新后的模型参数。在该步骤301中,假设当前模型参数已经按照第
一份额、第二份额的秘密共享形式存储于第一方、第二方。
[0091] 在第一方和第二方持有的样本数据对训练样本纵向切分的情况下,在融合当前模型参数和当前训练样本对应的特征数据之前,第一方和第二方还可以联合确定当前批次按
顺序对应一致的训练样本。例如,都依次取出分别与用户“张三”、“李四”、“王五”对应的训练样本。
[0092] 在一个实施例中,第一方和第二方可以约定样本数据排列方式,并取出依次相同的位置处的样本数据。例如业务模型的联合训练样本为按照用户区分的业务数据,可以约
定按照身份证号码由小到大的顺序排列、按照年龄由小到大排列等等,以使得描述相同用
户的训练样本对应的特征数据和标签数据在第一方和第二方中的位置一致。
[0093] 在另一个实施例中,第一方和第二方可以为同一个训练样本约定相同的标识,并将该相同的标识作为随机获取训练样本的依据,以通过相同的随机数生成方式和约定的当
前随机数种子,生成相同的随机数序列,从而第一方和第二方分别获取相同的随机数序列
指向的、按顺序具有相同标识的样本数据。这里的标识例如可以是训练样本在样本数据集
中的排列序号、用户的身份证号等,一个标识可以唯一对应到一条训练样本。例如上述标识
为训练样本的排列序号,则当第一方和第二方都生成随机数5时,均可以查找到第5个训练
样本对应的相关数据。通常,按照随机数种子生成的第一个随机数由随机数种子确定,后续
生成的各个随机数中单个随机数由前一个随机数确定。在复杂的随机数生成方法中,后续
生成的各个随机数中单个随机数还可以由前一个随机数和动态变化的生成参数(如每生成
一个随机数,某个生成参数加1,以避免生成重复的随机数)一起确定。这样,在随机数生成
方式一致的情况下,可以保证第一方和第二方生成一致的随机数序列,并各自确定当前轮
次中使用的训练样本的特征数据和/或标签数据。
[0094] 对于模型参数和特征数据的融合,可以具有多种情况。首先以模型参数w和特征数据X的融合结果为Xw为例进行说明。
[0095] 根据一个可能的设计,第一方持有特征数据,第二方仅持有标签数据,第一方持有模型参数w的第一份额w01,第二方持有模型参数w的第一份额w02。其中,w的第一份额和第二
份额可以由前文描述的任一种方法确定。第一方可以将特征数据X拆分成第一份额X1和第
二份额X2,并将第二份额X2分享给第二方,则有:
[0096] Xw=(X1+X2)(w01+w02)= X1 w01+ X1 w02+ X2 w01+ X2 w02
[0097] 其中,第一项X1 w01和第四项X2 w02分别可以通过第一方和第二方单独确定并保持自身持有,第二项X1 w02和第三项X2 w01需要第一方和第二方通过秘密共享矩阵乘法进行确
定,并且每一方仅能获取乘积融合结果的一部分份额,在此不再赘述。
[0098] 根据另一个可能的设计,第一方持有部分特征数据(例如称为第一特征数据),第二方可以同时持有部分特征数据(例如称为第二特征数据)和标签数据。此时,第一方和第
二方基于秘密共享的乘法,可以融合第一特征数据、第二特征数据和模型参数,得到融合结
果。例如,第一方持有第一特征数据X1,第二方持有第二特征数据X2和第一标签数据Y。第一
方持有模型参数w的第一份额w01,第二方持有模型参数w的第一份额w02。第一方可以将第一
特征数据X1拆分成第一份额X11和第二份额X12,并向第二方分享X12,第二方可以将第二特征
数据X2拆分成第一份额X21和第二份额X22,并向第一方分享X22。
[0099] 这样,第一方可以根据X11和X21组合成综合特征数据X'的第一份额X1',例如,X1'=(X11,X21)。第二方可以根据X12和X22组合成特综合征数据X'的第二份额X2'=(X12,X22)。通过与前文的实施例中,第一方持有第一特征数据的第一份额为X1,第一方持有第一特征数据
的第二份额为X2类似的原理,可以由第一方和第二方将特征数据和模型参数进行融合,得
到融合结果。
[0100] 可以理解,第一方和第二方共同得到的融合结果可以分别被第一方存储有第一份额,并被第二方持有第二份额。例如,第一方持有的融合结果的第一份额为:
[0101] (Xw)1= X1 w01+ (X1 w02)1+ (X2 w01)1;或(Xw)1= X1'w01+ (X1'w02)1+ (X2'w01)1;
[0102] 第二方持有的融合结果的第二份额为:
[0103] (Xw)2= (X1 w02)2+ (X2 w01)2+ X2 w02;或(Xw)2= (X1'w02)2+ (X2'w01)2+X2'w02。
[0104] 在其他实施例中,模型参数和特征数据还可以通过其他融合方式拆分成秘密共享的加法或乘法进行,在此不再赘述。
[0105] 在更多可能的设计中,还可能涉及更多业务方共同提供特征数据的实施方式,模型参数和特征数据还可以进行更复杂的融合。例如,参与安全计算的多个业务方还包括第
四方,第四方还持有通过与第一方、第二方一致的方式获取的第四特征数据(与第四方对
应),第一方、第二方和第四方可以相互通过秘密共享的方式进行交互,从而融合模型参数
和特征数据,得到融合结果。此时,该融合结果由第一方持有第一份额,第二方持有第二份
额,第四方持有第四份额。
[0106] 总之,不管特征数据分布在多少个业务方,都可以通过秘密共享的方式确定特征数据和模型参数的融合结果,并且每个业务方持有融合结果的部分份额。
[0107] 接着,在步骤302中,第一方和第二方基于分别持有的融合结果的第一份额、第二份额,秘密共享当前模型参数的梯度和海森矩阵。其中,秘密共享过程中,各个中间结果及
最终结果都由第一方和第二方共享持有,并且不能相互获知对方持有的内容。这里,当前模
型参数的梯度的第一份额由第一方持有,第二份额由第二方持有;海森矩阵的第一份额由
第一方持有,第二份额由第二方持有。
[0108] 可以理解的是,当前模型参数的梯度、海森矩阵的确定过程都和业务模型的输出结果相关。因此,需要先确定业务模型的输出结果。在线性回归业务模型中,业务模型的输
出结果例如和Xw正相关。在逻辑回归业务模型中,业务模型的输出结果例如可以由激活函
数确定,如y=sigmoid(Xw)等。可以理解,在多层回归模型中,业务模型的输出结果还可以由
多个Xw或sigmoid(Xw)累积而成。在本说明书中作为示例仅考虑简单的单层情况。
[0109] 根据一个可能的设计,业务模型的输出结果可以由第一方和第二方以秘密共享的方式确定,例如输出结果为Xw,第一方和第二方可以通过秘密共享的矩阵乘法确定。此时的
输出结果直接可以由第一方、第二方分别持有相应份额。如第一方持有输出结果的第一份
额y1,第一方持有输出结果的第一份额y2。在输出结果由激励函数等运算确定的情况下,第
一方和第二方还可以通过诸如多项式、混淆电路之类的方式秘密共享上述输出结果,在此
不再赘述。
[0110] 根据另一个可能的设计,在业务模型的输出结果由激活函数如sigmoid等确定的情况下,由于融合结果Xw分别由第一方持有第一份额(Xw)1,由第二方持有第二份额(Xw)2,
sigmoid(Xw)的运算较复杂。此时,还可以由可信第三方分别从第一方、第二方获取(Xw)1和
(Xw)2,并独立计算sigmoid(Xw)=(Xw)1+(Xw)2,以及输出结果 。第三方在得到输
出结果后,可以将输出结果拆分为多个份额,以分别发送给各个参与联合训练业务模型的
业务方,例如向第一方发送输出结果的第一份额y1,向第二方发送输出结果的第二份额y2。
可选地,为了确保第一方、第二方等的数据不泄露给第三方,第一方和第二方在步骤301中
获取训练数据的方式可以为生成随机数的方式。
[0111] 根据其他可能的设计,还可以通过其他方式确定业务模型的输出结果,在此不再赘述。可以理解的是,不管何种方式确定的输出结果,都可以由第一方持有第一份额y1,第
二方持有第二份额y2。在参与业务模型训练的业务方还包括其他业务方的情况下,y还可以
被拆分成更多份额,在此不再赘述。当y是向量时,y1和y2可以是与y维度相同的2个向量。
[0112] 接着,一方面,第一方和第二方可以秘密共享当前模型参数的梯度,并且梯度结果以秘密共享的方式被第一方、第二方持有。例如梯度为dw,第一方持有第一份额(dw)1,第二
方持有第二份额(dw)2。在参与联合训练业务模型的业务方仅包括第一方和第二方的情况
下,dw= (dw)1+ (dw)2。
[0113] 作为示例,在业务模型为y=sigmiod(Xw)时,模型参数的梯度可以为dw=XT(y-Y),假设当前参与业务模型训练的业务方为第一方和第二方。并假设w、X、y分别由第一方和第
二方分别持有部分份额,在秘密共享的安全计算中,也需要第一方和第二方联合安全计算
dw的相应份额。例如,梯度运算结果例如可以是:
[0114] dw=(X1 T +X2 T)(y1+y2-Y1-Y2)= (X1 T +X2 T)[(y1 -Y1)+ (y2-Y2)]
[0115] = X1 T(y1 -Y1)+ X1 T(y2-Y2)+ X2 T(y1 -Y1)+ X2 T (y2-Y2)。
[0116] 其中,(y1 -Y1)为第一方持有的激励结果与标签数据的差的第一份额, (y2-Y2)为第二方持有的激励结果与标签数据的差的第二份额。可以理解的是,如果初始的标签数据Y
由第二方持有,Y1和Y2可以由第二方对第一标签数据Y拆分确定。Y1可以是第二方提供给第
一方的第一标签数据的第一份额,Y2可以是第二方保留的标签数据的第二份额。反之,如果
初始的标签数据Y由第一方持有,Y1可以是第一方保留的标签数据的第一份额,Y2可以是第
一方提供给第二方的标签数据的第二份额。
[0117] 可以理解,第一乘积项X1 T(y1 -Y1)可以由第一方单独确定,第四乘积项X2 T (y2-Y2)可以由第二方单独确定,而第二乘积项X1 T(y2-Y2)和第三乘积项X2 T(y1 -Y1)均为一方的
矩阵和另一方的矩阵相乘得到,可以分别通过秘密共享的矩阵乘法计算得到。且乘法计算
结果在第一方和第二方分别具有一定份额,而双方都无法获知对方所持有的份额。最终,第
一方可以持有模型参数梯度的第一份额(dw)1,第二方可以持有模型参数梯度的第二份额
(dw)2,如:
[0118]  (dw)1=X1 T(y1 -Y1)+[ X1 T(y2-Y2)]1+[ X2 T(y1 -Y1)]1
[0119]  (dw)2= [ X1 T(y2-Y2)]2+[ X2 T(y1 -Y1)]2+ X2 T (y2-Y2)
[0120] 其中,(dw)1+(dw)2= dw,[ X1 T(y2-Y2)]1+ [ X1 T(y2-Y2)]2= X1 T(y2-Y2),[ X2 T(y1 -Y1)]1+[ X2 T(y1 -Y1)]2= X2 T(y1 -Y1)。
[0121] 当多个业务方还包括其他方(如前述的第四方)时,第四方还可以参与秘密共享的更新模型参数过程,得到模型参数梯度的第四份额,和第一份额、第二份额组合在一起才是
完整的模型参数梯度。当然,安全计算过程中,这些份额时不能真的组合在一起的,而是以
秘密共享方式由各个业务方持有,在此不再赘述。
[0122] 其中,在一些可能的设计中,为了计算的简便,标签数据可以不被持有的一方秘密分享给另一方。在初始的标签数据被第二方持有时,可以有Y1=0,即,第二方不拆分标签数
据,Y2=Y。则第一方确定的模型参数梯度的第一份额为:
[0123] (dw)1=X1 Ty1+[ X1 T(y2-Y)]1+[ X2 Ty1]1,
[0124] 第二方确定的模型参数梯度的第二份额为:
[0125] (dw)2= [ X1 T(y2-Y)]2+[ X2 Ty1]2+ X2 T (y2-Y)。
[0126] 在初始的标签数据被第一方持有时,可以有Y2=0,Y1=Y,在此不再赘述。
[0127] 另一方面,第一方和第二方还可以进一步联合确定海森矩阵H,并以共享的方式,由第一方持有海森矩阵的第一份额H1,由第二方持有海森矩阵的第二份额H2。
[0128] 根据前文描述的原理,海森矩阵可以通过以下方式确定:H=XT×M×X,其中,M=diag(y*(1-y))。为了得到海森矩阵,可以先确定M。M是描述二阶导数的矩阵,因此,在本说明书中可以称为梯度矩阵。由于y以共享方式由第一方持有第一份额y1,由第二方持有第二
份额y2,则第一方和第二方通过秘密共享方式确定y*(1-y)。本领域技术人员容易理解,y为
向量时,这里的“1”可以表示维数与y一致,各个维度均为1的向量。这里,y与(1-y)的*乘法
可以是对应项相乘。
[0129] 于是,y*(1-y)可以表示为(y1+ y2)*(1-y1-y2)。其中,在秘密共享计算中,1-y1-y2可以拆分为分别由第一方和第二方确定的2个项。
[0130] 在一个实施例中:
[0131] y*(1-y)=(y1+ y2)*(1-y1-y2)=(y1+ y2)* [(1-y1)-y2]= y1*(1-y1)-y1*y2+ y2*(1-y1)- y2* y2
[0132] 可以理解的是,第一项y1*(1-y1)可以由第一方独立计算,第四项- y2* y2可以由第二方独立计算,第二项-y1*y2和第三项y2*(1-y1)可以由第一方、第二方通过秘密共享的
方式确定,并分别持有相应份额。例如秘密共享的乘法运算结果第一方持有[-y1*y2]1和[ 
y2*(1-y1)]1,第二方持有[-y1*y2]2和[ y2*(1-y1)]2。由于这里的乘法是对应项相乘,每一组对应项都可以采用秘密共享乘法进行。
[0133] 令y*(1-y)的第一份额[y*(1-y)]1= y1*(1-y1)+ [-y1*y2]1+[ y2*(1-y1)]1,第二份额[y*(1-y)]1= [-y1*y2]2+[ y2*(1-y1)]2+(- y2* y2),则第一份额由第一方持有,第二份额由第二方持有。
[0134] 在另一个实施例中,也可以是:
[0135] y*(1-y)=(y1+ y2)*(1-y1-y2)=(y1+ y2)* [(1-y2)-y1]= - y1* y1+y1*(1-y2)-y1*y2+ y2*(1-y2)
[0136] 其中第一项- y1* y1可以由第一方独立计算,第四项y2*(1-y2)可以由第二方独立计算,第二项y1*(1-y2)和第三项-y1*y2可以由第一方、第二方通过秘密共享的方式确定,并
分别持有相应份额。
[0137] 在其他实施例中,1-y1-y2还可以拆分为其他的2个项,例如0.5- y1和0.5- y2等等,都可以按照以上类似的方式,由第一方和第二方以秘密共享方法确定其结果的第一份
额和第二份额,在此不再赘述。
[0138] 相应地,M=diag(y*(1-y))=M1+M2= diag([y*(1-y)]1)+ diag([y*(1-y)]2)。其中,第一份额M1= diag([y*(1-y)]1)可以由第一方持有,第二份额M2= diag([y*(1-y)]2)可以由第二方持有。
[0139] 进一步地,H= XT×M×X =(X1T+ X2T)×(M1+ M2)×(X1+ X2)可以由第一方和第二方以两次秘密共享的矩阵乘法确定,并分别有第一方持有第一份额H1,第二方持有第二份额
H2,在此不再赘述。
[0140] 在步骤303中,第三方可以生成辅助矩阵,并拆分辅助矩阵。例如拆分出第一份额和第二份额。根据前文所述的原理,这里的辅助矩阵用于辅助确定海森矩阵H的逆矩阵H-1。
可以理解的是,假设当前批次的训练样本数量为n,特征总数量为t, M可以为n×n维的矩
阵,X可以为n×t维的矩阵,XT可以为t×n维的矩阵,H为t×t维的矩阵。为了得到RH,R的列
数可以为t。第三方可以随机生成R,并随机拆分第一份额R1和第二份额R2。其中,R1和R2是维
度与R一致,和为R的矩阵。
[0141] 步骤304,第三方将辅助矩阵随机拆分到的第一份额、第二份额分别发送给第一方、第二方。
[0142] 这里值得说明的是,步骤303和步骤304在实际执行时,可以发生在步骤305之前的任何时刻,而不必须是在步骤302之后。例如,步骤303和步骤304还可以在步骤301之前、在
步骤301和步骤302之间,与步骤301或步骤302同时进行,等等。因此,图3的时序图中,步骤
303和步骤304通过虚线描述。
[0143] 步骤305,第一方和第二方秘密共享海森矩阵与辅助矩阵的乘积。其中,第一方可以得到该乘积的第一份额,第二方可以得到该乘积的第二份额。第一方持有海森矩阵的第
一份额H1与辅助矩阵的第一份额R1,第二方持有海森矩阵的第二份额H2与辅助矩阵的第二
份额R2,海森矩阵与辅助矩阵的乘积H×R可以通过秘密共享的矩阵乘法确定,原理见前文,
在此不再赘述。最终的到的乘积可以由第一方持有第一份额(HR)1,第二方持有第二份额
(HR)2。
[0144] 步骤306,第一方和第二方公开海森矩阵与辅助矩阵的乘积的合并结果,或者合并结果的逆矩阵。这里说的公开,可以表示第一方和第二方都获取或持有。如此,第一方和第
二方都可以持有海森矩阵与辅助矩阵的乘积结果的逆矩阵。
[0145] 在一个实施例中,第一方和第二方中的任一方可以将自身所持有的乘积份额,发送给另一方,由另一方对乘积合并得到合并结果后,或根据合并结果确定其逆矩阵(HR)-1
后,反馈给当前方,以供第一方和第二方都持有海森矩阵与辅助矩阵的乘积结果的逆矩阵
(HR)-1。
[0146] 在另一个实施例中,第一方和第二方中,双方均可以将自身所持有的乘积份额,发送给另一方,并分别对乘积结果进行合并得到合并结果,以及根据合并结果确定其逆矩阵
(HR)-1。
[0147] 在又一个实施例中,第一方和第二方可以将自身所持有的乘积份额发送给第三方,由可信第三方对乘积结果进行合并得到合并结果后,或者根据合并后结果确定其逆矩
阵(HR)-1后分别反馈给第一方和第二方。
[0148] 在其他实施例中,还可以通过更多方式,将海森矩阵与辅助矩阵的乘积结果合并,并由第一方和第二方均持有该乘积结果的逆矩阵。可以理解的是,由于辅助矩阵是第三方
随机生成,第一方和第二方均不知晓对方原始持有的辅助矩阵份额,在经过复杂的秘密共
享乘法计算后,即使得到乘积的合并结果,也无法反推对方持有的其他数据,因此,可以有
效保护数据隐私。
[0149] 接下来的步骤307(图中未示出该标号),可以拆分为分别由第一方执行的子步骤3071和由第二方执行的子步骤3072。其中,在子步骤3071中,第一方可以根据海森矩阵与辅
助矩阵的乘积合并结果的逆矩阵,以及辅助矩阵的第一份额,确定海森矩阵的逆矩阵的第
一份额。另一方面,在子步骤3072中,第二方可以根据海森矩阵与辅助矩阵的乘积合并结果
的逆矩阵,以及辅助矩阵的第二份额,确定海森矩阵的逆矩阵的第二份额。海森矩阵的逆矩
阵的第一份额例如可以为(H-1)1= R1×(H×R)-1,海森矩阵的逆矩阵的第二份额例如为(H
-1)2= R2×(H×R)-1。如图3所示,子步骤3071和子步骤3072分别可以由第一方和第二方独立
完成。
[0150] 然后,在步骤308中,第一方和第二方基于各自持有的模型参数的梯度、海森矩阵的逆矩阵的相应份额,以秘密共享方式更新当前模型参数。其中,第一方获得更新后的模型
参数的第一份额,第二方获得更新后的模型参数的第二份额。
[0151] 在牛顿法中,更新当前模型参数的依据是:w= w-H-1dw。如果将当前模型参数记为w0,更新后的模型参数记为w1,则可以写作w1= w0-H-1dw。在第一方持有(w0)1、(H-1)1、(dw)1,-1
第二方持有(w0)2、(H )2、(dw)2的情况下,有:
[0152] w1= w0-H-1dw=[(w0)1+(w0)2]- [(H-1)1+(H-1)2] [(dw)1+(dw)2]
[0153] ={(w0)1-[(H-1)(1 dw)1]- [(H-1)(1 dw)2] 1- [(H-1)(2 dw)1] 1}
[0154] +{(w0)2- [(H-1)1(dw)2] 2- [(H-1)2(dw)1]2-[(H-1)2(dw)2]}
[0155] 其中,更新的模型参数的第一份额可以记为(w1)1={(w0)1-[(H-1)1(dw)1]- [(H-1)1(dw)2] 1- [(H-1)(2 dw)1] 1}可以被第一方持有,更新的模型参数的第二份额记为(w1)2={(w0)2- [(H-1)(1 dw)2] 2- [(H-1)(2 dw)1]2-[(H-1)(2 dw)2]}可以被第一方持有。[(H-1)(1 dw)2]和[(H-1)(2 dw)1]可以由第一方和第二方通过秘密共享的矩阵乘法运算,并秘密共享运算结果。
[0156] 这样,可以完成针对一轮训练样本的模型参数调整,例如第一方更新初始模型参数的第一份额(w0)1=(w1)1,第二方更新初始模型参数的第二份额(w0)2=(w1)2。在业务模型由
多层非线性运算结构的情况下,第一方和第二方还可以根据步骤301中获取的第一标签数
据,反向逐层确定各层的模型参数梯度,从而逐层更新模型参数,在此不再赘述。
[0157] 本领域技术人员可以理解,在当前训练伦次为第一轮次的情况下,步骤302中的当前模型参数可以是初始的模型参数,该模型参数可以被第一方或第二方设置并分享给另一
方,或者由第三方设置并拆分后分发给第一方、第二方等。但在当前训练伦次不是第一轮次
的情况下,当前模型参数可以就是前一轮次更新后的模型参数,更新后的模型参数的各个
份额不合并在一起的情况下,任一个业务方都无法确定更新后的模型参数。
[0158] 进一步地,可以根据更新后的模型参数,进行新一轮的业务模型的联合训练流程的迭代。直至满足预定条件。可以理解,单方业务模型训练的结束条件通常是模型参数收
敛,这里,由于参与联合训练业务模型的单个业务方无法确定模型参数是否收敛,预定条件
例如可以是训练数据被遍历、迭代鳞次达到预定数量,等等。
[0159] 值得说明的是,在实际应用中,多个业务方还可以包括其他方,多个业务方共同提供特征数据的情况下,可以按照前述的第一方和第二方的秘密共享组合方法,由各个业务
方分别获取各份特征数据的一个随机份额,从而组合成训练数据的全部特征数据的相应份
额,在此不再赘述。总之,这些持有训练样本的样本数据的多个业务方中,至少包括第一方
和第二方,一方持有特征数据,另一方至少持有标签数据。其中,以上第一方和第二方在模
型训练过程中具有同等地位,因此一些描述可以相互适应。
[0160] 另外关于步骤303和步骤304中的辅助矩阵,也可以由第三方生成一次后,其第一份额、第二份额分别被第一方、第二方保存,从而在后续迭代流程中反复使用。如果某个轮
次的海森矩阵的维度发生变化,则可以由第三方重新生成辅助矩阵,并拆分分享给第一方、
第二方。
[0161] 在以上过程中,本说明书实施例提供的业务模型的联合训练方法,为了使用牛顿法,以更快的收敛速度训练业务模型,在确定海森矩阵的逆矩阵时,引入由可信第三方生成
的辅助矩阵,由联合训练业务模型的各个业务方以秘密共享方式来确定海森矩阵与辅助矩
阵的乘积,并各自得到相应份额。在各自得到相应份额之后,由于各方不知道其他方初始的
辅助矩阵份额以及海森矩阵的相应份额,因此,即使将海森矩阵与辅助矩阵的乘积的各个
份额合并在一起,得到海森矩阵与辅助矩阵的乘积结果,也不会泄露各个业务方的隐私数
据。以上过程充分利用这种原理,使各个业务方分别得到海森矩阵与辅助矩阵的乘积结果
的逆矩阵,进而确定海森矩阵的逆矩阵的相应份额。根据这种特定的业务方交互方式设置,
使得多方安全计算中,利用牛顿法调整模型参数具有可行性,从而提高业务模型的联合训
练效率。
[0162] 如图4所述,在图3示出的操作时序图中,以第一方的角度,业务模型的联合训练流程可以包括以下步骤:
[0163] 步骤401,与第二方秘密共享当前模型参数和当前训练样本对应的特征数据的融合结果,得到融合结果的第一份额;
[0164] 步骤402,基于融合结果的第一份额,与第二方秘密共享当前模型参数的梯度和海森矩阵,得到当前模型参数的梯度的第一份额、海森矩阵的第一份额;
[0165] 步骤403,利用从第三方接收的辅助矩阵的第一份额,与第二方秘密共享海森矩阵与辅助矩阵的乘积,得到乘积的第一份额,其中,辅助矩阵由第三方生成,并随机拆分得到
辅助矩阵的第一份额和辅助矩阵的第二份额,辅助矩阵的第二份额由第三方发送至第二
方;
[0166] 步骤404,根据乘积的第一份额,与第二方公开海森矩阵与辅助矩阵的乘积的合并结果,或合并结果的逆矩阵;
[0167] 步骤405,按照合并结果的逆矩阵,以及辅助矩阵的第一份额,确定海森矩阵的逆矩阵的第一份额;
[0168] 步骤406,基于模型参数的梯度的第一份额、海森矩阵的逆矩阵的第一份额,与第二方秘密共享更新的模型参数,以获得更新的模型参数的第一份额。
[0169] 其中,以第二方的角度,执行步骤与第一方的执行步骤类似,在此不再赘述。事实上,这里的第一方和第二方没有特指,它们是可以互换的。
[0170] 如图5所示,以第三方的角度,业务模型的联合训练流程可以包括:
[0171] 步骤501,生成辅助矩阵;
[0172] 步骤502,将辅助矩阵随机拆分为第一份额和第二份额;
[0173] 步骤503,向第一方发送辅助矩阵的第一份额,以及向第二方发送辅助矩阵的第二份额,以供第一方和第二方:根据辅助矩阵的第一份额和辅助矩阵的第二份额,秘密共享海
森矩阵与辅助矩阵的乘积,其中,海森矩阵以秘密共享方式存储于第一方和第二方;相互公
开海森矩阵与辅助矩阵的乘积的合并结果,或合并结果的逆矩阵;基于合并结果的逆矩阵,
秘密共享海森矩阵的逆矩阵;根据秘密共享的模型参数的梯度、秘密共享的海森矩阵的逆
矩阵,秘密共享更新的模型参数。
[0174] 值得说明的是,图3示出的流程中涉及各个业务方执行的操作的描述,同样适用于图4、图5示出的相应业务方,在此不做赘述。
[0175] 根据另一方面的实施例,还提供了业务模型的联合训练装置。这里的业务模型的联合训练装置可以设于联合训练业务模型的多个业务方中。业务模型可以是用于对业务数
据进行处理,得到相应的业务处理结果的机器学习模型。多个业务方至少包括第一方、第二
方和第三方,第一方和第二方联合持有用于训练所述业务模型的多个训练样本,第三方为
辅助训练业务模型的可信第三方。图6示出的联合训练装置600可以设于第一方或第二方。
其中,第一方和第二方相互配合,并在业务模型训练过程中具有同等地位,这里以设于第一
方为例进行说明。如图6所示,装置600包括:
[0176] 第一安全计算单元61,配置为与第二方秘密共享当前模型参数和当前训练样本对应的特征数据的融合结果,得到融合结果的第一份额;
[0177] 第二安全计算单元62,配置为基于融合结果的第一份额,与第二方秘密共享当前模型参数的梯度和海森矩阵,得到当前模型参数的梯度的第一份额、海森矩阵的第一份额;
[0178] 第三安全计算单元63,配置为利用从第三方接收的辅助矩阵的第一份额,与第二方秘密共享海森矩阵与辅助矩阵的乘积,得到乘积的第一份额,其中,辅助矩阵由第三方生
成,并随机拆分得到辅助矩阵的第一份额和辅助矩阵的第二份额,辅助矩阵的第二份额由
第三方发送至第二方;
[0179] 公开单元64,配置为基于乘积的第一份额,与第二方公开海森矩阵与辅助矩阵的乘积的合并结果,或合并结果的逆矩阵;
[0180] 确定单元65,配置为按照合并结果的逆矩阵,以及辅助矩阵的第一份额,确定海森矩阵的逆矩阵的第一份额;
[0181] 更新单元66,配置为基于模型参数的梯度的第一份额、海森矩阵的逆矩阵的第一份额,与第二方秘密共享更新的模型参数,以获得更新的模型参数的第一份额。
[0182] 值得说明的是,图6所示的装置600设于第一方时,对应图4示出的流程,图4的相关描述同样适用于装置600,在此不再赘述。图6示出的装置600设于第二方时,对应与图4相互
配合的流程,在此不再赘述。
[0183] 根据另一方面的实施例,还提供了业务模型的联合训练装置。这里的业务模型的联合训练装置可以设于联合训练业务模型的多个业务方中。业务模型可以是用于对业务数
据进行处理,得到相应的业务处理结果的机器学习模型。多个业务方至少包括第一方、第二
方和第三方,第一方和第二方联合持有用于训练所述业务模型的多个训练样本,第三方为
辅助训练业务模型的可信第三方。图7示出的联合训练装置700可以设于第三方。如图7所
示,装置700包括:
[0184] 生成单元71,配置为生成辅助矩阵;
[0185] 拆分单元72,配置为将辅助矩阵随机拆分为第一份额和第二份额;
[0186] 通信单元73,配置为向第一方发送辅助矩阵的第一份额,以及向第二方发送辅助矩阵的第二份额,以供第一方和第二方:根据辅助矩阵的第一份额和辅助矩阵的第二份额,
秘密共享海森矩阵与辅助矩阵的乘积,其中,海森矩阵以秘密共享方式存储于第一方和第
二方;相互公开海森矩阵与辅助矩阵的乘积的合并结果,或合并结果的逆矩阵;基于合并结
果的逆矩阵,秘密共享海森矩阵的逆矩阵;根据秘密共享的模型参数的梯度、秘密共享的海
森矩阵的逆矩阵,秘密共享更新的模型参数。
[0187] 值得说明的是,图7所示的装置700是与图5示出的方法实施例相对应的装置实施例,图5示出的方法实施例中的相应描述同样适用于装置700,在此不再赘述。
[0188] 根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行结合图4或图5所描述的方法。
[0189] 根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现结合图4或图5的方法。
[0190] 本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将
这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码
进行传输。
[0191] 以上的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本说明书的技术构思的具体实施方式而已,并
不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之
上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。