联邦学习论文阅读:2018 Federated learning with non-IID data

介绍

这是一篇2018年挂在arXiv上的文章,是一篇针对FL中数据Non-IID的工作。
作者发现,对于高度Non-IID的数据集,FedAvg的准确性下降了55%。
作者提出了可以用权重散度(weight divergence)来解释这种性能下降,这个权重散度用各client上的数据类别分布与总体分布之间的EMD(earth mover’s distance)来量化。

关于什么是EMD,gpt这样说:
EMD(Earth Mover’s Distance,即地球搬运距离)是一种度量两个分布之间差异的方法。其基本思想来源于土方工程,即计算将一个堆土变成另一个堆土所需的最小工作量。
具体来说,EMD用于度量两个概率分布之间的差异,特别是在多维空间中。假设有两个概率分布P和Q,它们分别由一组加权点组成,EMD计算的是将分布P转换为分布Q所需的最小代价。
计算EMD的一般步骤如下:

  1. 定义分布:两个分布P和Q分别由若干个点和其对应的权重(或质量)组成。
  2. 构建流量矩阵:确定从分布P的每个点到分布Q的每个点的流量(即将多少质量从一个点移动到另一个点)。
  3. 计算流动成本:每个点的流动成本通常是两个点之间的距离乘以流量。
  4. 优化流动方案:通过优化算法(如线性规划),找到总流动成本最小的方案,即EMD。

数学上,EMD可以被表述为一个线性规划问题。其目标函数是:

EMD ( P , Q ) = min ⁡ ∑ i = 1 m ∑ j = 1 n f i j d i j \text{EMD}(P, Q) = \min \sum_{i=1}^m \sum_{j=1}^n f_{ij} d_{ij} EMD(P,Q)=mini=1mj=1nfijdij
其中,f_{ij}表示从分布P的第i个点到分布Q的第j个点的流量,d_{ij}表示这两个点之间的距离。约束条件包括:

  • 从P的每个点流出的总流量不能超过该点的权重。
  • 到达Q的每个点的总流量不能超过该点的权重。
  • 所有流量的总和应等于两个分布总权重的较小值。

EMD在计算机视觉、图像处理和模式识别等领域中有广泛应用,特别是在图像检索中,用于比较不同图像的特征分布。

作者提出了一个策略用于解决Non-IID,那就是server来创建一小部分共享数据集来提升模型acc。这显然是一种centralization-accuracy的trade-off。

实验

作者用了三个数据集:MNIST、Cifar-10、Speech Commands dataset(一个语音数据集)划分出的KWS数据集。这三个数据集的output classes都是10。
数据集划分方面,做了三种划分:

  1. iid:均匀分配给10个client;
  2. non-iid(1):每个client只有一类的数据,总共10个client;
  3. non-iid(2):每个client有两类的数据,总共10个client;

image.png
根据上图可知以下实验结论:
1、 IID数据下联邦学习和正常中心式的SGD训练结果基本一致;
2、 non-IID 会导致准确度下降,而且Non-IID(1)相对Non-IID(2)下降的更多,减少本地训练epoch增加通信频率可以一定程度降低损失,但是作用不大;
3、一个有意思的点是,用SGD预训练的模型刚刚开始结果就不错,但在CIFAR-10上在 non-IID 数据上训练还会降低精度;

分析

作者给出了权重散度weight divergence的定义公式:
weight divergence = ∣ ∣ w FedAvg − w SGD ∣ ∣ ∣ ∣ w SGD ∣ ∣ \text{weight divergence}=\frac{||w^{\text{FedAvg}}-w^{\text{SGD}}||}{||w^{\text{SGD}}||} weight divergence=∣∣wSGD∣∣∣∣wFedAvgwSGD∣∣
image.png
接下来,作者分析weight divergence分歧的根本原因是client的数据分布与总体数据分布之间的距离,这个距离可以用EMD来评估。
image.png
然后就是一顿数学推导,得到这样一个公式:
image.png
上图中圈出的两部分就是误差的两个来源,分别是:

  1. 之前累计的梯度误差;
  2. 本次迭代产生的分布误差;

