联邦学习:FedProx框架

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 算法:

联邦学习:FedProx框架
; 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:

联邦学习:FedProx框架

λ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.

改进后的目标函数:

联邦学习:FedProx框架
3.3.1 优点:

1.它通过限制本地更新,使其更接近初始(全局)模型,而不需要手动设置本地epochs的数量,解决了统计异质性的问题。(限制)

2.它允许安全地合并由系统异构性产生的可变数量的本地工作。(辅助)

这种辅助函数在优化问题中非常常见。

[En]

This auxiliary function is very common in optimization problems.

3.4 算法

联邦学习:FedProx框架
联邦学习:FedProx框架

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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总