[yzhpdh多读paper]ClusterFL: A Similarity-Aware Federated Learning System forHuman Activity Recognition

Abstract

联邦学习(FL)最近由于其保护数据隐私的能力受到了广泛关注。然而,现有的FL范式对于一大类人类活动识别(HAR)应用产生了令人不满意的性能,因为它们忽略了不同用户数据之间的内在关系。

我们提出了ClusterFL,这是一个相似性感知的联邦学习系统,可以为HAR应用提供高模型精度和低通信开销。ClusterFL采用了一种新的集群多任务联合学习框架,该框架最大限度地提高了多个学习模型的训练精度,同时自动捕获不同节点数据之间的内在聚类关系。基于学习到的簇关系,ClusterFL可以有效地去除收敛较慢或与每个簇中其他节点相关性较小的节点,显著加快收敛速度,同时保持精度性能。我们使用从总共145个用户中收集的四个新的HAR数据集,在NVIDIA edge测试平台上评估ClusterFL的性能。结果表明,ClusterFL在整体精度方面优于几种最先进的FL模式,并在可忽略精度降低的情况下节省了50%以上的通信开销。

Keywords:

人类活动识别、联邦学习、集群、多任务学习、沟通优化

这次我先看了作者对文章的介绍视频

贴个地址:https://www.youtube.com/watch?v=MqkCa5417BE

我个人看完视频对文章的introduction的理解:

之前的工作使用的集中学习(centralized learning)需要收集所有用户数据,因此需要考虑隐私问题,所以提出用户数据能否本地存储,

由此提出用联邦学习形成global model,但global model不是对所有用户都适用的,而且存在较大交流消耗。

所以这篇文章展示用户数据中相似性感知,这个基于一个观察,即尽管不同用户活动存在异构性,但其数据分布可能具有显著的时空相似性,且这样的相似性可以被集群关系获取(感叹这么强大的观察力,好好学习...)并用于联邦学习。

  • ClusterFL采用了一种新的集群多任务联邦学习公式。通过引入表示用户相似性的聚类指标矩阵,我们的新公式旨在最小化学习模型的经验损失,同时自动捕获不同用户数据之间的内在聚类结构。为了解决这个问题,我们提出了一个基于交替方向乘子法(ADMM)的分布式优化框架,该框架交替更新模型权重和簇结构直到收敛
  • 为了FL设置适应ADMM方法,我们将学习过程分解为本地数据的更新模型权重以实现节点的数据局部性。和之前工作比起来,以前的解决方案基于训练后后个性化,我们的学习框架支持相似节点之间的协作学习,适用于一般的非凸学习模型(例如DNN和CNN模型)
  • ClusterFL利用学习到的集群结构,集成了两种新机制,即分簇掉队和基于相关性的节点选择,以减少通信开销。
  •         服务器将丢弃收敛速度较慢的掉队者和每个集群中与其他节点不太相关的节点,这被证明可以减少总体通信开销,同时保持总体准确性能。

评估

我们使用自己收集的四个新数据集,在由10台NVIDIA edge设备组成的硬件测试平台上评估ClusterFL的性能,其中包括一个大规模的HAR数据集,涉及121名使用智能手机应用程序以众包方式收集的受试者,以及三个实验室HAR数据集。我们的评估表明,通过捕获不同用户活动的异构数据中的集群关系,ClusterFL在系统准确性方面显著优于几种现有的机器学习范式,并且提出的通信优化机制可以减少50%以上的通信开销。此外,ClusterFL在动态网络条件下,在服务器和节点之间出现意外断开的情况下,性能非常稳定。

方法概述

ClusterFL每轮通信包括以下步骤:

(1)节点将其当前模型权重和训练损失的更新上传到服务器。

(2) 服务器将通过优化框架,使用聚类指标矩阵量化模型权重之间的关系。因此,在联邦学习的早期阶段,服务器可以通过联合数据分布动态地将节点分组到集群中。

(3) 根据学习到的集群指标矩阵,服务器更新协作学习变量,这歌协作学习变量将会被节点用于更新其模型,并删除收敛较慢的散乱者和每个集群内与其他节点关系较小的节点,以减少通信开销。

(4) 服务器学习的集群指标矩阵(cluster indicator matrix)、协作学习变量(collaborative learning variables)和drop indicator将发送回每个节点。

(5) 节点将使用接收到的信息更新其模型,并根据drop indicator决定是否在下一轮中继续学习过程。

相似性感知联合学习框架

ClusterFL的设计基于以下关键观察结果

