FedProx 簡介筆記


Intro

  • 僅是筆記,如有侵權,請聯系作者,將會撤銷發布。
  • Federated Optimization for Heterogeneous Networks(arXiv:1812.06127v2)、
  • 網絡資源

\(\gamma\) - inexact solution

  • definition
  • \(\gamma\)-inexact solution 用於衡量每個局部solver在每一輪的本地計算量。
  • 根據設備和迭代的不同,\(\gamma\) 可以不同。

\(\gamma ^t_k\)- inexact solution

FedAvg的缺點

  • 超參數的調整對FedAvg很重要。
  • local epochs 的數量對FedAvg在收斂上至關重要。
    • local epochs 數越大,可以增加本地計算量,可能減少通信。因此可以在通信受限的網絡下提高總體的收斂速度。
    • 但是由於本地目標函數的不同(異質性),太多的local epochs 可能導致每個設備靠近本地的目標函數的最優,而遠離全局的目標函數,可能發散。
    • local epochs 太大可能會導致很多設備無法完成整輪的訓練。
  • 所以最好是,能夠根據每次的迭代和每個設備的不同調整local epochs的數量--> FedProx。

FedProx

Tolerating partial work

  • 與其對所有設備所有迭代用一個\(\gamma\), FedProx對不同迭代和不同設備調整local epochs的數量。

Proximal term

  • 往local subproblem上增加了一個proximal term以有效的限制多變的本地更新
  • 與其只是最小化損失函數\(F_k(\cdot)\), 第k個設備用它選擇的local solver來粗略最小化目標函數\(h_k\): \(min_w h_k(w;w^t) = F_k(w)+\frac{\mu }{2}\left \| w-w^t \right \| ^2\)
    • 區別FedAvg: \(min_w f(w) = \sum^N_{k=1}p_kF_k(w)= E_k[F_k(w)]\)
  • proximal term的好處
    • 解決數據異質的問題:限制本地更新要更加接近初始的(全局的)模型,不需要手動調整local epochs
    • 安全地包含系統異質帶來的不同的本地工作量

框架

fedprox

  • 分析部分(section 4) 在考慮解決分布式設定中這樣的目標的獨特之處:
    • Non-IID
    • 有用local solver
    • 每個設備上的不精確更新
    • 每輪中處於活躍狀態的設備子集
  • 相應選擇\(\mu\)\(h_k\)的Hessian舉證也許會是半正定的,因此:
    • \(F_k\)是非凸的時,\(h_k\)是凸的
    • \(F_k\)是凸的時,\(h_k\)\(\mu\)-strongly convex(\(\mu-\)強凸)的
  • FedAvg實際上就是FedProx的一個特例
    • \(\mu = 0\)
    • local solver選擇了SGD
    • 對不同的設備和更新輪次都是同一個\(\gamma\)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM