期刊: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框架中,任务发布者创建联合任务并邀请其他客户端加入。当客户端收到任务消息时,根据自己的计算和数据资源决定是否参与。任务发布者负责整个联邦任务,并根据每个客户端的贡献分配奖励。整个过程概述如下:
- 任务创建阶段:任务发布者制定任务描述,包括任务信息、模型、数据类型和奖励详情。接下来,任务发布者广播任务并形成联邦任务块,将任务信息写入区块链。
- 任务初始化阶段:其他参与者收到广播消息,根据自己的计算和数据资源选择加入任务。
- 客户端选择阶段:任务发布者检查区块链上每个参与者的信誉记录,并根据信誉记录选择客户端。任务发布者将初始化模型发送给候选客户端。
- 模型训练阶段:选定的客户使用本地数据来训练模型。当模型训练完成后,每个客户端计算模型的MD5并将其签名信息存储在区块链中。最后,每个客户端将模型发送给任务发布者。
- 模型检测阶段:任务发布者首先接收各个客户端发送的模型,并从区块链上下载每个模型的签名和MD5信息,以识别模型是否完整、可信。然后,调用恶意模型检测算法对每个模型进行检测,并根据检测结果将客户端分为可信客户端和恶意客户端组。
- 声誉评估阶段:任务发布者识别模型后,通过评估模型的结果并计算每个客户的新声誉来评估客户的声誉。最后,任务发布者将声誉值存储在区块链中。
- 模型聚合阶段:任务发布者将可信客户端的模型聚合成全局模型,然后将全局模型的MD5和签名存储在区块链中。最后,将全局模型发送给每个参与者。
- 贡献评估阶段:任务发布者通过贡献评估算法计算每个客户端的贡献,计算每个客户端的奖励,最后将奖励值写入区块链。
(2)基于区块链的智能合约机制
设计了五种智能合约和四种类型的区块链,每个区块链将由所有任务发布者和参与者节点监督和维护,以防止篡改。任务发布者或参与者存储信息的过程将被视为一个交易,所有节点都会将该交易发送给其所有邻居节点,直到网络中的每个节点都收到该交易。一旦所有节点验证完毕,交易就会被存储在相应的区块链上。
任务合约(Task Contract):该合约主要完成联邦任务的创建以及参与者的任务共识。当任务发布者发布新任务时,任务合约将被触发,新任务将被广播到所有节点。每个参与节点根据自己的计算资源、数据资源和奖励来决定是否参与该任务。如果参与者加入任务,则会将信息发送给任务发布者。所有任务信息都将存储在任务链中,其中包括任务描述和参与者信息,例如计算资源和训练数据、总奖励以及每轮奖励的分配规则。合约存储了任务链中的所有信息。
模型合约(Model Contract):该合约主要完成参与者模型的信息存储。任务发布者首先将初始化的全局模型的MD5和签名信息存储在模型链上。在每轮通信开始时,每个客户端都会从模型链下载全局模型来初始化本地模型。接下来,每个客户端使用本地数据来训练本地模型。最后,每个客户端将模型的MD5和签名信息上传到模型链。
安全聚合合约(Security Aggregator Contract):该合约主要保证全局模型的安全聚合。当参与本轮的所有节点完成模型上传后,触发该合约的执行。本合约集成了第III-D节中的安全聚合算法,以融合本轮的全局模型。最后,任务发起者将全局模型的信息存储在模型链中。
信誉合约(Reputation Contract):该合约主要完成客户历史信誉值的查询和存储客户新的信誉值。任务发布者调用该合约来获取每个客户的历史声誉信息,以更好地选择候选人。当每轮通信完成后,任务发布者调用该合约计算本轮各节点新的信誉值,最后将新的信誉值和一些相关信息写入信誉链。
贡献与奖励合约(Contribution and Reward Contract):该合约主要评估每个参与节点在每一轮中的贡献和奖励分配。任务发布者在每一轮中都会调用这个合约。合约集成了Section III-E的算法,可以计算每个参与者的贡献和奖励,最后将计算出的值写入CR-Chain。