【文献阅读笔记】Personalized Federated Learning: A Meta-LearningApproach

这是一篇纯公式推导的文献,用于下一篇论文公式推导的借鉴。在这里选取部分关键公式和定理记录一下。

前言

本文研究个性化的联邦学习,目标是找到一个初始共享模型,当前或新用户可以很容易地适应他们的本地数据集通过执行一个或几个步骤的梯度下降对自己的数据。这种方法保留了联邦学习体系结构的所有好处,并通过结构为每个用户提供了更个性化的模型。

文献来源:[2002.07948] Personalized Federated Learning: A Meta-Learning Approach (arxiv.org)icon-default.png?t=M85Bhttps://arxiv.org/abs/2002.07948

一、背景

在联邦学习中,我们考虑了一组n个用户,它们都连接到一个中心节点,其中每个用户只能访问它的本地数据。在这种情况下,用户的目标是提出一个模型,该模型对网络中的所有数据点进行训练,而不会由于隐私问题或通信限制而与其他用户或中心节点交换本地数据。目标就是解决:

\begin{equation} \min _{w \in \mathbb{R}^d} f(w):=\frac{1}{n} \sum_{i=1}^n f_i(w) \end{equation} (1)

特别地,考虑一个监督学习设置,其中fi表示在用户i的数据分布上的预期损失:

\begin{equation} f_i(w):=\mathbb{E}_{(x, y) \sim p_i}\left[l_i(w ; x, y)\right], \end{equation}(2)

实际上,每个用户都可以解决(2)中定义的局部问题,而无需与其他用户交换任何信息;然而,所得到的模型可能不能很好地推广到新样本,因为它已经在少量样本上进行了训练。如果用户合作并利用所有用户可用的数据,那么他们的本地模型可以获得更强的泛化保证。实现这一目标的传统方法是最小化(1)中定义的局部函数的聚合。但是,该方案只为所有用户开发了一个公共输出,因此,它并不适合每个用户。特别是,在用户的底层数据分布不相同的异构设置中,通过最小化平均损失获得的结果全局模型一旦应用于每个用户的本地数据集,可能会表现得很差。换句话说,问题(1)的解决方案并不是为每个用户而个性化的。

二、通过模型不可知的元学习进行的个性化联邦学习

正如第1节中所述,我们在本节中的目标是展示如何利用[2]中的模型-不可知论元学习(MAML)框架背后的基本思想来设计FL问题的个性化变体。为此,让我们首先简要地回顾一下MAML的公式。在MAML中,给定一组来自潜在分布的任务,与传统的监督学习设置相比,目标不是找到一个在所有期望任务上表现良好的模型。相反,在MAML,我们假设我们有一个有限的计算预算更新我们的模型一个新任务到达后,在这个新设置,我们寻找一个初始化执行后更新对这个新任务,可能通过一个或几个步骤的梯度下降。特别地,如果我们假设每个用户接受初始点,并使用相对于其自己的损失函数的梯度下降步骤来更新它,那么问题(1)改变为:

\begin{equation} \min _{w \in \mathbb{R}^d} F(w):=\frac{1}{n} \sum_{i=1}^n f_i\left(w-\alpha \nabla f_i(w)\right) \end{equation}(3)

其中,α≥0为步长。这个公式的优势是,它不仅允许我们保持FL的优势,而且它捕获用户之间的区别作为现有或新用户可以把这个新问题的解决方案作为初始点和稍微更新它对自己的数据。这意味着用户可以通过检查自己的初始化,并更新自己的数据,只执行一个或几个梯度下降步骤,以获得一个适合自己数据集的模型。

如前所述,对于所考虑的数据分布的异构模型,解决问题(1)并不是理想的选择,因为它返回一个单一的模型,即使经过几步的本地梯度,也可能不会快速调整到每个用户的本地数据。另一方面,通过求解(3),我们找到了一个初始模型(元模型),它的训练方式是,经过一步局部梯度后,可以为每个用户提供一个很好的模型。这个公式也可以扩展到用户运行几个梯度更新步骤的情况,但为了简化我们的符号,我们关注于单一梯度更新的情况。我们想提的是,(3)中关于FL的问题公式是在另一个工作[34]中独立提出的,并进行了数值研究。在这项工作中,我们关注这个问题的理论方面,并寻求一个可证明的收敛方法的情况下,函数fi是非凸的。

