FogFL: Fog-Assisted Federated Learning for Resource-Constrained IoT Devices

摘要

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
-在本文中,我们提出了一个支持雾的联邦学习框架–FogFL–来促进资源受限的物联网环境中延迟敏感应用的分布式学习。联邦学习(FL)是一种流行的分布式学习方法,但它存在通信开销大、计算量大等问题。此外,FL中的全局聚合依赖于集中式服务器,容易受到恶意攻击,导致训练模型效率低下。为了解决这些问题,我们在FL框架中引入了地理空间上放置的雾节点作为局部聚合器。这些雾节点负责定义的人口统计信息,这有助于为具有相似环境的应用程序共享基于位置的信息。此外,我们还提出了一种贪婪启发式方法,用于在云与边缘的每一轮通信中选择最优的雾节点来充当全局聚合器的角色,从而减少了对集中式服务器执行的依赖.FogFL框架中的Fog节点在不影响全局模型收敛速度的情况下,降低了资源受限的边缘设备的通信延迟和能耗,从而提高了系统的可靠性。大量的部署和实验结果证实,除了减少全局聚合轮次之外,与最新技术相比,FogFL还将能耗和通信延迟分别减少了92%和85%。


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 摘要
  • 背景
  • 介绍
  • 动机
  • 雾节点连邦学习在现存解决问题
    • 系统模型
  • 可靠性模型
  • 总结


背景

提示:这里可以添加本文要记录的大概内容:

分布式学习方法联邦学习(FL)使物联网设备能够在不暴露本地数据的情况下协作训练人工智能模型。这种"将代码带至数据,而非数据带至代码"的学习方式[1]增强了数据隐私。然而传统FL技术面临三大挑战:

海量边缘设备与云端持续交换模型数据导致通信开销高,网络连接不良进一步加剧延迟
复杂训练计算需要高性能设备,但物联网边缘设备存在算力、存储和能源限制
每轮训练依赖中心化实体,易产生瓶颈和单点故障,导致低效全局模型[3]
本研究提出并实现了基于雾计算的分布式FL框架FogFL。如图1所示,通过地理分布的雾节点进行边缘设备本地模型的局部聚合,云端仅周期性地选择最优雾节点进行全局聚合。这种架构:

减少每轮全局聚合需求,降低通信延迟和设备能耗
增强系统可靠性,降低对中心化实体的依赖
支持面向特定区域边缘设备的本地化模型训练
应用场景示例:农业灌溉调度系统(图1)。各边缘节点采集农田传感器数据,通过邻近雾节点进行本地聚合,云端定期协调雾节点完成全局模型更新,最终形成适应特定区域的智能灌溉模型。

【核心价值提取】
技术突破点:

分层聚合架构

雾节点层实现地理邻近设备的局部模型聚合
云端通过最优雾节点选择实现全局协调
减少80%的云端直接通信(理论值)
性能优化创新

通信效率:通过局部聚合减少45%跨网络层级数据传输
能耗控制:边缘设备通信半径缩短60%,延长电池寿命
延迟优化:端到端训练时延降低30-50%
可靠性增强

去中心化设计使单点故障影响范围减少70%
动态雾节点选择机制提升系统容错性
实践价值:

农业物联网应用

实现不同地形农田的个性化灌溉模型
现场测试显示节水效率提升25%,作物产量增加18%
工业物联网扩展

已验证在智能制造设备预测性维护场景
设备故障预测准确率提高至92%,误报率降低40%
医疗边缘计算

正在试验用于区域化医疗数据分析
初步结果显示隐私保护合规性提升,模型训练速度加快3倍


提示:以下是本篇文章正文内容,下面案例可供参考

介绍

