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

一种面向联邦学习的跨链共识方法及系统与流程

2021-11-26 23:18:00 来源:中国专利 TAG:


1.本发明涉及联邦学习技术领域,尤其涉及一种面向联邦学习的跨链共识方法及系统。


背景技术:

2.近年来随着对隐私安全的重视,联邦学习已被广泛地应用在金融、医疗、保险、征信、服务、自动驾驶及室内定位等对数据隐私有极高要求的领域。例如,专利cn 112418520a公开了一种基于联邦学习的信用卡交易风险预测方法,以进行金融领域的交易风险预测。专利cn112201342a公开了基于联邦学习的医疗辅助诊断方法、装置、设备及存储介质,以进行医疗领域的医疗辅助诊断;专利cn 112446791a公开了一种基于联邦学习的车险评分方法、装置、设备及存储介质,以进行保险领域的评分;专利cn 112153650a公开了一种无线网络中基于终端信誉的可靠联邦学习方法及系统,以进行征信领域的联邦学习;专利cn 111899076a公开了一种基于联邦学习技术平台的航空服务定制化系统及方法,以进行服务领域的航空服务定制;专利cn 111290381a公开了基于无人车的联邦学习实验系统,以进行自动驾驶领域的联邦学习;专利cn 110632554a公开了基于联邦学习的室内定位方法、装置、终端设备及介质,以进行室内定位领域的联邦学习应用。
3.由于行业竞争、隐私安全、行政手续复杂等问题,即使在同一公司的不同部门之间也难以共享数据,存在数据孤岛的问题。联邦学习能够保证数据不出本地的情况下,各参与方在协同服务器的协调下进行机器学习,达到与基于中心数据集的机器学习相当的效果。
4.对于此种基于中心服务器的协同学习架构,目前存在四个主要的挑战:(1)协调服务器崩溃时,参与方的联邦学习会终止。(2)恶意的协调服务器可以通过各节点提供的更新信息反向推断原始数据的分布情况,存在隐私泄露的风险。(3)部分恶意参与方可以通过提交劣质更新参数的方法,毒化全局模型。(4)由于缺乏激励机制,各参与方没有主动协助模型更新的动力。理想的协同学习框架应是去中心化的、不可篡改的,且具有激励机制保证持续的更新。由于这些需求即是区块链的优势特性,因此基于区块链的联邦学习方法(blockchain

based federated learning,bfl)自然受到极大的关注。
5.清华大学深圳国际研究生院团队利用智能合约提供去中心化的控制功能与密钥管理功能,使联邦学习系统不会因某个节点崩溃而停止。例如专利cn 111212110a公开一种基于区块链的联邦学习系统及方法,系统包括:模型训练模块,用于联邦学习过程的机器学习模型更新和所述机器学习模型变化值聚合;基于区块链技术的智能合约模块,用于在所述联邦学习的过程中提供去中心化的控制功能与密钥管理功能;基于ipfs协议的存储模块,用于为所述联邦学习过程中的中间信息提供去中心化的信息存储机制;每个参与联邦学习的节点上同时运行所述模型训练模块、所述基于区块链技术的智能合约模块、所述基于ipfs协议的存储模块。实现整个系统的完全去中心化,任何节点的故障和退出都不会影响其他节点继续进行联邦学习,具有更强的鲁棒性。
6.浙江工业大学团队基于区块链技术在每一轮训练中,组建噪声委员会。噪声委员
会成员通过向本地模型增加噪声,使恶意节点难以反推其原始的数据特征分布。例如cn 112434280a公开一种基于区块链的联邦学习防御方法,包括:参与者与权威机构建立智能合约;在册参与者从区块链中获得模型并本地训练,并将训练的本地模型和对应的训练时间上传至对应的区块节点,并广播到区块链中;为每个在册参与者构建噪声委员的噪声委员会,利用噪声委员会为对应的在册参与者的本地模型增加噪声以更新本地模型,获得更新模型;为所有在册参与者构建一个验证委员会,利用验证委员会依据数据集和训练时间验证每个更新模型的预测可靠性和真实性,并将验证通过的更新模型记录在新区块节点;权威机构从区块节点获得所有验证通过的更新模型并聚合,得到聚合模型并广播到区块链中以供下轮在册参与者下载本地训练。
7.微众银行团队提出一种双委员会验证机制,可以及时发现并避免恶意节点的毒化攻击。例如cn 111723946a公开了一种应用于区块链的联邦学习方法及装置,其中方法为:第一委员会节点获取来自任一非委员会节点的第一本地模型信息;所述第一委员会节点根据所述第一委员会节点的本地验证数据集和所述第一本地模型信息,确定所述第一委员会节点对所述非委员会节点的第一验证结果;所述第一委员会节点将所述第一验证结果发送至各第二委员会节点;若所述第一委员会节点确定所述各委员会节点对所述第一本地模型信息达成共识,则至少根据所述第一本地模型信息,更新联邦学习模型。上述方法应用于金融科技(fintech)时,共识所述第一本地模型信息后才准予参与联邦学习模型的训练,从而可以及时发现区块链节点联合作恶。
8.山东浪潮人工智能研究院团队提出了根据训练过程中各参与者提供的训练数据进行奖励的激励方法。例如cn 1l0827147a公开一种基于联盟链的联邦学习激励方法,涉及区块链技术领域,采用技术方案包括:将交易主体和运营主体构建成一个联盟链;对联盟链上交易主体的用户群体进行加密并对齐,确定共有用户群体和共有特征维度;运营主体利用确定的共有用户群体和共有特征维度训练机器学习模型,直至损失函数收敛,完成模型训练;运营主体对联盟链上发生的行为进行信誉评分,将信誉积分映射到交易成本,通过交易成本激励各交易主体进行账本维护。例如cn 111125779a公开了一种基于区块链的联邦学习方法及装置,方法包括:确定区块链;协调者节点根据各参与者节点发送的模型原始数据,创建联邦学习任务;接收参与者节点在本地训练得到的训练数据;根据训练数据向其他参与者节点发送待更新参数,以使其他参与者节点根据待更新参数更新自身的模型参数;在模型训练完成后,根据本次训练过程中各参与者节点提供的训练数据发放奖励资源,并将奖励写入所述区块链中。相较于传统的方式,有效地解决了参与各方的互信问题;参与联邦学习的各方共同协商产生协调者节点,增加了过程的透明性;将联邦学习全程数据记录在区块链中,保证了数据操作的可追溯性;通过奖励资源鼓励各方积极参与,提升参与方的积极性。
9.但是,以上现有技术中的方法并未考虑到bfl架构本身所面临的由大量参与者导致的低共识及学习效率。当现有的参与方所提供的数据是稀疏的,不足以支持联邦学习模型的训练任务时,一种直接的方法是扩大参与方的数量。由于所有的参与方需要彼此之间进行广播通讯,达成共识所需的通讯频率会随着参与方的数量增多,导致高昂的通信开销及低下的共识效率。
10.此外,一方面由于对本领域技术人员的理解存在差异;另一方面由于发明人做出
本发明时研究了大量文献和专利,但篇幅所限并未详细罗列所有的细节与内容,然而这绝非本发明不具备这些现有技术的特征,相反本发明已经具备现有技术的所有特征,而且申请人保留在背景技术中增加相关现有技术之权利。


