非独立同分布数据

虽然FedAVG的作者声称他的方法可以在一定程度上处理非独立同分布数据,但是大量的研究表明,在非独同的数据上,FL的精度下降是不可避免的。性能下降的主要原因是由于非iid导致局部模型的权值偏离。即由于局部数据分布的异质性,具有相同初始参数的局部模型会收敛到不同的模型。在FL过程中,通过对上传的局部模型进行平均得到的共享全局模型与理想模型(本地设备上的数据为IID时得到的模型)之间的分歧不断增大,导致收敛速度减慢,学习性能恶化。

水平联邦学习 (Horizontal Federated Learning)

水平FL也被称为同质FL,它表示参与客户端的训练数据共享相同的特征空间但样本空间不同的场景。如图1所示的一个简单示例,Client 1和Client 2包含具有相同个人特征的不同行数据,每一行表示一个特定人的特定数据。FedAVG是一种典型的水平联邦学习的算法。水平 FL 通常比集中学习具有更差的全局模型性能,尤其是在 FL 中使用参数模型时。这样做的一个原因是,水平 FL 需要进行加权模型平均来更新全局模型,这具有有限的理论证据来支持这种方法的有效性。

水平联邦学习

垂直联邦学习 (Vertical Federated Learning)

Attribute skew

非重叠属性偏斜

Attribute skew指的是每个客户端属性之间的特征分布𝑃𝑘(𝑥)不一致的场景,跨客户机的数据属性可以是不重叠的,也可以是重叠的,甚至可以是相同的。
不重叠的属性倾斜意味着跨客户机的数据特性是互斥的。在这种情况下,如果数据样本在不同客户 与相同的身份持有相同的标签 ( ð ),这被称为垂直FL。重叠属性可以确保逻辑回归的计算全损(线性模型)在垂直FL等于,在集中学习(参阅第10行算法2)。这样的数据集的个人信息如图2所示,客户1拥有年龄和身高的特点,病人2有性别和体重特征。对于图3所示的图像数据,将熊猫的图像划分为两个不重叠的部分,客户端1存储左侧部分,客户端2存储右侧部分。这两类数据集的主要区别在于,个人信息的相邻属性可能不相关(例如,图2客户端1中的“Age”和“Height”没有关系),但图像数据的相邻像素总是强相关的。

图像数据

部分重叠属性偏斜

第二类属性偏差是部分重叠属性偏差,即数据特征的某些部分可以相互共享。例如,多视图图像[123,79]是从不同的角度拍摄的,每一方都持有单视图(单角度)图像。如图4a所示,客户端1和客户端2存储的是同一张不同角度的PC图像。注意,每个重叠属性在不同客户端的分布可能是一致的,也可能是不一致的。

部分重叠属性偏斜

完全重叠属性偏斜

标签偏斜

标签倾斜表示客户端与客户端的标签分布不同的情况。标签偏态有两种稍有不同的情况,一种是标签分布偏斜,另一种是标签偏好偏斜。

标签分布偏斜

客户端上的标签分布𝑃𝑘(𝑦)是不同的,但是客户端之间共享一个条件特征分布𝑃𝑘(𝑥|𝑦)。主要有两种标签分布偏差设定:标签尺寸不平衡和标签分布不平衡。
如图5所示,标签大小不平衡最初是在FedAvg算法中提出的[95],其中每个客户端拥有固定数量 标签类的数据样本。 是决定标签不平衡程度的超参数, 越小说明标签不平衡越严重,反之亦然。

标签尺寸不平衡示意图

标签分布不平衡往往是另一种情况。

标签偏好偏斜

在不同客户端之间,条件分布𝑃𝑘(𝑦|𝑥)不同,但是𝑃𝑘(𝑥)相同。

偏好偏斜

时间偏斜

其他偏斜

属性和标签偏斜

在Attribute & Label歪斜场景下,不同的客户端持有不同标签、不同特征的数据,融合了水平FL和垂直FL的特点。具体来说,还可以将不同的特性扩展为一个广义定义,即数据类型在不同的客户机之间可能不同。如图9所示,客户端1只有图像数据集,客户端2只有语音数据集。在这种情况下,全局模型聚合变得极其困难,因为局部模型类型或结构在客户端之间可能完全不同。

属性和标签的混合偏斜

数据非独立同分布为模型训练带来的问题

