公平联邦学习——多目标优化
公平联邦学习——多目标优化
联邦学习(Federated Learning, FL)是一种分布式机器学习框架,允许多个设备或机构在不共享数据的情况下共同训练模型。然而,在实际应用中,联邦学习往往面临公平性问题,即模型在不同客户端上的性能差异较大。本文将介绍一种基于多目标优化的公平联邦学习方法,通过引入多梯度下降和公平指导,有效提升模型的公平性和收敛速度。
联邦学习背景
横向联邦学习的基本原理可以概括为以下三种模型训练方式:
- Individual Learning:每个用户仅使用自己的数据进行本地模型训练。
- Centralized Learning:所有用户的数据集中到一个地方进行统一训练。
- Federated Learning:用户在不共享数据的情况下,通过本地训练结果的聚合来训练全局模型。
这三种模型训练方式的对比如下图所示:
总结来说,通用联邦学习的流程包括:
- Server在第 t 轮通信时将全局模型分发给各个客户端。
- 客户端收到模型后进行本地训练,并上传模型更新的梯度或本地更新给Server。
- Server基于收到的梯度或本地更新来更新全局模型。
- 进入下一轮迭代,直到达到终止条件。
公平联邦学习
在联邦学习中,公平性是一个重要问题。例如,当模型在某些用户的数据上精度很高,但在其他用户上则表现很差时,模型就被认为是不公平的。下图展示了这种不公平现象:
为了提升模型的performance fairness,一个直观的方法是让模型在各个客户端上的精度更加平均。通常使用标准差来衡量公平性,但标准差不是scale-free的。因此,这里引入余弦相似度来衡量公平性。
导致模型不公平的直接原因
导致模型不公平的两个直接原因:
- 使用了一个会加剧不公平的更新方向来更新模型;
- 使用了一个不恰当的学习率来更新模型。
FedMDFG:多梯度下降与公平指导
FedMDFG(Federated Learning with Multi-Gradient Descent and Fair Guidance)通过多目标优化来解决模型不公平的问题。具体来说,将模型参数ω看作是决策变量,每个用户的training loss(记为L)看作优化目标,构建一个多目标优化问题:
由于这是一个连续变量的优化问题,可以使用Multiple Gradient Descent Algorithm (MGDA)来求解出一个common descent direction来更新模型。但是,仅仅做到这一点并不能确保模型的公平性。因此,文章引入了一个新的优化目标:
其中h是这样一个向量:
它是在clients的loss组成的向量L(ω)上作一个垂直的向量,并进行归一化所得。如下图所示:
通过优化这个目标,可以确保L(ω)在偏离公平引导向量p=(1,1,...,1)时被拉回,从而促进模型的公平性。
步长线性搜索
FedMDFG还提出了一套适用于FL的线性搜索步长策略。简单来说,就是Server计算出公平更新方向后,客户端用这个方向以及一系列从大到小的步长进行local training,并评估结果的loss,发给Server。Server在收集所有的loss反馈后,选择一个最大的、并且相较于旧模型在精度和公平性上变得更好的步长,来作为最终正式更新模型的参数。
这种方法的优点是:
- 不再依赖调节learning rate这个超参数;
- 通信过程中只需要来回传标量值,不会增加很多额外的通信开销。
实验结果
实验结果表明,FedMDFG显著提升了算法的收敛速度和收敛效果,并且在公平性上也明显好很多。文章还给出了复现的代码。
总结
将多目标优化与联邦学习结合,确实是一个很令人信服的方法。它能够具有理论保障地改善联邦学习的公平性,使得联邦学习在non-IID的场景下表现更佳。并且引入步长的线性搜索策略,能让联邦学习更具备落地实用性。
本文原文来自CSDN博客,作者对联邦学习和多目标优化有深入研究,文章内容具有较高的学术价值和实践指导意义。