FL + RL

Cascade: Enhancing Reinforcement Learning with Curriculum Federated Learning and Interference Avoidance — A Case Study in Adaptive Bitrate Selection

根据论文的背景部分(引言和第二节),以下是为什么将强化学习(RL)分配给客户端,课程联邦学习(CFL)分配给服务器的原因:

  1. 为什么将RL放在客户端:

    论文通过几个关键点解释了将RL应用于客户端的选择:

    来自论文的文字: “尽管联邦强化学习(FRL)在许多应用中具有潜力,例如资源网络管理[3],但在使用FRL训练基于深度强化学习(DRL)的网络算法时,仍然存在一些挑战。这些挑战包括数据分布随时间变化,即客户端上非平稳数据分布的问题。”

    关键原因:

    1. 每个客户端面临独特的网络条件和环境

    2. 客户端需要做出实时自适应决策(如比特率选择)

    3. 本地RL训练可以处理每个客户端特有的非平稳数据分布

    4. 通过将原始轨迹数据保留在客户端,保护隐私

  2. 为什么将CFL放在服务器:

    来自论文的文字: “在联邦学习中应用课程学习是具有挑战性的,因为,与传统的课程学习依赖于原始轨迹或任务标识符来排序任务不同,联邦学习服务器无法访问这些元素。”

    关键原因:

    1. 服务器由于隐私问题无法访问原始客户端数据

    2. 服务器需要协调跨不同环境的学习

    3. 服务器上的CFL有助于管理客户端之间的知识迁移

    4. 允许在整个联邦中系统地从简单到复杂的任务进展

    论文特别指出,这种分配解决了两个关键挑战:

    1. “在不交换客户端环境的私密知识的情况下构建课程”

    2. “防止模型在初始训练阶段过于偏向简单任务”

服务器-客户端的分配如何解决这些问题:

论文中明确提到的核心问题是: “对于FRL-ABR问题,我们认为,在较少动态和噪声的环境中学到的简单知识将改善在更复杂环境中的动作空间探索,从而提高整体模型的性能。因此,我们的目标是创建一个课程,首先聚合从‘简单’环境中学到的知识。”

这种服务器-客户端的分配通过以下方式实现:

保持客户端敏感数据的隐私

允许根据特定环境进行本地适应

实现跨联邦的协调课程学习

管理不同难度级别环境之间的知识迁移

这种设计选择得到了实验结果的支持,显示出相对于集中式方法和标准联邦学习方法的显著性能提升。

本文模型

根据论文,以下是强化学习(RL)和课程联邦学习(CFL)如何结合并相互作用的详细说明:

  1. 强化学习(RL)部分:
  • RL部分在客户端层面操作,使用**优势演员-评论家(A2C)**算法。

  • 每个客户端运行自己的RL智能体,具体包括:

    • 观察状态 sts_t(如网络状况、缓冲状态等)

    • 采取动作 ata_t(选择视频比特率)

    • 接受奖励 rtr_t(基于视频质量和缓冲情况)

  • RL策略由以下部分进行参数化:

    • 演员(θ):学习动作策略 π(a∣s;θ)π(a|s; θ)

    • 评论家(φ):估计价值函数 V(s;φ)V(s; φ)

  1. 课程联邦学习(CFL)部分:
  • 在模型聚合时,CFL部分在服务器层面操作。

  • 使用基于客户端学习进度的难度得分。

  • 论文中特别使用“评论家损失变化率”作为难度度量标准。

  • 服务器:

    • 收集所有客户端的难度得分

    • 选择“精英”客户端(那些学习进度较快或难度较低的客户端)

    • 按照从易到难的顺序逐步聚合模型

