一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于隐私保护的联合训练业务模型的方法及装置与流程

2022-08-24 00:23:37 来源:中国专利 TAG:

基于隐私保护的联合训练业务模型的方法及装置
1.本技术是2020年12月6日递交的、申请号为202011409592.4,名为“基于隐私保护的联合训练业务模型的方法及装置”的发明专利申请的分案申请。
技术领域
2.本说明书一个或多个实施例涉及机器学习领域,尤其涉及在分布式系统中保护隐私的模型联合训练方法及装置。


背景技术:

3.机器学习的迅猛发展使得各种机器学习的模型在各种各样的业务场景得到应用。由于模型的预测性能依赖于训练样本的丰富程度和可用程度,为了得到性能更加优异的业务预测模型,往往需要综合利用多个平台的训练数据,共同对模型进行训练。
4.具体的,在数据纵向分布的场景中,多个平台可以各自拥有同一批业务对象的不同特征数据。例如在基于机器学习的商户分类分析场景中,电子支付平台拥有商户的交易流水数据,电子商务平台存储有商户的销售数据,银行机构拥有商户的借贷数据。在数据横向分布的场景中,多个平台可以各自拥有不同业务对象的相同属性特征。例如不同地区的银行机构,各自拥有本地注册商户的借贷数据。当然还存在纵向横向分布相结合的情况。
5.多个平台本地的训练数据往往包含本地业务对象的隐私,特别是用户隐私。进一步的,根据本地训练数据训练出的本地模型,也会存在泄漏本地数据特点的风险。因此,在多方共同训练模型的场景中,数据安全和数据隐私问题,是极大的一项挑战。
6.因此,希望提供改进的方案,在多方共同训练业务模型的情况下,保证各方的隐私数据不泄露,确保数据安全。


技术实现要素:

7.本说明书一个或多个实施例描述了一种联合训练业务模型的方法和装置,通过对模型进行扰动加密,并对梯度添加噪声,保护隐私数据不泄露,确保数据安全。
8.根据第一方面,提供了一种基于隐私保护的联合训练业务模型的方法,所述业务模型通过神经网络实现,所述方法由服务器执行,包括:
9.针对所述神经网络中的多个网络层,确定对应的随机扰动矩阵;
10.利用所述随机扰动矩阵对相应网络层的当前参数矩阵进行扰动处理,得到该网络层的扰动加密参数矩阵;
11.将扰动加密模型发送给多个终端,其中所述扰动加密模型包括所述多个网络层对应的扰动加密参数矩阵;
12.从所述多个终端中任意的第一终端接收所述多个网络层分别对应的混淆梯度项,其中所述混淆梯度项是在第一噪声梯度项上叠加第二噪声而得到,其中所述第一噪声梯度项通过利用所述扰动加密模型处理所述第一终端本地的第一样本集而得到,所述第二噪声与对应网络层的所述随机扰动矩阵的组合结果满足高斯分布;
13.利用所述多个网络层对应的所述随机扰动矩阵,对相应网络层的混淆梯度项进行恢复处理,得到所述多个网络层的梯度恢复结果;
14.将对应于所述多个终端的梯度恢复结果进行聚合,根据聚合结果,更新所述多个网络层的当前参数矩阵。
15.根据一种实施方式,针对所述神经网络中的多个网络层,确定对应的随机扰动矩阵,具体包括:针对所述神经网络的各个网络层,确定对应的随机向量,所述随机向量的维度与相应网络层中神经元的数目相同;根据第一网络层的随机向量及其相邻网络层的随机向量,确定该第一网络层对应的随机扰动矩阵,其中所述第一网络层是所述神经网络中的中间层。
16.在一个实施例中,所述神经网络包括n个待训练的实际网络层,以及插入在相邻的实际网络层之间的n-1个过渡网络层,所述过渡网络层具有固定的单位矩阵作为其参数矩阵;在这样的情况下,上述确定对应的随机向量具体包括:针对实际网络层中的各个中间层,确定第一随机向量;针对各个过渡网络层,确定第二随机向量;其中,所述第一随机向量和第二随机向量中的向量元素,具有不同的数据分布。
17.进一步的,在一个例子中,上述第一随机向量中的各个向量元素,符合高斯分布的三元分解数据分布;上述第二随机向量中的各个向量元素的倒数,符合高斯分布的三元分解数据分布;所述第一网络层为实际网络层中的中间层;在这样的情况下,确定该第一网络层对应的随机扰动矩阵,具体包括:将该第一网络层对应的第一随机向量中的各个向量元素,和该第一网络层的前一过渡网络层对应的第二随机向量中的各个向量元素的倒数分别进行组合,将组合结果作为该第一网络层对应的随机扰动矩阵中的各个矩阵元素。
18.在一个实施例中,针对所述神经网络的各个网络层,确定对应的随机向量,还包括:针对实际网络层中的输入层,确定第三随机向量,其中各个向量元素符合高斯分布的二元分解数据分布;并且,确定随机扰动矩阵的步骤还包括:将该输入层对应的第三随机向量中的元素作为矩阵元素,得到该输入层对应的随机扰动矩阵。
19.在一个实施例中,针对最后一个过渡网络层,确定最后一个第二随机向量,其中各个向量元素的倒数,符合高斯分布的二元分解数据分布;并且,确定对应的随机扰动矩阵的步骤还包括:针对实际网络层中的输出层,将所述最后一个第二随机向量中各个元素的倒数作为矩阵元素,得到该输出层对应的随机扰动矩阵。
20.根据一个实施例,前述多个网络层为所述n个待训练的实际网络层。
21.根据一种实施方式,利用所述随机扰动矩阵对相应网络层的当前参数矩阵进行扰动处理,得到该网络层的扰动加密参数矩阵,具体包括:对于所述n个实际网络层中除输出层之外的其他各网络层,将该网络层对应的随机扰动矩阵与其当前参数矩阵进行对应位置元素组合,得到该网络层的扰动加密参数矩阵;对于所述输出层,将该输出层对应的随机扰动矩阵与其当前参数矩阵进行对应位置元素组合,并叠加针对该输出层的附加扰动矩阵,得到该输出层的扰动加密参数矩阵。
22.在各个实施例中,所述业务模型用于针对业务对象进行预测,所述业务对象包括以下之一:用户、商户、交易、图像、文本、音频。
23.根据第二方面,提供了一种基于隐私保护的联合训练业务模型的方法,所述业务模型通过神经网络实现,所述方法由第一终端执行,包括:
24.从服务器接收扰动加密模型,其中包括所述神经网络中多个网络层分别对应的扰动加密参数矩阵,所述扰动加密参数矩阵是利用相应网络层的随机扰动矩阵对该网络层的当前参数矩阵进行扰动处理而得到;
25.利用所述扰动加密模型处理所述第一终端本地的第一样本集,得到针对所述多个网络层中各网络层的第一噪声梯度项;
26.在所述第一噪声梯度项上叠加第二噪声,得到针对各网络层的混淆梯度项;其中,所述第二噪声与对应网络层的所述随机扰动矩阵的组合结果满足高斯分布;
27.将所述混淆梯度项发送给所述服务器,使其利用所述随机扰动矩阵对相应网络层的混淆梯度项进行恢复处理,并将对应于多个终端的恢复梯度进行聚合,从而更新所述多个网络层的当前参数矩阵。
28.在一个实施例中,所述神经网络包括n个待训练的实际网络层,以及插入在相邻的实际网络层之间的n-1个过渡网络层,所述过渡网络层具有固定的单位矩阵作为其参数矩阵;所述多个网络层为所述n个待训练的实际网络层。
29.根据一个实施例,通过以下方式得到第一噪声梯度项:将所述第一样本集中各个样本的特征数据输入所述扰动加密模型,得到各网络层的扰动输出;根据各网络层的扰动输出,各个样本的标签数据以及预设损失函数,得到所述第一噪声梯度项。
30.在一个实施例中,在所述第一噪声梯度项上叠加第二噪声,具体包括:确定各网络层对应的噪声矩阵;将所述噪声矩阵,乘以预设的噪声幅度和方差,作为各网络层对应的第二噪声,叠加到所述第一噪声梯度项上,其中,所述噪声幅度不小于梯度的范数。
31.进一步的,确定各网络层对应的噪声矩阵可以包括:对于所述多个网络层中的中间层,确定第一噪声矩阵,其中各个矩阵元素满足高斯分布的三元分解数据分布;对于所述多个网络层的输入层和输出层,确定第二噪声矩阵,其中各个矩阵元素满足高斯分布的二元分解数据分布。
32.根据第三方面,提供了一种基于隐私保护的联合训练业务模型的装置,所述业务模型通过神经网络实现,所述装置部署在服务器中,包括:
33.扰动矩阵确定单元,配置为针对所述神经网络中的多个网络层,确定对应的随机扰动矩阵;
34.扰动加密单元,配置为利用所述随机扰动矩阵对相应网络层的当前参数矩阵进行扰动处理,得到该网络层的扰动加密参数矩阵;
35.发送单元,配置为将扰动加密模型发送给多个终端,其中所述扰动加密模型包括所述多个网络层对应的扰动加密参数矩阵;
36.接收单元,配置为从所述多个终端中任意的第一终端接收所述多个网络层分别对应的混淆梯度项,其中所述混淆梯度项是在第一噪声梯度项上叠加第二噪声而得到,其中所述第一噪声梯度项通过利用所述扰动加密模型处理所述第一终端本地的第一样本集而得到,所述第二噪声与对应网络层的所述随机扰动矩阵的组合结果满足高斯分布;
37.扰动恢复单元,配置为利用所述多个网络层对应的所述随机扰动矩阵,对相应网络层的混淆梯度项进行恢复处理,得到所述多个网络层的梯度恢复结果;
38.聚合更新单元,配置为将对应于所述多个终端的梯度恢复结果进行聚合,根据聚合结果,更新所述多个网络层的当前参数矩阵。
39.根据第四方面,提供了一种基于隐私保护的联合训练业务模型的装置,所述业务模型通过神经网络实现,所述装置部署在第一终端中,包括:
40.接收单元,配置为从服务器接收扰动加密模型,其中包括所述神经网络中多个网络层分别对应的扰动加密参数矩阵,所述扰动加密参数矩阵是利用相应网络层的随机扰动矩阵对该网络层的当前参数矩阵进行扰动处理而得到;
41.梯度获取单元,配置为利用所述扰动加密模型处理所述第一终端本地的第一样本集,得到针对所述多个网络层中各网络层的第一噪声梯度项;
42.噪声添加单元,配置为在所述第一噪声梯度项上叠加第二噪声,得到针对各网络层的混淆梯度项;其中,所述第二噪声与对应网络层的所述随机扰动矩阵的组合结果满足高斯分布;
43.发送单元,配置为将所述混淆梯度项发送给所述服务器,使其利用所述随机扰动矩阵对相应网络层的混淆梯度项进行恢复处理,并将对应于多个终端的恢复梯度进行聚合,从而更新所述多个网络层的当前参数矩阵。
44.根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
45.根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
46.根据本说明书实施例提供的方法和装置,在模型迭代更新过程中,服务器将各个网络层的参数进行扰动加密后,下发给终端。终端可以基于扰动加密的模型,直接进行样本数据的处理,得到扰动梯度。对模型参数的扰动加密,一方面确保模型参数的安全,并且扰动加密的方式使得终端可以无需解密,直接进行样本处理,极大节约了终端的计算资源。此外,终端在得到扰动梯度后,还在其上添加噪声,并使得扰动恢复后最终的噪声符合高斯分布,从而满足差分隐私的要求。于是,服务器和其他各方,也都无从获取到梯度的真实值,进一步保证了隐私数据的安全。
附图说明
47.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
48.图1示出通过联邦学习进行业务模型训练的一个场景示例;
49.图2示出根据一个实施例保护隐私的业务模型训练方法的流程图;
50.图3示出神经网络中的多个网络层的示意图;
51.图4示出扩展的神经网络的示意图;
52.图5示出根据一个实施例的部署在服务器中的训练装置示意图;
53.图6示出根据一个实施例的部署在终端中的训练装置示意图。
具体实施方式
54.下面结合附图,对本说明书提供的方案进行描述。
55.图1示出通过联邦学习进行业务模型训练的一个场景示例。在图1的示意场景中,分布式系统包括服务器和n个终端,各个终端拥有用于模型训练的训练样本。上述终端既可以是大型机构的数据平台,例如,银行,医院,支付平台等,也可以是小型设备,例如,个人pc,智能手机,iot设备,等等。各个终端的设备类型可以相同也可以不同。
56.待训练的业务模型用于针对业务对象进行预测,业务对象可以是用户、商户、交易、图像、文本、音频等各种对象。为了进行模型训练,各个终端拥有各自的业务对象样本集,其中各个样本包含业务对象的特征信息作为样本特征,还包括与预测目标对应的标签,该标签可以是分类标签或回归值标签。例如,在一个具体例子中,业务对象为账号表示的用户。相应的,样本特征可以包括,例如账号的注册时长、注册信息、最近一段时间的使用频次、发表评论的频次,等等;标签可以是用户分类标签,例如用于示出用户所属的人群,或者示出该账号是否为异常账号(垃圾账号、水军账号、被盗用账号等等)。在另一例子中,业务对象为交易。相应的,样本特征可以包括,例如交易金额、交易时间、支付渠道、交易双方属性信息等等。本说明书对于业务对象不做限制,各种业务对象的情况不再一一赘述。
57.在一种典型的联邦学习过程中,服务器确定待训练的业务模型的结构和算法,并对其进行初始化,然后通过多次迭代对模型进行更新。在每次迭代中,服务器将模型的当前参数w下发给各个终端。每个终端i基于其本地的训练样本,对具有当前参数w的模型进行训练,得到模型参数的梯度gi,即参数改变量或更新量。然后,终端i将模型参数的梯度信息发送给服务器。服务器从n个终端分别得到n份梯度信息,对n份梯度信息进行聚合,得到本轮迭代模型参数的综合梯度,并根据该综合梯度,对模型参数进行更新,直到达到训练结束条件。于是,服务器和n个终端协同实现模型的联合训练。
58.然而,不加保护地实施以上联邦学习过程,存在隐私泄露的风险。一方面,基于本地样本得到的参数梯度,有可能携带有本地样本的信息,而这些本地样本往往是数据平台所需要保护的隐私数据,例如,用户的个人信息,银行流水,就医记录等等。恶意的攻击者有可能从终端与服务器之间交互的梯度信息中获知训练样本的信息。或者,一个终端可能从服务器下发的参数信息中,反推出其他终端的梯度信息,进而推测其训练样本数据。此外,还存在模型输出隐私问题,即,攻击者可能会通过查询训练中或训练后的模型,推测训练样本中是否包含特定的数据记录。
59.为了在联邦学习过程中保护各个终端的隐私数据,发明人提出,服务器采用扰动加密算法将模型参数进行扰动加密后,再分发给各个终端。终端利用扰动加密的模型处理其本地训练样本,得到扰动梯度。为了避免服务器利用扰动加密算法对应的解密方式恢复出真实梯度,终端还在扰动梯度上叠加噪声。通过精心设计噪声的分布,使得经扰动解密后噪声符合高斯分布,从而满足差分隐私保护的要求。如此,在联邦学习过程中,模型参数和梯度的真实明文值都不会暴露,从而确保隐私数据的安全。
60.下面描述以上构思的具体实现过程。
61.图2示出根据一个实施例保护隐私的业务模型训练方法的流程图。该流程图涉及服务器和第一终端,服务器可以通过任何具有计算、处理能力的装置、设备、设备集群来实现。第一终端是参与联邦学习的多个终端中的任意一个终端,可以具有任意的设备类型。该
图中出于简单清楚的目的,仅示出了一个终端。然而需要理解,联邦学习过程中的多个终端,均可以按照第一终端的方式实施训练过程。
62.上述业务模型可以实现为神经网络,例如多层全连接的深度神经网络dnn(或称为多层感知机mlp),卷积神经网络cnn,等等。下面结合多层感知机mlp的例子进行具体描述。
63.图3示出神经网络中的多个网络层的示意图。假定神经网络包含l个网络层,其中任意的第l个网络层表示为层l。当l=1时,表示其为输入层,当l=l时,表示其为输出层,其余情况下为中间层。在mlp的情况下,除输出层外的每个网络层,其中的每个神经元都与下一网络层中的每个神经元连接。假定层l具有n
l
个神经元,其前一层l-1具有n
l-1
个神经元,则从层l-1到层l具有n
l-1
×nl
条连接边,每个连接边具有对应的权重,作为模型中待训练的模型参数。因此,层l具有n
l-1
×nl
个模型参数,构成n
l-1
×nl
维的参数矩阵,表示为w
(l)