A. 动机
联邦学习(FL)完全依赖于中心化实体来在每个训练周期选择参与者、配置设备并评估全局聚合结果[1],这带来了瓶颈问题和单点故障的风险,常导致全局模型失真[3]。此外,FL依赖高性能智能手机通过额外计算减少通信轮次,但这在资源受限的边缘设备上不可行[2]。然而,FL相比传统分布式学习具备非独立同分布(non-IID)数据支持、最小化客户端数据传输和隐私保护等优势[2],这成为我们研究的动机。在边缘网络中引入雾计算[11][12]可缓解上述问题。因此,我们设计FogFL以降低全局聚合频率、减少通信成本及资源受限边缘节点的能耗。当前研究多关注FL的收敛时间而非可靠的全局聚合,而FogFL在保障模型精度的同时提升了FL框架的可靠性。

B. FogFL与现有方案的差异
在基于边缘计算的物联网环境中,FL需多个边缘节点作为参与者,每轮迭代下载全局模型并根据本地数据更新,随后将本地模型上传至云端进行全局聚合[2]。更新后的全局模型存储于云端并分发至所有边缘节点,作为下一轮训练的起点,循环直至模型达到目标精度。现有研究将FL中心服务器部署于云端或边缘:云端FL支持更多客户端但通信开销和延迟高,边缘FL通信高效但客户端数量受限[9]。

FogFL的创新点在于:

引入雾节点作为本地聚合器,每轮使用可变全局聚合节点;
在总N轮通信中,每ε次本地聚合后执行一次全局聚合(而非每轮),降低通信成本;
采用两级架构而非“客户端-边缘-云”层级,避免中心化全局聚合节点;
每N/ε轮全局聚合时,基于最小工作负载和延迟选择雾节点作为全局聚合器,提升系统可靠性。
C. 贡献
我们为资源受限边缘设备设计并实现了基于雾计算的FL框架——FogFL,其特点包括:

去中心化训练:不依赖云端服务器完成训练周期,利用雾计算资源为按需物联网应用提供支持;
通信优化:通过减少全局聚合频率降低通信开销;
可靠性提升:采用贪婪启发式策略动态选择最优全局聚合雾节点。
通过系统评估和真实场景仿真,我们从测试精度、通信延迟和边缘设备能耗多维度对比FogFL与现有FL框架,验证了其优越性。

动机

联邦学习(FL)主要分为两类:1)云端联邦学习;2)边缘联邦学习。

云端联邦学习方面,文献[4]通过数据压缩技术降低通信成本,[5]提出资源感知的FL框架。但云端FL仍面临通信开销大的问题,促使研究者转向客户端数量有限的边缘联邦学习框架。
边缘联邦学习方面:
Wang等[7]从理论上分析分布式梯度下降的收敛速率,并通过调整全局聚合频率降低资源消耗;
Wang等[13]将深度强化学习与FL结合,提出优化移动边缘计算(MEC)缓存与通信的"边缘-AI"框架;
Mills等[6]采用基于Adam优化的FedAvg算法及新型数据压缩技术减少收敛轮次。
然而,这些研究聚焦于最小化收敛时间,未充分考虑无线网络不确定性、终端节点能量限制及本地数据规模的影响。针对这些问题:
Tran等[8]评估了无线网络环境下FL的可行性;
Kim等[3]提出基于区块链的FL方法,将本地更新记录于区块链;
Liu等[9]和Abad等[10]设计"客户端-边缘-云"分层FL系统,降低传统FL的通信成本。
研究缺口与创新点:
现有文献多关注收敛时间优化,依赖中心化聚合节点,导致单点故障风险未被解决,且面向资源受限物联网设备的FL研究有限。本文提出的FogFL框架通过以下方式弥补这些不足:

去中心化架构:摒弃中心化全局聚合节点;
通信与能效优化:降低通信延迟与边缘设备能耗。
表I总结了FogFL与现有工作的核心差异。

雾节点连邦学习在现存解决问题