结合工作原理:

  1. 初始阶段:
  • 客户端(RL): 本地运行A2C算法 计算难度得分(评论家损失变化率) 将得分和模型更新发送到服务器 服务器(CFL): 接收得分和更新 选择前β百分位的客户端(初始为20%) 只聚合选择的客户端模型
  1. 渐进学习阶段:
  • 服务器逐步增加β值,每轮增加15% 逐渐包括具有更高难度环境的客户端 继续直到β达到100%(包括所有客户端)
  1. 干扰避免:
  • 向RL损失添加正则化项:\( l_{i,model} = L_i(θ) + λΩ_{i,t,model}(θ_i - θ_t)^2 \) 防止新学习过程干扰从更简单环境中获得的知识

关键创新:

主要贡献在于如何在联邦学习环境中应用课程学习,具体包括:

  1. 使用RL训练动态(评论家损失变化率)作为任务难度的代理。

  2. 不需要访问原始客户端数据。

  3. 在保持客户端隐私的同时,有效地实施课程学习。

这种结合方法使得系统能够:

  • 首先在较简单的环境中学习基础技能

  • 渐进式地适应更复杂的场景

  • 在学习新技能的同时保留已学知识

  • 保持联邦学习的隐私性和效率

结果表明,这种结合方法在奖励和模型偏差(skewness)方面显著优于标准RL和联邦学习基线方法。

FLRD:Is Your Data Relevant?: Dynamic Selection of Relevant Data for Federated

Learning (为什么需要数据选择)

这篇论文介绍了FLRD(基于相关数据的联邦学习)方法,通过两种关键方式选择数据:

  1. 每个客户端使用相关数据选择器(RDS)模型,为其本地数据样本分配一个0到1之间的相关性分数。分数越高,表示该数据对训练全局模型越有利。

  2. 相关性分数是动态变化的——它会根据每个数据样本在用于训练时,如何改善全局模型的性能而变化。

数据选择的必要性如下:

  • 不是所有客户端的数据对训练全局模型都同样重要。

  • 不相关或噪声数据会损害模型性能。

  • 论文表明,去除低相关性的数据样本能够提高准确性,而去除高相关性的数据样本则会损害性能。

  • 仅使用相关数据能够在联邦学习环境中实现更高效和更有效的模型训练。

该方法在多个数据集和噪声场景(如属性噪声、标签噪声等)中表现出色, consistently 超越了那些没有进行数据选择的基准方法。

在FLRD(基于相关数据的联邦学习)中,数据的选择是动态的,而且每一轮的训练数据可能会有所不同。具体来说:

  • 每个客户端的相关数据选择器(RDSi)根据每一轮的情况动态地为本地数据分配相关性分数。这些分数表示了哪些数据对于全局模型的训练更有价值。

  • 在每一轮训练中,客户端根据这些分数选择一些高相关性的数据样本进行训练,而低相关性或噪声数据则可能被丢弃。

  • 由于相关性是动态变化的,它会在每一轮训练后重新评估。因此,某些数据可能在当前回合被选中参与训练,但在下一回合可能由于相关性降低而被丢弃。

关键点:

  • 动态选择:每一轮选择的数据根据当前的相关性分数来决定,可能会有所不同。

  • 反馈驱动:数据选择通过服务器提供的奖励信号进行调整,使得每个客户端的RDSi不断学习如何选择对全局模型训练最有利的数据。

因此,某些数据可能只在某些回合参与训练,而在其他回合中被丢弃,这种方法有助于提高训练效率和模型性能,避免低质量数据对训练的负面影响。

MARL:A Multi-Agent Reinforcement Learning Approach for Efficient Client Selection in

Federated Learning

缺点:说是多智能体,但实际上共享权重的

FedMarl 在联邦学习中应用了多智能体强化学习(MARL)来进行客户端选择,其关键动机和方法如下:

动机:

  1. 需要同时优化多个相互竞争的目标:模型准确性、处理延迟和通信成本。

  2. 复杂的决策空间:由于计算/网络资源异质性和非独立同分布(non-IID)数据分布,选择客户端变得具有挑战性。

  3. 单智能体RL在高维动作空间下可能会遇到困难,且收敛速度较慢。