64.对于采用relu函数作为神经元激活函数的神经网络,各个网络层l的输出可以表示为y
(l)
,并通过下式计算:
[0065][0066]
在模型训练过程中,需要通过多次迭代对各个层的参数矩阵w
(l)
进行更新。图2示出其中任意一次迭代更新的过程。下面描述具体实施过程。
[0067]
首先,在步骤21,服务器针对神经网络中的多个网络层,确定对应的随机扰动矩阵。对于网络层l,服务器确定对应的随机扰动矩阵r
(l)
,该随机扰动矩阵r
(l)
作为密钥,用于对对应的参数矩阵w
(l)
进行扰动加密。一般地,扰动加密是通过扰动变换的方式,掩盖加密对象的真实值。后续可以利用相应的反向变换,消除扰动变换的影响。这里,为了对参数矩阵进行扰动加密,一般地,要求随机扰动矩阵r
(l)
与参数矩阵w
(l)
具有相同的维度。
[0068]
根据扰动变换的具体方式,可以采用不同算法确定出扰动矩阵。在一个实施例中,可以针对各个网络层,分别独立而随机地生成对应的随机扰动矩阵。具体的,针对网络层l,可以根据该层参数矩阵的维度,随机生成相应数量的矩阵元素,作为对应的随机扰动矩阵r
(l)

