文章链接:Link
-
摘要:在联邦学习(FL)中,由于多次本地更新和non-i.i.d.数据集,客户端容易过度拟合到局部最优,偏离全局目标,影响性能。以往的研究大多从优化的角度出发,只注重增强局部目标与全局目标的一致性(FedLin, FedDyn…),以缓解client drift。文章提出了一种新的通用算法FedSMOO,将优化目标和泛化目标结合起来,有效地提高了FL的性能。FedSMOO采用动态正则化器来保证局部最优点向全局目标靠近,同时通过全局锐度感知最小化(sharp Aware Minimization, SAM)优化器对其进行修正,以搜索一致的平坦最小值。理论分析表明,FedSMOO具有较快的 O ( 1 T ) \mathcal{O}(\frac{1}{T}) O(T1)收敛速度和较低的泛化界。
-
Main Contributions:
(1) 相较于FedSAM只寻找local flatness,FedSMOO通过迭代更新局部扰动 s i s_i si促进global generality
(2) 类似于FedDyn,增加了一个正则化项来保证global consistency -
Motivation:
(1) Sharp Aware Minimization, SAM: 旨在优化一个极小-极大问题
min w { f s ( w ) ≜ max ∥ s ∥ ≤ r f ( w + s ) } \min _w\left\{f_s(w) \triangleq \max _{\|s\| \leq r} f(w+s)\right\} minw{ fs(w)≜max∥s∥≤rf(w+s)}
SAM采用近似方式求解此问题,通过在 w w w处进行一阶泰勒展开,此时 w w w处最优的 s s s取值易得
s ∗ ( w ) ≈ arg max ∥ s ∥ ≤ r { f ( w ) + s ⊤ ∇ f ( w ) } = r ⋅ ∇ f ( w ) / ∥ ∇ f ( w ) ∥ s^*(w) \approx \underset{\|s\| \leq r}{\arg \max }\left\{f(w)+s^{\top} \nabla f(w)\right\} =r \cdot \nabla f(w) /\|\nabla f(w)\| s∗(w)≈∥s∥≤rargmax{ f(w)+s⊤∇f(w)}=r⋅∇f(w)/∥∇f(w)∥
故SAM可被视作用于寻找当前损失"flat landscape"的基于GD/SGD的改进optimizer,在集中式设置下基于SGD的更新流程如下( t t t-round):
Perform a SGD step with batch ξ t \xi_t ξt – Find the parameter w + r ∇ f ( w ) ∥ ∇ f ( w ) ∥ w+r\frac{\nabla f(w)}{\| \nabla f(w) \|} w+r∥∇f(w)∥∇f(w) – Calculate the SGD gradient then update(2) SAM拓展到联邦设置(FedSAM)时存在的问题
当拓展到联邦设置下,由于non-i.i.d.数据,局部的pertubation的聚合并不等于全局(基于所有设备本地数据分布)的pertubation,即局部的flat minima聚合后不一定对于全局损失的flat minima,使得模型聚合后得到的并不一定对应全局平坦值,泛化能力的提升是不确定的
1 m ∑ i = 1 m s i ≠ s \frac{1}{m}\sum_{i=1}^{m}s_i \ne s m1∑i=1msi=s -
Methodology
1.为解决global flat landscape问题,即保证local pertubation趋向于global pertubation,文章首先重构优化问题:(这一步相当于解决inner level的极大化问题,即促进global generality)
min w { F ( w ) = 1 m ∑ i ∈ [ m ] F i ( w ) } , F i ( w ) ≜ max ∥ s ∥ ≤ r f i ( w + s ) , \begin{array}{r} \min _w\left\{\mathcal{F}(w)=\frac{1}{m} \sum_{i \in[m]} \mathcal{F}_i(w)\right\}, \\ \mathcal{F}_i(w) \triangleq \max _{\|s\| \leq r} f_i(w+s), \end{array} minw{ F(w)=m1∑i∈[m]Fi(w)},Fi(w)≜max∥s∥≤rfi(w+s),
引入约束,上述问题可进一步重写为
min w i = w { F = 1 m ∑ i ∈ [ m