由于有受试者的生物学特征、生理特征环境,甚至传感器偏差,人类活动识别中的许多应用都具有固有的群集性,这些都可以用来改善模型的整体精度。

目标:捕捉节点之间的簇关系,并为同一簇中的节点聚合模型权重,以提高精度

问题公式化:我没仔细看,大致是描述了一个公式、公式将为每个节点定制一个模型,同时保持同一簇中节点的模型权重的相似性。在这种情况下,每个节点的模型将根据其本地数据并参考其他节点的模型进行更新,这将通过集群内的协作学习显著提高个人性能

交替优化:在联邦学习环境下,公式中有两个变量(W和F)需要解决。而且很难同时求解它们。为了应对这一挑战,我们建议使用交替优化方法来解决这个问题。在这种情况下,我们将为优化的每个外部迭代确定W或F,并更新另一个变量,在这两个变量的优化之间交替,直到收敛。算法1(见原文)显示了节点和服务器之间交替优化的集中视图。

结点更新:每个节点将并行优化(例如,使用梯度下降法)其模型权重w𝑖 基于其本地数据(x𝑖, Y𝑖), 集群结构F和来自服务器的协作学习变量Ω、U。

服务更新:服务器将进一步利用节点W和集群结构F的新更新模型权重来更新协作学习变量Ω,U。

因此,在节点和服务器之间的通信循环中,节点需要上传更新的模型权重w𝑖 到服务器,服务器将在聚合权重后向所有节点广播F、Ω、U给U𝑗 ∈ R1×𝐷 (𝑗 = 1.𝐾) 是在ADMM的增广拉格朗日中引入的对偶变量。

了解集群结构

当W是固定的,问题F可以被视为权重为W的结点参数下𝐾-means方法的聚类问题(以矩阵表示)
在服务器上使用节点的模型权重学习节点的集群关系时,有两个挑战:

  1. 如何量化模型权重的相似性
  2. 如何在不知道聚类数K的情况下动态优化聚类结构。

模型权重的相似性:基于距离的聚类方法在建模机器学习模型的相似性方面有严重的局限性,因为它们只适用于具有凸损失函数的模型。因此,对于具有非凸损失函数的一般DNN模型,我们选择使用Kullback–Leibler散度(KLD)来度量节点模型的相似性。KLD用于衡量一种概率分布与另一种概率分布的不同,广泛用于知识提炼、模型自适应和相似性度量。两个DNN模型的KLD(w𝑖, W𝑗) 可以表示为:(见原文)

较小的KL散度表示节点i和j的模型关系更密切。然后我们计算任意两个模型之间的KL散度,从而得到KL散度矩阵D

优化集群关系:这里涉及的知识比较多,而且没接触过,留个坑先把。大概意思是用上面获得的KL散度矩阵来学习集群指示矩阵,然后因为不知道集群K的数量,以及其他难题,于是决定改变解决思路

优化通信性能

在传统的FL系统中,节点和服务器之间需要进行大量的更新迭代,这使得通信开销成为学习过程的瓶颈。以前的一些关于有效通信的工作主要集中在模型压缩和量化技术上,当通信轮数较大时,这些技术并不总能减少总的通信延迟。其他方法从所有节点中选择散乱者(收敛较慢的节点)并同时丢弃它们,不考虑散乱者之间的差异。

在这项工作中,我们的目标是利用ClusterFL学习到的固有集群关系,在FL过程中动态删除节点,同时保持整体精度性能。我们的关键思想是,服务器可以利用学习到的集群结构删除一些节点,以减少通信延迟。特别是,我们框架中的集群结构通常会在早期学习,例如在几轮交流中。显示了集群指标矩阵F的更新,其中我们使用F的L1范数来显示F是如何随次数变化的

使用深度数据集更新F。这里的任务是使用从三种环境(室外/黑暗/室内)收集的深度图像识别五种手势。我们可以看到,即使ClusterFL总共更新了F 25次,更新8次后F几乎保持不变。它清楚地表明,通过第8次更新中的F,服务器已经捕获了节点之间的集群关系,因此能够使用这些信息来优化通信性能。

基于这一关键观察,我们提出了两种新的机制,以减少通信开销,同时保持学习模型的准确性。

  • 使用集群关系和节点丢失更新,服务器将对集群内的掉队者进行分类,并尽早将其丢弃。
  • 服务器将删除其数据与同一集群中的其他节点相关性较小的节点。

 Cluster-wise Straggler Dropout

