一种联合建模方法及装置与流程

文档序号:25097130发布日期:2021-05-18 22:04阅读:162来源:国知局
一种联合建模方法及装置与流程

1.本发明涉及机器学习领域,尤其涉及一种联合建模方法及装置。


背景技术:

2.联邦学习是一个机器学习框架,能帮助不同机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据联合使用和建模。具体地说,联邦学习要解决这样一个问题:在企业各自数据不出本地的前提下,通过加密机制下的参数交换与优化,建立一个虚拟的共有模型。这个共有模型的性能类似于将各方数据聚合到一块训练出来的模型。该数据联合建模方案不泄露用户隐私且符合数据安全保护的原则。
3.现有方案中,只能由建模发起方提供标签数据并发起建模,数据参与方只提供特征数据,建模发起方时常因标签数据(y值)数量不足导致难以建立有效的模型,需要其他参与方补充标签数据(y值)以扩充样本数量,而这些标签信息往往具有较高的商业价值,各参与方并不愿意直接将y值明文共享。
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.图1为现有技术中一种联合建模方法的流程示意图;
59.图2为本发明实施例提供的一种可能的系统构架的结构示意图;
60.图3为本发明实施例提供的一种联合建模方法的流程示意图;
61.图4为本发明具体实施例提供的一种联合建模方法的流程示意图;
62.图5为本发明实施例提供的一种联合建模装置的结构示意图;
63.图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
64.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
65.近些年来,金融机构希望融合各方的数据资源优化自身的应用模型,然而考虑到数据隐私泄露风险一直无法展开数据合作。为了打破数据孤岛,机构在进行跨机构数据合作时开始采用一种基于联邦学习技术的解决方案,其主要实现如下:数据提供方将自身特征数据(x值)加密后传送给建模发起方,在密文状态下进行计算,各参与方之间交互中间结果,计算出最终梯度后再发回给每个参与方进行模型更新,不断循环直到模型收敛。
66.现有的技术方案的流程如图1所示,包括:
67.唯一建模发起方创建建模任务请求,各参与方按照算法协议传递数据加密所需的秘钥,一般地采用同态加密等隐私计算加密算法进行数据处理。
68.各数据提供方按照算法协议将数据进行加密处理后传递给建模发起方,建模发起方基于密文进行数据计算,并将计算结果返还给各数据提供方。
69.各数据提供方对传递回来的中间结果基于密文进行计算,得到密文状态下的梯度信息,添加随机掩码后发送给梯度整合方。
70.梯度整合方接收数据后将数据进行解密,将梯度进行整合后返回给建模发起方和数据提供方,并更根据损失信息判断模型是否收敛,一般地梯度整合方可以由建模发起方或者可信第三方担任。
71.现有方案只能由建模发起方提供标签信息并发起建模,数据参与方只能提供特征信息,当建模发起方标签信息较少时,无法有效地补充其他参与方的标签信息,造成数据中的正样本数量偏少,难以建立有效的联邦模型,影响建模效果。
72.为了解决上述问题,本发明实施例提供了一种联合建模方法,如图2所示,为本发明实施例中联合建模方法所适用的一种系统架构,包括第一建模节点服务器101以及多个第二建模节点服务器102。
73.第一建模节点服务器101可以是计算机等网络设备。第一建模节点服务器101可以是一个独立的设备,也可以是多个服务器所形成的服务器集群。优选地,第一建模节点服务器101可以采用云计算技术进行信息处理。第二建模节点服务器102可以是一个独立的设备,也可以是多个服务器所形成的服务器集群。优选地,第一建模节点服务器101可以采用云计算技术进行信息处理。
74.第二建模节点服务器102可以通过internet网络与第一建模节点服务器101进行通信,也可以通过全球移动通信系统(global system for mobile communications,简称gsm)、长期演进(long term evolution,简称lte)系统等移动通信系统与第一建模节点服
务器101进行通信。
75.基于上述架构,本发明实施例提供了一种联合建模方法,应用于多个建模节点组成的系统,多个建模节点包括第一建模节点以及至少一个第二建模节点,第一建模节点存有联邦学习模型的第一特征数据和第一标签数据,第二建模节点拥有各自的第二特征数据和各自的第二标签数据。
76.第一建模节点以及每个第二建模节点经过至少一次迭代训练过程训练联邦学习模型,直至迭代终止条件到达时,第一建模节点获得联邦学习模型的第一模型参数以及各第二建模节点分别获得各自的联邦学习模型的第二模型参数,其中每次迭代训练过程,如图3所示,包括:
77.步骤301、所述第一建模节点基于所述联邦学习模型,确定所述第一特征数据的第一输出结果,并将所述第一输出结果加密后得到的第一加密输出结果向各第二建模节点发送。
78.步骤302、所述第一建模节点接收各第二建模节点发送的第二加密评估结果;各第二加密评估结果是各第二建模节点至少将各自加密后的第二输出结果、各自加密后的第二标签数据、以及所述第一加密输出结果进行同态运算得到,所述第二输出结果为各第二建模节点将基于所述联邦学习模型以及各自的第二特征数据确定的。
79.步骤303、所述第一建模节点根据所述第一标签数据以及各第二加密评估结果,确定所述联邦学习模型的总加密评估结果,并将所述总加密评估结果解密得到总模型评估结果。
80.步骤304、所述第一建模节点将所述总加密评估结果解密后得到总评估结果,根据所述总评估结果和所述第一特征数据确定该次迭代训练过程的更新梯度值,并基于所述更新梯度值更新该迭代过程中所述第一建模节点的所述第一模型参数。
81.上述第一建模节点接收的第二加密评估结果,为各第二建模节点将各自加密后的第二输出结果、各自加密后的第二标签数据以及第一加密输出结果进行同态运算得到的。也就是说,第二建模节点对第二标签数据加密后进行同态运算并发送至第一建模节点,可以在保证标签数据安全的前提下,有效补充第一建模节点的标签信息,从而增加了节点中数据中正样本数量,改善了联邦模型的训练效果。
82.进一步地,所述第一建模节点基于所述联邦学习模型,确定所述第一特征数据的第一输出结果之后,还包括:
83.所述第一建模节点接收各第二建模节点发送的第二加密输出结果;第二加密输出结果为各第二建模节点将基于所述联邦学习模型以及各自的第二特征数据确定的第二输出结果进行加密得到的;
84.所述第一建模节点将加密后的第一输出结果、加密后的第一标签数据、以及各第二加密输出结果进行同态运算,得到第一加密评估结果;
85.所述第一建模节点将所述第一加密评估结果向各第二建模节点发送,以使各第二建模节点至少基于所述第一加密评估结果以及各自的第二标签数据确定所述联邦学习模型的总加密评估结果。
86.具体实施过程中,第一建模节点和第二建模节点均需根据特征数据和标签数据进行模型训练。上述步骤301至304中,第一建模节点接收第二建模节点发送的第二加密评估
结果,由于第二加密评估结果是利用第二标签数据进行同态运算得到的,因此,第一建模节点对联邦学习模型进行训练的过程中,可以利用第二标签数据从而丰富了建模的正样本数量和种类,且传输的过程中以及建模的过程中,第二标签数据的具体内容均处于加密状态,因此,保证了数据安全。另一方面,第二建模节点接收第一建模节点发送的第一加密评估结果,由于第一加密评估结果是利用第一标签数据进行同态运算得到的,因此,第二建模节点对联邦学习模型进行训练的过程中,可以利用第一标签数据从而丰富了建模的正样本数量和种类,且传输的过程中以及建模的过程中,第一标签数据的具体内容均处于加密状态,因此,保证了数据安全。
87.进一步地,所述第一建模节点基于所述联邦学习模型,确定所述第一特征数据的第一输出结果,并对所述第一输出结果加密得到第一加密输出结果之前,还包括:
88.所述第一建模节点生成用于同态加密的第一私钥和第一公钥;
89.所述第一建模节点向各第二建模节点发送所述第一公钥,并接收各第二建模节点发送的各第二公钥。
90.本发明实施例中的同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。也就是说,其他人可以对加密数据进行处理,但是处理过程不会泄露任何原始内容。同时,拥有密钥的用户对处理过的数据进行解密后,得到的正好是处理后的结果。
91.第一建模节点和各第二建模节点之间可以预先交换公钥,从而在同态加密的过程中,可以利用公钥进行加密,保证了数据安全。
92.进一步地,所述将所述第一输出结果加密后得到的第一加密输出结果向各第二建模节点发送,包括:
93.所述第一建模节点利用所述第一私钥加密所述第一输出结果,得到所述第一加密输出结果,并将所述第一加密输出结果向各第二建模节点发送;
94.所述第一建模节点根据所述第一标签数据以及各第二加密评估结果,确定所述联邦学习模型的总加密评估结果,包括:
95.所述第一建模节点利用所述第一私钥对所述第一标签数据进行加密;
96.所述第一建模节点对加密后的第一标签数据以及各第二加密评估结果进行同态运算,得到所述联邦学习模型的总加密评估结果;
97.所述第一建模节点将所述总加密评估结果解密后得到总评估结果,包括:
98.所述第一建模节点利用所述第一私钥对所述总加密评估结果进行解密后得到总评估结果。
99.具体实施过程中,第一建模节点利用第一私钥分别加密第一输出结果、第一标签数据,另外,第一建模节点接收的第二建模节点发送的第二输出结果以及第二标签数据均为用第一公钥加密的,从而第一输出结果、第一标签数据、第二输出结果以及第二标签数据之间可以进行同态运算。
100.进一步地,所述第一建模节点接收各第二建模节点发送的第二加密输出结果之后,所述第一建模节点将加密后的第一输出结果、加密后的第一标签数据、以及各第二加密输出结果进行同态运算,得到第一加密评估结果之前,包括:
101.所述第一建模节点利用各第二公钥分别加密所述第一输出结果以及所述第一标签数据。
102.另一方面,第一建模节点利用第二公钥加密第一输出结果以及第一标签数据,则第二建模节点中也可以将加密后的第一输出结果和第一标签数据进行同态运算。
103.进一步地,所述第一建模节点基于所述联邦学习模型,确定所述第一特征数据的第一输出结果,并对所述第一输出结果加密得到第一加密输出结果之前,还包括:
104.所述第一建模节点向各第二建模节点发送联邦学习模型训练请求,所述联邦学习模型训练请求中包含所述联邦学习模型的算法以及初始模型参数;
105.所述第一建模节点接收各第二建模节点反馈的联邦学习模型训练响应。
106.本发明实施例中的第一建模节点可以是系统中的任一节点,该第一建模节点可以为建模发起方,也可以为数据提供方。本发明实施例中的联邦学习系统中的建模节点数量可以为2个,也可以为多个,当建模节点的数量为多个时,每个建模节点均按照上述步骤301至304进行联邦学习模型的训练,则此时该建模节点为第一建模节点,其余建模节点为第二建模节点。本发明实施例中仅以建模节点的数量为2进行说明。
107.为了更清楚地理解本发明,下面以具体实施例对上述流程进行详细描述,具体实施例的过程如图4所示,包括:
108.以建模发起方a和数据提供方b双方进行联邦建模为例,具体实施例的具体过程如下:
109.建模发起方a根据发起联邦建模任务,确定建模所需的数据及建模算法,建模数据包括特征数据及标签数据建模算法包括逻辑回归、xgboost等建模算法。数据提供方b收到建模任务后如果同意参与该任务则准备相应的特征数据及标签数据式中的i表示双方建模过程中使用的用户数目。
110.建模双方生成同态加密的私钥及公钥,私钥保留,公钥分别传递给对方。
111.建模发起方a根据自身数据计算出中间结果建模发起方a根据自身数据计算出中间结果由下式计算得到:
[0112][0113]
式中为a的模型参数。
[0114]
对采用同态加密技术进行加密处理,得到加密结果式中
·
a
表示使用a方的秘钥进行同态加密处理。
[0115]
同样的,数据提供方b根5据自身数据计算出中间结果同样的,数据提供方b根5据自身数据计算出中间结果由下式计算得到:
[0116][0117]
式中为b的模型参数。
[0118]
对采用同态加密技术进行加密处理,得到加密结果式中
·
b
表示使用b方的秘钥进行同态加密处理。
[0119]
计算完成后双方交互中间结果和
[0120]
建模发起方a接收到数据提供方b传递的中间结果后,计算a方一侧数据的模型评估值d
i b

