论文笔记1 FedCor

本文主要针对 Correlation-Based Active Client Selection Strategy for HeterogeneousFederated Learning 这篇文章的正文部分作阅读笔记,目的是为本人学习使用,比较复杂的数学推导部分或者实验结果等大部分已省略,有需求的可以查阅论文。

        其中一部分比较专业的词汇可以点击链接,前往其他文章了解。

        附GitHub代码。FedCor

目录

Abstract 摘要

1.Introduction 引言

2.Related Work 相关工作

3.Preliminary 初步研究

4.Methodology 研究方法

4.1.Problem Formulation 问题的提出

4.2.Modeling Loss Changes with GP 随GP损失变化的建模

4.3.Client Selection Strategy 客户选择策略

4.4.Insights into Our Selection Strategy 深入了解我们的策略

4.5.Training GP in FL 在FL中训练GP

​编辑

5.Experiments 实验

5.1.Experiment Settings 实验设置

5.2.Convergence under Heterogeneous Settings 异构设置下的收敛性

5.3.Results with Larger GP Training Interval 较大GP训练间隔的影响

5.4.Influence of Annealing Coefficient 退火系数的影响

5.5.Visualization of Client Embedding 客户端嵌入的可视化

6.Conclusion and Future Work 结论与未来工作


Abstract 摘要

        面向客户的数据异构性(Client-wise data heterogeneity)是阻碍FL(联邦学习 Federal Learning)有效训练的主要问题之一。

        一些人提出了主动客户端选择策略(Active client selection strategies)。但是有其一定弊端:忽略了客户之间的损失相关性只实现了边际改进

        文章提出了FedCor(基于相关性的客户端选择策略的FL框架),目的是提高FL收敛速度。

        首先利用GP(高斯过程 Gaussian Process)对客户之间的损失相关性进行建模。推导出了一种客户选择策略,可以显著降低每一轮中预期全局损失。并开发了一种高效的GP训练方法,可以在FL中有较低的通信开销。

1.Introduction 引言

        文章首先说明了什么是FL,以及一个主要挑战:客户端数据高度异构性,出现了non-IID(非独立同分布 non independent and identically distributed)以及客户端数据不平衡的问题,实际上就是摘要里提出的面向客户的数据异构性。

        关于non-IIID:简单而言,IID就是一组随机变量中各随机变量概率分布情况相同,但又相互独立。non-IID就是它的反面,包括独立且不同分布、非独立且同分布和非独立且不同分布三种情况。

        文章介绍了FedCor基于的直觉(也就是该策略的灵感来源):

        1.客户的贡献并不相等,这个主要体现在客户端不同的性能以及不同平衡性的数据集导致的不同的损失。

        2.客户的贡献并不独立,由于对多个客户端本地数据的聚合,对一个客户端的选择也受到其他客户端的影响。

        文章同时以一个toy experiment(玩具实验 小实验)为例,说明了相关性的重要性。随后说明了FedCor的主要贡献,这些在摘要中已提及。

2.Related Work 相关工作

        文章说明了FL的2种异构性:系统性异质性(计算能力、通信带宽等)和统计学异质性(非IID、数据分布不平衡),文章主要针对后一部分。这一段主要说明了前人在改进FL方面的努力。没有什么在FedCor方面的内容。

3.Preliminary 初步研究

         文章首先定义了FL的全局损失函数

\displaystyle L\left ( \boldsymbol{w} \right )=\sum_{k=1}^{n}\frac{\left | \mathbb{D}_{k} \right |}{\sum_{j}^{}\left | \mathbb{D}_j \right |}l\left ( \boldsymbol{w};\mathbb{D}_k \right )=p_kl_k\left ( \boldsymbol{w} \right ), \\ l_k\left ( \boldsymbol{w} \right )=l\left ( \boldsymbol{w};\mathbb{D}_{k} \right )=\frac{1}{\left | \mathbb{D}_{k} \right |}\sum_{\xi \in \mathbb{D}_{k}}l\left ( \boldsymbol{w};\xi \right )

        第一个公式说明了客户端\displaystyle k在全局中的损失函数,其权重p_k = \left | \mathbb{D}_k \right | / {\sum_{j}^{}\left | \mathbb{D}_j \right |},第二个公式为k的局部损失。从公式中可以看出,客户端在全局的权重与其本地数据集大小有关。

        随后考虑到隐私和通信约束问题,只有部分客户端参与局部模型更新,文章设想了如下过程:

        在通信轮次t中,仅选择大小为C<N的子集\mathbb{K}_t来接收本次全局模型\boldsymbol{w}^{t},并用它们的局部数据独立训练局部模型;局部训练之后,服务器通常会使用取平均的方法产生新的全局模型\boldsymbol{w}^{t+1}。具体实现见下式:

