保护数据隐私的双方联合训练业务预测模型的方法和装置制造方法及图纸

技术编号:24171346 阅读:100 留言:0更新日期:2020-05-16 03:03
本说明书实施例提供一种保护数据隐私的双方联合训练业务预测模型的方法和装置,其中双方各自拥有一部分特征数据。在模型迭代过程中,双方通过安全矩阵乘法,得到总的特征矩阵X与总的参数矩阵W的乘积结果的加密分片。由拥有标签的第二方汇总这两个加密分片,得到加密的乘积结果Z。第二方基于该乘积结果Z与加密的标签Y,得到加密的误差E,并对其进行同态加密下的秘密分享。于是,双方各自得到误差分片。然后双方基于误差分片和各自的特征矩阵,通过秘密分享和安全矩阵乘法,得到对应的梯度分片。然后,第一方利用其梯度分片更新其维护的参数分片,第二方利用其梯度分片更新其维护的参数分片。如此实现保护数据隐私的安全联合训练。

The method and device of joint training business prediction model for data privacy protection

【技术实现步骤摘要】
保护数据隐私的双方联合训练业务预测模型的方法和装置
本说明书一个或多个实施例涉及数据安全和机器学习领域,具体地,涉及双方联合训练业务预测模型的方法和装置。
技术介绍
机器学习所需要的数据往往会涉及到多个领域。例如在基于机器学习的商户分类分析场景中,电子支付平台拥有商户的交易流水数据,电子商务平台存储有商户的销售数据,银行机构拥有商户的借贷数据。数据往往以孤岛的形式存在。由于行业竞争、数据安全、用户隐私等问题,数据整合面临着很大阻力,将分散在各个平台的数据整合在一起训练机器学习模型难以实现。在保证数据不泄露的前提下,使用多方数据联合训练机器学习模型变成目前的一大挑战。常用的机器学习模型包括,逻辑回归模型,线性回归模型,以及神经网络模型等,其中逻辑回归模型可以有效地执行样本分类预测等任务,线性回归模型可以有效地预测样本的回归值,神经网络模型可以通过多层神经元的组合,执行各种预测任务。以上这些模型的训练过程中,都会涉及利用特征数据与模型参数数据之间的运算得到预测结果,以及根据预测结果确定出梯度,进而调整模型参数的过程。在多方共同训练机器学习模型的情况下,如何在不泄露各方隐私数据,包括特征数据和模型参数数据,的情况下,协同进行上述各个阶段的运算,是实际要解决的问题。因此,希望提供改进的方案,在双方联合训练业务预测模型的情况下,保证各方的隐私数据不泄露,确保数据安全。
技术实现思路
本说明书一个或多个实施例描述了双方联合训练业务预测模型的方法和装置,其中通过迭代过程中参数分片的方式,保证数据隐私不泄露,确保联合训练中隐私数据的安全。根据第一方面,提供了一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述方法应用于所述第二方,该方法包括,多次迭代执行模型参数更新,其中每次迭代包括:基于本地维护的第一参数第二分片和第二参数第二分片,通过本地矩阵乘法以及与所述第一方的安全矩阵乘法运算,计算得到同态加密的第二加密乘积分片,并从所述第一方接收第一加密乘积分片;其中,第一参数第二分片是用于处理所述第一特征部分的第一参数部分WA的第二分片;第二参数第二分片是用于处理所述第二特征部分的第二参数部分WB的第二分片;对所述第一加密乘积分片和第二加密乘积分片进行同态加和,得到加密乘积结果Z,其对应于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和的加密值;基于所述加密乘积结果Z和所述标签向量Y的加密值进行同态运算,得到加密误差向量E,对该加密误差向量E进行秘密分享,得到第二误差分片;对该加密误差向量E和第二特征矩阵XB进行同态操作下的矩阵相乘,得到第二加密梯度,对该第二加密梯度进行秘密分享,得到第二梯度第二分片;用所述第二误差分片,与所述第一方中的第一特征矩阵XA进行安全矩阵乘法,得到第一梯度第二部分的第二分片;根据所述第二梯度第二分片,更新所述第二参数第二分片;根据所述第一梯度第二部分的第二分片,更新所述第一参数第二分片。根据一个实施例,在执行多次迭代执行模型参数更新之前,还包括:初始化所述第二参数部分WB,通过秘密分享将其拆分为第二参数第一分片和第二参数第二分片,保留所述第二参数第二分片,将所述第二参数第一分片发送给第一方;从第一方接收对所述第一参数部分WA秘密分享的第一参数第二分片。在一个实施例中,在执行所述多次迭代执行模型参数更新之后,还包括:将最后一次迭代中更新后的所述第一参数第二分片发送给所述第一方,并从所述第一方接收更新后的第二参数第一分片;将最后一次迭代中更新后的第二参数第二分片,和所接收的第二参数第一分片进行组合,得到所述业务预测模型训练后的第二参数部分WB。在不同实施例中,业务对象可以包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。根据一个实施例,所述业务预测模型为线性回归模型;在这样的情况下,可以计算所述加密乘积结果Z和所述标签向量Y的同态差值,作为所述加密误差向量E。根据另一实施例,所述业务预测模型为逻辑回归模型;在这样的情况下,可以根据sigmoid函数的泰勒展开形式,基于所述加密乘积结果Z得到加密预测结果,对加密预测结果和所述标签向量Y的加密值进行同态差值运算,得到所述加密误差向量E。进一步的,在一个例子汇总,在得到加密误差向量E之前,还包括,至少根据所述第一乘积分片和所述第二乘积分片,计算加密多阶乘积;如此,可以根据sigmoid函数的多阶泰勒展开形式,基于所述加密乘积结果Z和所述加密多阶乘积得到加密预测结果,对加密预测结果和所述标签向量Y的加密值进行同态差值运算,得到所述加密误差向量E。在一个具体实施例中,通过以下方式计算得到同态加密的第二乘积分片:用所述第一参数第二分片,与所述第一方中的第一特征矩阵XA进行安全矩阵乘法,得到第一特征第二处理结果的第二分片;本地计算第二特征矩阵XB与第二参数第二分片的乘积,得到第二特征第一处理结果;用所述第二特征矩阵XB,与所述第一方中的第二参数第一分片进行安全矩阵乘法,得到第二特征第二处理结果的第二分片;对所述第一特征第二处理结果的第二分片,所述第二特征第一处理结果,所述第二特征第二处理结果的第二分片进行加和,并用所述第一方的公钥对加和结果进行同态加密,得到所述第二加密乘积分片。在一个实施例中,通过以下方式更新所述第二参数第二分片,即,通过减去所述第二梯度第二分片与预设步长的乘积,更新所述第二参数第二分片。根据第二方面,提供了一种保护数据隐私的双方联合训练业务预测模型的方法,该方法应用于前述第一方,该方法包括:多次迭代执行模型参数更新,其中每次迭代包括:基于本地维护的第一参数第一分片和第二参数第一分片,通过本地矩阵乘法运算以及与所述第二方的安全矩阵乘法运算,计算得到同态加密的第一加密乘积分片;其中,所述第一参数第一分片是用于处理所述第一特征部分的第一参数部分WA的第一分片;第二参数第一分片是用于处理所述第二特征部分的第二参数部分WB的第一分片;将该第一加密乘积分片发送给第二方,使得第二方将该第一加密乘积分片与其计算的第二加密乘积分片进行同态加和,以得到加密乘积结果Z,其对应于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和的加密值;从第二方接收对加密误差向量E秘密分享的第一误差分片,其中加密误差向量E基于所述加密乘积结果Z和标签向量Y的加密值的同态运算确定;将所述第一误差分片的转置与第一特征矩阵XA进行本地乘法操作,得到第一梯度第一部分;用所述第一特征矩阵XA,与第二方中保留的第二误差分片进行安全矩阵乘法,得到第一梯度第二部分的第一分片;从第二方接收对第二加密本文档来自技高网...

