CN111160573B - 保护数据隐私的双方联合训练业务预测模型的方法和装置 - Google Patents
保护数据隐私的双方联合训练业务预测模型的方法和装置 Download PDFInfo
- Publication number
- CN111160573B CN111160573B CN202010251506.5A CN202010251506A CN111160573B CN 111160573 B CN111160573 B CN 111160573B CN 202010251506 A CN202010251506 A CN 202010251506A CN 111160573 B CN111160573 B CN 111160573B
- Authority
- CN
- China
- Prior art keywords
- parameter
- fragment
- party
- encrypted
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012549 training Methods 0.000 title claims abstract description 66
- 239000012634 fragment Substances 0.000 claims abstract description 270
- 239000011159 matrix material Substances 0.000 claims abstract description 205
- 238000012545 processing Methods 0.000 claims description 86
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000007477 logistic regression Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 13
- 238000012417 linear regression Methods 0.000 claims description 13
- 238000005192 partition Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 28
- 238000010801 machine learning Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000013467 fragmentation Methods 0.000 description 5
- 238000006062 fragmentation reaction Methods 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 5
- 238000012804 iterative process Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 101000651200 Dictyostelium discoideum Sphingosine kinase B Proteins 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种保护数据隐私的双方联合训练业务预测模型的方法和装置,其中双方各自拥有一部分特征数据。在模型迭代过程中,双方通过安全矩阵乘法,得到总的特征矩阵X与总的参数矩阵W的乘积结果的加密分片。由拥有标签的第二方汇总这两个加密分片,得到加密的乘积结果Z。第二方基于该乘积结果Z与加密的标签Y,得到加密的误差E,并对其进行同态加密下的秘密分享。于是,双方各自得到误差分片。然后双方基于误差分片和各自的特征矩阵,通过秘密分享和安全矩阵乘法,得到对应的梯度分片。然后,第一方利用其梯度分片更新其维护的参数分片,第二方利用其梯度分片更新其维护的参数分片。如此实现保护数据隐私的安全联合训练。
Description
技术领域
本说明书一个或多个实施例涉及数据安全和机器学习领域,具体地,涉及双方联合训练业务预测模型的方法和装置。
背景技术
机器学习所需要的数据往往会涉及到多个领域。例如在基于机器学习的商户分类分析场景中,电子支付平台拥有商户的交易流水数据,电子商务平台存储有商户的销售数据,银行机构拥有商户的借贷数据。数据往往以孤岛的形式存在。由于行业竞争、数据安全、用户隐私等问题,数据整合面临着很大阻力,将分散在各个平台的数据整合在一起训练机器学习模型难以实现。在保证数据不泄露的前提下,使用多方数据联合训练机器学习模型变成目前的一大挑战。
常用的机器学习模型包括,逻辑回归模型,线性回归模型,以及神经网络模型等,其中逻辑回归模型可以有效地执行样本分类预测等任务,线性回归模型可以有效地预测样本的回归值,神经网络模型可以通过多层神经元的组合,执行各种预测任务。以上这些模型的训练过程中,都会涉及利用特征数据与模型参数数据之间的运算得到预测结果,以及根据预测结果确定出梯度,进而调整模型参数的过程。在多方共同训练机器学习模型的情况下,如何在不泄露各方隐私数据,包括特征数据和模型参数数据,的情况下,协同进行上述各个阶段的运算,是实际要解决的问题。
因此,希望提供改进的方案,在双方联合训练业务预测模型的情况下,保证各方的隐私数据不泄露,确保数据安全。
发明内容
本说明书一个或多个实施例描述了双方联合训练业务预测模型的方法和装置,其中通过迭代过程中参数分片的方式,保证数据隐私不泄露,确保联合训练中隐私数据的安全。
根据第一方面,提供了一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵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,与第二方中保留的第二误差分片进行安全矩阵乘法,得到第一梯度第二部分的第一分片;
从第二方接收对第二加密梯度秘密分享的第二梯度第一分片;
根据所述第一梯度第一部分和第一梯度第二部分的第一分片,更新第一参数第一分片;根据所述第二梯度第一分片,更新第二参数第一分片。
根据一种实施方式,在执行多次迭代执行模型参数更新之前,还包括:初始化所述第一参数部分WA,通过秘密分享将其拆分为第一参数第一分片和第一参数第二分片,保留所述第一参数第一分片,将所述第一参数第二分片发送给第二方;从所述第二方接收对第二参数部分WB秘密分享的第二参数第一分片。
根据一种实施方式,在多次迭代执行模型参数更新之后,还包括:将最后一次迭代中更新后的所述第二参数第一分片发送给所述第二方,并从所述第二方接收更新后的第一参数第二分片;将最后一次迭代中更新后的第一参数第一分片,和所接收的第一参数第二分片进行组合,得到所述业务预测模型训练后的第一参数部分WA。
在一个具体实施例中,通过以下方式计算得到同态加密的第一乘积分片:本地计算第一特征矩阵XA与第一参数第一分片的乘积,得到第一特征第一处理结果;用所述第一特征矩阵XA,与所述第二方中的第一参数第二分片进行安全矩阵乘法,得到第一特征第二处理结果的第一分片;用所述第二参数第一分片,与所述第二方中的第二特征矩阵XB进行安全矩阵乘法,得到第二特征第二处理结果的第一分片;对所述第一特征第一处理结果,所述第一特征第二处理结果的第一分片,所述第二特征第二处理结果的第一分片进行加和,并用所述第一方的公钥对加和结果进行同态加密,得到所述第一加密乘积分片。
根据一个实施例,通过以下方式更新所述第一参数第一分片:将所述第一梯度第一部分和第一梯度第二部分的第一分片之和与预设步长的乘积,作为调整量,通过减去所述调整量,更新所述第一参数第一分片。
根据第三方面,提供了一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述装置部署于所述第二方,该装置包括,用于多次迭代执行模型参数更新的迭代单元,其进一步包括:
乘积分片计算单元,配置为基于本地维护的第一参数第二分片和第二参数第二分片,通过本地矩阵乘法以及与所述第一方的安全矩阵乘法运算,计算得到同态加密的第二加密乘积分片,并从所述第一方接收第一加密乘积分片;其中,第一参数第二分片是用于处理所述第一特征部分的第一参数部分WA的第二分片;第二参数第二分片是用于处理所述第二特征部分的第二参数部分WB的第二分片;
乘积结果确定单元,配置为对所述第一加密乘积分片和第二加密乘积分片进行同态加和,得到加密乘积结果Z,其对应于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和的加密值;
误差向量确定单元,配置为基于所述加密乘积结果Z和所述标签向量Y的加密值进行同态运算,得到加密误差向量E,对该加密误差向量E进行秘密分享,得到第二误差分片;
第一梯度确定单元,配置为对该加密误差向量E和第二特征矩阵XB进行同态操作下的矩阵相乘,得到第二加密梯度,对该第二加密梯度进行秘密分享,得到第二梯度第二分片;
第二梯度确定单元,配置为用所述第二误差分片,与所述第一方中的第一特征矩阵XA进行安全矩阵乘法,得到第一梯度第二部分的第二分片;
参数更新单元,配置为根据所述第二梯度第二分片,更新所述第二参数第二分片;根据所述第一梯度第二部分的第二分片,更新所述第一参数第二分片。
根据第四方面,提供了一种保护数据隐私的双方联合训练业务预测模型的装置,部署于前述第一方中,该装置包括:用于多次迭代执行模型参数更新的迭代单元,其进一步包括:
乘积分片计算单元,配置为基于本地维护的第一参数第一分片和第二参数第一分片,通过本地矩阵乘法运算以及与所述第二方的安全矩阵乘法运算,计算得到同态加密的第一加密乘积分片;其中,所述第一参数第一分片是用于处理所述第一特征部分的第一参数部分WA的第一分片;第二参数第一分片是用于处理所述第二特征部分的第二参数部分WB的第一分片;
乘积分片发送单元,配置为将该第一加密乘积分片发送给第二方,使得第二方将该第一加密乘积分片与其计算的第二加密乘积分片进行同态加和,以得到加密乘积结果Z,其对应于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和的加密值;
误差分片接收单元,配置为从第二方接收对加密误差向量E秘密分享的第一误差分片,其中加密误差向量E基于所述加密乘积结果Z和标签向量Y的加密值的同态运算确定;
第一梯度确定单元,配置为将所述第一误差分片的转置与第一特征矩阵XA进行本地乘法操作,得到第一梯度第一部分;
第二梯度确定单元,配置为用所述第一特征矩阵XA,与第二方中保留的第二误差分片进行安全矩阵乘法,得到第一梯度第二部分的第一分片;
第三梯度确定单元,配置为从第二方接收对第二加密梯度秘密分享的第二梯度第一分片;
参数更新单元,配置为根据所述第一梯度第一部分和第一梯度第二部分的第一分片,更新第一参数第一分片;根据所述第二梯度第一分片,更新第二参数第一分片。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
根据本说明书实施例提供的方法和装置,参与联合训练的双方各自拥有一部分特征数据。在联合训练的迭代过程中,双方不仅不进行特征数据的明文交换,其模型参数部分也拆分为参数分片,各自只维护分片参数的迭代更新,直到迭代结束,才会重构得到模型参数。由于迭代过程中各方仅维护参数的分片,交换一些分片结果,而基于这些分片结果几乎不可能反推出隐私数据的有用信息,如此,极大地增强了联合训练过程中,隐私数据的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出在一个实施例中同态加密下的秘密分享方案;
图3示出在一个实施例中安全矩阵乘法的实现方案;
图4示出根据一个实施例的双方联合训练线性回归模型的过程示意图;
图5示出在一个实施例中第一子阶段的部分实施过程;
图6示出根据一个实施例的双方联合训练逻辑回归模型的过程示意图;
图7示出根据一个实施例的部署在第二方中的联合训练装置的示意性框图;
图8示出根据一个实施例的部署在第一方中的联合训练装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,典型的机器学习模型的训练过程包括,利用特征数据与模型参数数据之间的运算得到预测结果,根据预测结果确定出梯度,进而根据梯度调整模型参数的过程。
具体地,假设用于训练机器学习模型的训练数据集有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;第二方希望训练得到用于处理第二特征部分的第二参数部分WB,这两部分参数共同构成业务预测模型。
为了在不泄露隐私数据的情况下,进行模型的联合训练,根据本说明书的实施例,如图1所示,第一方A和第二方B将初始化生成、有待训练的第一参数部分WA和第二参数部分WB进行秘密分享,拆解为参数分片,于是,第一方得到第一参数第一分片<WA>1和第二参数第一分片<WB>1,第二方得到第一参数第二分片<WA>2和第二参数第二分片<WB>2。
在模型迭代训练过程中,双方通过安全矩阵乘法,得到总的特征矩阵X与总的参数矩阵W的乘积结果的加密分片Z1,Z2。由具有标签的第二方将这两个加密分片进行汇总,得到加密的乘积结果Z。第二方基于该乘积结果Z与加密的标签向量Y,得到加密的误差向量E,并对其进行同态加密下的秘密分享。于是,双方各自得到误差分片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拥有用于同态加密的公钥PK-a和对应的私钥SK-a,第二方B拥有公钥PK-b和对应的私钥SK-b。假定当前要对矩阵Z进行秘密分享,且该矩阵Z已经用第一方A的公钥PK-a进行了同态加密。
在本文上下文中,用方括号[]表示加密,角标表示加密所用的公钥。如此,待分享的矩阵记为[Z]a。
为了对同态加密的矩阵[Z]a进行秘密分享,第二方B本地随机生成第二分片<Z>2。
在本文上下文中,用尖括号<>表示秘密分享的分片,角标表示该分片的持有方。
然后,第二方B用第一方A的公钥PK-a和同样的同态加密算法,对该第二分片<Z>2进行加密,得到第二加密分片[<Z>2]a。
接着,第二方B对矩阵[Z]a和第二加密分片[<Z>2]a进行同态减法操作,得到第一加密分片[<Z>1]a=[Z]a-[<Z>2]a。
以上计算第一加密分片时的同态减法,即为同态加操作的对应减操作。
然后,第二方B将上述第一加密分片[<Z>1]a发送给第一方A。由于该第一加密分片是采用第一方A的公钥加密的,第一方可以用对应的私钥SK-a对其进行解密,得到第一分片<Z>1。
于是,最终,第一方A拥有第一分片<Z>1,第二方B拥有第二分片<Z>2,并且根据以上的同态性,两个分片之和为原矩阵Z:<Z>1+<Z>2=Z。如此,实现了双方在同态加密下的秘密分享。
图3示出在一个实施例中安全矩阵乘法的实现方案。在图3的示例场景中,第一方A拥有矩阵X,第二方B拥有矩阵Y,双方希望共同计算乘积矩阵X*Y,而不泄露各自的矩阵明文。为此,可以采用基于同态加密的安全矩阵乘法。
具体地,第一方A可以采用其公钥PK-a,利用同态加密算法,对其原始矩阵X加密,得到加密矩阵[X]a,并将该加密矩阵发送给第二方B。
第二方B将加密矩阵[X]a中的密文元素,与其矩阵Y中的明文元素,进行行列间的同态加和运算,得到一个加密乘积矩阵[Z]a=[X]a*Y。根据加密算法的同态性,该加密乘积矩阵[Z]a对应于,使用A方公钥PK-a,利用同态加密算法对原始矩阵X和Y的乘积矩阵X*Y加密得到的矩阵,即,[Z]a=[X*Y]a。
然后,将上述加密乘积矩阵[Z]a作为图2中同态加密的待分享矩阵[Z]a,进行同态加密下的秘密分享。于是最终,第一方A拥有第一分片<Z>1,第二方B拥有第二分片<Z>2,并且,两个分片之和即为乘积矩阵X*Y:<Z>1+<Z>2=X*Y。
如此,实现了双方之间的安全矩阵乘法。
需要理解,图3是安全矩阵乘法的一种实现示例。还存在其他的安全矩阵乘法实现方式,例如基于秘密分享的矩阵乘法等,在此不一一详述。
利用同态加密下的秘密分享,和安全矩阵乘法,可以实现图1中所示的模型联合训练。下面描述双方联合进行模型训练的具体过程。
图4示出根据一个实施例的双方联合训练线性回归模型的过程示意图。图4场景中的第一方A和第二方B的数据持有状况与图1相同,不再赘述。并且,第一方A和第二方B可以彼此向对方发送自己的公钥PK-a和PK-b。在图4的场景中,双方联合训练一个线性回归模型作为业务预测模型。
首先,在模型初始化阶段,第一方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个子阶段:计算总特征矩阵X与总参数W的乘积;计算误差向量E;计算梯度G;更新参数。下面分别描述各个子阶段的具体执行方式。
在第一子阶段,在步骤S21,第一方A和第二方B,各自基于本地矩阵乘法运算以及双方的安全矩阵乘法运算,分别计算得到第一乘积分片<Z>1和第二乘积分片<Z>2,使得两个分片之和对应于总特征矩阵X与总参数W的乘积,也就是等于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和。
图5示出在一个实施例中第一子阶段的部分实施过程。
具体地,在步骤S211,第一方A本地计算第一特征矩阵XA与第一参数第一分片<WA>1的乘积,得到第一特征第一处理结果<ZA>1,即:
<ZA>1=XA˙<WA>1
在步骤S212,第一方A用其持有的第一特征矩阵XA,与第二方B持有的第一参数第二分片<WA>2进行安全矩阵乘法。安全矩阵乘法可以采用图3所示的方式实现,或采用其他安全计算方式实现。第一特征矩阵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。
回到图4的第一子阶段。由于第二方B拥有标签数据,且为了保护数据隐私安全,在图4的步骤S22,第一方A用其公钥PK-a,对上述第一乘积分片<Z>1进行同态加密,得到第一加密乘积分片[<Z>1]a,并将该第一加密乘积分片[<Z>1]a发送给第二方B。
在步骤S23,第二方B也用上述第一方的公钥PK-a,对其计算得到的第二乘积分片<Z>2进行同态加密,得到第二加密乘积分片[<Z>2]a。
然后,在步骤S24,第二方B对第一加密乘积分片[<Z>1]a和第二加密乘积分片[<Z>2]a进行同态加和,得到加密乘积结果[Z]a:
[Z]a=[<Z>1]a+[<Z>2]a
根据加密算法的同态性,以及上述第一乘积分片和第二乘积分片的关系可以确定,如此得到的加密乘积结果[Z]a对应于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和的加密值,即[XA˙WA+XB˙WB]a,或者说,总特征矩阵X与总参数W的乘积的加密值。
如此,在迭代的第一子阶段,通过双方共同进行的安全计算,第二方B得到了加密乘积结果[Z]a,其对应于总特征矩阵X与总参数W的乘积的加密值。于是,进入第二子阶段,计算误差向量E。
在第二子阶段的步骤S31,第二方B基于上述加密乘积结果[Z]a和标签向量Y的加密值进行同态运算,得到加密误差向量[E]a。
在图4所示的线性回归模型的场景下,预测值,因此,预测误差可表示为,特征矩阵与模型参数的乘积结果X*W,与标签向量Y的差值。而目前获得的乘积结果为加密形式[Z]a,因此,可以首先对标签向量Y也进行同态加密,得到[Y]a,然后计算加密乘积结果[Z]a和标签向量加密值[Y]a的同态差值,作为加密误差向量[E]a,即:
[E]a=[Z]a-[Y]a
然后,在步骤S32,采用例如图2所示的同态加密下的秘密分享,对该加密误差向量[E]a进行秘密分享。通过该秘密分享,第一方A得到第一误差分片<E>1,第二方B得到第二误差分片<E>2,并且,<E>1+<E>2=E。
接着,进入迭代的第三子阶段,计算梯度。根据之前的公式(1),梯度计算涉及误差向量与特征矩阵的相乘。然而,误差向量和特征矩阵依然分布在第一方A和第二方B双方之间,因此,仍需采用分片计算的方式,得到各个梯度分片。
具体的,在步骤S41,第二方B本地对该加密误差向量[E]a和第二特征矩阵XB进行同态操作下的矩阵相乘,得到第二加密梯度[GB]a,即:
[GB]a=[E]a T˙XB
其中,[E]a T表示[E]a的转置,且[E]a T与XB之间的运算,是[E]a T中各行的密文元素与XB中各列的明文元素之间的同态加和运算,与图3安全矩阵乘法过程中的同态矩阵相乘相似。
然后,在步骤S42,第二方B对该第二加密梯度[GB]a进行同态加密下的秘密分享,例如使用图2的方式。通过该秘密分享,第一方A得到第二梯度第一分片<GB>1,第二方B得到第二梯度第二分片<GB>2,且分片之和为第二梯度GB=ET˙XB。
在步骤S43,第一方A将上述第一误差分片<E>1的转置与第一特征矩阵XA进行本地乘法操作,得到第一梯度第一部分<GA>1,即:
<GA>1=<E>1 T˙XA
以上运算为第一方的本地运算。
然后,在步骤S44,第一方用第一特征矩阵XA,与第二方中的第二误差分片<E>2进行安全矩阵乘法,相乘的结果记为第一梯度第二部分<GA>2,即:
<GA>2=<E>2 T˙XA
通过上述安全矩阵乘法,第一方A得到第一梯度第二部分的第一分片<<GA>2>1,第二方B得到第一梯度第二部分的第二分片<<GA>2>2。
至此,实现了对于梯度分片的计算。接着,进入迭代的第四子阶段,参数更新。在该阶段中,各方根据自己得到的梯度分片,更新自己维护的参数分片。参数更新阶段包括以下步骤。
在步骤S51,第一方A根据步骤S43计算的第一梯度第一部分<GA>1和步骤S44得到的第一梯度第二部分的第一分片<<GA>2>1,更新第一参数第一分片<WA>1。
具体地,将第一梯度第一部分<GA>1和第一梯度第二部分的第一分片<<GA>2>1之和与预设步长α的乘积,作为调整量,通过减去该调整量,更新第一参数第一分片<WA>1,这可以表示为:
<WA>1← <WA>1-α(<GA>1+<<GA>2>1)
在步骤S52,第一方A根据步骤S42得到的第二梯度第一分片<GB>1,更新第二参数第一分片<WB>1,这可以表示为:
<WB>1 ← <WB>1-α<GB>1
在步骤S53,第二方B根据步骤S44得到的第一梯度第二部分的第二分片<<GA>2>2,更新第一参数第二分片<WA>2,这可以表示为:
<WA>2 ← <WA>2-α<<GA>2>2
在步骤S54,第二方B根据步骤S42得到的第二梯度第二分片<GB>2,更新第二参数第二分片<WB>2,这可以表示为:
<WB>2 ← <WB>2-α<GB>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的更新也是由双方共同完成,其中第一方A更新第二参数第一分片<WB>1,第二方B更新第二参数第二分片<WB>2,两方共同更新的总和为:
<GB>1+<GB>2
=GB =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。
回顾整个训练过程可以看到,双方不仅不进行特征数据的明文交换,其模型参数部分也拆分为参数分片,各自只维护分片参数的迭代更新,直到迭代结束,才会重构得到模型参数。由于迭代过程中各方仅维护参数的分片,交换一些分片结果,而基于这些分片结果几乎不可能反推出隐私数据的有用信息,如此,极大地增强了联合训练过程中,隐私数据的安全性。
以上结合图4线性回归模型的联合训练进行了详细描述。下面描述逻辑回归模型的场景。本领域技术人员了解,在使用逻辑回归模型作为业务预测模型的情况下,预测值可表示为: 。可以看到,逻辑回归模型的预测值是基于非线性的sigmoid函数的,而非线性函数不利于同态加密等安全计算。
因此,在逻辑回归模型的情况下,为了便于进行线性计算,可以将其中的sigmoid函数进行泰勒Taylor展开。具体的,sigmod函数 1 / (1 + e^x)可以进行以下泰勒分解:
相应的,逻辑回归预测值可以展开为:
将以上预测值展开式代入公式(1)中可以得到梯度的形式,比如1阶展开下,梯度形式为
三阶展开的梯度形式为
如此,通过泰勒Taylor展开,将逻辑回归的预测值转换成了可以使用同态加密的方案。于是,可以对图4所示的方案过程稍作修改,使得训练过程适用于逻辑回归模型。
图6示出根据一个实施例的双方联合训练逻辑回归模型的过程示意图。图6的训练过程与图4基本相同,只是在步骤S31,计算加密误差向量时,根据sigmoid函数的泰勒展开形式,基于加密乘积结果[Z]a得到加密预测结果,对加密预测结果和标签向量Y的加密值进行同态差值运算,得到加密误差向量E。
在采用1阶泰勒展开的情况下,根据公式(4),预测结果可以表示为(0.5+Z/4),相应的可以将误差项拆分为(0.5-Y)和Z/4。因此,可以通过以下运算,得到逻辑回归下的近似加密误差向量[E]a:
[E]a=[0.5-Y]a-[Z]a/4
其他训练步骤均与图4相同。
在采用多阶泰勒展开的情况下,还需要进一步得到wx的多阶计算结果,即多阶乘积结果Zk的加密值[Zk]a。在计算加密误差向量[E]a时,基于加密乘积结果[Z]a和加密多阶乘积[Zk]a得到加密预测结果,对加密预测结果和标签向量Y的加密值进行同态差值运算,才能得到加密误差向量。
具体的,例如采用3阶展开的情况下,即k=3,则需要进一步获得[Z3]a。为此,可以在图6中S21双方各自计算得到第一乘积分片<Z>1和第二乘积分片<Z>2基础上,进行高阶运算和结果交换,得到[Z3]a。例如可以通过下式,计算得到3阶乘积结果的加密值[Z3]a。
之后,可以根据公式(5),基于[Z]a,[Z3]a和加密标签向量Y的同态运算,计算加密误差向量[E]a。
可以理解,泰勒展开的阶数越高,结果越准确,但是计算的复杂度越高。但是原则上,高阶乘积结果可以基于低阶的分片来计算得到。如此,对于用逻辑回归模型实现的业务预测模型,通过以上描述的方式,实现保护数据隐私的双方联合训练。
以上训练方式也适用于通过神经网络实现的业务预测模型。对于典型的前馈全连接神经网络而言,每个神经元与其前一层的各个神经元以不同的权重相连接。于是,前一层各个神经元的输出可以视为特征数据,特征数据分布于双方之中;连接权重可以视为模型参数部分,用于以线性组合的方式,处理对应的特征数据。从而,可以将前述训练过程应用于神经网络中每个神经元的参数训练,实现神经网络模型的双方联合安全训练。
总体而言,对于各种以特征数据与模型参数之间的线性组合为基础的业务预测模型,都可以采用以上描述的训练方式。在该训练方式中,通过参数的分片维护,高强度确保了隐私数据不会被泄露或反推,保证了数据安全。
根据另一方面的实施例,提供了一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,该装置可以部署在其中的第二方中。其中,第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y。第二方可以实现为任何具有计算、处理能力的设备、平台或设备集群。图7示出根据一个实施例的部署在第二方中的联合训练装置的示意性框图。如图7所示,该装置700包括迭代单元710,用于多次迭代执行模型参数更新。该迭代单元710进一步包括:
乘积分片计算单元711,配置为基于本地维护的第一参数第二分片和第二参数第二分片,通过本地矩阵乘法以及与所述第一方的安全矩阵乘法运算,计算得到同态加密的第二加密乘积分片,并从所述第一方接收第一加密乘积分片;其中,第一参数第二分片是用于处理所述第一特征部分的第一参数部分WA的第二分片;第二参数第二分片是用于处理所述第二特征部分的第二参数部分WB的第二分片;
乘积结果确定单元712,配置为对所述第一加密乘积分片和第二加密乘积分片进行同态加和,得到加密乘积结果Z,其对应于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和的加密值;
误差向量确定单元713,配置为基于所述加密乘积结果Z和所述标签向量Y的加密值进行同态运算,得到加密误差向量E,对该加密误差向量E进行秘密分享,得到第二误差分片;
第一梯度确定单元714,配置为对该加密误差向量E和第二特征矩阵XB进行同态操作下的矩阵相乘,得到第二加密梯度,对该第二加密梯度进行秘密分享,得到第二梯度第二分片;
第二梯度确定单元715,配置为用所述第二误差分片,与所述第一方中的第一特征矩阵XA进行安全矩阵乘法,得到第一梯度第二部分的第二分片;
参数更新单元716,配置为根据所述第二梯度第二分片,更新所述第二参数第二分片;根据所述第一梯度第二部分的第二分片,更新所述第一参数第二分片。
在一个实施例中,上述装置700还包括初始化单元720,配置为:
初始化所述第二参数部分WB,通过秘密分享将其拆分为第二参数第一分片和第二参数第二分片,保留所述第二参数第二分片,将所述第二参数第一分片发送给第一方;
从第一方接收对所述第一参数部分WA秘密分享的第一参数第二分片。
根据一种实施方式,上述装置700还包括参数重构单元730,配置为:将最后一次迭代中更新后的所述第一参数第二分片发送给所述第一方,并从所述第一方接收更新后的第二参数第一分片;
将最后一次迭代中更新后的第二参数第二分片,和所接收的第二参数第一分片进行组合,得到所述业务预测模型训练后的第二参数部分WB。
在不同实施例中,前述业务对象包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。
在一个具体实施例中,所述业务预测模型为线性回归模型;此时,误差向量确定单元713配置为,计算所述加密乘积结果Z和所述标签向量Y的同态差值,作为所述加密误差向量E。
在另一具体实施例中,所述业务预测模型为逻辑回归模型;此时,误差向量确定单元713配置为,根据sigmoid函数的泰勒展开形式,基于所述加密乘积结果Z得到加密预测结果,对加密预测结果和所述标签向量Y的加密值进行同态差值运算,得到所述加密误差向量E。
进一步的,在一个例子中,乘积结果确定单元712还配置为,至少根据所述第一乘积分片和所述第二乘积分片,计算加密多阶乘积;相应的,误差向量确定单元713配置为,根据sigmoid函数的多阶泰勒展开形式,基于所述加密乘积结果Z和所述加密多阶乘积得到加密预测结果,对加密预测结果和所述标签向量Y的加密值进行同态差值运算,得到所述加密误差向量E。
在一个具体实施例中,上述乘积分片计算单元711具体配置为:用所述第一参数第二分片,与所述第一方中的第一特征矩阵XA进行安全矩阵乘法,得到第一特征第二处理结果的第二分片;本地计算第二特征矩阵XB与第二参数第二分片的乘积,得到第二特征第一处理结果;用所述第二特征矩阵XB,与所述第一方中的第二参数第一分片进行安全矩阵乘法,得到第二特征第二处理结果的第二分片;对所述第一特征第二处理结果的第二分片,所述第二特征第一处理结果,所述第二特征第二处理结果的第二分片进行加和,并用所述第一方的公钥对加和结果进行同态加密,得到所述第二加密乘积分片。
在一个具体例子中,上述参数更新单元716配置为,通过减去所述第二梯度第二分片与预设步长的乘积,更新所述第二参数第二分片。
根据又一方面的实施例,提供了一种双方联合训练业务预测模型的装置,该装置可以部署在前述的第一方中,该第一方可以实现为任何具有计算、处理能力的设备、平台或设备集群。如前所述,第一方中存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y。图8示出根据一个实施例的部署在第一方中的联合训练装置的示意性框图。如图8所示,该装置800包括迭代单元810,用于多次迭代执行模型参数更新。该迭代单元810进一步包括:
乘积分片计算单元811,配置为基于本地维护的第一参数第一分片和第二参数第一分片,通过本地矩阵乘法运算以及与所述第二方的安全矩阵乘法运算,计算得到同态加密的第一加密乘积分片;其中,所述第一参数第一分片是用于处理所述第一特征部分的第一参数部分WA的第一分片;第二参数第一分片是用于处理所述第二特征部分的第二参数部分WB的第一分片;
乘积分片发送单元812,配置为将该第一加密乘积分片发送给第二方,使得第二方将该第一加密乘积分片与其计算的第二加密乘积分片进行同态加和,以得到加密乘积结果Z,其对应于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和的加密值;
误差分片接收单元813,配置为从第二方接收对加密误差向量E秘密分享的第一误差分片,其中加密误差向量E基于所述加密乘积结果Z和标签向量Y的加密值的同态运算确定;
第一梯度确定单元814,配置为将所述第一误差分片的转置与第一特征矩阵XA进行本地乘法操作,得到第一梯度第一部分;
第二梯度确定单元815,配置为用所述第一特征矩阵XA,与第二方中保留的第二误差分片进行安全矩阵乘法,得到第一梯度第二部分的第一分片;
第三梯度确定单元816,配置为从第二方接收对第二加密梯度秘密分享的第二梯度第一分片;
参数更新单元817,配置为根据所述第一梯度第一部分和第一梯度第二部分的第一分片,更新第一参数第一分片;根据所述第二梯度第一分片,更新第二参数第一分片。
在一个实施例中,装置800还包括初始化单元820,配置为:初始化所述第一参数部分WA,通过秘密分享将其拆分为第一参数第一分片和第一参数第二分片,保留所述第一参数第一分片,将所述第一参数第二分片发送给第二方;从所述第二方接收对第二参数部分WB秘密分享的第二参数第一分片。
根据一种实施方式,装置800还包括参数重构单元830,配置为:将最后一次迭代中更新后的所述第二参数第一分片发送给所述第二方,并从所述第二方接收更新后的第一参数第二分片;将最后一次迭代中更新后的第一参数第一分片,和所接收的第一参数第二分片进行组合,得到所述业务预测模型训练后的第一参数部分WA。
根据一个具体实施例,乘积分片计算单元811具体配置为:本地计算第一特征矩阵XA与第一参数第一分片的乘积,得到第一特征第一处理结果;用所述第一特征矩阵XA,与所述第二方中的第一参数第二分片进行安全矩阵乘法,得到第一特征第二处理结果的第一分片;用所述第二参数第一分片,与所述第二方中的第二特征矩阵XB进行安全矩阵乘法,得到第二特征第二处理结果的第一分片;对所述第一特征第一处理结果,所述第一特征第二处理结果的第一分片,所述第二特征第二处理结果的第一分片进行加和,并用所述第一方的公钥对加和结果进行同态加密,得到所述第一加密乘积分片。
在一个实施例中,上述参数更新单元817至少配置为,将所述第一梯度第一部分和第一梯度第二部分的第一分片之和与预设步长的乘积,作为调整量,通过减去所述调整量,更新所述第一参数第一分片。
通过以上部署在第一方和第二方中的装置,实现双方的保护数据隐私的安全联合训练。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图4到图5所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图4到图5所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (22)
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所述的方法,在多次迭代执行模型参数更新之后,还包括:
将最后一次迭代中更新后的所述第二参数第一分片发送给所述第二方,并从所述第二方接收更新后的第一参数第二分片;
将最后一次迭代中更新后的第一参数第一分片,和所接收的第一参数第二分片进行组合,得到所述业务预测模型训练后的第一参数部分WA。
13.根据权利要求10所述的方法,其中,计算得到同态加密的第一加密乘积分片,包括:
本地计算第一特征矩阵XA与第一参数第一分片的乘积,得到第一特征第一处理结果;
用所述第一特征矩阵XA,与所述第二方中的第一参数第二分片进行安全矩阵乘法运算,得到第一特征第二处理结果的第一分片;
用所述第二参数第一分片,与所述第二方中的第二特征矩阵XB进行安全矩阵乘法运算,得到第二特征第二处理结果的第一分片;
对所述第一特征第一处理结果,所述第一特征第二处理结果的第一分片,所述第二特征第二处理结果的第一分片进行加和,并用所述第一方的公钥对加和结果进行同态加密,得到所述第一加密乘积分片。
14.根据权利要求10所述的方法,其中,根据所述第一梯度第一部分和第一梯度第二部分的第一分片,更新所述第一参数第一分片,包括:将所述第一梯度第一部分和第一梯度第二部分的第一分片之和与预设步长的乘积,作为调整量,通过减去所述调整量,更新所述第一参数第一分片。
15.一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述装置部署于所述第二方,该装置包括,用于多次迭代执行模型参数更新的迭代单元,其进一步包括:
乘积分片计算单元,配置为基于本地维护的第一参数第二分片和第二参数第二分片,通过采用在本地直接执行的矩阵乘法运算,以及采用在所述第二方与所述第一方之间进行的安全矩阵乘法运算,计算得到同态加密的第二加密乘积分片,并从所述第一方接收第一加密乘积分片;其中,第一参数第二分片是用于处理所述第一特征部分的第一参数部分WA的第二分片;第二参数第二分片是用于处理所述第二特征部分的第二参数部分WB的第二分片;
乘积结果确定单元,配置为对所述第一加密乘积分片和第二加密乘积分片进行同态加和,得到加密乘积结果Z,其对应于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和的加密值;
误差向量确定单元,配置为基于所述加密乘积结果Z和所述标签向量Y的加密值进行同态差值运算,得到加密误差向量E,对该加密误差向量E进行秘密分享,得到第二误差分片;
第一梯度确定单元,配置为对该加密误差向量E和第二特征矩阵XB进行同态操作下的矩阵相乘,得到第二加密梯度,对该第二加密梯度进行秘密分享,得到第二梯度第二分片;
第二梯度确定单元,配置为用所述第二误差分片,与所述第一方中的第一特征矩阵XA进行安全矩阵乘法运算,得到第一梯度第二部分的第二分片;
参数更新单元,配置为根据所述第二梯度第二分片,更新所述第二参数第二分片;根据所述第一梯度第二部分的第二分片,更新所述第一参数第二分片。
16.根据权利要求15所述的装置,还包括初始化单元,配置为:
初始化所述第二参数部分WB,通过秘密分享将其拆分为第二参数第一分片和第二参数第二分片,保留所述第二参数第二分片,将所述第二参数第一分片发送给第一方;
从第一方接收对所述第一参数部分WA秘密分享的第一参数第二分片。
17.根据权利要求15所述的装置,还包括参数重构单元,配置为:将最后一次迭代中更新后的所述第一参数第二分片发送给所述第一方,并从所述第一方接收更新后的第二参数第一分片;
将最后一次迭代中更新后的第二参数第二分片,和所接收的第二参数第一分片进行组合,得到所述业务预测模型训练后的第二参数部分WB。
18.一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y;所述装置部署于所述第一方,该装置包括:用于多次迭代执行模型参数更新的迭代单元,其进一步包括:
乘积分片计算单元,配置为基于本地维护的第一参数第一分片和第二参数第一分片,通过采用在本地直接执行的矩阵乘法运算,以及采用在所述第一方与所述第二方之间进行的安全矩阵乘法运算,计算得到同态加密的第一加密乘积分片;其中,所述第一参数第一分片是用于处理所述第一特征部分的第一参数部分WA的第一分片;第二参数第一分片是用于处理所述第二特征部分的第二参数部分WB的第一分片;
乘积分片发送单元,配置为将该第一加密乘积分片发送给第二方,使得第二方将该第一加密乘积分片与其计算的第二加密乘积分片进行同态加和,以得到加密乘积结果Z,其对应于,第一特征矩阵XA与第一参数部分WA相乘的第一乘积,和第二特征矩阵XB与第二参数部分WB相乘的第二乘积之和的加密值;
误差分片接收单元,配置为从第二方接收对加密误差向量E秘密分享的第一误差分片,其中加密误差向量E基于所述加密乘积结果Z和标签向量Y的加密值的同态差值运算确定;
第一梯度确定单元,配置为将所述第一误差分片的转置与第一特征矩阵XA进行本地乘法操作,得到第一梯度第一部分;
第二梯度确定单元,配置为用所述第一特征矩阵XA,与第二方中保留的第二误差分片进行安全矩阵乘法运算,得到第一梯度第二部分的第一分片;
第三梯度确定单元,配置为从第二方接收对第二加密梯度秘密分享的第二梯度第一分片;
参数更新单元,配置为根据所述第一梯度第一部分和第一梯度第二部分的第一分片,更新第一参数第一分片;根据所述第二梯度第一分片,更新第二参数第一分片。
19.根据权利要求18所述的装置,还包括初始化单元,配置为:
初始化所述第一参数部分WA,通过秘密分享将其拆分为第一参数第一分片和第一参数第二分片,保留所述第一参数第一分片,将所述第一参数第二分片发送给第二方;
从所述第二方接收对第二参数部分WB秘密分享的第二参数第一分片。
20.根据权利要求18所述的装置,还包括参数重构单元,配置为:
将最后一次迭代中更新后的所述第二参数第一分片发送给所述第二方,并从所述第二方接收更新后的第一参数第二分片;
将最后一次迭代中更新后的第一参数第一分片,和所接收的第一参数第二分片进行组合,得到所述业务预测模型训练后的第一参数部分WA。
21.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-14中任一项的所述的方法。
22.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-14中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010251506.5A CN111160573B (zh) | 2020-04-01 | 2020-04-01 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
PCT/CN2021/080718 WO2021197035A1 (zh) | 2020-04-01 | 2021-03-15 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010251506.5A CN111160573B (zh) | 2020-04-01 | 2020-04-01 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111160573A CN111160573A (zh) | 2020-05-15 |
CN111160573B true CN111160573B (zh) | 2020-06-30 |
Family
ID=70567693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010251506.5A Active CN111160573B (zh) | 2020-04-01 | 2020-04-01 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111160573B (zh) |
WO (1) | WO2021197035A1 (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111160573B (zh) * | 2020-04-01 | 2020-06-30 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111162896B (zh) * | 2020-04-01 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 双方联合进行数据处理的方法及装置 |
CN111178549B (zh) * | 2020-04-10 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111539535B (zh) * | 2020-06-05 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的联合特征分箱方法及装置 |
CN113824546B (zh) * | 2020-06-19 | 2024-04-02 | 百度在线网络技术(北京)有限公司 | 用于生成信息的方法和装置 |
CN111738360B (zh) * | 2020-07-24 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 一种两方决策树训练方法和系统 |
CN111783129A (zh) * | 2020-07-24 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 一种保护隐私的数据处理方法及系统 |
CN111740815A (zh) * | 2020-07-31 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 基于密文的两方秘密分享方法、装置、设备及存储介质 |
CN111931216B (zh) * | 2020-09-16 | 2021-03-30 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的方式获取联合训练模型的方法及系统 |
CN112347500B (zh) * | 2021-01-11 | 2021-04-09 | 腾讯科技(深圳)有限公司 | 分布式系统的机器学习方法、装置、系统、设备及存储介质 |
CN112990475B (zh) * | 2021-02-05 | 2022-05-06 | 支付宝(杭州)信息技术有限公司 | 一种基于多方安全计算的模型训练方法和系统 |
CN112989368B (zh) * | 2021-02-07 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 多方联合进行隐私数据处理的方法及装置 |
CN112800466B (zh) * | 2021-02-10 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
CN113094739B (zh) * | 2021-03-05 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
CN113095514A (zh) * | 2021-04-26 | 2021-07-09 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备、存储介质及程序产品 |
CN113407987B (zh) * | 2021-05-24 | 2023-10-20 | 支付宝(杭州)信息技术有限公司 | 保护隐私的确定业务数据特征有效值的方法及装置 |
CN113472524B (zh) * | 2021-06-09 | 2022-05-17 | 湖北工业大学 | 一种抗恶意传输数据攻击的数据聚合签名系统及方法 |
CN113434878B (zh) * | 2021-06-25 | 2023-07-07 | 平安科技(深圳)有限公司 | 基于联邦学习的建模及应用方法、装置、设备及存储介质 |
CN113434886B (zh) * | 2021-07-01 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 联合生成用于安全计算的数据元组的方法及装置 |
CN113849837B (zh) * | 2021-09-29 | 2024-01-02 | 支付宝(杭州)信息技术有限公司 | 一种安全模型的训练方法、装置、设备以及数据处理方法 |
CN114093465A (zh) * | 2021-10-28 | 2022-02-25 | 广东珠江智联信息科技股份有限公司 | 基于同态加密的医疗图像标注系统及其数据处理方法 |
CN114091651B (zh) * | 2021-11-03 | 2024-05-24 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法、装置及系统 |
CN113987559B (zh) * | 2021-12-24 | 2022-04-08 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合进行数据处理的方法及装置 |
CN114357518A (zh) * | 2022-01-04 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 一种基于联邦学习的数据加密方法、装置和计算机设备 |
CN114996449B (zh) * | 2022-05-25 | 2024-06-28 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的聚类方法及装置 |
CN114884645B (zh) * | 2022-07-11 | 2022-09-09 | 华控清交信息科技(北京)有限公司 | 一种隐私计算方法、装置和可读存储介质 |
CN115310121B (zh) * | 2022-07-12 | 2023-04-07 | 华中农业大学 | 车联网中基于MePC-F模型的实时强化联邦学习数据隐私安全方法 |
CN116092683B (zh) * | 2023-04-12 | 2023-06-23 | 深圳达实旗云健康科技有限公司 | 一种原始数据不出域的跨医疗机构疾病预测方法 |
CN117724854B (zh) * | 2024-02-08 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
CN117973488B (zh) * | 2024-03-29 | 2024-06-07 | 蓝象智联(杭州)科技有限公司 | 具有隐私保护的大语言模型训练、推理方法及系统 |
CN118504038A (zh) * | 2024-07-17 | 2024-08-16 | 蚂蚁科技集团股份有限公司 | 保护隐私的广义线性模型的假设检验方法和装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3602422B1 (en) * | 2017-03-22 | 2022-03-16 | Visa International Service Association | Privacy-preserving machine learning |
CN109214404A (zh) * | 2017-07-07 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 基于隐私保护的训练样本生成方法和装置 |
CN109426861A (zh) * | 2017-08-16 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 数据加密、机器学习模型训练方法、装置及电子设备 |
CN108133294B (zh) * | 2018-01-10 | 2020-12-04 | 阳光财产保险股份有限公司 | 基于信息共享的预测方法及装置 |
CN109165515A (zh) * | 2018-08-10 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数获取方法、系统及可读存储介质 |
US20190188386A1 (en) * | 2018-12-27 | 2019-06-20 | Intel Corporation | Protecting ai payloads running in gpu against main cpu residing adversaries |
US10430727B1 (en) * | 2019-04-03 | 2019-10-01 | NFL Enterprises LLC | Systems and methods for privacy-preserving generation of models for estimating consumer behavior |
CN110555525B (zh) * | 2019-08-09 | 2021-08-13 | 创新先进技术有限公司 | 模型参数确定方法、装置和电子设备 |
CN110472439B (zh) * | 2019-08-09 | 2023-08-22 | 创新先进技术有限公司 | 模型参数确定方法、装置和电子设备 |
CN110851785B (zh) * | 2019-11-14 | 2023-06-06 | 深圳前海微众银行股份有限公司 | 纵向联邦学习优化方法、装置、设备及存储介质 |
CN110851786B (zh) * | 2019-11-14 | 2023-06-06 | 深圳前海微众银行股份有限公司 | 基于纵向联邦学习的企业间数据交互方法、装置、设备及存储介质 |
CN110942147B (zh) * | 2019-11-28 | 2021-04-20 | 支付宝(杭州)信息技术有限公司 | 基于多方安全计算的神经网络模型训练及预测方法、装置 |
CN110929886B (zh) * | 2019-12-06 | 2022-03-22 | 支付宝(杭州)信息技术有限公司 | 模型训练、预测方法及其系统 |
CN110874637B (zh) * | 2020-01-16 | 2020-04-28 | 支付宝(杭州)信息技术有限公司 | 基于隐私数据保护的多目标融合学习方法、装置和系统 |
CN111160573B (zh) * | 2020-04-01 | 2020-06-30 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
-
2020
- 2020-04-01 CN CN202010251506.5A patent/CN111160573B/zh active Active
-
2021
- 2021-03-15 WO PCT/CN2021/080718 patent/WO2021197035A1/zh active Application Filing
Non-Patent Citations (2)
Title |
---|
Federated Machine Learning: Concept and Applications;Qiang Yang等;《ACM Transactions on Intelligent Systems and Technology》;20190131;都1-19页 * |
联邦学习-纵向LR;狮马帮ECU;《https://zhuanlan.zhihu.com/p/94105330》;20191128;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111160573A (zh) | 2020-05-15 |
WO2021197035A1 (zh) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111160573B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
CN111178549B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
CN111177791B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
CN111241570B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
CN112989368B (zh) | 多方联合进行隐私数据处理的方法及装置 | |
WO2021197037A1 (zh) | 双方联合进行数据处理的方法及装置 | |
CN108712260B (zh) | 云环境下保护隐私的多方深度学习计算代理方法 | |
CN111177768A (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
Zhang et al. | GELU-Net: A Globally Encrypted, Locally Unencrypted Deep Neural Network for Privacy-Preserved Learning. | |
CN112541593B (zh) | 基于隐私保护的联合训练业务模型的方法及装置 | |
CN110912713B (zh) | 多方联合进行模型数据处理的方法及装置 | |
EP2547033B1 (en) | Public-key encrypted bloom filters with applications to private set intersection | |
CN113065145B (zh) | 一种基于秘密共享和随机扰动的隐私保护线性回归方法 | |
CN114547643B (zh) | 一种基于同态加密的线性回归纵向联邦学习方法 | |
WO2017099117A1 (ja) | 事前計算装置、方法、およびコンピュータ読取可能な記録媒体、並びにベクトル乗算装置、および方法 | |
CN112084520B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法及装置 | |
CN113051586A (zh) | 联邦建模系统及方法、联邦模型预测方法、介质、设备 | |
US20230385446A1 (en) | Privacy-preserving clustering methods and apparatuses | |
Zhu et al. | Outsourcing set intersection computation based on bloom filter for privacy preservation in multimedia processing | |
CN117081721A (zh) | 一种基于bgv同态加密的密文训练方法 | |
CN112995189B (zh) | 一种基于隐私保护的公开验证矩阵乘法正确性的方法 | |
CN115550073A (zh) | 可监管隐身地址构造方法 | |
CN115186876A (zh) | 保护数据隐私的两方联合训练业务预测模型的方法及装置 | |
CN114547684A (zh) | 一种保护隐私数据的多方联合训练树模型的方法及装置 | |
CN113656829A (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: 40029308 Country of ref document: HK |