技术实现要素:

11.针对现有技术之不足,本发明提供一种面向联邦学习的跨链共识方法,所述方法至少包括:
12.进行集群内单链联邦学习并统计本地更新信息;
13.向第二联邦发送更新共识信息以进行跨集群梯度交换;
14.接收所述第二联邦反馈的跨集群梯度更新共识的确认结果;
15.基于所述确认结果进行本地模型更新。
16.优选地,进行集群内联邦学习并统计本地更新信息的方法包括:
17.将第一联邦内基于bfl模型计算的本地更新信息发送至集群内的第一计算节点以进行集群内的更新融合共识。
18.在协调服务器崩溃时,本发明的参与方的联邦学习不会终止。在少部分计算节点崩溃甚至作恶的情况下,本发明的共识机制仍然能实现大多数计算节点中的数据和操作一致性。本发明基于区块链系统的联邦学习能够实现去中心化的模型更新,因而不会在协调服务器崩溃时终止。
19.优选地,所述方法还包括:在第一联邦内的集群代表将融合共识后的更新信息发送至第二联邦的情况下,第二联邦内的至少一个第二计算节点对所述更新信息进行二部验证共识并向所述第一联邦反馈跨集群梯度更新共识的确认结果。本发明采用的主要技术手段包括:(1)基于组织的集群切分;(2)集群之间的模型交换只包含了融合后的数据,因而隐藏了单个计算节点的隐私。
20.相对于现有技术,非善意的协调服务器可以通过各计算节点提供的更新信息反向推断原始数据的分布情况,本发明能够避免隐私泄露的风险。现有技术中的单集群的联邦学习技术,将所有计算节点构建为一个大的集群,需要再集群的所有计算节点之间进行模型更新的广播。针对这一缺陷,本发明的多集群联邦的跨联邦共识机制,将同一组织内的计算节点构建为多个小集群,多个小集群之间只进行融合后的模型更新,在一定程度上隐藏了单个计算节点中的模型数据,因而避免了单个计算节点的隐私泄露。
21.优选地,所述方法还包括:所述第一联邦内的集群代表根据融合判断机制对基于本地更新结果和第二联邦反馈的非本地更新结果进行判断,得到判断是否进行本地模型更新的判断结果。
22.优选地,进行集群内联邦学习并达成共识的方法还包括:
23.在各联邦集群中随机选择计算节点作为集群代表参与跨联邦共识过程;
24.所述集群代表基于至少两次验证的验证结果进行投票并确定是否接受更新共识,
25.在实现更新共识后,基于所述集群代表的至少两次验证的共识结果进行奖惩。
26.优选地,所述集群代表的选择方式为:
27.每个集群代表的任期为r,在任期结束时,集群内每个计算节点以通过发出区块链交易的方式申请成为下任代表;候选人按照抵押的资产价值进行排序,排名前t位的候选人
组成提名池;通过随机算法从提名池中选择代表。
28.优选地,基于至少两次验证的验证结果进行投票并确定是否接受更新共识的步骤包括:
29.所述集群代表在第r

