【文献阅读】异构网络中的联邦优化——FedProx

        本文是FedProx的论文,值得一看。


        由于本文之前有简单看过一次,这次就不细读,就只读其中比较重要的部分也就是PedProx的实现和收敛证明。

定义 1:(\gamma-不精确解)

        对于一个函数 h(w;w_0)=F(w)+\frac{\mu}{2}\Vert w-w_0\Vert^2 ,其中\gamma\in[0,1] 。我们认为w^*是优化目标 \min_wh(w;w_0) 的一个\gamma-不精确解,当且仅当 \Vert \nabla h(w^*;w_0)\Vert\le \gamma \Vert \nabla h(w_0;w_0)\Vert ,其中\nabla h(w;w_0)=\nabla F(w)+\mu(w-w_0) 。注意当\gamma越小,意味着精确度越高。

        在后文的分析中都使用了这个概念来测量每一轮的计算量。

        之后文章指出FedAvg的主要问题:虽然执行更多的本地epoch允许更多的本地计算和减少通信,可以大大提高通信受限网络中的总体收敛速度。更大的本地epoch可能导致每个设备朝向其本地目标的最优,可能会影响收敛,甚至导致方法发散。

        比强制规定固定数量的本地epoch更自然的方法,是允许epoch根据网络的特性而变化,并通过考虑这种异构性来谨慎地合并解决方案。

框架:FedProx

        强制每个设备执行统一的工作量是不现实的。我们通过允许基于设备的可用系统资源在本地执行不同数量的工作来概括FedAvg,然后聚合掉队者发送的部分解决方案。

        换句话说,FedProx不是在整个训练过程中为所有设备假设统一的\gamma,而是隐式地为不同的设备和不同的迭代适应可变的\gamma。正式地,对于第 t 轮训练的第 k 个用户,我们定义 \gamma^t_k- 不确定度,

定义 2:(\gamma^t_k-不精确解)

        对于一个函数 h_k(w;w_t)=F_k(w)+\frac{\mu}{2}\Vert w-w_t\Vert^2 ,其中\gamma\in[0,1] 。我们认为w^*是优化目标 \min_wh_k(w;w_t) 的一个\gamma^t_k-不精确解,当且仅当 \Vert \nabla h_k(w^*;w_t)\Vert\le \gamma^t_k \Vert \nabla h(w_t;w_t)\Vert ,其中\nabla h(w;w_0)=\nabla F(w)+\mu(w-w_0) 。注意当\gamma^t_k越小,意味着精确度越高。

        意思就是,加了“正则项”后的损失函数在当前 t 轮权重下的梯度,乘个\gamma^t_k这个系数后得到一个值,如果有一个权重w^*使得当前 t 轮下的梯度小于这个值,那就叫\gamma^t_k-不精确解。类似于\gamma\gamma^t_k度量了在第 t 轮设备 k 上执行多少本地计算来解本地函数。

近端项

        近端项可以有效地限制本地异构数据的影响。所有的客户都再求解F_k(\cdot) ,转而求解带有近端项的h_k(\cdot) :

\min_w h_k(w;w^t)=F_k(w)+\frac{\mu}{2}\Vert w-w^t\Vert^2

        近端项在两个方面是有益的:

  • 它通过限制局部更新以更接近初始(全局)模型来解决统计异质性问题,而无需手动设置epoch。
  • 它允许安全地合并由系统异构性导致的可变数量的本地工作

算法:FedProx

        首先对于每一轮 t 会选出 S_t 个设备参与训练,然后服务器发送上轮聚合好的 w^t 给所有的客户,然后每个用户 k 都找到一个 w^{t+1}_k 使得该权重是以下函数的 \gamma^t_k-不精确解:

\arg\min_w h_k(w;w^t)=F_k(w)+\frac{\mu}{2}\Vert w-w^t\Vert^2

        然后每个客户再将这样的w^{t+1}_k 发回给服务器。服务器进行聚合。

        作者提到,如果我们选择特定的 \mu ,函数 h_k(\cdot) 的Hessian矩阵将是正定的,这也就意味着本来是非凸的损失函数,加上近端项后很可能变成凸函数;本就是凸函数的,将变成强凸函数。

        而且我们也可以注意到FedAvg是FedProx的一个特例,当且仅当:

  1. µ=0
  2. 特定选择为SGD的本地解算器
  3. 跨设备和更新循环的常数 \gamma (对应本地epoch数量)

        后文是对收敛性的分析和实验对比,以及对系统异质性的讨论。


        通篇文章提出了FedProx,这是一个解决联邦网络中系统和统计异构性的优化聚合算法。FedProx允许在设备之间本地执行不同数量的工作,依赖近端项来稳定聚合。文章对一组联邦数据集的经验评估验证了前文的理论分析,并证明FedProx框架可以显著改善现实异构网络中联邦学习的收敛。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于鸽群优化算法的D2D(Device-to-Device)资源分配机制是一种用于异构网络的资源管理方法。在异构网络,涉及到多种不同的通信设备和服务类型,如智能手机、传感器、物联网设备等,需要合理地分配资源以满足用户的通信需求。 鸽群优化算法是一种模拟鸽子群体寻找食物的行为而发展起来的启发式搜索方法。该算法通过模拟鸽子寻找食物的行为来寻找问题的最优解,具有全局搜索能力和收敛速度快的特点。 在基于鸽群优化算法的D2D资源分配机制,首先需要建立适当的数学模型,明确资源分配的目标和约束条件。然后,利用鸽群优化算法对模型进行优化求解。 首先,通过采集网络各个设备的信息,包括其位置、通信需求、信道状态等,并将其编码为问题的解空间。然后,利用鸽群优化算法对解空间进行搜索,以找到问题的最优解。在搜索过程,根据设备的通信需求和资源限制,进行适应度计算和演化操作。通过多轮迭代搜索,逐步优化资源的分配和利用效率。 该机制能够实现多设备之间的资源共享和协同利用,提高网络的整体性能和能源效率。同时,由于鸽群优化算法的自适应性和全局搜索能力,能够更好地适应异构网络的复杂环境和变化需求。 总之,基于鸽群优化算法的D2D资源分配机制是一种用于异构网络的资源管理方法,通过模拟鸽子群体寻找食物的行为,实现资源的合理调度和管理,提高网络性能和能源效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值