CN111178549B - 保护数据隐私的双方联合训练业务预测模型的方法和装置 - Google Patents
保护数据隐私的双方联合训练业务预测模型的方法和装置 Download PDFInfo
- Publication number
- CN111178549B CN111178549B CN202010276696.6A CN202010276696A CN111178549B CN 111178549 B CN111178549 B CN 111178549B CN 202010276696 A CN202010276696 A CN 202010276696A CN 111178549 B CN111178549 B CN 111178549B
- Authority
- CN
- China
- Prior art keywords
- fragment
- parameter
- party
- slice
- gradient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Artificial Intelligence (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供一种保护数据隐私的双方联合训练业务预测模型的方法和装置,其中双方各自拥有一部分特征数据。在模型迭代过程中,双方通过安全矩阵乘法,得到总的特征矩阵X与总的参数矩阵W的乘积结果的两个乘积分片。拥有标签的第二方对标签向量Y进行秘密分享,使双方得到两个标签分片。于是,双方各自根据持有的乘积分片和标签分片计算出对应的误差分片。然后双方基于各自的误差分片和特征矩阵,通过秘密分享和安全矩阵乘法,得到对应的梯度分片。然后,第一方利用其梯度分片更新其维护的参数分片,第二方利用其梯度分片更新其维护的参数分片。如此实现保护数据隐私的安全联合训练。
Description
技术领域
本说明书一个或多个实施例涉及数据安全和机器学习领域,具体地,涉及双方联合训练业务预测模型的方法和装置。
背景技术
机器学习所需要的数据往往会涉及到多个领域。例如在基于机器学习的商户分类分析场景中,电子支付平台拥有商户的交易流水数据,电子商务平台存储有商户的销售数据,银行机构拥有商户的借贷数据。数据往往以孤岛的形式存在。由于行业竞争、数据安全、用户隐私等问题,数据整合面临着很大阻力,将分散在各个平台的数据整合在一起训练机器学习模型难以实现。在保证数据不泄露的前提下,使用多方数据联合训练机器学习模型变成目前的一大挑战。
常用的机器学习模型包括,逻辑回归模型,线性回归模型,以及神经网络模型等,其中逻辑回归模型可以有效地执行样本分类预测等任务,线性回归模型可以有效地预测样本的回归值,神经网络模型可以通过多层神经元的组合,执行各种预测任务。以上这些模型的训练过程中,都会涉及利用特征数据与模型参数数据之间的运算得到预测结果,以及根据预测结果确定出梯度,进而调整模型参数的过程。在多方共同训练机器学习模型的情况下,如何在不泄露各方隐私数据,包括特征数据和模型参数数据,的情况下,协同进行上述各个阶段的运算,是实际要解决的问题。
因此,希望提供改进的方案,在双方联合训练业务预测模型的情况下,保证各方的隐私数据不泄露,确保数据安全。
发明内容
本说明书一个或多个实施例描述了双方联合训练业务预测模型的方法和装置,其中通过迭代过程中参数分片的方式,保证数据隐私不泄露,确保联合训练中隐私数据的安全。
根据第一方面,提供了一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述方法应用于所述第二方,该方法包括,多次迭代执行模型参数更新,其中每次迭代包括:
基于本地维护的第一参数第二分片和第二参数第二分片,通过本地矩阵乘法以及与所述第一方的安全矩阵乘法运算,计算得到第二乘积分片;其中,第一参数第二分片是用于处理所述第一特征部分的第一参数部分WA的第二分片,第二参数第二分片是用于处理所述第二特征部分的第二参数部分WB的第二分片。对所述标签向量Y进行秘密分享,得到第二标签分片,并基于所述第二乘积分片对所述第二标签分片进行相减,得到第二误差分片。本地计算所述第二误差分片和第二特征矩阵XB的乘积,得到第二梯度第一部分;以及用所述第二特征矩阵XB,与所述第一方中的第一误差分片进行安全矩阵乘法,得到第二梯度第二部分的第二分片,并从所述第一方接收第一梯度第二部分的第二分片。根据所述第二梯度第一部分和所述第二梯度第二部分的第二分片,更新所述第二参数第二分片;根据所述第一梯度第一部分的第一分片,更新所述第一参数第二分片。
在一个实施例中,在多次迭代执行模型参数更新之前,还包括:初始化所述第二参数部分WB,通过秘密分享将其拆分为第二参数第一分片和第二参数第二分片,保留所述第二参数第二分片,将所述第二参数第一分片发送给第一方;从第一方接收对所述第一参数部分WA秘密分享的第一参数第二分片。
在一个实施例中,在多次迭代执行模型参数更新之后,还包括:将最后一次迭代中更新后的所述第一参数第二分片发送给所述第一方,并从所述第一方接收更新后的第二参数第一分片;将最后一次迭代中更新后的第二参数第二分片,和所接收的第二参数第一分片进行组合,得到所述业务预测模型训练后的第二参数部分WB。
在一个实施例中,所述业务对象包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。
在一个实施例中,所述业务预测模型为线性回归模型;其中基于所述第二乘积分片对所述第二标签分片进行相减,得到第二误差分片,包括:计算所述第二乘积分片和所述第二标签分片的差值,作为所述第二误差分片。
在另一个实施例中,所述业务预测模型为逻辑回归模型;其中基于所述第二乘积分片对所述第二标签分片进行相减,得到第二误差分片,包括:根据sigmoid函数的泰勒展开形式,基于所述第二乘积分片得到第二预测结果分片,计算所述第二预测结果分片和所述第二标签分片的差值,作为所述第二误差分片。
在一个具体的实施例中,根据sigmoid函数的泰勒展开形式,基于所述第二乘积分片得到第二预测结果分片,包括:根据sigmoid函数的多阶泰勒展开形式,计算所述第二乘积分片的多次方,得到第二分片多次方;利用所述第二乘积分片与所述第二分片多次方,跟所述第一方中的第一乘积分片和第一分片多次方进行多次安全矩阵乘法运算,得到多个第二多阶乘积分片;利用所述第二乘积分片、所述第二分片多次方和多个第二多阶乘积分片,确定所述第二预测结果分片。
在一个实施例中,计算得到第二乘积分片,包括:用所述第一参数第二分片,与所述第一方中的第一特征矩阵XA进行安全矩阵乘法,得到第一特征第二处理结果的第二分片;本地计算第二特征矩阵XB与第二参数第二分片的乘积,得到第二特征第一处理结果;用所述第二特征矩阵XB,与所述第一方中的第二参数第一分片进行安全矩阵乘法,得到第二特征第二处理结果的第二分片;对所述第一特征第二处理结果的第二分片,所述第二特征第一处理结果,所述第二特征第二处理结果的第二分片进行加和,得到所述第二乘积分片。
在一个实施例中,根据所述第二梯度第一部分和所述第二梯度第二部分的第二分片,更新所述第二参数第二分片,包括:将所述第二梯度第一部分和第二梯度第二部分的第二分片之和与预设步长的乘积,作为调整量,通过减去所述调整量,更新所述第二参数第二分片。
根据第二方面,提供一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述方法应用于所述第二方,该方法包括,多次迭代执行模型参数更新,其中每次迭代包括:
基于本地维护的第一参数第一分片和第二参数第一分片,通过本地矩阵乘法以及与所述第二方的安全矩阵乘法运算,计算得到第一乘积分片;其中,第一参数第一分片是用于处理所述第一特征部分的第一参数部分WA的第一分片,第二参数第一分片是用于处理所述第二特征部分的第二参数部分WB的第一分片。从所述第二方接收对所述标签向量Y秘密分享的第一标签分片,并基于所述第一乘积分片对所述第一标签分片进行相减,得到第一误差分片。本地计算所述第一误差分片和第一特征矩阵XA的乘积,得到第一梯度第一部分;以及用所述第一特征矩阵XA,与所述第二方中的第二误差分片进行安全矩阵乘法,得到第一梯度第二部分的第一分片,并从所述第二方接收第二梯度第二部分的第一分片。根据所述第一梯度第一部分和所述第一梯度第二部分的第一分片,更新所述第一参数第一分片;根据所述第二梯度第二部分的第一分片,更新所述第二参数第一分片。
根据第三方面,提供一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述装置部署于所述第二方,该装置包括,用于多次迭代执行模型参数更新的迭代单元,其进一步包括:
乘积分片确定单元,配置为基于本地维护的第一参数第二分片和第二参数第二分片,通过本地矩阵乘法以及与所述第一方的安全矩阵乘法运算,计算得到第二乘积分片;其中,第一参数第二分片是用于处理所述第一特征部分的第一参数部分WA的第二分片,第二参数第二分片是用于处理所述第二特征部分的第二参数部分WB的第二分片。误差分片确定单元,配置为对所述标签向量Y进行秘密分享,得到第二标签分片,并基于所述第二乘积分片对所述第二标签分片进行相减,得到第二误差分片。梯度分片确定单元,配置为本地计算所述第二误差分片和第二特征矩阵XB的乘积,得到第二梯度第一部分;以及用所述第二特征矩阵XB,与所述第一方中的第一误差分片进行安全矩阵乘法,得到第二梯度第二部分的第二分片,并从所述第一方接收第一梯度第二部分的第二分片。参数更新单元,配置为根据所述第二梯度第一部分和所述第二梯度第二部分的第二分片,更新所述第二参数第二分片;根据所述第一梯度第一部分的第一分片,更新所述第一参数第二分片。
根据第四方面,提供一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述装置部署于所述第一方,该装置包括,用于多次迭代执行模型参数更新的迭代单元,其进一步包括:
乘积分片确定单元,配置为基于本地维护的第一参数第一分片和第二参数第一分片,通过本地矩阵乘法以及与所述第二方的安全矩阵乘法运算,计算得到第一乘积分片;其中,第一参数第一分片是用于处理所述第一特征部分的第一参数部分WA的第一分片,第二参数第一分片是用于处理所述第二特征部分的第二参数部分WB的第一分片。误差分片确定单元,配置为从所述第二方接收对所述标签向量Y秘密分享的第一标签分片,并基于所述第一乘积分片对所述第一标签分片进行相减,得到第一误差分片。梯度分片确定单元,配置为本地计算所述第一误差分片和第一特征矩阵XA的乘积,得到第一梯度第一部分;以及用所述第一特征矩阵XA,与所述第二方中的第二误差分片进行安全矩阵乘法,得到第一梯度第二部分的第一分片,并从所述第二方接收第二梯度第二部分的第一分片。参数更新单元,配置为根据所述第一梯度第一部分和所述第一梯度第二部分的第一分片,更新所述第一参数第一分片;根据所述第二梯度第二部分的第一分片,更新所述第二参数第一分片。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
根据本说明书实施例提供的方法和装置,参与联合训练的双方各自拥有一部分特征数据。在联合训练的迭代过程中,双方不仅不进行特征数据的明文交换,其模型参数部分也拆分为参数分片,各自只维护分片参数的迭代更新,直到迭代结束,才会重构得到模型参数。由于迭代过程中各方仅维护参数的分片,交换一些分片结果,而基于这些分片结果几乎不可能反推出隐私数据的有用信息,如此,极大地增强了联合训练过程中,隐私数据的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的双方联合训练线性回归模型的过程示意图;
图3示出在一个实施例中第一子阶段的部分实施过程;
图4示出根据另一个实施例的双方联合训练逻辑回归模型的过程示意图;
图5示出根据一个实施例的部署在第二方中的联合训练装置的示意性框图;
图6示出根据一个实施例的部署在第一方中的联合训练装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,典型的机器学习模型的训练过程包括,利用特征数据与模型参数数据之间的运算得到预测结果,根据预测结果确定出梯度,进而根据梯度调整模型参数的过程。
具体地,假设用于训练机器学习模型的训练数据集有n个样本,每个样本的样本特征表示为x(x可以是一个向量),标签表示为y,则该训练数据集可表示为:
在使用最大似然概率及随机梯度下降方式的情况下,得到的梯度可以表示为:
在单方独立训练模型的情况下,可以容易地进行上述的运算。但是在多方联合训练机器学习模型的情况下,同一样本的特征可能分布在不同参与方中,每个参与方维护模型的一部分参数,如何在不泄露各方明文数据的情况下,实施上述各项运算,是实现联合训练中数据隐私保护的核心挑战。
针对上述问题,发明人提出,在双方联合训练机器学习模型的场景下,将各方模型参数拆解为安全的参数分片,借助于秘密分享和安全矩阵乘法,将以上各项运算也相应拆解为安全而秘密的分片运算,通过双方对分片运算结果的交互和联合计算,实现上述各项运算,从而实现安全的协同训练。
图1为本说明书披露的一个实施例的实施场景示意图。如图1所示,双方联合训练的场景涉及参与方A和参与方B,或称为第一方和第二方。各个参与方可以实现为任何具有计算、处理能力的设备、平台、服务器或设备集群。双方要在保护数据隐私的情况下,联合训练一个业务预测模型。
第一方A存储有训练样本集中n个业务对象的一部分特征,称为第一特征部分。假定每个业务对象的第一特征部分为d1维向量,那么n个业务对象的第一特征部分构成一个n*d1维的第一特征矩阵XA。第二方B存储有该n个业务对象的第二特征部分。假定每个业务对象的第二特征部分为d2维向量,那么n个业务对象的第二特征部分构成一个n*d2维的第二特征矩阵XB。假定第二方中还存储有n个业务对象的标签值,n个标签值构成一个标签向量Y。
例如,在一个示例性场景中,上述第一方A和第二方B为电子支付平台和银行机构,双方需要联合训练一个业务预测模型,来评估用户的信用等级。此时,业务对象即为用户。双方可以各自维护用户的一部分特征数据,例如,电子支付平台维护用户的电子支付和转账相关特征,构成上述的第一特征矩阵;银行机构维护用户的信贷记录方面的相关特征,构成上述的第二特征矩阵。此外,银行机构还具有用户信用等级的标签Y。
在另一个示例中,上述第一方A和第二方B为电子商务平台和电子支付平台,双方需要联合训练一个业务预测模型,来评估商户的欺诈风险。此时,业务对象即为商户。双方可以各自维护商户的一部分特征数据,例如,电子商务平台存储样本商户的销售数据作为一部分样本特征,该部分样本特征构成上述第一特征矩阵;电子支付平台维护商户的交易流水数据作为另一部分样本特,构成第二特征矩阵。电子支付平台还维护样本商户的标签(是或不是欺诈商户的标记),构成标签向量Y。
在其他场景示例中,业务对象还可以是待评估的其他对象,比如商品,交互事件(例如交易事件,登录事件,点击事件,购买事件),等等。相应的,参与方可以是维护有上述业务对象的不同特征部分的不同业务方。业务预测模型可以是针对相应业务对象进行分类预测或回归预测的模型。
需要理解,双方各自维护的业务对象特征属于隐私数据,在联合训练过程中,不可以进行明文交换,以保护隐私数据安全。并且,最终,第一方A希望训练得到用于处理第一特征部分的模型参数部分,称为第一参数部分WA;第二方B希望训练得到用于处理第二特征部分的第二参数部分WB,这两部分参数共同构成业务预测模型。
为了在不泄露隐私数据的情况下,进行模型的联合训练,根据本说明书的实施例,如图1所示,第一方A和第二方B将初始化生成、有待训练的第一参数部分WA和第二参数部分WB进行秘密分享,拆解为参数分片,于是,第一方得到第一参数第一分片<WA>1和第二参数第一分片<WB>1,第二方得到第一参数第二分片<WA>2和第二参数第二分片<WB>2。
在模型迭代训练过程中,双方通过安全矩阵乘法,得到总的特征矩阵X与总的参数矩阵W的乘积结果的加密分片Z1,Z2。由具有标签的第二方对标签向量Y进行秘密分享,使得双方各自得到标签分片Y1和Y2,从而双方各自根据拥有的乘积分片和标签分片计算出误差分片E1和E2。进一步地,双方基于误差分片和各自的特征矩阵,通过秘密分享和安全矩阵乘法,得到对应的梯度分片G1和G2。然后,第一方利用其梯度分片G1,更新其维护的参数分片<WA>1和<WB>1,第二方利用其梯度分片G2,更新其维护的参数分片<WA>2和<WB>2。
直到整个迭代过程结束,双方交换其参数分片,进行参数重构。于是第一方基于其自身维护的第一参数第一分片<WA>1和第二方发送的第一参数第二分片<WA>2,重构得到训练后的第一参数部分WA;第二方基于其自身维护的第二参数第二分片<WB>2和第一方发送的第二参数第一分片<WB>1,重构得到训练后的第二参数部分WB。
在整个训练过程中,双方不仅不进行特征数据的明文交换,其模型参数部分也拆分为参数分片,各自只维护分片参数的迭代更新,直到迭代结束,才会重构得到模型参数。如此,极大地增强了联合训练过程中,隐私数据的安全性。
下面描述双方联合进行模型训练的具体过程。
图2示出根据一个实施例的双方联合训练线性回归模型的过程示意图。图2场景中的第一方A和第二方B的数据持有状况与图1相同,不再赘述。在图2的场景中,双方联合训练一个线性回归模型作为业务预测模型。
首先,在模型初始化阶段,第一方A和第二方B对模型参数初始化,并进行秘密分享,各自维持参数分片。
具体地,在步骤S11,第一方A初始化用于处理第一特征部分的第一参数部分WA。该第一参数部分WA可以通过随机生成的方式初始化得到。然后,在S12,第一方A对上述第一参数部分进行秘密分享,即将其拆分为第一参数第一分片<WA>1和第一参数第二分片<WA>2,自己持有第一参数第一分片<WA>1,将第一参数第二分片<WA>2发送给第二方B。可以理解,两个参数分片之和为第一参数部分,即:WA=<WA>1+<WA>2。
相应地,在步骤S13,第二方B初始化用于处理第二特征部分的第二参数部分WB。该第二参数部分WB可以通过随机生成的方式初始化得到。然后,在S14,第二方A对上述第二参数部分进行秘密分享,将其拆分为第二参数第一分片<WB>1和第二参数第二分片<WB>2,自己持有第二参数第二分片<WB>2,将第二参数第一分片<WB>1发送给第一方A。相应的,这两个参数分片之和为第二参数部分,即:WB=<WB>1+<WB>2。
需要理解,步骤S11-S12,以及步骤S13-S14之间,可以并行执行,或者以任意先后顺序执行,在此不做限定。
在进行上述初始化和秘密分享之后,第一方A维持有第一参数第一分片<WA>1和第二参数第一分片<WB>1,第二方B维持有第一参数第二分片<WA>2和第二参数第二分片<WB>2。
接下来,进入模型迭代阶段,该阶段一般包含多次迭代过程。在一个实施例中,迭代次数为预先设定的超参数。在另一实施例中,迭代次数并不预先设定,而是在满足一定收敛条件时,停止迭代。上述收敛条件例如可以是,误差足够低,梯度足够小,等等。
每次迭代过程可以包括4个子阶段:计算乘积分片<Z>1和<Z>2;计算误差分片<E>1和<E>2;计算梯度G;更新参数。下面分别描述各个子阶段的具体执行方式。
在第一子阶段,在步骤S21,第一方A和第二方B,各自基于本地矩阵乘法运算以及双方的安全矩阵乘法运算,分别计算得到第一乘积分片<Z>1和第二乘积分片<Z>2,使得两个分片之和对应于总特征矩阵X与总参数W的乘积,也就是等于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和。
图3示出在一个实施例中第一子阶段的部分实施过程。
具体地,在步骤S211,第一方A本地计算第一特征矩阵XA与第一参数第一分片<WA>1的乘积,得到第一特征第一处理结果<ZA>1,即:
<ZA>1=XA˙<WA>1
在步骤S212,第一方A用其持有的第一特征矩阵XA,与第二方B持有的第一参数第二分片<WA>2进行安全矩阵乘法。安全矩阵乘法可以采用同态加密、秘密分享或采用其他安全计算方式实现,对此不作限定。第一特征矩阵XA与第一参数第二分片<WA>2的乘积记为第一特征第二处理结果<ZA>2,即:
<ZA>2=XA˙<WA>2
在本文上下文中,将用本地参数处理的结果称为第一处理结果,将通过安全矩阵乘法采用对方参数进行处理的结果称为第二处理结果。
则通过步骤S212的安全矩阵乘法,第一方A得到第一特征第二处理结果<ZA>2的第一分片<<ZA>2>1,第二方B得到第一特征第二处理结果<ZA>2的第二分片<<ZA>2>2,两个分片之和为第一特征第二处理结果。
在步骤S213,第二方B本地计算第二特征矩阵XB与第二参数第二分片<WB>2的乘积,得到第二特征第一处理结果<ZB>1,即:
<ZB>1=XB˙<WB>2
在步骤S214,第二方B用其持有的第二特征矩阵XB,与第一方A持有的第二参数第一分片<WB>1进行安全矩阵乘法,乘积记为第二特征第二处理结果<ZB>2,即:
<ZB>2=XB˙<WB>1
通过步骤S214的安全矩阵乘法,第一方A得到第二特征第二处理结果<ZB>2的第一分片<<ZB>2>1,第二方B得到第二特征第二处理结果<ZB>2的第二分片<<ZB>2>2,两个分片之和为第二特征第二处理结果。
需要理解,以上的各个步骤S211-S214,可以以任意的先后顺序执行。
然后,在步骤S215,第一方A对以上运算得到的各个处理结果的分片进行加和,也就是,对第一特征第一处理结果<ZA>1,第一特征第二处理结果的第一分片<<ZA>2>1,第二特征第二处理结果的第一分片<<ZB>2>1进行加和,得到第一乘积分片<Z>1,即:
<Z>1=<ZA>1+<<ZA>2>1+<<ZB>2>1
相应地,在步骤S216,第二方B对其得到的各个处理结果的分片进行加和,也就是,对第一特征第二处理结果的第二分片<<ZA>2>2,第二特征第一处理结果<ZB>1,第二特征第二处理结果的第二分片<<ZB>2>2进行加和,得到第二乘积分片<Z>2,即:
<Z>2=<ZB>1+<<ZA>2>2+<<ZB>2>2
可以验证,第一乘积分片<Z>1和第二乘积分片<Z>2之和,为总特征矩阵X与总参数W的乘积,即为第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和:
<Z>1+<Z>2
=<ZA>1+<<ZA>2>1+<<ZB>2>1+<ZB>1+<<ZA>2>2+<<ZB>2>2
=<ZA>1+(<<ZA>2>1+<<ZA>2>2)+<ZB>1+(<<ZB>2>1+<<ZB>2>2)
=XA˙<WA>1+XA˙<WA>2+XB˙<WB>1+XB˙<WB>2
=XA˙WA+XB˙WB
至此第一方A和第二方B分别计算得到了第一乘积分片<Z>1和第二乘积分片<Z>2。如此,在迭代的第一子阶段,双方共同进行安全计算,分别得到了第一乘积分片<Z>1和第二乘积分片<Z>2。
于是,进入第二子阶段,计算误差分片<E>1和<E>2。
在第二子阶段的步骤S31,第二方对其持有的标签向量Y进行秘密分享,即将其拆分为第一标签分片<Y>1和第二标签分片<Y>2,自己持有第二标签分片<Y>2,将第一标签分片<Y>1发送给第一方A。可以理解,两个标签分片之和为标签向量,即:Y=<Y>1+<Y>2。
然后在步骤S32,第二方B基于第二乘积分片<Z>2对第二标签分片<Y>2进行相减,得到第二误差分片<E>2。并且,在步骤S33,第一方A基于第一乘积分片<Z>1对第一标签分片<Y>1进行相减,得到第一误差分片<E>1。
在图2所示的线性回归模型的场景下,预测值,因此,预测误差可表示为,特征矩阵与模型参数的乘积结果X*W,与标签向量Y的差值。而目前获得的乘积结果对应于第一方A和第二方B分别持有的第一乘积分片<Z>1和第二乘积分片<Z>2,标签向量Y对应于第一方A和第二方B分别持有的第一标签分片<Y>1和第二标签分片<Y>2。因此,第二方B可以将第二乘积分片<Z>2减去第二标签分片<Y>2,并将得到的第二差值作为第二误差分片<E>2,第一方A可以将第一乘积分片<Z>1减去第一标签分片<Y>1,并将得到的第一差值作为第一误差分片<E>1。
可以验证,第一误差分片<E>1和第二误差分片<E>2之和,为上述总特征矩阵X和总参数W之间的乘积结果,与标签向量Y之间的差值:
<E>1+<E>2
=<Z>1-<Y>1+<Z>2-<Y>2
=(<Z>1+<Z>2)-(<Y>1+<Y>2)
=X*W-Y
至此第一方A和第二方B分别计算得到了第一误差分片<E>1和第二误差分片<E>2。如此,在迭代的第二子阶段,双方共同进行安全计算,分别得到了第一误差分片<E>1和第二误差分片<E>2。
于是,进入第三子阶段,计算梯度G。根据之前的公式(1),梯度计算涉及误差向量与特征矩阵的相乘。然而,误差向量和特征矩阵依然分布在第一方A和第二方B双方之间,因此,仍需采用分片计算的方式,得到各个梯度分片。
具体地,在步骤S41,第一方A本地计算第一误差分片<E>1的转置<E>1 T与第一特征矩阵XA的乘积,得到第一梯度第一部分<GA>1,即:
<GA>1=<E>1 T˙XA
在步骤S42,第一方A用其持有的第一特征矩阵XA,与第二方B持有的第二误差分片<E>2进行安全矩阵乘法。安全矩阵乘法可以采用同态加密、秘密分享或采用其他安全计算方式实现。第二误差分片<E>2的转置<E>2 T与第一特征矩阵XA的乘积记为第一梯度第二部分<GA>2,即:
<GA>2=<E>2 T˙XA
则通过步骤S42的安全矩阵乘法,第一方A得到第一梯度第二部分<GA>2的第一分片<<GA>2>1,第二方B得到第一梯度第二部分<GA>2的第二分片<<GA>2>2,两个分片之和为第一梯度第二部分。
在步骤S43,第二方B本地计算第二误差分片<E>2的转置<E>2 T与第二特征矩阵XB的乘积,得到第二梯度第一部分<GB>1,即:
<GB>1=<E>2 T˙XB
在步骤S44,第二方B用其持有的第二特征矩阵XB,与第一方A持有的第一误差分片<E>1进行安全矩阵乘法。安全矩阵乘法可以采用同态加密、秘密分享或采用其他安全计算方式实现。第一误差分片<E>1的转置<E>1 T与第二特征矩阵XB的乘积记为第二梯度第二部分<GB>2,即:
<GB>2=<E>1 T˙XB
则通过步骤S44的安全矩阵乘法,第二方B得到第二梯度第二部分<GB>2的第二分片<<GB>2>2,第一方A得到第二梯度第二部分<GB>2的第一分片<<GB>2>1,两个分片之和为第二梯度第二部分。
需要理解,以上的各个步骤S41-S44,可以以任意的先后顺序执行。
至此,实现了对于梯度分片的计算。接着,进入迭代的第四子阶段,参数更新。在该阶段中,各方根据自己得到的梯度分片,更新自己维护的参数分片。参数更新阶段包括以下步骤。
在步骤S51,第一方A根据步骤S41计算的第一梯度第一部分<GA>1和步骤S42得到的第一梯度第二部分的第一分片<<GA>2>1,更新第一参数第一分片<WA>1。
具体地,将第一梯度第一部分<GA>1和第一梯度第二部分的第一分片<<GA>2>1之和与预设步长α的乘积,作为调整量,通过减去该调整量,更新第一参数第一分片<WA>1,这可以表示为:
<WA>1← <WA>1-α(<GA>1+<<GA>2>1)
在步骤S52,第一方A根据步骤S44得到的第二梯度第二部分的第一分片<<GB>2>1,更新第二参数第一分片<WB>1,这可以表示为:
<WB>1 ← <WB>1-α<<GB>2>1
在步骤S53,第二方B根据步骤S43计算的第二梯度第一部分<GB>1和步骤S44得到的第二梯度第二部分的第二分片<<GB>2>2,更新第二参数第二分片<WB>2。
具体地,将第二梯度第一部分<GB>1和第二梯度第二部分的第二分片<<GB>2>2之和与预设步长α的乘积,作为调整量,通过减去该调整量,更新第二参数第二分片<WB>2,这可以表示为:
<WB>2← <WB>2-α(<GB>1+<<GB>2>2)
在步骤S54,第二方B根据步骤S42得到的第一梯度第二部分的第二分片<<GA>2>2,更新第一参数第二分片<WA>2,这可以表示为:
<WA>2 ← <WA>2-α<<GA>2>2
可以理解,以上的步骤S51-S54之间,可以以任意的先后顺序执行,或者并行执行。
可以看到,对于第一参数部分WA的更新由双方共同完成,其中第一方A更新第一参数第一分片<WA>1,第二方B更新第一参数第二分片<WA>2,两方共同更新的总和为:
<GA>1+<<GA>2>1+<<GA>2>2
=<GA>1+<GA>2
=<E>1 T˙XA+<E>2 T˙XA
=ET˙XA
即,误差向量(的转置)与第一特征矩阵XA的乘积。
对于第二参数部分WB的更新由双方共同完成,其中第二方B更新第二参数第二分片<WB>2,第一方A更新第二参数第一分片<WB>1,两方共同更新的总和为:
<GB>1+<<GB>2>2+<<GB>2>1
=<GB>1+<GB>2
=<E>1 T˙XB+<E>2 T˙XB
=ET˙XB
即,误差向量(的转置)与第二特征矩阵XB的乘积。
但是,在每轮迭代后,双方无需交换更新后的参数分片,而是继续进行下一轮迭代,也就是回到步骤S21,基于更新后的参数分片,再次执行第一子阶段。如此,在迭代过程中,任意一方都不具有完整的模型参数,也不交换特征矩阵的明文信息,高强度确保了隐私数据的安全。
直到整个迭代过程结束,例如达到了预设迭代次数,或达到了预定收敛条件,进入模型重构阶段。
在模型重构阶段,第一方A将其迭代维护的第二参数第一分片<WB>1发送给第二方B;第二方B将其迭代维护的第一参数第二分片<WA>2发送给第一方A。
第一方A基于其自身维护的第一参数第一分片<WA>1和第二方发送的第一参数第二分片<WA>2,重构得到训练后的第一参数部分WA。
第二方B基于其自身维护的第二参数第二分片<WB>2和第一方发送的第二参数第一分片<WB>1,重构得到训练后的第二参数部分WB。
至此,第一方A和第二方B共同完成了线性回归模型的训练,分别各自得到了用于处理其对应特征部分的模型参数部分WA和WB。
回顾整个训练过程可以看到,双方不仅不进行特征数据的明文交换,其模型参数部分也拆分为参数分片,各自只维护分片参数的迭代更新,直到迭代结束,才会重构得到模型参数。由于迭代过程中各方仅维护参数的分片,交换一些分片结果,而基于这些分片结果几乎不可能反推出隐私数据的有用信息,如此,极大地增强了联合训练过程中,隐私数据的安全性。
以上结合图2线性回归模型的联合训练进行了详细描述。下面描述逻辑回归模型的场景。本领域技术人员了解,在使用逻辑回归模型作为业务预测模型的情况下,预测值可表示为: 。可以看到,逻辑回归模型的预测值是基于非线性的sigmoid函数的,而非线性函数不利于秘密分享等安全计算。
因此,在逻辑回归模型的情况下,为了便于进行线性计算,可以将其中的sigmoid函数进行泰勒Taylor展开。具体的,sigmod函数 1 / (1 + e^x)可以进行以下泰勒分解:
相应的,逻辑回归预测值可以展开为:
将以上预测值展开式代入公式(1)中可以得到梯度的形式,比如1阶展开下,梯度形式为
三阶展开的梯度形式为
如此,通过泰勒Taylor展开,将逻辑回归的预测值转换成了可以使用同态加密的方案。于是,可以对图2所示的方案过程稍作修改,使得训练过程适用于逻辑回归模型。
图4示出根据另一个实施例的双方联合训练逻辑回归模型的过程示意图。图4的训练过程与图2基本相同,只是在步骤S32和步骤S33,计算加密误差分片时,根据sigmoid函数的泰勒展开形式,基于第一乘积分片<Z>1和第二乘积分片<Z>2分别得到预测结果的第一部分和第二部分,再与第一标签分片<Y>1和第二标签分片<Y>2对应相减,得到第一误差分片<E>1和第二误差分片<E>2。
在采用1阶泰勒展开的情况下,根据公式(4),预测结果可以表示为:0.5+0.25(<Z>1+<Z>2),相应可以将预测结果拆分为第一部分0.25+0.25<Z>1和第二部分0.25+0.25<Z>2,进而得到第一误差分片<E>1=0.25+0.25<Z>1-<Y>1和第二误差分片<E>2=0.25+0.25<Z>2-<Y>2。可以理解,对于其中0.5的还分还可以有其他方式,如-0.1+0.6,或0+0.5等。因此,可以得到逻辑回归下的近似误差向量的误差分片。
其他训练步骤均与图2相同。
在采用多阶泰勒展开的情况下,还需要进一步得到wx的多阶计算结果,即多阶乘积结果Zk的乘积分片。具体地,首先,根据sigmoid函数的多阶泰勒展开形式,第一方A计算第一乘积分片<Z>1的多次方,得到第一分片多次方{<Z>1 k|k>2,k∈N*}(其中k为多阶泰勒展开的阶数),第二方B计算第二乘积分片<Z>1的多次方,得到第二分片多次方{<Z>2 k|k>2,k∈N*};接着,第一方A利用第一乘积分片<Z>1和第一分片多次方中的一部分{<Z>1 k-1|k>2,k∈N*},与第二方B中的第二乘积分片<Z>2和第二分片多次方中的一部分{<Z>2 k-1|k>2,k∈N*}进行多次的安全矩阵乘法,由此,第一方A得到多次矩阵乘法结果对应的多个第一多阶乘积分片,第二方B得到该多次矩阵乘法结果对应的多个第二多阶乘积分片;然后,第一方A根据第一乘积分片<Z>1、第一分片多次方{<Z>1 k|k>2,k∈N*}和多个第一多阶乘积分片,确定针对预测结果的第一部分,再从中减去第一标签分片<Y>1,得到第一误差分片<E>1,第二方B根据第二乘积分片<Z>2、第二分片多次方{<Z>2 k|k>2,k∈N*}和多个第二多阶乘积分片,确定针对预测结果的第二部分,再从中减去第二标签分片<Y>2,得到第二误差分片<E>2。
具体的,例如采用3阶展开的情况下,即k=3,根据3阶泰勒展开式:
(<Z>1+<Z>2)3=<Z>1 3+3<Z>1 2˙<Z>2+3<Z>1˙<Z>2 2+<Z>2 3,
第一方A在得到第一乘积分片<Z>1后,还需本地计算<Z>1 2和<Z>1 3,第二方B在得到第二乘积分片<Z>2后,还需本地计算<Z>2 2和<Z>2 3,然后,第一方A利用<Z>1 2与第二方B中的<Z>2进行安全矩阵乘法,两方分别得到多阶乘积分片<<Z>1 2˙<Z>2>1和多阶乘积分片<<Z>1 2˙<Z>2>2,并且,第一方A利用<Z>1与第二方B中的<Z>2 2进行安全矩阵乘法,两方分别得到多阶乘积分片<<Z>1˙<Z>2 2>1和多阶乘积分片<<Z>1˙<Z>2 2>2。
进一步地,第一方A可以通过下式计算出<E>1:
<E>1=1/2+<Z>1/4-(<Z>1 3+3<<Z>1 2˙<Z>2>1+3<<Z>1˙<Z>2 2>1)/48-<Y>1;
第二方A通过下式计算出<E>2:
<E>2=<Z>2/4-(<Z>1 3+3<<Z>1 2˙<Z>2>2+3<<Z>1˙<Z>2 2>2)/48-<Y>2。
如此,可以实现在多阶泰勒展开的情况下,计算出第一误差分片<E>1和第二误差分片<E>2。
可以理解,泰勒展开的阶数越高,结果越准确,但是计算的复杂度越高。如此,对于用逻辑回归模型实现的业务预测模型,通过以上描述的方式,实现保护数据隐私的双方联合训练。
以上训练方式也适用于通过神经网络实现的业务预测模型。对于典型的前馈全连接神经网络而言,每个神经元与其前一层的各个神经元以不同的权重相连接。于是,前一层各个神经元的输出可以视为特征数据,特征数据分布于双方之中;连接权重可以视为模型参数部分,用于以线性组合的方式,处理对应的特征数据。从而,可以将前述训练过程应用于神经网络中每个神经元的参数训练,实现神经网络模型的双方联合安全训练。
总体而言,对于各种以特征数据与模型参数之间的线性组合为基础的业务预测模型,都可以采用以上描述的训练方式。在该训练方式中,通过参数的分片维护,高强度确保了隐私数据不会被泄露或反推,保证了数据安全。
根据另一方面的实施例,提供了一种保护数据隐私的双方联合训练业务预测模型的装置,第二方可以实现为任何具有计算、处理能力的设备、平台或设备集群。图5示出根据一个实施例的部署在第二方中的联合训练装置的示意性框图。如图5所示,该装置500包括迭代单元510,用于多次迭代执行模型参数更新。该迭代单元510进一步包括:
乘积分片确定单元511,配置为基于本地维护的第一参数第二分片和第二参数第二分片,通过本地矩阵乘法以及与所述第一方的安全矩阵乘法运算,计算得到第二乘积分片;其中,第一参数第二分片是用于处理所述第一特征部分的第一参数部分WA的第二分片,第二参数第二分片是用于处理所述第二特征部分的第二参数部分WB的第二分片。
误差分片确定单元512,配置为对所述标签向量Y进行秘密分享,得到第二标签分片,并基于所述第二乘积分片对所述第二标签分片进行相减,得到第二误差分片。
梯度分片确定单元513,配置为本地计算所述第二误差分片和第二特征矩阵XB的乘积,得到第二梯度第一部分;以及用所述第二特征矩阵XB,与所述第一方中的第一误差分片进行安全矩阵乘法,得到第二梯度第二部分的第二分片,并从所述第一方接收第一梯度第二部分的第二分片。
参数更新单元514,配置为根据所述第二梯度第一部分和所述第二梯度第二部分的第二分片,更新所述第二参数第二分片;根据所述第一梯度第一部分的第一分片,更新所述第一参数第二分片。
在一个实施例中,上述装置500还包括初始化单元520,配置为:
初始化所述第二参数部分WB,通过秘密分享将其拆分为第二参数第一分片和第二参数第二分片,保留所述第二参数第二分片,将所述第二参数第一分片发送给第一方;从第一方接收对所述第一参数部分WA秘密分享的第一参数第二分片。
在一个实施例中,上述装置500还包括参数重构单元530,配置为:
将最后一次迭代中更新后的所述第一参数第二分片发送给所述第一方,并从所述第一方接收更新后的第二参数第一分片;将最后一次迭代中更新后的第二参数第二分片,和所接收的第二参数第一分片进行组合,得到所述业务预测模型训练后的第二参数部分WB。
在不同实施例中,前述业务对象包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。
在一个实施例中,所述业务预测模型为线性回归模型;此时,误差分片确定单元512配置为,计算所述第二乘积分片和所述第二标签分片的差值,作为所述第二误差分片。
在另一实施例中,所述业务预测模型为逻辑回归模型;此时,误差分片确定单元512配置为,根据sigmoid函数的泰勒展开形式,基于所述第二乘积分片得到第二预测结果分片,计算所述第二预测结果分片和所述第二标签分片的差值,作为所述第二误差分片。
进一步的,在一个具体的实施例中,乘积分片确定单元511还配置为,计算所述第二乘积分片的多次方,得到第二分片多次方;利用所述第二乘积分片与所述第二分片多次方,跟所述第一方中的第一乘积分片和第一分片多次方进行多次安全矩阵乘法运算,得到多个第二多阶乘积分片;相应地,误差分片确定单元512配置为,根据sigmoid函数的多阶泰勒展开形式,利用所述第二乘积分片、所述第二分片多次方和多个第二多阶乘积分片,确定所述第二预测结果分片,计算所述第二预测结果分片和所述第二标签分片的差值,作为所述第二误差分片。
在一个实施例中,上述乘积分片确定单元511具体配置为:用所述第一参数第二分片,与所述第一方中的第一特征矩阵XA进行安全矩阵乘法,得到第一特征第二处理结果的第二分片;本地计算第二特征矩阵XB与第二参数第二分片的乘积,得到第二特征第一处理结果;用所述第二特征矩阵XB,与所述第一方中的第二参数第一分片进行安全矩阵乘法,得到第二特征第二处理结果的第二分片;对所述第一特征第二处理结果的第二分片,所述第二特征第一处理结果,所述第二特征第二处理结果的第二分片进行加和,得到所述第二乘积分片。
在一个具体的实施例中,上述参数更新单元514配置为,将所述第二梯度第一部分和第二梯度第二部分的第二分片之和与预设步长的乘积,作为调整量,通过减去所述调整量,更新所述第二参数第二分片。
根据又一方面的实施例,提供了一种双方联合训练业务预测模型的装置,该装置可以部署在前述的第一方中,该第一方可以实现为任何具有计算、处理能力的设备、平台或设备集群。如前所述,第一方中存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y。图6示出根据一个实施例的部署在第一方中的联合训练装置的示意性框图。如图6所示,该装置600包括迭代单元610,用于多次迭代执行模型参数更新。该迭代单元610进一步包括:
乘积分片确定单元611,配置为基于本地维护的第一参数第一分片和第二参数第一分片,通过本地矩阵乘法以及与所述第二方的安全矩阵乘法运算,计算得到第一乘积分片;其中,第一参数第一分片是用于处理所述第一特征部分的第一参数部分WA的第一分片,第二参数第一分片是用于处理所述第二特征部分的第二参数部分WB的第一分片。
误差分片确定单元612,从所述第二方接收对所述标签向量Y秘密分享的第一标签分片,并基于所述第一乘积分片对所述第一标签分片进行相减,得到第一误差分片。
梯度分片确定单元613,本地计算所述第一误差分片和第一特征矩阵XA的乘积,得到第一梯度第一部分;以及用所述第一特征矩阵XA,与所述第二方中的第二误差分片进行安全矩阵乘法,得到第一梯度第二部分的第一分片,并从所述第二方接收第二梯度第二部分的第一分片。
参数更新单元614,根据所述第一梯度第一部分和所述第一梯度第二部分的第一分片,更新所述第一参数第一分片;根据所述第二梯度第二部分的第一分片,更新所述第二参数第一分片。
在一个实施例中,上述装置600还包括初始化单元620,配置为:
初始化所述第一参数部分WA,通过秘密分享将其拆分为第一参数第一分片和第一参数第二分片,保留所述第一参数第一分片,将所述第一参数第二分片发送给第二方;从第二方接收对所述第二参数部分WB秘密分享的第二参数第一分片。
在一个实施例中,上述装置600还包括参数重构单元630,配置为:
将最后一次迭代中更新后的所述第二参数第二分片发送给所述第二方,并从所述第二方接收更新后的第一参数第二分片;将最后一次迭代中更新后的第一参数第一分片,和所接收的第一参数第二分片进行组合,得到所述业务预测模型训练后的第一参数部分WA。
在不同实施例中,前述业务对象包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。
在一个实施例中,所述业务预测模型为线性回归模型;此时,误差分片确定单元612配置为,计算所述第一乘积分片和所述第一标签分片的差值,作为所述第一误差分片。
在另一实施例中,所述业务预测模型为逻辑回归模型;此时,误差分片确定单元612配置为,根据sigmoid函数的泰勒展开形式,基于所述第一乘积分片得到第一预测结果分片,计算所述一预测结果分片和所述第一标签分片的差值,作为所述第二误差分片。
进一步的,在一个具体的实施例中,乘积分片确定单元611还配置为,计算所述第一乘积分片的多次方,得到第一分片多次方;利用所述第一乘积分片与所述第一分片多次方,跟所述第二方中的第二乘积分片和第二分片多次方进行多次安全矩阵乘法运算,得到多个第一多阶乘积分片;相应地,误差分片确定单元612配置为,根据sigmoid函数的多阶泰勒展开形式,利用所述第一乘积分片、所述第一分片多次方和多个第一多阶乘积分片,确定所述第二预测结果分片。
在一个实施例中,上述乘积分片确定单元611具体配置为:用所述第二参数第一分片,与所述第二方中的第二特征矩阵XB进行安全矩阵乘法,得到第二特征第二处理结果的第一分片;本地计算第一特征矩阵XA与第一参数第一分片的乘积,得到第一特征第一处理结果;用所述第一特征矩阵XA,与所述第二方中的第一参数第二分片进行安全矩阵乘法,得到第一特征第二处理结果的第一分片;对所述第二特征第二处理结果的第一分片,所述第一特征第一处理结果,所述第一特征第二处理结果的第一分片进行加和,得到所述第一乘积分片。
在一个具体的实施例中,上述参数更新单元614配置为,将所述第一梯度第一部分和第一梯度第二部分的第一分片之和与预设步长的乘积,作为调整量,通过减去所述调整量,更新所述第一参数第一分片。
通过以上部署在第一方和第二方中的装置,实现双方的保护数据隐私的安全联合训练。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2到图4所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2到图4所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (20)
1.一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述方法应用于所述第二方,该方法包括,多次迭代执行模型参数更新,其中每次迭代包括:
基于本地维护的第一参数第二分片和第二参数第二分片,通过本地矩阵乘法以及与所述第一方的安全矩阵乘法运算,计算得到第二乘积分片;其中,第一参数第二分片是用于处理所述第一特征部分的第一参数部分WA的第二分片,第二参数第二分片是用于处理所述第二特征部分的第二参数部分WB的第二分片;
对所述标签向量Y进行秘密分享,得到第二标签分片,并基于所述第二乘积分片对所述第二标签分片进行相减,得到第二误差分片;
本地计算所述第二误差分片和第二特征矩阵XB的乘积,得到第二梯度第一部分;以及用所述第二特征矩阵XB,与所述第一方中的第一误差分片进行安全矩阵乘法,得到第二梯度第二部分的第二分片,并从所述第一方接收第一梯度第二部分的第二分片;
根据所述第二梯度第一部分和所述第二梯度第二部分的第二分片,更新所述第二参数第二分片;根据所述第一梯度第二部分的第二分片,更新所述第一参数第二分片。
2.根据权利要求1所述的方法,在多次迭代执行模型参数更新之前,还包括:
初始化所述第二参数部分WB,通过秘密分享将其拆分为第二参数第一分片和第二参数第二分片,保留所述第二参数第二分片,将所述第二参数第一分片发送给第一方;
从第一方接收对所述第一参数部分WA秘密分享的第一参数第二分片。
3.根据权利要求1所述的方法,在多次迭代执行模型参数更新之后,还包括:
将最后一次迭代中更新后的所述第一参数第二分片发送给所述第一方,并从所述第一方接收更新后的第二参数第一分片;
将最后一次迭代中更新后的第二参数第二分片,和所接收的第二参数第一分片进行组合,得到所述业务预测模型训练后的第二参数部分WB。
4.根据权利要求1所述的方法,其中,所述业务对象包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。
5.根据权利要求1所述的方法,其中,所述业务预测模型为线性回归模型;其中基于所述第二乘积分片对所述第二标签分片进行相减,得到第二误差分片,包括:
计算所述第二乘积分片和所述第二标签分片的差值,作为所述第二误差分片。
6.根据权利要求1所述的方法,其中,所述业务预测模型为逻辑回归模型;其中基于所述第二乘积分片对所述第二标签分片进行相减,得到第二误差分片,包括:
根据sigmoid函数的泰勒展开形式,基于所述第二乘积分片得到第二预测结果分片,计算所述第二预测结果分片和所述第二标签分片的差值,作为所述第二误差分片。
7.根据权利要求6所述的方法,其中,在得到第二误差分片之前,所述方法还包括:
计算所述第二乘积分片的多次方,得到第二分片多次方;
利用所述第二乘积分片与所述第二分片多次方,跟所述第一方中的第一乘积分片和第一分片多次方进行多次安全矩阵乘法运算,得到多个第二多阶乘积分片;
其中,基于所述第二乘积分片得到第二预测结果分片,包括:
根据sigmoid函数的多阶泰勒展开形式,利用所述第二乘积分片、所述第二分片多次方和多个第二多阶乘积分片,确定所述第二预测结果分片。
8.根据权利要求1所述的方法,其中,计算得到第二乘积分片,包括:
用所述第一参数第二分片,与所述第一方中的第一特征矩阵XA进行安全矩阵乘法,得到第一特征第二处理结果的第二分片;
本地计算第二特征矩阵XB与第二参数第二分片的乘积,得到第二特征第一处理结果;
用所述第二特征矩阵XB,与所述第一方中的第二参数第一分片进行安全矩阵乘法,得到第二特征第二处理结果的第二分片;
对所述第一特征第二处理结果的第二分片,所述第二特征第一处理结果,所述第二特征第二处理结果的第二分片进行加和,得到所述第二乘积分片。
9.根据权利要求1所述的方法,其中,根据所述第二梯度第一部分和所述第二梯度第二部分的第二分片,更新所述第二参数第二分片,包括:
将所述第二梯度第一部分和第二梯度第二部分的第二分片之和与预设步长的乘积,作为调整量,通过减去所述调整量,更新所述第二参数第二分片。
10.一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述方法应用于所述第二方,该方法包括,多次迭代执行模型参数更新,其中每次迭代包括:
基于本地维护的第一参数第一分片和第二参数第一分片,通过本地矩阵乘法以及与所述第二方的安全矩阵乘法运算,计算得到第一乘积分片;其中,第一参数第一分片是用于处理所述第一特征部分的第一参数部分WA的第一分片,第二参数第一分片是用于处理所述第二特征部分的第二参数部分WB的第一分片;
从所述第二方接收对所述标签向量Y秘密分享的第一标签分片,并基于所述第一乘积分片对所述第一标签分片进行相减,得到第一误差分片;
本地计算所述第一误差分片和第一特征矩阵XA的乘积,得到第一梯度第一部分;以及用所述第一特征矩阵XA,与所述第二方中的第二误差分片进行安全矩阵乘法,得到第一梯度第二部分的第一分片,并从所述第二方接收第二梯度第二部分的第一分片;
根据所述第一梯度第一部分和所述第一梯度第二部分的第一分片,更新所述第一参数第一分片;根据所述第二梯度第二部分的第一分片,更新所述第二参数第一分片。
11.根据权利要求10所述的方法,在多次迭代执行模型参数更新之前,还包括:
初始化所述第一参数部分WA,通过秘密分享将其拆分为第一参数第一分片和第一参数第二分片,保留所述第一参数第一分片,将所述第一参数第二分片发送给第二方;
从第二方接收对所述第二参数部分WB秘密分享的第二参数第一分片。
12.根据权利要求10所述的方法,在多次迭代执行模型参数更新之后,还包括:
将最后一次迭代中更新后的所述第二参数第二分片发送给所述第二方,并从所述第二方接收更新后的第一参数第二分片;
将最后一次迭代中更新后的第一参数第一分片,和所接收的第一参数第二分片进行组合,得到所述业务预测模型训练后的第一参数部分WA。
13.根据权利要求10所述的方法,其中,计算得到第一乘积分片,包括:
用所述第二参数第一分片,与所述第二方中的第二特征矩阵XB进行安全矩阵乘法,得到第二特征第二处理结果的第一分片;
本地计算第一特征矩阵XA与第一参数第一分片的乘积,得到第一特征第一处理结果;
用所述第一特征矩阵XA,与所述第二方中的第一参数第二分片进行安全矩阵乘法,得到第一特征第二处理结果的第一分片;
对所述第二特征第二处理结果的第一分片,所述第一特征第一处理结果,所述第一特征第二处理结果的第一分片进行加和,得到所述第一乘积分片。
14.根据权利要求10所述的方法,其中,根据所述第一梯度第一部分和所述第一梯度第二部分的第一分片,更新所述第一参数第一分片,包括:
将所述第一梯度第一部分和第一梯度第二部分的第一分片之和与预设步长的乘积,作为调整量,通过减去所述调整量,更新所述第一参数第一分片。
15.一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述装置部署于所述第二方,该装置包括,用于多次迭代执行模型参数更新的迭代单元,其进一步包括:
乘积分片确定单元,配置为基于本地维护的第一参数第二分片和第二参数第二分片,通过本地矩阵乘法以及与所述第一方的安全矩阵乘法运算,计算得到第二乘积分片;其中,第一参数第二分片是用于处理所述第一特征部分的第一参数部分WA的第二分片,第二参数第二分片是用于处理所述第二特征部分的第二参数部分WB的第二分片;
误差分片确定单元,配置为对所述标签向量Y进行秘密分享,得到第二标签分片,并基于所述第二乘积分片对所述第二标签分片进行相减,得到第二误差分片;
梯度分片确定单元,配置为本地计算所述第二误差分片和第二特征矩阵XB的乘积,得到第二梯度第一部分;以及用所述第二特征矩阵XB,与所述第一方中的第一误差分片进行安全矩阵乘法,得到第二梯度第二部分的第二分片,并从所述第一方接收第一梯度第二部分的第二分片;
参数更新单元,配置为根据所述第二梯度第一部分和所述第二梯度第二部分的第二分片,更新所述第二参数第二分片;根据所述第一梯度第二部分的第二分片,更新所述第一参数第二分片。
16.根据权利要求15所述的装置,还包括初始化单元,配置为:
初始化所述第二参数部分WB,通过秘密分享将其拆分为第二参数第一分片和第二参数第二分片,保留所述第二参数第二分片,将所述第二参数第一分片发送给第一方;
从第一方接收对所述第一参数部分WA秘密分享的第一参数第二分片。
17.根据权利要求15所述的装置,还包括参数重构单元,配置为:
将最后一次迭代中更新后的所述第一参数第二分片发送给所述第一方,并从所述第一方接收更新后的第二参数第一分片;
将最后一次迭代中更新后的第二参数第二分片,和所接收的第二参数第一分片进行组合,得到所述业务预测模型训练后的第二参数部分WB。
18.一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述装置部署于所述第一方,该装置包括,用于多次迭代执行模型参数更新的迭代单元,其进一步包括:
乘积分片确定单元,配置为基于本地维护的第一参数第一分片和第二参数第一分片,通过本地矩阵乘法以及与所述第二方的安全矩阵乘法运算,计算得到第一乘积分片;其中,第一参数第一分片是用于处理所述第一特征部分的第一参数部分WA的第一分片,第二参数第一分片是用于处理所述第二特征部分的第二参数部分WB的第一分片;
误差分片确定单元,配置为从所述第二方接收对所述标签向量Y秘密分享的第一标签分片,并基于所述第一乘积分片对所述第一标签分片进行相减,得到第一误差分片;
梯度分片确定单元,配置为本地计算所述第一误差分片和第一特征矩阵XA的乘积,得到第一梯度第一部分;以及用所述第一特征矩阵XA,与所述第二方中的第二误差分片进行安全矩阵乘法,得到第一梯度第二部分的第一分片,并从所述第二方接收第二梯度第二部分的第一分片;
参数更新单元,配置为根据所述第一梯度第一部分和所述第一梯度第二部分的第一分片,更新所述第一参数第一分片;根据所述第二梯度第二部分的第一分片,更新所述第二参数第一分片。
19.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-14中任一项的所述的方法。
20.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-14中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010276696.6A CN111178549B (zh) | 2020-04-10 | 2020-04-10 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
PCT/CN2021/086273 WO2021204271A1 (zh) | 2020-04-10 | 2021-04-09 | 保护数据隐私的双方联合训练业务预测模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010276696.6A CN111178549B (zh) | 2020-04-10 | 2020-04-10 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111178549A CN111178549A (zh) | 2020-05-19 |
CN111178549B true CN111178549B (zh) | 2020-07-07 |
Family
ID=70658436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010276696.6A Active CN111178549B (zh) | 2020-04-10 | 2020-04-10 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111178549B (zh) |
WO (1) | WO2021204271A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178549B (zh) * | 2020-04-10 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111475854B (zh) * | 2020-06-24 | 2020-10-20 | 支付宝(杭州)信息技术有限公司 | 保护两方数据隐私的协同计算方法及系统 |
CN111783129A (zh) * | 2020-07-24 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 一种保护隐私的数据处理方法及系统 |
CN111639367B (zh) * | 2020-07-31 | 2020-11-17 | 支付宝(杭州)信息技术有限公司 | 基于树模型的两方联合分类方法、装置、设备及介质 |
CN112182644B (zh) * | 2020-09-11 | 2023-05-12 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和电子设备 |
CN112926064B (zh) * | 2021-02-08 | 2021-10-22 | 华控清交信息科技(北京)有限公司 | 一种模型训练方法及装置、数据处理系统和电子设备 |
CN112800466B (zh) * | 2021-02-10 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
CN113094739B (zh) * | 2021-03-05 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
CN113378183B (zh) * | 2021-08-05 | 2023-11-10 | 好心情健康产业集团有限公司 | 基于多方安全计算的用户隐私保护方法、装置和系统 |
CN114827308B (zh) * | 2022-04-15 | 2023-11-17 | 支付宝(杭州)信息技术有限公司 | 一种模型训练数据传输方法、装置、设备和可读介质 |
CN114996449A (zh) * | 2022-05-25 | 2022-09-02 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的聚类方法及装置 |
CN114880693B (zh) * | 2022-07-08 | 2022-11-18 | 蓝象智联(杭州)科技有限公司 | 生成激活函数方法、装置、电子设备和可读介质 |
CN114884645B (zh) * | 2022-07-11 | 2022-09-09 | 华控清交信息科技(北京)有限公司 | 一种隐私计算方法、装置和可读存储介质 |
CN115719094B (zh) * | 2023-01-06 | 2023-04-28 | 腾讯科技(深圳)有限公司 | 基于联邦学习的模型训练方法、装置、设备及存储介质 |
CN116092683B (zh) * | 2023-04-12 | 2023-06-23 | 深圳达实旗云健康科技有限公司 | 一种原始数据不出域的跨医疗机构疾病预测方法 |
CN116187433B (zh) * | 2023-04-28 | 2023-09-29 | 蓝象智联(杭州)科技有限公司 | 基于秘密分享的联邦拟牛顿训练方法、装置及存储介质 |
CN117725621B (zh) * | 2024-02-08 | 2024-05-28 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929886A (zh) * | 2019-12-06 | 2020-03-27 | 支付宝(杭州)信息技术有限公司 | 模型训练、预测方法及其系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10216954B2 (en) * | 2016-06-27 | 2019-02-26 | International Business Machines Corporation | Privacy detection of a mobile application program |
US20190042898A1 (en) * | 2017-08-03 | 2019-02-07 | Gyrfalcon Technology Inc. | Two-dimensional Symbols For Facilitating Machine Learning Of Written Chinese Language Using Logosyllabic Characters |
CN109189825B (zh) * | 2018-08-10 | 2022-03-15 | 深圳前海微众银行股份有限公司 | 横向数据切分联邦学习建模方法、服务器及介质 |
CN109165515A (zh) * | 2018-08-10 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数获取方法、系统及可读存储介质 |
CN110555525B (zh) * | 2019-08-09 | 2021-08-13 | 创新先进技术有限公司 | 模型参数确定方法、装置和电子设备 |
CN110472439B (zh) * | 2019-08-09 | 2023-08-22 | 创新先进技术有限公司 | 模型参数确定方法、装置和电子设备 |
CN110728375B (zh) * | 2019-10-16 | 2021-03-19 | 支付宝(杭州)信息技术有限公司 | 多个计算单元联合训练逻辑回归模型的方法和装置 |
CN111160573B (zh) * | 2020-04-01 | 2020-06-30 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111178549B (zh) * | 2020-04-10 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
-
2020
- 2020-04-10 CN CN202010276696.6A patent/CN111178549B/zh active Active
-
2021
- 2021-04-09 WO PCT/CN2021/086273 patent/WO2021204271A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929886A (zh) * | 2019-12-06 | 2020-03-27 | 支付宝(杭州)信息技术有限公司 | 模型训练、预测方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2021204271A1 (zh) | 2021-10-14 |
CN111178549A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111178549B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
CN111160573B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
CN111177791B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
CN111241570B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
WO2021082681A1 (zh) | 多方联合训练图神经网络的方法及装置 | |
CN108712260B (zh) | 云环境下保护隐私的多方深度学习计算代理方法 | |
CN112541593B (zh) | 基于隐私保护的联合训练业务模型的方法及装置 | |
CN112989368B (zh) | 多方联合进行隐私数据处理的方法及装置 | |
CN110751291B (zh) | 实现安全防御的多方联合训练神经网络的方法及装置 | |
CN111177768A (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
CN111738361B (zh) | 业务模型的联合训练方法及装置 | |
WO2020156004A1 (zh) | 模型训练方法、装置及系统 | |
CN113065145B (zh) | 一种基于秘密共享和随机扰动的隐私保护线性回归方法 | |
WO2022247620A1 (zh) | 保护隐私的确定业务数据特征有效值的方法及装置 | |
CN112084520B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法及装置 | |
CN112805769B (zh) | 秘密s型函数计算系统、装置、方法及记录介质 | |
CN112001475A (zh) | 一种数据处理系统和方法 | |
CN111523556A (zh) | 模型训练方法、装置及系统 | |
CN114925786A (zh) | 基于秘密分享的纵向联邦线性支持向量分类方法 | |
CN112507372B (zh) | 实现隐私保护的多方协同更新模型的方法及装置 | |
US20230325718A1 (en) | Method and apparatus for joint training logistic regression model | |
CN112101609A (zh) | 关于用户还款及时性的预测系统、方法、装置及电子设备 | |
CN116341636A (zh) | 联邦学习方法、设备、系统和存储介质 | |
CN115186876A (zh) | 保护数据隐私的两方联合训练业务预测模型的方法及装置 | |
CN113407988A (zh) | 控制通信量的确定业务数据特征有效值的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40029340 Country of ref document: HK |