三、个性化的联邦平均算法

可以考虑用个性化的FedAvg(Per-FedAvg)方法来求解(3)。该算法的灵感来自于FedAvg,但它的设计目的是寻找(3)的最优解。在FedAvg中,在每一轮中,服务器选择一部分大小为rn (r∈(0,1])的用户,并将其当前模型发送给这些用户。每个被选择的用户i根据其自己的损失函数fi和通过运行τ≥1的随机梯度下降步骤来更新接收到的模型。然后,活动用户将其更新后的模型返回给服务器。最后,服务器通过计算从这些选定的用户那里接收到的模型的平均值来更新全局模型,然后再进行下一轮更新。Per-FedAvg也遵循同样的原则。首先,请注意,(3)中的函数F可以写成元函数F1,……,Fn的平均值,其中与用户i相关联的元函数Fi被定义为:

\begin{equation} F_i(w):=f_i\left(w-\alpha \nabla f_i(w)\right) \end{equation}(4)

为了遵循一个类似于FedAvg的方案来解决问题(3),第一步是计算局部函数的梯度,在这种情况下,梯度∇Fi,由下式给出:

\begin{equation} \nabla F_i(w)=\left(I-\alpha \nabla^2 f_i(w)\right) \nabla f_i\left(w-\alpha \nabla f_i(w)\right) \end{equation}(5)

每一轮计算梯度∇fi(w)通常计算代价很高。因此,我们取一批关于分布pi的数据Di,得到由下式给出的无偏估计:

\begin{equation} \tilde{\nabla} f_i\left(w, \mathcal{D}^i\right):=\frac{1}{\left|\mathcal{D}^i\right|} \sum_{(x, y) \in \mathcal{D}^i} \nabla l_i(w ; x, y) \end{equation}(6)

 原文中关于伪代码的解释:

 四、理论分析

1、研究个性化FedAvg(Per-FedAvg)方法的收敛性。

\begin{equation} \begin{aligned} \left\|\mathbb{E}\left[\tilde{\nabla} F_i(w)-\nabla F_i(w)\right]\right\| & \leq \frac{2 \alpha L \sigma_G}{\sqrt{D}} \\ \mathbb{E}\left[\left\|\tilde{\nabla} F_i(w)-\nabla F_i(w)\right\|^2\right] & \leq \sigma_F^2:=12\left[B^2+\sigma_G^2\left[\frac{1}{D^{\prime}}+\frac{(\alpha L)^2}{D}\right]\right]\left[1+\sigma_H^2 \frac{\alpha^2}{4 D^{\prime \prime}}\right]-12 B^2 \end{aligned} \end{equation}

2、关注非凸性质,并描述了服务器和用户之间的整体通信,以找到一个\begin{equation} \epsilon \end{equation}-近似的一阶平稳点。

\begin{equation} \begin{aligned} &\frac{1}{\tau K} \sum_{k=0}^{K-1} \sum_{t=0}^{\tau-1} E\left[\left\|\nabla F\left(\bar{w}_{k+1, t}\right)\right\|^2\right] \leq \frac{4\left(F\left(w_0\right)-F^*\right)}{\beta \tau K} \\ &\quad+\mathcal{O}(1)\left(\beta L_F\left(1+\beta L_F \tau(\tau-1)\right) \sigma_F^2+\beta L_F \gamma_F^2\left(\frac{1-r}{r(n-1)}+\beta L_F \tau(\tau-1)\right)+\frac{\alpha^2 L^2 \sigma_G^2}{D}\right), \end{aligned} \end{equation}

具体推导过程见文献附录G


总结

目的:找到一个适当的初始化模型,可以迅速适应每个用户的本地数据后训练阶段。这个公式与模型不可知(MAML)的元学习联系,并展示了如何使用MAML的分散实现。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值