当前位置: 首页 > news >正文

FL论文专栏|设备异构、异步联邦

论文:Asynchronous Federated Optimization(12th Annual Workshop on Optimization for Machine Learning)

链接
实现Server的异步更新。每次Server广播全局Model的时候附带一个时间戳,Client跑完之后上传将时间戳和Model同时带回来,Server收到某个Client的上传数据后马上更新,更新时Client的数据要额外乘上一个滞后函数,时间离得越远权重越小。
同时定义了三种滞后函数

  1. 常数滞后函数
    常数滞后函数保持恒定,不随滞后量的变化而变化。
  2. 多项式滞后函数
    多项式滞后函数随滞后量增大而单调递减。
  3. 锥形滞后函数
    锥形滞后函数在滞后量较小时保持恒定值,当滞后量超过某一阈值后开始递减。
    在这里插入图片描述

论文:Pisces: efficient federated learning via guided asynchronous training(ACM SoCC 2022)

链接
考虑到异步FL会导致一直有Client上传梯度,导致Server不断更新全局Model,使得算法变得低效,论文提出设置一个异步FL中同时train的Client数量上限,并提出了一个评分标准,每次优先让分高的跑。
评分函数

如果想评分高,就得数据量大、loss高、相隔时间短。

另一个算法

这是该论文的另一个算法。b是超参数,称为目标滞后边界,用于调节Server聚合的频率,Lmax是所有Client更新所需时间的最大值。二者相除得到一个I,代表最短更新间隔。如果上次更新和这次更新时间不足I,就不更新,反之更新。

论文:Towards Flexible Device Participation in Federated Learning(AISTATS 2021)

链接
文章涉及的东西比较多,主要就是考虑了新进设备、设备退出、设备没跑完一次流程这三种情况。
1.首先就是分析了设备离开,也就是某个设备在某次训练后退出了FL。
先提了一嘴全局目标函数
在这里插入图片描述
文章说在某个设备离开后,可以有两种操作。第一种就是让他完全退出,就是全局目标函数里也没有他了。第二种就是让他保留全局目标函数里的权重。
二者的区别是第一种情况其他的Client权重会因为这个设备的退出而变大,第二种情况其他权重不会变。据说第二种操作能保持全局目标的一致性,但会导致性能下降,所以需要取舍一下。
2.然后又定义了一个“快速重启”,就是说新设备加入时,对全局目标会有一个拉动的效果,所以需要暂时增加额外的梯度。
在这里插入图片描述
3.又考虑了一种Client未能跑完但是就得上传的情况,给出了三种方案。
在这里插入图片描述
还有个数学公式,但感觉不重要
在这里插入图片描述

论文:Sageflow: Robust Federated Learning against Both Stragglers and Adversaries(NeurIPS 2021)

论文聚焦于掉队者恶意攻击
提出基于陈旧度的分组熵过滤损失加权平均方法,总称Sageflow。

基于陈旧度的分组

对于每个Client根据速度进行分类,服务器每个周期T采样一次,每次只采样速度为Ti的组的模型信息。每个组内部分别先依照FedAVG聚合一下,然后再所有组全部乘上各自的陈旧度聚合起来,形成最终的全局model。
在这里插入图片描述

熵过滤

共享少数数据,然后利用这些少数数据跑出一个熵,熵就是用于评估两个模型之间预测分布的差异度,如果差异过大高于某个阈值则可能是恶意攻击,过滤掉。
在这里插入图片描述

损失加权平均

跟熵差不多,每个model计算权重的时候额外乘跟全局model的区别值,跟全局model区别越大自身的权重越低。这可以缓解轻微的恶意攻击。

论文:A General Theory for Federated Optimization with Asynchronous and Heterogeneous Clients Updates(ICML2023)

文章主要是数学分析证明算法的收敛性,算法只有很少一部分。
提出了随机权重的方法,但是没有见得哪里随机。
具体方法是Server定时收集一下Client的全部梯度,如果Client在规定时间内完成了本地计算,则权重✖️1,否则变为0。
然后每个Client的权重综合考虑了数据质量和数据量。
没有感觉创新。