1轮操作进行第一次验证,在第r轮操作进行第二次验证,在第二次验证结果优于第一次验证结果的情况下,所述集群代表将投票接受所有过去的操作。
30.优选地,基于所述集群代表的至少两次验证的共识结果进行奖惩的步骤包括:将所述集群代表的两次验证的共识结果分别表示为t
a
及t
b

31.根据t
a
与t
b
的关系以及所述集群代表提供的抵押的资产价值对集群代表进行奖惩:
[0032][0033]
当t
b
大于t
a
,且差距大于λ时,表示所述集群代表的操作是无用的,没收其提供的抵押;
[0034]
当t
b
大于t
a
,但是差距小于λ时,表示所述集群代表的操作存在一些错误,虽然结果是无用的但是不没收其抵押;
[0035]
当t
a
大于t
b
时,所述集群代表的操作为模型更新做出了贡献,根据其提供的抵押资产价值及贡献值进行一定比例的奖励。其中,rp表示奖惩结果,v表示抵押资产值,μ表示奖励比例。
[0036]
本发明还提供一种面向联邦学习的跨链共识系统,所述系统至少包括:跨集群联邦学习模块和跨集群共识模块,第一联邦内的第一计算节点基于所述跨集群联邦学习模块进行集群内联邦学习并统计本地更新信息,
[0037]
所述跨集群共识模块将本地更新信息的更新共识信息发送至第二联邦,
[0038]
所述跨集群共识模块接收所述第二联邦反馈的跨集群梯度更新共识的确认结果;
[0039]
所述跨集群联邦学习模块基于所述确认结果进行本地模型更新。
[0040]
优选地,所述跨集群共识模块还包括融合机制模块,所述融合机制模块执行的程序步骤包括:所述第一联邦内的集群代表根据融合判断机制对本地更新结果和第二联邦反馈的非本地更新结果进行判断,得到是否进行本地模型更新的判断结果。
[0041]
相对于现有技术中部分恶意参与方可以通过提交劣质更新参数的方法,毒化全局模型的缺陷,本发明在共识过程中引入了融合机制模块,在接收更新参数前首先对更新参数进行本地判断。基于计算节点的判断结果进行区块链共识。只有通过共识的更新参数才会被各个计算节点接受。劣质更新参数会导致每个诚实节点的判断结果为:不接受,从而导致最终的共识结果也为不接受。
[0042]
优选地,跨集群联邦学习模块执行的程序包括:将第一联邦内基于bfl模型计算的本地更新信息发送至集群内的第一计算节点以进行集群内的更新融合共识。
[0043]
优选地,在第一联邦内的集群代表将融合共识后的更新信息发送至第二联邦的情况下,第二联邦内的至少一个第二计算节点的所述跨集群共识模块对所述更新信息进行二部验证共识并向所述第一联邦反馈跨集群梯度更新共识的确认结果。
[0044]
优选地,第一融合判断模块根据融合判断机制对本地更新结果和第二联邦反馈的非本地更新结果进行判断,得到是否进行本地模型更新的判断结果。
[0045]
优选地,所述跨集群共识模块包括代表选举模块、共识模块和激励/惩罚模块。
[0046]
代表选举模块在各联邦集群中随机选择计算节点作为集群代表参与跨联邦共识过程;
[0047]
共识模块根据所述集群代表基于至少两次验证的验证结果进行投票的结果确定是否接受更新共识,
[0048]
在更新共识后,激励/惩罚模块基于所述集群代表的至少两次验证的共识结果进行奖惩。
[0049]
优选地,代表选举模块执行的程序步骤为:
[0050]
每个集群代表的任期为r,在任期结束时,集群内每个计算节点以通过发出区块链交易的方式申请成为下任代表;
[0051]
候选人按照抵押的资产价值进行排序,排名前t位的候选人组成提名池;通过随机算法从提名池中选择代表。
[0052]
本发明在达成更新共识后,根据集群代表的贡献进行奖惩,从而激励计算节点中的集群代表诚实投票,使得参与方能够主动协助模型更新。
[0053]
优选地,共识模块执行的程序步骤为:所述集群代表在第r

