【文献阅读】鲁棒联邦学习:仿射变换

        主要看收敛性证明,顺带重新看一遍这个论文。


        为了锻炼写作能力,从这里开始我会顺带总结一些英文论文比较好的写作语句:

  • is one of the main grounds that:是....的主要原因
  • it has been shown that:已经表明...
  • significantly suffer in:在...方面受到严重影响
  • diverge:(表示数据或者结果出现偏差)
  • Device-dependency:设备依赖性
  • necessitate:需要;迫使
  • communication overhead:通信开销

0. 摘要

        本文的主要目标是开发一种健壮的联邦学习算法,该算法能够在用户样本的分布变化中获得令人满意的性能。为了实现这一目标,作者首先考虑用户数据中的结构化仿射分布转换,该转换捕获了联邦设置中依赖于设备的数据异构性。该扰动模型适用于各种联邦学习问题,例如图像分类,其中图像经历依赖于设备的缺陷,例如不同的强度、对比度和亮度。

        为了解决用户之间的仿射分布偏移,作者提出了一种面向仿射分布变化的鲁棒联邦学习框架(FLRA),该框架对观测样本分布的仿射分配变化具有鲁棒性。

        数值实验证明:仿射分布偏移确实足以显著降低模型的性能,并且与标准联邦学习和对抗训练方法相比,算法提供了显著的增益。


1. 引言

        说了一堆,表明了现有的FedAvg并没有完全解决数据异构的问题,准确性会受到严重影响,因为即使是简单的线性分类器都足以显著降低FedAvg在图像识别任务中的性能。

        然后引出了所谓FLRA的关键点,即队训练数据的异质性进行了建模,即,通过仿射变换将存储在第i个设备xi上的样本从正确的分布进行偏移:

x^i\rightarrow \Lambda ^ix^i+\delta^i

        实际生产场景中,这些变换可以是相机的失真,数据传输的噪声等等。

        特别地,该变换能推广到一般应用场景中,即扰动失真:

x^i\rightarrow x^i+\delta^i

        进一步推广,这种失真也可以全局相同:

x^i\rightarrow x^i+\delta

        基于上述模型,FLRA把任务归结为一个极大极小鲁棒优化问题,该问题要寻找一个全局最优模型w^*,使得(由局部仿射变换引起的)最坏情况下,总损失函数最小化。文章提到,解决这类问题的一种方法是使用对抗训练中的技术。