MARL实现:

  • 每个客户端设备都有一个对应的MARL智能体,位于中央服务器上,决定该客户端是否参与训练。

  • 智能体考虑的状态包括:探测损失、处理延迟历史、通信延迟历史、数据大小和轮次索引。

  • 智能体输出二进制动作(0/1),决定该客户端是否继续完整的训练,或者在探测后停止。

  • 智能体使用**值分解网络(VDN)**进行训练,以最大化团队奖励,该奖励考虑了准确性提升、延迟和通信成本。

  • 所有智能体共享权重,以减少存储开销并防止“懒智能体”问题。

关于动作空间的复杂性:

每个智能体的动作空间是二进制的(参与或不参与)。复杂性问题是关于:

  • 在单智能体RL****中:智能体需要一次性输出 2N2^N 种可能的选择组合,其中 NN 是客户端的数量(指数级)。

  • 在MARL中:每个智能体只需要为其对应的客户端做出一个二进制决策(线性)。

举个例子,对于10个客户端:

  • 单****智能体:需要从 210=10242^{10} = 1024 种可能的选择组合中做出选择。

  • MARL:每个智能体为10个客户端中的一个做出一个二进制选择,独立地进行。

因此,尽管每个智能体的动作空间是简单的(二进制),MARL将单智能体RL中可能非常复杂的组合性决策分解为多个更简单的并行决策。

FedCSS: Joint Client-and-Sample Selection for Hard Sample-Aware Noise-Robust Federated Learning

这篇文章提出为什么既要在模型中考虑客户端的选择,还要考虑数据的选择?

  1. 处理数据质量问题:
  • 真实世界中的联邦数据通常包含噪声和标签错误

  • 一些客户端的数据可能比其他客户端的数据更有噪声

  • 需要识别出高质量的客户端以及这些客户端中的高质量样本

  • 纯粹的客户端选择无法过滤掉所选客户端中的噪声样本

  • 纯粹的样本选择没有考虑客户端层面的数据质量模式

  1. 二者结合的好处:
  • 客户端选择有助于识别出数据质量整体较高的参与者

  • 样本选择进一步通过在已选客户端中挑选有价值的样本来进行优化

  • 这种层次化的方法(先选择客户端,再选择样本)比单纯的样本选择更有效

  • 两者结合可以带来更好的模型准确性和训练效率

模型

FedCSS 的核心思想是通过 双层优化 方法联合选择高质量的客户端和样本:

  1. 客户端选择:
  • 每个客户端根据其本地样本的平均影响力得分分配一个权重/影响力得分。

  • 客户端选择的概率与其权重成正比: Pk=Wk∑所有客户端的权重P_k = \frac{W_k}{\sum \text{所有客户端的权重}}

  • 在每一轮中,客户端根据这些概率进行选择。

  • 对于那些其样本的梯度与验证集梯度一致性较高的客户端,赋予更高的权重。

  1. 样本选择:
  • 对于每个选中的客户端,使用一个 元网络 为其样本分配权重,该元网络以样本损失作为输入。

  • 样本选择的概率 pk,ip_{k,i} 等于该样本的权重 wk,iw_{k,i},该权重由元网络提供。

  • 被选择的客户端根据这些概率从其本地数据中挑选出迷你批次。

  • 梯度与验证集梯度相似的样本会得到更高的权重。

FLASH-RL: Federated Learning Addressing System and Static Heterogeneity using Reinforcement

Learning

  1. 主要目的:

