FedClust: 利用权重驱动的客户端聚类优化联邦学习中的数据异质性问题
摘要
本文介绍了一种名为FedClust的新型聚类联邦学习方法,旨在解决联邦学习中的数据异质性问题。联邦学习(FL)是一种分布式机器学习范式,允许多个设备在不共享本地数据的情况下协作训练模型。然而,不同设备上的数据分布不均匀,违反了传统机器学习中独立同分布(IID)的假设,导致模型性能下降。FedClust通过利用客户端本地模型权重与数据分布之间的相关性,将客户端分组为一次性聚类,从而有效地解决了这一问题。实验结果表明,FedClust在多个基准数据集上实现了高达45%的模型精度提升,并且通信成本显著降低,收敛速度更快。
原理
FedClust的核心原理是利用客户端本地训练模型的权重来推断其数据分布的相似性。具体来说,FedClust要求每个客户端仅发送其本地训练模型的部分权重(特别是最后一层的权重)到服务器。服务器根据这些权重计算客户端之间的欧氏距离,构建一个邻近矩阵,然后使用凝聚层次聚类(agglomerative hierarchical clustering)将相似的客户端分组到同一聚类中。这种方法无需服务器持有任何全局共享数据,且能动态地将新客户端纳入适当的聚类中,提高了联邦学习的灵活性和适应性。
流程
FedClust的工作流程如下:
- 服务器向所有可用客户端广播初始全局模型。
 - 每个客户端使用其本地数据对模型进行少量迭代训练,并将更新后的最后一层权重发送回服务器。
 - 服务器根据接收到的权重构建邻近矩阵,并进行层次聚类,将客户端分组为若干聚类。
 - 从下一轮开始,FedClust的工作流程类似于FedAvg,服务器初始化每个聚类的模型,随机选择一部分客户端,并向它们广播相应的聚类模型。
 - 客户端在本地数据上训练模型,并发送更新后的模型参数及聚类ID回服务器。
 - 服务器对每个聚类的模型进行平均,更新全局模型。
 
应用
FedClust的应用前景广泛,特别适用于处理非独立同分布(non-IID)数据的联邦学习场景。随着物联网(IoT)和边缘计算的普及,FedClust能够有效地在分布式设备上进行模型训练,提高模型性能,同时保护用户隐私。此外,FedClust的动态聚类机制使其能够适应客户端的动态变化,如新设备的加入或现有设备的退出,从而增强了联邦学习的可扩展性和实用性。