【技术保护点】
1.一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵X

【技术特征摘要】
1.一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述方法应用于所述第二方,该方法包括,多次迭代执行模型参数更新,其中每次迭代包括:
基于本地维护的第一参数第二分片和第二参数第二分片,通过本地矩阵乘法以及与所述第一方的安全矩阵乘法运算,计算得到同态加密的第二加密乘积分片,并从所述第一方接收第一加密乘积分片;其中,第一参数第二分片是用于处理所述第一特征部分的第一参数部分WA的第二分片;第二参数第二分片是用于处理所述第二特征部分的第二参数部分WB的第二分片;
对所述第一加密乘积分片和第二加密乘积分片进行同态加和,得到加密乘积结果Z,其对应于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和的加密值;
基于所述加密乘积结果Z和所述标签向量Y的加密值进行同态运算,得到加密误差向量E,对该加密误差向量E进行秘密分享,得到第二误差分片;
对该加密误差向量E和第二特征矩阵XB进行同态操作下的矩阵相乘,得到第二加密梯度,对该第二加密梯度进行秘密分享,得到第二梯度第二分片;
用所述第二误差分片,与所述第一方中的第一特征矩阵XA进行安全矩阵乘法,得到第一梯度第二部分的第二分片;
根据所述第二梯度第二分片,更新所述第二参数第二分片;根据所述第一梯度第二部分的第二分片,更新所述第一参数第二分片。


