---
title: "聯邦平均算法（Federated Averaging）"
slug: federated-averaging
language: zh-TW
source: https://aiterms.tw/learning/what-is-federated-averaging
updated_at: 2026-07-04
tags: [聯邦學習, 模型訓練, 最佳化, source:arxiv]
ipas_term: false
type: deep-dive
---

# 聯邦平均算法 是什麼？

> 聯邦平均算法透過對多個節點的本地模型參數進行加權平均，在不收集原始資料的情況下訓練全局模型。

## 核心概念
聯邦平均算法是聯邦學習領域中最基礎且廣泛使用的優化演算法之一。在傳統機器學習架構中，模型訓練通常需要將所有資料集中到一個中央伺服器進行處理。然而，隨著隱私保護意識抬頭以及各國資料保護法規的推行，將大量包含個人隱私的資料集中存儲與處理變得越來越困難且具有法律風險。為解決這個難題，聯邦學習應運而生，而聯邦平均算法正是支撐這項技術運作的關鍵核心。

聯邦平均算法的核心思想是在資料不離開本地設備的前提下，透過交換模型參數來達到共同學習的目的。在這種架構下，存在一個中央伺服器以及多個參與訓練的客戶端，這些客戶端可以是智慧型手機、物聯網設備或是各機構的本地伺服器。每個客戶端都擁有自己的本地資料集，這些資料集彼此獨立且不對外公開。

在訓練過程中，中央伺服器會維護一個全局模型，並將這個全局模型分發給各個參與的客戶端。客戶端在接收到全局模型後，會使用自身的本地資料對模型進行一定次數的迭代訓練，這個過程被稱為本地更新。由於每個客戶端的資料特徵可能不盡相同，經過本地更新後的模型參數會產生各自的偏移。完成本地訓練後，客戶端不會將原始資料上傳，而是將計算出的模型權重發送回中央伺服器。

中央伺服器在收集到足夠數量的客戶端模型更新後，會執行聚合操作。聯邦平均算法的聚合方式非常直觀，也就是根據每個客戶端參與訓練的資料樣本數量，對收集到的模型參數進行加權平均計算。資料樣本數量越多的客戶端，其計算出的模型參數在全局模型更新中所佔的權重就越大。透過這種參數聚合的方式，中央伺服器可以計算出新的全局模型，並將其再次分發給各客戶端，開始新一輪的訓練迭代。

這種反覆進行模型分發、本地訓練、參數上傳以及全局聚合的過程，使得全局模型能夠逐漸收斂。這意味著所有參與者都能從整體資料中獲益，獲得一個具備良好泛化能力的模型，同時不需要向任何人暴露自己的敏感資料。

## 運作原理
聯邦平均算法的運作原理可以拆解為多個清晰的步驟，透過伺服器與客戶端之間的週期性通訊來完成整個訓練生命週期。這個過程通常被組織成多個通訊輪次，每一輪都包含相同的執行流程。

在訓練任務初始階段，中央伺服器會負責初始化一個全局神經網路模型。這個模型可以是任何架構，例如卷積神經網路或遞迴神經網路，具體取決於所要解決的任務類型。伺服器需要設定模型的所有初始參數，並決定訓練過程中的各項超參數，例如每一輪參與訓練的客戶端比例、客戶端在本地進行訓練的批次大小、學習率以及本地訓練的迭代次數。

當第一輪通訊開始時，伺服器會從所有可用的客戶端群體中，隨機挑選一定比例的客戶端作為本輪的參與者。這種隨機抽樣的機制不僅有助於降低每次通訊的網路頻寬消耗，也能夠在一定程度上增加訓練的隨機性，有助於模型的泛化。選定參與者後，伺服器會將目前的全局模型參數完整發送給這些客戶端。

客戶端在接收到全局模型參數後，會將其覆蓋自己本地的初始模型。接著，客戶端開始利用本地儲存的資料集對模型進行訓練。在這裡，客戶端通常會採用隨機梯度下降或其變體演算法來更新模型參數。與傳統的分散式隨機梯度下降不同，在聯邦平均算法中，客戶端並不是每計算一次梯度就與伺服器進行通訊，而是在本地連續執行多個批次的訓練迭代。這種設計大幅減少了伺服器與客戶端之間的通訊頻率，因為在分散式環境下，網路傳輸延遲通常是限制訓練速度的關鍵瓶頸。

在客戶端完成預定的本地訓練次數後，它會得到一個新的模型參數狀態。此時，客戶端會計算更新後的模型參數與原始接收到的全局模型參數之間的差異，或者直接將完整參數發送回中央伺服器。為了進一步提升通訊效率與安全性，這些參數有時會經過量化、壓縮或是加上加密機制的處理。

中央伺服器在等待並接收到參與客戶端傳回的模型參數後，便進入聚合階段。伺服器會根據每個客戶端在本地訓練時所使用的資料樣本數量，計算一個加權平均值。具體而言，伺服器會將每個客戶端的模型參數乘上一個權重，該權重等於該客戶端資料量除以所有參與客戶端資料量總和。將這些加權後的參數相加，就能得到新一輪的全局模型參數。