我们讨论如何测量节点的收敛性能,以识别特定集群的掉队者。对于集群j(j=1,…,K)其中包含𝑁𝑗 节点,我们定义了平均收敛速度𝛾𝑞 对于节点q(q=1,…),。。。,𝑁𝑗)在最近的𝑇𝑐 迭代如下:这里𝜀𝑡𝑞 是在第t次迭代时,与簇j中的其他节点相比,节点q的归一化损耗更新;𝛾𝑞 是的平均值𝜀𝑡𝑞 最近𝑇𝑐 迭代;𝑇𝑐 是确定散乱者的迭代阈值,其中𝑇𝑐 这意味着获得更平滑的损耗更新以滤除干扰,同时推迟迭代以识别掉队者。(这块涉及到的公式没贴出来)

如果一个节点被服务器丢弃,它将停止与服务器的通信,但在本地对自己的数据和最后更新的模型进行训练,直到本地收敛。由于剩下的节点已经接近收敛,它们的模型更新不会因丢弃掉队者而受到实质性影响。

基于相关性的节点选择

在本节中,我们提出了一种基于观察的新方法,即如果集群中的节点子集此之间的关联性更强,那么它们将通过协作学习获得更大的收益。如果我们在中间阶段删除它们,同一集群中节点的平均精度只会受到轻微的降低。服务器将根据节点与其他节点的相关性选择删除节点。具体来说,服务器将对于所有节点计算一个重要性向量𝜎 ,使用F的相关矩阵来测量它们与每个集群中其他节点的相关程度。假设节点q位于包含𝑁𝑗 节点,我们定义了重要性度量𝜎𝑞 对于节点q(公式略)

例如,节点1带有𝜎1=0.833,而节点0具有𝜎0=0.733)表示它与同一集群中的其他节点具有更高级别的相关性。然后服务器将进行对𝜎𝑞 所有簇从大到小排序,在迭代𝑇𝑡ℎ𝑟𝑒𝑠ℎ时丢弃最后一个𝑀𝑑 结点。这样与服务器通信的节点总数将减少到𝑀 − 𝑀𝑑 .然后,退出的节点将根据上次本地的更新训练其模型,并且不与服务器通信。最后,由于与服务器交互的节点数量较少,因此总通信时间将减少,同时在学习过程中保留相对重要的节点,以提高整体性能。此处显示的是丢弃的节点数𝑀𝑑 还有下降迭代𝑇𝑡ℎ𝑟𝑒𝑠ℎ 将根据总体准确性和通信性能之间的预期权衡来决定。较小的𝑀𝑑 意味着要丢弃的节点更少,从而减少通信量和精度损失较小的𝑇𝑡ℎ𝑟𝑒𝑠ℎ 意味着更早地删除节点,导致更多通信减少和准确性损失。

剩下的测评我就不仔细写了

数据搜集(略)

实施和评价

  • 从动态系统表现(动态网络条件、可伸缩性、整体的精度、通信开销)
  • 从不同数据集上的性能(捕捉节点的关系、不同方法的比较、不同数据集的结果)
  • 不同模型深度下的系统开销性能

Conclusion

成果方面:

  1. 提出相似性感知联邦学习系统用于人类活动识别。
  2. 利用用户数据的本质集群关系去提高模型精确度。
  3. 提出两个新方法改善沟通成本。

未来工作:

  1. 隐私和实用之间的权衡。
  2. 延伸ClusterFL的应用。
  3. 将ClusterFL与其他网络拓扑应用到联邦学习系统中。