[0069]
在另一个实施例中,可以针对神经网络的各个网络层,确定对应的随机向量,并基于各个网络层的随机向量,进一步生成各个网络层的扰动矩阵。具体的,对于网络层l,可以对应生成随机向量r
(l)
,使得该随机向量r
(l)
的维度与层l中神经元的数目n
l
相同。如此,可以通过将相邻网络层的随机向量中的元素进行组合,得到对应的随机扰动矩阵。
[0070]
例如,假定网络层l具有n
l
维的随机向量r
(l)
,其前一网络层l-1具有n
l-1
维的随机向量r
(l-1)
,则可以通过组合r
(l)
和r
(l-1)
中的元素,得到n
l-1
×nl
维的随机扰动矩阵,作为层l的随机扰动矩阵。对于输入层和输出层,可以进行特殊设置,生成对应的随机扰动矩阵。
[0071]
在一个具体例子中,对于任意网络层l,通过以下方式,基于随机向量生成随机扰动矩阵r
(l)

[0072][0073]
即,对于输入层l=1,将对应随机向量r
(1)
中的元素作为矩阵元素,得到该输入层对应的随机扰动矩阵r
(1)

[0074]
对于中间层2《=l《=l-1,将该中间层l对应的随机向量r
(l)
中的各个向量元素和前一网络层l-1对应的随机向量r
(l-1)
中的各个向量元素的倒数,分别进行组合,将组合结果作为网络层l对应的随机扰动矩阵r
(l)
中的各个矩阵元素
[0075]
对于输出层l=l,将其前一层l-1对应的随机向量r
(l-1)
中各个元素的倒数作为矩阵元素,得到该输出层对应的随机扰动矩阵r
(l)

