[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与其他网络拓扑应用到联邦学习系统中。

你可能感兴趣的:(机器学习,物联网)