(有关对抗训练的知识,可以参考这篇文章:一文详解对抗训练方法

        然而,这种方法在联邦学习中是不可取的,因为它需要在每个设备上使用大量的计算资源,每次迭代时都要完全解决对抗性优化问题。

        虽然FLRA极小极大问题通常是非凸非凹的,文章表明,在扰动和参数模型变量之间交替的FedRobust将收敛到满足Polyak-Łojasiewicz(PL)条件的极小极大目标中的一个稳定点。该算法也可以扩展到更一般的非凸非凹分布极小极大优化问题

        作为论文的另一个主要贡献,文章使用PAC贝叶斯框架证明了FLRA学习分类器的泛化误差界。另外,经过训练的分类器在对抗标准FGSM和PGD攻击时表现强劲,并优于FedAvg。


2. 联邦学习场景

        n个节点,每个节点i可以访问大小为m的数据集,表示为:

S^i=\{(\mathbf x^i_j,y^i_j)\in \mathbb{R}^d\times\mathbb{R}:1\leq j\leq m\}

        对于给定的损失函数 l 和损失函数集 \mathcal{F}=\{f_w:w\in\mathcal{W}\} ,经典的联邦学习问题即是通过解决以下经验风险最小化问题(ERM)将模型 w 与nm个数据相拟合:

\min_{w\in \mathcal{W}}\frac{1}{nm}\sum_{i=1}^n\sum_{j=1}^m l\left(f_w(\mathbf x_j^i),y_j^i\right)

        为了模拟联合学习中数据的非一致分布特性,我们假设每个节点的数据点从共同分布发生了局部分布偏移。准确来说,在 S_i 中的每个样本都是根据共同的分布 P_{\mathbf X,Y} 的仿射变换 h_i 获得的,将每个服从 P_{\mathbf X,Y} 的 (\mathbf x,y) 通过仿射变换 h^i(\mathbf x):= \Lambda^i\mathbf x+\delta^i ,其中 \Lambda^i \in \mathbb{R}^{d\times d} ,\delta^i \in \mathbb{R}^{d}。不难看出 d 就是输入变量 \mathbf x 的维数。根据该模型,不同的节点有不同的仿射变换 h^i(\mathbf x),但存储在特定节点 i 的所有样本都受到相同仿射变换的影响。

        这样的模型适用于很多现实情况,例如,在每个设备中生成和存储的数据都是相同分布的失真,而不同的设备经历不同的失真。我们考虑一个对移动电话设备拍摄和维护的图像,执行联邦图像分类任务,根据所提出的模型,这种分布偏移被捕获为仿射变换。

        为了控制扰动幅度,这里我们考虑Frobenius范数和L2范数 \Vert \Lambda-I_d\Vert_F\leq\epsilon_1 和 \Vert \delta\Vert_2\leq\epsilon_2 ,强制仿射变换与恒等变换具有有界距离。于是基于上述模型,我们的目标是解决以下分布式鲁棒联邦学习模型:

\min_{w\in \mathcal{W}}\frac{1}{n}\sum_{i=1}^n \max_{\Vert \Lambda^i-I\Vert_F\leq\epsilon_1,\Vert \delta^i\Vert_2\leq\epsilon_2}\frac{1}{m}\sum_{j=1}^m l\left(f_w(\Lambda^i \mathbf x_j^i+\delta^i),y_j^i) \right )

        上述公式可以解释为n+1个耦合优化问题。首先,对于n个内部最大化问题,对于给定的全局模型 w ,每个节点都会根据自己拥有的m个数据,通过求解 \max_{\Lambda^i,\delta^i}\frac{1}{m}\sum_{j=1}^m l\left(f_w(\Lambda^i \mathbf x_j^i+\delta^i),y_j^i) \right ) ,来找到能使损失函数最大化的仿射参数 (\Lambda^i,\delta^i) 。然后外部最小化问题找到在n个节点上产生最小累计损失值的全局模型。

        总之,先使用服务器传来的全局模型 w 来计算仿射参数,再以这个仿射参数来优化本地的模型。(但是作者指出这样通信量和计算成本过大)

        文章提出,为了防止仿射分布偏移,每个节点改为解决以下问题,其中 \lambda>0 为拉格朗日乘子:

\max_{\Lambda^i,\delta^i}\frac{1}{m}\sum_{j=1}^m l\left(f_w(\Lambda^i \mathbf x_j^i+\delta^i),y_j^i) \right )-\lambda\Vert\Lambda^i-I\Vert_F^2-\lambda\Vert\delta^i\Vert_2^2

(至于为什么是拉格朗日乘子,可以参考KKT条件的知识和拉格朗日乘子法)

        这里,我们使用平方范数惩罚,要求可行的仿射变换和恒等映射之间具有有界距离,并找到导致节点i的样本损失最大的最坏情况仿射变换。这使我们解决鲁棒联邦学习问题的方法正式化,我们称之为“鲁棒仿射分布转移的联邦学习框架”,简称FLRA。总问题可以写为如下形式:

\min_{w\in \mathcal W}\max_{(\Lambda^i,\delta^i)^n_{i=1}}\frac{1}{nm}\sum_{i=1}^n\sum_{j=1}^m l\left(f_w(\Lambda^i \mathbf x_j^i+\delta^i),y_j^i) \right )-\lambda\Vert\Lambda^i-I\Vert_F^2-\lambda\Vert\delta^i\Vert_2^2

        接下来我们介绍求解FLRA的方法FedRobust。


