MOON & Model-Contrastive Federated Learning
# Model-Contrastive Federated Learning
# 摘要
联邦学习允许多个参与方在不交换本地数据的情况下协同训练机器学习模型。联邦学习的一个关键挑战是处理各参与方本地数据分布的异质性。尽管已有许多研究致力于解决这一问题,但我们发现它们在图像数据集和深度学习模型上的表现并不理想。在本文中,我们提出了 MOON:模型对比联邦学习。MOON 是一个简单而有效的联邦学习框架,其核心思想是利用模型表示之间的相似性来纠正各参与方的本地训练,即在模型层面上进行对比学习。我们的广泛实验表明,MOON 在各种图像分类任务中显著优于其他最先进的联邦学习算法。
愿论文地址:https://arxiv.org/abs/2103.16257
# 1. 引言
深度学习对数据需求极高。模型训练往往可以从大规模、具有代表性的数据集中获益(如 ImageNet 和 COCO)。然而,数据在实际中通常分散在不同的参与方之间(如移动设备和公司)。由于日益增长的隐私担忧和数据保护法规,各参与方无法将其私有数据发送至中央服务器进行模型训练。为应对上述挑战,联邦学习允许多个参与方在不交换本地数据的情况下共同学习一个机器学习模型。其中一个广泛使用的联邦学习算法是 FedAvg。在 FedAvg 的每一轮中,各参与方的本地模型更新被传输至服务器,服务器进一步聚合本地模型以更新全局模型。在此过程中,原始数据并不交换。联邦学习已成为机器学习的重要领域并引起了广泛的研究兴趣。此外,它已被应用于许多领域,如医学影像、目标检测和地标分类。
联邦学习的一个关键挑战是不同参与方数据分布的异质性。在许多实际应用中,各参与方的数据可能是非独立同分布(non-IID)的,这会降低联邦学习的性能。当每个参与方更新其本地模型时,其本地目标可能偏离全局目标,从而使得平均后的全局模型远离全局最优。已有一些研究试图在本地训练阶段解决 non-IID 问题。例如,FedProx 通过限制本地更新的
在本研究中,我们从一个新的角度来解决 non-IID 问题,基于一个直观的观察:在全量数据集上训练的全局模型,能够比在偏斜子集上训练的本地模型学习到更好的表示。具体而言,我们提出了模型对比学习(MOON),通过最大化当前本地模型和全局模型学习到的表示之间的一致性来校正本地更新。不像传统对比学习方法通过比较不同图像的表示来实现视觉表示学习的最先进效果,MOON 在模型层面进行对比学习,通过比较不同模型学习到的表示。总体而言,MOON 是一个简单而有效的联邦学习框架,通过模型对比学习的创新设计解决了 non-IID 数据问题。
我们进行了广泛的实验来评估 MOON 的有效性。在多个图像分类数据集(包括 CIFAR-10、CIFAR-100 和 Tiny-Imagenet)上,MOON 显著优于其他最先进的联邦学习算法。仅需对 FedAvg 进行轻量级修改,MOON 在大多数情况下准确率至少提升了 2%。此外,MOON 在某些设置下的提升非常显著。例如,在包含 100 个参与方的 CIFAR-100 数据集上,MOON 实现了 61.8% 的 top-1 准确率,而现有研究的最佳 top-1 准确率为 55%。
# 2. 背景与相关工作
# 2.1 联邦学习
FedAvg 已成为联邦学习的事实标准方法。FedAvg 的框架如图 1 所示。每轮 FedAvg 包括四个步骤。首先,服务器向参与方发送全局模型。其次,参与方执行随机梯度下降(SGD)以本地更新他们的模型。第三,本地模型被发送到中央服务器。最后,服务器对模型权重进行平均,生成用于下一轮训练的全局模型。已有许多研究尝试在非独立同分布(non-IID)数据上改进 FedAvg。这些研究可以分为两个类别:本地训练的改进(即图 1 的步骤 2)和聚合的改进(即图 1 的步骤 4)。本研究属于第一类。
关于改进本地训练的研究,FedProx 在本地训练期间引入了一个近端项。该近端项是基于当前全局模型和本地模型之间的
关于改进聚合阶段的研究,FedMA 利用贝叶斯非参数方法以层级方式匹配和平均权重。FedAvgM 在服务器上更新全局模型时应用动量。另一个近期研究,FedNova,在平均之前对本地更新进行归一化。我们的研究与这些方法是正交的,且可能与这些技术结合,因为我们专注于本地训练阶段。另一个研究方向是个性化联邦学习,旨在为每个参与方学习个性化的本地模型。本文研究典型的联邦学习,旨在为所有参与方学习单个全局模型。
# 2.2 对比学习
自监督学习是一个近期热门研究方向,试图从无标签数据中学习良好的数据表示。在这些研究中,对比学习方法在学习视觉表示方面取得了最先进的成果。对比学习的核心思想是减少同一图像不同增强视图之间的表示距离(即正对),并增加不同图像的增强视图之间的表示距离(即负对)。一个典型的对比学习框架是 SimCLR。给定图像
其中
# 3. 模型对比联邦学习
# 3.1 问题描述
假设有
其中,
# 3.2 研究背景
MOON 基于一个直观的想法:在整个数据集上训练的模型能够提取出比在偏斜子集上训练的模型更好的特征表示。例如,给定一个在狗和猫图片上训练的模型,我们不能期望模型学到的特征能够区分从未在训练中出现的鸟和青蛙。为了进一步验证这一直觉,我们在 CIFAR-10 上进行了一个简单实验。具体来说,我们首先在 CIFAR-10 上训练一个 CNN 模型(详细结构见 4.1 节)。我们使用 t-SNE [33] 可视化测试数据集中图像的隐藏向量,如图 2a 所示。然后,我们将数据集按不平衡的方式划分为 10 个子集(划分策略见 4.1 节),并在每个子集上训练一个 CNN 模型。图 2b 显示了一个随机选择的模型的 t-SNE 可视化。显然,在子集上训练的模型学到的特征较差。大多数类别的特征表示甚至混杂在一起,难以区分。
接着,我们在这 10 个子集上运行 FedAvg 算法,展示全局模型学到的表示(图 2c)以及基于全局模型训练的一个本地模型学到的表示(图 2d)。可以观察到,与图 2c 相比,图 2d 中同一类别的点更加分散(例如,类别 9)。本地训练阶段由于本地数据分布的偏斜,使得模型学到了更差的表示。这进一步验证了全局模型应该能够学习到比本地模型更好的特征表示,并且本地更新存在漂移。因此,在非 IID 数据场景下,我们应控制这种漂移,并弥合本地模型和全局模型学习到的表示之间的差距。
# 3.3 方法
基于上述直觉,我们提出了 MOON。MOON 是一种基于 FedAvg 的简单有效方法,仅在本地训练阶段引入了轻量且新颖的修改。由于本地训练中始终存在漂移,并且全局模型学习到的表示优于本地模型,MOON 的目标是减少本地模型学到的表示与全局模型学到的表示之间的距离,同时增加本地模型与上一次本地模型学到的表示之间的距离。我们受到对比学习的启发来实现这一点,对比学习目前主要用于学习视觉表示。以下将介绍网络架构、本地学习目标和学习过程。最后,我们将讨论与对比学习的关系。
# 3.3.1 网络架构
该网络包含三个组成部分:基础编码器、投影头和输出层。基础编码器用于从输入中提取表示向量。与 [3] 类似,引入了一个额外的投影头,将表示映射到一个固定维度的空间。最后,由于我们研究的是监督学习,输出层用于为每个类别生成预测值。为简化表示,给定模型权重
# 3.3.2 本地目标
如图 3 所示,我们的本地损失由两部分组成。第一部分是监督学习中的典型损失项(例如,交叉熵损失),记作
假设参与方
类似于 NT-Xent 损失 [38],我们定义模型对比损失为:
其中
其中
整体联邦学习算法如算法 1 所示。在每一轮中,服务器向各参与方发送全局模型,接收各参与方的本地模型,并通过加权平均更新全局模型。在本地训练中,每个参与方使用随机梯度下降根据其本地数据更新全局模型,目标如公式 (5) 所定义。
算法 1: MOON 框架
输入: 通信轮数
输出: 最终模型
服务器执行:
- 初始化
- 对于
: - 对于
并行执行: - 将全局模型
发送至
- 将全局模型
- 更新全局模型:
- 对于
- 返回
- 初始化
PartyLocalTraining(
): - 对于每个训练轮次
: - 对于每个批次
来自 : - 计算监督损失:
- 计算表示:
- 计算对比损失:
- 总损失:
- 更新本地模型:
- 计算监督损失:
- 对于每个批次
- 返回
给服务器
为简洁起见,我们在算法 1 中描述 MOON 时没有应用采样技术。即使在每轮联邦学习中仅有一部分参与方参与,MOON 仍然适用。如图 4 所示,比较了 SimCLR 和 MOON。在这里,
像 FedAvg 一样,每个参与方维护其本地模型,该模型将在该方被选中参与某一轮时被全局模型替换并更新。MOON 只需最新的本地模型,即使它在第
值得注意的是,考虑到一个理想的情况,即本地模型足够好并且学习到的表示(几乎)与全局模型相同(即
# 3.4. 与对比学习的比较
图 4 显示了 MOON 和 SimCLR 之间的比较。模型对比损失比较不同模型学习到的表示,而对比损失比较不同图像的表示。我们还强调了 MOON 和传统对比学习之间的关键区别:MOON 目前用于联邦设置下的监督学习,而对比学习用于集中设置下的无监督学习。受对比学习的启发,MOON 是一种处理参与方间非独立同分布(non-IID)数据分布的新学习方法。
图 4. SimCLR 和 MOON 之间的比较。在这里,
# 4. 实验
# 4.1 实验设置
我们将MOON与三种最先进的方法进行比较,包括(1)FedAvg [34], (2)FedProx [28],和(3)SCAFFOLD [22]。我们还比较了一种名为SOLO的基线方法,其中每个参与方仅使用其本地数据训练模型,而不进行联邦学习。我们在三个数据集上进行实验,包括CIFAR-10、CIFAR-100和Tiny-Imagenet(100,000张图像,200个类别)。此外,我们尝试了两种不同的网络架构。对于CIFAR-10,我们使用CNN网络作为基础编码器,该网络包含两个5x5的卷积层,后面跟着2x2的最大池化层(第一个具有6个通道,第二个具有16个通道)以及两个带ReLU激活的全连接层(第一个具有120个单元,第二个具有84个单元)。对于CIFAR-100和Tiny-Imagenet,我们使用ResNet-50 [13]作为基础编码器。对于所有数据集,像[3]一样,我们使用2层的多层感知机(MLP)作为投影头。投影头的输出维度默认设置为256。注意,所有基线方法使用与MOON相同的网络架构(包括投影头)以进行公平比较。我们使用PyTorch [37]实现MOON和其他基线方法。代码是公开可用的。我们使用学习率为0.01的SGD优化器进行所有方法的训练。SGD的权重衰减设置为0.00001,SGD的动量设置为0.9。批量大小设置为64。SOLO的本地轮次设置为300。除非另有说明,所有联邦学习方法的本地轮次设置为10。通信轮次对于CIFAR-10/100设置为100,对于Tiny-ImageNet设置为20,此时所有联邦学习方法在更多通信中几乎没有或没有准确性提升。对于MOON,我们将温度参数默认设置为0.5,像[3]一样。像之前的研究[45, 41]一样,我们使用Dirichlet分布生成参与方之间的非独立同分布(non-IID)数据分区。具体来说,我们采样
# 4.2 准确性比较
对于MOON,我们从
表1显示了在上述默认设置下所有方法的top-1测试准确性。在非独立同分布(non-IID)设置下,SOLO的准确性远低于其他联邦学习方法。这证明了联邦学习的优势。比较不同的联邦学习方法,我们可以观察到MOON在所有任务中始终是最佳的方法。它在所有任务的平均准确率上比FedAvg高出2.6%。对于FedProx,其准确性与FedAvg非常接近。由于
# 4.3 通信效率
图6显示了训练过程中每轮的准确率。如我们所见,在最佳
我们的模型对比损失可以在不降低收敛速度的情况下有效提高准确率。表2显示了在CIFAR-10/100上运行100轮或在Tiny-Imagenet上运行20轮的FedAvg达到相同准确率所需的通信轮数。我们可以观察到,MOON显著减少了所需的通信轮数。相比FedAvg,MOON在CIFAR-100和Tiny-Imagenet上所需的通信轮数大约减半。在CIFAR-10上,MOON的加速比甚至接近4。MOON的通信效率远高于其他方法。
# 4.4 本地训练轮数
我们研究了本地训练轮数对最终模型准确性的影响,结果如图7所示。当本地训练轮数为1时,局部更新非常小。因此,在相同的通信轮数下,训练速度较慢且准确率相对较低。所有方法的准确性较接近(MOON仍然最佳)。当本地训练轮数过大时,所有方法的准确性均下降,这是由于局部更新的偏移,即局部最优解与全局最优解不一致。然而,MOON明显优于其他方法。这进一步验证了MOON能够有效缓解因过多本地更新导致的偏移的负面影响。
# 4.5 可扩展性
为了展示MOON的可扩展性,我们在CIFAR-100数据集上尝试了更多的参与方数量。具体而言,我们尝试了两种设置:(1) 将数据集划分为50个参与方,所有参与方在每轮中参与联邦学习。(2) 将数据集划分为100个参与方,并在每轮中随机抽取20个参与方参与联邦学习(FedAvg [34]中引入的客户端采样技术)。结果如表3和图8所示。对于MOON,我们展示了
# 4.6 异质性
我们通过在CIFAR-100数据集上调整Dirichlet分布的浓度参数
# 4.7 损失函数
为了最大化全局模型和本地模型学习的表示之间的一致性,我们的模型对比损失
我们比较了使用不同损失函数来限制表示的方法:无附加项(即FedAvg:
# 结论
联邦学习已经成为一种有前途的方法,可以解决许多领域中的数据孤岛问题,如医学影像、目标检测和地标分类。非IID数据是联邦学习有效性的一大挑战。为了提高联邦深度学习模型在非IID数据集上的性能,我们提出了模型对比学习(MOON),这是一种简单而有效的联邦学习方法。MOON引入了一种新的学习概念,即模型级别的对比学习。大量实验表明,MOON在各种图像分类任务上显著优于现有的最先进方法。由于MOON不要求输入必须是图像,它可能也适用于非视觉问题。
# 致谢
本研究得到了新加坡国家研究基金会AI Singapore项目(AISG Award No: AISG2-RP-2020-018)的支持。本文所表达的任何意见、研究成果、结论或建议均属于作者个人观点,不代表新加坡国家研究基金会的立场。作者感谢Jianxin Wu、Chaoyang He、Shixuan Sun、Yaqi Xie和Yuhang Chen的反馈。还要感谢Yuzhi Zhao、Wei Wang和Mo Sha对计算资源的支持。