CN111177791A - 保护数据隐私的双方联合训练业务预测模型的方法和装置 - Google Patents

保护数据隐私的双方联合训练业务预测模型的方法和装置 Download PDF

Info

Publication number
CN111177791A
CN111177791A CN202010276682.4A CN202010276682A CN111177791A CN 111177791 A CN111177791 A CN 111177791A CN 202010276682 A CN202010276682 A CN 202010276682A CN 111177791 A CN111177791 A CN 111177791A
Authority
CN
China
Prior art keywords
encryption
gradient
party
product
vector
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.)
Granted
Application number
CN202010276682.4A
Other languages
English (en)
Other versions
CN111177791B (zh
Inventor
王磊
陈超超
王力
周俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010276682.4A priority Critical patent/CN111177791B/zh
Publication of CN111177791A publication Critical patent/CN111177791A/zh
Application granted granted Critical
Publication of CN111177791B publication Critical patent/CN111177791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提供一种保护数据隐私的双方联合训练业务预测模型的方法和装置,其中第一方和第二方分别拥有一部分特征数据,分别维护第一和第二参数部分,借助于第三方进行联合训练。在模型迭代时,双方各自计算其特征矩阵与参数的乘积结果,第一方将其乘积结果用第三方公钥同态加密后发送给拥有标签的第二方,由第二方进行同态运算,得到加密误差向量。然后,基于该加密误差向量,双方各自通过同态添加混淆元素的方式,将混淆后的加密梯度发送给第三方,使其解密,再对解密后的混淆梯度去混淆,得到对应的梯度,由此更新对应的参数。如此实现保护数据隐私的安全联合训练。

Description

保护数据隐私的双方联合训练业务预测模型的方法和装置
技术领域
本说明书一个或多个实施例涉及数据安全和机器学习领域,具体地,涉及双方联合训练业务预测模型的方法和装置。
背景技术
机器学习所需要的数据往往会涉及到多个领域。例如在基于机器学习的商户分类分析场景中,电子支付平台拥有商户的交易流水数据,电子商务平台存储有商户的销售数据,银行机构拥有商户的借贷数据。数据往往以孤岛的形式存在。由于行业竞争、数据安全、用户隐私等问题,数据整合面临着很大阻力,将分散在各个平台的数据整合在一起训练机器学习模型难以实现。在保证数据不泄露的前提下,使用多方数据联合训练机器学习模型变成目前的一大挑战。
常用的机器学习模型包括,逻辑回归模型,线性回归模型,以及神经网络模型等,其中逻辑回归模型可以有效地执行样本分类预测等任务,线性回归模型可以有效地预测样本的回归值,神经网络模型可以通过多层神经元的组合,执行各种预测任务。以上这些模型的训练过程中,都会涉及利用特征数据与模型参数数据之间的运算得到预测结果,以及根据预测结果确定出梯度,进而调整模型参数的过程。在多方共同训练机器学习模型的情况下,如何在不泄露各方隐私数据,包括特征数据和模型参数数据,的情况下,协同进行上述各个阶段的运算,是实际要解决的问题。
因此,希望提供改进的方案,在多方联合训练业务预测模型的情况下,保证各方的隐私数据不泄露,确保数据安全。
发明内容
本说明书一个或多个实施例描述了双方联合训练业务预测模型的方法和装置,训练过程借助于中立的第三方,通过同态加密的方式,保证数据隐私不泄露,确保联合训练中隐私数据的安全。
根据第一方面,提供了一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA,并维护对应的第一参数部分WA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,和标签值构成的标签向量Y,并维护对应的第二参数部分WB;所述方法应用于所述第二方,包括:
本地计算第二特征矩阵XB与第二参数部分WB的第二乘积结果;
从所述第一方接收第一加密乘积,该第一加密乘积为,使用中立的第三方的公钥和同态加密算法,对第一特征矩阵XA与第一参数部分WA的第一乘积结果加密得到的;
基于对所述第一加密乘积,第二乘积结果,以及所述标签向量进行同态运算,得到加密误差向量E;
对该加密误差向量E和第二特征矩阵XB进行同态操作下的矩阵相乘,得到对第二梯度加密的第二加密梯度;
在所述第二加密梯度基础上同态添加第二混淆元素,生成第二加密混淆梯度,并将其发送给所述第三方;
从所述第三方接收针对第二加密混淆梯度解密的第二混淆梯度;
根据所述第二混淆梯度和第二混淆元素,恢复得到第二梯度;
根据所述第二梯度,更新所述第二参数部分。
在各种实施例中,所述业务对象包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。
在一个实施例中,所述业务预测模型为线性回归模型;在这样的情况下,可以通过以下方式得到加密误差向量E:基于所述第一加密乘积和所述第二乘积结果的同态加和操作,得到加密预测结果;计算该加密预测结果和所述标签向量Y的加密值的同态差值,作为所述加密误差向量E。
在另一实施例中,所述业务预测模型为逻辑回归模型;此时,可以根据sigmoid函数的泰勒展开形式,基于所述第一加密乘积和所述第二乘积结果的同态运算得到加密预测结果,对该加密预测结果和所述标签向量Y的加密值进行同态差值运算,得到所述加密误差向量E。
进一步的,在一个例子中,泰勒展开可以采用多阶展开;此时,所述第二乘积结果包括,第二特征矩阵XB与第二参数部分WB的多阶第二乘积;所述第一乘积结果包括,第一特征矩阵XA与第一参数部分WA的多阶第一乘积;得到加密预测结果的过程可以包括,根据sigmoid函数的多阶泰勒展开形式,基于所述多阶第一乘积和所述多阶第二乘积之间的同态加和操作和同态相乘操作,得到加密预测结果。
根据一种实施方式,第二加密混淆梯度通过以下方式生成:随机生成与所述第二加密梯度维度相同的第二掩码向量,并使用所述第三方的公钥和所述同态加密算法将其加密,得到第二加密掩码向量;在所述第二加密梯度上同态添加所述第二加密掩码向量,得到所述第二加密混淆梯度;相应的,恢复第二梯度的步骤可以包括:从所述第二混淆梯度中减去所述第二掩码向量,得到第二梯度。
根据一个实施例,上述第二方执行的方法还包括:将所述加密误差向量E发给给所述第一方。
根据第二方面,提供了一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA,并维护对应的第一参数部分WA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,和标签值构成的标签向量Y,并维护对应的第二参数部分WB;所述方法应用于所述第一方,包括:
本地计算第一特征矩阵XA与第一参数部分WA的第一乘积结果;
使用中立的第三方的公钥和同态加密算法,对所述第一乘积结果进行加密,得到第一加密乘积,将该第一加密乘积发送给第二方;
从所述第二方接收加密误差向量E,所述加密误差向量E基于所述第一加密乘积,第二方本地计算的第二特征矩阵XB与第二参数部分WB的第二乘积结果,以及所述标签向量的同态运算而得到;
对该加密误差向量E和第一特征矩阵XA进行同态操作下的矩阵相乘,得到对第一梯度加密的第一加密梯度;
在所述第一加密梯度基础上同态添加第一混淆元素,生成第一加密混淆梯度,并将其发送给所述第三方;
从所述第三方接收针对第一加密混淆梯度解密的第一混淆梯度;
根据所述第一混淆梯度和第一混淆元素,恢复得到第一梯度;
根据所述第一梯度,更新所述第一参数部分。
根据第三方面,提供了一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA,并维护对应的第一参数部分WA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,和标签值构成的标签向量Y,并维护对应的第二参数部分WB;所述装置部署于所述第二方,包括:
第二乘积计算单元,配置为本地计算第二特征矩阵XB与第二参数部分WB的第二乘积结果;
第一乘积接收单元,配置为从所述第一方接收第一加密乘积,该第一加密乘积为,使用中立的第三方的公钥和同态加密算法,对第一特征矩阵XA与第一参数部分WA的第一乘积结果加密得到的;
加密误差计算单元,配置为基于对所述第一加密乘积,第二乘积结果,以及所述标签向量进行同态运算,得到加密误差向量E;
第二梯度计算单元,配置为对该加密误差向量E和第二特征矩阵XB进行同态操作下的矩阵相乘,得到对第二梯度加密的第二加密梯度;
第二混淆单元,配置为在所述第二加密梯度基础上同态添加第二混淆元素,生成第二加密混淆梯度,并将其发送给所述第三方;
第二接收单元,配置为从所述第三方接收针对第二加密混淆梯度解密的第二混淆梯度;
第二梯度恢复单元,配置为根据所述第二混淆梯度和第二混淆元素,恢复得到第二梯度;
第二参数更新单元,配置为根据所述第二梯度,更新所述第二参数部分。
根据第四方面,提供了一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA,并维护对应的第一参数部分WA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,和标签值构成的标签向量Y,并维护对应的第二参数部分WB;所述装置部署于所述第一方,包括:
第一乘积计算单元,配置为本地计算第一特征矩阵XA与第一参数部分WA的第一乘积结果;
第一乘积加密单元,配置为使用中立的第三方的公钥和同态加密算法,对所述第一乘积结果进行加密,得到第一加密乘积,将该第一加密乘积发送给第二方;
加密误差接收单元,配置为从所述第二方接收加密误差向量E,所述加密误差向量E基于所述第一加密乘积,第二方本地计算的第二特征矩阵XB与第二参数部分WB的第二乘积结果,以及所述标签向量的同态运算而得到;
第一梯度计算单元,配置为对该加密误差向量E和第一特征矩阵XA进行同态操作下的矩阵相乘,得到对第一梯度加密的第一加密梯度;
第一混淆单元,配置为在所述第一加密梯度基础上同态添加第一混淆元素,生成第一加密混淆梯度,并将其发送给所述第三方;
第一接收单元,配置为从所述第三方接收针对第一加密混淆梯度解密的第一混淆梯度;
第一梯度恢复单元,配置为根据所述第一混淆梯度和第一混淆元素,恢复得到第一梯度;
第一参数更新单元,配置为根据所述第一梯度,更新所述第一参数部分。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
根据本说明书实施例提供的方法和装置,参与联合训练的双方各自拥有一部分特征数据。在联合训练的迭代过程中,借助于中立的第三方,双方通过同态加密传递特征和参数的计算结果,并通过混淆元素的方式计算和传递梯度,确保训练过程中不泄露任何隐私数据明文,增强了训练过程中隐私数据的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的双方联合训练模型的过程示意图;
图3示出根据一个实施例的部署在第二方中的联合训练装置的示意性框图;
图4示出根据一个实施例的部署在第一方中的联合训练装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,典型的机器学习模型的训练过程包括,利用特征数据与模型参数数据之间的运算得到预测结果,根据预测结果确定出梯度,进而根据梯度调整模型参数的过程。
具体地,假设用于训练机器学习模型的训练数据集有n个样本,每个样本的样本特征表示为x(x可以是一个向量),标签表示为y,则该训练数据集可表示为:
Figure DEST_PATH_IMAGE001
通过各个样本的样本特征x与模型参数w的运算,可以得到对该样本的预测值
Figure 153555DEST_PATH_IMAGE002
。如果机器学习模型为线性回归模型,预测值可表示为:
Figure DEST_PATH_IMAGE003
;如果机器学习模型为逻辑回归模型,预测值可表示为:
Figure 358271DEST_PATH_IMAGE004
在使用最大似然概率及随机梯度下降方式的情况下,得到的梯度可以表示为:
Figure DEST_PATH_IMAGE005
(1)
其中,
Figure 291592DEST_PATH_IMAGE002
为预测值,y为标签值,上标T表示转置,x为特征;于是,可以根据该梯度,更新参数w,从而实现模型训练。
从以上过程可以看到,训练过程包含几项核心的运算:计算样本特征x与模型参数w的乘积xw,该乘积xw用于确定出预测值
Figure 678580DEST_PATH_IMAGE002
;通过
Figure 140785DEST_PATH_IMAGE006
得到预测误差E;然后根据预测误差E与x的乘积,得到梯度。
在单方独立训练模型的情况下,可以容易地进行上述的运算。但是在多方联合训练机器学习模型的情况下,同一样本的特征可能分布在不同参与方中,每个参与方维护模型的一部分参数,如何在不泄露各方明文数据的情况下,实施上述各项运算,是实现联合训练中数据隐私保护的核心挑战。
针对上述问题,发明人提出,在双方联合训练机器学习模型的场景下,借助于中立的第三方,利用同态加密实现安全的协同训练。具体的,双方各自计算其特征矩阵与参数的乘积结果,用第三方的公钥加密后由拥有标签的一方进行同态运算,得到加密误差向量。然后,基于该加密误差向量,双方通过混淆元素的方式,与第三方进行交互,得到各自的梯度,从而更新各自的模型参数,实现模型的训练。
图1为本说明书披露的一个实施例的实施场景示意图。如图1所示,双方联合训练的场景涉及参与方A和参与方B,或称为第一方和第二方。第一方A和第二方B各自具有一部分训练数据,想要共同联合训练一个业务预测模型。根据本说明书的实施例,两个参与方A和B可以借助于中立的第三方C,实现模型的联合训练。需要理解,各个参与方,包括A,B和C,均可以实现为任何具有计算、处理能力的设备、平台、服务器或设备集群。
具体的,第一方A存储有训练样本集中n个业务对象的一部分特征,称为第一特征部分。假定每个业务对象的第一特征部分为d1维向量,那么n个业务对象的第一特征部分构成一个n*d1维的第一特征矩阵XA。第二方B存储有该n个业务对象的第二特征部分。假定每个业务对象的第二特征部分为d2维向量,那么n个业务对象的第二特征部分构成一个n*d2维的第二特征矩阵XB。假定第二方中还存储有n个业务对象的标签值,n个标签值构成一个标签向量Y。
例如,在一个示例性场景中,上述第一方A和第二方B为电子支付平台和银行机构,双方需要联合训练一个业务预测模型,来评估用户的信用等级。此时,业务对象即为用户。双方可以各自维护用户的一部分特征数据,例如,电子支付平台维护用户的电子支付和转账相关特征,构成上述的第一特征矩阵;银行机构维护用户的信贷记录方面的相关特征,构成上述的第二特征矩阵。此外,银行机构还具有用户信用等级的标签Y。
在另一个示例中,上述第一方A和第二方B为电子商务平台和电子支付平台,双方需要联合训练一个业务预测模型,来评估商户的欺诈风险。此时,业务对象即为商户。双方可以各自维护商户的一部分特征数据,例如,电子商务平台存储样本商户的销售数据作为一部分样本特征,该部分样本特征构成上述第一特征矩阵;电子支付平台维护商户的交易流水数据作为另一部分样本特,构成第二特征矩阵。电子支付平台还维护样本商户的标签(是或不是欺诈商户的标记),构成标签向量Y。
在其他场景示例中,业务对象还可以是待评估的其他对象,比如商品,交互事件(例如交易事件,登录事件,点击事件,购买事件),等等。相应的,参与方A和B可以是维护有上述业务对象的不同特征部分的不同业务方。业务预测模型可以是针对相应业务对象进行分类预测或回归预测的模型。
需要理解,双方各自维护的业务对象特征属于隐私数据,在联合训练过程中,不可以进行明文交换,以保护隐私数据安全。并且,最终,第一方A希望训练得到用于处理第一特征部分的模型参数部分,称为第一参数部分WA;第二方希望训练得到用于处理第二特征部分的第二参数部分WB,这两部分参数共同构成业务预测模型。
为了在不泄露隐私数据的情况下,进行模型的联合训练,根据本说明书的实施例,如图1所示,在模型迭代过程中,第一方A和第二方B各自本地计算其特征矩阵与参数部分的乘积结果,于是第一方A计算得到PA,第二方计算得到PB。由于第二方拥有标签,第一方A将其计算结果PA用第三方C的公钥PK-C进行同态加密后,发送给第二方B。第二方B基于加密的乘积结果[PA]c和PB以及标签向量Y之间的同态运算,计算得到加密误差向量E,并将其发送给第一方A。
基于该加密误差向量E,第一方A和第二方B的每一方,通过在加密梯度中同态加入混淆元素,借助第三方C解密之后再去除混淆元素的方式,计算得到对应的梯度,于是可以利用该梯度更新本方的参数部分。
在整个训练过程中,各方不进行特征数据和参数数据的明文交换,所有通信数据均为加密的数据或者加入有混淆的数据,如此,确保联合训练过程中隐私数据不会泄露,增强了数据的安全性。下面描述以上方案的具体实现过程。
图2示出根据一个实施例的双方联合训练模型的过程示意图。图2场景中的第一方A和第二方B的数据持有状况与图1相同,不再赘述。第三方C为中立方,不与任何一方进行联合。
在进行模型迭代训练之前,首先是初始化阶段。在该初始化阶段,第三方C生成用于同态加密的非对称密钥对,公钥PK-c和对应私钥SK-c,然后,将该公钥PK-c广播给第一方A和第二方B,保持私钥SK-c私密。
此外,第一方A和第二方B还各自对其模型参数进行初始化。具体的,第一方A初始化用于处理第一特征部分的第一参数部分WA。该第一参数部分WA可以通过随机生成的方式初始化得到。第二方B初始化生成用于处理第二特征部分的第二参数部分WB
然后,进入图2所示的模型迭代训练过程。
在步骤S211,第一方A本地计算第一特征矩阵XA与第一参数部分WA的第一乘积结果PA
在步骤S212,第一方A使用上述第三方C的公钥PK-c和约定的同态加密算法,对第一乘积结果PA进行加密,得到第一加密乘积[PA]c,将该第一加密乘积[PA]c发送给第二方B。
在本文上下文中,用方括号[]表示加密,角标表示加密所用的公钥。
在步骤S213,第二方B本地计算第二特征矩阵XB与第二参数部分WB的第二乘积结果PB
然后,在步骤S214,第二方B基于对第一加密乘积[PA]c,第二乘积结果PB,以及标签向量Y进行同态运算,得到加密误差向量[E]a
以上是双方协同计算误差向量的阶段。其中,步骤S213与步骤S211-S212,可以以任何合理的相对顺序执行,例如并行执行,在其之前执行,在其间执行,等等。
取决于所需要的业务预测模型的算法的不同,以上的计算可以有多种实现方式。
根据一种实施方式,业务预测模型采用线性回归模型。如前所述,线性回归模型下,预测值可表示为:
Figure DEST_PATH_IMAGE007
。此时,在步骤S211,第一方A计算的第一乘积结果PA,为第一特征矩阵XA与第一参数部分WA的1阶乘积UA,即:PA=UA =XA˙WA
在步骤S212,第一方A将[UA]c发送给第二方B。
相应的,在步骤S213,第二方B计算的第二乘积结果PB,为第二特征矩阵XB与第二参数部分WB的1阶乘积UB,即:PB=UB =XB˙WB
进一步地,在步骤S214,可以基于第一加密乘积[UA]c和第二乘积结果UB的同态加和操作,得到加密预测结果;并计算该加密预测结果和标签向量Y的同态差值,作为加密误差向量。即:
[E]a=[UA]c +[UB]c -[Y]c (2)
这里利用了同态加密算法的同态性,即,对明文进行运算后再加密,与加密后对密文进行相应的运算,结果是等价的。例如,用同样的公钥PK加密
Figure 285328DEST_PATH_IMAGE008
Figure DEST_PATH_IMAGE009
得到
Figure 428864DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE011
,如果满足:
Figure 935938DEST_PATH_IMAGE013
那么则认为,该加密算法满足加法同态,其中
Figure DEST_PATH_IMAGE014
为对应的同态加操作。实践中,
Figure 834624DEST_PATH_IMAGE014
操作可以对应于常规的加法,乘法等。例如,在Paillier算法中,
Figure 748353DEST_PATH_IMAGE014
对应于常规乘法。以上同态加操作,为密文之间的同态加操作。
利用以上的同态性,在以上的公式(2)中,对第二乘积结果UB和标签向量Y,也分别采用第三方C的公钥PK-c同态加密,然后对上述密文进行同态加操作,得到加密误差向量[E]c。需要理解,公式(2)右侧的加减操作,均为密文之间的同态操作,其中同态减法为同态加操作的对应减操作(例如加上负值)。
一些同态加密算法还可以支持密文和明文之间的同态加操作。当然,密文和明文之间的同态加操作,和密文之间的同态加操作,一般对应于不同的常规运算。此时,也可以不必对第二乘积结果UB和标签向量Y进行加密,而是利用密文和明文的同态加操作,对第一加密乘积[UA]c密文和第二乘积结果UB和标签向量Y的明文,基于与公式(2)相似的运算逻辑进行同态操作,得到加密误差向量[E]c
根据另一种实施方式,业务预测模型采用逻辑回归模型。本领域技术人员了解,在使用逻辑回归模型作为业务预测模型的情况下,预测值可表示为:
Figure 741586DEST_PATH_IMAGE004
。可以看到,逻辑回归模型的预测值是基于非线性的sigmoid函数的,而非线性函数不利于同态加密等安全计算。
因此,在逻辑回归模型的情况下,为了便于进行线性计算,可以将其中的sigmoid函数进行泰勒Taylor展开。具体的,sigmod函数 1 / (1 + e^x)可以进行以下泰勒分解:
Figure 853898DEST_PATH_IMAGE015
(3)
相应的,逻辑回归预测值可以展开为:
Figure DEST_PATH_IMAGE016
(4)
将以上预测值展开式代入公式(1)中可以得到梯度的形式,比如1阶展开下,梯度形式为
Figure 657906DEST_PATH_IMAGE017
(5)
三阶展开的梯度形式为
Figure DEST_PATH_IMAGE018
(6)
如此,通过泰勒Taylor展开,将逻辑回归的预测值转换成了可以使用同态加密的方案。于是,可以根据计算精度要求,选择不同阶泰勒展开形式,根据泰勒展开形式,计算加密误差向量。
具体的,在一个实施例中,利用1阶泰勒展开计算误差和梯度。在这样的情况下,在以上步骤S211,第一方A计算的第一乘积结果PA仍然为1阶乘积UA,在步骤S213,第二方B计算的第二乘积结果PB仍然为1阶乘积UB
不同的是,在步骤S214,根据1阶泰勒展开的形式,通过对第一加密乘积[UA]c,第二乘积结果UB和标签向量Y的同态运算,计算加密误差向量。具体的,参见以上公式(5)中的1阶泰勒展开,将其中的wx表示为UA+UB,可以如下计算得到加密误差向量[E]c
[E]c=([UA]c +[UB]c)/4+[0.5-Y]c (7)
在另一实施例中,利用3阶泰勒展开计算误差和梯度。在这样的情况下,在以上步骤S211,第一方A计算的第一乘积结果PA包括,第一特征矩阵XA与第一参数部分WA的1阶到3阶乘积,即,PA包括UA,UA 2,UA 3
在步骤S212,第一方A将第一乘积结果PA加密并发送给第二方B,由此,第二方B接收到[PA]c,其包括 [UA]c,[UA 2]c和[UA 3]c
相应的,在步骤S213,第二方B计算的第二乘积结果PB包括,第二特征矩阵XB与第二参数部分WB的1阶到3阶乘积,即,PB包括UB,UB 2,UB 3
然后在步骤S214,根据3阶泰勒展开的形式,通过对第一加密乘积[PA]c,第二乘积结果PB和标签向量Y的同态运算,计算加密误差向量。具体的,参见以上公式(6)中的3阶泰勒展开,将其中的wx表示为(UA+UB)并展开其3阶乘法,从而如下计算得到加密误差向量[E]c
[E]c=([UA]c+UB)/4-([UA 3]c+3*[UA 2]c*UB+ 3*[UA]c*UB 2+UB 3)/48+[0.5-Y]c (8)
以上公式(8)中,第一加密乘积与第二乘积结果之间的运算,均为密文与明文之间的同态运算。特别的,密文矩阵与明文矩阵之间的矩阵乘法可以拆解为,密文矩阵中一行或一列的密文元素与明文矩阵中一列或一行的明文元素之间的同态运算,由此实现矩阵之间的同态相乘。
以上描述了3阶泰勒展开下,加密误差向量的计算方式。可以理解,以上方式可以适用于任意阶数的泰勒展开。阶数越高,结果越准确,但是计算的复杂度越高。
原则上,对于任意阶数k的泰勒展开,第一方A计算的第一乘积结果需包括,第一特征矩阵XA与第一参数部分WA的第一乘积UA的1阶到k阶的多阶第一乘积;第二方B计算的第二乘积结果需包括,第二特征矩阵XB与第二参数部分WB的第二乘积UB的1阶到k阶的多阶第二乘积。在计算加密误差向量[E]c时,第二方B根据k阶泰勒展开形式,基于多阶第一乘积和多阶第二乘积之间的同态加和操作和同态相乘操作,得到加密预测结果,并基于加密预测结果和标签向量Y之间的同态差值,得到加密误差向量。
以上,通过步骤S211-S214,第二方B计算得到加密误差向量[E]c。接着,在步骤S215,第二方B可以将该加密误差向量[E]c发送给第一方A,于是,双方都拥有了使用第三方的公钥加密的该加密误差向量[E]c。接着,第一方A和第二方B需要各自基于该加密误差向量[E]c,计算各自所需的第一梯度GA和第二梯度GB,并根据梯度更新其维护的参数。
首先描述第一方A确定其对应的第一梯度GA并更新其参数的过程S221-S227。
在步骤S221,第一方A对加密误差向量[E]c和第一特征矩阵XA进行同态操作下的矩阵相乘,得到对第一梯度加密的第一加密梯度[GA]c,即:
[GA]c=[E]c T *XA
其中,[E]c T表示[E]c的转置,且[E]c T与XA之间的相乘运算,是[E]c T中各行的密文元素与XA中各列的明文元素之间的同态运算。
然后,在步骤S222,第一方A在以上第一加密梯度[GA]c基础上同态添加第一混淆元素,生成第一加密混淆梯度[G`A]c
在一个实施例中,从第一加密梯度[GA]c中,随机选择若干位置的密文元素,在选中位置的密文元素上,同态添加随机生成的第一混淆元素,得到第一加密混淆梯度[G`A]c。此时,需要记录所选中的混淆位置,记为第一混淆位置,以及所添加的第一混淆元素的值,例如将其记录在本地混淆记录中。
在另一实施例中,随机生成与第一加密梯度[GA]c维度相同的第一掩码向量M1作为上述第一混淆元素,并使用第三方C的公钥PK-c和前述同态加密算法将其加密,得到第一加密掩码向量[M1]c。然后,在第一加密梯度[GA]c上同态添加所述第一加密掩码向量[M1]a,得到第一加密混淆梯度[G`A]c,即:
[G`A]c=[GA]c+[M1]c
此时,需要在本地混淆记录中记录上述第一掩码向量M1
需要理解,可以在每轮迭代时,清除上一轮的混淆记录,产生新的混淆记录,使得每轮迭代时的第一混淆元素不同,以避免第三方发现混淆规律。
然后,在步骤S223,第一方A将以上得到的第一加密混淆梯度[G`A]c发送给第三方C。
需要注意,以上的所有同态操作,均是基于利用第三方C的公钥PK-c加密的密文进行的,因此得到的加密结果,包括[G`A]c,也是基于第三方的公钥PK-c加密的。如此,在步骤S224,第三方C利用其保有的私钥SK-c,对上述第一加密混淆梯度[G`A]c进行解密,得到第一混淆梯度G`A。可以理解,由于其中添加了混淆元素,因此,第三方C无法得到第一梯度的原始明文。
在步骤S225,第三方C将上述第一混淆梯度G`A发送给第一方A。
接着,在步骤S226,第一方A根据第一混淆梯度G`A和第一混淆元素,恢复得到第一梯度GA
与生成第一加密混淆梯度时相对应的,在一个例子中,本地混淆记录中记录有选中的第一混淆位置和第一混淆元素值。此时,可以读取该混淆记录,从第一混淆梯度G`A的各个第一混淆位置,消除对应的第一混淆元素值,即恢复得到第一梯度GA
在另一例子中,混淆记录中记录有用于混淆的第一掩码向量M1。此时,从上述第一混淆梯度G`A中减去该第一掩码向量M1,即恢复得到第一梯度GA,即:
GA=G`A-M1
至此,第一方A得到了更新参数所需的第一梯度GA。于是,在步骤S227,第一方A根据上述第一梯度GA,更新第一参数部分WA。具体的,更新方式可以表达为:
WA ← WA-α*GA
其中,α为预设的学习步长。
通过以上步骤S221-S227,第一方A计算得到第一梯度GA,并据此更新了第一参数部分WA
第二方B计算第二梯度GB并更新其第二参数部分WB的过程,与以上第一方A的过程相似或相对应。
具体的,在步骤S231,第二方B对加密误差向量[E]c和第二特征矩阵XB进行同态操作下的矩阵相乘,得到对第二梯度加密的第二加密梯度[GB]c,即:
[GB]c=[E]c T *XB
类似的,[E]c T与XB之间的相乘运算,是[E]c T中各行的密文元素与XB中各列的明文元素之间的同态运算。
然后,在步骤S232,第二方B在以上第二加密梯度[GB]c基础上同态添加第二混淆元素,生成第二加密混淆梯度[G`B]c
例如,在一个例子中,第二方B从第二加密梯度[GB]c中,随机选择第二位置,在选中的第二位置的密文元素上,同态添加随机生成的第二混淆元素,得到第二加密混淆梯度[G`B]c
在另一例子中,第二方B随机生成与第二加密梯度[GB]c维度相同的第二掩码向量M2作为上述第二混淆元素,并使用第三方C的公钥PK-c和前述同态加密算法将其加密,得到第二加密掩码向量[M2]c。然后,在第二加密梯度[GB]c上同态添加所述第二加密掩码向量[M2]a,得到第二加密混淆梯度[G`B]c,即:
[G`B]c=[GB]c+[M2]c
需要理解,第二方B生成和添加第二混淆元素的方式,与第一方A生成和添加第一混淆元素的方式,两者互相独立,可以相同也可以不同。
然后,在步骤S233,第二方B将以上得到的第二加密混淆梯度[G`B]c发送给第三方C。
于是,在步骤S234,第三方C利用其保有的私钥SK-c,对上述第二加密混淆梯度[G`B]c进行解密,得到第二混淆梯度G`B。可以理解,由于其中添加了混淆元素,因此,第三方C无法得到第二梯度的原始明文。
在步骤S235,第三方C将上述第二混淆梯度G`B发送给第二方B。
接着,在步骤S236,第二方B根据第二混淆梯度G`B和第二混淆元素,恢复得到第二梯度GB
恢复的过程与生成第二加密混淆梯度时相对应。例如,在使用第二掩码向量M2作为第二混淆元素时,可以从上述第二混淆梯度G`B中减去该第二掩码向量M2,即恢复得到第二梯度GB,即:
GB=G`B-M2
至此,第二方B得到了更新参数所需的第二梯度GB。于是,在步骤S237,第二方B根据上述第二梯度GB,更新第二参数部分WB。具体的,更新方式可以表达为:
WB ← WB-α*GB
通过以上步骤S231-S237,第二方B计算得到第二梯度GB,并据此更新了第二参数部分WB
需要理解的是,以上更新第一参数部分的过程S221-S227,与更新第二参数部分的过程S231-S237,可以以任意合理的相对顺序执行,例如,先后执行,并行执行,交错执行,等等,而不限于图2中为了清楚而示例性示出的顺序。这两部分过程的相对执行顺序并不影响其实现效果。
如此,在图2的示意性过程中,第一方A和第二方B共同完成了一次模型迭代更新,各自更新了其模型参数。双方可以按照同样的方式,进行多次模型迭代,直到达到迭代停止条件,例如达到了预设迭代次数,或达到了预定收敛条件,此时,模型训练完成,双方各自得到训练好的业务预测模型的一部分参数。
回顾整个过程可以看到,在训练迭代过程中,双方不进行特征数据或模型参数数据的明文交换,而是利用中立的第三方的公钥进行同态加密和同态操作;其梯度的计算和传递,通过混淆元素的方式进行保护,使得第三方也无法获得各方的隐私数据。如此,确保了联合训练过程中隐私数据的安全性。
以上实施例中具体描述了,线性回归模型和逻辑回归模型的联合训练。实际上,以上训练方式也适用于通过神经网络实现的业务预测模型。对于典型的前馈全连接神经网络而言,每个神经元与其前一层的各个神经元以不同的权重相连接。于是,前一层各个神经元的输出可以视为特征数据,特征数据分布于双方之中;连接权重可以视为模型参数部分,用于以线性组合的方式,处理对应的特征数据。从而,可以将前述训练过程应用于神经网络中每个神经元的参数训练,实现神经网络模型的双方联合安全训练。
总体而言,对于各种以特征数据与模型参数之间的线性组合为基础的业务预测模型,都可以采用以上描述的训练方式。在该训练方式中,借助于中立的第三方,通过同态加密的方式交换数据,确保了隐私数据不会被泄露,保证了数据安全。
根据另一方面的实施例,提供了一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,该装置可以部署在其中的第二方中。其中,第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA,并维护对应的第一参数部分WA;第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y,并维护对应的第二参数部分WB。第二方可以实现为任何具有计算、处理能力的设备、平台或设备集群。图3示出根据一个实施例的部署在第二方中的联合训练装置的示意性框图。如图3所示,该装置300包括:
第二乘积计算单元310,配置为本地计算第二特征矩阵XB与第二参数部分WB的第二乘积结果;
第一乘积接收单元320,配置为配置为从所述第一方接收第一加密乘积,该第一加密乘积为,使用中立的第三方的公钥和同态加密算法,对第一特征矩阵XA与第一参数部分WA的第一乘积结果加密得到的;
加密误差计算单元330,配置为基于对所述第一加密乘积,第二乘积结果,以及所述标签向量进行同态运算,得到加密误差向量E;
第二梯度计算单元340,配置为对该加密误差向量E和第二特征矩阵XB进行同态操作下的矩阵相乘,得到对第二梯度加密的第二加密梯度;
第二混淆单元350,配置为在所述第二加密梯度基础上同态添加第二混淆元素,生成第二加密混淆梯度,并将其发送给所述第三方;
第二接收单元360,配置为从所述第三方接收针对第二加密混淆梯度解密的第二混淆梯度;
第二梯度恢复单元370,配置为根据所述第二混淆梯度和第二混淆元素,恢复得到第二梯度;
第二参数更新单元380,配置为根据所述第二梯度,更新所述第二参数部分。
在不同实施例中,上述业务对象可以是,用户,商户,商品,事件,等等。业务预测模型可以用于预测所述业务对象的分类或回归值。
在一个实施例中,业务预测模型为线性回归模型;在这样的情况下,所述加密误差计算单元330具体配置为:基于所述第一加密乘积和所述第二乘积结果的同态加和操作,得到加密预测结果;计算该加密预测结果和所述标签向量Y的加密值的同态差值,作为所述加密误差向量E。
在另一实施例中,业务预测模型为逻辑回归模型;此时,所述加密误差计算单元330具体配置为:根据sigmoid函数的泰勒展开形式,基于所述第一加密乘积和所述第二乘积结果的同态运算得到加密预测结果,对该加密预测结果和所述标签向量Y的加密值进行同态差值运算,得到所述加密误差向量E。
进一步的,在一个例子中,泰勒展开采用多阶展开形式。在这样的情况下,所述第二乘积结果包括,第二特征矩阵XB与第二参数部分WB的多阶第二乘积;所述第一乘积结果包括,第一特征矩阵XA与第一参数部分WA的多阶第一乘积;并且,所述加密误差计算单元330具体配置为:根据sigmoid函数的多阶泰勒展开形式,基于所述多阶第一乘积和所述多阶第二乘积之间的同态加和操作和同态相乘操作,得到加密预测结果。
根据一个实施例,混淆梯度生成单元350配置为,随机生成与所述第二加密梯度维度相同的第二掩码向量,并使用所述第三方的公钥和所述同态加密算法将其加密,得到第二加密掩码向量;在所述第二加密梯度上同态添加所述第二加密掩码向量,得到所述第二加密混淆梯度;
相应的,梯度恢复单元370配置为,从所述第二混淆梯度中减去所述第二掩码向量,得到第二梯度。
根据一种实施方式,装置300还包括(未示出):
加密误差发送单元,配置为将所述加密误差向量E发送给所述第一方。
根据又一方面的实施例,提供了一种双方联合训练业务预测模型的装置,该装置可以部署在前述的第一方中,该第一方可以实现为任何具有计算、处理能力的设备、平台或设备集群。如前所述,第一方中存储有多个业务对象的第一特征部分构成的第一特征矩阵XA,并维护对应的第一参数部分WA;第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,以及标签值构成的标签向量Y,并维护对应的第二参数部分WB。图4示出根据一个实施例的部署在第一方中的联合训练装置的示意性框图。如图4所示,该装置400包括:
第一乘积计算单元410,配置为本地计算第一特征矩阵XA与第一参数部分WA的第一乘积结果;
第一乘积加密单元420,配置为使用中立的第三方的公钥和同态加密算法,对所述第一乘积结果进行加密,得到第一加密乘积,将该第一加密乘积发送给第二方;
加密误差接收单元430,配置为从所述第二方接收加密误差向量E,所述加密误差向量E基于所述第一加密乘积,第二方本地计算的第二特征矩阵XB与第二参数部分WB的第二乘积结果,以及所述标签向量的同态运算而得到;
第一梯度计算单元440,配置为对该加密误差向量E和第一特征矩阵XA进行同态操作下的矩阵相乘,得到对第一梯度加密的第一加密梯度;
第一混淆单元450,配置为在所述第一加密梯度基础上同态添加第一混淆元素,生成第一加密混淆梯度,并将其发送给所述第三方;
第一接收单元460,配置为从所述第三方接收针对第一加密混淆梯度解密的第一混淆梯度;
第一梯度恢复单元470,配置为根据所述第一混淆梯度和第一混淆元素,恢复得到第一梯度;
第一参数更新单元480,配置为根据所述第一梯度,更新所述第一参数部分。
在一个实施例中,所述业务预测模型为逻辑回归模型;相应的,第一乘积计算单元410配置为,本地计算第一特征矩阵XA与第一参数部分WA的多阶第一乘积。
根据一种实施方式,所述第一混淆单元450配置为,随机生成与所述第一加密梯度维度相同的第一掩码向量,并使用所述第三方的公钥和所述同态加密算法将其加密,得到第一加密掩码向量;在所述第一加密梯度上同态添加所述第一加密掩码向量,得到所述第一加密混淆梯度;
所述第一梯度恢复单元470配置为,从所述第一混淆梯度中减去所述第一掩码向量,得到第一梯度。
通过以上部署在第一方和第二方中的装置,双方借助于第三方实现保护数据隐私的安全联合训练。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (24)

1.一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA,并维护对应的第一参数部分WA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,和标签值构成的标签向量Y,并维护对应的第二参数部分WB;所述方法应用于所述第二方,包括:
本地计算第二特征矩阵XB与第二参数部分WB的第二乘积结果;
从所述第一方接收第一加密乘积,该第一加密乘积为,使用中立的第三方的公钥和同态加密算法,对第一特征矩阵XA与第一参数部分WA的第一乘积结果加密得到的;
基于对所述第一加密乘积,第二乘积结果,以及所述标签向量进行同态运算,得到加密误差向量E;
对该加密误差向量E和第二特征矩阵XB进行同态操作下的矩阵相乘,得到对第二梯度加密的第二加密梯度;
在所述第二加密梯度基础上同态添加第二混淆元素,生成第二加密混淆梯度,并将其发送给所述第三方;
从所述第三方接收针对第二加密混淆梯度解密的第二混淆梯度;
根据所述第二混淆梯度和第二混淆元素,恢复得到第二梯度;
根据所述第二梯度,更新所述第二参数部分。
2.根据权利要求1所述的方法,其中,所述业务对象包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。
3.根据权利要求1所述的方法,其中,所述业务预测模型为线性回归模型;
所述得到加密误差向量E,包括:
基于所述第一加密乘积和所述第二乘积结果的同态加和操作,得到加密预测结果;计算该加密预测结果和所述标签向量Y的加密值的同态差值,作为所述加密误差向量E。
4.根据权利要求1所述的方法,其中,所述业务预测模型为逻辑回归模型;
所述得到加密误差向量E,包括:
根据sigmoid函数的泰勒展开形式,基于所述第一加密乘积和所述第二乘积结果的同态运算得到加密预测结果,对该加密预测结果和所述标签向量Y的加密值进行同态差值运算,得到所述加密误差向量E。
5.根据权利要求4所述的方法,其中,所述第二乘积结果包括,第二特征矩阵XB与第二参数部分WB的多阶第二乘积;所述第一乘积结果包括,第一特征矩阵XA与第一参数部分WA的多阶第一乘积;
根据sigmoid函数的泰勒展开形式,基于所述第一加密乘积和所述第二乘积结果的同态运算得到加密预测结果,包括:
根据sigmoid函数的多阶泰勒展开形式,基于所述多阶第一乘积和所述多阶第二乘积之间的同态加和操作和同态相乘操作,得到加密预测结果。
6.根据权利要求1所述的方法,其中,在所述第二加密梯度基础上同态添加第二混淆元素,生成第二加密混淆梯度,包括:
随机生成与所述第二加密梯度维度相同的第二掩码向量,并使用所述第三方的公钥和所述同态加密算法将其加密,得到第二加密掩码向量;
在所述第二加密梯度上同态添加所述第二加密掩码向量,得到所述第二加密混淆梯度;
所述根据所述第二混淆梯度和所述第二混淆元素,恢复得到第二梯度,包括:
从所述第二混淆梯度中减去所述第二掩码向量,得到第二梯度。
7.根据权利要求1所述的方法,还包括:
将所述加密误差向量E发给给所述第一方。
8.一种保护数据隐私的双方联合训练业务预测模型的方法,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA,并维护对应的第一参数部分WA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,和标签值构成的标签向量Y,并维护对应的第二参数部分WB;所述方法应用于所述第一方,包括:
本地计算第一特征矩阵XA与第一参数部分WA的第一乘积结果;
使用中立的第三方的公钥和同态加密算法,对所述第一乘积结果进行加密,得到第一加密乘积,将该第一加密乘积发送给第二方;
从所述第二方接收加密误差向量E,所述加密误差向量E基于所述第一加密乘积,第二方本地计算的第二特征矩阵XB与第二参数部分WB的第二乘积结果,以及所述标签向量的同态运算而得到;
对该加密误差向量E和第一特征矩阵XA进行同态操作下的矩阵相乘,得到对第一梯度加密的第一加密梯度;
在所述第一加密梯度基础上同态添加第一混淆元素,生成第一加密混淆梯度,并将其发送给所述第三方;
从所述第三方接收针对第一加密混淆梯度解密的第一混淆梯度;
根据所述第一混淆梯度和第一混淆元素,恢复得到第一梯度;
根据所述第一梯度,更新所述第一参数部分。
9.根据权利要求8所述的方法,其中,所述业务对象包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。
10.根据权利要求8所述的方法,其中,所述业务预测模型为逻辑回归模型,所述第一乘积结果包括,第一特征矩阵XA与第一参数部分WA的多阶第一乘积。
11.根据权利要求8所述的方法,在所述第一加密梯度基础上同态添加第一混淆元素,生成第一加密混淆梯度,包括:
随机生成与所述第一加密梯度维度相同的第一掩码向量,并使用所述第三方的公钥和所述同态加密算法将其加密,得到第一加密掩码向量;
在所述第一加密梯度上同态添加所述第一加密掩码向量,得到所述第一加密混淆梯度;
所述根据所述第一混淆梯度和所述第一混淆元素,恢复得到第一梯度,包括:
从所述第一混淆梯度中减去所述第一掩码向量,得到第一梯度。
12.一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA,并维护对应的第一参数部分WA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,和标签值构成的标签向量Y,并维护对应的第二参数部分WB;所述装置部署于所述第二方,包括:
第二乘积计算单元,配置为本地计算第二特征矩阵XB与第二参数部分WB的第二乘积结果;
第一乘积接收单元,配置为从所述第一方接收第一加密乘积,该第一加密乘积为,使用中立的第三方的公钥和同态加密算法,对第一特征矩阵XA与第一参数部分WA的第一乘积结果加密得到的;
加密误差计算单元,配置为基于对所述第一加密乘积,第二乘积结果,以及所述标签向量进行同态运算,得到加密误差向量E;
第二梯度计算单元,配置为对该加密误差向量E和第二特征矩阵XB进行同态操作下的矩阵相乘,得到对第二梯度加密的第二加密梯度;
第二混淆单元,配置为在所述第二加密梯度基础上同态添加第二混淆元素,生成第二加密混淆梯度,并将其发送给所述第三方;
第二接收单元,配置为从所述第三方接收针对第二加密混淆梯度解密的第二混淆梯度;
第二梯度恢复单元,配置为根据所述第二混淆梯度和第二混淆元素,恢复得到第二梯度;
第二参数更新单元,配置为根据所述第二梯度,更新所述第二参数部分。
13.根据权利要求12所述的装置,其中,所述业务对象包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。
14.根据权利要求12所述的装置,其中,所述业务预测模型为线性回归模型;
所述加密误差计算单元具体配置为:
基于所述第一加密乘积和所述第二乘积结果的同态加和操作,得到加密预测结果;计算该加密预测结果和所述标签向量Y的加密值的同态差值,作为所述加密误差向量E。
15.根据权利要求12所述的装置,其中,所述业务预测模型为逻辑回归模型;
所述加密误差计算单元具体配置为:
根据sigmoid函数的泰勒展开形式,基于所述第一加密乘积和所述第二乘积结果的同态运算得到加密预测结果,对该加密预测结果和所述标签向量Y的加密值进行同态差值运算,得到所述加密误差向量E。
16.根据权利要求15所述的装置,其中,所述第二乘积结果包括,第二特征矩阵XB与第二参数部分WB的多阶第二乘积;所述第一乘积结果包括,第一特征矩阵XA与第一参数部分WA的多阶第一乘积;
所述加密误差计算单元具体配置为:
根据sigmoid函数的多阶泰勒展开形式,基于所述多阶第一乘积和所述多阶第二乘积之间的同态加和操作和同态相乘操作,得到加密预测结果。
17.根据权利要求12所述的装置,其中,
所述第二混淆单元配置为,随机生成与所述第二加密梯度维度相同的第二掩码向量,并使用所述第三方的公钥和所述同态加密算法将其加密,得到第二加密掩码向量;在所述第二加密梯度上同态添加所述第二加密掩码向量,得到所述第二加密混淆梯度;
所述第二梯度恢复单元配置为,从所述第二混淆梯度中减去所述第二掩码向量,得到第二梯度。
18.根据权利要求12所述的装置,还包括:
加密误差发送单元,配置为将所述加密误差向量E发送给所述第一方。
19.一种保护数据隐私的双方联合训练业务预测模型的装置,所述双方包括第一方和第二方,所述第一方存储有多个业务对象的第一特征部分构成的第一特征矩阵XA,并维护对应的第一参数部分WA;所述第二方存储有所述多个业务对象的第二特征部分构成的第二特征矩阵XB,和标签值构成的标签向量Y,并维护对应的第二参数部分WB;所述装置部署于所述第一方,包括:
第一乘积计算单元,配置为本地计算第一特征矩阵XA与第一参数部分WA的第一乘积结果;
第一乘积加密单元,配置为使用中立的第三方的公钥和同态加密算法,对所述第一乘积结果进行加密,得到第一加密乘积,将该第一加密乘积发送给第二方;
加密误差接收单元,配置为从所述第二方接收加密误差向量E,所述加密误差向量E基于所述第一加密乘积,第二方本地计算的第二特征矩阵XB与第二参数部分WB的第二乘积结果,以及所述标签向量的同态运算而得到;
第一梯度计算单元,配置为对该加密误差向量E和第一特征矩阵XA进行同态操作下的矩阵相乘,得到对第一梯度加密的第一加密梯度;
第一混淆单元,配置为在所述第一加密梯度基础上同态添加第一混淆元素,生成第一加密混淆梯度,并将其发送给所述第三方;
第一接收单元,配置为从所述第三方接收针对第一加密混淆梯度解密的第一混淆梯度;
第一梯度恢复单元,配置为根据所述第一混淆梯度和第一混淆元素,恢复得到第一梯度;
第一参数更新单元,配置为根据所述第一梯度,更新所述第一参数部分。
20.根据权利要求19所述的装置,其中,所述业务对象包括以下之一:用户,商户,商品,事件;所述业务预测模型用于预测所述业务对象的分类或回归值。
21.根据权利要求19所述的装置,其中,所述业务预测模型为逻辑回归模型,所述第一乘积计算单元配置为,本地计算第一特征矩阵XA与第一参数部分WA的多阶第一乘积。
22.根据权利要求19所述的装置,其中,
所述第一混淆单元配置为,随机生成与所述第一加密梯度维度相同的第一掩码向量,并使用所述第三方的公钥和所述同态加密算法将其加密,得到第一加密掩码向量;在所述第一加密梯度上同态添加所述第一加密掩码向量,得到所述第一加密混淆梯度;
所述第一梯度恢复单元配置为,从所述第一混淆梯度中减去所述第一掩码向量,得到第一梯度。
23.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-11中任一项的所述的方法。
24.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-11中任一项所述的方法。
CN202010276682.4A 2020-04-10 2020-04-10 保护数据隐私的双方联合训练业务预测模型的方法和装置 Active CN111177791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010276682.4A CN111177791B (zh) 2020-04-10 2020-04-10 保护数据隐私的双方联合训练业务预测模型的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010276682.4A CN111177791B (zh) 2020-04-10 2020-04-10 保护数据隐私的双方联合训练业务预测模型的方法和装置

Publications (2)

Publication Number Publication Date
CN111177791A true CN111177791A (zh) 2020-05-19
CN111177791B CN111177791B (zh) 2020-07-17

Family

ID=70656757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010276682.4A Active CN111177791B (zh) 2020-04-10 2020-04-10 保护数据隐私的双方联合训练业务预测模型的方法和装置

Country Status (1)

Country Link
CN (1) CN111177791B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723404A (zh) * 2020-08-21 2020-09-29 支付宝(杭州)信息技术有限公司 联合训练业务模型的方法及装置
CN111737755A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 业务模型的联合训练方法及装置
CN111800411A (zh) * 2020-07-02 2020-10-20 支付宝(杭州)信息技术有限公司 保护隐私的业务预测模型联合更新方法及装置
CN111931870A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 基于模型复用的模型预测方法、模型预测装置及系统
CN112084520A (zh) * 2020-09-18 2020-12-15 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法及装置
CN112131581A (zh) * 2020-08-19 2020-12-25 成都飞机工业(集团)有限责任公司 一种单密钥加密解密的3d打印多数据库共享优化算法
CN112149157A (zh) * 2020-08-19 2020-12-29 成都飞机工业(集团)有限责任公司 一种基于公私密钥进行数据保密的3d打印数据库共享方法
CN113807536A (zh) * 2021-04-01 2021-12-17 京东科技控股股份有限公司 一种数据处理方法、装置及电子设备
CN113849567A (zh) * 2021-09-27 2021-12-28 浙江数秦科技有限公司 一种基于数据融合的债权纠纷预警系统
CN114092140A (zh) * 2021-11-16 2022-02-25 北京字节跳动网络技术有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN114742233A (zh) * 2022-04-02 2022-07-12 支付宝(杭州)信息技术有限公司 联合训练逻辑回归模型的方法及装置
CN115238827A (zh) * 2022-09-16 2022-10-25 支付宝(杭州)信息技术有限公司 保护隐私的样本检测系统训练方法及装置
CN115270192A (zh) * 2022-09-26 2022-11-01 广州优刻谷科技有限公司 样本标签隐私风险评估方法、系统及存储介质
CN116383865A (zh) * 2022-12-30 2023-07-04 上海零数众合信息科技有限公司 联邦学习预测阶段隐私保护方法及系统
CN117411652A (zh) * 2022-07-08 2024-01-16 抖音视界有限公司 数据处理方法、电子设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165515A (zh) * 2018-08-10 2019-01-08 深圳前海微众银行股份有限公司 基于联邦学习的模型参数获取方法、系统及可读存储介质
CN110084063A (zh) * 2019-04-23 2019-08-02 中国科学技术大学 一种保护隐私数据的梯度下降计算方法
CN110443063A (zh) * 2019-06-26 2019-11-12 电子科技大学 自适性保护隐私的联邦深度学习的方法
CN110516464A (zh) * 2019-09-02 2019-11-29 深圳市网心科技有限公司 基于神经网络计算的数据保护方法及相关设备
CN110704860A (zh) * 2019-11-18 2020-01-17 深圳前海微众银行股份有限公司 提升安全性的纵向联邦学习方法、设备、系统及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165515A (zh) * 2018-08-10 2019-01-08 深圳前海微众银行股份有限公司 基于联邦学习的模型参数获取方法、系统及可读存储介质
CN110084063A (zh) * 2019-04-23 2019-08-02 中国科学技术大学 一种保护隐私数据的梯度下降计算方法
CN110443063A (zh) * 2019-06-26 2019-11-12 电子科技大学 自适性保护隐私的联邦深度学习的方法
CN110516464A (zh) * 2019-09-02 2019-11-29 深圳市网心科技有限公司 基于神经网络计算的数据保护方法及相关设备
CN110704860A (zh) * 2019-11-18 2020-01-17 深圳前海微众银行股份有限公司 提升安全性的纵向联邦学习方法、设备、系统及存储介质

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800411A (zh) * 2020-07-02 2020-10-20 支付宝(杭州)信息技术有限公司 保护隐私的业务预测模型联合更新方法及装置
CN111737755A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 业务模型的联合训练方法及装置
CN112131581A (zh) * 2020-08-19 2020-12-25 成都飞机工业(集团)有限责任公司 一种单密钥加密解密的3d打印多数据库共享优化算法
CN112149157A (zh) * 2020-08-19 2020-12-29 成都飞机工业(集团)有限责任公司 一种基于公私密钥进行数据保密的3d打印数据库共享方法
CN111723404B (zh) * 2020-08-21 2021-01-22 支付宝(杭州)信息技术有限公司 联合训练业务模型的方法及装置
CN111723404A (zh) * 2020-08-21 2020-09-29 支付宝(杭州)信息技术有限公司 联合训练业务模型的方法及装置
CN112084520A (zh) * 2020-09-18 2020-12-15 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法及装置
CN111931870B (zh) * 2020-09-25 2024-02-20 支付宝(杭州)信息技术有限公司 基于模型复用的模型预测方法、模型预测装置及系统
CN111931870A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 基于模型复用的模型预测方法、模型预测装置及系统
CN113807536A (zh) * 2021-04-01 2021-12-17 京东科技控股股份有限公司 一种数据处理方法、装置及电子设备
CN113849567A (zh) * 2021-09-27 2021-12-28 浙江数秦科技有限公司 一种基于数据融合的债权纠纷预警系统
CN113849567B (zh) * 2021-09-27 2024-05-21 浙江数秦科技有限公司 一种基于数据融合的债权纠纷预警系统
CN114092140A (zh) * 2021-11-16 2022-02-25 北京字节跳动网络技术有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN114092140B (zh) * 2021-11-16 2023-06-27 抖音视界有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN114742233A (zh) * 2022-04-02 2022-07-12 支付宝(杭州)信息技术有限公司 联合训练逻辑回归模型的方法及装置
CN117411652A (zh) * 2022-07-08 2024-01-16 抖音视界有限公司 数据处理方法、电子设备及计算机可读存储介质
CN115238827B (zh) * 2022-09-16 2022-11-25 支付宝(杭州)信息技术有限公司 保护隐私的样本检测系统训练方法及装置
CN115238827A (zh) * 2022-09-16 2022-10-25 支付宝(杭州)信息技术有限公司 保护隐私的样本检测系统训练方法及装置
CN115270192A (zh) * 2022-09-26 2022-11-01 广州优刻谷科技有限公司 样本标签隐私风险评估方法、系统及存储介质
CN115270192B (zh) * 2022-09-26 2022-12-30 广州优刻谷科技有限公司 样本标签隐私风险评估方法、系统及存储介质
CN116383865A (zh) * 2022-12-30 2023-07-04 上海零数众合信息科技有限公司 联邦学习预测阶段隐私保护方法及系统
CN116383865B (zh) * 2022-12-30 2023-10-10 上海零数众合信息科技有限公司 联邦学习预测阶段隐私保护方法及系统

Also Published As

Publication number Publication date
CN111177791B (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN111177791B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111160573B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111241570B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111177768A (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN112989368B (zh) 多方联合进行隐私数据处理的方法及装置
CN111178549B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111162896B (zh) 双方联合进行数据处理的方法及装置
CN108712260B (zh) 云环境下保护隐私的多方深度学习计算代理方法
CN110912713B (zh) 多方联合进行模型数据处理的方法及装置
CN112541593B (zh) 基于隐私保护的联合训练业务模型的方法及装置
CN111400766B (zh) 针对隐私数据进行多方联合降维处理的方法及装置
CN113516256B (zh) 基于秘密共享、同态加密的无第三方联邦学习方法及系统
JP4849541B2 (ja) 個別情報を秘匿するクロス集計処理方法およびクロス集計装置、並びにプログラム
Abid et al. RETRACTED ARTICLE: An optimised homomorphic CRT-RSA algorithm for secure and efficient communication
CN110991655A (zh) 多方联合进行模型数据处理的方法及装置
WO2017099117A1 (ja) 事前計算装置、方法、およびコンピュータ読取可能な記録媒体、並びにベクトル乗算装置、および方法
CN110324135A (zh) 一种基于云计算的同态加密矩阵行列式安全外包方法
CN112084520B (zh) 保护数据隐私的双方联合训练业务预测模型的方法及装置
CN112507372B (zh) 实现隐私保护的多方协同更新模型的方法及装置
Zhang et al. SecureTrain: An approximation-free and computationally efficient framework for privacy-preserved neural network training
CN111859440A (zh) 基于混合协议的分布式隐私保护逻辑回归模型的样本分类方法
CN115952529A (zh) 一种用户数据处理方法、计算设备及存储介质
CN115186876A (zh) 保护数据隐私的两方联合训练业务预测模型的方法及装置
JP7146725B2 (ja) 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム
Shekhar Mondal et al. A RSA-based efficient dynamic secure algorithm for ensuring data security

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: 40029397

Country of ref document: HK