当前位置:   article > 正文

《A Credible and Fair Federated Learning FrameworkBased on Blockchain》基于区块链的可信、公平的联邦学习框架

《A Credible and Fair Federated Learning FrameworkBased on Blockchain》基于区块链的可信、公平的联邦学习框架

期刊IEEE Transactions on Artificial Intelligence

作者Leiming Chen;Dehai Zhao;Liping Tao;Kai Wang;Sibo Qiao;Xingjie Zeng;Chee Wei Tan

时间:2024.1.17



主要研究

1)提出了一个可信且公平的联邦学习计算框架,通过区块链技术和智能合约机制保证整个联邦任务过程的安全。

2)提出了一种基于模型特征融合的恶意客户端识别方法,以实现联邦学习中安全的全局模型聚合。

3)提出了一种基于Shapley值的改进方法,该方法结合了客户样本数量和模型质量来公平地评估客户贡献。

4)设计了不同的客户端攻击场景来验证框架的可靠性、设计了不同的客户端攻击场景来验证框架的可靠性。

贡献评价

现有评估联邦学习贡献的方法包括自我报告法沙普利值法(Shapley Value)和客户声誉法

自我报告法:参与的客户准确地报告他们的数据和计算资源,任务发起者分析报告以实现客户贡献评估。

沙普利值法:分三步计算客户贡献,首先计算客户参与全局模型融合的价值。然后,计算不参与的价值。最后,使用两种场景的差异来计算客户的边际贡献。

客户声誉法:主要通过评估联邦任务中每个客户的行为来计算客户的声誉值,最终实现合理的奖励分配通过每个客户的声誉价值。

如何识别恶意客户端并实现安全可信的全局模型的聚合?

如何评估客户的贡献并实现公平的奖励分配?

如何保证联邦任务全过程的安全可信?

(1)FedCFB的架构设计

FedCFB框架由联邦层、区块链层、客户端层组成。联邦层负责协调和调度所有联邦任务,区块链层负责存储联邦任务信息、客户端模型、奖励等,客户端层主要执行联邦任务。

在FedCFB框架中,任务发布者创建联合任务并邀请其他客户端加入。当客户端收到任务消息时,根据自己的计算和数据资源决定是否参与。任务发布者负责整个联邦任务,并根据每个客户端的贡献分配奖励。整个过程概述如下:

  1. 任务创建阶段:任务发布者制定任务描述,包括任务信息、模型、数据类型和奖励详情。接下来,任务发布者广播任务并形成联邦任务块,将任务信息写入区块链。
  2. 任务初始化阶段:其他参与者收到广播消息,根据自己的计算和数据资源选择加入任务。
  3. 客户端选择阶段:任务发布者检查区块链上每个参与者的信誉记录,并根据信誉记录选择客户端。任务发布者将初始化模型发送给候选客户端。
  4. 模型训练阶段:选定的客户使用本地数据来训练模型。当模型训练完成后,每个客户端计算模型的MD5并将其签名信息存储在区块链中。最后,每个客户端将模型发送给任务发布者。
  5. 模型检测阶段:任务发布者首先接收各个客户端发送的模型,并从区块链上下载每个模型的签名和MD5信息,以识别模型是否完整、可信。然后,调用恶意模型检测算法对每个模型进行检测,并根据检测结果将客户端分为可信客户端和恶意客户端组。
  6. 声誉评估阶段:任务发布者识别模型后,通过评估模型的结果并计算每个客户的新声誉来评估客户的声誉。最后,任务发布者将声誉值存储在区块链中。
  7. 模型聚合阶段:任务发布者将可信客户端的模型聚合成全局模型,然后将全局模型的MD5和签名存储在区块链中。最后,将全局模型发送给每个参与者。
  8. 贡献评估阶段:任务发布者通过贡献评估算法计算每个客户端的贡献,计算每个客户端的奖励,最后将奖励值写入区块链。

(2)基于区块链的智能合约机制

设计了五种智能合约和四种类型的区块链,每个区块链将由所有任务发布者和参与者节点监督和维护,以防止篡改。任务发布者或参与者存储信息的过程将被视为一个交易,所有节点都会将该交易发送给其所有邻居节点,直到网络中的每个节点都收到该交易。一旦所有节点验证完毕,交易就会被存储在相应的区块链上。

任务合约(Task Contract):该合约主要完成联邦任务的创建以及参与者的任务共识。当任务发布者发布新任务时,任务合约将被触发,新任务将被广播到所有节点。每个参与节点根据自己的计算资源、数据资源和奖励来决定是否参与该任务。如果参与者加入任务,则会将信息发送给任务发布者。所有任务信息都将存储在任务链中,其中包括任务描述和参与者信息,例如计算资源和训练数据、总奖励以及每轮奖励的分配规则。合约存储了任务链中的所有信息。

模型合约(Model Contract):该合约主要完成参与者模型的信息存储。任务发布者首先将初始化的全局模型的MD5和签名信息存储在模型链上。在每轮通信开始时,每个客户端都会从模型链下载全局模型来初始化本地模型。接下来,每个客户端使用本地数据来训练本地模型。最后,每个客户端将模型的MD5和签名信息上传到模型链。

安全聚合合约(Security Aggregator Contract):该合约主要保证全局模型的安全聚合。当参与本轮的所有节点完成模型上传后,触发该合约的执行。本合约集成了第III-D节中的安全聚合算法,以融合本轮的全局模型。最后,任务发起者将全局模型的信息存储在模型链中。

信誉合约(Reputation Contract):该合约主要完成客户历史信誉值的查询和存储客户新的信誉值。任务发布者调用该合约来获取每个客户的历史声誉信息,以更好地选择候选人。当每轮通信完成后,任务发布者调用该合约计算本轮各节点新的信誉值,最后将新的信誉值和一些相关信息写入信誉链。

贡献与奖励合约(Contribution and Reward Contract):该合约主要评估每个参与节点在每一轮中的贡献和奖励分配。任务发布者在每一轮中都会调用这个合约。合约集成了Section III-E的算法,可以计算每个参与者的贡献和奖励,最后将计算出的值写入CR-Chain。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/394734
推荐阅读
相关标签
  

闽ICP备14008679号