论文: Sharper Convergence Guarantees for Asynchronous SGD for Distributed and Federated Learning(NeurIPS2022)

主要是提出了一个自适应步长,步长大小基于时延,时延越大,步长越小。
在这里插入图片描述
另外该文章有很多很有价值的数学证明。

相关文章:

FL论文专栏|设备异构、异步联邦

论文:Asynchronous Federated Optimization(12th Annual Workshop on Optimization for Machine Learning) 链接 实现Server的异步更新。每次Server广播全局Model的时候附带一个时间戳,Client跑完之后上传将时间戳和Model同时带回…...

【Java毕业设计】基于JavaWeb的礼服租赁系统

文章目录 摘 要Abstract目录1 绪论1.1 课题背景和意义1.2 国内外研究现状1.2.1 国外研究现状 1.3 课题主要内容 2 开发相关技术介绍2.1 Spring Boot框架2.2 Vue框架2.3 MySQL数据库2.4 Redis数据库 3 系统分析3.1 需求分析3.1.1 用户需求分析3.1.2 功能需求分析 3.2 可行性分析…...

代码随想录训练营Day 66|卡码网101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿

1.孤岛的总面积 101. 孤岛的总面积 | 代码随想录 代码&#xff1a;(bfs广搜) #include <iostream> #include <vector> #include <queue> using namespace std; int dir[4][2] {1,0,0,1,-1,0,0,-1}; int count; void bfs(vector<vector<int>>&a…...

根据状态转移写状态机-二段式

目录 描述 输入描述&#xff1a; 输出描述&#xff1a; 描述 题目描述&#xff1a; 如图所示为两种状态机中的一种&#xff0c;请根据状态转移图写出代码&#xff0c;状态转移线上的0/0等表示的意思是过程中data/flag的值。 要求&#xff1a; 1、 必须使用对应类型的状…...

PyTorch C++扩展用于AMD GPU

PyTorch C Extension on AMD GPU — ROCm Blogs 本文演示了如何使用PyTorch C扩展&#xff0c;并通过示例讨论了它相对于常规PyTorch模块的优势。实验在AMD GPU和ROCm 5.7.0软件上进行。有关支持的GPU和操作系统的更多信息&#xff0c;请参阅系统要求&#xff08;Linux&#xf…...

Hadoop archive

Index of /dist/hadoop/commonhttps://archive.apache.org/dist/hadoop/common/...

R语言——R语言基础

1、用repeat、for、while计算从1-10的所有整数的平方和 2、编写一个函数&#xff0c;给出两个正整数&#xff0c;计算他们的最小公倍数 3、编写一个函数&#xff0c;让用户输入姓名、年龄&#xff0c;得出他明年的年龄。用paste打印出来。例如&#xff1a;"Hi xiaoming …...

VFB电压反馈和CFB电流反馈运算放大器(运放)选择指南

VFB电压反馈和CFB电流反馈运算放大器(运放)选择指南 电流反馈和电压反馈具有不同的应用优势。在很多应用中&#xff0c;CFB和VFB的差异并不明显。当今的许多高速CFB和VFB放大器在性能上不相上下&#xff0c;但各有其优缺点。本指南将考察与这两种拓扑结构相关的重要考虑因素。…...

elasticsearch安装(centos7)

先给出网址 elasticsearch&#xff1a;Download Elasticsearch | Elastic elasticKibana&#xff1a;Download Kibana Free | Get Started Now | Elastic Logstash&#xff1a;Download Logstash Free | Get Started Now | Elastic ik分词&#xff1a;Releases infinilabs/…...

Java高手的30k之路|面试宝典|精通JVM(二)

JVM基本结构 类加载子系统&#xff1a;负责将.class文件加载到内存中&#xff0c;并进行验证、准备、解析和初始化。运行时数据区&#xff1a;包括堆&#xff08;Heap&#xff09;、方法区&#xff08;Method Area&#xff09;、Java栈&#xff08;Java Stack&#xff09;、本…...

JVM专题六:JVM的内存模型

前面我们通过Java是如何编译、JVM的类加载机制、JVM类加载器与双亲委派机制等内容了解到了如何从我们编写的一个.Java 文件最终加载到JVM里的&#xff0c;今天我们就来剖析一下这个Java的‘中介平台’JVM里面到底长成啥样。 JVM的内存区域划分 Java虚拟机&#xff08;JVM&…...

学习java第一百零七天

解释JDBC抽象和DAO模块 使用JDBC抽象和DAO模块&#xff0c;我们可以确保保持数据库代码的整洁和简单&#xff0c;并避免数据库资源关闭而导致的问题。它在多个数据库服务器给出的异常之上提供了一层统一的异常。它还利用Spring的AOP模块为Spring应用程序中的对象提供事务管理服…...

k8s上尝试滚动更新和回滚

滚动更新和回滚 实验目标&#xff1a; 学习如何进行应用的滚动更新和回滚操作。 实验步骤&#xff1a; 创建一个 Deployment。更新 Deployment 的镜像版本&#xff0c;观察滚动更新过程。回滚到之前的版本&#xff0c;验证回滚操作。 今天呢&#xff0c;我们继续来进行我们k…...

GitHub Copilot 登录账号激活,已经在IntellJ IDEA使用

GitHub Copilot 想必大家都是熟悉的&#xff0c;一款AI代码辅助神器&#xff0c;相信对编程界的诸位并不陌生。 今日特此分享一项便捷的工具&#xff0c;助您轻松激活GitHub Copilot&#xff0c;尽享智能编码之便利&#xff01; GitHub Copilot 是由 GitHub 和 OpenAI 共同开…...

进程知识点(二)

文章目录 一、进程关系&#xff1f;二、孤儿态进程(Orphan)定义危害处理 三、僵尸进程定义处理 四、守护进程(Daemon )定义作用 总结 一、进程关系&#xff1f; 亲缘关系&#xff1a;亲缘关系主要体现于父子进程&#xff0c;子进程父进程创建&#xff0c;代码继承于父进程&…...

【线性代数】【一】1.6 矩阵的可逆性与线性方程组的解

文章目录 前言一、求解逆矩阵二、线性方程组的解的存在性总结 前言 前文我们引入了逆矩阵的概念&#xff0c;紧接着我们就需要讨论一个矩阵逆的存在性以及如何求解这个逆矩阵。最后再回归上最初的线性方程组的解&#xff0c;分析其中的联系。 一、求解逆矩阵 我们先回想一下在…...

基于大型语言模型的全双工语音对话方案

摘要解读 我们提出了一种能够以全双工方式运行的生成性对话系统&#xff0c;实现了无缝互动。该系统基于一个精心调整的大型语言模型&#xff08;LLM&#xff09;&#xff0c;使其能够感知模块、运动功能模块以及一个具有两种状态&#xff08;称为神经有限状态机&#xff0c;n…...

Spring Boot集成Minio插件快速入门

1 Minio介绍 MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等&#xff0c;而一个对象文件可以是任意大小&…...

【C++新特性】右值引用

右值和右值的区别 C11 中右值可以分为两种&#xff1a;一个是将亡值&#xff08; xvalue, expiring value&#xff09;&#xff0c;另一个则是纯右值&#xff08; prvalue, PureRvalue&#xff09;&#xff1a; 纯右值&#xff1a;非引用返回的临时变量、运算表达式产生的临时变…...

信息安全基础知识(完整)

信息安全基础知识 安全策略表达模型是一种对安全需求与安全策略的抽象概念表达&#xff0c;一般分为自主访问控制模型&#xff08;HRU&#xff09;和强制访问控制模型&#xff08;BLP、Biba&#xff09;IDS基本原理是通过分析网络行为&#xff08;访问方式、访问量、与历史访问…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...