当使用非 IID 数据集的联邦学习中工作人员数量增加时,验证准确性会降低

The validation accuracy gets lower when the number of workers increases in Federated Learning with non-IID dataset

我使用人类 activity 识别 (HAR) 数据集和 6 classes 使用联合学习 (FL)。在这种情况下,我通过将 (1) 每个 class 数据集分配给不同的 6 个工作人员,(2) 两个 classes 分配给 3 个不同的工作人员,以及 (3) 三个 classes 给 2 个不同的工人。

当我运行 FL 过程时,场景 (3) > (2) > (1) 的验证准确率。我希望所有场景都能获得几乎相同的验证准确率。对于每个场景,我都使用相同的超参数设置,包括批量大小、洗牌缓冲区和模型配置。

在 FL 中使用非 IID 数据集是否常见,或者我的结果有什么问题?

每个工人只有一个(和所有)一个标签的场景可以被认为是联合平均的“病态坏”非独立同分布。

在这种情况下,每个工人都有可能学会只预测它拥有的标签。该模型不需要区分任何特征:如果工人只有 class 1,它可以预测 class 1 并获得 100% 的准确率。每一轮,当所有模型更新被平均时,全局回到一个模型,该模型仅以 1/6 的概率预测每个 class。

每个 worker 的示例分布越接近全局分布(或彼此之间,即客户端数据集的 IID 越多),其本地训练将产生对同一全局模型的更新越接近方向作为平均更新,导致更好的训练结果。