[0076]
以上举例了一种效果较好的确定随机扰动矩阵的方式。在其他例子中,也可以利用其他随机向量元素组合方式,例如对于中间层,将相邻两层的随机向量中的元素进行相乘组合,得到对应的随机扰动矩阵。
[0077]
在一个实施例中,还可以针对输出层l=l,生成特殊的随机向量,从而在以上随机扰动矩阵基础上,构建附加扰动矩阵,用于后续扰动加密。
[0078]
具体的,对于包含n
l
个神经元的输出层,可以生成n
l
维的随机向量γ和ra,其中,ra具有成对不同的元素,γ中的元素可以划分为互不重叠的几个组,每组中的元素相同,用γi表示其中第i个组。如此,可以基于上述随机向量γ和ra,针对输出层构建附加扰动矩阵ra:
[0079][0080]
需要理解,各个网络层的随机扰动矩阵,可以在每轮迭代之前预先确定好,在多轮迭代中保持不变;也可以在每次迭代中临时生成。为了更好地保证隐私安全效果,优选在每轮迭代中重新生成随机扰动矩阵。
[0081]
在确定出各个网络层的随机扰动矩阵的基础上,可以将上述随机扰动矩阵作为扰动加密的密钥,对各个网络层的参数矩阵进行扰动加密处理。于是,在步骤22,利用随机扰动矩阵对相应网络层的当前参数矩阵进行扰动处理,得到该网络层的扰动加密参数矩阵。
[0082]
根据一个实施例,在该步骤中,针对各个网络层l,将该网络层l对应的随机扰动矩阵r
(l)
与其当前参数矩阵w
(l)
进行对应位置元素组合,例如,相乘组合,相加组合等,将组合结果矩阵作为该网络层的扰动加密参数矩阵在下文中,用变量上面的“^”符号表示,该变量为扰动后的变量。
[0083]
在一个实施例中,针对输出层进行特殊设置。对于输出层l,将该输出层对应的随机扰动矩阵r
(l)
与其当前参数矩阵w
(l)
进行对应位置元素组合,并叠加针对该输出层的附加扰动矩阵ra,得到该输出层的扰动加密参数矩阵。
[0084]
在一个具体例子中,利用随机扰动矩阵对各个层的参数矩阵进行扰动加密处理的过程可以表示为:
[0085][0086]
其中,运算符号为hadamard运算,表示对应位置元素相乘。
[0087]
因此,根据公式(4)的例子,对于前l-1个网络层,利用其随机扰动矩阵对其参数矩阵进行按位相乘,作为扰动加密参数矩阵;对于输出层l,在按位相乘组合矩阵基础上叠加附加扰动矩阵ra,得到其扰动加密参数矩阵。
[0088]
需要说明的是,公式(4)示出一种效果较好的扰动加密方式。在其他例子中,也可以采用其他扰动加密算法。
[0089]
如此,通过以上过程,得到了各个网络层的扰动加密参数矩阵从而实现了对神经网络的扰动加密。
[0090]
于是接着,在步骤23,服务器将扰动加密模型发送给多个终端,其中所述扰动加密模型包括多个网络层对应的扰动加密参数矩阵。该多个终端可以是参与本轮迭代训练的终端,第一终端是其中任意的一个终端。
[0091]
下面以第一终端为例,描述终端侧接收到扰动加密模型后的处理过程。
[0092]
如上所述,通过上述步骤23,第一终端接收到上述扰动加密模型。于是,在步骤24,第一终端利用该扰动加密模型,处理其本地的第一样本集,得到针对多个网络层中各网络层的第一噪声梯度项。
[0093]
具体的,第一终端可以将第一样本集中各个样本的特征数据输入该扰动加密模型,通过正向传播,得到各网络层l的扰动输出
[0094]
延续公式(1)所示的采用relu函数的mlp例子,则各网络层l的扰动输出可以表示为:
[0095][0096]
在采用公式(4)的方式得到扰动加密参数矩阵的情况下,对比公式(1)中各个网络层的真实输出,和公式(5)中的扰动输出,可以推出,真实输出和扰动扰动输出之间满足以下关系:
[0097][0098]
在公式(6)中,γ和ra是前述公式(3)中所利用到的、针对输出层生成的特殊的随机向量。
[0099]
在得到扰动输出的基础上,接着,根据各网络层的扰动输出,利用各个样本的标签数据以及预设损失函数进行反向传播,得到各个网络层对应的关于关于梯度的第一噪声梯度项。
[0100]
在一个实施例中,损失函数采用均方误差mse(mean squared error)损失函数。此
时,扰动损失如下所示:
[0101][0102]
其中,表示标签数据。
[0103]
由此,可以推导出真实梯度和扰动梯度之间的关系:
[0104][0105]
其中:v=r
t
r并且:
[0106][0107][0108]
(9)和(10)中的α与公式(6)中定义的相同:
[0109]
因此,在mse损失函数的情况下,为了使得服务器对梯度进行扰动恢复,第一终端确定出的第一噪声梯度项可以包括,扰动梯度公式(9)示出的扰动项σ
(l)
,和公式(10)示出的扰动项β
(l)

[0110]
类似但略有不同的,在损失函数采用交叉熵ce损失形式的情况下,可以证明,真实梯度和扰动梯度之间满足以下关系:
[0111][0112]
其中,
[0113]
β
(l)
与公式(10)定义的相同,其他参数项与公式(8)定义的对应相同。
[0114]
因此,在交叉熵ce损失函数的情况下,为了使得服务器对梯度进行扰动恢复,第一终端确定出的第一噪声梯度项可以包括,扰动梯度公式(12)示出的扰动项ψ
(l)
,和公式(10)示出的扰动项β
(l)

