联邦策略:FedSCR#

概览#

稀疏方法

量化方法

残差

编码

上行

下行

FedSCR

结构化阈值

None

Yes

None

Yes

No

处理Non-IID

处理 Dropping/Skipping

通用性

自适应阈值

None

只能应用在Conv Net

FedSCR的主要motivation是选择性地将部分重要更新进行回传,主要贡献如下

  1. 对卷积网络中参数更新的pattern进行实证研究,发现“处于同一filter”和“处于同一channel”的参数梯度往往有很强的相关性

  2. 按照(1)中的结论,在upstream的时候将选择性地不传输一些“不重要”(绝对值和低于threshold)的filter或channel参数,作为sparsity的方法

  3. 针对non-iid的情况提出了adaptive FedSCR,能够按照异质性的情况控制每个client有不同的threshold

实证研究#

It is observed that in the training process of the convolutional neural network, there is a strong correlation between the parameters corresponding to the same channel under the same filter:

fed_scr_1

观察到在卷积神经网络的训练过程中,同一个filter下的、对应同一个channel的参数之间有很强的相关性:fed_scr_1图中是在epoch=1/15/50/100时对于一固定层参数梯度值的可视化:其中每三行对应该层的一个filter,一个filter中每三列对应该层input的一个channel,可以观察到同一行/列的参数之间有很大的相关性

  1. 同一filter/channel中weights的更新梯度很相似

  2. 当一个参数接近拟合,同一filter/channel中的其他参数有很大概率也接近拟合

压缩设计#

数学表达#

计算一个 Channel 对应的梯度绝对值之和:

$$ C^{k,l}f(n)=\sum{j=0}^{F_l}|u^{k,l}_{j,i,;,;}(n)| $$

计算一个Filter对应的梯度绝对值之和:

$$ F^{k,l}f(n)=\sum{j=0}^{Cl}|u^{k,l}{i,j,;,;}(n)| $$

如果 C/F < threshold,则将这一 channel/filter 置0;

Pseudo Code (Compression)#

algo

Adaptive FedSCR#

为了针对non-iid的数据分布,提出了adaptive FedSCR,目的是让每个client根据自身参数更新的情况(Weight Divergence,Significance of Local Updates)以及全局数据分布的情况(Impact of Data Distribution)调整每个client做稀疏化时用的threshold

收敛证明#

reference:Structure-Based Communication Reduction for Federated Learning

实验#

on threshold#

scr_exp_1

on Convergence#

scr_exp_2

scr_exp_3

on Convergence (non-iid, compare with FedSTC)#

scr_exp_4

on accuracy#

scr_exp_5

参考文献#

Structure-Based Communication Reduction for Federated Learning