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.pswp.cn/web/74888.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74888.shtml
英文地址,請注明出處:http://en.pswp.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;提高系統的可用性、可擴…