Federated learning client selection algorithm based on gradient similarity閱讀

基于梯度相似性的聯邦學習客戶端選擇算法

  • Abstract 摘要
  • introduction
      • **背景**
      • **目的**
      • **結論**
      • **結果**
      • **討論**
      • **思路**

鏈接:https://link.springer.com/article/10.1007/s10586-024-04846-0
三區

Abstract 摘要

聯邦學習(FL)是一種創新的機器學習方法,終端設備在中央服務器協調下共同訓練全局模型,解決了數據隱私和數據孤島問題,而無需將數據傳輸到中央服務器。然而,在聯邦學習中,客戶端數據的異質性顯著影響了 FL 的性能。為了解決模型精度低和收斂速度慢的問題,提出了一種基于梯度相似性的客戶端選擇算法(FedGSCS)。該算法通過比較客戶端梯度與平均梯度之間的相似性來選擇客戶端,優先選擇能夠加速模型聚合以促進模型收斂的客戶端。在 MNIST、FEMNIST 和莎士比亞數據集上的實驗表明,與 Federated Averaging(FedAvg)算法、選擇損失最高的客戶端的 Power-of-Choice 算法以及基于多樣客戶端選擇的聯邦平均(DivFL)算法相比,FedGSCS 將通信輪數減少了最多 80%,并提高了最多 16.38%的準確性。

introduction

隨著人工智能的快速發展,每天從各種移動設備和物聯網(IoT)設備中生成數以萬計的數據點[1]。利用這些數據可以幫助我們構建更大、更復雜的神經網絡模型,從而提高模型的準確性。然而,在傳統的分布式機器學習中,設備上的數據需要上傳到中央服務器進行復雜的模型訓練,涉及數百萬個參數。但在實際場景中,由于數據隱私方面的擔憂[2],各方通常不會與其他方共享私有數據,這可能導致數據孤島問題。在這種情況下,傳統的機器學習技術變得不再適用。
為了解決這個問題,Google 提出了聯邦學習(FL)[3]。在保護用戶隱私的前提下,該方法通過中央服務器協調參與者,利用各自的本地數據集進行聯合訓練,從而形成增強的全局模型。聯邦學習技術通過繞過直接將數據上傳到中央服務器的方式,有效保護了數據隱私。因此,聯邦學習在醫療行業[4]、智慧城市[5]、智能交通[6]等多個領域得到了越來越廣泛的應用。
盡管在聯邦學習方面取得了顯著進展以解決數據隱私和數據孤島問題,但仍存在若干技術挑戰。移動設備面臨設備狀態、帶寬和網絡連接等方面的限制,使得通信成本成為聯邦學習(FL)環境中的瓶頸。此外,中央服務器必須通過學習本地數據樣本來更新全局模型。FL 客戶端通常從各種來源收集數據、使用不同的工具并在不同的環境中運行,導致非獨立同分布(non-IID)數據。這種數據異質性會對 FL 系統的性能和收斂性產生嚴重影響 [7, 8]。為了緩解這些問題,已經提出了各種優化策略。一些方法側重于通過引入約束修改本地模型更新過程 [9, 10],而另一些方法則通過引入公共數據集 [11, 12] 或使用控制變量 [13] 來平衡客戶端差異。然而,這些方法往往忽視了數據異質性對全局模型性能的影響。 通常,在模型聚合過程中,所有客戶端都會被同等對待,而不考慮它們的具體數據特性。這種做法不僅增加了通信成本,還可能影響全局模型的性能和泛化能力。
為了解決 Federated Averaging(FedAvg)算法在非 IID 數據場景下的性能退化問題,Sattler 等人[14]引入了 CFL 框架。該框架表明,客戶端梯度之間的余弦相似度可以有效地指示兩個客戶端是否具有相同的數據生成分布。實驗結果表明,當客戶端數據表現出聚類結構時,CFL 框架顯著提高了分類準確率,并在困惑度方面優于傳統的 FL 方法。Palihawadana 等人[15]還提出了 FedSim 算法,該算法利用余弦相似度將 FL 模型聚合分為兩個階段:先進行局部聚合,再對具有相似梯度的客戶端進行全局聚合。這種策略減少了方差,增強了全局模型的穩定性和覆蓋率。進一步的實驗結果證實,使用余弦相似度衡量潛在客戶端的相似性可以顯著提高模型性能和穩定性。此外,Marnissi 等人[16]引入了一種基于梯度范數重要性的設備選擇策略。 **基于這一理論和實驗基礎,本文提出了一種基于梯度相似度的聯邦學習客戶端選擇方法。該方法旨在通過優先選擇其梯度與平均梯度具有更高余弦相似度的客戶端來提升聯邦學習性能。**具體而言,在每次模型聚合之前,會從每個客戶端上傳的梯度中計算出平均梯度。這一步驟加快了收斂速度,并減少了非 IID 數據對全局模型的影響。隨后,使用余弦相似度來衡量平均梯度與每個客戶端梯度之間的相似度。基于這種相似度度量,選擇能夠更有效地促進模型收斂的客戶端。通過智能選擇客戶端,該算法不僅在圖像分類和文本預測任務中提高了模型質量,還加快了模型的收斂速度。本文的主要貢獻如下:
本文提出了一種新的客戶端選擇算法,名為 FedGSCS。該算法旨在通過基于客戶端梯度與均值梯度之間的余弦相似度選擇客戶端,從而提高 FL 全局模型的準確性和收斂速度。該算法的主要目標是在聚合全局模型之前,利用余弦相似度篩選出低質量的客戶端,以提高整體性能。由于客戶端之間數據異質性存在差異,FedGSCS 算法巧妙地利用客戶端梯度與平均梯度之間的余弦相似度,戰略性地選擇客戶端,從而豐富所選客戶端數據的多樣性。在 MNIST、FEMNIST 和莎士比亞數據集上的實驗表明,與 Federated Averaging(FedAvg)、基于最高損失選擇客戶端的 Power-of-Choice 算法以及基于多樣客戶端選擇的 Federated Averaging(DivFL)相比,采用 FedGSCS 可以將 FL 訓練通信輪數最多減少 80%,并提高準確率高達 16.38%。

在這里插入圖片描述

背景

聯邦學習(FL)通過終端設備協作訓練全局模型,解決了數據隱私和孤島問題,但客戶端數據的異構性顯著影響模型性能。傳統方法如聯邦平均算法(FedAvg)在非獨立同分布(non-IID)數據下存在收斂慢、準確率低的問題。現有客戶端選擇策略(如Power-of-Choice、DivFL)未充分利用梯度相似性優化選擇過程,導致通信效率和模型性能受限。

目的

提出一種基于梯度相似性的客戶端選擇算法(FedGSCS),通過篩選與全局梯度相似性高的客戶端參與聚合,提升模型在非IID數據下的收斂速度和準確率,同時減少通信開銷。

結論

  1. 性能優勢:FedGSCS在MNIST、FEMNIST和Shakespeare數據集上,較基線算法(FedAvg、Power-of-Choice、DivFL)準確率提升最高達16.38%,通信輪次減少最多80%。
  2. 有效性驗證:梯度相似性選擇策略有效篩選高貢獻客戶端,在非IID場景中顯著優于隨機選擇和基于損失的選擇方法。
  3. 魯棒性:在不同數據分布下均表現穩定,適用于圖像分類和文本預測任務。

結果

  1. 準確率對比
    • MNIST:FedGSCS在Case 1非IID場景中準確率達90.52%,優于FedAvg(88.08%)和DivFL(89.16%)。
    • FEMNIST:Case 1場景下準確率提升14.28%(從80.71%到94.99%)。
    • Shakespeare:Case 1場景中準確率達40.44%,較Power-of-Choice(24.06%)提升顯著。
  2. 通信效率
    • MNIST:ToA@0.9-Case 2場景中通信輪次減少41.03%(從82輪降至69輪)。
    • Shakespeare:ToA@0.4-Case 1場景中僅需33輪,而Power-of-Choice未達標。

討論

  1. 梯度相似性的作用:通過余弦相似性量化客戶端與全局梯度的一致性,有效過濾低貢獻客戶端,加速模型收斂。
  2. 非IID數據適應性:在數據分布差異較大的場景(如β=0.5的Shakespeare數據集)中,FedGSCS仍保持較高準確率,驗證了其魯棒性。
  3. 局限性:未考慮設備資源異構性(如計算能力、能耗),未來需結合資源感知策略優化選擇過程。

思路

  1. 梯度平均計算:服務器計算所有客戶端梯度的平均值 g t = 1 K ∑ i = 1 K g i t g^t = \frac{1}{K}\sum_{i=1}^K g_i^t gt=K1?i=1K?git?,作為全局優化方向。
  2. 余弦相似性度量:通過公式 c o s k t = ? g t , g k t ? ∥ g t ∥ ∥ g k t ∥ cos_k^t = \frac{\langle g^t, g_k^t \rangle}{\|g^t\| \|g_k^t\|} coskt?=gt∥∥gkt??gt,gkt??? 量化客戶端梯度與全局梯度的相似性。
  3. Top-P客戶端選擇:按相似性排序,選擇前P個客戶端參與聚合,提升模型更新質量。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74372.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74372.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74372.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【測試工具】如何使用 burp pro 自定義一個攔截器插件

在 Burp Suite 中,你可以使用 Burp Extender 編寫自定義攔截器插件,以攔截并修改 HTTP 請求或響應。Burp Suite 支持 Java 和 Python (Jython) 作為擴展開發語言。以下是一個完整的流程,介紹如何創建一個 Burp 插件來攔截請求并進行自定義處理…

網絡編程的概念&作用

網絡編程是什么? 想象一下,你和朋友在不同的房間里,你們想互相傳遞紙條聊天。網絡編程就像是編寫一套規則,讓計算機能夠通過網絡(比如互聯網)互相傳遞信息。這些信息可以是文字、圖片、視頻,甚…

航天軍工與金融行業 UE/UI 設計:跨越領域的體驗革新之道

在數字化時代,用戶體驗(UE)和用戶界面(UI)設計成為眾多行業提升競爭力的關鍵因素。航天軍工與金融行業雖業務性質差異巨大,但在 UE/UI 設計方面卻面臨著一些相似挑戰,同時也在各自的探索中展現出…

【Git】--- 分支管理

Welcome to 9ilks Code World (??? ? ???) 個人主頁: 9ilk (??? ? ???) 文章專欄: Git 本篇博客我們來介紹Git的一個重要功能之一 ---- 分支。我們將講解關于分支的各種操作,以及如何幫助我們進行開發。 🏠 理解分支…

純血鴻蒙:中國操作系統自主創新的里程碑

引言:破局者登場 2024 年 10 月,搭載純血鴻蒙操作系統(HarmonyOS NEXT)的華為 Mate 70 系列正式發布,首日預約量突破 330 萬。這場現象級熱度的背后,不僅是消費者對硬件創新的期待,更是中國科技…

二造考試的備考過程中如何保持良好的心態?

在二級造價師考試的備考過程中,保持良好的心態至關重要,以下是一些有效的方法: 樹立正確的考試觀念 )認識到二級造價師考試是職業生涯中的一個重要環節,但不是唯一的決定因素。把它看作是提升自己專業能力、豐富知識儲備的機會&am…

Vue3前端開發:組件化設計與狀態管理

Vue3前端開發:組件化設計與狀態管理 一、Vue3組件化設計 組件基本概念與特點 是一款流行的JavaScript框架,它支持組件化設計,這意味著我們可以將頁面分解成多個獨立的組件,每個組件負責一部分功能,通過組件的嵌套和復用…

動手學深度學習11.9. Adadelta-筆記練習(PyTorch)

以下內容為結合李沐老師的課程和教材補充的學習筆記,以及對課后練習的一些思考,自留回顧,也供同學之人交流參考。 本節課程地址:72 優化算法【動手學深度學習v2】_嗶哩嗶哩_bilibili 本節教材地址:11.9. Adadelta —…

Android Audio基礎(13)——audiomixer

