CN111723404B - 联合训练业务模型的方法及装置 - Google Patents
联合训练业务模型的方法及装置 Download PDFInfo
- Publication number
- CN111723404B CN111723404B CN202010849443.3A CN202010849443A CN111723404B CN 111723404 B CN111723404 B CN 111723404B CN 202010849443 A CN202010849443 A CN 202010849443A CN 111723404 B CN111723404 B CN 111723404B
- Authority
- CN
- China
- Prior art keywords
- party
- gradient
- disturbance
- current gradient
- sample data
- 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
- 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
Abstract
本说明书实施例提供一种联合训练业务模型的方法,在多方联合训练业务模型过程中,多个业务方包括至少2个计算方和一个协调方,计算方持有样本数据,一方面,在计算过程中,单个计算方可以先通过差分隐私方式处理样本数据,以保护数据隐私。另一方面,在计算方从协调方接收到模型参数的梯度数据后,还可以对梯度数据进行差分隐私处理,从而使得计算方使用的梯度数据与协调方下发的梯度数据不同,进一步保护计算方的数据隐私。这种处理方式可以有效保障计算方的数据安全。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及基于隐私保护,多个业务方联合训练业务模型的方法和装置。
背景技术
随着计算机技术的发展,机器学习的应用越来越广泛。为了提供更有效的机器学习模型,通常会涉及多个业务方共同训练业务模型的情形。例如,多个业务方联合提供包含更多特征数据的训练样本,或者多个业务方联合提供更多数量的训练样本,等等。多个业务方共同训练业务模型的情形往往可以通过多方安全计算来实现。亦即,各个业务方的隐私数据不透漏给其他方的情况下,确定一个约定的机器学习模型。
同态加密是多方安全计算中常用的一种安全计算方。同态加密方法中,在计算阶段的每一步依然是处理一个a+b或ab,并采用同态加密体制进行隐藏,即每个参与者得到的只是输入和输出的密文。由于经过输入阶段,可以假设通过加密算法E,每个参与者已经得到输入的密文E(a)和E(b),于是计算阶段的每一步就是使所有参与者最后得到E(a+b)或E(ab),然后作为下一步计算的输入计算。
在多方安全计算的多个业务方包括计算方和协调方的情况下,协调方可以为计算方进行一些辅助的复杂运算。此时,协调方下发的信息是明文的,计算方之间交换的数据是秘文的,但是协调方和计算方用同一套公私钥加密解密,解密私钥保存在协调方。很显然,如果攻击者同时控制了1个计算方与协调方,利用协调方的私钥解密计算方之间交换的中间计算结果,就可以推断出其他计算方的数据,如果计算方数量为2,就可以精确推断出另一个计算方的隐私数据。此外,如果攻击者仅控制协调方,利用协调方解密出来的梯度数据来训练推断攻击模型,则可以推断出计算方的隐私数据。
发明内容
本说明书一个或多个实施例描述了一种联合训练业务模型的方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供了一种联合训练业务模型的方法,联合训练业务模型的多个业务方包括持有样本数据并作为计算方的第一方和第二方,以及作为协调方的第三方;所述方法由第一方执行,包括:获取按照与第二方约定顺序对应一致的当前训练样本的样本数据,所述样本数据包括特征数据和/或标签数据;对所述样本数据添加扰动,形成差分隐私的扰动样本数据;基于所述扰动样本数据,通过同态加密方式,与第二方共同确定业务模型的模型参数的当前梯度,从而得到通过在所述同态加密方式下约定的公钥加密的当前梯度的第一密文分量;将所述当前梯度的第一密文分量发送至第三方,以供第三方根据所述当前梯度的第一密文分量,以及从第二方获取的所述当前梯度的第二密文分量,利用在所述同态加密方式下约定的私钥解密并得到明文当前梯度;接收第三方反馈的明文当前梯度,并对所述明文当前梯度添加扰动,得到扰动梯度;利用扰动梯度更新本地的模型参数。
在一个实施例中,所述业务模型为逻辑回归模型。
在一个实施例中,所述样本数据通过向量或矩阵形式表示,所述对所述样本数据添加扰动,形成差分隐私的扰动样本数据包括:基于预设的隐私保护预算生成满足高斯分布或拉普拉斯分布的扰动向量或扰动矩阵;将所述扰动向量或扰动矩阵与所述样本数据叠加,得到扰动样本数据。
在一个实施例中,在所述样本数据包括独热表示的字符向量的情况下,所述对所述样本数据添加扰动,形成差分隐私的扰动样本数据包括:利用差分隐私的指数形式对所述样本数据添加扰动。
在一个实施例中,所述当前梯度为各个元素分别对应于多个模型参数的梯度向量或梯度矩阵,所述对明文当前梯度添加扰动,得到扰动梯度包括:通过预先设定的隐私保护预算,生成符合高斯分布或拉普拉斯分布的扰动向量或扰动矩阵;将所生成的扰动向量或扰动矩阵与所述梯度向量或梯度矩阵叠加,得到扰动梯度。
在一个实施例中,所述利用扰动梯度更新本地的模型参数包括:将本地的模型参数更新为,当前模型参数与以下项的差:学习率与扰动梯度的乘积。
根据第二方面,提供一种联合训练业务模型的方法,联合训练业务模型的多个业务方包括持有样本数据并作为计算方的第一方和第二方,以及作为协调方的第三方;所述方法由第三方执行,包括:从第一方、第二方分别接收业务模型的当前梯度的第一密文分量和当前梯度的第二密文分量,其中,所述当前梯度的第一密文分量和当前梯度的第二密文分量由第一方和第二方基于扰动样本数据,通过同态加密方式确定,并通过在所述同态加密方式下约定的公钥进行加密;利用所述同态加密方式下约定的私钥解密所述当前梯度的第一密文分量和所述当前梯度的第二密文分量,从而确定明文当前梯度;将所述明文当前梯度分别发送给第一方和第二方。
在一个实施例中,所述方法由第三方通过可信执行环境执行。
在一个实施例中,所述明文当前梯度为,通过私钥解密的当前梯度的第一密文分量与第二密文分量之和。
根据第三方面,提供一种用于联合训练业务模型的装置,联合训练业务模型的多个业务方包括持有样本数据并作为计算方的第一方和第二方,以及作为协调方的第三方,所述装置设于第一方,包括:
获取单元,配置为获取按照与第二方约定顺序对应一致的当前训练样本的样本数据,所述样本数据包括特征数据和/或标签数据;
第一扰动单元,配置为对所述样本数据添加扰动,形成差分隐私的扰动样本数据;
计算单元,配置为基于所述扰动样本数据,通过同态加密方式,与第二方共同确定业务模型的模型参数的当前梯度,从而得到通过在所述同态加密方式下约定的公钥加密的当前梯度的第一密文分量;
通信单元,配置为将所述当前梯度的第一密文分量发送至第三方,以供第三方根据所述当前梯度的第一密文分量,以及从第二方获取的所述当前梯度的第二密文分量,利用在所述同态加密方式下约定的私钥解密并得到明文当前梯度;
所述通信单元还配置为,接收第三方反馈的明文当前梯度;
第二扰动单元,配置为对所述明文当前梯度添加扰动,得到扰动梯度;
更新单元,配置为利用扰动梯度更新本地的模型参数。
根据第四方面,提供一种用于联合训练业务模型的装置,联合训练业务模型的多个业务方包括持有样本数据并作为计算方的第一方和第二方,以及作为协调方的第三方,所述装置设于第三方,包括:
通信单元,配置为从第一方、第二方分别接收业务模型的当前梯度的第一密文分量和当前梯度的第二密文分量,其中,所述当前梯度的第一密文分量和当前梯度的第二密文分量由第一方和第二方基于扰动样本数据,通过同态加密方式确定,并通过在所述同态加密方式下约定的公钥进行加密;
确定单元,配置为利用所述同态加密方式下约定的私钥解密所述当前梯度的第一密文分量和所述当前梯度的第二密文分量,从而确定明文当前梯度;
所述通信单元还配置为,将所述明文当前梯度分别发送给第一方和第二方。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
通过本说明书实施例提供的方法和装置,在多方联合训练业务模型过程中,多个业务方包括至少2个计算方和一个协调方,计算方持有样本数据,一方面,在计算过程中,单个计算方可以先通过差分隐私方式处理样本数据,以保护数据隐私。另一方面,在计算方从协调方接收到模型参数的梯度数据后,还可以对梯度数据进行差分隐私处理,从而使得计算方使用的梯度数据与协调方下发的梯度数据不同,进一步保护计算方的数据隐私。这种处理方式可以避免协调方被攻击,或者协调方和部分计算方被控制的共谋攻击,导致的计算方隐私数据泄露,从而保障计算方的数据安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书中联合训练业务模型的实施架构示意图;
图2示出本说明书联合训练业务模型中各个业务方执行操作的时序图;
图3示出根据一个实施例的用于联合训练业务模型的装置的示意性框图;
图4示出根据又一个实施例的用于联合训练业务模型的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
首先,结合图1示出一个具体实施场景进行说明。如图1所示,是由多个业务方共同训练业务模型的实施场景。其中的多个业务方包括两个计算方—第一方和第二方,以及一个协调方—第三方。其中,各个业务方可以通过具有一定计算能力的各种计算机、智能手机、平板电脑等进行交互。
第一业务方和第二业务方分别持有一部分样本数据。例如第一方持有特征数据,第二方持有标签数据(也可以持有部分特征数据),或者第一方持有n条训练样本,第二方持有m条训练样本等。业务模型例如是逻辑回归、决策树、深层神经网络等中的一个或其组合。在业务模型训练过程中,通常涉及模型参数的梯度计算,例如逻辑回归算法里面包含的几种常见优化算法,梯度下降法、牛顿法、拟牛顿法等等中都涉及梯度计算,如梯度下降法中的w=w-I·dw,其中w表示模型参数,I表示步长或学习率,dw表示模型参数的梯度,牛顿法中的w=w-H-1·dw,其中,H-1表示损失函数对模型参数的二阶导数构成的海森矩阵,dw表示模型参数的梯度,等等。
图1示出的实施场景的架构下,采用同态加密方式确定模型参数的梯度。第一方和第二方分别通过公钥加密数据,解密私钥由作为协调方的第三方保存。例如,由第三方生成公钥和私钥对,并将公钥广播给第一方和第二方。这样,第一方和第二方由于均不知晓私钥,从而可以保护相互的数据隐私。
具体计算时,第一方和第二方根据各自持有的部分样本数据,可以采用同态加密方式分别得到两个密文梯度分量(dw)1和(dw)2。密文梯度分量(dw)1和(dw)2均可以由同态加密方式约定的公钥进行加密。然后,第一方和第二方分别将各自持有的密文梯度分量发送至第三方。第三方利用本地保存的私钥分别解密第一方和第二方的密文梯度分量,并计算明文梯度。然后,第三方可以将明文梯度分别发送给第一方和第二方。第一方和第二方根据明文梯度更新本地的模型参数,并迭代以上过程,从而训练业务模型。
在以上过程中,协调方下发的梯度信息是明文的,计算方之间交换的数据是秘文的,但是用同一套公私钥加密解密,解密私钥保存在协调方。很显然,如果攻击者同时控制了1个计算方与协调方,那么就可以利用协调方的私钥解密计算方之间交换的中间计算结果,从而可以精确推断出另一个计算方的隐私数据。这种方式可以称为共谋攻击。此外,攻击者还可以仅控制协调方,利用协调方解密出来的梯度数据来训练推断攻击模型,从而由推断攻击模型推断出计算方的隐私数据。
也就是说,至少在协调方遭遇攻击时,存在计算方隐私数据泄露的风险。为了保护计算方的隐私数据,本说明书提供包含以下至少一项的技术构思:
(1)业务模型训练过程中,计算方对样本数据通过差分隐私处理,从而使用的样本数据和原始样本数据产生细微差别,让攻击者无法直接推断原始样本数据;
(2)计算方接收到协调方发送的明文梯度后,对梯度数据进行差分隐私混淆,让攻击者窃取到的梯度更新值与计算方使用的梯度更新值不一致,从而无法推断原始样本数据;
可选地,(3)协调方通过私钥解密过程通过可信执行环境TEE进行。
可以理解,差分隐私(differential privacy)是密码学中的一种手段,旨在提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别其记录的机会。设有随机算法M,PM为M所有可能的输出构成的集合。对于任意两个邻近数据集D和D'以及PM的任何子集SM,若随机算法M满足:Pr[M(D)∈SM]<=eε×Pr[M(D')∈SM],则称算法M提供ε-差分隐私保护,其中参数ε称为隐私保护预算,用于平衡隐私保护程度和准确度。ε通常可以预先设定。ε越接近0,eε越接近1,随机算法对两个邻近数据集D和D'的处理结果越接近,隐私保护程度越强。
通过差分隐私的处理,相当于利用接近于原数据集的扰动数据集代替原数据集进行数据处理,达到保护数据隐私的同时,确保计算结果的准确性。
值得说明的是,本说明书所涉及的样本数据或业务数据,可以是字符、图片、音频、视频、动画等至少一个类型的数据。其包含的具体内容可以根据业务场景确定,例如目标识别场景下,样本数据可以是图片(可以包括各个像素颜色特征),以及图片中的目标标注结果。图1中示出的协调方和计算方的数量仅为示例性的,实践中,至少计算方还可以是合理的任意数量。
下面详细描述本说明书技术构思下的联合训练业务模型的方法。
图2示出了根据本说明书一个实施例的联合训练业务模型的时序图。在图2中,联合训练业务模型的计算方为第一方和第二方,协调方(或服务端)为第三方。第一方和第二方分别持有部分样本数据。第一方、第二方、第三方分别可以通过任意具有一定计算能力的计算机、设备或服务器等实现时序图示出的相关步骤。
首先,在步骤201,第一方和第二方分别从本地获取按顺序对应一致的当前训练样本的样本数据。可以理解,第一方和第二方可以分别在本地存储有一部分样本数据,并各自获取本地的样本数据。
第一方和第二方可以联合持有同一批训练样本的不同特征数据、标签数据或一方持有特征数据一方持有标签数据(垂直切分情形),也可以分别持有不同的训练样本(水平切分),在此不做限定。其中,在垂直切分情形下,第一方和第二方可以按照预先约定的样本排列方式排列样本数据,以确保各个训练样本按顺序依次对应一致。例如,第一方和第二方约定按照训练样本唯一对应的样本标识(如身份证号)的大小顺序排列各个训练样本的相关样本数据。
在一个实施例中,训练样本为图片,训练样本对应的特征数据可以是与图片像素数一致的特征矩阵,此时,可以由一方持有特征数据,另一方持有标签数据。
在另一个实施例中,单条训练样本的特征数据可以为通过相应业务数据提取出的特征向量。在单次使用一条训练样本进行模型参数更新的情况下,当前样本数据可以对应一个m维的特征向量,以及一个样本标签或一个s维的标签向量,其中,m、s分别为大于1的正整数。值得说明的是,在不同业务模型下,s的含义可以不同,例如,在多分类业务模型中,s可以与分类类别数一致,在基于语义处理和输出的业务模型中,s可以是表示词向量的向量维数,等等。在单次使用n(n为大于1的正整数)条训练样本进行模型参数更新的情况下,当前样本数据可以对应一个n×m维特征向量,以及一个n维向量或一个n×s维标签矩阵。其中,n维向量的n个维度分别对应n条训练样本,或者,n×s维标签矩阵的n行标签向量分别对应n条训练样本。
在水平切分的情况下,第一方和第二方各自获取本地的训练数据,仅需特征(即业务模型的额输入)按顺序对应一致。
接着,在步骤202,第一方和第二方至少一方通过差分隐私方式对训练样本进行扰动,得到扰动的样本数据。其中,差分隐私可以通过拉普拉斯机制、高斯机制、指数机制等各种机制实现。
以高斯机制为例,假设第一方持有n×m1维特征矩阵X1,则第一方可以对特征矩阵X1生成n×m1维的扰动矩阵M1作为噪声,该扰动矩阵M1中的n×m1个元素符合高斯分布。扰动矩阵M1可以理解为采用加噪声的方式生成的扰动矩阵。作为一个具体示例中,高斯分布噪声的概率密度函数记为:
其中,为预定方差,为预定均值。当为x经过n×m1次随机取值时,生成符合N(,)的高斯分布的n×m1个噪声元素。各个噪声元素可以构成扰动矩阵M1。可以理解,高斯分布中的均值可以控制噪声元素的波动所参照的数值,方差可以控制噪声元素在均值附近波动的幅度大小。如均值为0,表示各个噪声元素在0附近波动,方差为1,表示各个噪声元素的平方和不超过1,从而保证噪声足够小,而不影响准确性。可选地高斯分布下的方差可以由预设的隐私保护预算(也可以称为隐私因子)ε确定,例如方差为ε的平方等。
在拉普拉斯机制下,噪声元素分布还可以符合拉普拉斯分布。拉普拉斯分布噪声的表达为:
其中,为拉普拉斯分布的均值,在作为噪声时,均值可以取0,以确保噪声元素在0附近波动。将拉普拉斯噪声的隐私因子ε、敏感度1代入,则为取1/ε时的拉普拉斯分布。其中隐私因子ε也称为隐私保护预算,用于平衡隐私保护程度和准确度。ε通常可以预先设定(如0.1)。使用预先选定的随机算法为生成n×m1个随机值,在取该n×m1个随机值时,拉普拉斯函数的n×m1个取值可以构成扰动矩阵M1。
指数机制ε-差分隐私中,对于给定的隐私代价ε(预设的值,例如0.1),给定数据集D及可用性函数q(D,r),其中D为给定数据集,r为任意合理输出。A表示添加的噪声,当且仅当下述表达式成立时,隐私保护机制A(D,q)满足ε-差分隐私:
其中,表示正比于,可用性函数q可以表示噪声范围。Δq可以为敏感因子,用于表示单一数据(例如单个训练样本)的改变导致的可用性函数的最大改变值。通常,在通过onehot编码转换的词汇的特征,各个维度只有0和1两种取值的情况下,可以使用指数机制进行扰动。由于各个维度都取0到1两者之一的值,因此,单一数据改变时,q的最大改变为1,也就是说Δq取1。在此不再赘述。经过指数机制的差分隐私,onehot编码中,对应值为1的维度数量发生改变,由于控制在隐私代价内,对结果准确度的影响也在可控范围内。
根据以上描述可知,根据实际业务情形,通过差分隐私的任意合理机制,第一方可以对样本数据添加噪声进行扰动,扰动结果例如为X1'=X1+M1。同理,第二方可以对其持有的样本数据进行扰动,例如对特征矩阵X2通过扰动矩阵M2进行扰动。根据具体业务场景,对于标签向量或标签矩阵Y,可以通过扰动向量或扰动矩阵进行扰动,也可以不进行扰动。作为示例,对于样本标签通过语义向量、各个分类类别上的分类概率等描述的样本标签,可以添加噪声进行扰动,而对于通过单个数值描述的样本标签,如二分类业务模型中0表示第一类别标签,1表示第二类别标签,扰动结果可能无意义或影响准确度,则不适合进行扰动。
通过对样本数据的扰动,可以对样本数据进行隐私保护。
接着,在步骤203中,第一方和第二方利用扰动的样本数据,通过同态加密的方式,计算模型参数的当前梯度。其中,第一方可以得到梯度的第一密文分量,第二方可以得到梯度的第二密文分量。
假设R、S是域,则对于加密函数 E:R→S:如果存在有效算法⊕,E(x+y)=E(x)⊕E(y)或者 x+y=D(E(x)⊕E(y))成立,则加密函数E满足加法同态,并且不泄漏 x 和 y;如果存在有效算法,使得E(x×y)=E(x) E(y)或者 xy=D(E(x) E(y))成立,则加密函数E满足乘法同态,并且不泄漏 x 和 y;如果存在有效算法,使得E(x×y)=E(x) y 或者 xy=D(E(x)y)成立,并且不泄漏 x,则加密函数E满足混合乘法同态;等等。
在业务模型训练过程中,通常需要将特征数据与模型参数进行融合(混合计算),得到业务模型输出结果,例如y=sigmoid(Xw),其中w表示模型参数。然后将业务模型的输出结果与样本标签(如Y)进行比较,以确定当前损失,例如L=|y-Y|,模型参数的梯度可以为损失函数对模型参数的偏导数。在一次使用多个训练样本的情况下,特征数据为特征矩阵X,模型参数为参数矩阵w,样本标签为标签向量或标签矩阵Y,则模型参数的梯度例如可以记为:dw=XT(y-Y)。其中,XT表示特征矩阵X的转置矩阵。
第一方和第二方利用同态加密方式确定模型参数的梯度时,可以根据各自持有的数据对所用到的各个数值或矩阵进行拆分,并按照同态加密原理进行。例如,假设第一方持有特征数据X1,第二方持有特征数据X2和标签数据Y,w分别由第一方和第二方持有,第一方可以利用公钥对X1进行同态加密生成特征数据的第一密文,第二方可以利用公钥对特征数据X2进行同态加密生成特征数据的第二密文,然后,利用在第一方和第二方公开的模型参数w,计算业务模型的输出结果。其中,公钥和加密算法可以提前约定,而私钥由第三方持有。
假设特征矩阵与模型参数的融合结果为Xw,如果X=(X1+X2),则根据同态加密的定义,约定的加密算法为E,有:
E(Xw)= E(X)×E(w)=[ E(X1+X2)] ×E(w)
=[ E(X1)+ E(X2)] ×E(w)= E(X1)×E(w)+ E(X2)×E(w)
这里,特征矩阵X1和X2可以是扰动后的特征矩阵。E(X1)×E(w)可以作为融合结果的第一密文分量由第一方确定,E(X2)×E(w)可以作为融合结果的第二密文分量由第二方确定。根据不同的业务模型,还可以有不同的融合方式。
之后,第一方和第二方可以进一步通过同态加密方法计算业务模型的输出结果,以及模型参数的梯度,其中计算过程中的各种运算可以由各个元素的进行合理密文拆分和组合,以通过第一方和第二方当前持有的数据实现,在此不再赘述。在该步骤203,第一方可以得到模型参数梯度的第一密文分量,如E(dw1),第二方可以得到模型参数梯度的第二密文分量,如E(dw2)。
特别地,对于水平切分的情形,第一方和第二方具有不同的训练样本,还可以各自按照本地训练样本计算模型参数梯度,并通过公钥加密为第一密文分量和第二密文分量。
接着,在步骤204中,第一方和第二方可以分别向第三方发送模型参数梯度的第一密文分量,以及模型参数梯度的第二密文分量。通过步骤205,第三方可以利用所持有的私钥对模型参数梯度的第一密文分量,以及模型参数梯度的第二密文分量进行解密,得到明文梯度的第一分量(如dw1)、第二分量(如dw2),从而确定明文当前梯度。例如,梯度dw= dw1+dw2。在水平切分情形下,明文当前梯度还可以为第一分量与第二分量的加权平均(其各自权重例如可以与训练样本条数正相关),假设第一分量和第二分量的权重一致,为dw=(dw1+dw2)/2。在可能的设计中,第三方还可以在可信执行环境TEE中执行梯度分量的解密,以及明文梯度的运算过程,减小梯度信息被攻击者获取的可能性。
通过步骤206,第三方可以明文当前梯度(如dw)分别发送给第一方和第二方。进一步地,在步骤207中,第一方和第二方分别接收明文当前梯度,以更新本地的模型参数。更新方式可以预先设定,例如逻辑回归业务模型下,更新后的模型参数为:w1=w0+I·dw。w0为更新前的模型参数,I为预先设定的步长或学习率。
第一方、第二方和第三方可以迭代执行步骤201-207,直至满足模型训练的截止条件,例如梯度收敛、迭代次数达到预定次数等等。
在可选的实现方式中,第一方和第二方还可以分别利用差分隐私方式对明文当前梯度进行处理,使得第一方和第二方分别使用和第三方不一致的梯度数据更新本地的模型参数,从而加强样本数据的隐私保护。本领域技术人员可以理解,模型参数可以有多个,模型参数的梯度可以包括各个模型参数分别对应的各个梯度。因此,明文当前梯度可以为各个元素分别对应于各个模型参数的梯度向量或梯度矩阵,利用差分隐私方式对明文当前梯度进行处理的过程可以与对样本数据进行处理的过程类似,添加整体呈高斯分布、拉普拉斯分布之类的噪声数据,在此不再赘述。
此时,通过扰动后,第一方可以由dw得到dw'1,第二方可以由dw得到dw'2。从而,第一方和第二方对模型参数进行差异化的更新。例如第一方将模型参数更新为(w1)1=(w0)1+I·dw'1,第二方将模型参数更新为(w1)2=(w0)2+I·dw'2。其中,(w0)1为第一方更新前的模型参数(步骤203中使用的模型参数),(w1)2为第一方更新前的模型参数,I为预先设定的学习率。如此,在迭代过程中,步骤203中第一方和第二方使用的模型参数均为利用扰动后的梯度更新的模型参数,增强隐私保护。
在以上过程中,以第一方为例,其执行的步骤可以包括:
获取按照与第二方约定顺序对应一致的当前训练样本的样本数据,样本数据包括特征数据和/或标签数据;
对样本数据添加扰动,形成差分隐私的扰动样本数据;
基于扰动样本数据,通过同态加密方式,与第二方共同确定业务模型的模型参数的当前梯度,从而得到通过在同态加密方式下约定的公钥加密的当前梯度的第一密文分量;
将当前梯度的第一密文分量发送至第三方,以供第三方根据当前梯度的第一密文分量,以及从第二方获取的当前梯度的第二密文分量,利用在同态加密方式下约定的私钥解密并得到明文当前梯度;
接收第三方反馈的明文当前梯度,并对明文当前梯度添加扰动,得到扰动梯度;
利用扰动梯度更新本地的模型参数。
可以理解,第一方和第二方具有同等地位,并相互配合,因此,两者执行的步骤相互对称(当一方为上述流程执行方时,另一方为合作的计算方,即上述步骤中的第二方),在此不再赘述。
以第三方的角度,执行的步骤可以包括:
从第一方、第二方分别接收业务模型的当前梯度的第一密文分量和当前梯度的第二密文分量;
利用同态加密方式下约定的私钥解密当前梯度的第一密文分量和当前梯度的第二密文分量,从而确定明文当前梯度;
将明文当前梯度分别发送给第一方和第二方。
其中,图2中涉及的各个业务方执行的步骤同样适用于相应业务方单独对应的步骤,在此不再赘述。
回顾以上过程,本说明书实施例提供的联合训练业务模型的方法,在多方联合训练业务模型过程中,多个业务方包括至少2个计算方和一个协调方,计算方持有样本数据,一方面,在计算过程中,单个计算方可以先通过差分隐私方式处理样本数据,以保护数据隐私。另一方面,在计算方从协调方接收到模型参数的梯度数据后,还可以对梯度数据进行差分隐私处理,从而使得计算方使用的梯度数据与协调方下发的梯度数据不同,进一步保护计算方的数据隐私。这种处理方式可以避免协调方被攻击,或者协调方和部分计算方被控制的共谋攻击,导致的计算方隐私数据泄露,从而保障计算方的数据安全。
根据另一方面的实施例,还提供一种用于联合训练业务模型的装置。该装置可以设于联合训练业务模型的多个业务方中的第一方,用于与其他方配合,以联合训练业务模型。在本实施例中,其他方可以包括第二方,与第一方一起作为计算方,并分别持有部分样本数据,以及作为协调方的第三方。图3示出根据一个实施例的用于联合训练业务模型的装置的示意性框图。如图3所示,装置300包括:
获取单元31,配置为获取按照与第二方约定顺序对应一致的当前训练样本的样本数据,样本数据包括特征数据和/或标签数据;
第一扰动单元32,配置为对样本数据添加扰动,形成差分隐私的扰动样本数据;
计算单元33,配置为基于扰动样本数据,通过同态加密方式,与第二方共同确定业务模型的模型参数的当前梯度,从而得到通过在同态加密方式下约定的公钥加密的当前梯度的第一密文分量;
通信单元34,配置为将当前梯度的第一密文分量发送至第三方,以供第三方根据当前梯度的第一密文分量,以及从第二方获取的当前梯度的第二密文分量,利用在同态加密方式下约定的私钥解密并得到明文当前梯度;
通信单元34还配置为,接收第三方反馈的明文当前梯度;
第二扰动单元35,配置为对明文当前梯度添加扰动,得到扰动梯度;
更新单元36,配置为利用扰动梯度更新本地的模型参数。
根据再一方面的实施例,还提供一种用于联合训练业务模型的装置。该装置可以设于联合训练业务模型的多个业务方中的第三方,用于与其他方配合,以联合训练业务模型。在本实施例中,第三方可以作为协调方,其他方可以包括作为计算方的第一方和第二方。第一方和第二方可以分别持有部分样本数据。图4示出根据一个实施例的用于联合训练业务模型的装置的示意性框图。如图4所示,装置400包括:
通信单元41,配置为从第一方、第二方分别接收业务模型的当前梯度的第一密文分量和当前梯度的第二密文分量,其中,当前梯度的第一密文分量和当前梯度的第二密文分量由第一方和第二方基于扰动样本数据,通过同态加密方式确定,并通过在同态加密方式下约定的公钥进行加密;
确定单元42,配置为利用同态加密方式下约定的私钥解密当前梯度的第一密文分量和当前梯度的第二密文分量,从而确定明文当前梯度;
通信单元41还配置为,将明文当前梯度分别发送给第一方和第二方。
值得说明的是,图3、图4所示的装置300、400分别设于第一方、第三方,其执行的操作与图2示出的时序图中相应业务方的操作一致,图2示出的时序图中相应描述同样适用于装置300、400,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行结合图2中任一业务方所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现结合图2中任一业务方的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
Claims (13)
1.一种联合训练业务模型的方法,其中,联合训练业务模型的多个业务方包括分别持有部分样本数据并作为计算方的第一方和第二方,以及作为协调方的第三方;所述方法由第一方执行,包括:
获取按照与第二方约定顺序对应一致的当前训练样本的样本数据,所述样本数据包括特征数据和/或标签数据;
对所述样本数据添加扰动,形成差分隐私的扰动样本数据;
基于所述扰动样本数据,通过同态加密方式,与第二方共同确定业务模型的模型参数的当前梯度,从而得到通过在所述同态加密方式下约定的公钥加密的当前梯度的第一密文分量,其中,第一方和第二方所使用的模型参数分别基于在第一方和第二方之间公开的模型参数确定,所述同态加密方式下,第三方持有与所述约定的公钥相匹配的私钥;
将所述当前梯度的第一密文分量发送至第三方,以供第三方根据所述当前梯度的第一密文分量,以及从第二方获取的所述当前梯度的第二密文分量,利用在所述同态加密方式下约定的私钥解密并得到明文当前梯度;
接收第三方反馈的明文当前梯度,并对所述明文当前梯度添加扰动,得到扰动梯度;
利用扰动梯度更新本地的模型参数。
2.根据权利要求1所述的方法,其中,所述业务模型为逻辑回归模型。
3.根据权利要求1所述的方法,其中,所述样本数据通过向量或矩阵形式表示,所述对所述样本数据添加扰动,形成差分隐私的扰动样本数据包括:
基于预设的隐私保护预算生成满足高斯分布或拉普拉斯分布的扰动向量或扰动矩阵;
在所述样本数据上叠加相应的扰动向量或扰动矩阵,得到扰动样本数据。
4.根据权利要求1所述的方法,其中,在所述样本数据包括独热表示的字符向量的情况下,所述对所述样本数据添加扰动,形成差分隐私的扰动样本数据包括:
利用差分隐私的指数形式对所述样本数据添加扰动。
5.根据权利要求1所述的方法,其中,所述当前梯度为各个元素分别对应于多个模型参数的梯度向量或梯度矩阵,所述对所述明文当前梯度添加扰动,得到扰动梯度包括:
通过预先设定的隐私保护预算,生成符合高斯分布或拉普拉斯分布的扰动向量或扰动矩阵;
在所述梯度向量或梯度矩阵上叠加将所生成的扰动向量或扰动矩阵,得到扰动梯度。
6.根据权利要求1所述的方法,所述利用扰动梯度更新本地的模型参数包括:
将本地的模型参数更新为,当前模型参数与以下项的差:学习率与扰动梯度的乘积。
7.一种联合训练业务模型的方法,联合训练业务模型的多个业务方包括分别持有部分样本数据并作为计算方的第一方和第二方,以及作为协调方的第三方;所述方法由第三方执行,包括:
从第一方、第二方分别接收业务模型的当前梯度的第一密文分量和当前梯度的第二密文分量,其中,所述当前梯度的第一密文分量和当前梯度的第二密文分量由第一方和第二方基于扰动样本数据,通过同态加密方式确定,并通过在所述同态加密方式下约定的公钥进行加密,其中,第一方和第二方所使用的模型参数分别基于在第一方和第二方之间公开的模型参数确定,所述同态加密方式下,第三方持有与所述约定的公钥相匹配的私钥;
利用所述同态加密方式下约定的私钥解密所述当前梯度的第一密文分量和所述当前梯度的第二密文分量,从而确定明文当前梯度;
将所述明文当前梯度分别发送给第一方和第二方,以供第一方和第二方分别对所述明文当前梯度添加扰动,得到扰动梯度,并利用扰动梯度更新本地的模型参数。
8.根据权利要求7所述的方法,其中,所述方法由第三方通过可信执行环境执行。
9.根据权利要求7所述的方法,其中,所述明文当前梯度为,通过私钥解密的当前梯度的第一密文分量与第二密文分量之和。
10.一种用于联合训练业务模型的装置,联合训练业务模型的多个业务方包括分别持有部分样本数据并作为计算方的第一方和第二方,以及作为协调方的第三方,所述装置设于第一方,包括:
获取单元,配置为获取按照与第二方约定顺序对应一致的当前训练样本的样本数据,所述样本数据包括特征数据和/或标签数据;
第一扰动单元,配置为对所述样本数据添加扰动,形成差分隐私的扰动样本数据;
计算单元,配置为基于所述扰动样本数据,通过同态加密方式,与第二方共同确定业务模型的模型参数的当前梯度,从而得到通过在所述同态加密方式下约定的公钥加密的当前梯度的第一密文分量,其中,第一方和第二方所使用的模型参数分别基于在第一方和第二方之间公开的模型参数确定,所述同态加密方式下,第三方持有与所述约定的公钥相匹配的私钥;
通信单元,配置为将所述当前梯度的第一密文分量发送至第三方,以供第三方根据所述当前梯度的第一密文分量,以及从第二方获取的所述当前梯度的第二密文分量,利用在所述同态加密方式下约定的私钥解密并得到明文当前梯度;
所述通信单元还配置为,接收第三方反馈的明文当前梯度;
第二扰动单元,配置为对所述明文当前梯度添加扰动,得到扰动梯度;
更新单元,配置为利用扰动梯度更新本地的模型参数。
11.一种用于联合训练业务模型的装置,联合训练业务模型的多个业务方包括分别持有部分样本数据并作为计算方的第一方和第二方,以及作为协调方的第三方,所述装置设于第三方,包括:
通信单元,配置为从第一方、第二方分别接收业务模型的当前梯度的第一密文分量和当前梯度的第二密文分量,其中,所述当前梯度的第一密文分量和当前梯度的第二密文分量由第一方和第二方基于扰动样本数据,通过同态加密方式确定,并通过在所述同态加密方式下约定的公钥进行加密,其中,第一方和第二方所使用的模型参数分别基于在第一方和第二方之间公开的模型参数确定,所述同态加密方式下,第三方持有与所述约定的公钥相匹配的私钥;
确定单元,配置为利用所述同态加密方式下约定的私钥解密所述当前梯度的第一密文分量和所述当前梯度的第二密文分量,从而确定明文当前梯度;
所述通信单元还配置为,将所述明文当前梯度分别发送给第一方和第二方,以供第一方和第二方分别对所述明文当前梯度添加扰动,得到扰动梯度,并利用扰动梯度更新本地的模型参数。
12.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项的所述的方法。
13.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010849443.3A CN111723404B (zh) | 2020-08-21 | 2020-08-21 | 联合训练业务模型的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010849443.3A CN111723404B (zh) | 2020-08-21 | 2020-08-21 | 联合训练业务模型的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111723404A CN111723404A (zh) | 2020-09-29 |
CN111723404B true CN111723404B (zh) | 2021-01-22 |
Family
ID=72574320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010849443.3A Active CN111723404B (zh) | 2020-08-21 | 2020-08-21 | 联合训练业务模型的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723404B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182633B (zh) * | 2020-11-06 | 2023-03-10 | 支付宝(杭州)信息技术有限公司 | 保护隐私的模型联合训练方法及装置 |
CN112434323A (zh) * | 2020-12-01 | 2021-03-02 | Oppo广东移动通信有限公司 | 模型参数获取方法、装置、计算机设备及存储介质 |
CN112990475B (zh) * | 2021-02-05 | 2022-05-06 | 支付宝(杭州)信息技术有限公司 | 一种基于多方安全计算的模型训练方法和系统 |
CN113111569A (zh) * | 2021-03-08 | 2021-07-13 | 支付宝(杭州)信息技术有限公司 | 乱序处理方法、模型训练方法、装置和计算设备 |
CN113158230B (zh) * | 2021-03-16 | 2024-02-09 | 陕西数盾慧安数据科技有限公司 | 一种基于差分隐私的在线分类方法 |
CN112799708B (zh) * | 2021-04-07 | 2021-07-13 | 支付宝(杭州)信息技术有限公司 | 联合更新业务模型的方法及系统 |
CN113095430B (zh) * | 2021-04-26 | 2022-02-01 | 北京瑞莱智慧科技有限公司 | 可保护隐私的模型更新方法、对象识别方法、系统、装置、介质和设备 |
CN113837595A (zh) * | 2021-09-22 | 2021-12-24 | 中国银联股份有限公司 | 面签方式分配方法、装置、设备及存储介质 |
CN115965093A (zh) * | 2021-10-09 | 2023-04-14 | 北京字节跳动网络技术有限公司 | 模型训练方法、装置、存储介质及电子设备 |
CN114419719B (zh) * | 2022-03-29 | 2022-08-12 | 北京爱笔科技有限公司 | 一种生物特征的处理方法及装置 |
CN115276950B (zh) * | 2022-07-25 | 2023-03-28 | 支付宝(杭州)信息技术有限公司 | 隐私数据的处理方法、装置和计算设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177791A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111475852A (zh) * | 2020-06-19 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护针对业务模型进行数据预处理的方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684855B (zh) * | 2018-12-17 | 2020-07-10 | 电子科技大学 | 一种基于隐私保护技术的联合深度学习训练方法 |
CN110222848A (zh) * | 2019-05-05 | 2019-09-10 | 阿里巴巴集团控股有限公司 | 计算机执行的集成模型的确定方法及装置 |
CN110851482B (zh) * | 2019-11-07 | 2022-02-18 | 支付宝(杭州)信息技术有限公司 | 为多个数据方提供数据模型的方法及装置 |
CN111091199B (zh) * | 2019-12-20 | 2023-05-16 | 哈尔滨工业大学(深圳) | 一种基于差分隐私的联邦学习方法、装置及存储介质 |
CN111125735B (zh) * | 2019-12-20 | 2021-11-02 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私数据进行模型训练的方法及系统 |
CN111475854B (zh) * | 2020-06-24 | 2020-10-20 | 支付宝(杭州)信息技术有限公司 | 保护两方数据隐私的协同计算方法及系统 |
-
2020
- 2020-08-21 CN CN202010849443.3A patent/CN111723404B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177791A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111475852A (zh) * | 2020-06-19 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护针对业务模型进行数据预处理的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111723404A (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111723404B (zh) | 联合训练业务模型的方法及装置 | |
US20230078061A1 (en) | Model training method and apparatus for federated learning, device, and storage medium | |
CN112989368B (zh) | 多方联合进行隐私数据处理的方法及装置 | |
Xiong et al. | Toward lightweight, privacy-preserving cooperative object classification for connected autonomous vehicles | |
US20160020904A1 (en) | Method and system for privacy-preserving recommendation based on matrix factorization and ridge regression | |
CN114401079B (zh) | 多方联合信息价值计算方法、相关设备及存储介质 | |
TW202006615A (zh) | 基於模型的預測方法和裝置 | |
CN111523673B (zh) | 模型训练方法、装置及系统 | |
CN114696990B (zh) | 基于全同态加密的多方计算方法、系统及相关设备 | |
CN113542228B (zh) | 基于联邦学习的数据传输方法、装置以及可读存储介质 | |
CN113239391B (zh) | 一种无第三方的逻辑回归联邦学习模型训练系统及方法 | |
CN112926073A (zh) | 联邦学习建模优化方法、设备、介质及计算机程序产品 | |
CN111523134B (zh) | 基于同态加密的模型训练方法、装置及系统 | |
CN113609781A (zh) | 基于联邦学习的汽车生产模具优化方法、系统、设备及介质 | |
CN114492850A (zh) | 基于联邦学习的模型训练方法、设备、介质及程序产品 | |
CN112948883B (zh) | 保护隐私数据的多方联合建模的方法、装置和系统 | |
CN112507372B (zh) | 实现隐私保护的多方协同更新模型的方法及装置 | |
CN116094686B (zh) | 用于量子卷积计算的同态加密方法、系统、设备及终端 | |
CN114462626B (zh) | 联邦模型训练方法、装置、终端设备以及存储介质 | |
CN116402159A (zh) | 联邦学习方法、预测方法、装置、电子设备及存储介质 | |
CN109409111A (zh) | 一种面向加密图像的模糊搜索方法 | |
CN114547684A (zh) | 一种保护隐私数据的多方联合训练树模型的方法及装置 | |
CN114723068A (zh) | 联邦模型训练方法及装置 | |
CN112183757B (zh) | 模型训练方法、装置及系统 | |
CN111859440A (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: 40037933 Country of ref document: HK |