【论文】【BFLC】 A Blockchain-based Decentralized Federated Learning Framework with Committee Consensus

【论文】【BFLC】 A Blockchain-based Decentralized Federated Learning Framework with Committee Consensus,第1张

【论文】【BFLC】 A Blockchain-based Decentralized Federated Learning Framework with Committee Consensus 中山大学研究团队2020提出基于区块链委员会机制的联邦学习系统(BFLC)。

主要贡献:
1、减少共识计算量
2、抵抗恶意攻击
并讨论了BFLC的扩展性(理论安全、存储优化、激励机制)

============ 【1】FL(C/S)

中央服务器功能:执行更新聚合并广播(要求网络高带宽)、客户端节点选择、全局模型的维护
存在的问题:服务器稳定性受服务器提供商影响、偏向某些客户端导致模型倾斜、服务器恶意投毒或从模型更新中收集用户隐私数据;
解决思路: 去掉中央服务器,使用分布式节点代替—>区块链(分布式数据库)

============ 【2】BFL(Blockchain + FL)

【BAFFLE】:使用区块链存储和共享模型,使用智能合约完成模型聚合,缺点是全节点参与共识,计算量过大;
【PIRATE】:社区内共识,社区间利用AllReduce协议来传输和更新模型,缺点是需要同时维护多个区块链不利于模型共享,且一个社区中的节点很难获取其他社区的模型和更新记录,针对某社区集体作恶情况需要一个辅助的全局检测机构。

待解决问题
1、共识效率低下
2、区块链存储压力大

============ 【3】BFLC(本论文) 【3.1】基于联盟链(节点准入控制); 【3.2】新的区块链存储模型(models块和updates块),必要情况下可舍弃历史节点以换取更多存储空间;
  • model block = block-header + round-t + global-model
  • update block = block-header + round-t + local-update + uploader-address + update-score
  • 节点存储不足时可以删除本地的历史区块,仅保留当前轮的模型块和更新块----区块链的可信性降低,可借助可信第三方存储结构,区块中仅存储更新或模型的存储地址和 *** 作记录。
【3.3】委员会共识机制(更少的校验计算量+恶意攻击下的稳定性);

系统节点(训练节点N + 委员会节点M),本轮的验证得分高的成为下一轮的委员会节点;若某一轮的恶意节点被委员聚合,则说明本轮有大于M/2个委员会集体作恶,而本轮的委员会是上一轮得分高的节点,说明上一轮有大于M/2个委员会集体作恶,以此类推只要第一轮的委员会节点中有超过M/2个可信节点,恶意节点则无法进入系统。

【3.4】实验证明BFLC的有效性和抗恶意攻击性;

系统节点A个,恶意节点占比q ,委员会数量占比 p,也即恶意节点Aq个,委员会节点Ap个,攻击目标是占据委员会的超一半席位,也即 A*q > A * p / 2 ,由图分析,只有当恶意节点占比超过50%时,攻击成功率才会显著大于0,

【3.5】激励机制:基于贡献(准入费 + 按更新得分分配奖励); 【3.6】System Security–实施性有待验证
  • 实验:FISCO BCOS,AlexNet,对比系统Basic FL和CwMed;
  • 恶意攻击是带有逐点高斯噪声的随机扰动(直接库函数skimage);
  • 假设恶意节点时串通的,恶意委员会会给予恶意节点以随机高分(90-100);
  • 系统最开始根据恶意节点比例q设定哪些是恶意节点,恶意训练节点在上传更新时加上高斯噪音,而恶意委员会节点在收到恶意更新时给与随机高分,测试随着恶意节点占比的增加,模型最终准确度的变化。
============ 【4】BRFL(专利) 动态多权重信誉模型确定目标委员会 【4.1】委员会和工作节点间的互动效应值;
  • 互动次数
  • 正相互作用x和负相互作用y的权重值(x<=y,且x+y = 1)
  • 根据模型更新的验证结果确定互动方向(正或负)
【4.2】委员会和工作节点间的互动新鲜度;
  • 工作者的可信赖度随着时间而动态变化,
【4.3】委员会对工作节点更新的平均验证分数AVS;
  • 委员会对本地更新打分,低于阈值的更新将被拒绝
【4.4】 根据信誉得分FPS 评选下一轮委员会节点

  • b_{i->j}^{t_y} 表示委员会 i 对工作节点 j 在时间段t_y 的表现表示相信,由包传输成功率 和正负向互动次数决定;
  • u_{i->j}^{t_y} = 1 - q_{i->j}^{t_y}表示委员会 i 对工作节点 j 在时间段t_y 的表现表示不相信,由包传输成功率q_{i->j}^{t_y} 和正、负向互动次数决定;
【4.5】对比实验:Basic FL、CwMed、BFLC和BRFL

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5669062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存