在 Android 平臺上,音頻混合器 AudioMixer 主要用在 AudioFlinger 里,將多路音頻源數據混音(包括混音、音量處理、重采樣及處理聲道等)。位于 framework 的音頻處理模庫 libaudioprocessing(frameworks/av/media/libau…

【React】使用Swiper報錯`Swiper` needs at least one child

問題 聊天頁面的表情面板&#xff0c;滑動效果使用了ant design mobile的Swiper。 原代碼中&#xff0c;Swiper 組件在 isShow 為 false 時渲染的是 <></>&#xff08;空元素&#xff09;&#xff0c;控制臺警告Swiper needs at least one child&#xff0c;Swip…

Matlab教程001:軟件介紹和界面使用

1.1 軟件介紹 1.1.1 Matlab的介紹 MATLAB&#xff08;MATrix LABoratory&#xff09;是一款由 MathWorks 公司開發的高級編程語言和交互式環境&#xff0c;廣泛用于 科學計算、數據分析、機器學習、工程建模、仿真和信號處理 等領域。 1.1.2 主要應用領域 數據分析與可視化…

藍橋杯算法實戰分享:算法進階之路與實戰技巧

引言 藍橋杯作為國內極具影響力的程序設計競賽&#xff0c;為眾多編程愛好者和專業人才提供了展示自我的舞臺。參與藍橋杯不僅能檢驗自身編程水平&#xff0c;還能拓寬技術視野&#xff0c;為未來職業發展積累寶貴經驗。本文將結合歷年真題與參賽經驗&#xff0c;全面分享藍橋…

Android Compose 層疊布局(ZStack、Surface)源碼深度剖析(十三)

Android Compose 層疊布局&#xff08;ZStack、Surface&#xff09;源碼深度剖析 一、引言 在 Android 應用開發領域&#xff0c;用戶界面&#xff08;UI&#xff09;的設計與實現一直是至關重要的環節。隨著技術的不斷演進&#xff0c;Android Compose 作為一種全新的聲明式…

MongoDB 面試備戰指南

MongoDB 面試備戰指南 一、基礎概念 1. MongoDB是什么類型的數據庫&#xff1f;和關系型數據庫有什么區別&#xff1f; 答案&#xff1a; MongoDB是文檔型NoSQL數據庫&#xff0c;核心區別&#xff1a; 數據模型&#xff1a;存儲JSON-like文檔&#xff08;動態schema&#xf…

毫米波雷達標定(2)

1. 前言 前面文章中介紹了產線上毫米波雷達的標定原理和流程,這篇文章則主要介紹其在線標定方法。相對于產線標定,在線標定具備使用自然場景而不是依賴特定標靶的優點,但因此其標定精度會相對差一點。在線標定一般應用于售出產品的維護場景,如果其標定結果精度可以滿足使用…

Linux fority source和__builtin_xxx

這段代碼是用于啟用和配置 GCC/Clang 的 Fortify Source 安全機制的預處理指令。Fortify Source 主要用于在編譯時增強對緩沖區溢出等內存安全問題的檢查。以下是對每一部分的詳細解釋&#xff1a; 1. 最外層條件編譯 # if CONFIG_FORTIFY_SOURCE > 0目的&#xff1a;檢查…

SQL GROUP BY 自定義排序規則

在 SQL 中&#xff0c;GROUP BY 子句用于將結果集按一個或多個列進行分組。默認情況下&#xff0c;GROUP BY 會按照列的自然順序&#xff08;如字母順序或數字順序&#xff09;進行排序。如果你需要按照自定義的排序規則對結果進行分組&#xff0c;可以使用 ORDER BY 子句結合 …

語言模型理論基礎-持續更新-思路清晰

1.預訓練 相似的任務A、B&#xff0c;任務A已經用大數據完成了訓練&#xff0c;得到模型A。 我們利用-特征提取模型的-“淺層參數通用”的特性&#xff0c;使用模型A的淺層參數&#xff0c;其他參數再通過任務B去訓練&#xff08;微調&#xff09;。 2.統計語言模型 通過條件…

ResNet與注意力機制:深度學習中的強強聯合

引言 在深度學習領域&#xff0c;卷積神經網絡&#xff08;CNN&#xff09;一直是圖像處理任務的主流架構。然而&#xff0c;隨著網絡深度的增加&#xff0c;梯度消失和梯度爆炸問題逐漸顯現&#xff0c;限制了網絡的性能。為了解決這一問題&#xff0c;ResNet&#xff08;殘差…

【C++】——C++11新特性

目錄 前言 1.初始化列表 2.std::initializer_list 3.auto 4.decltype 5.nullptr 6.左值引用和右值引用 6.1右值引用的真面目 6.2左值引用和右值引用比較 6.3右值引用的意義 6.3.1移動構造 6.4萬能引用 6.5完美轉發——forward 結語 前言 C&#xff0c;這門在系統…