联邦学习方法及装置与流程

文档序号:28424514发布日期:2022-01-11 23:43阅读:58来源:国知局
联邦学习方法及装置与流程

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


背景技术:

2.联邦学习,又称为联邦机器学习(federated machine learning/federated learning),是一个机器学习框架。联邦学习可以有效帮助多个设备在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现人工智能(artificial intelligence,ai)协作。
3.现有技术中,服务端-客户端(master-client)结构为常用的联邦学习框架,服务端在整个架构中处于核心地位。具体的,单个服务端连接多个数据客户端,服务端管理整个联邦学习的训练,进行数据聚合和任务分派。
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.存储器,用于存储所述处理器的计算机程序;
65.其中,所述处理器被配置为通过执行所述计算机程序来实现第一到第六方面中任
意一种可能的方法。
66.第八方面,本发明还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一到第六方面中任意一种可能的方法。
67.本技术实施例提供的联邦学习方法及装置,虚拟服务端创建联邦学习任务,联邦学习任务中包括有多个待训练算法。随后,虚拟服务端从多个候选服务端中确定出第一服务端,第一服务端用于向区块链系统中的多个客户端发起针对待训练算法中的第一训练算法的训练。最后,虚拟服务端向第一服务端发送第一训练算法的训练指示。与现有技术相比,由于通过虚拟服务端,从多个候选服务端中确定出每个训练算法所使用的候选服务端,从而使得单个服务端无法聚合所有数据,从而降低了数据泄露的风险,提高了数据的安全性。
附图说明
68.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
69.图1为本技术实施例提供的一种联邦学习方法的场景示意图;
70.图2为本技术实施例提供的一种联邦学习方法的信令交互图;
71.图3为本技术实施例提供的一种联邦学习方法的流程示意图;
72.图4为本技术实施例提供的另一种联邦学习方法的信令交互图;
73.图5为本技术实施例提供的一种联邦学习装置的结构示意图;
74.图6为本技术实施例提供的另一种联邦学习装置的结构示意图;
75.图7为本技术实施例提供的再一种联邦学习装置的结构示意图;
76.图8为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
77.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
78.现有技术中,服务端-客户端(master-client)结构为常用的联邦学习框架,服务端在整个架构中处于核心地位。具体的,单个服务端连接多个数据客户端,服务端管理整个联邦学习的训练,进行数据聚合和任务分派。
79.然而,由于服务端处于核心节点位置,训练过程中服务端会执行数据聚合,单个服务端会获取联邦学习的所有训练的数据,对于客户端而言,这可能会造成数据泄露的风险,从而导致数据的安全性较低。
80.为解决上述问题,本技术提供了一种联邦学习方法及装置,以提高数据的安全性。由于现有技术中数据泄露的风险是由于将联邦学习任务中所有训练的数据聚合在一个服
务端造成的。本技术中,为训练任务中不同的训练算法选定不同的服务端,从而可以将不同训练的任务聚合在不同的服务端中,从而降低了数据泄露的风险,提高了数据的安全性。
81.下面对本技术实施例涉及的应用场景进行说明。
82.图1为本技术实施例提供的一种联邦学习方法的场景示意图。如图1为一种区块链系统,该区块链系统由多个候选服务端101和多个客户端102组成。多个候选服务端101中的任一服务端可以为虚拟服务端。虚拟服务端用于创建联邦学习任务,并将联邦学习任务中的训练算法分配给候选服务端101。随后,候选服务端101联合区块链系统中的多个客户端102对分配到的训练算法进行训练。
83.其中,上述服务端101可以是但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算的由大量计算机或网络服务器构成的云。
84.上述客户端102可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,vr)终端设备、增强现实(augmented reality,ar)终端设备、工业控制(industrial control)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、智慧家庭(smart home)中的无线终端等。本技术实施例中,用于实现客户端的功能的装置可以是终端设备,也可以是能够支持客户端实现该功能的装置,例如芯片系统,该装置可以被安装在客户端中。本技术实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
85.需要说明的是,本技术技术方案的应用场景可以是图1中的联邦学习场景,但不限于此,还可以应用于其他需要进行分布式数据处理的场景。
86.可以理解,上述联邦学习方法可以通过本技术实施例提供的联邦学习装置实现,联邦学习装置可以是某个设备的部分或全部,例如为上述候选服务端、虚拟服务端或客户端的芯片。
87.下面以集成或安装有相关执行代码的候选服务端、虚拟服务端和客户端为例,以具体地实施例对本技术实施例的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
88.图2为本技术实施例提供的一种联邦学习方法的信令交互图,本实施例涉及的是如何进行联邦学习的过程。如图2所示,该方法涉及的区块链系统包括多个候选服务端和多个客户端,任一候选服务端可以为虚拟服务端,该方法包括:
89.s201、虚拟服务端创建联邦学习任务,联邦学习任务中包括有多个待训练算法。
90.在本步骤中,若需要进行联邦学习,则虚拟服务端需要先创建联邦学习任务,该联邦学习任务中包括有待训练算法。
91.其中,本技术实施例对于训练算法的类型不作限制,示例性的,待训练算法为机器学习算法。
92.本技术实施例对于待训练算法的数量也不作限制,示例性的,该待训练算法可以为两个个,也可以为三个,由于存在多个待训练算法,则区块链系统的每轮迭代均训练一个待训练算法。
93.此外,本技术实施例对于虚拟服务端如何创建联邦学习任务也不做限制,在一些实施例中,虚拟服务端可以从多个客户端中获取每个客户端的信息,并根据多个客户端的信息,创建联邦学习任务。
94.其中,客户端的信息可以以下至少一项:客户端的类型,客户端中样本数据的数据量,客户端的处理能力等。
95.在另一些实施例中,在创建联邦学习任务之后,虚拟服务端还可以根据多个客户端的信息,从数据库中选取第一训练算法对应的训练参数,第一训练算法对应的训练参数用于辅助训练第一训练算法。
96.s202、虚拟服务端从多个候选服务端中确定出第一服务端,第一服务端用于向区块链系统中的多个客户端发起针对多个待训练算法中的第一训练算法的训练。
97.在本步骤中,虚拟服务端在创建联邦学习任务之后,还可以从多个候选服务端中确定出第一训练算法对应的第一服务端。
98.在一些实施例中,由于联邦学习任务中存在多个待学习算法,则虚拟服务端在每轮迭代时为每个待训练算法确定出对应的候选服务端。
99.本技术实施例对于如何随机确定出第一服务端不作限制,可以根据实际情况选取合适的方式。示例性的,可以利用选举算法,从多个候选服务端中确定出第一服务端。
100.其中,本技术实施例对于选举算法的类型不作限制,示例性的,可以为霸道选举算法,也可以为环选举算法。
101.在另一些实施例中,在从多个候选服务端中确定出第一服务端之前,虚拟服务端还可以接收候选服务端中的第二服务端发送的第一消息,该第一消息用于表征第二服务端发生故障。随后,虚拟服务端利用选举算法,从除第二服务端以外的多个候选服务端中确定出第一服务端。
102.通过该方式选举算法会自动避开存在问题的候选服务端,保证每次选中的候选服务端始终可用。
103.s203、虚拟服务端向第一服务端发送第一训练算法的训练指示。
104.在本步骤中,当虚拟服务器确定出第一服务端后,可以向服务端发送第一训练算法的训练指示。
105.其中,该训练指示用于指示第一服务器联合多个客户端训练第一训练算法。
106.在一些实施例中,若联邦学习任务中存在多个待学习算法,则在每轮迭代时,为每个待训练算法发送对应的训练指示。
107.在一些实施例中,在创建了联邦学习算法后,虚拟服务端可以根据多个客户端的信息,从数据库中选取第一训练算法对应的训练参数,则虚拟服务端还可以在训练指示携带有第一训练算法对应的训练参数,从而使得第一服务端使用第一训练算法对应的训练参数来辅助训练第一训练算法。
108.在另一些实施例中,在向第一服务端发送第一训练算法的训练指示之后,虚拟服务端还可以将述第一训练算法的训练指示保存在区块链系统中。
109.通过该方式,可以将虚拟服务端和第一服务端的交互过程保存在区块链系统上。由于区块链系统的不可伪造、全程留痕等特性,能够避免后续的非法请求。
110.s204、第一服务端通过区块链系统将第一训练算法的训练任务发送给多个客户端。
111.在本步骤中,当第一服务端接收到虚拟服务端发送的第一训练算法的训练指示之后,第一服务端可以通过区块链系统将第一训练算法的训练任务发送给多个客户端。
112.在一些实施例中,第一服务器可以为每个客户端分别分配对应的训练任务,从而使得各客户端分别采用自身的样本数据对第一训练算法进行训练。
113.需要说明的是,本技术实施例中,第一服务端和客户端之间的交互,需要通过区块链系统。在一些实施例中,第一服务端和客户端之间的交互,还可以在区块链上进行保存。
114.在本技术中,由于区块链的不可伪造,全程留痕等特性,能够避免非法请求,从而可以防止中间人攻击并且,由于联邦学习本身对于数据异常情况的报警,进而可以保证整个训练过程中的安全性。
115.s205、客户端采用客户端中的样本数据对第一训练算法进行训练,生成第一训练算法中间数据。
116.在本步骤中,客户端在接收到第一训练算法的训练任务后,可以采用客户端中的样本数据对第一训练算法进行训练,生成第一训练算法中间数据。
117.其中,中间数据可以为采用客户端中的样本数据训练后的第一训练算法的数据。
118.本技术实施例对于客户端如何对第一训练算法进行训练不作限制,可以采用合适的方式进行训练。
119.s206、客户端通过区块链系统向第一服务端发送中间数据。
120.本技术实施例提供的联邦学习方法,虚拟服务端创建联邦学习任务,联邦学习任务中包括有待训练算法。随后,虚拟服务端从多个候选服务端中确定出第一服务端,第一服务端用于向区块链系统中的多个客户端发起针对多个待训练算法中的第一训练算法的训练。最后,虚拟服务端向第一服务端发送第一训练算法的训练指示。与现有技术相比,由于通过虚拟服务端,从多个候选服务端中确定出每个训练算法所使用的候选服务端,从而使得单个服务端无法聚合所有数据,从而降低了数据泄露的风险,提高了数据的安全性。
121.在上述实施例的基础上,下面对于创建联邦学习任务和发送训练指示的过程进行具体说明。图3为本技术实施例提供的一种联邦学习方法的流程示意图,本实施例的执行主体是虚拟服务端,如图3所示,该方法包括:
122.s301、根据多个客户端的信息,创建联邦学习任务,联邦学习任务中包括有待训练算法。
123.其中,客户端的信息可以以下至少一项:客户端的类型,客户端中样本数据的数据量,客户端的处理能力等。
124.s302、根据多个客户端的信息,从数据库中选取第一训练算法对应的训练参数,第一训练算法对应的训练参数用于辅助训练第一训练算法。
125.在本步骤中,当虚拟服务端根据多个客户端的信息创建联邦学习任务后,还可以根据多个客户端的信息,从数据库中选取第一训练算法对应的训练参数。
126.在本技术中,上述数据库可以保存在区块链系统上,该数据库中可以设置有客户端的信息和第一训练算法对应的训练参数的映射关系。虚拟服务端随后通过该映射关系,确定第一训练算法对应的训练参数。
127.此外,在另一些实施例中,虚拟服务端可以接收用户的指示信息,该指示信息用于指示训练算法对应的训练参数,从而虚拟服务器可以基于指示信息,直接确定第一训练算法对应的训练参数。
128.s303、利用选举算法,从多个候选服务端中确定出第一服务端,第一服务端用于向
区块链系统中的多个客户端发起针对待训练算法中的第一训练算法的训练。
129.本技术实施例对于选举算法的类型不作限制,示例性的,可以为霸道选举算法,也可以为环选举算法。
130.s304、向第一服务端发送第一训练算法的训练指示,训练指示中包括有第一训练算法对应的训练参数。
131.s304的技术名词、技术效果、技术特征,以及可选实施方式,可参照图2所示的s203解,对于重复的内容,在此不再累述。
132.在上述实施例的基础上,下面对于如何加入区块链系统的过程进行具体说明。图4为本技术实施例提供的另一种联邦学习方法的信令交互图,本实施例的执行主体是虚拟服务端和待加入端,待加入端为待加入的候选服务端或者待加入的客户端,如图4所示,该方法包括:
133.s401、待加入端向虚拟服务器发送加入请求,加入请求用于请求加入区块链系统,待加入端为待加入的候选服务端或者待加入的客户端。
134.在一些可选的实施方式中,加入请求中包括有待加入端的密钥。
135.s402、根据加入请求,虚拟服务器将待加入端加入区块链系统。
136.在一些可选的实施方式中,虚拟服务端可以对加入请求中待加入端的密钥进行验证,若待加入端的密钥通过验证,则将待加入端加入区块链系统。
137.其中,本技术实施例中,待加入端可以为服务端,也可以为客户端,无论是服务端还是客户端,均需要发送加入请求进行验证。
138.此外,本技术实施例对于秘钥的类型不作限制,可以为对称秘钥,也可以为非对称秘钥,在一些实施例中,秘钥具体可以为预先配置的关键信息(key)。
139.在另一些实施例中,若待加入端的密钥未通过验证,虚拟服务器还可以向待加入端反馈错误提示,以提示待加入端无法加入区块链系统。
140.在本技术中,由于对于每一个加入区块链系统的待加入端都需要进行验证,从而可以保证未加入区块链系统中的风险终端无法读取联邦学习的任何信息。
141.本技术实施例提供的联邦学习方法,虚拟服务端创建联邦学习任务,联邦学习任务中包括有多个待训练算法。随后,虚拟服务端从多个候选服务端中确定出第一服务端,第一服务端用于向区块链系统中的多个客户端发起针对待训练算法中的第一训练算法的训练。最后,虚拟服务端向第一服务端发送第一训练算法的训练指示。与现有技术相比,由于通过虚拟服务端,从多个候选服务端中确定出每个训练算法所使用的候选服务端,从而使得单个服务端无法聚合所有数据,从而降低了数据泄露的风险,提高了数据的安全性。
142.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
143.图5为本技术实施例提供的一种联邦学习装置的结构示意图。该联邦学习装置可以通过软件、硬件或者两者的结合实现,可例如上述实施例中的虚拟服务端备或虚拟服务端的芯片,以执行上述实施例中的通信方法。如图5所示,该联邦学习装置500包括:
144.处理模块501,用于创建联邦学习任务,联邦学习任务中包括有多个待训练算法;
从多个候选服务端中确定出第一服务端,第一服务端用于向区块链系统中的多个客户端发起针对多个待训练算法中的第一训练算法的训练;
145.发送模块502,用于向第一服务端发送第一训练算法的训练指示。
146.一种可选的实施方式中,处理模块501,具体用于利用选举算法,从多个候选服务端中确定出第一服务端。
147.一种可选的实施方式中,装置还包括:
148.接收模块503,用于接收候选服务端中的第二服务端发送的第一消息,第一消息用于表征第二服务端发生故障;
149.处理模块501,具体用于利用选举算法,从除第二服务端以外的多个候选服务端中确定出第一服务端。
150.一种可选的实施方式中,处理模块501,还用于根据多个客户端的信息,创建联邦学习任务。
151.一种可选的实施方式中,处理模块501,还用于根据多个客户端的信息,从数据库中选取第一训练算法对应的训练参数,第一训练算法对应的训练参数用于辅助训练第一训练算法。
152.一种可选的实施方式中,训练指示中包括有第一训练算法对应的训练参数。
153.一种可选的实施方式中,处理模块501,还用于将述第一训练算法的训练指示保存在区块链系统中。
154.一种可选的实施方式中,接收模块503,还用于接收待加入端发起的加入请求,加入请求用于请求加入区块链系统,待加入端为待加入的候选服务端或者待加入的客户端;
155.处理模块501,还用于根据加入请求,将待加入端加入区块链系统。
156.一种可选的实施方式中,加入请求中包括有待加入端的密钥。
157.一种可选的实施方式中,处理模块501,具体用于若待加入端的密钥通过验证,则将待加入端加入区块链系统。
158.一种可选的实施方式中,待训练算法为机器学习算法。
159.需要说明的,图5所示实施例提供的联邦学习装置,可用于执行上述任意实施例所提供的虚拟服务端的方法,具体实现方式和技术效果类似,这里不再进行赘述。
160.图6为本技术实施例提供的另一种联邦学习装置的结构示意图。该联邦学习装置可以通过软件、硬件或者两者的结合实现,可例如上述实施例中的候选服务端备或候选服务端的芯片,以执行上述实施例中的通信方法。如图5所示,该联邦学习装置600包括:
161.接收模块601,用于接收区块链系统中的虚拟服务端发送的训练指示,训练指示用于指示联邦学习装置联合区块链系统中的多个客户端训练第一训练算法,虚拟服务端由区块链系统中的多个联邦学习装置组成;
162.发送模块602,用于通过区块链系统将第一训练算法的训练任务发送给多个客户端;
163.接收模块601,还用于接收多个客户端通过区块链系统发送的中间数据,中间数据为采用客户端中的样本数据训练后的第一训练算法的数据。
164.需要说明的,图6所示实施例提供的联邦学习装置,可用于执行上述任意实施例所提供的候选服务端的方法,具体实现方式和技术效果类似,这里不再进行赘述。
165.图7为本技术实施例提供的再一种联邦学习装置的结构示意图。该联邦学习装置可以通过软件、硬件或者两者的结合实现,可例如上述实施例中的客户端备或客户端的芯片,以执行上述实施例中的通信方法。如图7所示,该联邦学习装置700包括:
166.接收模块701,用于接收区块链系统中的候选服务端通过区块链系统发送的第一训练算法的训练任务;
167.处理模块702,用于采用客户端中的样本数据对第一训练算法进行训练,生成第一训练算法中间数据;
168.发送模块703,用于通过区块链系统向候选服务端发送中间数据。
169.需要说明的,图7所示实施例提供的联邦学习装置,可用于执行上述任意实施例所提供的客户端的方法,具体实现方式和技术效果类似,这里不再进行赘述。
170.图8为本技术实施例提供的一种电子设备的结构示意图。如图8所示,该电子设备可以包括:处理器801和存储器802。图8示出的是以一个处理器为例的电子设备。
171.存储器802,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
172.存储器802可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如磁盘存储器。
173.处理器801用于执行存储器802存储的计算机执行指令,以实现上述联邦学习方法;
174.其中,处理器801可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
175.可选的,在具体实现上,如果通信接口、存储器802和处理器801独立实现,则通信接口、存储器802和处理器801可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
176.可选的,在具体实现上,如果通信接口、存储器802和处理器801集成在一块芯片上实现,则通信接口、存储器802和处理器801可以通过内部接口完成通信。
177.本技术实施例还提供了一种芯片,包括处理器和接口。其中接口用于输入输出处理器所处理的数据或指令。处理器用于执行以上方法实施例中提供的方法。该芯片可以应用于联邦学习装置中。
178.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序信息,程序信息用于上述联邦学习方法。
179.本技术实施例还提供一种程序,该程序在被处理器执行时用于执行以上方法实施例提供的联邦学习方法。
180.本技术实施例还提供一种程序产品,例如计算机可读存储介质,该程序产品中存
储有指令,当其在计算机上运行时,使得计算机执行上述方法实施例提供的联邦学习方法。
181.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
182.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1