Federated Learning on Non-IID Data Silos: An Experimental Study』,非独立同分布数据孤岛的联邦学习:一项实验研究。在本文中,作者提出了NIID-Bench,打破了FL中non-IID数据分布挑战的实验障碍。具体而言,本文介绍了六种non-IID数据划分策略,充分考虑了标签分布偏差、特征分布偏差和数量偏差等不同情况。此外,在九个数据集上进行了广泛的实验,以评估四种最先进FL算法(FedAvg, FedProx, Scaffold, FedNova)的性能与效率。
联合学习(FL)使多方能够在不交换本地数据的情况下协作地训练机器学习模型,其中一个关键和共同的挑战是各方之间的数据分布的异构性,即各方的数据通常是非独立且非同分布的(non-IID)。此外,由于以往的研究在各方之间的数据划分策略非常固定,因此缺乏系统地了解其优缺点的实验研究,在本文中,作者提出了全面的数据划分策略来覆盖以往典型的非独立同分布数据案例,同时还进行了广泛的实验来评估最先进的FL算法。关于数据异构性主要是不同方的数据分布通常是非独立同分布的,同时标签分布也因各方而异,例如即使是同一个世界,人们也有不同的写作风格,因此各方的特征分布不同。以往研究已经表明non-IID数据设置会降低机器学习模型的有效性。进一步而言,以往研究中只尝试了一种或两种划分策略来模拟非独立同分布的数据设置,不足以覆盖大多数情况,因此有必要通过对不同非独立同分布场景进行系统探索来评估FL算法。在本文中,作者提出了NIID-Bench,打破了FL中non-IID数据分布挑战的实验障碍。具体而言,本文介绍了六种non-IID数据划分策略,充分考虑了标签分布偏差、特征分布偏差和数量偏差等不同情况。此外,在九个数据集上进行了广泛的实验,以评估四种最先进FL算法(FedAvg, FedProx, Scaffold, FedNova)的性能与效率。1. non-IID数据分布确实给FL算法的学习精度带来了巨大的挑战,并且现有的FL算法并不能适应所有情况;2. FL算法的有效性与数据偏斜的类型高度相关,例如标签分布偏斜设置比数量偏斜设置更具有挑战性;3. 在non-IID数据设置中,由于批量归一化和部分采样等技术,模型学习过程的不稳定性广泛存在,这会严重损害机器学习模型在分布式数据孤岛上的有效性。Notations:令D={(x,y)}表示全局数据集,假设有N方客户端并记为P1,…,PN,其中关于Pi的本地数据集记为Di={(xi,yi)}。我们分别用Wt和Wti来表示在迭代轮次t时的全局模型和局部模型,因此Wt是联邦学习过程的输出模型。FedAvg算法:FedAvg已经成为一种经典的FL方法,FedAvg的框架如下图1所示。在每一轮中,服务器首先将全局模型发送给随机选择的参与方,然后各方使用其本地数据集更新模型,再将更新后的模型发送回服务器,最后服务器则将接收到的本地模型平均为更新后的全局模型。与传统的分布式SGD算法不同,FedAvg可以减少通信轮次,并且通信效率更高。然而,正如以往的研究表明,局部更新可能会导致较差的准确率。Effect of Non-IID Data:FL中的一个关键挑战是数据往往是非独立同分布的,因此其对FedAvg的准确性有很大影响:由于每个局部数据集的分布与全局分布有很大的不同,各方的局部目标与全局最优解不一致。换言之,在局部训练阶段,局部模型会向局部最优值更新,而局部最优值可能远离全局最优值,因此平均模型也可能远离全局最优值,特别是当局部更新较大时,最终导致收敛的全局模型的精度比IID设置差得多。如下图2所示,在IID设置下,全局最优值W*接近局部最优值W*1和W*2,因此平均模型Wt+1也接近全局最优值;而在non-IID情况下,由于W*与W*1相距较远从而导致Wt+1可能与W*也相距较远。
FedProx算法:FedProx基于FedAvg改进了局部目标,直接限制了本地更新的大小,具体而言,它在局部目标函数中引入了一个附加的L2正则化项,从而限制局部模型与全局模型之间的优化距离,这是一种限制局部更新的直接方法,因此平均模型离全局最优值之间的距离被缩短,并引入了超参数μ来控制L2正则化的权值。总体而言,其对FedAvg的修改是轻量级的且易于实现,FedProx会带来额外的计算开销,而不会带来额外的通信开销。然而,其中一个问题是用户可能需要仔细调整μ才能获得良好的准确性:如果μ太小,则正则化项几乎没有影响;如果μ太大,则局部更新很小,收敛速度较慢。FedNova算法:最近的另一项研究FedNova对FedAvg的模型聚合阶段进行了改进,其认为当各方具有不同的计算能力时(时间限制或不同的本地数据集大小),不同客户端参与方可能在每轮需要执行不同数量的局部步骤(自适应调整)。因此,为了确保全局更新没有偏差,FedNova在更新全局模型之前,根据其局部迭代次数对每一方的局部更新进行归一化和缩放。FedNova也只对FedAvg进行了轻量级的修改,并且在更新全局模型时计算开销可以忽略不计。Scaffold算法:Scaffold在各方之间引入方差减少技术,从而进行non-IID建模。它引入了服务器(c)和各方(ci)的控制变量,用于估计服务器模型的更新方向和每个客户端的更新方向,然后通过这两个更新方向之间的差异来近似纠正客户端局部训练的漂移。Scaffold算法通过在局部训练中添加方差减少技术来纠正本地的局部更新。Scaffold主要提出了两种更新局部控制变量的方法:通过在全局模型中计算局部数据的梯度或通过重用先前计算过的梯度,其中第二种方法具有较低的计算成本,而第一种可能更稳定。与FedAvg相比而言,由于额外的控制变量,Scaffold算法使每轮的通信大小大约增加了一倍。本文研究动机:以往研究只评估了一个或两个非独立同分布数据分布策略,但是目前还没有标准的基准测试或系统研究来评估这些FL算法的有效性。因此,本文希望开发一个具有更全面的数据分布以及数据分区策略的基准,然后我们可以评估现有FL算法的优缺点,并概述未来在non-IID数据上联邦学习的挑战和发展方向。Research Problems:我们需要解决两个关键的研究问题:1) 是使用真实世界的non-IID数据集还是使用合成数据集;2) 如何设计全面的non-IID场景。
对于问题一,本文选择通过将现实世界的数据集划分为多个较小子集实现。现有研究主要使用划分方法来模拟non-IID联合设置,与使用真实联邦数据集相比,采用划分策略可以很容易地量化和控制本地数据的不平衡属性,此外当使用合成数据集时,可以很容易地在FL实验中设置不同因素(例如参与者数量、数据大小等)。因此,在已有大量集中训练知识作为参考的现有公共数据集上,开发分区策略更加灵活,也可以模拟不同的non-IID场景。对于第二个问题而言,现有研究从分布的角度对non-IID数据案例进行了非常好和全面的总结,考虑本地数据分布P(xi,yi)=P(xi|yi)*P(yi)或P(xi,yi)=P(yi|xi)*P(xi),先前的研究总结了五个不同的non-IID情况:标签分布偏差(P(yi)在各方之间不同)、特征分布偏差(P(xi)在各方之间不同)、相同的标签但不同的特征(P(xi|yi)在各方之间不同)、相同的特征但不同的标签(P(yi|xi)在各方之间不同)以及数据量偏差。虽然五种non-IID 数据情况涵盖了所有可能的单一类型的数据偏斜,但可能仍存在着混合类型的偏斜情况。本文使用两个真实世界的数据集(Criteo与Digits)来实验non-IID情况:Criteo包含数百万个展示广告的特征值和点击反馈,可用于点击率预测;Digits则是包含用于数字分类的多个子集。在Criteo数据集中,将每个用户视为一个参与方,选择十个参与方并绘制标签分布,如下图3(a)所示。在Digits数据集方面,将每个子集作为一个参与方,使用这些子集训练模型,并使用t-SNE绘制特征分布,如下图3(b)所示。标签分布偏移:在标签分布偏移情况,标签分布P(yi)因各方差异而有所不同,例如,一些医院对几种特定种类的疾病更有专业性,并有更多的患者记录。为了模拟标签分布偏移,主要引入了两种不同的标签不平衡设置:基于数量的标签不平衡和基于分布的标签不平衡设置。基于数量的标签不平衡:各方拥有固定数量的标签的数据样本,其中具有相同标签的数据样本被分成子集,每一方仅被分配两个具有不同标签的子集。本文还引入了一种通用的划分策略来设置每一方拥有的标签数量:首先为每一方随机分配k个不同标签的数据样本,然后对于每个标签样本,随机地将它们分成拥有标签的各客户端,这样的话,每一方的标签数量是固定的,不同方样本之间没有重叠。基于分布的标签不平衡:根据狄利克雷分布为每一方分配每个标签的样本比例,狄利克雷分布通常用作贝叶斯统计中的先验分布,是模拟现实世界数据分布的合适选择。具体来说,对于狄利克雷分布进行采样并分配给各参与方,这种方法的一个优点是我们可以通过改变比例参数来灵活地改变标签分布不平衡水平,如下图4所示显示了这种分区策略的一个示例。特征分布偏移:在特征分布偏移中,尽管P(yi|xi)相同但特征分布P(xi)因各方而异,例如,猫在不同区域的毛色和图案可能会有所不同。1. 基于噪声的特征不平衡:首先将整个数据集随机平均分成多方,对于每一方在其本地数据集中添加不同级别的高斯噪声,以实现不同的特征分布;2. 合成特征不平衡:生成了一个称为FCUBE的合成特征不平衡联邦数据集,在这里假设数据点的分布是三维(x1,x2,x3)上的立方体,它有两个不同的标签并根据x1=0进行分类,其如下图6所示;3. 现实世界的特征不平衡:EMNIST数据集从不同的写入者那里收集手写字符/数字,然后根据作者将数据集划分为不同的部分,由于作者之间的字符特征通常不同,因此不同方之间存在自然的特征分布偏差。数量偏差:在数量不平衡方面,本地数据集的大小 |Di| 在各方是不同的,尽管各方之间的数据分布可能仍然是一致的。与基于分布的标签不平衡设置一样,使用Dirichlet分布将不同数量的数据样本分配给每一方,基于q~DirN(β) 进行采样,并将总数据样本的qj按照比例分配给Pj,参数β则可用于控制数量偏斜的不平衡水平。实验设置:为了研究现有FL算法在non-IID数据设置上的有效性,在9个公共数据集上进行了广泛的实验,主要包括6个图像数据集(MNIST, CIFAR-10, FMNIST, SVHN, FCUBE以及FEMNIST)和3个表格数据集(adult, rcv1以及covtype)。对于图像数据集使用CNN(2个5*5卷积层+2个全连接层)作为主干网络,对于表格数据集,则使用具有三个隐藏层的MLP作为主干网络。默认情况下参与方数量为10,但是在FCUBE中设为4,并使用SGD优化器(学习率为0.1, 动量为0.9)进行模型优化,本地更新次数设置为10,批处理大小设置为64。对于基准而言,使用测试数据集上的TOP-1准确率作为衡量标准来比较所研究的算法,为了公平比较,在相同的轮次中运行了所有研究的算法,默认情况下全局训练次数设置为50。FL算法性能比较综述:如下表3所示,显示了FedAvg、FedProx、Scaffold和FedNova等现有方法在不同non-IID数据设置下的准确性,为了进行比较还给出了IID场景(即均匀分区)的结果。
我们可以发现:
1. 标签分布偏移情况是最具挑战性的设置,其中每一方仅具有单个类别的样本,而特征分布偏移和数量偏移设置对FedAvg的精度影响很小;
2. 在所有设置中,没有一种算法的性能始终优于其他算法,现有的最先进的算法仅在某几个情况下显著优于FedAvg算法;3. CIFAR-10和表格数据集分类在non-IID环境下是具有挑战性的任务,而在大多数non-IID环境下,MNIST分类则是一项简单的任务,所有算法表现出类似的性能;4. FedProx和FedAvg的收敛速度几乎相同,而Scaffold和FedNova在训练中则表现的更不稳定,但是会随着全局训练轮次的增加而改善;5. 本地迭代训练次数会对现有算法的准确性产生很大影响,本地迭代次数的最优值对非独立同分布分布非常敏感,并且在在不同的设置中也有所不同;6. 仅仅在部分参与的情况下,Scaffold算法无法有效的工作,而其他FL算法在训练时精度也非常不稳定,同时随着参与方数量的增加,所有FL方法的准确性都会降低;7. 与FedAvg相比,FedProx的计算开销较大,Scaffold的通信成本是FedAvg的两倍。实验结果讨论:本文对于从实验研究中获得的见解进行了如下总结:1. FL算法的设计和评估应考虑更全面的设置,包括不同的non-IID数据划分策略和任务。此外,没有一种被研究的算法始终优于其他算法,或者在所有设置下都具有良好的性能。因此,利用FL解决分布式数据孤岛中的问题仍然是一个很有前途的研究方向。2. 准确性和通信效率是评估non-IID数据环境下FL算法的两个重要指标。3. FL与集中训练模型相比引入了新的训练因子(例如本地更新次数、批量归一化、参与方抽样与数量等),在评估未来的FL研究时,这些具有超参数变量值得更多关注。4. 在联邦学习中,混合类型的异构设置比单一类型带来了更多的挑战,在混合non-IID设置中观察到更显著的模型质量下降,因此更重要的是研究有效的算法来处理多种类型的异构性设置。最后,本文为non-IID分布式数据库的数据管理和联邦学习提出了一些有前途的未来方向与总结。分布式数据管理与分配:现有学习系统大多基于集中式数据库,但是随着对数据隐私和数据监管的关注日益增加,分布式数据库以及现有的学习系统和算法需要重新考虑。例如,在不交换本地数据的情况下启用联合搜索为多个联邦学习系统共同学习索引结构可能是一个值得研究的方向(类似于集成学习)。
此外,如果能够在进行联邦全局模型训练之前知道非独立同分布数据的构成将会很有帮助(通过数据采样以及结构化搜索技术)。但是,如何将当前的统计估计扩展到non-IID分布仍然是一个未解决的挑战。针对参与联邦学习系统训练的客户端进行随机采样会带来FL的不稳定性,因此根据各参与方的数据分布特征进行选择性抽样可能会显著提高联邦学习系统的稳定性,通过现有方法(例如抗偏斜数据技术、分层抽样)可能是一个很好的解决方案,可以在每一轮中以更平衡的方式选出有代表性的参与客户端。当然,以隐私保护的方式进行数据挖掘,如何在保证差异化隐私保护的同时减少精度损失也是一个具有挑战性的研究方向。联邦系统设计:我们发现,如果每一方只有一个标签的数据,那么FL算法的准确性很差,但是在实践中该设定有许多现实世界的应用。从下图8可以看出,现有的FL算法的训练速度通常是接近的,为了提高训练速度,研究人员可以从以下两个方向进行工作:1) 开发通信效率高的FL算法,只需几轮即可训练出全局模型;2) 开发快速初始化方法,以减少轮数,同时实现相应的高精度模型。此外,FL算法的自动参数调整会受到局部更新较大影响,因此,开发对局部更新具有健壮性的方法或者为FL设计有效的参数调整方法有助于提升联邦学习系统的泛化性。进一步而言,现有FL算法的直觉是相同的:局部模型向局部最优值更新,而平均模型远离全局最优值,如果能在FL训练中观察到更详细、更常见的步骤,那么non-IID环境下的FL算法的设计将会得到改进。从另一方面来看,简单的平均聚合不适用于批量归一化,不同方的批量归一化层之间存在异构性,因此需要研究更多针对深度学习模型中特定层的专门设计。总结:在本文中主要研究了non-IID数据作为此分布式数据库中的一个关键挑战,并开发了一个名为NIID-bench的基准测试程序。具体地说,本文介绍了六种数据划分策略,这些策略比以前的研究要全面得多。此外,本文还进行了全面的实验来比较已有算法,并为在分布式数据库上建立有效的机器学习模型服务提供了一系列未来可能的发展方向。欢迎投稿邮箱:pet@openmpc参与更多讨论,请添加小编微信加入交流群