此外,作者根据公式得出两个结论:

  1. 开始训练时,各client的初始化权重最好一样;
  2. EMD被定义为image.png

接下来,作者探究了EMD与weight divergence和test acc的关系:
image.png
image.png

改进方法

作者提出让server创建一个全局可共享的小部分数据集给各client。实验表明,仅用5%的全局数据,可以提高test acc约30%。
此外,server首次分发给client的模型可以是在这小部分数据集上预训练过的。
image.png
如上图所示,整个过程涉及到两个trade-off:

  1. test acc和 β = ∣ ∣ G ∣ ∣ ∣ ∣ D ∣ ∣ × 100 % \beta=\frac{||G||}{||D||}\times 100\% β=∣∣D∣∣∣∣G∣∣×100%的trade-off,其中G为全局可共享数据集的样本量,D为所有client的样本量和。
  2. test acc和 α \alpha α的tarde-off,其中 α \alpha α为server分给client的样本量与server全局可共享数据集的比值。

作者表示,这个策略只用于整个训练过程初始化的时候,所以通信成本不是主要问题,此外,全局可共享的数据集和client数据集是分开了,不会有隐私威胁。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/852137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis跳表

Redis跳表 跳表是一种有序数据结构,它通过在每个节点维持多个指向其他节点的指针,从而达到快速访问节点的目的 跳表支持平均O(logN),最坏O(N)复杂度的节点查找,还可以通过顺序性操作…

【SCAU数据挖掘】数据挖掘期末总复习题库简答题及解析——上

