主要贡献: 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
|