【文献阅读】Federated Accelerated Stochastic Gradient Descent

1 Federated Accelerated Stochastic Gradient Descent (FedAc)

本文从凸函数的性质出发,将联邦学习的收敛问题转化成凸函数的最小优化问题,提出了一种联邦学习框架下的首个实现加速随机梯度下降(SGD)的算法(FedAc),其有效地改善了联邦学习在不同凸函数(convex functions)下的收敛速度通信开销(通信消耗指本地模型多少轮与中心服务器同步一次,同步越频繁,消耗时间就越多,会降低框架的通信效率。);并在不同随机分布的assumption(smoothness, bounded variance, and strong convexity)下对算法的优化效果(收敛性稳定性)作了评估。

分布式随机优化的本质是使:
在这里插入图片描述
F是一个凸函数,我们的目标是利用合适的算法更新w,使 F(w) 尽快达到最小。这个优化问题也被称为stochastic approximation (SA) problem

2 challenge

disaccord of acceleration and stability:加速算法会对影响收敛的稳定性,尤其使在分布式场景下,用于加速的momentum会放大算法的不稳定。

例如,当原先的 Nesterov accelerated gradient descent algorithm 用于联邦学习时,会因为每个本地模型的初始值不同导致的迭代后他们地不同呈指数增加(即使对平滑和强凸函数)。所以 (Nesterov, 2018) 这种方法不可行。光滑函数(smooth function)是指在其定义域内无穷阶数连续可导的函数。

对于稳定性研究的认识,从 稳定性可以确立泛化边界——》证明加速梯度下降算法(AGD)在二次目标(quadratic objective)函数情况下的稳定性边界。但是至今没有针对凸函数稳定性的研究,本文证明了AGD算法在上述情况可能会失效,为此文本的技术权衡并减小了初始值带来的不稳定性。

在加速方面,随着参与者数量增多,抑或是同步间隔的增加(长时间的不同步导致各个local模型收敛方向不一致),都会降低收敛的速度,增加联邦学习框架并行计算的时间。

3 how to do

FedAc是基于Ghadimi提出的SGD加速算法的改进,使其可以并行计算,用于分布式场景。FedAc parallelizes a generalized version of Accelerated SGD (Ghadimi and Lan, 2012), while we carefully balance the acceleration-stability tradeoff to accommodate distributed settings.

FedAc算法如下,原文还对各种情况做了讨论,例如在Assumption1下提出了两种可选择的参数方案,分别侧重于条件数依赖性( dependency on condition number)和通信效率(communication efficiency)。算法容易看懂,但是参数值得确定的推导惨不忍睹,细节见原文~

在这里插入图片描述

w 0 a g , m w_{0}^{ag,m} w0ag,m w 0 m d , m w_{0}^{md,m} w0md,m是中间计算量,最终上传更新的参数还是 w 0 m w_{0}^{m} w0m

参数的计算见:

在这里插入图片描述

这两种参数的选择方案对应的收敛情况如下:

在这里插入图片描述

我们可以这样理解以上公式:在公式中,自变量是T,代表联邦学习运行的时间(迭代轮数),随着T的增加,不等式右边的值会变小(T做分母T越大分式值越小),因此 E [ F ( w ˉ T a g ) − F ∗ ] \mathbb{E}[F(\bar{w}_{T}^{ag}) - F^{\ast}] E[F(wˉTag)F] 也会变小,当不等式右边趋近于0,我们可以认为 F ( w ˉ T a g ) F(\bar{w}_{T}^{ag}) F(wˉTag) F ∗ F^{\ast} F非常接近,即框架达到收敛。

4 baseline

最常见的联邦学习算法是 Federated Averaging (FedAvg),在这种场景下,每一个参与者在本地模型训练的数据得到梯度后即上传至中心服务器进行参数平均,平均后的参数再下载到本地模型,从而实现周期性的同步。这个算法没有加速的功能,作为空白对照。

下面两张图总结了两算法收敛率线性加速需要的同步的Round的比较。可以发现,随着迭代轮数Round的增加,收敛率会逐渐下降,并且收敛率和并行运算时间、参与者个数、数据集本身分布、优化目标的强凸性、平滑度都有关系!!!

在这里插入图片描述

注意:下表中,T是自变量,收敛率越小,代表当前F和理想F差的越小,即收敛越快。
在这里插入图片描述

本文控制目标函数不同的 µ-strong convexity(强凸性), L-smoothness(光滑性),σ^2** -uniformly bounded gradient variance ,一共设置了2种settings(Assumptions),如下:

在这里插入图片描述

在Assumption1中:凸函数的强凸性、光滑性是算法中的重要参数,有关强凸性、光滑性的性质参阅:https://zhuanlan.zhihu.com/p/141927810,这两个性质限定了凸函数的边界,从而决定了优化效果。

Assumption2 类似于以往研究中(把F当作的二次方程),FedAc在这种假设中收敛地会更快一些,例如当凸函数为二次方程时关于不频繁的通信开销会消失。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
In MySQL, the FEDERATED storage engine allows you to access data from a remote MySQL server as if it were a local table. This can be useful in situations where you need to access data from multiple databases or servers without having to manually copy the data over. To create a FEDERATED table in MySQL, you first need to have a remote server with a table that you want to access. Then, on your local server, you can create a new table with the same structure as the remote table, but with the FEDERATED storage engine specified. Here is an example of how to create a FEDERATED table in MySQL: ``` CREATE TABLE federated_table ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, PRIMARY KEY (id) ) ENGINE=FEDERATED DEFAULT CHARSET=utf8mb4 CONNECTION='mysql://remote_user:remote_password@remote_host:remote_port/remote_database/remote_table'; ``` In this example, `federated_table` is the name of the local table you are creating. The columns `id`, `name`, and `email` have the same structure as the remote table. The `ENGINE` parameter specifies that the FEDERATED storage engine should be used. The `DEFAULT CHARSET` parameter specifies the character set for the table. The `CONNECTION` parameter specifies the connection information for the remote server. Replace `remote_user`, `remote_password`, `remote_host`, `remote_port`, `remote_database`, and `remote_table` with the appropriate values for your remote server. Once you have created the FEDERATED table, you can query and manipulate it just like any other table on your local server. Any changes you make to the FEDERATED table will be reflected on the remote server.

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学渣渣渣渣渣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值