【FedProx】论文链接:https://arxiv.org/abs/1812.06127
摘要
联邦学习面临两个关键挑战:系统异构性;统计异构性。本文的FedProx可以解决联邦学习的异构性,可看作FedAvg的泛化和再参数化。理论上保证了当数据为非独立同分布时模型的收敛性,同时通过允许每个参与设备执行可变的工作量,保证了设备级别的系统约束。实验证明,广义FedProx框架相对于FedAvg,在异质网络中更具稳健性和稳定性。
一、介绍
为了应对异构性和高通信成本,允许局部更新和低参与度的优化方法已经成为联邦学习的流行方法(McMahan等人FedAvg,2017;Smith等人,2017)。虽然FedAvg可用于解决异构性问题,但它不允许参与设备根据底层系统约束执行可变的本地计算,而是简单丢弃无法完成指定计算轮数的设备。
在联邦学习中,系统异构性和统计异构性相互作用,无论是丢弃落后者,还是合并来自落后者的部分信息,都会隐式地增加统计异构性,不利于收敛。为缓解这一问题,在目标函数中增加一个近端项来提高稳定性。
二、相关工作
联邦学习需要解决隐私、异构数据和设备以及大规模分布式计算网络的新挑战
- 过去十年中,大规模机器学习(特别是在数据中心设置下)的研究,推动了分布式优化方法的发展。然而随着计算基元的能力和普及率的增长,直接通过分布式设备网络学习统计模型变得越来越有吸引力。
- 针对联邦环境中的挑战提出的优化方法,相比传统的分布式方法(如ADMM或mini-batch方法)有了显著改进。它们允许不精确的局部更新以平衡大型网络中的通信和计算,并且允许在任何通信回合中仅使用部分设备。
如Smith等人(2017)提出的一种通信效率高的原始-对偶优化方法,通过多任务学习框架学习每个设备的独立但相关的模型,尽管该方法具有理论上的保证和实际的有效性,但这种方法不能推广到非凸问题,例如深度学习(不再保证强对偶性);在非凸情况下的FedAvg
FedAvg是一种基于原始数据的平均局部随机梯度下降进行更新的启发式方法
- 它在实际中表现中确实有效,但由于其本地更新方案、每轮使用的设备很少且数据经常以异构形式分布的问题,其分析非常具有挑战性。
- 最近的工作已经朝着在更简单的非联邦设置中分析FedAvg迈出了一步(如在IID设置中研究的并行SGD和相关变体),它们在IID设置下研究了类似于FedAvg的本地更新。但结果依赖于“每个局部求解器是同一随机过程的副本”这一前提,不适用于异构环境。
解决统计异构性的工作:
- 一些工作研究了统计异构环境下的收敛保证,但提出了限制性假设,即所有设备都参与每一轮通信,这在现实的联邦网络中通常是不可行的。与本文中提出的求解器无关框架相比,它们要求每个设备上使用特定求解器(SGD或GD),并且在分析中增加了额外的凸性假设或一致有界梯度假设。
- 也有一些方法旨在通过共享本地设备数据或一些服务器端代理数据来解决统计异构性问题。然而,这些方法向服务器发送本地数据,不仅增加了网络带宽负担,还违背了联邦学习的密钥隐私假设;需向所有设备发送全局共享代理数据,而生成或收集这样的辅助数据较为困难。
系统异构性:
- 联邦网络中每个设备的存储、计算和通信能力可能因硬件、网络连接和电力的可变性而有所不同,这加剧了减少掉队者和容错等挑战。
- 简单忽略掉队者可能对收敛产生负面影响;若掉队设备有特定数据特征,还会导致设备采样偏差。
受FedAvg启发,探索了一个更广泛的框架FedProx:
- 能够处理异构联邦数据,同时保持类似的隐私和计算优势;
- 分析了框架的收敛性,不仅考虑局部函数间存在统计异构表征,还考虑到实际的系统约束;
- 对统计异构的处理方法,受到求解线性方程组的随机化Kaczmarz方法的启发,该方法的类似假设已被用于分析其他情况下的SGD变种;
- 所提框架在异构联邦网络中有更好的鲁棒性和稳定性。
本文工作中的近端项,和分析中使用的有界不同假设,在其他文献中已经被研究过(动机不同),在附录B中进一步说明了相关背景工作。
三、联邦优化:算法
联邦学习方法用于处理收集数据的多个设备和协调整个网络全局学习目标的中央服务器,目标是最小化:
min w f ( w ) = ∑ k = 1 N p k F k ( w ) = E k [ F k ( w ) ] \min _{w} f(w)=\sum_{k=1}^{N} p_{k} F_{k}(w)=\mathbb{E}_{k}\left[F_{k}(w)\right] wminf(w)=k=1∑NpkFk(w)=Ek[Fk(w)]
N是设备数量;pk≥0且和为1(系数),可设置为nk/n(nk为设备k上的样本数量,n为总样本数量); F k ( w ) : = E x k ∼ D k [ f k ( w ; x k ) ] F_{k}(w):=\mathbb{E}_{x_{k} \sim \mathcal{D}_{k}}\left[f_{k}\left(w ; x_{k}\right)\right] Fk(w):=Exk∼Dk[fk(w;xk)] 为局部经验风险,Dk指数据分布(不同设备上可能不同),本文考虑Fk(w)可能为非凸。
减少通信的一种常用技术是,在每个设备上使用基于设备数据的局部目标函数作为全局目标函数的代理。在每次外部迭代中,选择一个设备子集,并使用局部求解器优化每个选定设备上的局部目标函数。然后,这些设备将其局部模型更新传递给中央服务器,中央服务器聚合并更新全局模型。允许灵活性能的关键是可以不精确地解决每个局部目标,考虑根据执行的局部迭代次数调整局部计算量与通信量。
定义1( γ γ γ-不精确解):有函数 h ( w ; w 0 ) = F ( w ) + μ 2 ∥ w − w 0 ∥ 2 h\left(w ; w_{0}\right)=F(w)+\frac{\mu}{2}\left\|w-w_{0}\right\|^{2} h