提出了一种 高效 异步 的联邦学习机制EAFLM
(Efficient Asynchronous Fedrated Learning Mechanism)
其中:
高效的实现目标主要是实现通信压缩,文章在前人Chen等人提出的LAG自适应压缩的工作基础上,提出了一种阈值自适应的压缩算法。文章中的通信压缩属于“通信稀疏化”的范畴。
异步方面的工作是实现了各个边缘设备真正的异步训练,允许节点在任何学习过程中加入或退出联邦学习。提出了双重权重的方法以解决异步学习带来的性能降低问题。
联邦学习机制
EAFLM机制框架示意图
其中:
自适应阈值梯度压缩模块包含:自适应阈值计算子模块、梯度通信压缩子模块
异步联邦学习模块 横跨参数服务器Level和边缘节点Level,其包含:位于边缘节点上的 学习状态监控子模块 和 位于参数服务器上的 双重权重计算子模块、梯度修正子模块、参数更新子模块。
第k轮参数服务器(更新后)的参数
节点i基于第k轮的参数计算出的k轮的梯度
M中所有节点在k轮计算出的梯度总和
所有边缘节点的集合M
M中总的元素个数
所有节点的样本总数
节点i的样本总数
节点i当前纪元的样本权重
节点i当前纪元的参数权重
文章提出的通信压缩方法属于“通信稀疏化”的范畴,基于Chen等人提出的LAG自适应压缩的工作基础之上。
首先定义在某一轮次中,与参数服务器发生通信的节点为“勤奋节点hard work”,而被忽略的节点为“懒惰节点lazy”,记勤奋节点集合MˇH,懒惰节点集合MˇL,因此
M=MˇL+MˇH
梯度可以表示为:
懒惰节点集合MˇL满足:
设置更新参数的优化算法为 梯度下降算法gradient descent,即:
(其中α为学习率)
(3)带入(2):
其中
,由均值不等式【
a 2+ b2 >= (a+b)2 / 2
】
得,
(理解:(5)是经过均值不等式推导,因此右侧部分是大于左侧 ||·||2 部分这是必然成立的,而(4)是定义推导而出的“定义为lazy节点的条件式”,因此 (4)右侧 >= (5)右侧 如果成立,(4)右侧 >=左侧部分 则必然成立。然后(4)右侧 >= (5)右侧等式的基础上两边各除以(MˇL)2 可得(6)。因此满足(6)一定可以满足(2)。)
由于集合 MˇL的总数无法事先获取, 所以为了简化问题, 我们引入比例系数β来衡量集合MˇL的节点总数, 即mˇL=βm。(比例系数其实就是所有节点中lazy节点数量所占的比例) 整理式(6) 可得:
而因为通常难以获得θk-θk-1,且学习过程中的参数逐渐趋于平滑,因此取近似:
(D=1 即说明,θk-θk-1 取上一轮(k-1轮)的参数差异)
此时式(7)变为:
此时,本式作为节点设备在上传梯度之前进行梯度检查的自检表达式。
异步联邦学习可能有很多因素导致:加入学习的时间、节点的算力不同、梯度压缩、外部因素 等
权重分为两个权重:样本权重、参数权重
②参数权重:受梯度的目标参数与当前全参数数据在时间上的相近程度所影响
在使用边缘节点提交的梯度对全局模型优化之前,需要对梯度进行 双重权重修正,在此之后才可继续参与全局模型的优化:
在前面的文章可以知道,对于本文的实验,参数权重中的数值α取0.9,阈值自适应梯度压缩中的D取1。
实验配置:
评价指标:
准确率Acc(指Top-1 Accuracy):越高越好
压缩率CR:越低压缩程度越强
压缩平衡指数CBI:
实验结果:
(β是前文中的比例系数,其实就是所有节点中lazy节点数量所占的比例)