A Blockchain-Based Decentralized Federated Learning Framework with Committee Consensus
本文简易框架demo源码
背景
- 问题定义
- 在联邦学习场景中,客户端通过交换模型梯度或更新后的模型参数,不暴露私人数据,从而合作训练一个共享的全局模型。但是容易存在恶意攻击的行为,分别是恶意客户端和中央服务器对模型或数据的攻击,导致存在安全性问题。
- 中央服务器的稳定性、公平性和安全性对FL至关重要。简单结合区块链,利用智能合约执行聚合、存储、共享全局模型可以避免中央服务器带来的挑战,但是给维护区块链的客户端节点造成巨大的计算量和网络传输压力,从而区块链的共识效率低下,可扩展性较差。
- 主要贡献
- 提出一个基于区块链委员会共识机制的联邦学习框架(BFLC)
- 从技术上讨论了BFLC的可扩展性,包括委员会节点管理,恶意节点攻击分析,存储优化
- 在真实数据集上证明了BFLC的有效性,通过模拟恶意攻击来验证安全性。
- 本文优势
- 实现去中心化联邦,利用区块链上的智能合约进行全局模型存储和本地模型更新交换
- 利用创新的委员会共识机制,减少共识计算量。提高安全性、共识效率、可扩展性
- 安全性(链下委员会选举,交叉验证)
- 高效性(链上委员会共识,m2m^{2}m2的PBFT共识)
方法
架构图
区块链存储
- 定义区块大小:每一个区块的存储大小为一个全局模型或本地模型更新的学习信息
- 存储流程:
- 初始化的全局模型被放入第一个区块
- 节点访问最新的全局模型区块并执行本地训练,上传模型更新并生成一个区块
- 当满足一定的模型更新区块时,智能合约自动聚合模型更新,将新一轮的全局模型放入新的区块
- 符号和元数据定义:
- 每一轮需要的模型更新为:k
- FL通信轮次为:t
- 第 t 轮次的全局模型的区块为:第 t×(k+1)t \times (k+1)t×(k+1)区块
- 其中[t×(k+1)+1,(t+1)×(k+1)−1][ t\times (k+1) +1, (t+1) \times (k+1) -1][t×(k+1)+1,(t+1)×(k+1)−1]区块包含更新信息的区块
- 全局模型区块学习信息:
- 块头
- 通信轮次ttt
- 全局模型
- 模型更新的区块学习信息:
- 块头
- 通信轮次ttt
- 本地更新的梯度
- 上传者的地址
- 更新的得分
委员会共识机制Committee Consensus Mechanism (CCM)
- 思想
- 委员会在区块链中通常被视为可信的、固定数量的节点,通过委员会选举机制可选举出每一轮参与共识的区块链节点,从而提高共识算法的效率。
- 而本文提出一种安全的委员会选举机制,赋予委员会节点验证模型更新和块生成的职责,智能合约依据上一轮委员会对其他训练节点模型的评分进行模型聚合,以及从训练者中选举出下一轮委员会节点。其中同一个节点不会同时担任委员会和训练者的角色,所以委员会节点不会连任。
- 优点
- 高效:只需要少数的节点(委员会节点)参与共识,而不需要所有节点参与共识
- K折交叉验证:委员会节点不作为训练节点,因此,在对训练节点模型更新进行评分时,可以将委员会的本地数据视为验证集,随着委员会的交替担任,可以实现k折交叉验证
- 抵御恶意节点:基于委员会对模型更新的评分,智能合约将选取表现好的节点作为下一轮委员会。即:所选取的委员会节点的本地数据分布与整体数据分布相似且该节点不是恶意的。
模型训练
上述机制可以解决以下两个挑战:
- 本地数据可能不是独立同分布的:
- 模型更新在所有委员会本地数据上进行验证评分,选取表现较好的模型聚合,提高全局模型的泛化性
- 设备可能不是总是可用的
- 每一轮仅挑选部分节点的模型聚合,设备可以在可用时主动获取全局模型进行本地训练,从而参与到任意一轮的联邦学习中
委员会选举策略
- 随机选举:从训练节点中随机选取委员会节点,提高了模型的泛化性,减少了过拟合。但对恶意攻击的抵抗力较弱
- 基于评分选举:选举评分较高的训练节点作为下一轮的委员会节点,但是由于可能选取的委员会节点在下一轮会不参与,因此也会增加验证集的不均匀性,但会带来更多的安全性和稳定性,给恶意节点攻击带来较大成本
- 多因素的优化:考虑设备的多个因素(如:网路带宽)以及模型验证评分,但是多个因素考虑带来计算成本
恶意节点分析
假设所有节点数量为NNN,委员会节点数量为MMM,剩余节点N−MN-MN−M为训练节点
- 第一种情况:恶意更新只有当超过M2\frac{M}{2}2M的委员会节点共谋同意才会接受,也就意味着这些恶意的委员会节点也是通过上一轮超过M2\frac{M}{2}2M的恶意委员会节点共谋选举出来,因此只要在第一轮委员会中存在超过M2\frac{M}{2}2M的诚实节点,则不会有恶意节点危害全局模型
- 第二种情况:假设恶意节点占领委员会节点一般之前都不会进行恶意攻击,因此,每个节点被选举的概率相同,定义节点数量为AAA,则委员会的比例为ppp,恶意节点的比例为qqq,从而将恶意节点攻击成功的概率定义为恶意节点占据委员会节点数量的一半的概率,如下:
P(攻击成功)=∑i=⌈A×p2⌉A×q(A×qi)(A×(1−q))i)(AA×p)\begin{aligned} P(攻击成功)=\frac{\sum_{i=\left \lceil \frac{A\times p}{2} \right \rceil}^{A\times q}\binom{A\times q}{i}\binom{A\times (1-q))}{i}}{\binom{A}{A\times p}} \end{aligned} P(攻击成功)=(A×pA)∑i=⌈2A×p⌉A×q(iA×q)(iA×(1−q)))
其中⌈⋅⌉\left \lceil \cdot \right \rceil⌈⋅⌉为向上取整,(XY)\binom{X}{Y}(YX)为从X中取Y个的组合数。当q<0.5q<0.5q<0.5时,随委员会节点ppp的增大,恶意攻击的成功率几乎减少为0。并且,当q>0.5q>0.5q>0.5时,恶意攻击成功率才会显著上升,因此,共谋攻击者需要付出巨大的算力代价,才能对模型造成影响。
实验
数据集和实验设置
- 数据集
- FEMNIST
- 805263个样本和3550个用户的手写体字符
- 包含62个类别
- 客户端
- 数量:900个
- 每一轮参与的节点比例:k%
- 其中设置委员会节点比例为40%
- 本地数据集数量不平衡并且是non-iid
- 模型设置
- AlexNet模型
- 对比基线
- 基准的FedAvg
- 集中训练
- CwMed
无恶意攻击下准确率
- 结论:BFLC的性能接近基准的FL,并且仅比集中训练的准确率稍微下降了一点。
恶意攻击下的准确率
- 场景设置:在训练的过程中存在恶意攻击的节点,一旦全局模型聚合了恶意节点上传的模型,则全局模型的性能将降低
- 设置每一轮中参与训练节点中恶意节点的比例
- 结论:BFLC框架对恶意节点攻击具有鲁棒性
传输成本
- 结论:分布式的联邦学习自然明显增加网络传输的成本,但是在存在恶意节点的场景下,BFLC相比其他基于区块链的基准FL、CwMed可以用较少的网络传输成本达到较高的准确率。因此,BFLC具有较高的性能和具有较好的稳定性。
A Blockchain-Based Decentralized Federated Learning Framework with Committee Consensus相关推荐
- A Blockchain-based Decentralized Federated Learning Framework wth Committee Consensus
A Blockchain-based Decentralized Federated Learning Framework with Committee Consensus 基于区块链的具有委员会共识 ...
- Blockchain Assisted Decentralized Federated Learning 阅读笔记 TPDS’2022
Introduction 区块链可以用于取代联邦学习中的中心聚合服务器 目前的区块链联邦学习中的区块链和参与联邦学习的用户独立,相当于服务器换成了一条区块链,也会有隐私泄漏的风险 目前的区块链联邦学习 ...
- 【FL-GAN】Private FL-GAN: Differential Privacy Synthetic Data Generation Based on Federated Learning
Private FL-GAN: Differential Privacy Synthetic Data Generation Based on Federated Learning 私有FL-GAN: ...
- 顶会论文笔记:联邦学习——ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework
ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework 文章目录 ATPFL: A ...
- 基于联邦学习的多源异构数据融合算法 Multi-Source Heterogeneous Data Fusion Based on Federated Learning
5.基于联邦学习的多源异构数据融合算法 Multi-Source Heterogeneous Data Fusion Based on Federated Learning 摘要:随着科技的迅猛发展, ...
- Decentralized Collaborative Learning Framework for Next POI Recommendation
Decentralized Collaborative Learning Framework for Next POI Recommendation 1. What does literature s ...
- Blockchain Empowered Asynchronous Federated Learning for Secure Data Sharing in Internet of Vehicles
<Blockchain Empowered Asynchronous Federated Learning for Secure Data Sharing in Internet of Vehi ...
- 【论文导读】- STFL: A Spatial-Temporal Federated Learning Framework for Graph Neural Networks
文章目录 论文信息 摘要 Contributions Methodology Graph Generation Graph Neural Network 联邦学习 Experiment 数据集 Nod ...
- 联邦学习1 A Unified Federated Learning Framework for Wireless Communications: towards Privacy,..论文
大背景 面临的问题:1.隐私问题.2.非 IID 数据.2.无线网络通信资源有限.3.复杂的用户身份,训练过程面临着拜占庭设备的挑战,它可以向模型注入中毒信息 根据上一篇,FAug-FD 虽然工作良好 ...
最新文章
- [ACM] hdu 1228 A+B (字符串处理)
- 矩阵的LU分解 c++
- Xilinx RAM IP核的使用
- 成功解决python\ops\seq2seq.py TypeError: ms_error() got an unexpected keyword argument 'logits'
- 求输入的单词个数(单词间用空格隔开 不限空格个数) 首尾不能用空格
- CDS ORF 5‘UTR 3'UTR
- SQLServer收缩数据库日志
- SQLServer版本对应内部数据库版本号配置表
- halcon模板匹配实践(5)使用橡皮擦涂抹功能实现减少模板匹配特征
- 用微软的云计算来远程管理自己的电脑
- Python自动化之-DDT数据驱动
- 2022年机修钳工(中级)考试题库及模拟考试
- 2021-2027全球与中国美容淋浴器市场现状及未来发展趋势
- 思科模拟器(Cisco Packet Tracer7.2.1)安装过程
- Oracle ORA-1628错误的定位分析(2012/1/8)
- 小米无线显示电脑连接到服务器,小米手机无线连接电脑_小米手机无线显示电脑...
- 源码推荐 VVebo剥离的TableView绘制
- 数据科学家技能树(中文翻译版)
- Java面试之synchronized的前世今生
- Axure 高保真2 听一听效果预览
热门文章
- python-电信宽带提速器软件
- 游戏机遇到来 非主流HTML5能否成器?
- 微型计算机可以作为提供CPU,谁知道计算机应和基础练习题答案?
- 南大通用数据库-Gbase-8a-学习-25-常用系统表查询语句
- Elasticsearch快照备份
- 每次打开WPS都会打开【我的WPS】的解决方法
- Nodes required for job are DOWN, DRAINED or reserved for jobs in higher priority partitions
- python提取pdf发票信息_PDF电子发票内容提取
- 没有离职证明能入职吗(离职证明丢了能入职吗)
- 机架服务器扩展硬盘柜,Infortrend JBOD 和扩展柜用于服务器和存储 | Infortrend