文章目录

总结:0. Three questions1. 相关工作1.1 聚类联邦学习1.2 FedDK 框架执行步骤:1.2.1 客户端调度

总结:

0. Three questions

文章在解决什么问题? 传统的联邦学习应用到非独立同分布数据上时,模型精度较低。

实验证明,当联邦学习的各节点的数据分布差异过大时,训练出来的模型精度会大大降低。

用了什么方法 (创新方法) ? 提出聚类联邦学习框架 FedDK:先将用户分入不同的聚簇,然后为每一个聚簇训练一个模型。 该方法面临的挑战是,用户的聚类标识未知。确认用户的聚类标识,需要解决两个问题:

标识每个用户的集群成员关系在分布式条件下优化每一个聚类模型 解决以上两个问题的思路: 1)使用 DeepSets 对工作节点的本地数据进行特征提取,生成一个代表本地数据分布的特征描述符。 2)接下来使用 K-Means 聚类算法对特征描述符进行分组,将具有相似数据分布的工作节点分入同一个组(聚簇),最后每一个组(聚簇)中的所有工作节点共同训练一个模型。 效果如何? FedDK 有效降低了数据非独立同分布给模型精度带来的影响。模型预测的精确度有较大提升,且需更少的计算量。 一句话总结创新点 在no-IID的工作节点中,通过将数据分布相似的工作节点分到同一个组(组中节点数据被认为是IID的)并训练同一个模型的方法来解决非独立同分布数据带来的问题;实质:通过聚类算法把 no-IID的工作节点划分为多组 IID的工作节点。 在此基础上我的想法 可以在工作节点与服务器通信时,添加差分隐私。

1. 相关工作

1.1 聚类联邦学习

聚类联邦学习(CFL) 是本地训练和全局训练的一种折中,它可以缓解本地训练中数据不足的问题, 也可以减少非独立同分布数据对全局模型的影响。

如何对工作节点进行分组,有四种不同的方法:

利用模型之间的参数距离利用训练损失使用梯度信息来决定分区使用数据的原始信息

1.2 FedDK 框架执行步骤:

1)使用 DeepSets 对用户的本地数据进行特征提取,生成一个代表本地数据分布的特征描述符。并将特征描述符上传至服务器节点。

2)服务器节点采用 K-Means 聚类算法对特征向量进行聚类(欧式距离),给具有相似数据分布的工作节点赋相同的聚簇标识。

3)在服务器节点的调度下,工作节点根据聚簇标识被分到不同的组中,在组内使用最优化方法进行模型训练,每组(聚簇)训练一个模型。

服务器聚合权重时:模型之间根据各模型的训练数据量设定对应的权重,权重的大小与聚簇中测试数据集的大小成正比。

1.2.1 客户端调度

目的:对具有相似数据分布的客户端进行统一调度,使它们协同训练联邦模型。

注:同一聚簇中所有节点的数据可以视为独立同分布(IID)数据。

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: