Intro
- 僅是筆記,如有侵權,請聯系作者,將會撤銷發布。
- Federated Optimization for Heterogeneous Networks(arXiv:1812.06127v2)、
- 網絡資源
\(\gamma\) - inexact solution
- \(\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
- 安全地包含系統異質帶來的不同的本地工作量
框架
- 分析部分(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\)