基于委员会共识的鲁棒高效去中心化联邦学习方法及系统与流程
- 国知局
- 2024-11-19 09:33:37
本发明涉及基于委员会共识的鲁棒高效去中心化联邦学习方法及系统,属于联邦学习。
背景技术:
1、机器学习是一种从数据中自动学习模型的方法,其主要目的是通过对数据的分析发现规律和模式,以便做出预测或决策。机器学习已经在许多领域得到了广泛的应用,比如自然语言处理、计算机视觉、智能语音等。随着现在人工智能技术的不断进步和应用场景的不断拓展,机器学习将会有更大的潜力和更加广阔的应用前景。
2、机器学习需要通过大量的数据来训练和验证。传统的机器学习需要服务器收集大量的数据用于模型训练,但是这些数据中往往包含数据提供方的隐私信息,集中存储会带来隐私数据泄露的风险。为了保护机器学习数据提供方的隐私数据,mcmahan等人首次提出了联邦学习框架,在不暴露原始数据的情况下,允许多方进行机器学习模型的联合训练,在维护用户信任的同时降低了成本。联邦学习在一定程度上降低了数据上传所带来的隐私泄露风险,但需要中心服务器来进行全局模型的下发和聚合,同时接收客户端上传的模型参数,在联邦学习框架中处于核心地位。因此,联邦学习往往面临单点故障和中心服务器不可信的问题。如果中心服务器发生故障,或者试图通过某些手段来破坏全局模型或者推断客户端的隐私信息,将会造成不可预计的损失。相关研究者针对上述问题进行了一系列研究,使用区块链来替代联邦学习中的中心服务器,有效解决了传统联邦学习中的单点故障和中心服务器不可信的问题。但仍存在部分缺陷:
3、现有的基于区块链的联邦学习框架中较多使用工作量证明和权益证明作为共识机制。但是,工作量证明将工作量也就是节点的算力作为各个节点之间竞争区块链记账权的标准,工作量证明可以提供更高的安全性和更高程度的去中心化,但是效率低,并且会浪费过多的计算资源。权益证明依据节点拥有的权益多少来竞争记账权,拥有最高权益的人往往更容易获得记账权,权益证明解决了工作量证明效率低和浪费资源的缺点,但是,会造成记账权被连续独占的问题,减弱网络的去中心化。
4、联邦学习中可能存在恶意参与者,全局模型容易遭受到来自恶意参与者的投毒攻击。攻击者通过篡改本地模型或者发送虚假模型来破坏联邦学习过程,从而影响全局模型的准确性和可用性。针对投毒攻击,已经提出了多种拜占庭鲁棒联邦学习算法,如trimmedmean、krum、multi-krum等。这些算法通过不同的机制来增强系统对恶意模型的抵御能力。trimmed mean通过修剪极端值来减少恶意数据的影响,从而计算出一个更可靠的模型更新;krum算法通过选择与其他梯度最接近的梯度来减少恶意参与者对最终模型的影响;而multi-krum进一步扩展了krum的思想,通过引入多个krum过程来提升系统的鲁棒性。这些方法在理论上可以有效检测和缓解恶意投毒攻击,但它们各自存在一定的局限性,如计算开销、鲁棒性范围和实际应用的复杂性等。
技术实现思路
1、为解决上述问题,本发明提出了基于委员会共识的鲁棒高效去中心化联邦学习方法及系统,使用基于贡献度证明的委员会共识机制,设计了一种贡献度计算方法,根据贡献度选择出一部分诚实的委员会成员进行共识,可以减少计算资源浪费,同时保证联邦学习中的验证和共识效率。由委员会成员对训练者的模型参数进行基于互信息的双重验证,可以有效过滤恶意模型更新,抵御来自恶意参与者的投毒攻击。引入智能合约来对全局模型进行聚合,并计算各个参与者的贡献度,取代了传统联邦学习中的中心服务器,可以有效避免单点故障问题,提高了模型聚合的准确性和效率。
2、本发明适用于多个参与者进行联合训练的联邦学习场景。
3、本发明的技术方案为:
4、基于委员会共识的鲁棒高效去中心化联邦学习方法,包括:
5、1)进行委员会成员的选举;每个参与者的初始贡献度都为零,在第一轮选举时,使用可验证随机函数(vrf)随机选择委员会成员,在进行了一轮的训练之后,每个参与者都获得了自己的贡献度;从第二轮选举开始,根据每个参与者的贡献度来选择委员会成员;
6、2)训练者和委员会成员都使用全局模型进行本地模型训练;
7、3)委员会成员对训练者的模型进行验证,对通过验证的训练者进行打分,分数将成为训练者贡献度的一部分;
8、4)委员会成员将自己和其验证过的训练者的信息上传到区块链;当有足够多的连续更新区块时,智能合约将自动调用,对区块链上的模型更新进行聚合,生成新的全局模型,并计算每个参与者在本轮训练中的贡献度,根据贡献度选择出下一轮训练中的委员会成员,将新的全局模型、每个参与者的贡献度以及参与者在下一轮联邦学习中担任的角色上传至区块链;
9、5)各参与者下载最新的区块,将新的全局模型作为下一轮训练中的初始模型;上述操作重复进行,直至模型收敛。
10、基于委员会共识的鲁棒高效去中心化联邦学习方法,包括:
11、步骤1:初始全局模型下发及首轮委员会成员的选举:任务发布者向联邦学习中的每个参与者下发初始全局模型,并使用可验证随机函数进行角色初始化,随机选择出第一轮联邦学习的委员会成员和训练者;
12、步骤2:本地模型训练:训练者以及委员会成员分别基于自己的本地数据和进行本地模型的训练,分别得到各自的本地模型和;训练者共有个,委员会成员共有个,参与者共有个,;
13、步骤3:模型参数验证:训练者训练结束后,将自己的本地模型的参数及训练相关信息发送给委员会成员进行验证;委员会成员根据验证机制,基于全局模型和自己训练好的本地模型对训练者的本地模型的参数进行验证,并为通过验证的本地模型的参数计算出分数;
14、步骤4:委员会成员将通过验证的训练者的相关信息及委员会成员的相关信息上传至区块链;
15、步骤5:智能合约聚合全局模型并计算训练者和委员会成员的贡献度:当有足够多的连续更新区块时,触发智能合约对模型更新进行聚合,得到当前轮次的全局模型,并为训练者和委员会成员计算训练者和委员会成员本轮的贡献度;
16、步骤6:智能合约选择下一轮的训练者集合和委员会集合:根据计算出来的贡献度,对所有参与者的贡献度进行排序,选择出下一轮的训练者集合和委员会集合;将全局模型、训练者集合和委员会集合以及每个参与者的贡献度上传至区块链;
17、步骤7:全局模型作为下一轮训练的初始模型,重复执行以上步骤,直至全局模型收敛。
18、根据本发明优选的,步骤1中,初始全局模型下发及首轮委员会成员的选举;具体包括:
19、任务发布者向联邦学习中的参与者下发初始全局模型;
20、每个参与者都有属于自己唯一的和公私钥对,使用可验证随机函数,基于自己的和私钥生成唯一的随机哈希值,;是可验证随机函数,将和输入到中,生成一个随机哈希值;
21、基于每个参与者的随机哈希值进行角色初始化:对得到的随机哈希值进行从小到大升序排序,选择排序位置靠前的个参与者成为第一轮训练的初始委员会成员,是指委员会成员集合,包括所有的委员会成员;其余的个参与者成为第一轮训练中的训练者,是指训练者集合,包括所有的训练者。
22、根据本发明优选的,步骤2中,本地模型训练;包括:
23、训练者基于自己的本地数据进行本地模型的训练,得到训练者的本地模型;
24、委员会成员基于自己的本地数据进行本地模型的训练,得到委员会成员的本地模型;其中,为学习率,为损失函数,代表梯度。
25、根据本发明优选的,步骤3中,模型参数验证;具体包括:
26、首先,训练者训练结束后,向委员会成员发送消息,其中,表示训练者训练所用时间,表示本地数据集大小,表示训练轮数;
27、然后,委员会成员收到来自训练者的消息后,计算训练者的本地模型和委员会成员的本地模型之间的互信息,其中,是训练者本地模型的熵,是委员会成员本地模型的熵,是和的联合熵;
28、同样的,计算训练者本地模型和初始全局模型之间的互信息,是初始全局模型的熵,是和的联合熵;
29、最后,判断和是否同时成立,如果成立,则训练者的本地模型通过验证,委员会成员为通过验证的本地模型的参数计算分数。
30、根据本发明优选的,步骤4中,委员会成员将通过验证的训练者的相关信息及委员会成员的相关信息上传至区块链;具体包括:
31、委员会成员更新训练者的信息为,和委员会成员的相关信息一起打包成消息,并将消息上传至区块链,其中为委员会成员本地训练的时间,为委员会成员为训练者进行验证所用的时间。
32、根据本发明优选的,步骤5中,智能合约聚合全局模型并计算训练者和委员会成员的贡献度:具体包括:
33、当有足够多的连续更新区块时,自动触发智能合约;足够多的连续更新区块是指多于个连续更新区块;
34、首先,检查训练者本地模型是否通过超过委员会成员的验证,如果是,则使用聚合算法将所有通过验证的模型更新进行聚合,得到当前轮次的全局模型,其中,为通过验证的模型更新数量;否则,则训练者的本地模型将不被用于全局模型的聚合;
35、接下来,根据参与者的角色不同,为每个训练者和委员会成员计算贡献度;根据消息和本轮的聚合结果,来统计训练者和委员会成员为本轮训练做出的贡献,没有用于最后全局模型聚合的训练者的本轮贡献度为零;具体的计算方法如下:
36、训练者的贡献度:,其中,为所有委员会成员为训练者打分的平均值;
37、委员会成员的贡献度:,其中,为委员会成员验证的模型中最后用于全局模型聚合的个数,和为两类不同角色的贡献度所占比例,有助于防止参与者连续成为委员会成员。
38、根据本发明优选的,步骤6中,智能合约选择下一轮的训练者集合和委员会集合;具体包括:
39、首先,对所有的贡献度进行从大到小降序排序,排名靠前的个参与者对联邦学习做出的贡献较大,被认为是可信参与者,将成为下一轮的委员会成员,其被保存到委员会成员集合中;
40、接下来,剩余的参与者成为下一轮训练中的训练者,其被保存在训练者集合中;
41、最后,将全局模型、选出的训练者集合和委员会集合以及所有参与者的贡献度上传至区块链。
42、根据本发明优选的,步骤7中,联邦学习参与者下载最新的区块,确认自己在下一轮联邦学习中的角色,获取最新的全局模型,并将最新的全局模型作为下一轮训练的初始模型,重复执行以上步骤,直至最终的全局模型收敛。
43、一种基于委员会共识的鲁棒高效去中心化联邦学习系统,包括:
44、委员会成员选举模块,被配置为:进行委员会成员的选举;每个参与者的初始贡献度都为零,在第一轮选举时,使用可验证随机函数随机选择委员会成员,在进行了一轮的训练之后,每个参与者都获得了自己的贡献度;从第二轮选举开始,根据每个参与者的贡献度来选择委员会成员;
45、本地模型训练模块,被配置为:训练者和委员会成员都使用全局模型进行本地模型训练;
46、验证及打分模块,被配置为:委员会成员对训练者的模型进行验证,对通过验证的训练者进行打分,分数将成为训练者贡献度的一部分;
47、聚合及贡献度计算模块,被配置为:委员会成员将自己和其验证过的训练者的信息上传到区块链;当有足够多的连续更新区块时,智能合约将自动调用,对区块链上的模型更新进行聚合,生成新的全局模型,并计算每个参与者在本轮训练中的贡献度,根据贡献度选择出下一轮训练中的委员会成员,将新的全局模型、每个参与者的贡献度以及参与者在下一轮联邦学习中担任的角色上传至区块链。
48、本发明的有益效果为:
49、1、本发明提出了一种基于委员会共识的鲁棒高效去中心化联邦学习方法及系统,该系统引入了委员会共识机制和智能合约来对本地模型更新进行验证并进行全局模型的聚合和贡献度的计算,在有效解决因中心服务器的存在所导致的单点故障以及恶意服务器作恶问题的同时,提高了模型聚合的准确性、速度和效率。此外,委员会共识机制的存在,保证了对恶意模型的有效识别,有效防御了恶意参与者发起的投毒攻击,降低了恶意参与者作恶的风险,提高了联邦学习系统的鲁棒性,保证了联邦学习全局模型的性能。
50、2、本发明提出了一种基于互信息的模型参数验证机制,不同于其他基于模型参数之间距离的检测方法,基于距离的检测方法会过滤掉部分有贡献的模型更新。本发明不仅计算委员会成员和训练者模型参数之间的互信息值,同时计算最新全局模型和训练者模型参数之间的互信息值,经过双重验证,可以有效过滤恶意模型更新,防止恶意参与者通过共享有毒模型更新来损害联邦学习全局模型训练的进程。
51、3、工作量证明效率低、浪费过多的计算资源,权益证明会造成记账权被连续独占的问题,减弱了网络的去中心化,两者都有一定的局限性。贡献度证明是一种新的共识机制,将节点的贡献度作为获得记账权的依据,可以减少计算资源浪费,保证区块的生成效率。本发明使用基于贡献度证明的委员会共识机制,基于各个参与者在联邦学习过程中做出的贡献,选择出一部分诚实参与者成为联邦学习过程中的委员会成员,委员会成员对模型更新进行验证,提升了验证和共识效率,可以有效防止恶意模型更新用于全局模型的聚合,提高了系统的鲁棒性。为了保证委员会成员的可靠性,本发明设计了一种贡献度计算方法,对不同角色的参与者设计了不同的贡献度计算依据和贡献度所占比例,合理量化了参与者的贡献度,有利于委员会成员的更替,保证了联邦学习参与者参与联邦学习过程的公平性,并激励参与者诚实参与联邦学习过程,从而为全局模型的高质量聚合提供了有力保证。
本文地址:https://www.jishuxx.com/zhuanli/20241118/329298.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表