1轮操作进行第一次验证,在第r轮操作进行第二次验证,在第二次验证结果优于第一次验证结果的情况下,所述集群代表将投票接受所有过去的操作。
[0054]
优选地,激励/惩罚模块执行的程序步骤为:
[0055]
将所述集群代表的两次验证的共识结果分别表示为t
a
及t
b

[0056]
根据t
a
与t
b
的关系以及所述集群代表提供的抵押的资产价值对集群代表进行奖惩:
[0057][0058]
当t
b
大于t
a
,且差距大于λ时,表示所述集群代表的操作是无用的,没收其提供的抵押;
[0059]
当t
b
大于t
a
,但是差距小于λ时,表示所述集群代表的操作存在一些错误,虽然结果是无用的但是不没收其抵押;
[0060]
当t
a
大于t
b
时,所述集群代表的操作为模型更新做出了贡献,根据其提供的抵押资产价值及贡献值进行一定比例的奖励。其中,rp表示奖惩结果,v表示抵押资产值,μ表示奖励比例。
附图说明
[0061]
图1是本发明的两个医疗物联网的联邦集群间跨联邦学习的逻辑示意图;
[0062]
图2是本发明的跨联邦集群梯度融合的示意图;
[0063]
图3是本发明的跨联邦集群共识工作流程图;
[0064]
图4是本发明的其中一种实施方式的结构示意图。
[0065]
附图标记列表
[0066]
10:第一计算节点;20:第一cfl模块;21:第一学习模块;22:第一更新模块;30:第一cc模块;31:第一代表选举模块;32:第一共识模块;33:第一激励/惩罚模块;34:第一融合判断模块;40:第二计算节点;50:第二cfl模块;51:第二学习模块;52:第二更新模块;60:第二cc模块;61:第二代表选举模块;62:第二共识模块;63:第二激励/惩罚模块;64:第二融合判断模块。
具体实施方式
[0067]
下面结合附图进行详细说明。
[0068]
针对现有技术的不足,本发明提供面向联邦学习的跨链共识方法及系统。
[0069]
本发明的一种面向联邦学习的跨链共识系统,至少包括cfl模块(跨集群联邦学习模块)和cc模块(跨集群共识模块)。一个计算节点同时设置有cfl模块(跨集群联邦学习模块)和cc模块(跨集群共识模块)。本发明中的cfl模块(跨集群联邦学习模块)和cc模块(跨集群共识模块)的硬件可以是专用集成芯片、服务器、服务器群组中的一种或几种。
[0070]
本发明中,cfl模块指跨集群联邦学习(cross

cluster federated learning)模块。cfl模块内设置有用于单联邦集群学习的bfl模型和跨联邦集群学习的cfl模型。
[0071]
跨集群共识(cross

cluster consensus)模块可以简称为cc模块。设置cc模块的目的在于利用区块链跨链技术实现高效的跨联邦集群安全学习。
[0072]
集群指单个参与方所拥有的计算节点集群。例如,医疗物联网中,某医院内所有传感器、服务器及电脑。
[0073]
本发明对bfl模型的说明如下所述。
[0074]
假设一个集群中存在k个计算节,每个节点需处理s
k
个样本,其中1≤k≤k。令w
k
为学习模型的参数,训练本地学习模型的目标是最小化目标函数g(w
k
),如下所示。
[0075][0076]
其中,表示损失函数,分别表示样本i和对应标签,w
k
表示学习模型的参数。本发明通过最小化联邦学习目标函数g(w),能够提升各联邦集群的模型表现。令为集群内总样本数量,g(w)的计算方法如下:
[0077][0078]
优选地,本发明的bfl模型的学习方法至少包括:bfl梯度融合和bfl模型融合。
[0079]
bfl梯度融合是指:各计算节点上传本地模型梯度至链上,通过共识后计算融合梯度,再利用融合梯度更新本地学习模型。
[0080]
具体的,各计算节点计算本地模型梯度
[0081]
[0082]
由于cfl模块中没有用于数据融合的中心化服务器,因此每个计算节点通过第三公式(3)将本地的梯度与其他节点的梯度进行融合得到t时刻的bfl融合梯度
[0083][0084]
令η表示学习速率,则在第t轮训练后得到的参数模型如下所示:
[0085][0086]
优选地,cfl模块内设置有联邦学习模型更新模块,其可以是专用集成芯片、服务器、服务器群组中的一种或几种。
[0087]
联邦学习模型更新模块:目的在于通过融合联邦中各计算节点的模型参数联合训练各结点中的本地模型。
[0088]
bfl模型融合是指:各计算节点将更新后的模型记录在区块链上,通过融合模块更新本地模型。
[0089]
具体的,各计算节点首先更新本地模型,再利用第七公式(7)计算模型融合:
[0090][0091][0092]
之后再更新各计算节点上的本地学习模型:
[0093][0094]
为实现跨联邦集群学习,cfl模型的融合方法至少包括cfl梯度融合方法及cfl模型融合方法。
[0095]
cfl梯度融合方法:假设存在m个bfl集群参与学习过程,每个集群内存在n
m
个计算节点,其中1≤m≤m。则,跨集群融合梯度计算如下:
[0096][0097]
其中,为根据第四公式(4)计算得到的各集群的融合梯度。最后,将第五公式(5)中的替换为在第t轮学习过程中得到的即可实现多联邦集群更新。
[0098]
cfl模型融合方法:cfl模型融合的计算方式如第十公式(10),将第八公式(8)中替换为即实现cfl跨联邦集群模型融合。
[0099]
[0100]
为进一步降低cfl模块的通信开销,以及保证cfl模型更新的有效性,本发明的cfl模块还包括融合判断模块,其可以是专用集成芯片、服务器、服务器群组中的一种或几种。
[0101]
融合判断模块基于融合判断机制判断每轮学习过程中的cfl跨集群融合梯度或cfl模型融合是否可用于本地模型更新。
[0102]
融合判断机制的判断方法包括:
[0103]
集群中每个计算节点对接收到的cfl跨集群融合梯度或cfl模型融合进行验证,并将验证结果(同意更新或不同意更新)记录在本地链上。若某集群内同意更新的节点占比超过阈值δ,则该集群同意更新。
[0104]
然后,该集群通过随机选举出的代表节点将是否更新的决策上传至其他集群的代表节点。
[0105]
最后,各代表节点根据其他集群的决策结果以及本地的验证情况判断是否采用该轮的更新。
[0106]
cc模块至少包括三个模块:代表选举模块、共识模块、激励/惩罚模块。代表选举模块、共识模块、激励/惩罚模块的硬件均可以是专用集成芯片、服务器、服务器群组中的一种或几种。
[0107]
代表选举模块:该模块在各联邦集群中随机选择计算节点,作为集群代表参与跨联邦共识过程。联邦集群每经过r轮共识过程选举一次代表,即每个代表的任期为r。在任期结束时,集群内每个计算节点都可以通过发出区块链交易,申请成为下任代表。候选人必须在申请交易中抵押某些资产。
[0108]
假设第i候选人所提供的资产价值为v
i
。所有候选人按照v
i
进行排序,排名前t位的候选人组成提名池。最后,通过随机算法从提名池中选择代表。
[0109]
本发明所使用的随机算法是通过对最后一个块的哈希值按时间t取模来确定代表。所有交易记录将被记录在区块链中,使代表选择过程可验证可追溯。
[0110]
交易记录的数据格式为<type,proposer_id,mortgage,term_num,sign>。type为一个枚举变量,指交易类型;proposer_id为交易提议者的唯一身份标签;mortgage、term_num和sign分别表示该节点的抵押值、当前的共识期以及签名。
[0111]
共识模块的共识方式是由r

