【FLIS】Clustered Federated Learning via Inference Similarity for Non-IID Data Distribution

article/2025/10/14 2:03:28

Clustered Federated Learning via Inference Similarity for Non-IID Data Distribution 基于推理相似性的非iid数据分布聚类联邦学习

    • Abstract
    • 1.INTRODUCTION
    • 2.FEDERATED LEARNING WITH CLUSTERING
        • A. Overview of FLIS Algorithm
        • B. Clustering Clients
    • 3.EXPERIMENTS
        • A. Experimental Settings
        • B. Communication Efficiency
        • C. Impact of Hyper-parameter Changes
        • D. The influence of β on clustering error
        • E. Learning with Limited Communication
        • F . Generalization to Unseen Clients

Abstract

当局部数据集的分布与全局数据集的分布差异过大,客户端局部目标与全局目标不一致,导致局部更新漂移。

本文提出:
算法FLIS,利用客户端模型的推理相似性,将客户端分组为具有联合可训练数据分布的聚类。
不同的客户端有自己的学习任务,将他们的数据与同一集群中的其他用户(相同学习任务)聚合,可以更有效与个性化的联邦学习。

1.INTRODUCTION

通过聚类实现数据异构下的个性化FL。
基于FL损失面的几何属性或基于模型的权重或服务器端的模型更新比较,CFL通过将客户端分组到单独的集群来解决该问题。

当前研究的不足:
当每个参与者拥有不同分布不同数量的数据,且数据对其他人来说是黑盒的情况下,如何从FL中收益最大化。

本文贡献:
目标:

将具有相似数据分布的客户端分组在一个集群中,不访问私有数据,为每个集群训练模型。
主要思想:估计聚类标识和最大化服务器端推理相似性之间交替的策略。

  • 推理相似性的想法:服务器识别具有相似数据分布的客户端集群ID的方法
  • 可以构成联合和不联合的聚类,并且不需要先验地知道聚类的数量。对非IID和IID制度都有效

2.FEDERATED LEARNING WITH CLUSTERING

A. Overview of FLIS Algorithm

FLIS既能形成具有软成员ID的联合动态集群(DC),也能形成具有硬成员ID的不联合层次结构集群(HC)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
局部目标 L k L_k Lk 由局部数据的经验损失定义。每个客户端再起测试数据上产生最小损失的模型参数来估计其集群身份。

然后客户端执行 SGD 更新 T T T 步,将更新后的模型参数发送给服务器。

服务器接收所有参数后,利用推理相似性作为形成动态的一种方式形成 具有相似数据分布 的客户端集群。从同一集群中的客户端收集所有参数,对每个集群模型参数求平均

B. Clustering Clients

算法3中 介绍了 硬ID 形成不相交簇的概述。

目标是在不需要任何关于数据分布的先验知识的情况下,找到具有相似数据分布的客户端

假设服务器本身有一些真实或合成的数据,服务器对每个客户端模型进行推理,并获取一个 M ~ × N ~ \tilde M\times \tilde N M~×N~ 矩阵。
在这里插入图片描述
M ~ \tilde M M~为最后一个全连接层(分类层)的最后一个神经元数,
N ~ \tilde N N~ 服务器上的数据数
B k B_k Bk 是one-hot标签或者软标签
服务器使用 B k B_k Bk 构造邻接矩阵 A i , j A_{i,j} Ai,j

在这里插入图片描述
邻接矩阵 A i , j A_{i,j} Ai,j 取决于形成联合聚类是 interset 还是 disjoint 的聚类。

两种不同聚类方法:

  • interest聚类 FLIS(DC):定义一个硬阈值算子 Γ \Gamma Γ 应用于 A i , j A_{i,j} Ai,j
    A ~ i , j = Γ ( A i , j ) = S i g n ( A i , j − β ) \tilde A_{i,j} = \Gamma( A_{i,j}) = Sign( A_{i,j}-\beta) A~i,j=Γ(Ai,j)=Sign(Ai,jβ) , β \beta β 是阈值。

通过在 A ~ i , j \tilde A_{i,j} A~i,j 的每一行放入积极条目的索引,来进行interest簇的聚类。

FLIS(DC) 每一轮形成10个集群,等于每一轮参与的客户端数量。

  • FLIS(HC):通过算法3 中所示的分层聚类对客户端进行分组。
    FLIS(HC)形成的簇是固定的,依赖于HC的距离阈值,这个距离阈值是一个超参数。

在这里插入图片描述

3.EXPERIMENTS

A. Experimental Settings

Datasets and Models.

CIFAR10、SVHN和Fashion MNIST (FMNIST):使用Lenet-5 架构

CIFAR-100:使用Res-Net-9 架构