参数模型和非参数模型都被用于FL。由于水平和垂直FL中参数模型和非参数模型的训练机制不同,Non-IID对其训练性能的影响也有很大差异。在本节中,我们首先介绍了参数模型和非参数模型在FL中的核心训练步骤,然后分别讨论了Non-IID训练数据对它们在水平和垂直FL中的性能的影响。

水平联邦学习

如果未指定,水平FL中的Non-IID通常是指标签分布歪斜,这是因为,与特征相同但标签不同的情况相比,标签分布歪斜往往会导致更严重的客户端数据分布偏差。对于那些极端情况,例如,每个客户端只包含一个类的数据样本[156],可能会发生全局模型根本不收敛的情况。

参数模型

非iid数据确实会影响参数模型的学习性能[95,166,112,129,119,7],并且在水平FL中总是会引起全局模型的发散。由于局部数据分布与全局数据分布不同,局部模型的平均参数也可能离全局模型参数很远[166],特别是当局部更新的epoch数很大时[62,110,130]。如图10所示,对于Non-IID数据,局部模型参数平均值( +1)与实际全局模型参数( +1)之间的差异要大得多。此外,分歧可能会在沟通过程中积累 。

非参数模型

决策树是典型的非参数模型,梯度增强决策树(gradient boosting Decision tree, GBDT)[63]由于其良好的性能,目前在解决回归和分类问题中都非常流行。在梯度提升树模型中,xgboost[16]是最强大的一种,已经在水平FL[149]和垂直FL[135,19]中得到了应用。

垂直联邦学习

垂直FL中的Non-iid通常是指“相同的标签,不同的特征”,现有的大多数工作都假设不同的客户端在特征上没有重叠(即没有共同的特征),数据标签只存储在一个客户端上,称为guest客户端。其余没有任何标签的客户端称为host客户端。

处理Non-iid数据的主要方法

正如上一节所讨论的,非iid数据,特别是标签分布偏态,可能会导致主要在水平FL中的参数模型出现严重的学习发散。然而,FedAvg算法本身无法处理由非iid数据引起的模型发散问题,特别是在使用神经网络等复杂模型进行联邦学习时。目前处理水平FL非iid问题的方法可以分为基于数据的方法、基于算法的方法和基于系统的方法,如图15所示。这些方法的优点和缺点将被详细讨论。在本节中,如无特别说明,FL为水平FL,基线FL算法为算法1中描述的FedAvg,模型为神经网络。

处理Non-IID数据的联邦学习的方法

基于数据的方法

直观地说,非iid数据存在时,FL的性能下降是由异构数据分布引起的,因此,基于数据的方法旨在通过修改分布来解决这个问题。数据共享和增强是具有最先进性能的两个主要解决方案。

数据共享

数据共享[166]对于水平FL中的非iid数据是非常直接但有效的处理方法。将一个均匀分布的全局共享数据集G存储在服务器上,通过训练G对全局模型进行预热。此外,应该将G的随机的rtp百分比下载到所有连接的客户端,以便客户端模型同时被本地训练数据和来自G的共享全局数据更新。实验结果表明,仅使用5%的全局共享数据,CIFAR10[71]数据集上的模型测试精度可以提高约30%。
在[127,155]中也使用了类似的想法,通过与服务器共享一些本地数据来减轻Non-IID的负面影响。虽然这种数据共享方法可以显著提高全局模型在非iid数据上的性能(事实上,这种方法在非iid数据上的性能优于大多数水平FL算法),但它的缺点非常明显。首先,很难得到所谓的均匀分布的全局数据集,因为服务器不知道连接的客户机之间的数据分布。其次,将全局数据集的一部分下载到每个客户端进行模型训练违背了隐私保护学习的要求,这是FL的根本动机。

数据增强

