联邦学习中的数据非独立同分布问题

news2024/11/17 10:43:50

联邦学习中的数据非独立同分布(Non-IID)

从集中式机器学习到联邦机器学习

  1. 集中式模型:传统的集中式机器学习是将所有的数据收集到服务器端,在服务器端统一进行模型训练和处理,并将预测的结果分发给用户。但将数据上传到服务器具有隐私和安全风险,而且在服务器端统一进行训练浪费了终端的算力。,
  2. 分布式模型:将数据集分为多个子集,云端将模型和不同子集分发给各个终端,终端根据本地数据对模型进行训练和预测,可以加快训练速度,但每个终端只能看到部分数据集,导致模型的泛化能力下降。
  3. 联邦学习模型:数据集分布在多个设备或计算节点上,每个节点有自己的数据,并子啊本地进行训练,然后各个节点将自己训练的参数上传给中央服务器,中央服务器将参数聚合形成一个全局模型参数。联邦学习保证数据不离开本地,也充分利用了终端设备的算力,但也引入了新的问题。
    在这里插入图片描述

数据的独立同分布

  1. 独立性:采样样本之间相互独立,互不影响。比如扔骰子,假如只是看每次扔到的点数大小,每次扔到几就是几,它们之间是相互独立的,但要是看连续两次的和大小,那么第一次扔到的结果和第二次的结果是关联的他们不符合独立性的要求
  2. 同分布:在概率空间中不论进行几次抽样,他们都服从同一个分布。当扔骰子时,每次扔到任何一个数字的概率都是1/6。

  在传统的机器学习中,可以把训练集和测试集看成两个客户端,在之前的训练中,我们都是假设这两个客户端是IID的,这是通过训练数据集获得的模型在测试数据集上也能表现较好的重要保障。
在这里插入图片描述

  比如在一个图像分类数据集cifar-10中,共有6W张照片分为10类,在传统的图像分类实验中,数据集采用均匀划分的5w个作为训练集,1w个样本作为测试集。因为训练集和测试集都是均匀划分的,你在这两个集合中随便抽取一个样本,它属于其中一类的概率都是1/10。这就是IID。
  假设现在我们现在让10个人去随心所欲去收集一个fake Cifar-10数据集,也不去限制他每一类要收集多少张,最后也是合起来一共6w张,然后我们再非常随机的进行训练集和测试集的划分。比如训练集中,“ship”占训练集的1/5。而我们在测试集中,“ship”发现只占“1/20”。如果我们将这些类进行投票,并且绘制在一个柱状统计图中。测试集一眼看过去的曲线趋势和训练集的曲线趋势完全不一样,所以训练集和测试集99.999999999%概率不是独立同分布的。

数据的非独立同分布

  在传统的应用场景中,数据存储在中心,机器学习可以获取所有数据的整体信息,但是在联邦学习中,由于数据仅存储在本地,导致数据之间分布的不一致性。在联邦学习中,数据的非独立同分布具体分为以下几种情况:

  1. Feature Distribution skew:同一类别有不同的表现形式,比如在手写体识别的数据集中,同样的数字,不同的人写法不同
  2. Label distribution skew:不同的数据标签有不同的表现形式,比如疾病案例数据,一些医院在几种特定的疾病上更加专业,便会有更多相关患者的记录。
  3. Same label,different features,对于不同的客户,相同的标签y可能有不同的特征,比如不同地区的建筑物存在很大差别
  4. Same features,different label:由于个人喜好,训练数据中相同的特征向量可以有不同的标签,比如反映情绪的标签具有个人和区域差异。
  5. Quantity skew or unbalancedness :不同的客户端可以拥有非常不同的数据量。
      不管是那种情况的非独立同分布,每个客户端中的数据分布不能代表全局数据分布,这会影响联邦学习的收敛性。

针对 Non-IID数据的研究

  1. 文章《Federated Learning with Non-IID Data》测试了IID数据和Non-IID数据之间模型性能的差异,发现性能大幅下降
    在这里插入图片描述

为了找到原因,文章通过定义一个Weight divergence来衡量Non-IID的偏差程度
在这里插入图片描述
在这里插入图片描述

  1. 许多研究对模型更新和模型聚合做了改进,如何使得模型更加Robust和Efficient成为了Non-IID数据研究的一大热点《Federated Learning on Non-IID Data Silos: An Experimental Study》对一些解决Non-IID问题的方法进行了实验研究
    在这里插入图片描述

  2. 数据的 Non-IID 问题在联邦学习中依旧是个开放性问题,对这方面的研究还在继续。

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

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

相关文章

树莓派ubuntu上配置miniconda并创建虚拟环境

树莓派安装ubuntu和miniconda配置 本文所配置环境为:树莓派4B安装的系统为ubuntu 22 server,所配置的miniconda版本为4.2,python版本3.8。在此之前要清楚树莓派4B已经将处理器从arm架构换成了aarch64架构,所以能够使用最新的aarc…

基于SpringBoot的音乐网站

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 歌曲分类管理 歌曲信息管理 轮播图管理 歌曲信息 歌曲评论 用户注册 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施…

你必须知道的数据查询途径!!

在当今信息爆炸的时代,我们每天都会面临海量的数据和信息。如何在这些繁杂的信息中快速、准确地找到自己需要的内容,也是当代一个非常重要的技能。下面,我将介绍几种你必须知道的企业数据信息查找途径。 ​ 1. 搜索引擎 搜索引擎是我们日常中…

巴州阳光公益人的国庆

原创 何素平 巴州阳光志愿者服务协会 2023-10-10 15:01 发表于新疆 在中华人民共和国成立74周年之际,巴州阳光公益机构的社工志愿者在党支部的组织下,抒发爱国之情,砥砺强国之志,共同祝愿国家繁荣富强,祝福各族人民幸…

JShaman JavaScript混淆加密工具,中英版本区别

JShaman JavaScript混淆加密工具,中英版本区别如下。 中文版,配置简单,网站功能多,支持代码提交、文件上传、WebAPI; 英文版,配置项较多,网站功能简约,不支持文件上传,…

vue接入高德地图获取经纬度

&#x1f90d;step1:高德地图开放平台&#xff0c;根据指引注册成为高德开放平台开发者&#xff0c;并申请 web 平台&#xff08;JS API&#xff09;的 key 和安全密钥; &#x1f90d;step2:在html引入安全密钥&#xff08;获取经纬度用&#xff0c;不然会报错&#xff09; <…

3款国产办公软件,不仅好用,还支持linux国产操作系统

当提到国产办公软件并支持Linux国产操作系统时&#xff0c;以下是三款备受好评的软件&#xff1a; 1. WPS Office&#xff08;金山办公套件&#xff09; WPS Office是中国知名的办公软件套件&#xff0c;也是一款跨平台的应用程序。它包含文字处理、表格编辑和演示文稿等常见办…

「新房家装经验」客厅电视高度标准尺寸及客厅电视机买多大尺寸合适?

客厅电视悬挂高度标准尺寸是多少&#xff1f; 客厅电视悬挂高度通常在90~120厘米之间&#xff0c;电视挂墙高度也可以根据个人的喜好和实际情况来调整&#xff0c;但通常不宜过高&#xff0c;以坐在沙发上观看时眼睛能够平视到电视中心点或者中心稍微往下一点的位置为适宜。 客…

cesium图标漂移分析与解决

漂移现象如下 什么是图标漂移&#xff1f; 随着视野改变&#xff0c;图标相对于地面发生了相对位置的变化 让人感觉到图标有飘忽不定的感觉 原因分析 图标是静止的&#xff0c;它的位置在世界坐标系中是绝对的、静止的。 漂移大部分的原因是&#xff1a; 透视关系发生了错…

漏电继电器 LLJ-630F φ100 导轨安装 分体式结构 LLJ-630H(S) AC

