Advertisement

Federated Learning with Non-IID Data

阅读量:

文章链接:https://arxiv.org/pdf/1806.00582.pdf

1、概述

问题:

联邦学习环境下clinet数据的Non-IID对最终得到模型的性能会产生较大负面影响

解决方法: 使用全局共享数据

2、Non-IID情况下的FedAvg

实验 证明在non-IID的情况下FedAvg在三中数据集上会有性能下降

数据集:MNIST,CIFAR-10,Speech commands datasets

clinets:10个

数据集划分:

IID:将数据集打乱每个clinet平均分到1/10

non-IID:每个节点数据量相同,每个节点分到一类数据/每个节点分到两类数据

实验结果

3、Non-IID数据会带来权重差异

权重差异定义:

wFedAvg:联邦学习训练得到的模型

wSGD:汇集所有数据后利用SGD训练出来的模型

节点数据non-IID越严重则权重差异越大

数学证明权重差异来自clinet的non-IID数据分布,证明细节见附录1

第T轮通信以后的权重差异如下式:

结论1 :联邦学习m轮通信权重差异仅受:第m-1轮权重差异(每轮通信本地进行T轮迭代) 以及当前节点数据分布与所有节点总体数据分布差异 的影响

结论2 :联邦学习不同节点如果不从相同的初始参数w开始,则即便节点之间数据分股为iid,则还是会存在权重差异导致模型准确性下降

(公式第一项为主导因素)

结论3 :当联邦学习开始于同样的初始参数w时,不同节点之间数据的Non-IID占权重差异的主导因素。EMD距离可以用还衡量公式第二项。(公式第二项为主导因素)

实验验证

(1)实验准备:

数据集:MNIST,CIFAR-10,KWS

数据集划分:

(2)权重差异 vs EMD

对于一个EMD距离生成五种不同的clint数据分布并计算权重差异:

纵轴展示了初始权重相同,进行一轮通信以后(权重差异不受上一轮影响),每个EMD下五种分布的权重差异均值与标准差。随着EMD的增加,网络不同层之间权重差异逐渐加大

(3)测试准确率 vs EMD

EMD超过一定阈值以后会带来测试性能的明显下降

不同EMD对应的五种clinet数据分布最终准确率标准差都较小,说明同一EMD下具体的不同数据分布对模型准确率影响不大(可能与数据生成方式有关)

4、解决方案

动机

利用EMD超过一定阈值会带来明显性能下降的特点,利用数据共享的方法,提出一小部分共享的数据集来降低不同clinet数据分布的EMD。

server预先生成一部分在各类之间平均分布的共享数据

共享数据预训练至60%准确率的参数作为初始参数w0

数据共享策略

实验数据集:CIFAR-10

数据划分:训练数据:40000(每个节点分到一类);

G:类间平均分布的共享数据

参数belta:共享数据集G与训练数据的比例

保留数据H:10000,用于构造10个不同的G,使belt取值范围为2.5%-25%

client数量:10

通信轮数:300

训练流程:

1、利用G进行预训练,使模型精度达到60%左右停止

2、选取G种alpha比例的数据平均分给各个节点,进行联邦训练至模型收敛

结论:

(1)测试准确率与G之间的权衡如图7a :alpha=1

belta = 10%时模型准确率由44%提高到74.12%

(2)belta = 10% 与 20% 的情况下alpha 与EMD的权衡如图7b

随着alpha的增加测试准确率上升,alpha在0-50%时效果比较明显

每个clinet只需要5%的total data数量的全局数据就能带来30%性能提升(40000*10%*50% = 200, 每个clinet有4000个数据)

总结:

利用共享数据的方式能够较为有效解决数据Non-IID的问题,但也存在一些问题:

1、当总体数据量较大时5%的总体数据数量会带来clinet存储与传输的额外开销

2、引入共享数据以后整体模型表现提高,但是否可能会对模型的特异性造成影响

全部评论 (0)

还没有任何评论哟~