3. FedRobust聚合算法

        所提出的FedRobust算法是一种迭代方案,它应用随机梯度下降-上升(SGDA)更新来解决极大极小问题。算法流程图如下:

         实际上,在每个局部更新的迭代 t 中,每个节点采取随机梯度上升法更新仿射参数 (\Lambda^i_t,\delta^i_t) (由于是求max问题,梯度上升的方向就是极大值点的方向,所以学习率前的符号为正)。同时通过随机梯度下降法更新本地权重 w_t^i 。请注意,每个节点在每次迭代中仅更新一次其扰动参数,这与标准对抗训练方法相比产生了较低的计算成本。由于在本地更新了\tau轮才与服务器交互,这使得通信成本也对应减少了\tau倍。

        值得注意的是本地的仿射参数 (\Lambda^i,\delta^i) 是耦合的。这是因为新的模型 w 来自所有节点更新模型的平均值,所以更新节点 i 的 (\Lambda^i,\delta^i) 将会在接下来的迭代中进一步地影响节点 j 的 (\Lambda^j,\delta^j) 。这是在第4.1节中FedRobust的优化证明时出现的重要技术挑战。


4. 理论保障:优化、泛化性和鲁棒性。

        本节非常重要,可以说前面的看看就行,这里才是重点。

        本节建立了作者的主要理论结果:

  • 描述了算法中FedRobust的收敛性
  • 证明了学习的假设可以从训练数据适当地推广到未知的测试样本;
  • 最后证明,解决FLRA的极小极大问题会产生一个鲁棒分类器,用于跨节点的Wasserstein移位。

4.1 优化保证(收敛性证明)

        本节进行了收敛性证明,并表明FedRobust找到了两类损失函数的(2)中极小极大问题的鞍点。首先进行了以下的符号定义:我们令 \psi^i=(\Lambda^i,\delta^i)\in \mathbb R^{d\times(d+1)} 为仿射参数的增广矩阵,对于n个节点的n个此类变量集合由矩阵 \Psi=(\psi^1;\cdots;\psi^n) ,于是极大极小问题可以改写为:

\min_{w}\max_\Psi f(w,\Psi):=\min_w\max_{\psi^1,\cdots,\psi^n}\frac{1}{n}\sum_{i=1}^nf^i(w,\psi^i)

        其中 f 和 f^i 表示受惩罚的全局损失函数和本地损失函数。即,对于每一个节点 i 都有:

f^i(w,\psi^i):=\frac{1}{m}\sum_{j=1}^m l\left(f_w(\Lambda^i \mathbf x_j^i+\delta^i),y_j^i) \right )-\lambda\Vert\Lambda^i-I\Vert_F^2-\lambda\Vert\delta^i\Vert_2^2

        我们同时也定义 \Phi(w):=\max_\Psi f(w,\Psi) 表示求max后取定仿射参数的损失函数,定义 \Phi^*:=\min_w\Phi(w) 为求min后取定最优模型参数网络后的损失函数值。

        正如前文所示,我们的各个本地数据都是异构的,接下来我们介绍几个可以量化数据中异构程度的概念


假设1(有界异构度)

        我们假设当没有扰动时,局部梯度相对于全局梯度的方差是有界的,也就是说存在 \rho ^2_f 使得对于 \psi^i=(I,0) ,\Psi=(\psi^1;\cdots;\psi^n) 以及任意的模型权重 w,都有:

\large \frac{1}{n}\sum_{i=1}^n\Vert\nabla_wf^i(w,\psi^i)-\nabla_wf(w,\Psi)\Vert^2\leq\rho^2_f

