【联邦学习论文阅读】(AAAI-2021)Federated Block Coordinate Descent Scheme for Learning Global and Personalized

摘要

在联邦学习中,先利用用户边缘设备中的私有数据学习模型,再将用户的数据聚合到服务提供商的“云”中,从而获得一个全局模型。据此作出两点改进:

  • 考虑到用户习惯的不同,提出一个基于二次惩罚的公式,以有效地学习允许局部模型个性化的全局模型。
  • 解决与边缘设备的异构训练时间相关的延迟问题:利用分层结构,对云和边缘设备之间的通信,以及云内部的通信进行建模。即设计一个定制的块协调下降的计算方案,并提供同步和异步云设置的通信协议。

一、介绍

联邦学习与传统分布式学习(分布式学习的优化通常发生在稳定的数据中心)的区别:

  • 用户不同边缘设备中,数据和可用计算能力的异质性;
  • 边缘设备和云之间的通信具有间歇性(且成本高)

目前的“标准算法”:采用递归机制。使边缘设备处理自己的训练数据以更新本地模型,并引入云来为聚合得到全局模型z,并将所有本地模型与更新的z同步。

改进的空间:

  • 在所有地方保持相同的模型是否有效?边缘设备上的数据通常是非独立同分布的,可在本地使用个性化模型,而不是统一模型;
  • 同步云模式是否有效?云由一组平行工作的服务器组成,一个边缘设备只需要与一个这样的云服务器通讯。当把云作为唯一的计算资源时,隐含执行云同步,可能会导致显著的更新延迟。但实际上,由于通信和计算能力的异质性,边缘设备的可用时间和本地训练时间会有很大的不同。因此,很可能大多数云服务器被几个 "慢"激活的边缘设备困住,甚至从未与它们通信。

贡献(在上述的两方面进行改进)

  • 提出针对联邦学习的定制分层通信架构,该结构由主从网络和多代理网络组成。
  • 提出轻量级块协调下降计算方案及通信协议,这是第一个可以同时实现模型个性化和云服务器异步更新的工作(还提供了一个在经验上表现得更好的变体)。
  • 给出所提算法的次线性收敛速度。因为通信结构包括两层信息交换,所以需要另外的分析工具。
  • 提供延迟分析来证明异步更新的有效性。用边缘设备的消息到达时间分布来估计运行时间;将更新涉及的云服务器的数量与运行时间联系起来(证明了当边缘设备为间歇性更新时,受多代理共识技术启发的异步协议比同步设置,在延迟方面有更大潜力)。
  • 在标准机器学习应用上进行数值实验,证实以上理论,而且表明该系统比目前的技术在边缘设备上有更快的收敛速度。

相关工作

FedAvg:每一轮中,云将全局模型发送到部分被激活的边缘设备;然后激活的边缘设备对本地代价函数进行固定epochs次随机梯度下降,来更新本地模型;最后,云将上传的本地模型聚合(加权求和)为新的全局模型。

FedProx:与FedAvg机制类似,但边缘设备更新步骤不同。在代价函数中增加一个额外的近似项,并使用通信周期可变的算法来加速SGD。

模型个性化:AFL(运用复杂的机制来确定云聚合中涉及到的边缘设备模型的权重);Per-FedAvg(寻找一个好的”初始化“作为全局模型,然后边缘设备只需要几个简单的更新步骤,就可以达到本地最优);MOCHA(通过多任务学习实现共享表示,从而为每个边缘设备学习独立但相关的模型)

异步多智能体网络中的分布式学习:虽然这样的实现通常需要比主从式更多的迭代,但没有协调开销。有实验表明,这种开销的减少对运行时间有显著的好处。当承担一个大型分布式数据库的深度学习问题时,异步多代理算法比其主从式算法运行得更快,因为与传统的主从式或增量式架构相比,放宽的协调有助于完成每次更新而没有滞后。

二、问题陈述

在这里插入图片描述
将这种架构称为异步云架构,它允许云服务器上的模型差异,同时考虑了 服务器/服务器更新 和 服务器/设备通信:

  • 云服务器通过(可能的)动态多智能体图连接,彼此间需要通信以达成共识;
  • 服务器/设备间的通信以主从方式进行,具有间歇性和随机性。将这种架构称为异步云架构,它允许云服务器上的模型差异。

提出的公式为:
在这里插入图片描述
备注1:(二次惩罚)被用来在底层优化有许多局部最优的深度学习任务中,以寻求更好的解决方案;在对抗场景中,被认为能使全局模型抵抗恶意设备攻击。
备注2:全局和个性化模型的动机。