這個循環會不斷重複執行，直到全局模型達到預期的效能標準，或者達到預先設定的最大通訊輪次為止。透過這種設計，聯邦平均算法巧妙地在計算效率、通訊成本以及模型準確度之間取得了平衡。

## 實際應用
聯邦平均算法因為其獨特的隱私保護特性，在許多對資料敏感度要求極高的產業中找到了廣泛的應用場景。這些應用不僅解決了資料孤島的問題，還促進了跨機構的技術合作。

在智慧型手機應用領域，聯邦平均算法被廣泛應用於鍵盤輸入預測與語音辨識系統的優化。使用者的打字習慣、常用詞彙以及語音指令包含了大量的個人隱私資訊。透過該技術，手機可以在本地設備上根據使用者的日常輸入資料訓練語言模型，並定期將模型更新上傳到雲端伺服器。伺服器聚合來自成千上萬台設備的模型更新後，就能產生一個更聰明、更準確的全局輸入預測模型。所有的對話內容都只保留在使用者手機上，但每個人都能享受到由全體使用者共同優化帶來的高品質服務。

醫療健康產業是另一個受惠於聯邦平均算法的重要領域。醫院和醫療研究機構擁有大量珍貴的病患資料，如醫學影像、電子健康紀錄等。然而，受到嚴格的醫療隱私法規限制，這些機構很難將資料集中起來訓練強大的輔助診斷模型。利用聯邦平均算法，多家醫院可以組成學習聯盟，各自在本地利用自身的病患資料訓練疾病檢測模型。中央伺服器僅收集各家醫院上傳的模型參數進行聚合，從而訓練出一個見識過多種病患特徵的醫療人工智慧系統，同時完全遵守保護隱私的規範。

金融服務業同樣面臨嚴格的資料監管與同業競爭問題，各家銀行通常不願意分享客戶的交易記錄與信用資料。在反洗錢偵測和信用風險評估方面，聯邦平均算法提供了一個理想的解決方案。多家金融機構可以合作建立跨機構的欺詐偵測網路，各家銀行利用自身的交易日誌在本地訓練異常偵測模型，並透過框架進行參數交換。這不僅保護了客戶的財務隱私，還讓模型能夠學習到跨機構的欺詐模式，有效提升整體金融系統的安全性。

在物聯網和智慧製造領域，工業設備通常會產生海量感測器資料。將這些資料全部傳輸到雲端進行處理不僅耗費巨大頻寬，也有洩漏商業機密的風險。聯邦平均算法使得預測性維護模型可以在各個工廠的邊緣設備上進行本地訓練，透過模型參數的匯總，整個工業網路可以共同提升對設備故障的預測能力，實現更高效的智慧製造管理。

## 常見誤區
在探討聯邦平均算法時，人們往往會產生一些概念上的誤解。釐清這些誤區對於正確應用這項技術至關重要。

一個普遍的誤區是認為該技術可以完全消除資料外洩的風險。雖然該演算法確實確保了原始資料不離開本地設備，但模型參數本身依然可能攜帶有關訓練資料的微小特徵。在某些攻擊場景下，惡意攻擊者可能會透過分析伺服器接收到的模型參數更新，嘗試反向推導出部分本地資料的資訊。這種攻擊方式被稱為模型反演攻擊或成員推論攻擊。因此，在實際部署中，聯邦平均算法通常需要與差異化隱私技術或安全多方計算結合使用，藉由在參數中加入雜訊來提供更嚴格的隱私保護保證。

另一種常見的誤解是假設其在所有情境下都能達到與集中式訓練完全相同的模型準確度。事實上，在資料呈現高度非獨立同分布特性的情況下，效能可能會面臨挑戰。由於各個客戶端擁有的資料分佈可能差異巨大，例如某些客戶端只有特定類別的影像資料，這會導致各個本地模型在訓練時朝著截然不同的方向優化。當伺服器對這些差異極大的參數進行平均時，可能會產生抵消效應，導致全局模型難以收斂或準確度下降。

此外，許多人忽視了聯邦平均算法對系統資源的特殊要求。雖然它減少了原始資料的網路傳輸，但頻繁地在客戶端與伺服器之間傳遞龐大的模型參數，依然會佔用大量網路頻寬。對於處於行動網路不穩定環境的邊緣設備來說，這可能構成嚴重的通訊瓶頸。同時，客戶端需要具備足夠的運算能力和電池續航力來執行本地模型訓練，這在資源受限的物聯網設備上可能是一大挑戰。

有人可能會認為它只需處理一次性的訓練任務，但實際上它通常是一個持續進行的動態過程。隨著時間推移，客戶端的資料分佈可能會發生變化，新的設備也可能隨時加入或退出訓練網路。因此，如何設計靈活的參與者選擇機制以及處理資料概念漂移的問題，是維持模型長期有效性的重要課題。