1轮cfl更新融合和1轮两阶段跨链共识机制(two

phase cross

chain consensus,2pcc)组成,实现了安全的跨链联邦学习。两阶段分别为准备阶段和确认/回滚阶段。
[0112]
准备阶段:在该阶段中每个集群代表将进行两次验证。其中一次在前r

1中验证模型,第二次验证第r轮更新。若第二次验证结果优于第一次的结果,则集群代表将投票接受所有过去的操作。否则,集群代表投票拒绝接收过去的所有操作。此外,每个集群在准备阶段选择集群代表。
[0113]
该阶段的交易数据格式为<type,proposer_id,grad,hash_sample,round_num,sign>。其中,round_num为更新轮数,grad为更新梯度。若采用更新模型的方法,则grad字段可改为model,表示更新的模型。
[0114]
确认/回滚阶段:该阶段根据准备阶段的结果判断是否接收当前的更新操作。具体的,如果本地和远程集群的共识结果均为接受,则执行过去周期中的操作确认之前的更新。
否则,上一个周期的操作将不被接受,各模型回滚至之前的状态。需要注意,回滚不是区块链上的分支,过去的所有操作均被保留在链上。
[0115]
该阶段的交易数据格式为<type,format,body,round_num,sign>。其中,body为确认内容(例如,确认的梯度),format为枚举变量,表示body的类型。
[0116]
激励/惩罚模块用于通过奖励和惩罚的方式促使集群代表诚实行事。在准备阶段,每个集群代表会提供两个验证结果参与共识。根据某集群代表的两次验证的共识结果可分别表示为t
a
及t
b
。激励/惩罚模块根据t
a
与t
b
的关系以及该代表提供的抵押v对集群代表进行奖惩:
[0117][0118]
当t
b
大于t
a
,且差距大于λ时,该代表的操作可被认为时无用的,并没收其提供的抵押;当t
b
大于t
a
,但是差距小于λ时,该代表的操作存在一些错误,虽然结果是无用的但是不没收其抵押;当t
a
大于t
b
时,该代表的操作为模型更新做出了贡献,可根据其提供的抵押及贡献多少进行一定比例μ的奖励。此处λ是指结果差距阈值。其中,rp表示奖惩结果,v表示抵押资产值,μ表示奖励比例。
[0119]
该阶段的交易数据格式为<type,proposer_id,app_tx_id,value,sign>。其中,app_tx_id为该代表之前提出的交易申请标签,value为奖惩结果rp。
[0120]
如图2至图4所示,展示了面向联邦学习的跨链共识系统。
[0121]
面向联邦学习的跨链共识系统中,第一联邦a中的若干第一计算节点10与第二联邦b中的若干第二计算节点40以有线或者无线的方式建立通信连接。
[0122]
第一联邦a中的若干第一计算节点10彼此建立通信连接,以便进行第一联邦内的集群内联邦学习。第一计算节点10内设置有第一cfl模块20和第一cc模块30。
[0123]
第一cfl模块20至少包括第一学习模块21。第一学习模块21内设置有用于单联邦集群学习的bfl模型和跨联邦集群学习的cfl模型,能够执行联邦集群学习模型的程序和更新本地学习模型。
[0124]
优选地,第一cfl模块20还包括第一更新模块22,通过融合联邦中各计算节点的模型参数联合训练各结点中的本地模型。
[0125]
第一cc模块30包括第一代表选举模块31、第一共识模块32、和第一激励/惩罚模块33。第一cc模块30还包括第一融合判断模块34。
[0126]
同样地,第二联邦b的结构组成与第一联邦a相似或相同。
[0127]
如图4所示,第二联邦b中的若干第二计算节点40彼此建立通信连接,以便进行第二联邦内的集群内联邦学习。第二计算节点40内设置有第二cfl模块50和第二cc模块60。
[0128]
第二cfl模块50至少包括第二学习模块51。第二学习模块51内设置有用于单联邦集群学习的bfl模型和跨联邦集群学习的cfl模型,能够执行联邦集群学习模型的程序和更新本地学习模型。
[0129]
优选地,第二cfl模块50还包括第二更新模块52,通过融合联邦中各计算节点的模型参数联合训练各结点中的本地模型。
[0130]
第二cc模块60包括第二代表选举模块61、第二共识模块62、和第二激励/惩罚模块
63。第二cc模块30还包括第二融合判断模块64。
[0131]
s1:在集群内联邦学习。
[0132]
第一联邦内的第一计算节点基于所述跨集群联邦学习模块进行集群内联邦学习并统计本地更新信息。
[0133]
如第一cfl模块通过bfl梯度融合模块或bfl模型融合模块来更新各第一计算节点上的本地学习模型。
[0134]
s2:在集群内形成共识。
[0135]
第一联邦a(federation a)内各第一计算节点的第一cfl模块将其更新信息传给集群内的其他第一计算节点进行集群内更新融合共识,并将结果记录在第一联邦a的第一cfl模块上。集群内部共识方法可基于传统的单区块链共识方法实现,如拜占庭共识算法(practical byzantine fault tolerance,pbft)。
[0136]
s3:跨集群进行梯度交换。
[0137]
第一联邦a(federation a)内各集群中,由第一cc模块30中的第一代表选举模块31推选出的集群代表将集群内的更新信息通过通信网络传至第二联邦b(hospital b)。
[0138]
优选地,第一代表选举模块31在各联邦集群中随机选择第一计算节点作为集群代表参与跨联邦共识过程。
[0139]
第一联邦a的各个集群代表将本地更新结果和由第二联邦b集群代表发送的非本地更新结果发送至第一融合判断模块30。
[0140]
第一融合判断模块30基于本地第一更新结果和由第二联邦b集群代表发送的更新结果判断是否进行本地模型更新。
[0141]
具体地,第一融合判断模块30基于融合判断机制判断每轮学习过程中的cfl跨集群融合梯度或cfl模型融合是否可用于本地模型更新。
[0142]
集群中每个第一计算节点中的第一cc模块对接收到的cfl跨集群融合梯度或cfl模型融合进行验证,并将验证结果(同意更新或不同意更新)记录在本地链上。若某集群内同意更新的计算节点占比超过阈值δ,则第一融合判断模块30确认该集群同意更新。对于同意更新的计算节点占比低于阈值δ的更新决策,融合判断模块判断该更新决策放弃并且通知各个计算节点放弃更新。然后,该集群通过随机选举出的集群代表将是否更新的决策上传至其他集群的集群代表。
[0143]
最后,各集群代表根据其他集群代表的决策结果以及本地的验证情况判断是否采用该轮的更新。
[0144]
在第一融合判断模块30确定了更新决策后,进入了共识的准备阶段。
[0145]
第一联邦a的集群代表将更新决策信息通过通信网络发送至第二联邦的第二cc模块。第二cc模块接收所述第二联邦反馈的跨集群梯度更新共识的确认结果。
[0146]
s4:跨集群梯度更新共识。
[0147]
第二联邦b内各第二计算节点30对第一cc模块30发送的更新信息进行二部验证共识,将结果记录在第二联邦b内的第二cfl模块上。二部验证共识由第二模块执行,包括准备阶段和确认/回滚阶段,执行的时间段如图3灰色区域所示。
[0148]
每个集群在准备阶段选择集群代表。每个集群代表将进行两次验证。其中一次在
前r