数据增强[125]最初是一种通过一些随机变换或知识转移来增加训练数据多样性的技术,也可用于缓解FL中的局部数据不平衡问题。FL中使用的数据增强方法主要有三种:vanilla方法、mixup方法[162]和基于生成对抗网络(GAN)[40]的方法。
在FL中使用vanilla数据增强的基本思想是在[28]中提出的,其中每个客户端需要将其标签分布信息(如每个类 的数据样本数量)发送给服务器。
mixup方法是处理非iid数据的另一种数据增强方法。Shin等人[118]首先使用这种方法提出了XorMixFL框架。其核心思想是每个客户端将其编码的种子样本(使用异或运算符编码)上传到服务器进行解码,然后将基本数据样本与服务器中的解码样本一起构建一个新的平衡数据集。然后,在重建的数据上训练一个全局模型,并将其下载到每个客户端,直到训练收敛。Yoon等人提出了一种均值增强方法[154],通过与服务器交换平均批处理的本地数据。交换的平均数据将被合并并发送回每个客户端,以减少本地数据不平衡的程度。
总体而言,数据增强技术通过对局部不平衡数据进行增强,可以显著提高非iid数据训练模型的学习性能。然而,这些技术大多只能在上述数据共享的帮助下实现,这可能会增加数据隐私泄露的风险。
为了解决这些问题,个性化方法最近受到了广泛关注。如图16所示,个性化的目的是根据局部任务对模型进行调整。一般来说,有几种主要的个性化方法,包括进行局部微调(通过正则化和插值进行个性化,或元学习),包括个性化层、多任务学习和知识蒸馏[25]。

基于算法的方法

联邦学习的目标是在不共享私有数据的情况下协作训练共享模型。然而,FL训练的局部模型在性能方面可能会受到共享模型的损害[158],并且可能由于异构数据分片的漂移而无法泛化[27]。这可以从Eq.(1)中看出,它表明某个客户端在没有客户端之间的信息交换的情况下训练了一个局部模型,它的模型可能在未知数据上泛化得很差。此外,FL系统的传统全局损失函数是最小化Eq.(2),系统的输出对于所有客户端都是通用的,因此,每个客户端可能会在自己的任务上失去精度,特别是对于异构数据或目标[31]。例如,在一个由两个客户端a和B组成的FL系统中,客户端a需要一个推理效率模型,客户端B强调准确性。最终,由于计算预算有限,可能难以将全局模型应用于客户端A。 为了解决这些问题,个性化方法最近受到了广泛关注。如图16所示,个性化的目的是根据局部任务对模型进行调整。一般来说,有几种主要的个性化方法,包括进行局部微调(通过正则化和插值进行个性化,或元学习),包括个性化层、多任务学习和知识蒸馏[25]。

本地微调

局部微调是最经典、功能最强大的个性化方法,其目的是利用本地数据从服务器接收到全局模型后,对局部模型进行微调[132],FedAvg是局部微调的基本形式。局部微调的目的有两个方面,即找到合适的初始共享模型,并将局部和全局信息结合起来。
一个常见的微调思路是基于元学习方法构建一个高质量的初始全局模型。一种具有代表性的方法称为个性化FedAvg (Per-FedAvg)[31],它利用模型不可知论元学习(model - agnostic meta - learning, MAML)[33]来寻找初始的全局模型,使本地客户端更容易获得良好的性能。

Alt text

个性化层

顾名思义,这种方法允许每个客户端在神经网络模型中具有个性化的层。如图17所示,每个客户端模型由个性化层(填充块)和基础层组成,只有基础层需要上传到服务器进行全局模型聚合。[3]中介绍了一种称为FedPer的典型范例,其中基础层是提取高级表示的神经网络的浅层,个性化层是用于分类的深层。算法3中显示了FedPer的伪代码,可以清楚地看到,除了个性化层之外,FedPer与原始的fedag算法完全相同。实验结果表明,FedPer比fedag具有更高的测试精度,特别是在强Non-IID数据上。令人惊讶的是,FedPer在非IID数据上比在IID数据上取得了更好的性能。
个性化层不仅可以提高非iid数据的学习性能,还可以降低通信成本,因为服务器和客户端之间只需要共享基础层而不是整个模型。一个缺点是,每个客户端都需要永久存储个性化层,而不释放它们。

多目标学习

解决个性化问题的另一种方法是将其视为一个多任务学习问题[12]。例如,联邦多任务学习(FMTL)的代表性框架MOCHA首先考虑了FL的通信成本、掉队者和容错性问题[122]。由于使用原始对偶优化方法,MOCHA为每个客户端生成分离但相关的模型,不适合非凸优化任务。Corinzia等人提出了一个FMTL框架VIRTUAL,使用贝叶斯网络和近似变分推理,可以处理非凸模型。他们的方法在一些Non-IID数据集上取得了令人满意的结果,但在客户端数量较多的情况下,由于需要进行顺序微调,其收敛性较差[21]。为了缓解由于数据分布不一致导致的FL性能下降,Sattleret等人提出了一种非凸FMTL框架,称为聚类联邦学习(CFL),用于对局部信息进行分组[111]。CFL提出了一种基于余弦相似度的计算效率度量客户群体分布,并在非iid数据上取得了显著的效果。然而,CFL对数据相似度的依赖给数据安全带来了新的挑战。

