FEDERATED OPTIMIZATION IN HETEROGENEOUS NETWORKS
当时的一首诗是:“万马腾,子流最雄。”
[En]
A poem of the day: “when ten thousand horses were vacated, Ziliu was the most male.”
明·张居正
当时腾出了几千匹马,子柳是最雄的。
[En]
At that time, when thousands of horses were vacated, Ziliu was the most male.
战后,我不知道我身上带着箭,但当我飞到这里时,我只觉得风很大。
[En]
After the war, I didn’t know that I was wearing an arrow, but when I flew here, I only felt full of wind.
北风狩猎,吹动田野,长河里满是鲜血。
[En]
The north wind hunts and blows the fields, and the long river is full of blood.
在数以百万计的叛逃者中,仍有一些人投掷钩子。
[En]
Among the millions of defectors, there are still those who shoot hooks.
1.概述:
联邦学习不同于传统的分布式优化的两个关键挑战:高度的系统和统计异构性。引入了一个框架,FedProx以解决联邦网络的异构性(统计异构 系统异构)。FedProx可以看作是FedAvg的泛化、重构。
对于非独立分布(统计异质性)的训练数据,框架提供收敛性保证(统计异构);允许每个参与的设备执行可变数量的工作(系统异构性)来遵守设备级系统约束。FedProx在一组真实的联邦数据集上比FedAvg更健壮的收敛。特别是,在高度异构的环境下,FedProx表现出比FedAvg更稳定和准确的收敛行为——平均提高22%的绝对测试精度。
1.1 系统挑战
通信传输瓶颈、存储能力、计算能力、联网能力、电池、stragglers、容错
1.2 统计挑战
异质、非独立、不平衡的数据
[En]
Heterogeneous, non-independent and unbalanced data
有关这些关键字的具体描述,请参阅我的系列相关文章。
[En]
For a specific description of the keywords, see my series of related articles.
2.FedAvg:
2.1 优劣:
FedAvg在FedSGD的基础上为每个节点设定统一的E (epochs),用以增大本地计算量 提升本地模型更新的精度,进而加快全局拟合速度,减少通信次数;同时可以解决非凸损失函数的问题。
从系统异构角度:FedAvg不允许参与设备根据其系统约束执行可变数量的本地工作;相反,通常是简单地丢弃在指定时间段内无法计算E个epoch的设备
从统计角度:FedAvg在数据非独立同分布的情况下适应性弱,因此FedAvg很难在现实场景中(多为非独立同分布)进行理论分析来保证其收敛性。
2.2 算法:

; 2.3 参数E控制:
正确调整其优化超参数至关重要 本地epochs的大小在其拟合的过程中发挥重要作用。
1.执行更多的局部迭代允许更多的局部计算和减少通信,这可以大大提高通信受限网络的整体收敛速度。
2.由于本地客户端间不同的目标函数,局部epoch太大可能会导致每个客户端朝向其局部目标的最优更新,而不是全局目标最优——潜在地影响全局收敛,甚至导致收敛偏离。
3.强迫每个设备执行统一的工作量是不现实的(即,在FedAvg中所有客户端运行相同数量的局部epoch, E)由于系统资源异构,本地epoch大会导致客户端无法在给定的迭代伦次内完成训练而掉队。
实践中,在允许鲁棒收敛的同时,将局部epoch设为高(以减少通信)。
注意到本地epoch数量的”最佳”设置可能会在每次迭代和每个设备上改变-,可以将其设置为关于本地数据和可用系统资源的函数。比强制规定固定数量的局部epochs更好的方法是允许epochs根据iteration和本地数据与资源进行变更。来适应实际联邦学习中的异质性
3.FedProx
3.1 Tolerating partial work:
系统异构:联邦网络中的不同设备在计算硬件、网络连接和电池水平方面通常有不同的资源约束。强迫每个设备执行统一的epochs是不现实的(即,运行相同数量的局部epoch, E)。
在FedProx中,将FedAvg泛化,允许根据本地数据和可用的系统资源在本地执行可变数量的工作(相比于丢弃设备,该机制会聚合从掉线设备发送的部分结果。)换句话说,不是假设在整个训练过程中所有设备都有一个统一的γ,适应不同的设备和不同的迭代轮数产生λ。
3.2 λ-inexact solution:

λtk 衡量第k个客户端在全局第t iteration 本地计算量,因此可以根据该变量代理本地epochs次数。
; 3.3 近似术语:Proximal term
虽然λtk 可以帮助减轻系统异构的影响。但是由于统计异构,不太好通过λtk 来严格限制本地更新的次数,过多的本地更新仍然可能(潜在地)导致全局模型偏离。
引入了近似术语(Proximal term)来辅助FedProx应对统计异构的挑战。
在局部目标函数表达式中添加一个助词。有效限制局部更新对全局模型更新的影响。
[En]
Add an auxiliary to the local objective function expression. Effectively limit the impact of local updates on global model updates.
改进后的目标函数:

3.3.1 优点:
1.它通过限制本地更新,使其更接近初始(全局)模型,而不需要手动设置本地epochs的数量,解决了统计异质性的问题。(限制)
2.它允许安全地合并由系统异构性产生的可变数量的本地工作。(辅助)
这种辅助函数在优化问题中非常常见。
[En]
This auxiliary function is very common in optimization problems.
3.4 算法


references:
Li, Tian, et al. “Federated optimization in heterogeneous networks.” Proceedings of Machine Learning and Systems 2 (2020): 429-450.
Original: https://blog.csdn.net/weixin_51306020/article/details/126319734
Author: 咫尺云烟
Title: 联邦学习:FedProx框架
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/271362/
转载文章受原作者版权保护。转载请注明原作者出处!