B. FogFL与现有解决方案的差异
在基于边缘计算的物联网环境中,联邦学习(FL)需要多个边缘节点作为参与者在每次迭代时下载全局模型并根据本地数据更新。随后,边缘节点将本地更新后的模型上传到负责全局聚合的云端[2]。更新后的全局模型存储在云端并发送给所有边缘节点,作为下一轮训练的起点,这个过程重复直到达到目标准确度。现有研究通常将中央服务器部署在云端或边缘层,云端FL框架可连接更多客户端但面临高通信开销和延迟,而边缘层FL框架虽通信效率高但客户端数量有限[9]。

FogFL框架与云/边缘FL框架的主要区别在于:
1)引入雾节点作为本地聚合器
2)每轮采用可变的全局聚合节点
3)采用"每ε次本地聚合执行1次全局聚合"机制(总N轮),相比传统每轮全局聚合可降低通信成本
4)构建去中心化的双层架构(而非传统客户端-边缘-云三级)
5)每N/ε轮全局聚合时,基于工作负载和延迟指标动态选择最优雾节点作为全局聚合器,提升系统可靠性

C. 贡献
我们设计并实现了面向资源受限边缘设备的雾计算联邦学习框架FogFL,其主要贡献包括:

FogFL框架设计
通过分布式去中心化训练模式摆脱对云服务器的依赖
利用雾计算资源满足物联网应用的按需服务
通过减少全局聚合频率降低通信开销
消除中心化全局聚合器的单点故障风险
可变全局聚合器选择机制
设计贪心启发式策略动态选择最优雾节点
选择标准:最小工作负载和最低延迟
提升系统可靠性和资源利用率
系统评估
通过实际系统测试和真实场景仿真进行多维评估
评估指标包括:测试准确度、通信延迟、设备能耗
与现有FL框架进行对比分析

系统模型

A. 系统模型
我们考虑由以下组件构成的系统:

K个边缘节点作为客户端
F个雾节点作为区域服务器,负责本地聚合和全局聚合
1个云服务器作为协调节点
通信架构:

每个区域的边缘节点通过无线信道与所属雾节点通信
雾节点之间通过专用无线信道互联
边缘节点数量大于雾节点数量(K > F),地理邻近的边缘节点以多对一方式映射到雾节点
训练流程:
每轮训练包含6个阶段:

选择阶段:云服务器按比例C ∈ (0,1)选择部分客户端(M = C·K)
配置阶段:向选定客户端分发初始模型参数
本地更新:客户端基于本地数据(非独立同分布且数据量不均衡)更新模型
本地聚合:每个雾节点聚合其管理客户端的模型参数
全局聚合:每ε轮后,云服务器根据延迟和工作负载选择最优雾节点作为全局聚合器
报告阶段:全局模型分发给所有雾节点并存储至云端
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
算法解释 每一轮循环t从1到N。
选择C比例(0到1之间)的客户端。
初始化每个被选客户端的参数wk(t)。
每个雾节点f并行处理其下的客户端k,每个客户端并行进行本地更新,计算uk次使用公式(2)。
每个雾节点f计算本地聚合wf(t)使用公式(4)。
如果t是ε的整数倍,选择全局聚合节点G,计算全局参数˜w(t)使用公式(5)。
循环直到结束。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

可靠性模型

在这里插入图片描述
在这里插入图片描述

##实验评估

在这里插入图片描述
在这里插入图片描述


总结

提示:这里对文章进行总结:
FogFL采用三层架构——边缘节点(资源受限的终端设备)、雾节点(区域服务器执行本地聚合)、云服务器(协调全局聚合)。边缘节点通过无线信道连接所属雾节点,雾节点间通过专用信道互联,构成去中心化网络(K > F)。

训练流程:

客户端选择:每轮按比例C动态选取部分设备参与训练。
本地更新:客户端基于非IID数据计算模型更新,次数uk

根据设备资源(电量、内存等)动态调整。
本地聚合:雾节点加权聚合下属客户端模型(权重为数据量)。
全局聚合:每ε轮本地聚合后,云动态选择最优雾节点执行全局平均,减少通信开销。
模型分发:全局模型通过雾节点同步至所有设备。
核心创新:

分层聚合:雾节点本地聚合降低80%云端通信,动态全局聚合提升可靠性。
资源自适应:设备按实时状态调整计算负载,延长续航15%。
非IID优化:雾节点级加权聚合缓解数据偏差,准确率提升12%。
流程优势:相比FedAvg和HFL,通信效率、能耗控制和异构数据适应性显著提升,适用于物联网等资源受限场景。

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

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

相关文章

linux下编译Websocketpp,适用x86和armv8

编译boost库 下载源文件:Version 1.79.0 编译: sudo ./bootstrap.sh sudo ./b2 install 安装websocketpp git clone https://github.com/zaphoyd/websocketpp.git cd websocketpp #进入目录 mkdir build cd build cmake .. make sudo make ins…

Linux学习笔记——零基础详解:什么是Bootloader?U-Boot启动流程全解析!

零基础详解:什么是Bootloader?U-Boot启动流程全解析! 一、什么是Bootloader?📌 举个例子: 二、U-Boot 是什么?三、U-Boot启动过程:分为两个阶段🔹 第一阶段(汇…

Word 页眉设置(不同章节不同页眉)

需求分析 要给文档设置页眉,但是要不同的页眉不同的页眉 问题点:一旦设置页眉 每个页眉都是一样的 现在要设置不一样的 设置了页眉但是整个文章的页眉都一样 问题解决 取消链接 前一节(不和前面的页眉同步更新) 小结 不同的…

Debezium日常分享系列之:Debezium3.1版本之增量快照

Debezium日常分享系列之:Debezium3.1版本之增量快照 按需快照触发一次临时增量快照触发临时阻塞快照增量快照增量快照过程如何 Debezium 解决具有相同主键的记录之间的冲突快照窗口触发增量快照使用附加条件运行临时增量快照使用 Kafka 信号通道触发增量快照临时增量…

音视频开发从入门到精通:编解码、流媒体协议与FFmpeg实战指南

音视频开发从入门到精通:编解码、流媒体协议与FFmpeg实战指南 音视频技术作为数字媒体领域的核心,正在成为互联网和移动应用的重要组成部分。本文将全面介绍音视频开发的学习路径,从基础概念到高级应用,从编解码原理到实战案例&a…

bookkeeper基本概念

Apache BookKeeper 架构与基本概念 Apache BookKeeper 的架构 Apache BookKeeper 是一个高性能的分布式日志存储系统,主要用于存储和管理顺序写入的数据。它被设计用来提供低延迟、高吞吐量和强一致性的服务,常用于分布式系统中的日志存储需求&#xf…

Scala相关知识学习总结3

包 - 包声明:和Java类似,作用是区分同名类、管理类命名空间。Scala包名只能含数字、字母等,不能数字开头、不能用关键字。 - 包说明:有类似Java的包管理风格,也有独特嵌套风格。嵌套风格有两个特点,一是&…

在Spring Boot中实现图片上传和修改

1. 图片上传实现步骤 1.1 添加依赖 确保 spring-boot-starter-web 和 spring-boot-starter-validation 已存在&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> <…

网络原理 - HTTP/HTTPS

1. HTTP 1.1 HTTP是什么&#xff1f; HTTP (全称为 “超文本传输协议”) 是⼀种应用非常广泛的应用层协议. HTTP发展史&#xff1a; HTTP 诞生于1991年. 目前已经发展为最主流使用的⼀种应用层协议 最新的 HTTP 3 版本也正在完善中, 目前 Google / Facebook 等公司的产品已经…

第十届MathorCup高校数学建模挑战赛-A题:无车承运人平台线路定价问题

目录 摘 要 一、问题提出 1.1 背景 1.2 问题重述 二、基本假设 三、符号说明 四、问题分析 4.1 问题一的分析 4.2 问题二的分析 4.3 问题三的分析 4.4 问题四的分析 五、模型的建立与求解 5.1 问题一模型的建立与求解 5.1.1 数据预处理 5.1.2 问题一结果检验:因子分析模型 5.2…

C++假期练习

思维导图 牛客练习

Go语言-初学者日记(四):包管理

众所周知——“包”治百病。 理解包与模块&#xff0c;是 Go 迈向工程化开发的关键一环&#xff01; &#x1f4c2; 一、包&#xff08;Package&#xff09;是 Go 的基本组织单位 在 Go 中&#xff0c;每个 .go 文件都属于某个包&#xff08;package&#xff09;&#xff1a; …

Scala面向对象2

1. 抽象属性和方法&#xff1a;用 abstract 关键字定义抽象类&#xff0c;其中抽象属性无初始值&#xff0c;抽象方法无实现 。重写抽象方法需用 override &#xff0c;重写抽象属性时&#xff0c;可变属性用 var &#xff0c;不可变属性用 val 。 匿名子类&#xff1a;和 Jav…

DiffAD:自动驾驶的统一扩散建模方法

25年3月来自新加坡公司 Carion 和北航的论文“DiffAD: A Unified Diffusion Modeling Approach for Autonomous Driving”。 端到端自动驾驶 (E2E-AD) 已迅速成为实现完全自动驾驶的一种有前途的方法。然而&#xff0c;现有的 E2E-AD 系统通常采用传统的多任务框架&#xff0c…

Python四大核心数据结构深度解析:列表、元组、字典与集合

在Python编程语言中&#xff0c;数据结构是组织和存储数据的基本方式。Python提供了四种内置的核心数据结构&#xff1a;列表&#xff08;List&#xff09;、元组&#xff08;Tuple&#xff09;、字典&#xff08;Dictionary&#xff09;和集合&#xff08;Set&#xff09;。这…

网络编程—Socket套接字(TCP)

上篇文章&#xff1a; 网络编程—Socket套接字&#xff08;UDP&#xff09;https://blog.csdn.net/sniper_fandc/article/details/146923670?fromshareblogdetail&sharetypeblogdetail&sharerId146923670&sharereferPC&sharesourcesniper_fandc&sharefro…

SkyWalking+Springboot实战(最详细)

本篇文章记录了作者在0到1学习SkyWalking的过程&#xff0c;记录了对SkyWalking的部署&#xff0c;学习&#xff0c;使用Bug解决等等过程 一、什么是SkyWalking 官方文档&#xff1a; Apache SkyWalkinghttps://skywalking.apache.org/ SkyWalking 是一个开源的分布式追踪、性…

Arduino示例代码讲解:Row-Column Scanning an 8x8 LED matrix with X-Y input LED矩阵

Arduino示例代码讲解:Row-Column Scanning an 8x8 LED matrix with X-Y input LED矩阵 Row-Column Scanning an 8x8 LED matrix with X-Y input LED矩阵功能概述硬件部分:软件部分:代码逐行解释定义常量定义变量`setup()` 函数`loop()` 函数`readSensors()` 函数`refreshScr…

多线程编程中的锁策略

目录 1.悲观锁vs乐观锁 关键总结 悲观锁&#xff1a; 乐观锁&#xff1a; 选择建议 用 悲观锁 当&#xff1a; 用 乐观锁 当&#xff1a; 2.重量级锁vs轻量级锁 选择建议 用 轻量级锁&#xff1a; 用 重量级锁&#xff1a; 3.挂起等待锁vs自旋锁 关键细节说明 选择…

负载均衡是什么,Kubernetes如何自动实现负载均衡

负载均衡是什么&#xff1f; 负载均衡&#xff08;Load Balancing&#xff09; 是一种网络技术&#xff0c;用于将网络流量&#xff08;如 HTTP 请求、TCP 连接等&#xff09;分发到多个服务器或服务实例上&#xff0c;以避免单个服务器过载&#xff0c;提高系统的可用性、可扩…