2.根据权利要求1所述的方法,在多次迭代执行模型参数更新之前,还包括:
初始化所述第二参数部分WB,通过秘密分享将其拆分为第二参数第一分片和第二参数第二分片,保留所述第二参数第二分片,将所述第二参数第一分片发送给第一方;
从第一方接收对所述第一参数部分WA秘密分享的第一参数第二分片。


3.根据权利要求1所述的方法,在多次迭代执行模型参数更新之后,还包括:
将最后一次迭代中更新后的所述第一参数第二分片发送给所述第一方,并从所述第一方接收更新后的第二参数第一分片;
将最后一次迭代中更新后的第二参数第二分片,和所接收的第二参数第一分片进行组合,得到所述业务预测模型训练后的第二参数部分WB。


4.根据权利要求1所述的方法,其中,所述业务对象包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。


5.根据权利要求1所述的方法,其中,所述业务预测模型为线性回归模型;
所述基于所述加密乘积结果Z和所述标签向量Y的加密值进行同态运算,得到加密误差向量E,包括:
计算所述加密乘积结果Z和所述标签向量Y的同态差值,作为所述加密误差向量E。


6.根据权利要求1所述的方法,其中,所述业务预测模型为逻辑回归模型;
所述基于所述加密乘积结果Z和所述标签向量Y的加密值进行同态运算,得到加密误差向量E,包括:
根据sigmoid函数的泰勒展开形式,基于所述加密乘积结果Z得到加密预测结果,对加密预测结果和所述标签向量Y的加密值进行同态差值运算,得到所述加密误差向量E。


7.根据权利要求6所述的方法,其中,在得到加密误差向量E之前,还包括,至少根据所述第一乘积分片和所述第二乘积分片,计算加密多阶乘积;
所述得到加密误差向量E,包括:
根据sigmoid函数的多阶泰勒展开形式,基于所述加密乘积结果Z和所述加密多阶乘积得到加密预测结果,对加密预测结果和所述标签向量Y的加密值进行同态差值运算,得到所述加密误差向量E。


8.根据权利要求1所述的方法,其中,计算得到同态加密的第二乘积分片,包括:
用所述第一参数第二分片,与所述第一方中的第一特征矩阵XA进行安全矩阵乘法,得到第一特征第二处理结果的第二分片;
本地计算第二特征矩阵XB与第二参数第二分片的乘积,得到第二特征第一处理结果;
用所述第二特征矩阵XB,与所述第一方中的第二参数第一分片进行安全矩阵乘法,得到第二特征第二处理结果的第二分片;
对所述第一特征第二处理结果的第二分片,所述第二特征第一处理结果,所述第二特征第二处理结果的第二分片进行加和,并用所述第一方的公钥对加和结果进行同态加密,得到所述第二加密乘积分片。


9.根据权利要求1所述的方法,其中,根据所述第二梯度第二分片,更新所述第二参数第二分片,包括:通过减去所述第二梯度第二分片与预设步长的乘积,更新所述第二参数第二分片。


10.一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述方法应用于所述第一方,该方法包括:多次迭代执行模型参数更新,其中每次迭代包括:
基于本地维护的第一参数第一分片和第二参数第一分片,通过本地矩阵乘法运算以及与所述第二方的安全矩阵乘法运算,计算得到同态加密的第一加密乘积分片;其中,所述第一参数第一分片是用于处理所述第一特征部分的第一参数部分WA的第一分片;第二参数第一分片是用于处理所述第二特征部分的第二参数部分WB的第一分片;
将该第一加密乘积分片发送给第二方,使得第二方将该第一加密乘积分片与其计算的第二加密乘积分片进行同态加和,以得到加密乘积结果Z,其对应于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和的加密值;
从第二方接收对加密误差向量E秘密分享的第一误差分片,其中加密误差向量E基于所述加密乘积结果Z和标签向量Y的加密值的同态运算确定;
将所述第一误差分片的转置与第一特征矩阵XA进行本地乘法操作,得到第一梯度第一部分;
用所述第一特征矩阵XA,与第二方中保留的第二误差分片进行安全矩阵乘法,得到第一梯度第二部分的第一分片;
从第二方接收对第二加密梯度秘密分享的第二梯度第一分片;
根据所述第一梯度第一部分和第一梯度第二部分的第一分片,更新第一参数第一分片;根据所述第二梯度第一分片,更新第二参数第一分片。


11.根据权利要求10所述的方法,在多次迭代执行模型参数更新之前,还包括:
初始化所述第一参数部分WA,通过秘密分享将其拆分为第一参数第一分片和第一参数第二分片,保留所述第一参数第一分片,将所述第一参数第二分片发送给第二方;
从所述第二方接收对第二参数部分WB秘密分享的第二参数第一分片。


12.根据权利要求10所述的方法,在多次迭代执行模型参数更新之后,还包括::
将最后一次迭代中...

【专利技术属性】
技术研发人员:陈超超王力王磊周俊
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1