<think>好的,用户想了解FedSSA方法及其在个性化联邦学习中的应用,特别是关于基于语义相似性的聚合模型在异质联邦学习中的情况。首先,我需要回顾一下联邦学习的基本概念,尤其是个性化联邦学习(PFL)的相关知识。个性化联邦学习的目标是在保护数据隐私的同时,为不同客户端定制适合各自数据分布的模型,这与传统的联邦学习不同,传统方法通常训练一个全局模型,可能无法适应各客户端的局部数据特性。 接下来,用户提到的FedSSA,全称是Semantic Similarity-based Aggregation,即基于语义相似性的聚合方法。我需要查阅相关文献,看看这个方法是如何处理模型异质性的。在异质联邦学习中,各个客户端的模型结构可能不同,这增加了聚合的难度,因为传统的联邦平均(FedAvg)等方法需要模型参数结构一致才能进行平均。FedSSA可能通过分析模型之间的语义相似性,而不是直接聚合参数,来解决这个问题。 根据引用内容[^1],FedMF在处理冷启动推荐时忽略了高阶交互,而FedSSA可能通过语义相似性来捕捉这些高阶特征。例如,在推荐系统中,用户和项目的交互可能不仅仅是直接的,还可能通过社交网络或其他隐含关系形成高阶交互。FedSSA可能利用这些语义信息来改进模型聚合,提升个性化推荐的性能。 然后,我需要分析FedSSA的具体机制。语义相似性可能指的是模型在特征空间或输出空间中的相似性。例如,通过比较不同客户端模型的特征表示或预测结果,计算它们之间的相似度,然后基于这些相似度进行模型聚合或参数调整。这种方法允许异质模型之间进行有效的知识传递,而无需统一模型结构,从而支持个性化学习。 另外,用户提到的模型异质性问题,FedSSA可能采用模型无关的聚合策略,比如通过知识蒸馏或迁移学习,将不同模型的知识整合到一个共享的表示空间中,再根据相似性进行聚合。例如,每个客户端模型生成嵌入向量,服务器计算这些嵌入的相似性,并据此调整聚合权重,使得相似客户端对彼此的模型更新贡献更大,从而提升个性化效果。 还需要考虑FedSSA在实验中的表现,尤其是在冷启动场景下的推荐效果。引用中提到的FedGNN、FedSog等方法通过图扩展改进,而FedSSA可能通过语义相似性聚合来补充这一点,特别是在数据稀疏或新用户/项目出现时,利用语义信息弥补数据不足的问题。 最后,综合这些信息,我需要以清晰的结构将FedSSA的工作原理、在异质联邦学习中的优势以及应用场景整理出来,确保回答准确且符合用户需求。同时,生成的相关问题应围绕FedSSA的机制、对比其他方法、性能评估和应用挑战展开,帮助用户深入理解该模型。</think>### FedSSA方法及其在个性化联邦学习中的应用 FedSSA(基于语义相似性的聚合)是一种面向**模型异质性**的个性化联邦学习方法,旨在解决传统联邦学习中客户端数据分布差异大、模型结构不一致导致的聚合效率低的问题。其核心是通过分析客户端模型的**语义相似性**而非参数对齐来实现知识共享,从而提升个性化模型的性能[^1]。 #### 1. FedSSA的核心机制 - **语义相似性度量**:计算不同客户端模型在特征空间或预测结果上的相似度(如余弦相似度),识别语义相近的客户端。 $$ \text{Similarity}(M_i, M_j) = \frac{\phi(M_i) \cdot \phi(M_j)}{\|\phi(M_i)\| \|\phi(M_j)\|} $$ 其中$\phi(\cdot)$表示模型的特征提取函数。 - **动态聚合权重**:根据相似度动态调整聚合权重,相似度高的客户端对全局模型的贡献更大。 $$ w_{i} = \frac{\exp(\text{Similarity}(M_i, M_{\text{global}}))}{\sum_j \exp(\text{Similarity}(M_j, M_{\text{global}}))} $$ - **异质模型兼容**:支持不同结构的本地模型(如CNN、RNN),通过语义对齐实现知识迁移,无需统一模型架构。 #### 2. 在个性化联邦学习中的优势 - **冷启动优化**:通过语义相似性捕捉用户-项目的高阶交互(如社交关系、隐含偏好),缓解数据稀疏性问题,提升冷启动推荐效果。 - **隐私保护**:仅共享模型语义信息(如嵌入向量),避免原始数据传输,符合联邦学习的隐私要求。 - **计算效率**:相比传统参数聚合方法(如FedAvg),减少通信开销,尤其适用于资源受限的边缘设备。 #### 3. 典型应用场景 - **推荐系统**:在联邦环境下,为不同用户提供个性化推荐(如新闻、商品),解决数据孤岛问题。 - **医疗诊断**:各医院使用不同结构的本地模型,通过FedSSA共享疾病预测的语义知识,同时保护患者隐私。 - **智能物联网**:异质设备(传感器、摄像头)协同训练,适应动态变化的边缘环境。 ```python # FedSSA聚合伪代码示例 def aggregate(models, global_model): similarities = [] for model in models: # 提取模型语义特征(如最后一层嵌入) local_embedding = extract_embedding(model) global_embedding = extract_embedding(global_model) # 计算相似度 sim = cosine_similarity(local_embedding, global_embedding) similarities.append(sim) # 归一化为权重 weights = softmax(similarities) # 加权聚合全局模型 new_global_model = weighted_sum(models, weights) return new_global_model ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值