【论文】【BLADE-FL 】When Federated Learning Meets Blockchain: A New Distributed Learning Paradig
When Federated Learning Meets Blockchain: A New Distributed Learning Paradigm
贡献 BLADE-FL(LearningChain)
1、设计BLADE-FL(blockchain assisted decentralized FL)框架(完全去中心化,全节点既负责训练又负责挖矿);
2、并探讨了BLADE-FL中的问题(隐私、资源分配、懒客户的检测)并给出解决方案;
3、实验证明解决方案的有效性;
BLADE-FL框架介绍
完全去中心化:所有节点都参与训练ML模型并负责挖矿(发布聚合结果)角色切换
工作流
- 任务发布和节点选择
- 本地模型广播( 模型更新+计算时间+本地数据大小)—隐私泄露问题
- 模型聚合(全节点聚合)
- 区块生成(训练节点变成矿工节点)-- 节点资源分配问题(训练+挖矿)
- 区块传播 – 懒节点问题
- 全局模型的下载和更新
- 奖励分配
智能合约功能
- 学习任务发布(任务要求:数据大小,训练准确度,延迟 + 聚合规则 + 奖励)
- 动态竞标请求成为训练节点和自动的激励机制(节点需要缴纳保障金参与竞标,竞标失败退还保障金,SC选择的是那些高可用和底成本的节点)
- 学习结果的聚合和激励反馈
系统可能存在的三个问题解决
1、隐私问题
- 每个节点为自己设定一个隐私级别e,e值越小,表示越高的隐私级别,也就是噪声越大;
- 自适应的噪声功率可提高模型ACC(当相邻两轮的模型ACC不再提升时,可降低噪声功率);
2、节点资源分配(训练+挖矿) – 最优化问题
- 节点根据学习任务难度,ACC和延迟等信息最优化分配其本地资源给训练任务或挖矿任务以最大化收益;
- 区块生成率(PoW)由hash函数计算复杂度和区块链网络的总计算能力决定;
- 产生一个区块的平均时间T_b = rC_b/ (Nf ) (r是挖矿难度,C_b 产生一个区块的CPU周期, N代表总节点数,f代表每个节点每秒的CPU周期数);
- 每次迭代的训练时间 T_t = |D| * C_t / f (|D|每个节点的样本数,C_t 训练一个样本需要的CPU周期数);
- 考虑一个FL任务需要在指定的时间完成T_sum, 本案例即
K*(a*T_t + T_b) <= T_sum (K表示通信轮数,a表示本地训练的epoches); - 要满足指定学习性能,需要在一定计算和挖矿时间下研究通信轮数K的合适选择;
3、懒节点
- 因为验证是在本地进行,懒节点可能会直接copy其他节点的模参,节省计算资源给挖矿以获取更多挖矿奖励;
- 节点上添加签名(pseudo-noise PN),此签名需要有适应噪声扰动的特征(防止节点通过在伪造的模型上加噪声来隐藏自己的恶意行为)-- 与数字签名不同;
- 节点在广播本地更新之前会生成一个长度为L的PN序列(L远大于参数长度,且要求PN序列具有很高的自相关系数),并选取其中与参数长度相同的一段加入模参中;
- 节点收到其他节点发来的模更,会使用自己的PN序列检测与模更之间的相关系数,若在互相关系数方面存在较高的峰值,则检测到懒节点,并广播要求其他节点进行验证;
三个问题解决方案的实验分析
- 聚合算法:SGD
- 数据集:Fashion-MNIST , Cifar-10
- 安全性:验证随着e的减小(也就是隐私级别越高,噪声添加的越多), 虽然模型性能降低,但自适应噪声比持续性噪声的模型性能好;
- 资源分配: g = T_t / T_b ,g越大表示节点分配越多的资源给计算,在不同g 下,寻找最优的通信轮数 K
- 懒节点:SNR信噪比(干净模参/PN加入后的模参),在不同SNR下,检测出懒节点的概率接近100%,并取固定SNR值和固定比例的懒节点来验证检测懒节点比不检测性能好,接近无懒节点情况;
【论文】【BLADE-FL 】When Federated Learning Meets Blockchain: A New Distributed Learning Paradig相关推荐
- 最新论文笔记(+21):Privacy-Preserving Byzantine-Robust Federated Learning via Blockchain Systems/ TIFS2022
Privacy-Preserving Byzantine-Robust Federated Learning via Blockchain Systems 可译为"利用区块链实现隐私保护的拜 ...
- 论文笔记:Privacy-Preserving Byzantine-Robust Federated Learning via Blockchain Systems
文章:Privacy-Preserving Byzantine-Robust Federated Learning via Blockchain Systems 背景原因 解决方案 工作贡献成果 预备 ...
- 联邦学习+拆分学习|SplitFed: When Federated Learning Meets Split Learning
SplitFed: When Federated Learning Meets Split Learning(AAAI 2022) paper:https://arxiv.org/pdf/2004.1 ...
- 论文阅读笔记:Improving Attacks on Speck32 / 64 using Deep Learning
论文阅读笔记:Improving Attacks on Speck32 / 64 using Deep Learning 本文通过神经网络利用了减少轮数的 Speck 的差分性质.为此,作者对神经网络 ...
- [基础论文阅读]QMIX: Monotonic Value Function Factorization for Deep Multi-agent Reinforcement Learning
[基础论文阅读]QMIX: Monotonic Value Function Factorization for Deep Multi-agent Reinforcement Learning 题目含 ...
- 论文阅读:(2020 AAAI) Video Cloze Procedure for Self-Supervised Spatio-Temporal Learning
Video Cloze Procedure for Self-Supervised Spatio-Temporal Learning (2020 AAAI) Dezhao Luo, Chang Liu ...
- 论文解读:Deep Dyna-Q: Integrating Planning for Task-Completion Dialogue Policy Learning
论文解读:Deep Dyna-Q: Integrating Planning for Task-Completion Dialogue Policy Learning (2018 ACL) 简要信息: ...
- 论文笔记 2014-Influence Maximization-Near-Optimal Time Complexity Meets Practical Efficiency
这里写自定义目录标题 论文笔记 2014-Influence Maximization-Near-Optimal Time Complexity Meets Practical Efficiency ...
- 【论文汇总】人工智能顶会深度主动学习(Deep Active Learning)相关论文
汇总2017年至今,ICCV\CVPR\NIPS\ECCV会议上发表的深度主动学习(Deep Active Learning)相关文章,根据原文中report的实验数据集划分为 图像分类 . 语义分割 ...
最新文章
- Unreal Engine* 4.19 的 CPU 功能检测
- 深度学习--感知机讲解
- 局域网配置NTP服务器
- python就业前景和工资待遇-看完Python这五大就业方向的薪资待遇,你选择哪个?...
- HDU1226 搜索 bfs xingxing在努力
- nginx 免安装包
- JavaScript 用typeof来判断是否是对象的弊端
- 关于Action模型驱动无法获取属性的问题
- pySpark加载数据
- 风控建模系列(六):催收评分卡卡跟贷前申请卡关于目标变量的定义
- Obj-C 实现设计模式 -- Adapter
- c语言经典程序100例50行以上,C语言非常简单的字符统计程序50行
- 13个Python小游戏(含源码),开始敲起来,玩吧!
- 四川途志:短视频营销公司做视频广告投放有技巧吗?
- HealthKit开发教程之HealthKit的主要类型数据
- HTML5 video 视频标签使用介绍
- 运行不同版本libc
- WORD公式编辑器的使用(快捷键or添加快捷方式到工具栏)
- imx6ull 下 UART5问题
- 斗地主发牌及排序流程
热门文章
- 【附练习数据】 .shp .dwg KML/KMZ常见矢量格式随意转换(ArcGIS和Global Mapper教程)
- Vsync机制和Choreographer详解
- Smarty教程[3]
- Java版工程管理系统源代码-软件自主研发,工程行业适用
- realsense相机两种获取相机内外参的方式
- 选20万年薪城市还是5000工资家乡?三点就说透了,过来人掏心窝子
- 联想YOGA 16s 2022 怎么样
- 千万条记录,怎么做分页?怎么能提高性能?
- 布局天地一体化出行 吉利民企卫星项目正式开工
- C++ istringstream、ostringstream、stringstream类用法详解