RL(特别是双深度Q学习——DDQL)主要用于联邦学习中的客户端选择。目标是智能地选择哪些客户端应该参与每一轮的训练。

  1. RL的使用方式:
  • 状态空间:状态包括客户端的模型权重(通过主成分分析PCA进行压缩)、客户端数据量、硬件规格(CPU核心数、频率)和网络带宽。

  • 动作空间:一个布尔向量,指示哪些客户端被选中。

  • 奖励函数:基于两个部分:

    • 静态****异质性:使用基于声誉的效用函数,考虑客户端的性能。

    • 系统****异质性:考虑计算和通信的延迟。

  1. 为什么选择RL:
  • 处理复杂的决策空间:客户端选择需要平衡多个因素(性能、延迟、数据质量)。

  • 自适应学习:可以根据客户端条件的变化学习最优的选择策略。

  • 多目标优化:平衡模型准确性和系统效率之间的竞争目标。

  1. 关键创新:
  • 多动作选择:修改DDQL,允许一次性选择多个客户端,而不是逐个选择。

  • 基于声誉的效用:一种新的评分机制,考虑客户端的当前和历史表现。

  • 集成的异质性处理:同时处理系统能力和数据分布差异。

为什么选择RL:

客户端选择在联邦学习中本质上是一个顺序决策问题,具有延迟奖励(最终模型性能),这非常适合RL的优势。实验结果表明,这种方法将训练轮次减少了最多60%,同时相比基准方法保持或提高了准确性。

Fast Heterogeneous Federated Learning with Hybrid Client Selection

  1. 聚类****过程

    1. 服务器使用来自所有客户端的压缩梯度作为聚类特征

    2. 使用算法 1(ClientClustering)将相似的客户端分组

    3. 采用基于梯度相似性的 k-means 聚类,设定 H 个簇

  2. 选择与训练流程

    1. 服务器从每个簇中选择一部分客户端

    2. 选中的客户端进行本地训练并发送更新

    3. 服务器仍然维护一个 全局模型(而不是每个簇一个独立模型)

    4. 聚类仅用于客户端选择,而非模型聚合

    5. 模型更新通过加权平均的方式进行聚合,就像标准的联邦学习(FL)一样

  3. 关键区别

    1. 传统的联邦学习:随机选择客户端

    2. 本文:基于聚类进行选择,确保代表性采样

    3. 聚类帮助减少方差,确保选中的客户端能够代表不同的梯度模式

OPTIMAL CLIENT TRAINING IN FEDERATED LEARNING WITH DEEP REINFORCEMENT LEARNING

  1. 数据选择:

    1. 每个客户端有多个类别的数据。

    2. RL代理决定每个类别数据在训练中的使用比例。

    3. 这些比例会根据每回合的性能变化。

  2. 代理设置:

    1. 只有一个“最优客户端”拥有RL代理。

    2. 其他“普通客户端”正常使用所有数据。

    3. RL代理将客户端的性能作为状态,输出数据选择比例作为行动。

  3. 聚合方法:

    1. 测试了五种不同的聚合策略(FedAvg、FedAvgM、FedMedian、FedProx、FedCDA)。

    2. 不仅限于简单的平均。

    3. 每种方法对非IID数据的处理方式不同。

  4. 两阶段训练:

    1. 在FL期间:最优客户端使用RL选择的部分数据进行训练。

    2. FL之后:最优客户端使用所有剩余的数据进行最终训练。

关键限制:只优化了一个客户端,而不是系统中的所有客户端。

IntelliFL: Learning Client Selection Strategy for Federated Learning across Heterogeneous Mobile Devices

这个模型是有两种选择,一种是选择客户端,一种是选择模型的哪部分。另外,考虑了多个agent去控制不同类型数据的客户端(聚类)

  1. 客户端聚类系统:
100个客户端 -> K-means聚类 -> K=10个聚类 -> 10个MARL代理
  1. 不重叠的控制:
  • 每个MARL代理负责一个相似客户端的聚类

  • 聚类是互斥的(没有客户端属于多个聚类)

  • 每个客户端只会接受来自一个MARL代理的决策

根据论文中的内容(第III.D.4节):