三、联邦块协调下降

经典的块协调下降(BCD):
在这里插入图片描述
边缘设备上的更新:
在这里插入图片描述
云服务器上的更新:
在这里插入图片描述在这里插入图片描述
FedBCD:(4)-(6)
在这里插入图片描述

FedBCD中的同步云和异步云协议
在这里插入图片描述
同步云协议(两个阶段):

  1. 新一轮t从“响应和更新”阶段开始,在此阶段云服务器接受边缘设备的更新请求,并返回全局模型,等待它们进行(4)本地更新。直到云服务器收到预先设置数量的边缘设备返回的t+1轮模型参数,完成其副本更新,再把所有参数发给协调者,使其保持第t轮最新的全局模型。
  2. 在得到所有云服务器的消息后,协调者进入”聚合“阶段,执行(5),得到第t+1轮的全局模型参数并广播。云服务器收到后准备开始新一轮的更新。

异步云协议(三个阶段):

  1. 在第t轮,云服务器完成“响应和更新”阶段,并将所得的最新参数发给协调者。
  2. 协调者等到B个云服务器后,进入“聚合”阶段1,将得到的参数返回给这B个云服务器。
  3. B个云服务器进入“聚合”阶段2,执行(6);其他云服务器不变。

备注3:(协调者)与传统不同,只涉及轻量级的计算。相信随着软件定义网络的出现,多代理信息交换方式的特定服务器通信,在特定应用中可以得到有效实现。

延迟分析:假设更新间隔时间遵循特定的分布来证明异步更新的有效性。
权衡 β=B/N 的大小(N为云服务器个数),β越大,每轮更新速度越快,但延迟越大。

备注4:模型个性化与异步更新,都与联邦学习异质性相关。

FedBCD的一个直观变体

在FedBCD中,边缘设备只有在通信稳定的情况下才会更新本地模型,但实际上也可以离线训练本地模型。
在这里插入图片描述
算法引入了代价函数和二次惩罚:在第t轮中,通信不佳但可本地训练的边缘设备使用代价函数进行本地训练;然后其中的部分边缘设备发送更新请求。
与FedBCD算法不同的是,边缘设备只有在完成一轮本地训练时才会发送更新请求,且当边缘设备在预先确定的轮次内未能与云通信时,将停止本地训练并尽早与云通信。

四、理论上的收敛分析

假设1:服务器/服务器,设备/服务器通信满足条件(2个)
假设2:问题公式化中的可行域
假设3:FedBCD(6)中的混合系数
假设4:步长和动量权重满足条件
假设5:代价函数
假设1确保没有边缘设备或云服务器是隔离的;假设2-3在约束优化和平均一致算法中很常见;假设4要求步长和动量权重是有界的;假设5是典型的随机梯度下降。(异步云协议违反了假设4,因为其云服务器步长随时间变化 -> 可以通过小修改来修复)

定理1:若假设1-5成立,通信轮数T足够大,用批量大小R来计算随机梯度。R和T决定了收敛速度。次线性收敛速度与分布非凸算法一致。

备注5:只考虑同步云设置时,FedBCD的次线性收敛速度与集中式非凸算法相同;而FedBCD的异步云设置未在文献中见过。

五、数值实验

在PyTorch上训练两个模型:用于MNIST数据集分类的三层神经网络;用于CIFAR-10数据集的更深的ResNet-20模型。
假设有10个云服务器,每个连接10个边缘设备。限制数据的“多样性”来模拟数据异质性;模拟间歇通信。通过试错法来设置参数。

模型差异与模型一致

比较允许模型差异的 FedBCD、FedBCD-1 和强制模型一致的 FedAvg、FedProx,使用 个性化性能、全局性能 这两种性能指标。为保证公平,所有算法都使用同步云协议,且每轮记录性能(不考虑每轮的延迟)
在这里插入图片描述
可以看出 FedAvg、FedProx 的两种性能基本相同;而 FedBCD、FedBCD-1 可以提供更好的个性化性能。FedBCD 的更新速度仅快于 FedAvg。

同步云与异步云

随机设置“响应与更新”阶段的更新间隔时间,并假设服务器聚合计算时间忽略不计。(a)(b)的“多样性”为3;( c)(d)的多样性为6。
可以看出,“多样性”越高,更新速度越快;异步云更新更高效;β有前述提及的均衡问题,设置为0.3/0.5时有较好表现。

FedProx专注于改善全局模型,所以可以更快地提升全局性能,但本文使用异步更新的方案可以在整体运行性能上更优。
在这里插入图片描述

六、结论

个性化
云内部通信

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值