Federated Learning with Non-IID Data 论文笔记

article/2025/10/14 2:01:52

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

论文地址:Federated Learning with Non-IID Data


  联邦学习使资源受限的边缘计算设备(如移动电话和物联网设备)能够学习用于预测的共享模型,同时保持训练数据的本地性。这种分散的训练模型方法提供了隐私、安全、监管和经济效益。在这项工作中,我们关注的是当本地数据是Non-IID时,联邦学习的统计挑战。我们首先看到,对于为高度倾斜的Non-IID数据训练的神经网络来说,联合学习的准确性显著降低,降低高达55%,其中每个客户端设备只对一类数据进行训练。我们进一步证明,这种精度降低可以用权重分散来解释,权重分散可以通过每个设备上的类分布和总体分布之间的搬土距离(EMD)来量化。作为解决方案,我们提出了一种策略,通过创建一个在所有边缘设备之间全局共享的数据子集来改进Non-IID数据的训练。实验表明,对于只有5%的全局共享数据的CIFAR-10数据集,准确率可以提高30%。


文章目录

  • 一、introduction
  • 二、FedAvg on Non-IID Data
  • 三、Weight Divergence due to Non-IID Data
    • 1.Mathematical demonstration
    • 2 Experimental Validation
  • 四、Weight Divergence due to Non-IID Data


一、introduction

  近年来,移动设备数量和由这些设备生成的数据大大增加,但是这些数据由于隐私、安全、监管或者经济,这些数据不能传输到服务器。因此提出了联邦学习,使得数据可以在本地进行训练并共享模型。但联邦学习有两个挑战:

1.联邦学习的通信。如如何传递深层网络权值,由网络连通性、功耗和计算限制而导致的意外丢失或同步延迟。
解决办法:开发了一个高效的安全聚合协议,允许服务器从移动设备执行高维数据的计算;提出结构化更新和草图更新,将通信成本降低两个数量级;提出了深度梯度压缩(DGC)将通信带宽降低两个数量级来训练高质量的模型。

2.每个边缘设备上的数据是IID。
解决办法:提出了多任务学习(MTL)框架,并开发了MOCHA来解决MTL中的系统挑战;FedAvg可以处理某些Non-IID数据。

  对于高度倾斜的Non-IID数据,FedAvg训练的卷积神经网路精度大大降低,对于MNIST,CIFAR-10和关键字识别(KWS)数据集的准确率分别高达11%、51%和55%。对于这问题,在第三节指出精度降低是因为权重分散,权重分散量化了在初始权重相同的情况下两个不同训练过程中权重的差异。然后作者证明了训练中的权重散度是由每个设备(或客户端)上的类的分布和总体分布之间的搬土距离所限定的。这个界限受学习速率、同步步数和梯度的影响。最后,在第4节中,我们提出了一种数据共享策略,通过分配少量的全局共享数据(包含每个类中的示例)来改进非IID数据的FedAvg。这就需要在准确性和集中性之间进行权衡。实验表明,在CIFAR-10上,如果我们愿意集中和分发5%的共享数据,则准确率可以提高30%。


二、FedAvg on Non-IID Data

数据集
1.MNIST
2.CIFAR-10
3.Speech commands datasets。该数据集由35个单词组成,每个单词持续1秒。为了使其一致,我们使用一个包含10个关键字的数据子集作为关键字定位(KWS)数据集。对于每个音频片段,我们提取了10个MFCC特征,每帧30ms,步长为20ms,生成50x10个特征,用于神经网络训练。

数据分布设置
  训练集被均匀地分为10个客户机。对于IID设置,每个客户端随机分配10个类的统一分布。对于Non-IID设置,数据按类排序并划分为两种极端情况:(a)1类非IID,每个客户端仅从单个类接收数据分区;(b)2类非IID,其中排序的数据被分成20个分区,每个客户端从2个类中随机分配2个分区。

参数设置
B,batch 大小;E,本地epoch的数量;
对于MMIST:B=10或100,E=1,learning rate=0.1,dacay rate=0.995;
对于CIFAR-10:B=10或100,E=1和5,learning rate=0.1,dacay rate=0.992;
对于KWS:B=10和50,E=1和5,learning rate=0.05,dacay rate=0.992
对于SGD: 学习率和衰减率是相同的,但B是10倍大。这是因为FedAvg的全局模型在每次同步时平均分布在10个客户机上。

