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

一种基于分片区块链的联邦学习方法、装置、设备及介质

2022-06-11 12:45:11 来源:中国专利 TAG:


1.本发明涉及区块链和联邦学习技术领域,特别涉及一种基于分片区块链的联邦学习方法、装置、设备及介质。


背景技术:

2.联邦学习是一种新兴的人工智能基础技术,用于建立移动终端与服务器之间的共享模型,从而在大规模数据背景下有效利用这些数据资源,并且保证用户的隐私安全。联邦学习指的是一种分布式的机器学习方法,即参与方对本地数据进行训练后将更新的参数上传至服务器,再由服务器进行聚合得到总体参数的学习方法。与传统机器学习技术相比,联邦学习不仅可以提高学习效率,还实现了在满足数据隐私需求的前提下,对分散在各个组织、机构中的数据的整合和利用。
3.区块链是利用块链式数据结构验证与存储数据、利用分布式节点共识算法生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约编程和操作数据的一种全新分布式基础架构与计算范式。由于区块链的去中心化、追踪溯源、不可篡改、可编程和集体维护等特性,将区块链分布式存储架构作为联邦学习的基础架构,通过在区块链上层设计协议来实现在客户端上运行模型聚合的任务,可以保障联邦学习中多个参与方之间的模型参数的一致性以及模型参数同步与共享的安全可靠,同时,区块链中合理的激励机制也为提高参与方合作参与联邦学习模型训练的积极性提供了技术上的解决方法。
4.分片技术起初是针对大型中心化数据库优化而提出,其具体的方式是将大型数据库的数据划分成很多数据分片,然后将数据分片分配到不同的服务器中,从而提升数据库的整体性能。受大型中心化数据库分片技术的启发,开发者们提出将分片技术应用于区块链架构中。区块链中对于账本的任何更改都需要网络中全部节点达成共识,其公开透明、不可篡改的特性可以降低多方场景中的信任成本,每一笔交易需要经历交易产生、构造区块、竞争出块、广播区块四个过程后才会被记录在区块链中,经过大部分节点签名确认后才被最终被确认,复杂的共识过程在保证了安全性的同时限制了其可扩展性,进而也成为了区块链网络性能提升的瓶颈。采用分片技术后,单个分片内的节点仅需承担全网的部分工作,各个分片并行工作,从而提升整个网络的承载能力。
5.现有引入分片技术的联邦学习系统中主要采用随机分片的策略,由于区块链系统中各节点的性能存在一定的差异,进行随机分片会导致分片间的性能相差较大,会对系统整体的执行速率造成负面影响。


技术实现要素:

6.本技术提出了一种基于分片区块链的联邦学习方法、装置、设备及介质,通过各一般节点的行为评分和性能评分来确定各普通分片内的一般节点,从而降低普通分片间的性能差异,进而提高系统整体的吞吐量。
7.为了实现上述目的,本技术采用如下技术方案:
8.第一方面,本技术提供了一种基于分片区块链的联邦学习方法,包括:
9.普通分片中的主节点基于同一普通分片内一般节点的验证行为构建行为记录表,并基于所述行为记录表确定一般节点的行为评分;
10.普通分片中的主节点下发计算任务后,记录同一普通分片内一般节点的响应时延,并基于所述响应时延确定一般节点的性能评分;
11.领导分片中的主节点将行为评分低于阈值的一般节点均匀分配到各普通分片中,并将剩余的一般节点根据性能评分均匀分配到各普通分片中。
12.根据本技术第一方面的一种能够实现的方式,所述领导分片中的成员节点以及所述普通分片中的主节点通过pow共识机制确定。
13.根据本技术第一方面的一种能够实现的方式,所述普通分片中的主节点基于同一普通分片内一般节点的验证行为构建行为记录表,包括:
14.各普通分片中的主节点接收所述领导分片下发的基础模型,并将所述基础模型下发至多个智能终端,其中,所述基础模型由所述领导分片基于智能合约中的联邦学习任务构建得到;
15.所述多个智能终端对所述基础模型进行训练得到对应的梯度数据,并将其打包成多个交易提交至普通分片中;
16.普通分片中的一般节点对所述多个交易进行验证,并由同一普通分片中的主节点记录各一般节点的验证行为,以构建行为记录表。
17.根据本技术第一方面的一种能够实现的方式,所述普通分片中的一般节点对所述多个交易进行验证,并由同一普通分片中的主节点记录各一般节点的验证行为,以构建行为记录表,包括:
18.普通分片中的一般节点对所述多个交易进行验证,确定所述多个交易中的合法交易;
19.普通分片中的主节点根据同一普通分片中各一般节点对所述合法交易的验证行为,确定各一般节点的恶意行为,并将各一般节点的恶意行为记录到行为记录表中。
20.根据本技术第一方面的一种能够实现的方式,所述普通分片中的一般节点对所述多个交易进行验证,确定所述多个交易中的合法交易,包括:
21.所述普通分片中的一般节点对所述多个交易进行验证;
22.将验证通过次数大于预设次数的交易作为合法交易。
23.第二方面,本技术提供了一种基于分片区块链的联邦学习系统,包括
24.行为评分确定模块,用于通过普通分片中的主节点基于同一普通分片内一般节点的验证行为构建行为记录表,并基于所述行为记录表确定一般节点的行为评分;
25.性能评分确定模块,用于通过普通分片中的主节点下发计算任务后,记录同一普通分片内一般节点的响应时延,并基于所述响应时延确定一般节点的性能评分;
26.一般节点确定模块,用于通过领导分片中的主节点将行为评分低于阈值的一般节点均匀分配到各普通分片中,并将剩余的一般节点根据性能评分均匀分配到各普通分片中。
27.第三方面,本技术实施例提供一种电子设备,包括存储器、处理器以及存储在所述
存储器中并能在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项基于分片区块链的联邦学习的步骤。
28.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种基于分片区块链的联邦学习的步骤。
29.与现有技术相比,本技术提供了一种基于分片区块链的联邦学习方法、装置、设备及介质,本技术能够根据一般节点的验证行为以及响应时延来确定行为评分和性能评分,并基于一般节点的行为评分和性能评分来重新确定普通分片中的一般节点,缩小分片间的性能差异,使得各普通分片在执行相同任务时的执行时间是相近的,进而从整体上提高系统的工作速率。
附图说明
30.图1为本技术较优选实施例提供的基于分片区块链的联邦学习方法的流程示意图;
31.图2为本技术较优选实施例提供的基于分片区块链的联邦学习装置的结构框图;
32.图3为本技术较优选实施例提供的基于分片区块链的系统整体工作框架图。
具体实施方式
33.为了使本技术领域的人员更好地理解本发明方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
34.本技术的说明书和权利要求书中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
35.下面结合说明书附图对本技术实施例作进一步详细描述。
36.如图1所述,本技术公开了一种基于分片区块链的联邦学习方法,所述方法包括:
37.s1、普通分片中的主节点基于同一普通分片内一般节点的验证行为构建行为记录表,并基于所述行为记录表确定一般节点的行为评分;
38.s2、普通分片中的主节点下发计算任务后,记录同一普通分片内一般节点的响应时延,并基于所述响应时延确定一般节点的性能评分;
39.s3、领导分片中的主节点将行为评分低于阈值的一般节点均匀分配到各普通分片中,并将剩余的一般节点根据性能评分均匀分配到各普通分片中。
40.具体地,普通分片以及领导分片中的成员节点(即主节点和一般节点)均为区块链节点,普通分片中的主节点和领导分片中的成员节点是预先通过pow共识机制确定,在联邦学习的初次训练迭代中,普通分片内的一般节点通过随机的方式确定。
41.具体地,响应时延指的是普通分片的主节点下发计算任务到接到一般节点的响应之间的时延。根据响应时延确定一般节点的性能评分可以为:
42.根据一般节点的响应时延来对一般节点的计算性能进行评估,根据评估结果将一般节点划分到优等性能类、中等性能类以及差等性能类中,其中,优等性能类、中等性能类以及差等性能类中的一般节点对应的性能评分分别为3、2、1(优等性能类中的一般节点的响应时延是最短的,差等性能类中的一般节点的响应时延是最长的)。
43.具体地,领导分片中的主节点将行为评分低于阈值的一般节点均匀分配到各普通分片中,并将剩余的一般节点根据性能评分均匀分配到各普通分片中。
44.具体地,如图3所示,在联邦学习中,领导分片和普通分片中的成员节点(主节点和一般节点)是预先通过pow共识机制确定,在联邦学习的初次训练迭代中,普通分片内的一般节点通过随机的方式确定,在非初次训练迭代中,先根据初次迭代训练来确定所有一般节点的性能评分和行为评分,再根据各一般节点的性能评分和行为评分确定普通分片内的一般节点。在初次训练迭代时,用户通过智能合约发布联邦学习任务,领导分片基于智能合约中的联邦学习任务构建基础模型并将基础模型下发给各普通分片的主节点,进而由各普通分片中的主节点来选择多个智能终端来训练基础模型,智能终端会将训练得到的梯度数据打包成交易后提交到对应的普通分片中,普通分片中的一般节点会对接收到的交易进行验证,普通分片中的主节点获取通过验证的交易中的梯度数据并利用测试数据集一一测试得到的梯度数据,由普通分片中的主节点根据每份梯度数据的测试结果确定每份梯度数据的加权值,再将每份梯度数据基于加权值聚合生成局部模型(即局部梯度数据)后打包成交易提交给领导分片,领导分片中的主节点接收各普通分片上传的交易后获取各普通分片的局部模型(即局部梯度数据),再由领导分片中的主节点利用测试数据集测试各局部模型(即局部梯度数据)得到测试结果,并基于测试结果确定各局部模型的加权值后将各局部模型加权聚合生成全局模型(即全局梯度数据),由于用户在发布基础模型的同时还发布了联邦学习任务,若生成的全局模型不满足联邦学习任务的要求,智能终端将全局模型作为新一轮迭代训练中的基础模型,并利用本地数据训练新的基础模型,直至最终生成的全局模型满足联邦学习任务要求要求为止。
45.在本实施例中,普通分片中的一般节点需要对接收到的交易进行验证,在联邦学习系统中,各普通分片中的主节点接收领导分片下发的基础模型,各普通分片中的主节点会选择多个智能终端来训练基础模型,智能终端会利用本地数据对基础模型进行训练,由于每个智能终端的本地数据都是不同的,所以每个智能终端训练得到的梯度数据都是不同的,智能终端会将训练得到的梯度数据打包成交易并发送给对应的普通分片当中,普通分片接收到智能终端上传的交易之后,普通分片中的一般节点会对交易进行验证,只有在交易验证通过之后(当普通分片中超过一定数量的一般节点对交易进行验证时是验证通过的,该交易才属于合法交易),交易中的梯度数据才能被用来聚合从而生成聚合模型。普通分片中的主节点会将各一般节点的验证行为记录下来,以形成每个普通分片的行为记录表,其中,验证行为指的是一般节点对合法交易的验证行为,在对交易进行验证时,一般节点对交易的验证行为可以是验证不通过,也可以是验证通过,如果该一般节点对合法交易进行验证时的验证行为是验证不通过,那么该一般节点的验证行为即为恶意行为,同一普通分片中的主节点就会统计一般节点的恶意行为并记录到行为记录表中,每个普通分片的行为记录表中主要记录各一般节点的恶意行为次数,普通分片中的主节点基于行为记录表便可对各一般节点进行行为评分,由于行为评分低于阈值的一般节点对分片性能影响较
大,所以在分配普通分片中的节点时,先将行为评分低于阈值的一般节点筛选出来,并平均分配到各个普通分片中,确保各个普通分片中的低行为评分的一般节点的数量是相近的,再将剩余的一般节点根据性能评分均匀分配到各普通分片中,从行为评分跟性能评分两大方面去确定普通分片中的一般节点,能够进一步减小普通分片间的性能差异,使得各普通分片在执行相同任务时的执行时间是相近的,进而从整体上提高系统的工作速率。
46.在一实施例中,所述领导分片中的成员节点以及所述普通分片中的主节点通过pow共识机制确定。
47.在本实施例中,由于领导分片中的成员节点以及普通分片中的主节点在联邦学习过程中的算力消耗以及存储消耗相对于其他区块链节点更大,因此选择存储和计算性能强劲的节点作为领导分片中的成员节点和普通分片中的主节点。
48.在一实施例中,所述普通分片中的主节点基于同一普通分片内一般节点的验证行为构建行为记录表,包括:
49.各普通分片中的主节点接收所述领导分片下发的基础模型,并将所述基础模型下发至多个智能终端,其中,所述基础模型由所述领导分片基于智能合约中的联邦学习任务构建得到;
50.所述多个智能终端对所述基础模型进行训练得到对应的梯度数据,并将其打包成多个交易提交至普通分片中;
51.普通分片中的一般节点对所述多个交易进行验证,并由同一普通分片中的主节点记录各一般节点的验证行为,以构建行为记录表。
52.在本实施例中,普通分片内一般节点的验证行为指的是对接收到的交易的验证行为,即对接收到的交易进行验证时有验证通过和验证不通过两种结果,在联邦学习过程中,普通分片内的一般节点会接收到大量的交易,如果普通分片内的主节点基于一般节点对全部交易的验证行为构建行为记录表的话,会大大增加系统的工作量。而且各一般节点对部分交易的验证行为不影响行为评分的准确性,因此,为了减小普通分片中主节点的工作量,在构建行为记录表时只基于智能终端打包生成的交易,也就是智能终端将主节点下发的基础模型训练生成的梯度数据打包而成的交易。
53.在一实施例中,所述普通分片中的一般节点对所述多个交易进行验证,并由同一普通分片中的主节点记录各一般节点的验证行为,以构建行为记录表,包括:
54.普通分片中的一般节点对所述多个交易进行验证,确定所述多个交易中的合法交易;
55.普通分片中的主节点根据同一普通分片中各一般节点对所述合法交易的验证行为,确定各一般节点的恶意行为,并将各一般节点的恶意行为记录到行为记录表中。
56.在本实施例中,通过普通分片内全部一般节点对交易的验证行为能够确定合法交易,即在同一普通分片内验证通过的交易,如果将普通分片内全部一般节点对交易的验证行为均记录到行为记录表中,对普通分片内主节点来说,存储压力是巨大。因此,为了能够减缓普通分片中主节点的存储压力,行为记录表中仅需记录该分片内各一般节点的恶意行为(一个一般节点对一个合法交易的验证不通过时记为一次恶意行为)。
57.在一实施例中,所述普通分片中的一般节点对所述多个交易进行验证,确定所述多个交易中的合法交易,包括:
58.所述普通分片中的一般节点对所述多个交易进行验证;
59.将验证通过次数大于预设次数的交易作为合法交易。
60.在本实施例中,普通分片中的一般节点先对接收到的交易进行验证,再将通过验证的交易中的梯度数据聚合生成局部模型(即局部梯度数据),为了保证用来聚合生成局部模型的梯度数据的数量,当交易获得一般节点的验证通过次数大于预设次数时,就能将该交易确定为合法交易,其中,预设次数是提前设置好的。
61.如2图所示,本技术还公开了一种基于分片区块链的联邦学习装置,所述装置包括:
62.行为评分确定模块201,用于通过普通分片中的主节点基于同一普通分片内一般节点的验证行为构建行为记录表,并基于所述行为记录表确定一般节点的行为评分;
63.性能评分确定模块202,用于通过普通分片中的主节点下发计算任务后,记录同一普通分片内一般节点的响应时延,并基于所述响应时延确定一般节点的性能评分;
64.一般节点确定模块203,用于通过领导分片中的主节点将行为评分低于阈值的一般节点均匀分配到各普通分片中,并将剩余的一般节点根据性能评分均匀分配到各普通分片中。
65.在一实施例中,所述行为评分确定模块201,包括:
66.基础模型下发单元,用于通过各普通分片中的主节点接收所述领导分片下发的基础模型,并将所述基础模型下发至多个智能终端,其中,所述基础模型由所述领导分片基于智能合约中的联邦学习任务构建得到;
67.交易生成单元,用于通过所述多个智能终端对所述基础模型进行训练得到对应的梯度数据,并将其打包成多个交易提交至普通分片中;
68.行为记录表构建单元,用于通过普通分片中的一般节点对所述多个交易进行验证,并由同一普通分片中的主节点记录各一般节点的验证行为,以构建行为记录表。
69.在一实施例中,所述行为评分确定模块201,包括:
70.合法交易确定单元,用于通过普通分片中的一般节点对所述多个交易进行验证,确定所述多个交易中的合法交易;
71.恶意行为记录单元,用于通过普通分片中的主节点根据同一普通分片中各一般节点对所述合法交易的验证行为,确定各一般节点的恶意行为,并将各一般节点的恶意行为记录到行为记录表中。
72.在一实施例中,所述行为评分确定模块201,包括:
73.交易验证单元,用于通过所述普通分片中的一般节点对所述多个交易进行验证;
74.合法交易确定单元,用于将验证通过次数大于预设次数的交易作为合法交易。
75.在一个实施例中,提供了一种电子设备,具体为计算机设备,包括存储器、处理器以及存储在所述存储器中并能在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项的基于分片区块链的联邦学习方法的步骤。
76.在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时上述任意一项的一种基于分片区块链的联邦学习方法的步骤。
77.以上所述是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员
来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本技术的保护范围。
78.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、rom(read-only memory,只读存储记忆体)或ram(random access memory,随机存储记忆体)等。
再多了解一些

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

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

相关文献