系列型号&#xff1a; LLJ-10F(S)漏电继电器LLJ-15F(S)漏电继电器LLJ-16F(S)漏电继电器 LLJ-25F(S)漏电继电器LLJ-30F(S)漏电继电器LLJ-32F(S)漏电继电器 LLJ-60F(S)漏电继电器LLJ-63F(S)漏电继电器LLJ-80F(S)漏电继电器 LLJ-100F(S)漏电继电器LLJ-120F(S)漏电继电器LLJ-125F(S…

【工具】SSH端口转发管理器,专门管理SSH Port Forwarding

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 开源代码看这里&#xff1a;http://xfxuezhang.cn/index.php/archives/1151/ 背景介绍 有时候需要用到ssh的端口转发功能。目前来说&#xff0c;要么是cmd里手敲指令&#xff0c;但每次敲也太麻烦了&#xff1b;或…

烟感监控小技巧,这才是最高级的方法!

商业大厦是现代城市中不可或缺的一部分&#xff0c;它们承载着大量的人员和财产。因此&#xff0c;火灾安全一直是商业大厦管理者和业主们极为关注的重要议题。 因此&#xff0c;为了及时发现并迅速应对火灾威胁&#xff0c;商业大厦越来越倾向于采用高效、智能的烟感监控系统。…

springboot-配置文件优先级

官方文档 https://docs.spring.io/spring-boot/docs/2.7.16/reference/htmlsingle/#features.external-config Spring Boot允许外部化配置&#xff0c;这样就可以在不同的环境中使用相同的应用程序代码。您可以使用各种外部配置源&#xff0c;包括Java属性文件、YAML文件、环境…

PTA 7-4 包装机(单调栈)

题目 一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道&#xff0c;放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时&#xff0c;活塞向左推动&#xff0c;将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时&#xff0c;机械手将抓取筐顶部的一件物品&…

ssti 常见注入模块利用

文件读取 python脚本&#xff08;这里以重庆橙子科技jinjia2模板注入为例&#xff09; import requests url http://39.104.177.130:18080/flaskBasedTests/jinja2/ for i in range(500):data {"name":"{{().__class__.__base__.__subclasses__()["str…

面试经典 150 题 22 —(数组 / 字符串)— 28. 找出字符串中第一个匹配项的下标

28. 找出字符串中第一个匹配项的下标 方法一 class Solution { public:int strStr(string haystack, string needle) {if(haystack.find(needle) string::npos){return -1;}return haystack.find(needle);} };方法二 class Solution { public:int strStr(string haystack, s…

TensorFlow学习:使用官方模型进行图像分类、使用自己的数据对模型进行微调

前言 上一篇文章 TensorFlow案例学习&#xff1a;对服装图像进行分类 中我们跟随官方文档学习了如何进行预处理数据、构建模型、训练模型等。但是对于像我这样的业余玩家来说训练一个模型是非常困难的。所以为什么我们不站在巨人的肩膀上&#xff0c;使用已经训练好了的成熟模…

《向量数据库指南》——向量数据库 有必要走向专业化吗?

向量数据库 有必要走向专业化吗? 向量数据库系统的诞生,来源于具体业务需求——想要高效处理海量的向量数据,就需要更细分、更专业的数据基础设施,为向量构建专门的数据库处理系统。 但这种路径是必须的吗? 从产品层面讲,如果传统数据库厂商不单独研发向量数据库,那么…

电脑系统升级Win11变卡顿?如何解决!

关于Win11系统更新的相关问题&#xff0c;Win11每一次更新之后会给大家带来更多功能&#xff01;但是每次更新也可能会出现掉驱动、无法打开应用、甚至是蓝屏或者进不去主页等问题&#xff01;所以为了帮助大家预防这些更新出现的后遗症&#xff0c;分享了一些小的方法&#xf…

JavaScript 编写一个 数值转换函数 万以后简化 例如1000000 展示为 100万 万以下原来数值返回

很多时候 我们看一些系统 能够比较只能的展示过大的数值 例如 到万了 他就能展示出 多少 多少万 看着很奇妙 但实现确实非常的基础 我们只需要一个这样的函数 //数值转换函数 convertNumberToString(num) {//如果传入的数值 不是数字 且也无法转为数字 直接扔0回去if (!parse…