假设2(随机梯度)

        对于每个节点 \large i ,随机梯度 \tilde{\nabla}_{w}f^i 和 \tilde{\nabla}_{\psi}f^i 都同属于无偏估计,各自的方差由 \sigma^2_w 和 \sigma^2_\psi 所限定:(关于无偏估计对于方差系数分母为什么是n-1,这篇文章给出了很好的证明:(1条消息) 无偏估计_你吃过卤汁牛肉吗的博客-CSDN博客_无偏估计

\mathbb E\Vert \tilde{\nabla}_{w}f^i(w,\psi)-\nabla_{w}f^i(w,\psi) \Vert^2\leq\sigma^2_w, ~~~~\forall w,\psi

 \mathbb E\Vert \tilde{\nabla}_{\psi}f^i(w,\psi)-\nabla_{\psi}f^i(w,\psi) \Vert^2\leq\sigma^2_\psi, ~~~~\forall w,\psi

 假设3(利普希茨梯度)

        所有局部损失函数都具有利普希茨梯度。(关于利普西茨条件和梯度,可见详细解析深度学习中的 Lipschitz 条件 - 知乎 (zhihu.com))也就是说,对于节点 i ,对于任意的w,w',\psi,\psi'我们都有:

\Vert \nabla_wf^i(w,\psi)-\nabla_wf^i(w',\psi)\Vert\leq L_1\Vert w-w'\Vert

\Vert \nabla_wf^i(w,\psi)-\nabla_wf^i(w,\psi')\Vert\leq L_{12}\Vert \psi-\psi'\Vert_F

\Vert \nabla_\psi f^i(w,\psi)-\nabla_\psi f^i(w',\psi)\Vert_F\leq L_{21}\Vert w-w'\Vert

\Vert \nabla_\psi f^i(w,\psi)-\nabla_\psi f^i(w,\psi')\Vert_F\leq L_{2}\Vert \psi-\psi'\Vert_F

        也就是通过这四个常数 L_1,L_2,L_{12},L_{21},我们限制了梯度的增长。Lipschitz continuous用在函数值上是为了不让函数值变化的太快,保证了函数不会无限制的增长


        接下来文章对于两类损失函数:PL-PL和非凸-PL,证明了FedRobust收敛性,接下来我们将简要描述主要成果。

        我们说一个函数 g(x) 满足PL条件(Polyak-Lojasiewicz),则意味着如果该函数的最小值g^*=\min_x g(x) 存在且有界,则必然存在一个常数 \mu>0 ,使得对于任意的自变量 x ,都有 \Vert \nabla g(x) \Vert^2\geq2\mu\left(g(x)-g^* \right )

        类似地,我们可以为我们的极小极大目标函数定义双侧PL条件


假设4(PL 条件)

        全局目标函数 f 满足双侧PL条件,即存在常数 \mu_1>0,\mu_2>0 ,使得:

\frac{1}{2\mu_1}\Vert \nabla_w f(w,\Psi) \Vert^2\geq f(w,\Psi)-\min_w f(w,\Psi)

\frac{1}{2\mu_2}\Vert \nabla_\Psi f(w,\Psi) \Vert_F^2\geq \max_\Psi f(w,\Psi)-f(w,\Psi)

        换句话说,假设4表明了f(\cdot,\Psi),f(w,\cdot)满足各自的PL条件。为了量化在 t 轮时的最优差距,我们定义了势函数 P_t:=a_t+\beta b_t 。其中 a_t:=\mathbb{E}\left[\Phi\left(\overline w_t \right )\right]-\Phi^*,为该 t 时刻,计算仿射优化后的损失函数值期望,与最优损失函数值的差值;其中 b_t:=\mathbb{E}\left[\Phi\left(\overline w_t \right )-f(\overline w_t,\Psi_t)\right] ,为仿射优化后损失函数值与原始经验损失函数值之差的期望。

        注意,a_t 和 b_t 都是非负的,如果P_t 接近零,那么意味着 (\overline{w}_t,\Psi_t) 接近极大极小点。

定理1 (PL-PL损失的收敛性证明)

        考虑算法1中FedRobust的迭代,令假设1、3、4成立。

        那么对于任意的 t ,最优差距 P_t:=a_t+\frac{1}{2}b_t 满足以下不等式:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值