,计算方法如下所示:
[0121][0122]
数据提供方b接收到建模发起方b传递的中间结果后,计算b方一侧数据的模型评估值d
i a

,计算方法如下所示:
[0123][0124]
计算完成后双方交互各自一侧的模型评估值d
i a

和d
i b


[0125]
建模发起方a接收到数据提供方b方传递过来的b方一侧模型评估值d
i a

后计算全局模型评估值d
i a
,计算方法如下所示:
[0126][0127]
使用a方私钥解密后获得模型评估值d
i

[0128]
数据提供方b接收到建模发起方a传递过来的a方一侧模型评估值d
i b

后计算全局模型评估值d
i b
,计算方法如下所示:
[0129][0130]
使用b方私钥解密后获得模型评估值d
i

[0131]
建模发起方a根据模型评估值d
i
和自身数据信息计算a方模型梯度,计算方法如下所示:
[0132][0133]
根据计算获得的a方模型梯度信息更新a方模型的参数,更新方式如下:
[0134][0135]
式中η
a
为a方学习率。
[0136]
建模发起方b根据模型评估值d
i
和自身数据信息计算b方模型梯度,计算方法如下所示:
[0137][0138]
根据计算获得的a方模型梯度信息更新a方模型的参数,更新方式如下:
[0139][0140]
式中η
b
为b方学习率。
[0141]
建模发起方a方根据模型评估d
i
判断模型是否收敛,如果收敛则建模结束,如果没有收敛则回到第一步进入下一轮建模。
[0142]
本发明实施例还提供了一种联合建模装置,多个建模节点包括第一建模节点以及至少一个第二建模节点,所述第一建模节点存有联邦学习模型的第一特征数据和第一标签数据,所述第二建模节点拥有各自的第二特征数据和各自的第二标签数据;
[0143]
所述第一建模节点以及每个第二建模节点经过至少一次迭代训练过程训练所述联邦学习模型,直至迭代终止条件到达时,所述第一建模节点获得所述联邦学习模型的第一模型参数以及各第二建模节点分别获得各自的所述联邦学习模型的第二模型参数,所述装置部署于所述第一计算节点,所述联合建模装置如图5所示,包括确定单元501、收发单元502、评估单元503以及更新单元504:
[0144]
其中每次迭代训练过程,所述确定单元用于:基于所述联邦学习模型,确定所述第一特征数据的第一输出结果;
[0145]
所述收发单元用于:将所述第一输出结果加密后得到的第一加密输出结果向各第二建模节点发送;接收各第二建模节点发送的第二加密评估结果;各第二加密评估结果是各第二建模节点至少将各自加密后的第二输出结果、各自加密后的第二标签数据、以及所述第一加密输出结果进行同态运算得到,所述第二输出结果为各第二建模节点将基于所述联邦学习模型以及各自的第二特征数据确定的;
[0146]
所述评估单元用于:根据所述第一标签数据以及各第二加密评估结果,确定所述联邦学习模型的总加密评估结果,并将所述总加密评估结果解密得到总模型评估结果;
[0147]
所述更新单元用于:将所述总加密评估结果解密后得到总评估结果,根据所述总评估结果和所述第一特征数据确定该次迭代训练过程的更新梯度值,并基于所述更新梯度值更新该迭代过程中所述第一建模节点的所述第一模型参数。
[0148]
可选的,所述收发单元还用于:接收各第二建模节点发送的第二加密输出结果;第二加密输出结果为各第二建模节点将基于所述联邦学习模型以及各自的第二特征数据确定的第二输出结果进行加密得到的;
[0149]
所述评估单元还用于:将加密后的第一输出结果、加密后的第一标签数据、以及各第二加密输出结果进行同态运算,得到第一加密评估结果;
[0150]
所述收发单元还用于:将所述第一加密评估结果向各第二建模节点发送,以使各第二建模节点至少基于所述第一加密评估结果以及各自的第二标签数据确定所述联邦学习模型的总加密评估结果。
[0151]
可选的,所述确定单元还用于:生成用于同态加密的第一私钥和第一公钥;
[0152]
所述收发单元还用于:向各第二建模节点发送所述第一公钥,并接收各第二建模节点发送的各第二公钥。
[0153]
可选的,所述确定单元,还用于:利用所述第一私钥加密所述第一输出结果,得到所述第一加密输出结果;
[0154]
所述收发单元还用于:将所述第一加密输出结果向各第二建模节点发送;
[0155]
所述评估单元具体用于:利用所述第一私钥对所述第一标签数据进行加密;对加密后的第一私钥以及各第二加密评估结果进行同态运算,得到所述联邦学习模型的总加密评估结果;利用所述第一私钥对所述总加密评估结果进行解密后得到总评估结果。
[0156]
可选的,所述评估单元具体用于:利用各第二公钥分别加密所述第一输出结果以及所述第一标签数据。
[0157]
可选的,所述收发单元还用于:
[0158]
向各第二建模节点发送联邦学习模型训练请求,所述联邦学习模型训练请求中包含所述联邦学习模型的算法以及初始模型参数;
[0159]
接收各第二建模节点反馈的联邦学习模型训练响应。
[0160]
基于相同的原理,本发明还提供一种电子设备,如图6所示,包括:
[0161]
包括处理器601、存储器602、收发机603、总线接口604,其中处理器601、存储器602与收发机603之间通过总线接口604连接;
[0162]
所述处理器601,用于读取所述存储器602中的程序,执行下列方法:
[0163]
基于所述联邦学习模型,确定所述第一特征数据的第一输出结果,并将所述第一输出结果加密后得到的第一加密输出结果向各第二建模节点发送;
[0164]
接收各第二建模节点发送的第二加密评估结果;各第二加密评估结果是各第二建模节点至少将各自加密后的第二输出结果、各自加密后的第二标签数据、以及所述第一加密输出结果进行同态运算得到,所述第二输出结果为各第二建模节点将基于所述联邦学习模型以及各自的第二特征数据确定的;
[0165]
根据所述第一标签数据以及各第二加密评估结果,确定所述联邦学习模型的总加密评估结果,并将所述总加密评估结果解密得到总模型评估结果;
[0166]
将所述总加密评估结果解密后得到总评估结果,根据所述总评估结果和所述第一特征数据确定该次迭代训练过程的更新梯度值,并基于所述更新梯度值更新该迭代过程中所述第一建模节点的所述第一模型参数。
[0167]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0168]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0169]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0170]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0171]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精
神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1