## 與相關技術的比較
為了更全面地理解聯邦平均算法的定位，將其與其他相關的分散式運算和隱私保護技術進行對比是非常有幫助的。

與傳統的分散式機器學習相比，聯邦平均算法面臨的挑戰更複雜。在資料中心的標準分散式訓練中，資料通常是被均勻且隨機地分配到各個計算節點上，每個節點的運算能力和網路連線都非常穩定。相反地，聯邦平均算法運作在一個高度異質的環境中。各個客戶端的資料量差異懸殊且資料分佈不均衡，設備的運算速度、儲存空間以及網路狀態也千差萬別。這種設備與資料的雙重異質性，使得必須設計特殊機制來容忍設備掉線和處理資料帶來的模型權重偏差問題。

在參數更新策略上，它與分散式隨機梯度下降也有顯著區別。在分散式隨機梯度下降中，每個計算節點通常在處理完一個小批次資料計算出梯度後，就會立即與參數伺服器進行通訊以更新全局權重。而聯邦平均算法允許客戶端在本地執行多輪的批次訓練後，才將累積的模型參數變化上傳。這種設計大幅降低了通訊頻率，特別適合網路延遲較高的廣域網路環境，是其能夠在邊緣設備上落地的關鍵優勢。

若與其他隱私保護技術如安全多方計算進行對比，兩者在實作邏輯上有本質不同。安全多方計算主要依賴密碼學協議，允許多個參與方在不揭露各自輸入資料的前提下共同計算一個函數。這種技術雖然提供了嚴格的數學安全性證明，但其計算複雜度與通訊開銷往往極其龐大，難以應用於訓練包含數百萬參數的深度神經網路。相比之下，聯邦平均算法計算效率和擴展性要好得多，能夠支持大規模的模型訓練任務。

在聯邦學習領域內部，聯邦平均算法也常與其他變體演算法比較。例如針對資料異質性問題而提出的多種改良演算法，它們試圖在本地訓練階段加入正則化項，限制本地模型偏離全局模型過遠，以此來穩定訓練過程。雖然這些改良演算法在特定資料集上表現更好，但聯邦平均算法依然憑藉其易於理解、實作簡單以及在多數實際場景中表現穩定的特點，成為該領域最基礎且被廣泛部署的基準演算法。

## 常見問題

### 聯邦平均算法在網路連線不穩定的環境下還能運作嗎？

在網路連線不穩定的環境中，聯邦平均算法依然具備一定的運作能力與容錯機制。系統在每一輪通訊中通常只會隨機選擇一部分客戶端參與訓練，而不是要求所有設備同時在線。如果某個參與的客戶端在本地訓練期間網路中斷，無法在規定的時間內將模型參數上傳，伺服器會直接忽略該客戶端本次的更新，並利用其他成功上傳的參數進行全局聚合。這種設計有效避免了單點故障導致整個訓練過程停滯的問題。然而，如果大量設備長期處於斷線狀態，可能會導致整體訓練收斂速度變慢，或者模型無法充分學習全局特徵。實務上通常會設計非同步通訊機制來進一步適應這類環境。

### 如何解決各個終端設備運算能力差異懸殊的問題？

在實際應用中，參與聯邦學習的設備硬體規格差異極大，從高階伺服器到低階物聯網感測器都有可能。為了避免運算能力較弱的設備拖慢整體訓練進度，可以採用多種優化策略。首先，伺服器在分發模型時，可以根據客戶端的硬體狀態動態調整本地訓練的任務量，例如要求低階設備執行較少的訓練迭代次數。其次，可以引入子模型訓練機制，讓資源受限的設備只訓練神經網路的一部分，或者接收輕量化模型版本。此外，非同步的聚合方式允許伺服器在收集到部分較快設備的更新後即可推進訓練輪次，不需等待最慢的設備完成計算，大幅提升整體系統的執行效率。

### 如果有惡意節點故意上傳錯誤的模型參數會發生什麼事？

如果網路中存在惡意節點故意上傳偽造或被破壞的模型參數，這被稱為資料中毒或是模型中毒攻擊。在標準的架構下，由於伺服器會將所有收到的參數進行加權平均，惡意更新會直接污染全局模型，可能導致模型準確度大幅下降，甚至讓模型在面對特定輸入時產生攻擊者預期的錯誤輸出。為了防禦這類安全威脅，系統通常需要引入強健的聚合演算法。這些防禦機制會在聚合前對收集到的參數進行異常檢測，過濾掉與群體分佈差異過大的惡意更新，或者採用中位數聚合等不受極端值影響的統計方法，以確保即使部分節點異常，整體網路依然能產出可靠的模型。

---

深度解說頁：https://aiterms.tw/learning/what-is-federated-averaging
快查頁：https://aiterms.tw/terms/federated-averaging
最後更新：2026/07/04