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

一种保护隐私的多方联合训练方法及装置与流程

2022-06-25 14:45:26 来源:中国专利 TAG:


1.本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种保护隐私的多方联合训练方法及装置。


背景技术:

2.随着人工智能技术的发展,神经网络已逐渐应用于风险评估、语音识别、人脸识别和自然语言处理等领域。不同应用场景下的神经网络结构已经相对固定,为了实现更好的模型性能,需要更多的训练数据。在医疗、金融等领域,不同的企业或机构拥有不同的数据样本,将这些样本数据进行联合训练,将极大地提升模型精度。因此,多方联合训练模型成为近年来的研究热点。在多方联合训练模型的过程中,多个参与方的设备通过相互间的数据传输,完成联合训练。在迭代训练过程中,设备之间需要进行大量的数据传输。同时,参与方之间在传输数据时还应考虑数据的隐私保护。
3.因此,希望能有改进的方案,在多方联合训练模型的过程中,能够尽可能保护数据隐私,并且提高设备之间的整体处理效率。


技术实现要素:

4.本说明书一个或多个实施例描述了一种保护隐私的多方联合训练方法及装置,以尽可能保护数据隐私,并且提高设备之间的整体处理效率。具体的技术方案如下。
5.第一方面,实施例提供了一种保护隐私的多方联合训练方法,其中,第二设备和多个第一设备分别拥有业务预测模型中的第二部分模型和多个第一部分模型,所述方法包括:
6.任意一个第一设备,通过自身的第一部分模型确定自身拥有的样本的提取特征,并基于所述提取特征确定用于对所述第一部分模型进行更新的第一梯度分片;
7.多个第一设备与所述第二设备之间,通过基于多方安全计算的数据交互,使得所述第二设备得到对多个提取特征聚合后的聚合特征;
8.所述第二设备,利用所述聚合特征确定所述第二部分模型的输出数据,基于所述输出数据和所述聚合特征确定用于对多个第一部分模型进行更新的第二梯度分片,并将其发送至多个第一设备;
9.多个第一设备,分别接收所述第二设备发送的第二梯度分片,基于所述第二梯度分片和自身确定的第一梯度分片,对自身的第一部分模型进行更新。
10.在一种实施方式中,多个第一设备与所述第二设备之间,通过基于秘密分享算法的数据交互,使得所述第二设备得到对多个提取特征聚合后的聚合特征。
11.在一种实施方式中,任意一个第一设备,基于秘密分享算法将其自身的提取特征拆分成多个特征分片,并将多个特征分片分别发送至其他第一设备,接收所述其他第一设备发送的特征分片;利用自身的特征分片和所述其他第一设备的特征分片确定自身的密态特征,并将其发送至所述第二设备;
12.所述第二设备,接收多个第一设备分别发送的密态特征,并基于多个密态特征确定所述聚合特征。
13.在一种实施方式中,所述基于多个密态特征确定所述聚合特征的步骤,包括,将多个密态特征的和值或均值确定为所述聚合特征。
14.在一种实施方式中,所述输出数据为标签预测值;所述第二设备,在基于所述输出数据和所述聚合特征确定用于对多个第一部分模型进行更新的第二梯度分片时,包括:
15.基于所述输出数据确定样本的预测损失;
16.利用所述预测损失和所述聚合特征确定所述第二梯度分片。
17.在一种实施方式中,所述业务预测模型还包括第三部分模型,并配置在第三设备中;所述方法还包括:
18.所述第二设备,将所述输出数据发送至所述第三设备,并基于所述输出数据和所述第二部分模型确定用于对所述第二部分模型进行更新的第三梯度分片;
19.所述第三设备,利用所述输出数据和所述第三部分模型确定样本的标签预测值,利用所述标签预测值确定样本的预测损失,并基于所述预测损失和所述输出数据确定用于对所述第一部分模型和第二部分模型进行更新的第四梯度分片,并将其发送至所述第二设备;
20.所述第二设备,接收所述第三设备发送的第四梯度分片,利用所述第四梯度分片和所述第三梯度分片对所述第二部分模型进行更新;利用所述输出数据和所述聚合特征确定第五梯度分片,基于所述第五梯度分片确定所述第二梯度分片。
21.在一种实施方式中,所述基于所述第五梯度分片确定所述第二梯度分片的步骤,包括:
22.利用所述第四梯度分片和所述第五梯度分片的乘积,确定所述第二梯度分片。
23.在一种实施方式中,所述第三设备,还将所述第四梯度分片发送至所述第一设备;
24.所述第二设备,直接将所述第五梯度分片确定为所述第二梯度分片;
25.所述第一设备,还接收所述第三设备发送的第四梯度分片,基于所述第四梯度分片、所述第二梯度分片和自身确定的第一梯度分片,对自身的第一部分模型进行更新。
26.在一种实施方式中,所述基于所述提取特征确定用于对所述第一部分模型进行更新的第一梯度分片的步骤,包括:
27.在接收所述第二设备发送的第二梯度分片之前,基于所述提取特征确定用于对所述第一部分模型进行更新的第一梯度分片。
28.在一种实施方式中,所述基于所述提取特征确定用于对所述第一部分模型进行更新的第一梯度分片的步骤,包括:
29.基于所述提取特征对所述第一部分模型的偏导数,确定所述第一梯度分片。
30.在一种实施方式中,所述基于所述第二梯度分片和自身确定的第一梯度分片,对自身的第一部分模型进行更新的步骤,包括:
31.基于所述第二梯度分片与自身确定的第一梯度分片的乘积,确定针对自身的第一部分模型的第一梯度;
32.利用所述第一梯度,对所述第一部分模型进行更新。
33.第二方面,实施例提供了一种保护隐私的多方联合训练方法,其中,第二设备和多
个第一设备分别拥有业务预测模型中的第二部分模型和多个第一部分模型,所述方法通过任意一个第一设备执行,包括:
34.通过自身的第一部分模型确定自身拥有的样本的提取特征;
35.基于所述提取特征确定用于对所述第一部分模型进行更新的第一梯度分片;
36.通过与其他第一设备和所述第二设备之间基于多方安全计算的数据交互,使得所述第二设备得到对多个提取特征聚合后的聚合特征,并使得所述第二设备基于输出数据和所述聚合特征确定用于对多个第一部分模型进行更新的第二梯度分片,并将其发送至所述第一设备;其中,所述输出数据基于所述聚合特征和所述第二部分模型确定;
37.接收所述第二设备发送的第二梯度分片;
38.基于所述第二梯度分片和所述第一梯度分片,对所述第一部分模型进行更新。
39.第三方面,实施例提供了一种保护隐私的多方联合训练方法,其中,第二设备和多个第一设备分别拥有业务预测模型中的第二部分模型和多个第一部分模型,所述方法通过所述第二设备执行,包括:
40.通过与多个第一设备之间基于多方安全计算的数据交互,得到对多个第一设备的提取特征聚合后的聚合特征;其中,多个提取特征分别是利用各自第一设备的样本和第一部分模型确定;
41.利用所述聚合特征确定所述第二部分模型的输出数据;
42.基于所述输出数据和所述聚合特征确定用于对多个第一部分模型进行更新的第二梯度分片;
43.将所述第二梯度分片发送至多个第一设备,以使得任意一个第一设备基于所述第二梯度分片和第一梯度分片对第一部分模型进行更新;其中,所述第一梯度分片基于各自的提取特征和第一部分模型确定。
44.第四方面,实施例提供了一种保护隐私的多方联合训练系统,包括第二设备和多个第一设备;其中,所述第二设备和多个第一设备分别拥有业务预测模型中的第二部分模型和多个第一部分模型;
45.任意一个第一设备,用于通过自身的第一部分模型确定自身拥有的样本的提取特征,并基于所述提取特征确定用于对所述第一部分模型进行更新的第一梯度分片;
46.多个第一设备与所述第二设备之间,用于通过基于多方安全计算的数据交互,使得所述第二设备得到对多个提取特征聚合后的聚合特征;
47.所述第二设备,用于利用所述聚合特征确定所述第二部分模型的输出数据,基于所述输出数据和所述聚合特征确定用于对多个第一部分模型进行更新的第二梯度分片,并将其发送至多个第一设备;
48.多个第一设备,用于分别接收所述第二设备发送的第二梯度分片,基于所述第二梯度分片和自身确定的第一梯度分片,对自身的第一部分模型进行更新。
49.第五方面,实施例提供了一种保护隐私的多方联合训练装置,其中,第二设备和多个第一设备分别拥有业务预测模型中的第二部分模型和多个第一部分模型,所述装置部署在任意一个第一设备中,包括:
50.第一确定模块,配置为,通过自身的第一部分模型确定自身拥有的样本的提取特征;
51.第二确定模块,配置为,基于所述提取特征确定用于对所述第一部分模型进行更新的第一梯度分片;
52.第一交互模块,配置为,通过与其他第一设备和所述第二设备之间基于多方安全计算的数据交互,使得所述第二设备得到对多个提取特征聚合后的聚合特征,并使得所述第二设备基于输出数据和所述聚合特征确定用于对多个第一部分模型进行更新的第二梯度分片,并将其发送至所述第一设备;其中,所述输出数据基于所述聚合特征和所述第二部分模型确定;
53.第一接收模块,配置为,接收所述第二设备发送的第二梯度分片;
54.第一更新模块,配置为,基于所述第二梯度分片和所述第一梯度分片,对所述第一部分模型进行更新。
55.第六方面,实施例提供了一种保护隐私的多方联合训练装置,其中,第二设备和多个第一设备分别拥有业务预测模型中的第二部分模型和多个第一部分模型,所述装置部署在所述第二设备中,包括:
56.第二交互模块,配置为,通过与多个第一设备之间基于多方安全计算的数据交互,得到对多个第一设备的提取特征聚合后的聚合特征;其中,多个提取特征分别是利用各自第一设备的样本和第一部分模型确定;
57.第三确定模块,配置为,利用所述聚合特征确定所述第二部分模型的输出数据;
58.第四确定模块,配置为,基于所述输出数据和所述聚合特征确定用于对多个第一部分模型进行更新的第二梯度分片;
59.第一发送模块,配置为,将所述第二梯度分片发送至多个第一设备,以使得任意一个第一设备基于所述第二梯度分片和第一梯度分片对第一部分模型进行更新;其中,所述第一梯度分片基于各自的提取特征和第一部分模型确定。
60.第七方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第三方面中任一项所述的方法。
61.第八方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第三方面中任一项所述的方法。
62.本说明书实施例提供的方法及装置中,第一设备与第二设备之间通过基于多方安全计算的数据交互,使得第二设备得到对多个第一设备的提取特征聚合后的聚合特征,从而较好地保护了提取特征的数据隐私。同时,第二设备确定用于对第一部分模型进行更新的第二梯度分片,在对模型更新的过程中分担了第一设备的部分处理任务,使得第一设备能够更快速地更新模型。因此,本说明书实施例能够较好地保护数据隐私,并且能够综合考虑设备的算力,提高设备之间的整体处理效率。
附图说明
63.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的
附图。
64.图1为本说明书披露的一个实施例的实施场景示意图;
65.图2为实施例提供的一种保护隐私的多方联合训练方法的流程示意图;
66.图3为实施例提供的一种多方联合训练方法的应用场景示意图;
67.图4为实施例提供的一种保护隐私的多方联合训练方法的流程示意图;
68.图5为实施例提供的一种保护隐私的多方联合训练方法的流程示意图;
69.图6为实施例提供的一种保护隐私的多方联合训练系统的示意性框图;
70.图7为实施例提供的一种保护隐私的多方联合训练装置的示意性框图;
71.图8为实施例提供的一种保护隐私的多方联合训练装置的示意性框图。
具体实施方式
72.下面结合附图,对本说明书提供的方案进行描述。
73.图1为本说明书披露的一个实施例的实施场景示意图。其中,多个设备联合训练业务预测模型。图1中的设备1、设备2和设备3拥有业务预测模型中的部分模型,设备4拥有业务预测模型中的部分模型。
74.模型的训练过程可以划分为前向计算阶段和后向计算阶段。在前向计算阶段,设备利用样本和业务预测模型确定样本的预测结果,并利用预测结果与样本标签的差异确定预测损失。在后向计算阶段,设备利用预测损失对业务预测模型进行更新。
75.图1中,在前向计算阶段,设备1~设备3利用其各自的部分模型得到样本的提取特征,并分别将提取特征发送至设备4。设备4得到多个提取特征的聚合特征,并利用自身的部分模型继续进行模型训练。由于设备1~设备3拥有前一部分模型,设备4拥有后一部分模型,在后向计算阶段中,用于更新模型的梯度从后向前传播。其中,设备4可以确定用于对设备1~设备3中的部分模型进行更新的梯度分片,并将该梯度分片发送至设备1~设备3。设备1利用自身计算的梯度分片和设备4发送的梯度分片,对自身的部分模型进行更新。设备2和设备3也执行同样的模型更新过程。图1中设备1~设备3为样本拥有方,其数量仅仅是一种举例,在实际应用中其数量可以更多。
76.上述的联合训练也可以称为拆分学习,也就是将整个模型的学习过程进行拆分,由不同的设备承担部分模型学习的计算任务。上述业务预测模型,用于对对象进行业务预测,其可以采用深度神经网络(deep neural networks,dnn)、卷积神经网络(convolutional neural networks,cnn)、循环神经网络(recurrent neural network,rnn)或图神经网络(graph neural networks,gnn)等实现。
77.上述设备1~设备4可以分别是不同的参与方设备。例如,上述设备1~设备3可以分别是不同的样本拥有方设备,设备4可以是服务器,也可以是标签拥有方,还可以既拥有标签数据,又拥有样本数据。在不同的应用场景中,设备可以由不同的参与方来实现。具体的,上述多方联合训练可以应用在不同的网络架构中。例如,可以应用在由服务器和两个或两个以上的样本拥有方设备构成的客户端-服务器架构中,也可以应用在由两个或两个以上的样本拥有方设备构成的对等网络架构中。
78.样本拥有方可以对应于不同的服务平台,不同的服务平台利用其计算机设备与其他设备进行数据传输。服务平台可以是银行、医院、体检机构或其他机构或组织。因此,不同
的样本拥有方,可以拥有相同样本的不同属性的特征值,这属于样本数据分布的垂直场景。样本拥有方中的样本数据可以是对象的业务数据。例如,对象可以但不限于是用户、商品、交易、事件中的一种。对象的业务数据可以包括对象特征数据,例如可以但不限于包括以下特征组中的至少一个:对象的基本属性特征、对象的历史行为特征、对象的关联关系特征、对象的交互特征、对象的身体指标。多个样本拥有方的样本数据构成整个样本空间。样本数据是样本拥有方的隐私数据,不能明文向外部发送。
79.在样本数据分布的垂直场景中,可以将完整的业务预测模型拆分成若干个部分模型,分别由不同的参与方设备利用其拥有的样本数据负责某个部分模型的训练。本说明书实施例可以应用在不同的网络架构中,参与方设备可以包括若干个样本拥有方设备,也可以包括服务器,服务器中没有样本数据。在模型训练的多次迭代过程中,参与方设备通过相互之间的数据传输,能够实现对业务预测模型的联合训练。
80.在多方联合训练中,不同设备之间存在数据传输,这就要求样本拥有方设备在向外发送数据时应注意数据隐私的保护。同时,部分参与方设备的计算能力有限,这使得联合训练过程的整体计算效率并不高。
81.为了能较好地保护数据隐私,同时提高设备之间的整体处理效率,本说明书实施例提供了一种保护隐私的多方联合训练方法。为了方便描述,先脱离具体的应用场景和网络架构,仅以进行多方联合训练的多个设备中的第一设备和第二设备为例,说明实施例的核心发明方案。在该方法中,第二设备和多个第一设备分别拥有业务预测模型中的第二部分模型和多个第一部分模型,在步骤s210中,任意一个第一设备通过自身的第一部分模型确定自身拥有的样本的提取特征。在步骤s220中,第一设备基于各自的提取特征确定用于对各自的第一部分模型进行更新的第一梯度分片。在步骤s230中,多个第一设备与第二设备之间,通过基于多方安全计算(mpc)的数据交互,使得第二设备得到对多个提取特征聚合后的聚合特征。在步骤s240中,第二设备利用聚合特征确定第二部分模型的输出数据,基于所述输出数据确定用于对多个第一部分模型进行更新的第二梯度分片,并将其发送至多个第一设备。在步骤s250中,多个第一设备,分别接收第二设备发送的第二梯度分片,基于第二梯度分片和自身确定的第一梯度分片,对自身的第一部分模型进行更新。
82.由于提取特征与样本数据之间具有明确的映射关系,基于提取特征能够反推出样本数据,进而导致隐私数据泄露。在本实施例中,设备之间通过多方安全计算进行数据交互,使得第二设备得到聚合特征,保护了提取特征的数据隐私。同时,由于第二设备确定了梯度分片,分担了第一设备的部分计算任务,使得第一设备能够更快速地对模型进行更新。
83.多方安全计算(secure multi-party computation,mpc)是一种可以用于多方参与的数据隐私保护技术,其具体实现方式包括同态加密、混淆电路、不经意传输、秘密分享等技术。采用多方安全计算的方式,能够实现多个设备之间针对提取特征的安全交互计算,进而在不发送明文提取特征的情况下,使得设备能够得到对多个提取特征进行聚合后的聚合特征。
84.下面结合流程示意图对实施例进行具体说明。
85.图2为实施例提供的一种保护隐私的多方联合训练方法的流程示意图。为了使得描述方面,下面以设备100代表第一设备,设备200代表第二设备。其中,业务预测模型至少通过若干个设备100和一个设备200进行联合训练。任意一个设备100拥有业务预测模型中
的第一部分模型(采用nn1表示),设备200拥有业务预测模型中的第二部分模型(采用nn2表示)。
86.业务预测模型可以包含多个计算层,第一部分模型nn1可以是业务预测模型中连续的前若干个计算层,第二部分模型nn2可以是业务预测模型中连续的中间若干个计算层,或者连续的后若干个计算层。第一部分模型nn1和第二部分模型nn2彼此之间可以是连续的,即第一部分模型nn1的输出可以作为第二部分模型nn2的输入。第一部分模型nn1位于第二部分模型nn2之前。例如,业务预测模型包含100个计算层,第一部分模型nn1可以是前50个计算层,第二部分模型可以是后50个计算层。第一部分模型nn1和第二部分模型nn2彼此之间也可以不连续,即其中间可以存在其他计算层。
87.设备100的数量有多个,不同设备100拥有所有样本的不同属性的特征值。因此,不同设备100的第一部分模型的计算层的数量可以相同,也可以不同,其中的模型参数也可以相同或不同。
88.在联合训练的初始,管理设备可以根据样本拥有方的样本属性,或者设备需要执行的操作,从业务预测模型中拆分出第一部分模型nn1和第二部分模型nn2,并将其分别下发至对应设备。
89.例如,当设备100是样本拥有方设备时,管理设备可以根据该设备拥有的样本属性,确定对应的计算层以及计算层中的神经元,得到第一部分模型nn1。该第一部分模型nn1用于基于样本的原始特征数据提取样本的深层特征,得到提取特征。
90.在客户端-服务器架构中,设备200可以是服务器。管理设备可以根据需要从业务预测模型中确定多个计算层,作为服务器中的第二部分模型nn2。该第二部分模型nn2用于继续提取样本的部分或全部特征数据,服务器用于执行该第二部分模型的多个计算层的计算处理。
91.在对等网络架构中,设备200可以是标签拥有方设备。管理设备可以将业务预测模型中的最后若干个计算层作为第二部分模型nn2,第二部分模型nn2用于基于从样本中提取的特征数据确定针对样本的预测结果。
92.多个设备100和设备200(即第一设备和第二设备),可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。模型的训练过程可以包括多次迭代,其中任意一次模型迭代可以包括以下步骤s210~s250。
93.步骤s210,任意一个设备100,通过自身的第一部分模型nn1确定自身拥有的样本的提取特征。所有的设备100都执行该步骤,即通过自身的第一部分模型nn1确定自身拥有的样本的提取特征。多个设备100分别得到各自的提取特征。该提取特征是第一部分模型nn1从样本的原始特征中提取得到的特征,其携带有隐私数据。
94.对于任意一个设备100,其可以从自身的样本集中选择一定数量的样本,将其原始特征输入第一部分模型nn1中,通过第一部分模型nn1确定样本的提取特征。
95.步骤s220,多个设备100,分别基于自身的提取特征确定用于对自身的第一部分模型进行更新的第一梯度分片g1。多个设备100各自计算各自的第一梯度分片g1,彼此互不关联。
96.下面针对任意一个设备100,说明确定第一梯度分片g1的过程。
97.当第一部分模型nn1中包含一个计算层时,设备100可以基于提取特征确定第一部
分模型nn1中该计算层对应的第一梯度分片g1。当第一部分模型nn1中包含多个计算层时,设备100可以基于提取特征,确定第一部分模型nn1中多个计算层分别对应的第一梯度分片g1。也就是,每个计算层分别对应一个第一梯度分片g1。
98.在确定第一梯度分片g1时,设备100可以基于提取特征对第一部分模型nn1的偏导数,确定第一梯度分片g1。例如,可以基于确定第一梯度分片g1,b为提取特征。
99.当第一部分模型nn1中包含一个或多个计算层时,针对每个计算层,可以基于提取特征对该计算层的偏导数,确定该计算层的第一梯度分片g1。由于多个计算层之间存在数据的输入输出关系,在确定多个计算层的第一梯度分片g1时,可以按照从后往前的计算层顺序确定。该从后往前的顺序,是指与前向计算阶段数据传输相反的方向。
100.在一种实施方式中,可以利用第一部分模型nn1的计算图确定第一梯度分片g1。例如,设备100可以先获取第一部分模型nn1的计算图,然后利用该计算图,确定提取特征对第一部分模型nn1中多个模型参数的偏导数,基于多个偏导数确定第一梯度分片g1。其中,该计算图包含了第一部分模型nn1中的多个计算层,以及不同计算层的神经元之间的数据输入输出关系。
101.在具体实施时,可以针对任意一个计算层中的任意一个模型参数,利用计算图中从提取特征到该模型参数的路线确定该模型参数的偏导数。当采用该方式确定该计算层中所有模型参数的偏导数之后,将所有模型参数的偏导数构建成矩阵,得到该计算层的矩阵形式的第一梯度分片g1。
102.步骤s230,多个设备100与设备200之间,通过基于mpc的数据交互,使得设备200得到对多个提取特征聚合后的聚合特征。
103.在一种实施方式中,上述多个设备100与设备200之间,可以通过基于秘密分享算法或同态加密等算法的数据交互,使得设备200得到对多个提取特征聚合后的聚合特征。下面以秘密分享算法为例,具体说明其实施过程。
104.任意一个设备100,基于秘密分享算法将其自身的提取特征拆分成多个特征分片,并将多个特征分片分别发送至其他设备100,接收其他设备100发送的特征分片;利用自身的特征分片和其他设备100的特征分片确定自身的密态特征,并将其发送至设备200。
105.设备200,接收多个设备100分别发送的密态特征,并基于多个密态特征确定聚合特征。设备200可以将多个密态特征的和值或均值确定为聚合特征。
106.设备100在拆分提取特征时,可以基于设备100的数量进行拆分。例如,设备100的数量为m,则可以将提取特征拆分为m个特征分片。对于任意一个设备100,其拆分得到的m个特征分片可以重构得到提取特征。其中,重构可以是相加操作,或者乘以设定系数后相加的操作。即便是将m-1个特征分片发送至其他设备100,其他设备100也无法基于该m-1个特征分片重构得到提取特征,因此该实施方式易于实施,并且也能够很好地保护提取特征的隐私数据不被泄露。
107.设备100在确定密态特征时,可以通过将自身的特征分片和其他设备100的特征分片进行重构而得到。任意一个设备100的密态特征是通过将多个设备100的特征分片进行重构后得到的,设备200在接收到多个密态特征时,无法从多个密态特征中分离出各个设备100的特征分片,因此也无法重构出设备100的提取特征。
108.为了方便说明,下面以3个设备100为例,并分别以设备1、设备2和设备3表示各个
设备100,来具体说明上述实施方式。其中,提取特征采用矩阵形式表示。
109.设备1,将其自身的提取特征矩阵l1拆分为分片[l1]1、[l1]2和[l1]3,并将[l1]2和[l1]3分别发送至设备2和设备3;
[0110]
设备2,将其自身的提取特征矩阵l2拆分为分片[l2]1、[l2]2和[l2]3,并将[l2]1和[l2]3分别发送至设备1和设备3;
[0111]
设备3,将其自身的提取特征矩阵l3拆分为分片[l3]1、[l3]2和[l3]3,并将[l3]1和[l3]2分别发送至设备1和设备2。
[0112]
接着,设备1可以通过公式[l1]=[l1]1 [l2]1 [l3]1计算得到密态特征[l1],并将[l1]发送至设备200;
[0113]
设备2可以通过公式[l2]=[l1]2 [l2]2 [l3]2计算得到密态特征[l2],并将[l2]发送至设备200;
[0114]
设备3可以通过公式[l3]=[l1]3 [l2]3 [l3]3计算得到密态特征[l3],并将[l3]发送至设备200。
[0115]
这样,设备200可以接收到设备1发送的[l1],设备2发送的[l2],以及设备3发送的[l3],并利用公式l
聚合
=[l1] [l2] [l3]或l
聚合
=([l1] [l2] [l3])/3,得到聚合特征。
[0116]
在整个数据交互传输过程中,设备100没有将明文的提取特征向外部发送,又使得设备200得到了聚合特征。
[0117]
步骤s240,设备200,利用聚合特征确定第二部分模型nn2的输出数据,基于输出数据和聚合特征确定用于对多个第一部分模型nn1进行更新的第二梯度分片g2,并将其发送至多个设备100,多个设备100分别接收设备200发送的第二梯度分片g2。
[0118]
设备200在利用聚合特征确定第二部分模型nn2的输出数据时,可以直接将聚合特征输入第二部分模型nn2,也可以对聚合特征进行预处理,将预处理后的第二输入数据c输入第二部分模型nn2。
[0119]
在不同的应用场景中,设备200在确定第二梯度分片g2时具有不同的实施方式,在后续内容中有详细说明,此处不再赘述。
[0120]
在确定第二梯度分片g2时,可以采用求偏导数的方式进行。出于隐私保护的考虑,设备200无法到每一个设备100的提取特征,而获取到的是聚合特征。因此,基于输出数据和聚合特征确定的第二梯度分片g2,是用于对多个第一部分模型nn1都适用的梯度分片。因此,设备200针对不同的设备100,确定了同一个第二梯度分片g2。
[0121]
在发送第二梯度分片g2时,设备200可以分别将该第二梯度分片g2一一发送至不同的设备100,也可以采用广播的方式,将第二梯度分片g2发送至不同的设备100。
[0122]
步骤s250,多个设备100,基于第二梯度分片g2和自身确定的第一梯度分片g1,对自身的第一部分模型nn1进行更新。在本实施例中,在更新第一部分模型nn1时,需要使用完整梯度进行更新,而第一梯度分片g1和第二梯度分片g2用于确定该完整梯度。
[0123]
任意一个设备100,可以基于第二梯度分片g2与自身确定的第一梯度分片g1的乘积,确定针对自身的第一部分模型nn1的第一梯度g1,利用第一梯度g1,对第一部分模型nn1进行更新。该第一梯度g1是用于对第一部分模型nn1进行更新的完整梯度。
[0124]
当第一部分模型nn1包含多个计算层时,设备100可以针对任意一个计算层,利用该计算层的第一梯度分片g1和第二梯度分片g2,对该计算层中的模型参数进行更新。
[0125]
具体的,针对任意一个计算层,可以基于其对应的第一梯度分片g1与第二梯度分片g2的乘积,确定针对该计算层的第一梯度g1。接着,设备100可以利用该计算层的第一梯度g1更新该计算层。针对多个计算层,可以按照从后向前的顺序依次更新每个计算层的模型参数。
[0126]
在本实施例中,设备200在得到模型的输出数据之后可以基于输出数据和聚合特征确定第二梯度分片g2,从而分担了设备100的一部分计算量。在设备200具有较高算力的情况下,设备200能够分担设备100的部分计算量,从而使得设备100能够较快完成后向计算阶段的模型更新,提高模型训练过程的整体效率。
[0127]
下面再回到上述步骤s210至步骤s240。
[0128]
在步骤s210中,设备100在得到样本的提取特征之后,通过步骤s230将其向后传输(向模型的其他计算层传输),在未得到后面的计算层反馈的本次模型迭代的预测损失的梯度时,无法执行更新模型的操作。于是就处于等待中,等待设备200向设备100反馈梯度等数据。
[0129]
为了进一步提高整体的数据处理效率,本实施例中设备100还可以充分利用该等待时间,在该等待时间中确定第一梯度分片g1,即执行步骤s220。也就是,设备100可以在接收设备200发送的第二梯度分片g2(步骤s240中)之前,执行基于提取特征确定第一梯度分片g1的步骤,从而充分利用设备100的等待时间。设备100在接收到设备200反馈的第二梯度分片g2之后,能够利用第一梯度分片g1和第二梯度分片g2更加快速地实现对第一部分模型nn1的模型更新,进而提高设备100和设备200之间整体的处理效率。
[0130]
下面结合不同的应用场景,针对上述的步骤s240和s250进行说明。
[0131]
在对等网络的应用场景中,多个设备100是样本拥有方设备,设备200是标签拥有方设备,业务预测模型划分成2个部分,设备200负责后一部分模型的计算以及损失计算。
[0132]
在步骤s240中,第二部分模型nn2的输出数据为标签预测值。
[0133]
设备200,在基于输出数据和聚合特征确定第二梯度分片g2时,具体可以基于输出数据确定样本的预测损失loss;接着,利用该预测损失loss和聚合特征确定第二梯度分片g2。
[0134]
在确定第二梯度分片g2时,可以基于预测损失loss对聚合特征的偏导数进行确定。具体的,可以获取第二部分模型nn2的计算图,利用该计算图确定预测损失loss对聚合特征的偏导数,得到第二梯度分片g2。其中,预测损失loss可以是一个数值,聚合特征l
聚合
可以是数值矩阵。
[0135]
在本实施场景中,输出数据可以理解为样本的预测结果,是样本经过第一部分模型nn1和第二部分模型nn2的处理之后得到的标签预测值(即预测数据)。
[0136]
在确定预测损失时,设备200可以利用标签预测值与样本的标注数据之间的差异,确定样本的预测损失loss。在确定样本的预测损失loss时,可以采用常用的损失函数进行确定。从将样本输入业务预测模型开始,到得到样本的预测数据,并确定样本的预测损失,该过程可以认为是前向计算阶段的处理过程。接下来,设备200可以继续进行后向计算阶段。
[0137]
设备200可以基于预测损失loss确定用于更新第二部分模型nn2的梯度数据,并利用该梯度数据更新第二部分模型nn2,也就是更新第二部分模型nn2的模型参数。其中,第二
部分模型nn2可以包含多个计算层,利用上述梯度数据对多个计算层中的模型参数进行更新,可以采用常规方式进行,具体方式不再详述。
[0138]
上述任意一个第一梯度分片g1可以是利用提取特征对第一部分模型nn1中的计算层的偏导数得到的雅可比矩阵(jacobian矩阵),第二梯度分片g2可以是利用预测损失loss对聚合特征的偏导数得到的雅克比矩阵。当第一部分模型nn1中的计算层w1采用二维矩阵表示,聚合特征也采用二维矩阵表示时,该计算层w1的第一梯度分片g1可以采用四维矩阵表示。
[0139]
在步骤s250中计算第一梯度分片g1与第二梯度分片g2的乘积时,为了使得第一梯度分片g1与第二梯度分片g2中的指定维度进行矩阵乘法,可以分别将第一梯度分片g1和第二梯度分片g2采用预设方式进行展平,基于展平后的第一梯度分片g1和第二梯度分片g2的乘积,得到第一梯度g1。
[0140]
下面结合客户端-服务器架构的应用场景,针对上述的步骤s240和s250进行说明。
[0141]
图3为实施例提供的一种多方联合训练方法的应用场景示意图。在该应用场景中,多个设备100是样本拥有方设备,设备200是服务器。业务预测模型还包括第三部分模型nn3,并配置在第三设备(采用设备300表示)中,设备300是标签拥有方。设备300(即第三设备)可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。
[0142]
在实际应用场景中,样本拥有方设备的算力较低,无法实现复杂的模型计算,而服务器可以拥有较高的配置,能够承担较强的计算任务。因此,可以将业务预测模型进行拆分,使得样本拥有方设备分得业务预测模型的前若干层,标签拥有方设备分得业务预测模型的最后若干层,服务器分得业务预测模型的中间若干层。服务器通常可以分得业务预测模型中间的大部分计算层,以服务器的较强算力承担大部分模型计算任务。
[0143]
如此,业务预测模型被划分为三部分,包括设备100(样本拥有方)拥有的第一部分模型nn1、设备200(服务器)拥有的第二部分模型nn2,以及设备300(标签拥有方)拥有的第三部分模型nn3。样本数据按照从第一部分模型nn1到第二部分模型nn2,再到第三部分模型nn3的顺序,依次输入各部分模型,完成模型训练的前向计算阶段。
[0144]
在前向计算阶段,设备200将输出数据发送至设备300,并基于输出数据和第二部分模型nn2确定用于对第二部分模型nn2进行更新的第三梯度分片g3。
[0145]
设备300接收设备200发送的输出数据,利用该输出数据和第三部分模型nn3确定样本的标签预测值,利用该标签预测值确定样本的预测损失。
[0146]
在后向计算阶段,设备300可以直接基于预测损失对第三部分模型nn3进行更新。具体实施方式可以采用常规方式进行,此处不再赘述。
[0147]
为了使得设备200和设备100能够更新其中的部分模型,设备300还基于上述预测损失和输出数据确定用于对第一部分模型nn1和第二部分模型nn2进行更新的第四梯度分片g4,并将该第四梯度分片g4发送至设备200。具体的,可以基于预测损失对输出数据a的偏导数确定第四梯度分片g4。具体的,可以获取第三部分模型nn3的计算图,利用该计算图计算预测损失对输出数据的偏导数,得到第四梯度分片g4。其中,输出数据a可以是数值矩阵的形式。
[0148]
然后,设备200接收设备300发送的第四梯度分片g4,利用第四梯度分片g4和第三梯度分片g3对自身的第二部分模型nn2进行更新。接着,设备200在确定第二梯度分片g2时,
具体可以利用输出数据和聚合特征确定第五梯度分片g5,基于第五梯度分片g5确定第二梯度分片g2,并将第二梯度分片g2发送至设备100。
[0149]
设备200可以在接收设备300发送的第四梯度分片g4之前,利用等待设备300反馈第四梯度分片g4的时间,来确定第三梯度分片g3,从而充分利用训练时间,提高设备的处理效率。
[0150]
在本实施例中,第三梯度分片g3和第四梯度分片g4用于确定更新第二部分模型nn2的完整梯度,而用于更新第一部分模型nn1的完整梯度,可以基于第四梯度分片g4、第二梯度分片g2和第一梯度分片g1确定。在执行步骤s250时,设备100需要用到第四梯度分片g4、第二梯度分片g2和第一梯度分片g1,具体可以采用多种实施方式实现对第一部分模型nn1的更新。
[0151]
在一种实施方式中,设备200在基于第五梯度分片g5确定第二梯度分片g2时,可以利用第四梯度分片g4和第五梯度分片g5的乘积确定第二梯度分片g2。这样,设备200就可以将第四梯度分片g4的信息结合在第二梯度分片g2中,设备100则可以直接基于第二梯度分片g2和自身确定的第一梯度分片g1,对自身的第一部分模型nn1进行更新。
[0152]
在另一种实施方式中,设备300可以将第四梯度分片g4直接发送至多个设备100。设备200,直接将第五梯度分片g5确定为第二梯度分片g2。
[0153]
任意一个设备100接收设备300发送的第四梯度分片g4,在执行步骤s250时,基于第四梯度分片g4、第二梯度分片g2和自身确定的第一梯度分片g1,对自身的第一部分模型nn1进行更新。
[0154]
具体的,可以基于第四梯度分片g4、第二梯度分片g2和第一梯度分片g1的乘积,确定第一梯度g1,利用第一梯度g1对第一部分模型nn1进行更新。
[0155]
上述步骤s210~s250可以理解为一次模型迭代过程,在业务预测模型训练过程中,该模型迭代过程可以执行多次,直至模型达到收敛条件。其中,收敛条件可以包括预测损失小于预设值,或者模型迭代次数达到预设次数等。在一次模型迭代过程中,从步骤s210至确定预测损失的这部分步骤,可以是针对一批样本执行的步骤,也可以是针对一个样本执行的步骤。
[0156]
下面结合具体的例子,对图3所示实施例进行说明。
[0157]
在垂直切分的多方联合训练任务中,假设有m个训练设备(即样本拥有方设备),多个训练设备对各自的样本训练集中的样本数据进行psi(private set intersection,隐私保护集合交集)处理,得到每个训练设备的样本空间xi,其中i=1,2