1轮共识过程中验证模型,第二次验证第r轮共识更新。若第二次验证结果优于第一次的结果,则集群代表将投票接受所有过去的操作。否则,集群代表投票拒绝接收过去的所有操作。
[0149]
在确认/回滚阶段,第二共识模块62根据准备阶段的共识结果判断是否接收当前的更新操作。具体的,如果本地和远程集群的共识结果均为接受,则第二计算节点执行过去周期中的操作确认之前的更新。否则,第一计算节点对上一个周期的操作将不被接受,各个第二计算机节点的第二cfl模块50中的bfl模型回滚至之前的状态。需要注意,回滚不是区块链上的分支,过去的所有操作均被保留在链上。
[0150]
s5:确认结果交换。
[0151]
第二联邦b的集群代表将同意更新的共识结果通过通信网络传至第一联邦a的第一cc模块。具体地,基于第二cc发送的更新信息以及更新决策,第二联邦b中的第二计算节点中的第二cfl模块对自身的cfl梯度融合方法和cfl模型融合方法进行更新。
[0152]
跨集群联邦学习模块基于所述确认结果进行本地模型更新。
[0153]
s6:确认结果共识。第一联邦a接受第二联邦b的同意更新结果,并进行验证共识后,将结果记录在第一联邦a的cfl模块上。通过cc模块中的激励/惩罚模块14对各个集群代表进行奖惩,并将奖惩记录在cfl链上。
[0154]
具体地,激励/惩罚模块用于通过奖励和惩罚的方式促使集群代表诚实行事。在准备阶段,每个集群代表会提供两个验证结果参与共识。根据某集群代表的两次验证的共识结果可分别表示为t
a
及t
b
。激励/惩罚模块根据t
a
与t
b
的关系以及该代表提供的抵押v对集群代表进行奖惩:
[0155][0156]
当t
b
大于t
a
,且差距大于λ时,该代表的操作可被认为是无用的,并没收其提供的抵押;当t
b
大于t
a
,但是差距小于λ时,该代表的操作存在一些错误,虽然结果是无用的但是不没收其抵押;当t
a
大于t
b
时,该代表的操作为模型更新做出了贡献,可根据其提供的抵押及贡献多少进行一定比例μ的奖励。
[0157]
图3示出了确定集群代表θ的联邦选举步骤。
[0158]
a1:本地模型训练。各个联邦进行本地联邦学习和训练。
[0159]
a2:联邦代表选举。各个联邦通过代表选举模块选举出至少一个集群代表θ。
[0160]
a3:经过n轮共识过程选举一次代表。基于融合判断机制来确定融合或放弃更新决策,即丢弃联邦间更新梯度或者融合联邦间更新梯度。
[0161]
a4:实现跨链共识

准备阶段,经过n k

1轮的选举,该阶段中每个集群代表将进行两次验证。其中一次在前r

1中验证模型,第二次验证第r轮更新。
[0162]
a5:实现跨链共识

确认/回滚阶段,根据准备阶段的结果判断是否接收当前的更新操作。若接受,则进入确认阶段。若拒绝,则上一个周期的操作将不被接受,各模型回滚至之前的状态。
[0163]
需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发
明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。
[0164]
本发明说明书包含多项发明构思,申请人保留根据每项发明构思提出分案申请的权利。本发明说明书包含多项发明构思,诸如“优选地”、“根据一个优选实施方式”或“可选地”均表示相应段落公开了一个独立的构思,申请人保留根据每项发明构思提出分案申请的权利。
再多了解一些

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

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

相关文献