1.K-Means 假定我们对A、B、C、D四个样品分别测量两个变量,得到的结果见下表。 样品 变量 X1X2 A 5 3 B -1 1 C 1 -2 D -3 -2 利用K-Means方法将以上的样品聚成两类。为了实施均值法(K-Means)聚类,首先将这些样品随意分成两类(A、B)和(C、…

Ubuntu下使用`sysbench`来测试CPU性能

使用 sysbench 来测试 CPU 性能是一个常见的方法。sysbench 是一个模块化的跨平台基准测试工具,常用于评估系统的各个组件(例如 CPU、内存、I/O 子系统等)的性能。 下面是如何使用 sysbench 来测试 CPU 性能的基本步骤: 1. 安装…

车载电子电气架构 - 智能座舱技术及功能应用

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

论文解读——《I2EDL: Interactive Instruction Error Detection and Localization》

一、研究背景 视觉与语言导航(VLN)是一个AI领域的研究任务,旨在开发能够按照自然语言指令在三维空间中导航到指定位置的智能体。这项任务与人类的日常活动——如按照口头指示到达某个地点——十分相似,对于推动人机交互的自然性和…

【智能算法应用】基于混合粒子群-蚁群算法的多机器人多点送餐路径规划问题

目录 1.算法原理2.数学模型3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】粒子群算法(PSO)原理及实现 配餐顺序: 采用混合粒子群算法 || 路径规划: 采用蚁群算法 2.数学模型 餐厅送餐多机器人多点配送路径规划&…

linux系统——wget命令

wget命令可以用于下载指定的url地址文件,支持断点续传,支持ftp,http协议下载,在下载普通文件时,即使网络出现故障,依然会不断尝试下载 wget命令直接加url地址 使用-o参数可以将下载文件改名,-c…

AXI Quad SPI IP核中的STARTUPEn原语参数

启动STARTUPEn Primitive (原语)参数在 FPGA的主 SPI模式下非常有用。当你启用这个参数时,对于 7 系列设备,STARTUPE2 原语会被包含在设计中;而对于 UltraScale™ 设备,则是 STARTUPE3 原语。这些原语在 FP…

CentOS手工升级curl记

笔者一台服务器装有 CentOS 7.9 系统,运行 curl -V 查询 curl 的版本是 7.29,这个老版本的 curl 不支持 HTTP/2 协议。为了使 curl 能连接HTTP/2,curl 必须升级到至少7.46.0版本以上。查询 curl的官网得知当前最新版本是 8.8.0,然…

【智能算法应用】基于粒子群算法的多尺度Retinex图像去雾方法

目录 1.算法原理2.粒子群算法的多尺度Retinex图像去雾方法3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】粒子群算法(PSO)原理及实现 多尺度Retinex算法 在Retinex算法中,雾化图像的形成可以总结为入射光和反射光的乘积: I ( x…

第 3 章:Spring Framework 中的 AOP

第 3 章:Spring Framework 中的 AOP 讲完了 IoC,我们再来聊聊 Spring Framework 中的另一个重要内容——面向切面编程,即 AOP。它是框架中众多功能的基础,例如声明式事务就是依靠 AOP 来实现的。此外,Spring 还为我们…

创邻科技张晨:期待解锁图技术在供应链中的关联力

近日,创邻科技创始人兼CEO张晨博士受浙江省首席信息官协会邀请,参加数字化转型与企业出海研讨会。 此次研讨会旨在深入探讨数字经济时代下,企业如何有效应对成本提升与环境变化所带来的挑战,通过数字化转型实现提效增益&#xff…

4090显卡 安装cuda 11.3 版本

文章目录 cuda 安装安装过程中会要求选择安装的内容更改cuda地址到你安装的地方 cuda 安装 cuda官网寻找cuda11.3 版本 https://developer.nvidia.com/cuda-11.3.0-download-archive?target_osLinux&target_archx86_64&DistributionUbuntu&target_version20.04&…

yolo-inference多后端+多任务+多算法+多精度模型 框架开发记录(python版)

先贴出github地址,欢迎大家批评指正:https://github.com/taifyang/yolo-inference 不知不觉LZ已经快工作两年了,由于之前的工作内容主要和模型部署相关,想着利用闲暇时间写一些推理方面的经验总结,于是有了这个工程。其…

边缘计算网关在智慧厕所远程监测与管理的应用

随着智慧城市建设的不断深入,城市公共设施的智慧化管理成为了提升城市品质和居民生活质量的关键建设。公厕作为城市基础设施的重要组成部分,其管理效率和卫生状况直接影响着市民的日常生活体验。在公厕设施建设背景下,边缘计算网关技术的应用…

【JS重点09】JS闭包(面试重点)

本文核心目标:阅读完本文能说出什么是闭包,闭包作用以及如何利用闭包 一:闭包概览 1 闭包是什么 闭包(closure)是一个函数以及其捆绑的周边环境状态(lexical environment,词法环境&#xff09…

如何将接口返回/n替换为react.js中的换行符

将每个/n替换为ReactJS中的一个<br>标记。cpa_ability为后端返回的字段名

时间类:Calendar

一.Calendar概述 1.Calendar代表了系统当前时间的日历对象,可以单独修改,获取时间中的年&#xff0c;月&#xff0c;日 2.细节:Calendar是一个抽象类,不能直接创建对象。 二.获取Calendar日历类对象的方法 // 会根据系统的不同时区来获取不同的日历对象 // 会根据系统的不同…

6.每日LeetCode-数组类,找到所有数组中消失的数字(Go)

题目 448找到所有数组中消失的数字.go 给你一个含 n 个整数的数组 nums &#xff0c;其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字&#xff0c;并以数组的形式返回结果。 示例 1&#xff1a; 输入&#xff1a;nums [4,3,2,7,8,2,…

双喜临门 | 两大权威报告发布,开源网安实力登榜

近日&#xff0c;开源网安凭借出色表现和实力&#xff0c;荣获两大荣誉&#xff1a;入选《中国信息安全》杂志社联合数说安全发布的《2024 年中国金融行业网络安全市场全景图》&#xff0c;并登榜安在发布的《2024安在新榜网络安全产品“大众点评”百强榜》。 2024年中国金融行…