三种联邦异构设置:
非IID 标签倾斜:20%
非IID 标签倾斜:30%
非IID Dir :0.1

对比实验:
SOTA个性化FL:
LG-FedAvg 、 Per-FedAvg 、 IFCA 、 CFL

针对学习单个全局模型的方法:
FedAvg、 FedProx、FedNova、SCAFFOLD

Performance Comparison.
FLIS的两种聚类方案 DC HC 都表现优异

B. Communication Efficiency

    1. What is the Required Communication Cost/Round to Reach a Target Test Accuracy?:
      FLIS 达到预定准确率所需的通信轮数最少 。

通过将具有相似数据分布的客户端分组在相同的集群中,设置倾向于模拟IID设置,这意味着在更少的通信周期中更快地收敛。
在这里插入图片描述

C. Impact of Hyper-parameter Changes

  • The influence of the inference similarity threshold β
    CIFAR-10、SVHN和FMNIST的最佳性能分别在β = 0.3、β = 0.3和β = 0.5时实现。
    在这里插入图片描述

  • Benefit of more local updates.
    FLIS可以通过增加局部epoch进一步优化

D. The influence of β on clustering error

对于CIFAR-10和FMNIST上的非iid(20%),最小的聚类误差出现在β = 0.1, β = 0.3和β = 0.5,这反映在较短的误差条上。

FLIS根据推理相似性/响应对客户端进行分组。这意味着FLIS从一组相似的客户机中选择一个最相似的客户机子集。这样一来,FLIS通过接受更多的FN(假阴性)来消除一些聚类误差,从而提高了聚类精度。
在这里插入图片描述

E. Learning with Limited Communication

为所有个性化基线分配有限的通信轮预算为80,并报告了图4和图5中所有客户端与非iid标签倾斜通信轮数(30%)的平均最终测试精度

FLIS只需要30个通信轮就可以在CIFAR-10、SVHN和FMNIST数据集中收敛。
在这里插入图片描述
在这里插入图片描述

F . Generalization to Unseen Clients

目前还不清楚在联邦期间如何扩展其他个性化FL算法来处理不可见的客户端。

为了评估新客户个性化模型的性能,我们进行了一个实验,只有80%的客户参加了培训。余下20% 在最后加入,从服务器接受模型,并进行五次个性化处理。

新客户端的平均局部测试准确率如表IV所示。
表明FLIS允许训练过程中未见过的客户学习他们的个性化模型,并且具有较高的测试精度。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/yvuX8XVw.shtml

相关文章

Federated Learning with Non-IID Data 论文笔记

本文提出联邦学习中的由于Non-IID数据分布而精度降低是因为权重分散(weight divergence),而权重散度可以用搬土距离(EMD)量化,最后提出了一种策略:通过创建一个在所有边缘设备之间全局共享的数据…

论文分享:「FED BN」使用LOCAL BATCH NORMALIZATION方法解决Non-iid问题

‍ ‍ 本次分享内容基于ICLR 2021收录的一篇文章:《FED BN: FEDERATED LEARNING ON NON-IID FEATURES VIA LOCAL BATCH NORMALIZATION》,这篇论文主要探讨了使用LOCAL BATCH NORMALIZATION方法解决Non-iid问题。围绕这篇论文的分享将分为4个部分&#…

On the convergence of FedAvg on non-iid data

在这篇blog中我们一起来阅读一下 On the convergence of FedAvg on non-iid data 这篇 ICLR 2020 的paper. 主要目的 本文的主要目的是证明联邦学习算法的收敛性。与之前其他工作中的证明不同,本文的证明更贴近于实际联邦学习的场景。特别的, 所有用户…

Federated Learning with Non-IID Data

Federated Learning with Non-IID Data 论文中分析了FedAvg算法在Non-IID数据时,准确率下降的原因。并提出共享5%的数据可提高准确率。 论文笔记参考:https://blog.csdn.net/GJ_007/article/details/104768415 Federated Learning with Non-IID Data …

什么是TLB文件,怎样从dll文件中提取TYPEID信息?- IID

文章目录 1.TLB是什么?2.怎样从dll中导出TLB文件?3.怎样创建TLB文件?4.如何导入TLB5.作者答疑Com是windows平台提供的二进制互操作解决方案。如果给你一个dll,或者windows自带的dll,是否有可能提取其Com接口信息,答案是可以的。 1.TLB是什么? TLB文件是一个说明文件,通…

怎么实现联邦学习中的Non-IID?

联邦学习的一大特点就是数据分布是Non-IID,Non-IID意为非独立同分布。那么怎么在实验中实现non-iid呢?这是我这篇博客想讨论的问题。 part 1: 在堪称联邦学习“开山之作”FedAvg这篇论文中,是这样描述的: 数据集是MN…

【联邦学习】联邦学习量化——non-iid数据集下的仿真

文章目录 改进项目背景量化函数的改进non-iid数据集的设置Fedlab划分数据集的踩雷 改进项目背景 在前面的项目中,虽然对联邦学习中,各个ue训练出来的模型上传的参数进行了量化,并仿真的相关结果。但是仍有一些俺不是非常符合场景的情况&…

「隐语小课」联邦学习之Non-IID问题

更多干货内容,请移步公众号:隐语的小剧场 一、引言 本文针对联邦学习中遇到的Non-IID问题进行探讨,介绍Non-IID产生的原因,分析Non-IID对联邦学习的影响,以及调研了近年来针对该问题的解决方案,并进行分类…

联邦学习中的non-iid总结

最近研究联邦学习(federated learning,FL)中的non-iid的解决办法时遇到瓶颈,写成博客将最近的工作总结一下,希望有大佬看到这篇博客不吝赐教。 什么是non-iid 先从维基百科引出独立同分布的定义: 在概率论…

IID 与 Non-IID

数据独立同分布(Independent Identically Distribution,IID) 数据与数据之间都是独立的,但满足同一个分布。(独立:一个数据的出现不会影响另一个数据) 数据分布描述的是数据的统计情况&#x…

dy设备deviceid iid注册分析

清楚缓存,重新打开app, 点击同意按钮,会触发设备注册; 很明显是一个post包,device_register 可以看到请求体加密了 那么 请求体是什么呢? 很老版本思路:都是直接明文注册 较老版本思路:在反编译…

Redis 设计与实现: redisObject 数据结构,以及 Redis 的数据类型

redisObject 数据结构,以及 Redis 的数据类型 redisObject 是 Redis 类型系统的核心, 数据库中的每个键、值,以及 Redis 本身处理的参数, 都表示为这种数据类型。 redisObject 的定义位于 redis.h : /** Redis 对象…

(五)、Redis的RDB持久化---Redis设计与实现读书笔记

两个用于生成RDB文件的命令 save:会阻塞Redis服务器进程,直到RDB文件创建完毕,在阻塞期间,服务器不能处理任何命令请求bgsave:会派生出一个子进程,然后由子进程负责创建RDB文件,服务器经常(父进…

《redis设计与实现》 读书笔记

《redis设计与实现》 作者:黄健宏 读书笔记 一、前言 什么是redis: Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。简而言之redis就是放在远程网络上的一个key-va…

《Redis设计与实现》阅读:Redis底层研究之简单动态字符串SDS

除仅用于字符串字面量的情况外,对于可以被修改值的字符串的表示,Redis底层并没有采用C语言传统的字符串表示,即以空字符结尾的字符数组,而是采用专门为其设计的简单动态字符串作为其默认字符串表示,其英文全称为Simple…

Redis秒杀功能设计与实现

前言 抢购问题不仅是电商类项目中一个重要的业务,也是许多开发人员在进阶过程中绕不开的问题,关于抢购,如果理清了前后的逻辑和里面涉及到的几个关键性的问题,问题就迎刃而解了 抢购中的几个常见问题 如何设计抢购功能?(表结构,以及整体的抢购思路)不借助中间件如何实…

Redis设计与实现阅读总结(一)数据结构和对象

Redis设计与实现阅读总结(一)数据结构和对象 最近团队几个人和我聊了下,加上我自己平时的反思,我发现自己问题确实很多 其中一个问题就是,自己学习东西没有系统性,没有总结 这次的博客算是一个总结的开始。…

(六)、Redis的AOF持久化---Redis设计与实现读书笔记

redisServer关于AOF的数据结构 /***Redis 服务器类*/ struct redisServer{...//AOF缓存区sds aof_buf;... }当服务器执行完一个写命令后,会一协议格式将被执行的写命令追加到服务器类的aof_buf缓存区的末尾。 AOF文件的写入、同步 写入、同步概念 写入&#xff…

Redis | 第8章 发布订阅与事务《Redis设计与实现》

第8章 发布订阅与事务 前言1. 发布订阅1.1 频道的订阅与退订1.2 模式的订阅与退订1.3 发送消息1.4 查看订阅消息 2. 事务2.1 事务的实现2.2 WATCH 命令的实现2.3 事务的 ACID 性质 最后 前言 参考资料:《Redis设计与实现 第二版》; 第三部分为独立功能…

AOF -- Redis 设计与实现

Redis 分别提供了 RDB 和 AOF 两种持久化机制: RDB 将数据库的快照(snapshot)以二进制的方式保存到磁盘中。AOF 则以协议文本的方式,将所有对数据库进行过写入的命令(及其参数)记录到 AOF 文件&#xff0c…