,m。标签数据集在训练设备k中,为yk。
[0158]
步骤1,模型分发与初始化。业务预测模型为dnn模型w,服务器充当管理设备的角色,初始化模型w,并依次将模型w分割为训练设备i模型wi(即第一部分模型)、服务器模型ws(即第二部分模型)和训练设备k的模型wk(即第三部分模型),并将模型wi下发至各个训练设备i,将模型wk下发至训练设备k。
[0159]
步骤2,训练设备前向传播。在任意一次训练迭代过程中,训练设备i分别读取各自样本训练集xi中的同一批样本,样本量为n,并利用这批样本进行模型wi的前向传播,得到输出层结果li(即提取特征);
[0160]
训练设备i利用秘密分享算法,将li拆分成两部分[li]1和,并将[li]j(i≠j)传输至
其他训练设备i,将[li]i保留在本地;
[0161]
训练设备i接收到其他训练成员发送的[li]j,进而得到密态特征[li]=[li]i [li]j

,将[li]传输至服务器;
[0162]
训练设备i利用模型wi的计算图,计算得到li对wi中每一计算层w
i,l
的偏导数雅克比矩阵j
i,l
,j
i,l
即是第一梯度分片。
[0163]
步骤3,服务器前向传播。服务器接收到所有训练设备的密态特征[li](i=1,2),利用l
聚合
=∑[li]对其进行解密得到聚合特征l
聚合
。服务器利用l
聚合
进行模型ws的前向传播,得到输出数据l
out
,并将l
out
发送至训练设备k;
[0164]
服务器利用模型ws的计算图,计算得到l
out
对模型ws中每一层模型w
s,l
的偏导数雅克比矩阵j
s,l
(即为第三梯度分片),以及l
out
对l
聚合
的偏导数雅克比矩阵js(即为第五梯度分片)。
[0165]
步骤4,损失函数计算。训练成员k接收服务器发送的输出数据l
out
,并基于l
out
继续进行模型wk的前向传播,得到标签预测值。训练成员k结合标签预测值和标签真实值yk得到损失函数值loss(即预测损失),并利用模型wk的计算图进行反向传播,更新模型wk;
[0166]
训练成员k利用wk的计算图计算得到loss关于输出数据l
out
的偏导数雅克比矩阵jk(即第四梯度分片),并将jk发送至服务器。
[0167]
步骤5,反向传播。服务器接收训练成员k发送的jk,并将第四梯度分片jk和第三梯度分片j
s,l
中对应维度进行展平(flatten),接着将展平后的矩阵进行矩阵乘法,得到模型ws的梯度gs,进而利用公式ws=w
s-αgs进行模型更新,其中,α为预设参数。
[0168]
例如,假设l
out
的矩阵维度是10*20,w
s,l
的矩阵维度是5*4,jk的矩阵维度是10*20,j
s,l
是基于l
out
和w
s,l
求得的四维矩阵,其维度是10*20*5*4。在展平时,可以将jk按照行与行连接,展平成1*200维的向量,将j
s,l
展平成200*1*5*4。在将展平后的jk与j
s,l
相乘,得到的梯度gs是5*4维矩阵。
[0169]
服务器将第四梯度分片jk和第五梯度分片js中对应维度进行展平,接着将展平后的矩阵进行矩阵乘法,得到ji(即第二梯度分片),并将ji分别发送至训练成员i。
[0170]
训练设备i将第二梯度分片ji和第一梯度分片j
i,l
中对应维度进行展平和矩阵乘法,得到训练设备i的模型wi的梯度gi,进而可以根据公式wi=w
i-αgi更新模型。
[0171]
多次重复上述步骤2~5,直至业务预测模型收敛,则完成模型训练。
[0172]
上述图3所示仅仅是本说明书的一种实施场景,服务器承担了样本拥有方设备较多的处理任务,从而能够尽可能减轻样本拥有方设备的计算负荷。在具体应用中,服务器和样本拥有方设备还可以采用其他的实施方式,以合理协调计算任务。
[0173]
上述图2均是从多个设备的角度对多方联合训练方法的说明。下面的图4和图5则分别以第一设备和第二设备为执行主体,对方法流程进行的说明。具体的实施方式可以参见图2所示实施例的描述,此处不再赘述。
[0174]
图4为实施例提供的一种保护隐私的多方联合训练方法的流程示意图。其中,第二设备和多个第一设备分别拥有业务预测模型中的第二部分模型和多个第一部分模型。该方法通过任意一个第一设备执行,包括以下步骤s410~s450。
[0175]
步骤s410,通过自身的第一部分模型确定自身拥有的样本的提取特征。
[0176]
步骤s420,基于提取特征确定用于对第一部分模型进行更新的第一梯度分片。
[0177]
步骤s430,通过与其他第一设备和第二设备之间基于多方安全计算的数据交互,使得第二设备得到对多个提取特征聚合后的聚合特征,并使得第二设备基于输出数据确定用于对多个第一部分模型进行更新的第二梯度分片,并将其发送至第一设备;其中,输出数据基于聚合特征和第二部分模型确定。
[0178]
步骤s440,接收第二设备发送的第二梯度分片。
[0179]
步骤s450,基于第二梯度分片和第一梯度分片,对第一部分模型进行更新。
[0180]
图5为实施例提供的一种保护隐私的多方联合训练方法的流程示意图。其中,第二设备和多个第一设备分别拥有业务预测模型中的第二部分模型和多个第一部分模型。该方法通过第二设备执行,包括以下步骤s510~s540。
[0181]
步骤s510,通过与多个第一设备之间基于多方安全计算的数据交互,得到对多个第一设备的提取特征聚合后的聚合特征。其中,多个提取特征分别是利用各自第一设备的样本和第一部分模型确定。
[0182]
步骤s520,利用聚合特征确定第二部分模型的输出数据。
[0183]
步骤s530,基于输出数据确定用于对多个第一部分模型进行更新的第二梯度分片。
[0184]
步骤s540,将第二梯度分片发送至多个第一设备,以使得任意一个第一设备基于第二梯度分片和第一梯度分片对第一部分模型进行更新。其中,第一梯度分片基于各自的提取特征和第一部分模型确定。
[0185]
本说明书中,第一设备、第一部分模型、第一梯度分片等词语中的“第一”,以及文中相应的“第二”,仅仅是为了区分和描述方便,而不具有任何限定意义。
[0186]
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
[0187]
图6为实施例提供的一种保护隐私的多方联合训练系统的示意性框图。该系统600包括第二设备620和多个第一设备610。其中,业务预测模型至少通过第一设备610和第二设备620进行联合训练,第二设备620和多个第一设备610分别拥有业务预测模型中的第二部分模型和多个第一部分模型。本系统实施例与图2所示方法实施例相对应。
[0188]
任意一个第一设备610,用于通过自身的第一部分模型确定自身拥有的样本的提取特征,并基于所述提取特征确定用于对所述第一部分模型进行更新的第一梯度分片;
[0189]
多个第一设备610与所述第二设备620之间,用于通过基于多方安全计算的数据交互,使得所述第二设备620得到对多个提取特征聚合后的聚合特征;
[0190]
所述第二设备620,用于利用所述聚合特征确定所述第二部分模型的输出数据,基于所述输出数据和聚合特征确定用于对多个第一部分模型进行更新的第二梯度分片,并将其发送至多个第一设备610;
[0191]
多个第一设备610,用于分别接收所述第二设备620发送的第二梯度分片,基于所述第二梯度分片和自身确定的第一梯度分片,对自身的第一部分模型进行更新。
[0192]
在一种实施方式中,多个第一设备610与所述第二设备620之间,用于通过基于秘
密分享算法的数据交互,使得所述第二设备620得到对多个提取特征聚合后的聚合特征。
[0193]
在一种实施方式中,任意一个第一设备610,用于基于秘密分享算法将其自身的提取特征拆分成多个特征分片,并将多个特征分片分别发送至其他第一设备610,接收所述其他第一设备610发送的特征分片;利用自身的特征分片和所述其他第一设备610的特征分片确定自身的密态特征,并将其发送至所述第二设备620;
[0194]
所述第二设备620,用于接收多个第一设备610分别发送的密态特征,并基于多个密态特征确定所述聚合特征。
[0195]
在一种实施方式中,第二设备620,在基于多个密态特征确定所述聚合特征时包括,将多个密态特征的和值或均值确定为所述聚合特征。
[0196]
在一种实施方式中,所述输出数据为标签预测值;所述第二设备620,在基于所述输出数据和聚合特征确定用于对多个第一部分模型进行更新的第二梯度分片时,包括:
[0197]
基于所述输出数据确定样本的预测损失;
[0198]
利用所述预测损失和所述聚合特征确定所述第二梯度分片。
[0199]
在一种实施方式中,业务预测模型还包括第三部分模型,并配置在第三设备630中;所述方法还包括:
[0200]
所述第二设备620,还用于将所述输出数据发送至所述第三设备630,并基于所述输出数据和所述第二部分模型确定用于对所述第二部分模型进行更新的第三梯度分片;
[0201]
所述第三设备630,用于接收所述第二设备620发送的输出数据,利用所述输出数据和所述第三部分模型确定样本的标签预测值,利用所述标签预测值确定样本的预测损失,并基于所述预测损失和所述输出数据确定用于对所述第一部分模型和第二部分模型进行更新的第四梯度分片,并将其发送至所述第二设备620;
[0202]
所述第二设备620,还用于接收所述第三设备630发送的第四梯度分片,利用所述第四梯度分片和所述第三梯度分片对所述第二部分模型进行更新;利用所述输出数据和所述聚合特征确定第五梯度分片,基于所述第五梯度分片确定所述第二梯度分片。
[0203]
在一种实施方式中,所述第二设备620,基于第五梯度分片确定所述第二梯度分片时包括,利用所述第四梯度分片和所述第五梯度分片的乘积,确定所述第二梯度分片。
[0204]
在一种实施方式中,所述第三设备630,还用于将所述第四梯度分片发送至所述第一设备610;
[0205]
所述第二设备620,具体用于直接将所述第五梯度分片确定为所述第二梯度分片;
[0206]
所述第一设备610,还用于接收所述第三设备发送的第四梯度分片,基于所述第四梯度分片、所述第二梯度分片和自身确定的第一梯度分片,对自身的第一部分模型进行更新。
[0207]
在一种实施方式中,所述第一设备610,具体用于在接收所述第二设备620发送的第二梯度分片之前,基于所述提取特征确定用于对所述第一部分模型进行更新的第一梯度分片。
[0208]
在一种实施方式中,所述第一设备610,具体用于基于所述提取特征对所述第一部分模型的偏导数,确定所述第一梯度分片。
[0209]
在一种实施方式中,所述第一设备610,基于所述第二梯度分片和自身确定的第一梯度分片,对自身的第一部分模型进行更新时,包括:
[0210]
基于所述第二梯度分片与自身确定的第一梯度分片的乘积,确定针对自身的第一部分模型的第一梯度;
[0211]
利用所述第一梯度,对所述第一部分模型进行更新。
[0212]
图7为实施例提供的一种保护隐私的多方联合训练装置的示意性框图。其中,业务预测模型至少通过第一设备和第二设备进行联合训练,第二设备和多个第一设备分别拥有业务预测模型中的第二部分模型和多个第一部分模型。该装置实施例与图2所示方法实施例中通过设备100执行的方法相对应。该装置700部署在任意一个第一设备中,包括:
[0213]
第一确定模块710,配置为,通过自身的第一部分模型确定自身拥有的样本的提取特征;
[0214]
第二确定模块720,配置为,基于所述提取特征确定用于对所述第一部分模型进行更新的第一梯度分片;
[0215]
第一交互模块730,配置为,通过与其他第一设备和所述第二设备之间基于多方安全计算的数据交互,使得所述第二设备得到对多个提取特征聚合后的聚合特征,并使得所述第二设备基于输出数据和聚合特征确定用于对多个第一部分模型进行更新的第二梯度分片,并将其发送至所述第一设备;其中,所述输出数据基于所述聚合特征和所述第二部分模型确定;
[0216]
第一接收模块740,配置为,接收所述第二设备发送的第二梯度分片;
[0217]
第一更新模块750,配置为,基于所述第二梯度分片和所述第一梯度分片,对所述第一部分模型进行更新。
[0218]
在一种实施方式中,第一交互模块730具体配置为:
[0219]
通过与其他第一设备和所述第二设备之间基于秘密分享算法的数据交互,使得所述第二设备得到对多个提取特征聚合后的聚合特征。
[0220]
在一种实施方式中,第一交互模块730,包括:
[0221]
拆分子模块(图中未示出),配置为,基于秘密分享算法将其自身的提取特征拆分成多个特征分片,并将多个特征分片分别发送至其他第一设备;
[0222]
接收子模块(图中未示出),配置为,接收所述其他第一设备发送的特征分片;
[0223]
交互子模块(图中未示出),配置为,利用自身的特征分片和所述其他第一设备的特征分片确定自身的密态特征,并将其发送至所述第二设备,以使第二设备基于多个密态特征确定所述聚合特征。
[0224]
在一种实施方式中,所述业务预测模型还包括第三部分模型,并配置在第三设备中;
[0225]
第一接收模块740,还配置为,接收所述第三设备发送的第四梯度分片;其中,所述第四梯度分片用于对第一部分模型和第二部分模型进行更新,第四梯度分片是第三设备基于预测损失和输出数据确定,所述预测损失是基于输出数据和第三部分模型确定的样本的标签预测值而得到的,所述输出数据是第二设备发送至第三设备的;
[0226]
所述第一更新模块750,具体配置为,基于所述第四梯度分片、所述第二梯度分片和自身确定的第一梯度分片,对自身的第一部分模型进行更新。
[0227]
在一种实施方式中,第二确定模块720具体配置为:
[0228]
在接收所述第二设备发送的第二梯度分片之前,基于所述提取特征确定用于对所
述第一部分模型进行更新的第一梯度分片。
[0229]
在一种实施方式中,第二确定模块720具体配置为,基于所述提取特征对第一部分模型的偏导数,确定所述第一梯度分片。
[0230]
在一种实施方式中,第一更新模块750具体配置为,基于所述第二梯度分片与自身确定的第一梯度分片的乘积,确定针对自身的第一部分模型的第一梯度,利用所述第一梯度,对所述第一部分模型进行更新。
[0231]
图8为实施例提供的一种保护隐私的多方联合训练装置的示意性框图。其中,业务预测模型至少通过第一设备和第二设备进行联合训练,第二设备和多个第一设备分别拥有业务预测模型中的第二部分模型和多个第一部分模型。该装置实施例与图2所示方法实施例中设备200执行的方法相对应。该装置800部署在第二设备中,包括:
[0232]
第二交互模块810,配置为,通过与多个第一设备之间基于多方安全计算的数据交互,得到对多个第一设备的提取特征聚合后的聚合特征;其中,多个提取特征分别是利用各自第一设备的样本和第一部分模型确定;
[0233]
第三确定模块820,配置为,利用所述聚合特征确定所述第二部分模型的输出数据;
[0234]
第四确定模块830,配置为,基于所述输出数据和聚合特征确定用于对多个第一部分模型进行更新的第二梯度分片;
[0235]
第一发送模块840,配置为,将所述第二梯度分片发送至多个第一设备,以使得任意一个第一设备基于所述第二梯度分片和第一梯度分片对第一部分模型进行更新;其中,所述第一梯度分片基于各自的提取特征和第一部分模型确定。
[0236]
在一种实施方式中,第二交互模块810具体配置为,通过与多个第一设备之间基于秘密分享算法的数据交互,得到对多个第一设备的提取特征聚合后的聚合特征。
[0237]
在一种实施方式中,第二交互模块810包括:
[0238]
第一子模块(图中未示出),配置为,接收多个第一设备分别发送的密态特征;其中,任意一个第一设备的密态特征利用其自身的特征分片和其他第一设备发送的特征分片确定,特征分片是第一设备基于秘密分享算法将提取特征进行拆分得到;
[0239]
第二子模块(图中未示出),配置为,基于多个密态特征确定所述聚合特征。
[0240]
在一种实施方式中,第二子模块具体配置为,将多个密态特征的和值或均值确定为所述聚合特征。
[0241]
在一种实施方式中,所述输出数据为标签预测值;第四确定模块830具体配置为:
[0242]
基于所述输出数据确定样本的预测损失,利用所述预测损失和所述聚合特征确定所述第二梯度分片。
[0243]
在一种实施方式中,所述业务预测模型还包括第三部分模型,并配置在第三设备中;所述装置还包括:
[0244]
第五确定模块(图中未示出),配置为,基于所述输出数据和所述第二部分模型确定用于对所述第二部分模型进行更新的第三梯度分片;
[0245]
第二发送模块(图中未示出),配置为,将所述输出数据发送至第三设备;
[0246]
第二接收模块(图中未示出),配置为,接收所述第三设备发送的第四梯度分片;其中,第四梯度分片用于对第一部分模型和第二部分模型进行更新,第四梯度分片是第三设
备基于预测损失和输出数据确定,所述预测损失是基于输出数据和第三部分模型确定的样本的标签预测值而得到的,所述输出数据是第二设备发送至第三设备的;
[0247]
第二更新模块(图中未示出),配置为,利用所述第四梯度分片和所述第三梯度分片对所述第二部分模型进行更新;
[0248]
第四确定模块830,具体配置为,利用所述输出数据和所述聚合特征确定第五梯度分片,基于所述第五梯度分片确定所述第二梯度分片。
[0249]
在一种实施方式中,所述第四确定模块830,基于所述第五梯度分片确定所述第二梯度分片时,包括:
[0250]
利用所述第四梯度分片和所述第五梯度分片的乘积,确定所述第二梯度分片。
[0251]
在一种实施方式中,所述第四确定模块830,基于所述第五梯度分片确定所述第二梯度分片时,包括,直接将所述第五梯度分片确定为所述第二梯度分片。
[0252]
在一种实施方式中,第五确定模块,具体配置为,基于所述输出数据对第二部分模型中的模型参数的偏导数,确定第三梯度分片。
[0253]
在一种实施方式中,第二更新模块,具体配置为,基于第四梯度分片和所述第三梯度分片的乘积,确定针对第二部分模型的第二梯度,利用该第二梯度对第二部分模型进行更新。
[0254]
上述各个装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
[0255]
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1至图5任一项所述的方法。
[0256]
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1至图5任一项所述的方法。
[0257]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0258]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0259]
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

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

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

相关文献