[0115]
然而,如前所述,为了保护数据隐私,并不希望服务器能够完全恢复得到梯度的真实值。因此,接下来,在步骤25,在以上的第一噪声梯度项上叠加第二噪声,得到针对各网络层的混淆梯度项;其中,为了满足差分隐私的要求,应使得第二噪声与对应网络层的随机扰动矩阵的组合结果满足高斯分布。
[0116]
这里,简单介绍一下差分隐私的高斯机制。满足差分隐私的高斯噪声算法具有以下形式:
[0117][0118]
其中,f是查询函数,d为输入数据,为添加的高斯噪声,该高斯噪声是以0为均值,以sfσ为标准方差的正态分布(或称为高斯分布),其中,sf为查询函数f的敏感度,被定义为,将相邻数据d和d’输入函数f时可能得到的最大结果差异。
[0119]
我们以交叉熵ce形式下的第一噪声梯度项为例,说明第二噪声的添加。假定针对层l,依照高斯机制,在第一噪声梯度项,特别是扰动梯度上,添加幅度为s
app
的噪声∈
(l)
,那么服务器端进行扰动恢复得到的结果将会是:
[0120][0121]
即,将噪声幅度、方差乘以噪声矩阵∈
(l)
,作为第二噪声添加到第一噪声梯度项上,服务器侧用随机扰动矩阵r
(l)
进行扰动恢复后会产生最终噪声该最终噪声是第二噪声与对应随机扰动矩阵r
(l)
的组合。为了使得最终噪声符合高斯分布或提供更强的隐私保护,需要满足以下条件。
[0122]
首先,敏感度的上界为s
app
,因此,需要使得即噪声幅度不小于梯度的(无穷阶)范数。
[0123]
另外,还应使得,满足高斯分布,即,随机扰动矩阵r
(l)
中的矩阵元素,与噪声矩阵∈
(l)
中的矩阵元素的组合满足高斯分布。为此,需要利用高斯分布的分解原理。
[0124]
数学上可以证明(例如参见losif pinelis.2018.the exp-normal distribution is infinitely divisible.corr(2018)),假定z是高斯分布的变量,k为自然数,那么z可以分解为k个独立同分布的变量w1,...,wk的乘积:
[0125][0126]
具体的:
[0127]
其中,g
1/k,0
,g
1/k,1
...是独立同分布的变量,每一个都具有gamma分布gamma(1/k,1),该gamma分布具有形状参数1/k和尺度参数1。
[0128]
下文中将高斯分布分解为k个变量的情况,称为k元分解,将其中分解变量的分布,称为高斯分布的k元分解数据分布,记为dn(k)。
[0129]
可以利用上述原理,解决的高斯分布问题。
[0130]
在一个实施例中,在前述步骤21,服务器针对各个网络层独立而随机地生成随机扰动矩阵r
(l)
的各个元素在这样的情况下,可进一步限制生成元素的过程,使得其中各个元素符合高斯分布的二元分解数据分布,即dn(2);同时,第一终端生成的噪声矩阵