知识蒸馏

知识蒸馏[9,50,41]也是个性化联邦学习的一个很有前途的想法。将信息从大模型转移到小模型的概念最早由Bucilua等人提出[9],并由Hintonet等人推广为知识蒸馏。FL的主要动机是将知识从服务器或其他客户端转移到某个客户端,以提高其在未知异构数据上的性能。一般来说,非iid FL中采用的知识蒸馏策略有两种,即联邦迁移学习和领域自适应。
知识蒸馏的另一个重要图表是领域适应,它强调消除客户端之间数据分片之间的差异。[105]提出了一种联邦对抗域自适应(FADA)算法,该算法使用对抗自适应技术来解决FL系统中的域移位问题。Li等人提出了FedMD算法,使客户能够在本地数据上训练他们独特的模型[76]。FedMD的关键元素是从客户共享的公共数据集(没有隐私泄露风险)转移知识。例如,首先对某个客户端的初始模型在CIFAR100 (public set)的一个子集上进行训练,然后在CIFAR10 (private set)上进行个性化训练。

终身学习

终身学习是机器学习的一个基本挑战,在机器学习中,一个模型是在连续的任务上训练的,每个任务只能看到一次。主要目标是保持模型的准确性,而不会忘记先前学习的任务。因此,可以借鉴终身学习的思想来克服非iid数据的影响。 弹性权重巩固(Elastic weight consolidation, EWC)[66]是减轻终身学习中灾难性遗忘的一种有效方法,在这种方法中,特定任务a的最重要参数被识别出来。当模型在另一个任务B上训练时,学习者将因为改变这些参数而受到惩罚。Shoham等人通过类比联邦学习和终身学习,提出了一种基于EWC的联邦曲率(federcurv)算法来解决FL中的Non-IID问题[119]。在每一轮中,参与者将更新的模型与Fisher信息矩阵的对角线一起传输,Fisher信息矩阵代表当前任务最具信息量的参数。在每个参与者的损失函数中增加一个惩罚项,以促进收敛到全局共享最优。此外,他们假设通过上传参数的稀疏版本可以进一步降低通信成本,但没有实际验证。Liu等人将终身学习与强化学习相结合,形成终身联邦强化学习(LFRL)架构[87]。通过LFRL,他们使机器人能够合并和传递经验,从而使机器人能够快速适应新的环境。

结构适应

如前所述,在FL中训练复杂的参数模型(如深度神经网络(dnn))是非常具有挑战性的,特别是在非iid数据上。在这里,我们介绍并讨论了两种有用的技术来加快深度神经网络在FL中的收敛速度。 一种技术是使用自适应优化器,如Adagrad [29], Adam[65]等,以取代标准的SGD优化器。然而,这些自适应优化器通常需要积累之前的梯度信息的动量[124]来进行模型更新,这可能会使FL中的上传通信成本增加一倍。这是因为模型训练只在本地设备上进行,并且积累的梯度(与模型参数大小相同)也需要上传到服务器进行聚合。Reddi等人提出了一个联邦自适应框架[108]来解决这个问题。核心思想很简单:累积的梯度是根据服务器上的平均全局梯度计算的,每个客户端执行标准的SGD来进行本地模型训练。这不仅节省了本地计算资源,而且还降低了上传通信成本,因为中央服务器被认为比边缘设备强大得多。 另一种有用的技术是使用组归一化(GN)层[141]来取代dnn[164]中的批归一化(BN)[58]层。BN层在训练过程中沿批维计算一批训练数据的均值和方差,并跟踪指数移动均值和方差进行模型预测。然而,在FL中,每个客户端设备都有自己的数据,计算出的批量移动统计数据也应该在服务器上平均,这并不能代表实际的全局统计数据。因此,局部移动统计对客户端数据分布非常敏感,聚合的全局统计可能无法收敛于非iid数据[57]。GN是另一种选择,它将每个训练数据的通道划分为组,并分别计算每组的统计数据。由于GN的统计量是按数据样本计算的,因此它对客户端数据分布是不变的。实验结果表明,GN具有比BN更快、更稳定的收敛曲线。

系统层面的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值