概要
Federated Optimization in Heterogeneous Networks 一文中,针对我们最长使用的FedAvg提出了一些改进,使得面对边缘设备上数据不稳定等异构问题。
核心思想
FedProx针对FedAvg算法的两个方面进行了调整。一个是不同设备计算能力存在差异,单纯的迭代会让部分设备承受压力过大。同时想让本地模型不偏离全局模型,影响全局模型收敛。
针对这两个方面,改进算法如下:
- 引入proximal term
其中 F k ( w ) F_k(w) Fk(w)为第k个设备的损失函数,改进的目的解决了上述提到的第二个问题——不偏离全局模型过多 - 同时定义了 r -inexact solution,通过对 local function 的非精确求解,动态调整本地迭代次数,保证对异构系统的容忍度。
算法简要(与FedAvg对比)
可以看到算法核心和FedAvg是一样的,只是在求解w时候改进了上述提到的两项。