实验结果
对于IID实验,三个数据集的FedAvg收敛曲线和SGD的大部分相同。
对于Non-IID实验,FedAvg模型的精度大幅度降低。其中1类Non-IID降得最多。使用更多的Epoch(E-5)不能减少降低。FedAgv对Non-IID数据进行预训练时,精度仍然下降。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


三、Weight Divergence due to Non-IID Data

  测试精度取决于训练的权重,另一种比较FedAvg和SGD的方法是在相同的权重初始化的情况下,查看相对于SGD的权重的差异。它被称为重量发散,可通过以下公式计算:
在这里插入图片描述
如图下所示,随着数据变得越来越Non-IID,从IID到2级Non-IID再到1级Non-IID,所有层的权重发散都会增大。
在这里插入图片描述

1.Mathematical demonstration

下面给出权重分散的数学分析。给定紧致空间 X X X,类别空间 Y = [ C ] Y=[C] Y=[C],其中 [ C ] = 1 , . . . , C [C]={1,...,C} [C]=1,...,C。点对 x , y {x,y} x,y的分布是 P P P。函数 f : X → S f:X \rightarrow S f:XS X X X到对应概率单纯型 S S S 的映射,其中 S = { z ∣ Σ i = 1 C z i = 1 , z i ≥ 0 , ∀ i ∈ [ C ] } S=\{{z|\Sigma^{C}_{i=1}z_{i}=1,z_{i}\geq 0,\forall i\in[C]}\} S={zΣi=1Czi=1,zi0,i[C]} f i f_{i} fi表示第 i 类的概率, f f f 在假设类别 w w w上参数化处理,例如神经网络的权重。基于广泛应用的交叉熵损失损失函数 l(w) 为:
在这里插入图片描述
忽略泛化误差,直接优化种群损失,则学习问题变为:
在这里插入图片描述
使用 SGD 循环优化计算 w 值。中心化的 SGD 执行以下更新, w t ( c ) w^{(c)}_{t} wt(c)表示中央服务器第i次更新后的权重。
在这里插入图片描述
在联邦学习问题中,假设有 K 个客户端,在每个客户端本地执行单独的 SGD 优化。 n t n_{t} nt表示k客户端的本地数据集, w t k w_{t}^{k} wtk表示客户端k第t轮更新后的权值。
在这里插入图片描述
每执行 T 轮优化后在中央服务器端进行一次同步处理,其中 w m T ( f ) w^{(f)}_{mT} wmT(f)表示全局模型第T次同步后的权值
在这里插入图片描述
w m T ( f ) w^{(f)}_{mT} wmT(f) w m T ( c ) w^{(c)}_{mT} wmT(c)之间的权重分散可以用下图理解。如果数据集是IID,对于每个客户端K,本地的权值分散 w m T ( f ) w^{(f)}_{mT} wmT(f)和中央服务器的权值分散 w m T ( c ) w^{(c)}_{mT} wmT(c)的差距是很小的。如果数据是Non-IID,由于数据分布问题,客户端权重分散和中央服务器的权值分散的差距随着迭代次数的增加会加大。
在这里插入图片描述

为了正式约束 w m T ( f ) w^{(f)}_{mT} wmT(f) w m T ( c ) w^{(c)}_{mT} wmT(c)之间的权重分散,作者提出以下建议:

Proposition 3.1. 对于 K 个客户端,每个客户端都有 n ( k ) n^{(k)} n(k)个 IID 样本,第 k 个客户端数据分布为 p ( k ) p^{(k)} p(k)。如果有对于每一类 i 都为 lambda-Lipschitz 的
每隔 T 步骤进行一次同步处理,则 m 次同步后的权重散度有如下不等式
在这里插入图片描述
Remark3.2. 第m次同步后权重分散主要来自两个地方。1.第m-1次同步后的权重分散;2.客户端 k 上数据分布的概率距离相对于实际整体分布的权重散度。

