论文笔记——一种面向边缘计算的高效异步联邦学习机制(EAFLM)
文中提出一种根据自适应的阈值对训练过程中节点与参数服务器之间的冗余通信进行压缩,双重修正的梯度更新算法,允许节点在任何学习过程中加入或退出联邦学习。
主要贡献:
1、区别于分布式学习系统,提出一种更适合边缘网络中离散节点协作学习的异步联邦学习机制,使节点在不共享隐私数据的前提下从数据中进行学习。
2、在前人工作的基础上设计了一种阈值自适应的梯度压缩算法,在将梯度通信次数压缩至原通信次数的8.77%时,测试集上准确率仅降低0.03%。
3、为了适应边缘节点在进行模型训练时间上的随机性,对异步联邦学习进行深入的探索,提出了双重权重的方法来解决异步学习带来的性能降低问题。
联邦学习机制
在多参与方或多计算节点之间的机器学习算法不局限于神经网络,还包括随机森林等重要算法。
研究发现分布式SGD中99.9%的梯度交换冗余的,跳过部分的通信有助于减轻通信负荷。
上图中框架分为两层,参数服务器层和边缘节点层,异步联邦学习模块横跨两层。阈值自适应模块放在边缘节点层。满足条件的节点才能获得通信资格,将参数上传至参数服务器,不满足条件的节点无法获得通信资格,需要继续迭代。
异步联邦学习分为四个模块:参数更新、梯度修正、双重权重计算和节点学习状态监控子模块。
阈值自适应模块与异步联邦学习模块不是相互独立的,自适应的阈值计算需要获取更新后的参数,并与历史参数进行比较,压缩后的梯度通信影响节点的学习状态,进而影响双重权重梯度。
阈值自适应梯度压缩
符号含义
梯度压缩,减轻通信带宽。算法思想忽略某轮次中“慵懒”的节点(ML),只与“勤奋”的节点(MH)通信。
则节点数M可以表示为:
梯度可以表示为:
“慵懒”节点集合可以表示为:
设置更新参数的优化算法为梯度下降:
(为学习率)
(3)带入(2)
,均值不等式((a^2+b^2)>=(a+b)^2/2 )得,
若节点i∈ML满足式(6) , 则式(2) 一定能被满足:
由于集合 ML的总数无法事先获取, 所以为了简化问题, 我们引入比例系数β来衡量集合ML的节点总数, 即mL=βm. 整理式(6) 可得
学习过程参数趋于平滑,近似:
论文中将D的值取为1(这个1取得妙啊)
(9)为梯度自检表达式,节点在每轮学习结束后都应进行自检操作。
异步学习
引起异步学习的因素有很多:加入学习的时间不同、节点的计算力不听、梯度压缩、各种外部因素导致的学习中断。
(浅色部分表示已学习,深色部分表示未学习)
每个节点与学习问题最优解的距离是不同的,所以差异较大的节点对参数服务器中的全局参数进行平等的更新显然是不合理的。
引入双重权重解决异步学习问题。
双重权重:样本权重、参数权重
样本权重:节点的样本数量与总样本数量占比
参数权重:受梯度的目标参数与当前全参数数据在时间上的相近程度所影响
从参数服务器角度看,不断地有节点提出下载最新参数的请求,也不断地有节点上传新的梯度参数。
在每个节点提出下载最新参数的请求过程中,总穿插着一些节点上传新的梯度,所以下载的参数总有一定的陈旧性,
陈旧度:
参数陈旧度表示了节点在完成一次迭代学习中参数服务器经过几轮迭代更新,这一定程度上反映了节点的计算能力,所以应使陈旧度大的节点的参数权重下。
参数权重衰减函数:
是参数权重中可调节的参数,决定了衰减的速度。a越大衰减速度越大,
双重权重修正:
边缘节点提交的梯度在参数服务器上要经过双重权重修正才能参与全局模型优化。优化结束后,节点获得最新的参数并将其覆盖本地参数,进行下一轮迭代学习。
实验
评价指标:准确率(acc)、压缩率(CR)、亚索平衡指数(CBI)
压缩率越小,压缩程度越高。
梯度压缩率的减小会导致准确率的逐渐降低。CBI权衡两个指标,
数据集:MNIST
实验结果
异步实验
实验中训练轮数设为了500
数据集:CIFAR-10
从下表看出,EAFLM比节点训练中无停顿和有停顿下的准确率有所提升。
综合实验分析
该篇论文针对异步环境下的联邦学习进行了详细的研究,引入了双重权重来减小异步带来的影响,减小对模型准确率的影响。