(l)
中的各个元素也应符合dn(2)。如此,其组合可以满足高斯分布。
[0131]
在另一实施例中,在前述步骤21,服务器基于各个层的随机向量的组合,生成对应的随机扰动矩阵。例如,当服务器采用公式(2)的方式,确定随机扰动矩阵r
(l)
时,则表示如下:
[0132][0133]
可以看到,由于随机扰动矩阵r
(l)
中的元素,来源于随机向量中向量元素的不同组合,为了符合高斯分布的要求,可能对随机向量中的向量元素提出矛盾的需求。例如,对于2≤l≤l-1的中间层,分解为3个元素的乘积,每个元素都应符合dn(3)。那么,对于网络层l,当将其作为当前层时,必然要求随机向量中的各个向量元素满足dn(3);当分析层l 1,将层l作为上一层时,则会要求符合dn(3)。这就对向量元素的数据分布提出了矛盾的要求。
[0134]
为了解决这样矛盾的需求,在一个实施例中,将原有神经网络进行扩展。图4示出扩展的神经网络的示意图。假定原有神经网络包括n个实际网络层,则在相邻的实际网络层之间插入过渡网络层,形成n-1个过渡网络层。图4中以粗实线框示出实际网络层,以虚线框示出过渡网络层。如此,在扩展的l层神经网络中,奇数层是实际网络层,偶数层是过渡网络层。
[0135]
实际网络层具有前述待训练的参数矩阵w
(l)
,而过渡网络层具有单位矩阵i作为其参数矩阵,该参数矩阵固定不变,不需训练,只是起到将上一实际网络层的输出,原样传递到下一实际网络层的作用。因此,过渡网络层对于实际样本数据的处理过程没有影响,只是用于辅助生成所需的随机向量。
[0136]
如此,基于扩展的神经网络,当服务器采用公式(2)的方式,根据随机向量确定随机扰动矩阵时,层l的随机向量中的元素应遵循以下数据分布:
[0137]
[0138]
也就是说,如果网络层l是实际网络层中的中间层(奇数层),其随机向量中的各个向量元素符合高斯分布的三元分解数据分布dn(3),如果网络层l是过渡网络层(偶数层)中的中间层,其随机向量中各个向量元素的倒数,符合dn(3)。最后一个过渡网络层(l-1层),其随机向量中的向量元素的倒数,符合dn(2)。此外,对于输入层,其随机向量的向量元素符合高斯分布的二元分解数据分布dn(2)。
[0139]
当采用扩展的神经网络时,在一个实施例中,服务器针对所有网络层,按照公式(18)所示的数据分布生成随机向量,但是仅针对实际网络层确定随机扰动矩阵r
(l)
,并相应计算扰动加密参数矩阵相应的,在步骤23,服务器仅将实际网络层的扰动加密参数矩阵发送给第一终端。
[0140]
在另一实施例中,服务器也可以针对所有网络层确定随机扰动矩阵,计算扰动加密参数矩阵,并将全量网络层的扰动加密参数矩阵作为扰动加密模型发送给第一终端。
[0141]
相应的,如果第一终端接收的是实际网络层,则其在步骤24进行正常的神经网络正向传播和反向传播。如果第一终端接收的是全量网络层,则在步骤24,可以忽略掉偶数层的网络层,仅针对实际网络层进行正向传播和反向传播。
[0142]
并且在步骤25确定用于层l的噪声矩阵∈
(l)
时,使得矩阵元素满足以下约束:
[0143][0144]
即,对于实际网络层(奇数层)中的中间层,使得各个矩阵元素满足高斯分布的三元分解数据分布dn(3);对于输入层和输出层,使得各个矩阵元素满足高斯分布的二元分解数据分布dn(2)。
[0145]
综合以上公式(17),(18)和(19),可以证明,组合满足高斯分布。
[0146]
具体的,对于输入层,由于和均满足dn(2),其乘积符合高斯分布;
[0147]
对于中间奇数层,即实际网络层中的中间层,和均满足dn(3),其乘积符合高斯分布;
[0148]
对于输出层,和均满足dn(2),其乘积符合高斯分布。
[0149]
接着,在步骤26,第一终端将叠加有第二噪声的混淆梯度项发送给服务器。例如,在交叉熵损失的情况下,将叠加有噪声的扰动梯度以及扰动项ψ
(l)
和β
(l)
,发送给服务器。在mse损失的情况下,将叠加有噪声的扰动梯度以及扰动项σ
(l)
和β
(l)
,发送给服务器。
[0150]
于是,在步骤27,服务器利用各个网络层对应的随机扰动矩阵r
(l)
,对相应网络层的混淆梯度项进行恢复处理,得到多个网络层的恢复梯度。
[0151]
例如,在交叉熵损失的情况下,服务器可以依据公式(14),利用矩阵r
(l)
进行恢复
处理。在mse损失的情况下,可以依据公式(8)进行类似的恢复处理。恢复处理得到的结果是在真实梯度上叠加最终噪声的结果。由于已经确保满足高斯分布,使得最终噪声可以满足差分隐私的要求。
[0152]
于是,在步骤28,服务器可以将从各个终端得到的梯度恢复结果进行聚合,根据聚合结果,更新各个网络层的当前参数矩阵,实现一次模型参数的迭代更新。
[0153]
回顾以上过程可以看到,在模型迭代更新过程中,服务器将各个网络层的参数进行扰动加密后,下发给终端。终端可以基于扰动加密的模型,直接进行样本数据的处理,得到扰动梯度。对模型参数的扰动加密,一方面确保模型参数的安全,并且扰动加密的方式使得终端可以无需解密,直接进行样本处理,极大节约了终端的计算资源。特别是对于计算能力有限的小型终端来说,这样的方式优势非常明显。此外,终端在得到扰动梯度后,还在其上添加噪声,并使得扰动恢复后最终的噪声符合高斯分布,从而满足差分隐私的要求。于是,服务器和其他各方,也都无从获取到梯度的真实值,进一步保证了隐私数据的安全。
[0154]
根据另一方面的实施例,还提供一种基于隐私保护的联合训练业务模型的装置,该装置部署在服务器中,服务器可以实现为任何具有计算、处理能力的设备或设备集群。图5示出根据一个实施例的部署在服务器中的训练装置示意图。如图5所示,该训练装置500包括:
[0155]
扰动矩阵确定单元51,配置为针对所述神经网络中的多个网络层,确定对应的随机扰动矩阵;
[0156]
扰动加密单元52,配置为利用所述随机扰动矩阵对相应网络层的当前参数矩阵进行扰动处理,得到该网络层的扰动加密参数矩阵;
[0157]
发送单元53,配置为将扰动加密模型发送给多个终端,其中所述扰动加密模型包括所述多个网络层对应的扰动加密参数矩阵;
[0158]
接收单元54,配置为从所述多个终端中任意的第一终端接收所述多个网络层分别对应的混淆梯度项,其中所述混淆梯度项是在第一噪声梯度项上叠加第二噪声而得到,其中所述第一噪声梯度项通过利用所述扰动加密模型处理所述第一终端本地的第一样本集而得到,所述第二噪声与对应网络层的所述随机扰动矩阵的组合结果满足高斯分布;
[0159]
扰动恢复单元55,配置为利用所述多个网络层对应的所述随机扰动矩阵,对相应网络层的混淆梯度项进行恢复处理,得到所述多个网络层的梯度恢复结果;
[0160]
聚合更新单元56,配置为将对应于所述多个终端的梯度恢复结果进行聚合,根据聚合结果,更新所述多个网络层的当前参数矩阵。
[0161]
根据一种实施方式,扰动矩阵确定单元51包括(未示出):随机向量确定模块,配置为针对所述神经网络的各个网络层,确定对应的随机向量,所述随机向量的维度与相应网络层中神经元的数目相同;矩阵确定模块,配置为根据第一网络层的随机向量及其相邻网络层的随机向量,确定该第一网络层对应的随机扰动矩阵,其中所述第一网络层是所述神经网络中的中间层。
[0162]
在一个实施例中,所述神经网络包括n个待训练的实际网络层,以及插入在相邻的实际网络层之间的n-1个过渡网络层,所述过渡网络层具有固定的单位矩阵作为其参数矩阵;在这样的情况下,上述随机向量确定模块具体配置为:针对实际网络层中的各个中间层,确定第一随机向量;针对各个过渡网络层,确定第二随机向量;其中,所述第一随机向量
和第二随机向量中的向量元素,具有不同的数据分布。
[0163]
进一步的,在一个例子中,上述第一随机向量中的各个向量元素,符合高斯分布的三元分解数据分布;上述第二随机向量中的各个向量元素的倒数,符合高斯分布的三元分解数据分布;所述第一网络层为实际网络层中的中间层;在这样的情况下,上述矩阵确定模块具体配置为:将该第一网络层对应的第一随机向量中的各个向量元素,和该第一网络层的前一过渡网络层对应的第二随机向量中的各个向量元素的倒数分别进行组合,将组合结果作为该第一网络层对应的随机扰动矩阵中的各个矩阵元素。
[0164]
在一个实施例中,上述随机向量确定模块还配置为:针对实际网络层中的输入层,确定第三随机向量,其中各个向量元素符合高斯分布的二元分解数据分布;并且,矩阵确定模块还配置为:将该输入层对应的第三随机向量中的元素作为矩阵元素,得到该输入层对应的随机扰动矩阵。
[0165]
在一个实施例中,上述随机向量确定模块还配置为,针对最后一个过渡网络层,确定最后一个第二随机向量,其中各个向量元素的倒数,符合高斯分布的二元分解数据分布;并且,矩阵确定模块还配置为:针对实际网络层中的输出层,将所述最后一个第二随机向量中各个元素的倒数作为矩阵元素,得到该输出层对应的随机扰动矩阵。
[0166]
根据一个实施例,前述多个网络层为所述n个待训练的实际网络层。
[0167]
根据一种实施方式,扰动加密单元52具体配置为:对于所述n个实际网络层中除输出层之外的其他各网络层,将该网络层对应的随机扰动矩阵与其当前参数矩阵进行对应位置元素组合,得到该网络层的扰动加密参数矩阵;对于所述输出层,将该输出层对应的随机扰动矩阵与其当前参数矩阵进行对应位置元素组合,并叠加针对该输出层的附加扰动矩阵,得到该输出层的扰动加密参数矩阵。
[0168]
在各个实施例中,所述业务模型用于针对业务对象进行预测,所述业务对象包括以下之一:用户、商户、交易、图像、文本、音频。
[0169]
根据又一方面的实施例,还提供一种基于隐私保护的联合训练业务模型的装置,该装置部署在第一终端中,该第一终端可以是任意类型的终端计算设备。图6示出根据一个实施例的部署在终端中的训练装置示意图。如图6所示,该训练装置600包括:
[0170]
接收单元61,配置为从服务器接收扰动加密模型,其中包括所述神经网络中多个网络层分别对应的扰动加密参数矩阵,所述扰动加密参数矩阵是利用相应网络层的随机扰动矩阵对该网络层的当前参数矩阵进行扰动处理而得到;
[0171]
梯度获取单元62,配置为利用所述扰动加密模型处理所述第一终端本地的第一样本集,得到针对所述多个网络层中各网络层的第一噪声梯度项;
[0172]
噪声添加单元63,配置为在所述第一噪声梯度项上叠加第二噪声,得到针对各网络层的混淆梯度项;其中,所述第二噪声与对应网络层的所述随机扰动矩阵的组合结果满足高斯分布;
[0173]
发送单元64,配置为将所述混淆梯度项发送给所述服务器,使其利用所述随机扰动矩阵对相应网络层的混淆梯度项进行恢复处理,并将对应于多个终端的恢复梯度进行聚合,从而更新所述多个网络层的当前参数矩阵。
[0174]
在一个实施例中,所述神经网络包括n个待训练的实际网络层,以及插入在相邻的实际网络层之间的n-1个过渡网络层,所述过渡网络层具有固定的单位矩阵作为其参数矩
阵;所述多个网络层为所述n个待训练的实际网络层。
[0175]
根据一个实施例,梯度获取单元62具体配置为:将所述第一样本集中各个样本的特征数据输入所述扰动加密模型,得到各网络层的扰动输出;根据各网络层的扰动输出,各个样本的标签数据以及预设损失函数,得到所述第一噪声梯度项。
[0176]
在一个实施例中,噪声添加单元63具体配置为:确定各网络层对应的噪声矩阵;将所述噪声矩阵,乘以预设的噪声幅度和方差,作为各网络层对应的第二噪声,叠加到所述第一噪声梯度项上,其中,所述噪声幅度不小于梯度的范数。
[0177]
进一步的,噪声添加单元63确定各网络层对应的噪声矩阵可以包括:对于所述多个网络层中的中间层,确定第一噪声矩阵,其中各个矩阵元素满足高斯分布的三元分解数据分布;对于所述多个网络层的输入层和输出层,确定第二噪声矩阵,其中各个矩阵元素满足高斯分布的二元分解数据分布。
[0178]
通过以上的装置,可以利用模型的扰动加密和梯度噪声的差分隐私处理,保护模型参数和梯度数据均不泄密,进而确保隐私数据安全。
[0179]
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
[0180]
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
[0181]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0182]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献