\begin{aligned} \boldsymbol{w}_{k}^{t+1}& =\boldsymbol{w}^{t}-\eta_{t}\tilde{\nabla}l_{k}(\boldsymbol{w}^{t}), \\ w^{t+1}(\mathbb{K}_t)& =\frac1C\sum_{k\in\mathbb{K}_t}w_k^{t+1} \\ &=\boldsymbol{w}^t-\frac{\eta_t}{C}\sum_{k\in\mathbb{K}_t}\tilde{\nabla}l_k(\boldsymbol{w}^t) \end{aligned}

        这一部分主要说明了FL全局损失函数和全局模型迭代的过程。

4.Methodology 研究方法

        本节详细说明FedCor这一方法。

4.1.Problem Formulation 问题的提出

        文章将目标定义为求解一系列的优化问题。首先pass了人海战术(用多次选择客户端来寻找最佳客户端)。文章经过证明,得出,问题等价于:

        对每个通信轮次t,有:

\displaystyle \min_{\mathbb{K}_t}\quad\Delta L^t(\mathbb{K}_t)=L(\boldsymbol{w}^{t+1}(\mathbb{K}_t))-L(\boldsymbol{w}^t)

        这样就把问题修改为得到一个损失变化\Delta\mathbf{l}^{t}的概率模型以进行预测和计算后验,从而预测全局的损失变化。

4.2.Modeling Loss Changes with GP 随GP损失变化的建模

        文章首先用GP代替待求概率分布函数,发现结果吻合:随机抽取若干客户端,训练后得到损失变化的样本,对其进行PCA(主成分分析)后,发现高斯分布很好地逼近样本分布。在随后的部分,文章将使用GP模型提出客户选择策略,并对其进行解释。

        主成分分析是采取一种数学降维的方法,找出几个综合变量来代替原来众多的变量,使这些综合变量能尽可能地代表原来变量的信息量,而且彼此之间互不相关。这种将把多个变量化为少数几个互相无关的综合变量的统计分析方法就叫做主成分分析或主分量分析。

        据此,文章给出利用GP先验对通信轮次t内的损失变化建模:

\Delta\mathbf{l}^t=[\Delta\mathbf{l}_1^t,\cdots,\Delta\mathbf{l}_N^t]\sim\mathcal{N}(\Delta\boldsymbol{l}^t;\boldsymbol{\mu}^t,\boldsymbol{\Sigma}^t)

        在4.5节中对\boldsymbol{\mu}^t\boldsymbol{\Sigma}^t的训练进行说明。

4.3.Client Selection Strategy 客户选择策略

         在这一部分,对客户选择策略进行了详细的说明。

        第一步,预测。在每次迭代中,首先对每个被选择的客户端k做出损失变化预测\Delta\hat{l}_k^t,满足:

        \Delta\hat{l}_k^t=\mu_k^t-\alpha_k^t\sigma_k^t;\quad\alpha_k^t=a\beta^{\tau_k^t},

        其中,\alpha_k^t=\sqrt{\Sigma_{k,k}^t}a为一个尺度常量,\beta\in(0,1),为退火系数,其指数\tau_k^t表示客户端k被选择多少次。

        第二步,选择。客户k^*的选择是在上一步的基础上,最小化总体损失的后验期望:

\displaystyle k^*=\arg\min_k\sum_ip_i\tilde{\mu}_i^t(\Delta\hat{l}_k^t)

        第三步,后验。选择客户端k^*后,根据k^*的损失变化预测的后验条件更新GP进行下一次迭代:

\mu^t\leftarrow\tilde{\mu}^t(\Delta\hat{l}_{k^*}^t),\quad\Sigma^t\leftarrow\tilde{\Sigma}^t(\Delta\hat{l}_{k^*}^t)

        这个方法最主要的部分就是以迭代的方式更新GP及其后验分布,以更好逼近p(\Delta\boldsymbol{l}^t|\Delta\boldsymbol{l}_{\mathbb{K}_t}^t(\mathbb{K}_t))。相较于传统的贝叶斯优化算法,文章没有使用对总体损失变化的测量,而是利用预测进行决策,这样做可以节省测量导致的通信开销。

        这里偷懒,直接引用原文章中整体算法步骤:

4.4.Insights into Our Selection Strategy 深入了解我们的策略

        本节对上述选择策略作直观的解释。

        文章证明FedCork_1k_2两个客户的选择标准可写为:

k_1=\arg\max_k\quad\beta^{\tau_k}\sum_ip_i\sigma_ir_{ik},

\displaystyle k_2=\arg\max_{k'}\frac{\beta^{\tau_{k^{\prime}}}\Big[\overbrace{\sum_ip_i\sigma_ir_{ik^{\prime}}}^{(A)}-r_{k_1k^{\prime}}\overbrace{\sum_ip_i\sigma_ir_{ik_1}}^{(B)}\Big]}{\sqrt{1-r_{k^{\prime}k_1}^2}},

        其中,r_{ij}=\sum_{i,j}{/\sigma_i\sigma_j}Pearson相关系数。

        一、单次迭代。第一个公式说明该算法选择与其他客户端具有较大相关性的客户端,表明其选择考虑了客户端之间的相关性。

        二、多次迭代。第二个公式中,项A和项B为上式中的k'k_1单次迭代选择准则。由于上述公式,文章的思路是,因为考虑到已经最大化了B项,那么B通常为正值,为了让整体取最大值,则k'的选择不仅考虑与其他客户的相关性r_{ik'},而且倾向于与k_1相关性较小的k',因为要让r_{k_1k'}尽可能小。

        这样做的好处是,“惩罚”了数据冗余,并提高了客户选择数据的多样性,由此可以降低方差,使训练更稳定。这个结论的得出,我想是考虑到了协方差和相关系数之间的关系:

\rho_{XY}=Cov\left ( X^*,Y^* \right )

        其中,X^*=\frac{X-E\left ( X \right )}{\sqrt{D\left ( X \right )}}Y^*=\frac{Y-E\left ( Y \right )}{\sqrt{D\left ( Y \right )}}

        而且,选择相似的客户只能带来相似的局部更新,容易使整体陷入局部最优,因此避免相关性过高是很有必要的。

4.5.Training GP in FL 在FL中训练GP

        这一部分是对4.2中提出的参数\boldsymbol{\Sigma}^t的训练说明(文章提出,他们不训练\boldsymbol{\mu},并将其设置为0,因为这个参量不影响文章提出的选择策略)。

        为了让GP更好适用FL过程,文章修改GP,以减少样本数量,更好利用历史信息。下面是详细的说明:

        在GP中,使用核函数K(\boldsymbol{x}_{i},\boldsymbol{x}_{j})计算协方差\boldsymbol{\Sigma}^t\boldsymbol{\Sigma}^t_{i,j}=K(\boldsymbol{x}_{i}^t,\boldsymbol{x}_{j}^t),其中\boldsymbol{x}_{i}^t\boldsymbol{x}_{j}^t分别为ij的特征向量。

        将原始空间中的向量作为输入向量,并返回特征空间(转换后的数据空间,可能是高维)中向量的点积的函数称核函数

        接下来对每一个客户端分配一个潜在空间中的可训练嵌入,第k个客户端的嵌入记为\boldsymbol{x}_{k}^{t}\in\mathbb{R}^{d} (d<N),并且选择核函数为:

K\left(\boldsymbol{x}_i^t,\boldsymbol{x}_j^t \right) ={\boldsymbol{x}_i^t}^T \boldsymbol{x}_j^t 

        嵌入(Embedding)是低维空间中一组数据点的数学表示,可捕获其潜在的关系和模式。嵌入通常用于以机器学习算法可以轻松处理的方式表示复杂的数据类型,例如图像、文本或音频。

        潜在空间(Latent Space)是在机器学习中用于表示数据的一种低维空间。它是指数据中包含的所有有用信息的压缩表示。潜在空间通常比原始数据空间维数更低,这使得它更容易进行分析和理解。

        潜在空间嵌入(Latent Space Embedding)是指将高维数据映射到一个低维空间中的过程。在机器学习和深度学习领域中,潜在空间嵌入通常是指将高维输入数据通过一个神经网络模型映射到低维空间中的一组向量表示,这组向量表示通常被称为“潜在向量”或“潜在编码”。

        这是一个齐次线性核函数(关于线性核函数,可以参考:核函数3.1节),它的特点是低秩,可以减少需要学习的参数数量,从而使得GP训练更有数据效率。

        GP的一种常用训练方法是极大似然估计法,但是这种训练方法有较高的通信开销,显然是不适用于FL。而且考虑到FL中数据集的相似性是不变的,而且不同客户的损失变化之间的相关性主要来源于其数据集之间的相似性,所以文章作出如下修改:

        假设协方差\boldsymbol{\Sigma}^t在关注的时间范围内是缓慢变化的,并做实验验证了这一假设(见5.3节)。

        同时不需要在每一轮次都更新\mathbf{X}^{t},而是继承上一轮次的嵌入矩阵\mathbf{X}^{t-1},并且只是每\Delta t轮次训练它。

        此外,重用历史样本进行GP训练,以减少在每一轮GP训练中收集的样本S的数量。

        综上,文章将\mathbf{X}^{t}的更新规则总结如下:

\boldsymbol{X}^t=\begin{cases}\boldsymbol{X}^{t-1},\quad t\%\Delta t\neq0;\\\arg\max_{\boldsymbol{X}}\Phi_t(\boldsymbol{X}),\quad t\%\Delta t=0\end{cases}

        其中

\displaystyle \Phi_t(\boldsymbol{X})=\sum_{m=0}^M\sum_{i=1}^S\gamma^m\log p(\Delta\boldsymbol{l}^{t-m\Delta t}(\mathbb{S}_{t-m\Delta t,i})|\boldsymbol{X})

        M为重复利用的历史样本数,\gamma< 1贴现因子,对历史样本进行加权。

        下图的算法2为对FedCor的总结,而且,此方法与现有的修正训练损失或聚合方案的FL优化器正交,因此,此方法可以与其中任何一种方法结合使用。

5.Experiments 实验

        本节主要利用实验验证FedCor这一方法的有效性。

5.1.Experiment Settings 实验设置

        文章在FMNIST和CIFAR-10两个数据集上进行实验。

        对于FMNIST,采用了2个隐藏层MLP模型,即在输入和输出层之间有2个隐层的人工神经网络,该模型集中训练的情况下达到了85.92%的准确率;对于CIFAR-10模型,采用了先3个卷积层后1个全连接层CNN模型,该模型集中训练的情况下达到了73.84%的准确率。对于每个数据集,在N=100的客户端上使用三种不同的异构数据划分进行实验(2SPC、1SPC、Dir)。

        每个客户端2个分片(2SPC):将数据按其标签排序,并划分为200个分片,使得每个分片的所有数据都具有相同的标签。将这些分片随机分配给客户端,每个客户端有2个分片,由于所有的分片有相同的大小,因此数据划分是平衡的,也就是说,每个客户端有相同的数据集大小。在此设置中,每轮选择C=5个客户端。

        每个客户端1个分片(1SPC):该设置中,与2SPC唯一不同的是每个客户端只有1个分片,即每个客户端只有一个标签的数据,这种设置下,异构性最高,也最均衡。在此设置中,每轮选择C=10个客户端。

        \alpha = 0.2狄利克雷分布(Dir):从一个以浓度参数\alpha = 0.2的狄利克雷分布中采样一个客户端中每个标签的比例。在此设置中,每轮选择C=5个客户端。

        狄利克雷分布的一个特例是对称狄利克雷分布(symmetric Dirichlet distribution),此时分布参数\boldsymbol{\alpha}在所有维度相同,其取值也被称为浓度参数(concentration parameter)。对称狄利克雷分布的概率密度函数如下:

\displaystyle \operatorname{Dir}\left(\boldsymbol{X}|\boldsymbol{\alpha}\right)=\frac{\Gamma\left(d\boldsymbol{\alpha}\right)}{\Gamma\left(\boldsymbol{\alpha}\right)^d}\prod_{i=1}^dX_i^{\alpha_i-1}

        对称狄利克雷分布在每个维度的概率密度是相等的,并由浓度参数决定。当浓度参数为1,即所有维度的分布参数等于1时,d维对称狄利克雷分布退化为d-1维正单纯形上的均匀分布(uniformed distribution),也被称为平狄利克雷分布(flat Dirichlet distribution)。当浓度参数大于1时,对称狄利克雷分布是一个集中分布,此时浓度参数越大,所对应的概率密度越集中;当浓度参数小于1时,对称狄利克雷分布是一个稀疏分布,此时浓度参数越接近于0,所对应的概率密度越稀疏 。

        将FedCor训练过程分为2个阶段:

        预热阶段:统一采样客户端选择\mathbb{K}_{t},并收集\mathbb{U}中所有客户端的损失值,并在每一轮次都训练GP,即\Delta t=1,且S=1。设置此阶段长度FMNIST为15,CIFAR-10为20。

        正常阶段:按照算法2选择客户端并更新GP。

        在所有实验中,使用FedAvg作为FL优化器。

        接下来将展示FedCor这一策略和随机选择(Rand)、主动FL(AFL)、选择权选择策略(Pow-d)三种基本策略相比,能够实现更快更稳定的收敛。然后将给出GP训练区间\Delta t和退火系数\beta消融实验(类似于控制变量法)。最后利用t-SNE对客户嵌入\boldsymbol{X}进行可视化,结果将表明FedCor能够有效捕捉相关性。

5.2.Convergence under Heterogeneous Settings 异构设置下的收敛性

        文章在FMNIST和CIFAR-10上比较了FedCor和其他策略的收敛速度。对于FMNIST实验,采用\Delta t=10\beta=0.95;对于CIFAR-10实验,采用\Delta t=50\beta=0.9

        结果显示,FedCor具有最高的测试精度和最快的收敛速度,明显优于其他策略。

5.3.Results with Larger GP Training Interval 较大GP训练间隔的影响

        通过设置不同训练间隔\Delta t,验证\Delta t对性能的影响。

        结果显示,随着\Delta t的增大,性能退化逐渐减少,这表明,GP模型学习到的相关性是稳定的,支持了4.5节的假设。

        总而言之,可以以较低的频率训练GP模型,是可行的,可以有效减少通信开销。

5.4.Influence of Annealing Coefficient 退火系数的影响

        通过设置不同的退火系数\beta,以控制客户的“集中”选择。

        结果显示,采用较小的\beta时,整体的客户选择看起来更“均匀”,而学习曲线几乎不变,同时在4.4节也提到过\beta较小,并不等同于均匀采样,因为它还考虑到了客户间的相关性,以选择最佳的客户群体。

        实验结果表明,选择一个好的“群体”比一个好的“个体”更重要。

5.5.Visualization of Client Embedding 客户端嵌入的可视化

        文章展示了1SPC条件下,预热学习阶段客户端嵌入的t-SNE图。图中,每个嵌入都在对应的客户端上用唯一的数据标签进行标注,将嵌入向量的长度归一化为1,因此可以根据嵌入间的长度揭示相关性。由图可知,具有相同标签的嵌入被聚在一起,说明FedCor在预热阶段正确捕捉了客户端之间的相关性。

6.Conclusion and Future Work 结论与未来工作

        这节是对整篇文章正文的总结和未来可以据此研究的工作。

        文章针对异构联邦学习的客户端选择策略,基于GP对客户端相关性进行建模,提出了FedCor,能够实现快且稳定的收敛。

        实验表明,在高度异构环境下,FedCor有效加速和稳定了训练过程。此外,验证了FedCor仅使用客户损失信息就可以正确捕获客户端之间的相关性。

        关于进一步的工作,文章提出了几个方向:将FedCor扩展到其他任务,并进一步利用捕获的相关性;将其从跨机器学习场景扩展到跨设备场景。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值