Remark 3.3. 第(m-1) 次同步后的权重分散以下式的强度增强:在这里插入图片描述
因为 a ( k ) ≥ 0 a^{(k)} \geq0 a(k)0,所以上式 ≥ 0 \geq0 0。因此,如果联邦学习中不同的客户端从不同的初始 权值开始,那么即使数据遵循 IID 仍然会遇到较大的权重差异,从而导致精度下降。

Remark 3.4. 当所有客户端从相同的权值初始化,那权值分散的的根本原因是在这里插入图片描述
该值为客户端 k 上的数据分布和中央服务器端总体分布之间的搬土距离(EMD)。EMD 受学习速率、同步前步数 T 和梯度的影响。

2 Experimental Validation

  该实验设置个8个EMD值,每个EMD生成5种分布,计算这种5分布权重分散的平均值和变化。

  WeightDivergencevs. EMD 对于这三个数据集,每一层的权重散度随着EMD的增加而增加,如下图所示。对于每个数据集上的所有SGD、IID和Non-IID实验,初始权重相同。因此,根据Remark3.2,1次同步后的权重散度不受(m−1)次权值分散的影响,因为当m=1时, ∣ ∣ w m − 1 f − w m − 1 c ∣ ∣ ||w_{m-1}^{f}-w_{m-1}^{c}|| wm1fwm1c为0。因此,图4中的结果支持Proposition 3.1,即权重发散的界受EMD的影响。这种影响在第一个卷积层和最后一个完全连接层中更为显著。
在这里插入图片描述

  Test Accuracy vs. EMD 对于每个EMD,在相同的5个分布上计算测试精度的平均值和标准差,结果汇总在下表中。在这里插入图片描述

  对于这三个数据集,随着数据 Non-IID 程度加强,下降速度也越来越快。因此,在平衡IID数据和提高FedAvg的准确性之间存在一种权衡。

  为了更仔细地观察测试精度变化,当EMD=1.44时,箱线图显示了5次运行的测试精度。此外,表2显示,MNIST、CIFAR-10和KWS的最大变化分别小于0.086%、2%和1%。因此,精度受EMD的影响,而不是受潜在分布的影响。结果表明,在给定数据分布的情况下,EMD可以用来估计FedAvg的精度。
在这里插入图片描述


四、Weight Divergence due to Non-IID Data

  从上图,当EMD超过一定阈值时,测试精度急剧下降。作者提出一个数据共享策略:由各类数据的统一分布组成的全局共享数据集G集中在云中。在FedAvg初始化阶段,将用数据集G的模型和G的随机 α \alpha α部分分发给每个客户端。每个客户机的本地模型根据G的子集和私有数据进行训练。然后,云从客户端聚合本地模型,用FedAvg训练一个全局模型。
在这里插入图片描述
这个策略有两个参数调节准确度:
1.测试准确度和G大小之间的权衡, β = ∣ ∣ G ∣ ∣ ∣ ∣ D ∣ ∣ ∗ 100 % \beta=\frac{||G||}{||D||}*100\% β=DG100%,其中 D D D是全部客户端数据的大小。
2.测试精度和 α \alpha α之间的权衡。 α \alpha α为分发给一个客户端的数据占整个共享数据G的比例。

  本实验中将 CIFAR-10 训练集分为两部分,其中客户端 D 包含 40000 个样本数据,剩余部分 H 包含 10000 个样本。D 划分为 10 个 1 类 Non-IID 数据分区,H 生成 10 个随机的(belta=2.5% 至 25%) G s ′ G^{'}_{s} Gs子集。实验结果见下图
在这里插入图片描述
  随着 belta 值的增大,测试准确度不断提升,最高达到 78.72%。即使 belta 取值较小( β \beta β=10%),对于 1 类 Non-IID 数据的准确度也能达到 74.12%,而在没有使用数据共享策略的情况下,准确度仅为 44%。此外,图 7(b)的实验表明,在进行数据分发时并不需要将 G 整体分发到客户端,相反,只需要将 G 的一个随机部分分发给每个客户端就可以获得很好的效果。


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

相关文章

论文分享:「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…

Redis设计与实现学习总结

Redis设计与实现学习总结 本文主要对Redis的设计和实现原理做了一个介绍很总结,有些东西我也介绍的不是很详细准确,尽量在自己的理解范围内把一些知识点和关键性技术做一个描述。如有错误,还望见谅,欢迎指出。 这篇文章主要还是参…