“为了减少云端实现的MARL代理的数量,我们使用K-means聚类算法将客户端n的输入状态sr,n分类为K个聚类。每个聚类的中心s'r,k将作为K个MARL代理的输入状态。同一聚类中的所有客户端将共享由相关MARL代理产生的相同DNN映射。”

工作流程:

  1. 客户端将其统计数据发送到云端

  2. K-means聚类根据客户端的统计数据将相似的客户端分到一起

  3. 每个聚类分配给一个MARL代理

  4. 每个MARL代理只对其分配的聚类做决策

  5. 同一个聚类中的所有客户端都接受来自它们所属MARL代理的相同决策

这个设计确保了:

  • 控制不重叠(每个客户端只有一个控制代理)

  • 可扩展性(可以用较少的代理处理大量客户端)

  • 相似的客户端得到相似的处理(通过聚类)

  • 代理之间的职责分明

因此,虽然有多个代理,它们独立地在自己的非重叠客户端子集上操作,避免了决策上的冲突。

MARL代理的功能:

  • 主要功能是智能客户端选择和DNN(深度神经网络)映射/架构决策。

  • 每个MARL代理做出两个关键决策:

    • 是否选择某个客户端进行训练

    • 将哪个部分的DNN模型分配给选定的客户端(完整模型、第一次早期退出、第二次早期退出,或不分配模型)

MARL实现细节:

  • 输入状态:代理接收客户端的统计数据,包括:

    • 历史训练损失数据

    • 处理延迟历史

    • 先前的DNN映射决策

    • 本地模型大小

    • 本地数据集大小

    • 当前训练轮次索引

  • 行动:每个代理有4个可能的行动:

    • 分配完整的DNN模型

    • 分配带有第一次早期退出的DNN

    • 分配带有第二次早期退出的DNN

    • 排除该客户端不参与训练

  • 奖励函数:基于以下加权组合:

    • 模型准确率的提升

    • 处理延迟的减少

    • 通信成本的减少

Fisher Information-based Efficient Curriculum Federated Learning with

Large Language Models

  1. 非IID数据的挑战:

在联邦学习中,不同设备的数据分布通常差异很大。例如:

  • 设备A可能主要有商业邮件

  • 设备B可能主要有个人邮件

  • 设备C可能主要有技术文档

这会导致两个主要问题:

  • 本地模型可能会对特定的数据分布过拟合

  • 全局模型聚合由于更新的分歧变得不那么有效

  1. 课程学习如何帮助:

论文通过基于Fisher信息的课程学习在多个方面解决了这个问题:

a) 自适应难度测量:

Fi ≜ Esi[(∇ log pk(si)) (∇ log pk(si))T]
  • 使用Fisher信息矩阵来衡量样本的难度

  • 这种测量方式能够适应每个设备的本地数据分布

  • 提供了一种在不同分布之间评估难度的一致方法

b) 逐渐增加复杂性:

Btk = (β + (1 - β)t/αT)nk/B
  • 从所有设备上较简单的样本开始

  • 在受控的速率下逐渐增加复杂性

  • 在处理设备特定的复杂性之前,帮助建立共同的基础知识

c) 平衡学习:

  • 通过在所有设备上从“更简单”的样本开始,模型建立了一个更通用的基础

  • 随着更复杂样本的逐步引入,帮助防止过早对设备特定模式的****过拟合

  • 减少了聚合过程中梯度冲突的影响

具体的样本选择设置

  1. 训练过程:
  • 训练遵循“从易到难”的课程学习策略,正如你所说的

  • 在早期的训练轮次中,模型训练时使用难度较低的样本(简单样本)

  • 随着训练的进行,逐渐包括难度较高的样本(困难样本)

  • 这一过程通过论文中的公式18进行控制:

  • Btk = (β + (1β) t/αT) * nk/B

其中:

  • β是初始的训练样本比例

  • t是当前的训练轮次

  • T是总训练轮次

  • 该公式逐渐增加用于训练的样本数量

  1. 样本选择:
  • 对于每个训练轮次t,他们根据公式19选择样本:

Select(Bj) = True if j < Btk, False otherwise

  • 样本首先按其难度得分进行排序

  • 每轮训练中,仅选择最容易的Btk个样本

  • 随着t的增加,Btk也会增加,允许更困难的样本被包含在训练中

When Do Curricula Work in Federated Learning?

既有客户端的选择,也有数据的选择

  1. 数据异质性问题:

论文指出,联邦学习中的一个主要挑战是客户端之间的数据异质性(非独立同分布数据)。课程学习通过提供一种有结构的方式来处理训练数据的不同“难度”级别,帮助缓解这一问题。

  1. 提升性能:

论文表明,课程学习提供了显著的益处:

  • 在IID和非IID数据分布下都能提升分类准确率

  • 当客户端数据异质性较强时,性能提升更为明显

  • 帮助使目标景观“逐渐变得不那么凸起,这意味着在训练过程的初期,优化过程收敛较快”

  1. 处理客户端异质性:

论文提出了一种新颖的方法,将课程学习不仅应用于数据,还应用于客户端选择,这有助于利用现实场景中客户端之间的自然差异。

  1. 早期训练稳定性:

根据论文,课程学习在训练初期特别有效,因为“优化的初始大步是在‘更简单’的示例上进行的,这些示例在分布上更加接近。”

  1. 协同效应:

论文证明,将数据课程学习与客户端课程学习结合,能够“产生复合效益”,超越单独使用任何一种方法的效果。

具体的设置

  1. 数据选择:课程学习根据样本的难度动态评分,并按顺序选择数据。训练初期选用简单样本,逐步引入更难的样本。评分函数和节奏函数控制数据的选择。

  2. 客户端选择:论文提出了智能客户端选择方法,基于每个客户端的数据分布和异质性,选择合适的客户端参与训练。课程学习与客户端选择结合时,能有效提高性能,尤其在数据异质性大的情况下。

  3. 回合中的选择:在每个回合,数据和客户端选择是独立但同时进行的。数据选择基于课程学习,而客户端选择根据数据分布和异质性调整。

FedQMIX :Communication-efficient federated learning via

multi-agent reinforcement learning

为什么rl?

在文中,使用 强化学习(RL****) 的原因主要基于以下几点:

应对非独立同分布(non-IID)数据的问题

在 联邦学习(FL) 中,客户端设备上的数据通常是 非独立同分布(non-IID) 的。这种数据分布会对模型的收敛性产生负面影响,并降低 FL 的通信效率。强化学习特别适合于处理这种分布不均的情况,因为它能根据环境状态和当前策略做出动态决策。在 FedQMIX 中,使用强化学习来选择适当的客户端,以应对非IID数据的挑战,改善 FL 的收敛速度和稳定性。

marl的设置

在 FedQMIX 框架中,agent 主要是用来选择客户端设备的,而不是数据。具体来说:

  • Multi-Agent 系统中的 agent:每个 agent 代表一个 客户端设备群体的集群,每个集群中的客户端设备共享相似的模型权重。每个集群被视为一个独立的 agent,它的任务是根据某种策略选择哪个客户端设备最能提升全局模型的性能。也就是说,agent 在这里负责选择参与训练的客户端设备。

  • Multi-Agent 负责的对象:在 FedQMIX 中,multi-agent 系统掌管的是客户端设备的选择。这些客户端设备是根据它们的模型权重相似性被分成不同的集群,每个集群由一个 agent 来控制。每个 agent 基于集群内的客户端模型的表现来决定哪些设备在当前训练轮次中应该被选中。

总结:

  • Agent 是用来选择客户端设备(而不是数据)。

  • 每个 multi-agent 负责管理一个集群,集群中的客户端设备共享类似的数据分布,并且 agent 基于这些设备的模型权重来选择参与训练的设备。

posted @ 2024-12-29 13:52  GraphL  阅读(203)  评论(0)    收藏  举报