📌MSCFL论文实验
1. 选择数据集
论文用这些图像分类数据集模拟不同客户端的数据分布和设备能力差异,共同训练图片分类模型!
①FMNIST:Fashion-MNIST,服饰图片
②SVHN:街景门牌数字图片
③CIFAR-10
④CIFAR-100
2. 选择模型
3. 评价指标
①分类准确率:记录各方法达到的最高准确率,衡量模型效果。
②聚类准确率:看算法把客户端分组分得是否正确;论文主要比较第一轮聚类结果。
③聚类耗时:比较对 250 个客户端进行聚类所需的时间。
4. 对比算法
①One-shot
先让客户端训练并上传本地模型更新,服务器再根据这些更新,用 K-means 把客户端分组;之后每组各自训练自己的模型。论文将它作为“根据本地更新聚类”的基线。
②FL+HC
HC 是“层次聚类”。服务器比较客户端本地更新之间的距离,逐步把相似客户端合并成组;每组之后训练一个专属模型。
③IFCA
客户端会尝试不同簇的模型,比较这些模型在自己本地数据上的损失,然后选择表现最好的那个簇模型继续训练。服务器再根据各组客户端的更新来优化对应模型。它会反复交替进行“选组”和“训练组模型”。
④FlexCFL
FlexCFL根据客户端的模型优化方向是否相似来分组,并支持客户端数据分布变化后迁移到其他组,也设计了新客户端加入时的处理机制。
⑤MSCFL
本论文的方法,依据剪枝后模型的结构掩码,并根据掩码变化决定是否重新聚类
5. 实验(图)
5.1 图1解释
这张图展示的是 MSCFL 每一轮如何训练、剪枝、分组和聚合。
①服务器把客户端所属分组的模型发给客户端。不同客户端可能收到不同分组的模型。②客户端用自己的本地数据训练一小段时间,让模型适应本地数据。③客户端根据自身能力和剪枝方法,删掉一部分网络结构。(同时记录哪些结构保留、哪些被删掉的“掩码”)④客户端在剪枝后的模型上继续训练。⑤客户端把训练后的剪枝模型与掩码上传到服务器。⑥服务器比较本轮和之前的掩码,判断客户端的数据特征是否可能发生了变化,没变化就不用重新聚类,有变化,就根据模型结构重新聚类,再聚合模型。
5.2 图2解释
这张图是论文的动机实验,想说明:把“客户端剪枝”加到传统聚类联邦学习里后,客户端能力不同会让聚类变难。
x轴是几种传统聚类方法:FL+HC、Nxor、One-Shot、IFCA、FlexCFL。
y轴是训练出来的模型分类准确率
绿色 Homogeneous:客户端设备能力相近,剪枝后的模型结构比较相似。
橙色 Heterogeneous:客户端能力不同,剪枝后的模型结构差异更大。
左图看客户端分组是否分对了【聚类准确率】:设备能力相近时,几种方法的聚类准确率都很高;能力不同时,准确率明显下降。也就是说,传统方法不容易区分“数据不同造成的模型差异”和“剪枝造成的模型结构差异”。
右图看分组后模型的分类准确率【模型准确率】:异构条件下准确率也有下降,不过没有左图那么明显。
5.3 图3解释
这张图不是在测分类准确率,而是在看:根据模型被剪掉或保留下来的结构,能不能区分同一组和不同组的客户端。
纵轴 Similarity:模型结构相似度,越接近 1,表示结构越相似。
左图 x 轴 Pruning ratio(剪枝比例):模型中被剪掉的结构占比。比如 0.2 表示剪掉约 20%。
右图 x 轴 Retaining ratio(保留比例):模型中被保留的结构占比。比如 0.8 表示保留约 80%。
红线 Same Cluster:属于同一个簇的客户端。
黄线 Different Cluster:属于不同簇的客户端。
左边那张图:红线一直很高,说明同一簇客户端被剪掉的结构通常比较相似。黄线在剪枝比例较低时明显更低,表示不同簇客户端的被剪结构差异较大,比较容易区分。但随着剪枝比例增加,黄线逐渐接近红线。也就是说,剪掉的结构越来越多后,不同簇客户端之间也会显得相似,单看被剪掉的结构就越来越难区分客户端。
右边那张图:红线仍然接近 1,说明同一簇客户端的保留结构很相似。黄线也比较高,而且随保留比例增加而更接近红线。因此,保留的结构整体上也能提供一些区分信息,但保留得越多,里面共同的结构也越多,区分不同簇的能力会减弱。
5.4 图4解释
这张图比较的是 MSCFL 和其他方法在不同数据集、不同 Non-IID 数据条件下,模型准确率随训练轮数的变化。
横轴 Rounds:联邦训练的通信轮数。每一轮客户端训练并把模型更新交给服务器。
纵轴 Accuracy:模型分类准确率,越高越好。
每条曲线:一种联邦学习方法的表现,包括 MSCFL 和 FL+HC、FlexCFL、IFCA、One-shot 等对比方法。
上排 Feature:特征分布不同。例如一部分客户端的图片被旋转,另一部分没有。
下排 Label:标签分布不同。不同客户端主要拥有不同类别的数据。
四列:分别是 FMNIST、SVHN、CIFAR-10 和 CIFAR-100这4个数据集
5.5 图5解释
图5研究的是:数据(左图)差异变大、客户端设备能力(右图)差异变大时,各方法还能不能把客户端分对组。
横轴表示异质性程度,越往右,异质性越强。
纵轴表示聚类准确率,越高说明客户端分组越准确。
不同色线表示使用不同的方法,图片主要说明了本论文方法分类更准确……
5.6 图6解释
图6是在 CIFAR-10 上模拟数据分布每隔5轮发生一次变化,观察模型准确率会不会受影响。这里纵轴是模型分类准确率,不是聚类准确率。(左图:特征分布漂移,右图:标签分布漂移)
这张图片说明:数据分布变了,原来的客户端分组可能不再合适;MSCFL通过检测变化并重新分组,尤其在这个实验的标签漂移条件下,能更好地维持模型准确率。
6. 实验(表)
6.1 表1解释【效果好】
两类non-iid场景下,MSCFL 和四种基线方法训练出的分类模型准确率。数字越高,表示模型分类效果越好。
6.2 表2解释【聚类快】
表2比较的是:在数据漂移实验中,各方法完成客户端聚类所花的时间。单位是秒,数值越小,聚类越快。
MSCFL-α是去掉簇迁移策略的版本,所以聚类开销略低;完整 MSCFL 多花一点时间,但仍比多数对比方法快。One-Shot 在部分数据集上也和 MSCFL 接近,甚至略快。






