FedRecover: Recovering from Poisoning Attacks inFederated Learning using Historical Information

0、摘要

        联邦学习很容易在中毒攻击上中招,恶意客户端通过向服务器发送恶意模型更新来毒害全局模型。现有的防御主要集中在通过健壮的联邦学习方法防止少量恶意客户端毒害全局模型,以及在恶意客户端大量存在时检测恶意客户端。然而,在检测到恶意客户端后,如何从中毒攻击中恢复全局模型仍然是一个开放的挑战。一个简单的解决方案是删除检测到的恶意客户端,并使用剩余的客户端从头训练一个新的全局模型。然而,这种从头开始的恢复方法会产生巨大的计算和通信成本,对于智能手机和物联网设备等资源受限的客户端来说,这可能是无法忍受的。

        在这项工作中,我们提出了一种方法:FedRecover,它可以从中毒攻击中恢复一个精确的全局模型,并且客户端的计算和通信成本都很小。我们的关键思想是,服务器来评价客户机的模型更新,而不是要求客户机在恢复过程中计算和通信它们。特别是,在检测到恶意客户端之前,在训练中毒的全局模型时,服务器存储历史信息,包括全局模型和每轮客户端模型的更新。在恢复过程中,服务器使用客户机存储的历史信息在每一轮中估计客户机的模型更新。此外,我们进一步优化FedRecover,以使用预热、定期校正、异常修复和最终调优策略恢复更精确的全局模型,其中服务器要求客户端计算并传递它们的精确模型更新。从理论上讲,我们证明了在某些假设下,FedRecover恢复的全局模型接近或与train-from-scratch恢复的模型相同。从经验上讲,我们对四个数据集、三种联邦学习方法以及非目标和目标中毒攻击(例如,后门攻击)的评估表明,Federcover既准确又有效。

1、介绍

        联邦学习(FL)是一种新兴的机器学习范式,它使许多客户端(如智能电话、物联网设备和边缘设备)能够协作学习一个共享的机器学习模型(称为全局模型)。具体来说,训练数据分散在FL中的客户机上,服务器维护全局模型。粗略地说,FL在每一轮执行以下三个步骤:服务器将当前全局模型广播给(一部分)客户端;每个客户端使用其本地训练数据微调全局模型,并向服务器报告其模型更新;服务器按照某种聚合规则聚合客户机的模型更新,并使用聚合的模型更新来更新全局模型。不同的FL方法本质上使用不同的聚合规则。FL已经被科技巨头们使用了。例如,谷歌在一个名为Gboard的虚拟键盘应用程序上使用FL来预测下一个单词;微众银行利用FL进行信用风险预测。

        然而,由于其分布式设置,FL很容易受到中毒攻击。具体来说,攻击者可以访问一些恶意客户端,这些客户端可能是攻击者注入到系统中的假客户端,也可能是攻击者攻陷的真正客户端。
恶意客户端通过向服务器发送精心制作的恶意模型更新来毒害全局模型。恶意客户端可以通过毒害其本地训练数据和/或直接构建不遵循规定的FL协议来进行恶意模型更新。在无目标投毒攻击中,中毒全局模型对许多测试输入进行了不加区别的错误分类,即中毒全局模型具有较大的测试错误率。在有针对性的投毒攻击中,中毒全局模型对攻击者选择的目标预测出攻击者选择的目标标签,但其对其他测试输入的预测不受影响。例如,在后门攻击(一种有针对性的投毒攻击)中,目标输入可以是嵌入攻击者选择的任何触发器。

        现有的针对FL中毒攻击的防御可以防止少量恶意客户机中毒全局模型和/或检测恶意客户机
具体来说,一些研究提出了拜占庭鲁棒或可证明鲁棒的FL方法,可以防止少量恶意客户机毒害全局模型,即,它们可以保证使用恶意客户机学习的全局模型接近不使用恶意客户机学习的全局模型,或保证在有限数量的恶意客户机下测试精度的下限。但是,这些FL方法仍然容易受到大量恶意客户端的投毒攻击。因此,一些研究进一步提出了在训练过程中或之后检测恶意客户端,可以与预防方法一起使用,形成深度防御策略。例如,服务器可以通过发送给服务器的模型更新中的一些统计差异来区分恶意客户机和良性客户机。由于这种检测方法需要足够的模型更新才能做出自信的决策,因此恶意客户端通常在被检测到之前就已经毒害了全局模型。因此,服务器需要在检测到恶意客户端后,从中毒的全局模型中恢复一个准确的全局模型。

【不能完全隔绝恶意客户端,所以一定面临着要处理中毒的全局模型的问题】

        然而,FL的有效模型恢复在很大程度上尚未被探索。由于服务器不知道攻击发生在哪一轮,服务器可能无法简单地在前一轮中回滚到一个干净的全局模型。一种朴素的恢复方法(我们称之为train-from-scratch)是删除检测到的恶意客户端,并使用剩下的客户端从头训练一个新的全局模型。train-from-scratch可以恢复一个精确的全局模型。但这需要客户重新参与整个培训过程,给客户带来了大量的计算和沟通成本。对于智能手机和物联网设备等资源受限的客户来说,这样的计算和通信成本可能是无法忍受的。

【从头开始可以恢复精准的,但是需要客户端从头开始参与,开销太大】

        我们的工作:在这项工作中,我们提出了FedRecover方法,可以从一个有毒的全局模型中恢复一个准确的模型,同时为客户端引入了少量的计算和通信成本。与train-from-scratch一样,FedRecover删除检测到的恶意客户端,重新初始化全局模型,并在多个轮中迭代训练它。然而,与train-from-scratch不同,FedRecover通过改变获取模型更新的方式来降低客户的成本。我们的直觉是,历史信息,包括全局模型和客户机的模型更新,这些是服务器在检测到恶意客户机之前训练中毒的全局模型时收集的,仍然携带有价值的信息用于模型恢复。基于这种直觉,我们的关键思想是,在恢复过程中,服务器使用这样的历史信息来评估剩余客户端的模型更新,而不是要求客户端进行计算和通信。FedRecover不受恶意客户端的检测方法和FL聚合规则的影响,也就是说,在深度防御策略中,FedRecover可以与任何检测方法和FL聚合规则一起使用。

【服务器保留之前沟通的信息,重建时,服务器利用老的信息自己算。所以可以和任何方法结合起来】

        FedRecover的关键是服务器在恢复过程中自己估计客户端的模型更新。具体来说,在检测到恶意客户端之前,服务器存储在训练中毒的全局模型时的历史信息。在恢复过程中,服务器使用著名的柯西中值定理来估计每一轮客户端的模型更新。然而,柯西中值定理要求每个客户端都有一个积分的黑森矩阵,其确切值很难计算。为了解决这一挑战,我们进一步利用基于L-BFGS的算法来有效地逼近积分Hessian矩阵。由于存储历史信息和估计客户机的模型更新,FedRecover给服务器带来了一些存储和计算成本。但是,由于服务器功能强大,这样的成本是可以接受的。

【真正的创新点:利用一种算法逼近Hessian矩阵,并证明了他的误差】

        由于FedRecover对客户的模型更新进行估计,在恢复过程中,估计误差可能在多个回合中累积,最终可能导致恢复的全局模型的准确性降低。我们提出了应对这一挑战的多种策略。具体来说,L-BFGS算法需要前几轮恢复的全局模型来估计客户端当前轮的模型更新。在前几轮恢复过程中准确恢复的全局模型将有助于减少未来几轮的估计误差。因此,我们提出了升温(warm - up)策略,即服务器要求客户端在恢复过程的前Tw轮中计算并传递它们的精确模型更新。此外,我们还提出了周期修正策略,即服务器要求客户端在每个Tc轮中计算和通信他们的精确模型更新。当客户端的预估模型更新很大时,它对恢复的全局模型有很大的影响。为了减少潜在的错误估计的大型模型更新的影响,我们提出了异常修复策略,其中当估计的模型更新的至少一个坐标大于阈值τ时,服务器要求客户端计算其精确的模型更新。此外,我们还提出了在训练结束前减少估计误差的最终调优策略,即服务器要求客户端在最后的Tf轮中计算并传递精确的模型更新。参数Tw, Tc, τ和Tf控制恢复的全局模型的准确性和客户机的计算/通信成本之间的权衡。特别是,更大的Tw、更小的Tc、更小的τ或更大的Tf可能恢复更精确的全局模型,但也会给客户带来更大的成本。

        理论上,我们证明了FedRecover恢复的全局模型和train-from-scratch恢复的全局模型之间的差异在某些假设下是有界的,例如,用于学习全局模型的损失函数是光滑的和强凸的。在经验上,我们广泛地使用四个数据集、三种FL方法(例如,FedAvg、Median和Trimmed-mean)以及Trim攻击(一种无针对性的中毒攻击)和后门攻击(一种有针对性的中毒攻击)来评估FedRecover。我们的经验结果表明,FedRecover可以恢复与 train-from-scratch一样精确的全局模型,同时为客户节省了大量的计算/通信成本。例如,当数据集为MNIST, FL方法为Trimmed-mean时,使用40个恶意客户端进行后门攻击可以获得1.00的攻击成功率。FedRecover和train-from-scratch都能以0.07的测试错误率和0.01的攻击成功率恢复全局模型,但FedRecover比train-from-scratch平均节省了88%的客户端计算/通信成本。此外,即使检测方法错误地将一些恶意客户端检测为良性和/或一些良性客户端检测为恶意,FedRecover也可以有效地恢复与train-from-scratch一样精确的全局模型。

        总之,我们的主要贡献如下:

•我们进行了第一个关于FL中毒攻击模型恢复的系统研究。
• FedRecover通过历史信息和多种优化策略来估计客户的模型更新,从而恢复全局模型。
•我们从理论和经验两方面评估 FedRecover。
结果表明,FedRecover可以准确有效地恢复全局模型

2、背景和相关知识

2.1 FL的背景知识

        假设FL系统有n个客户端,每个客户端都有一个本地训练数据集D_{i}, i= 1,2,···,n。我们用D =U_{i=1}^{n}D_{i}表示联合训练数据集,它是客户端本地训练数据集的并集。n个客户端旨在基于联合训练数据集协同训练共享机器学习模型(称为全局模型)。为了实现这一目标,n个客户端共同最小化其训练数据集上的一个损失函数,即min_{w}L(D;w) = min_{w}∑︁_{i=1}^{n}L(Di;w),其中w表示全局模型参数L为经验损失函数(例如,交叉熵损失)。为简单起见,设Li(w) = L(Di;w)在这个工作的其余部分。由服务提供者(例如谷歌、Facebook、Apple)提供的服务器维护全局模型。全局模型在多个轮中迭代更新,在第 t 轮中,FL采取以下三个步骤:

•第一步:服务器向客户端广播当前全局模型w_{t}。服务器还可以将全局模型广播给客户端的一个子集。我们的方法也适用于这个场景。但是,为了简单起见,我们假设每一轮都涉及所有客户。

•第二步:第i个客户端根据接收到的全局模型w_{t}和客户端的本地训练数据Di,使用梯度下降计算模型更新g_{t}^{i}=∂Li(wt)/∂wt。如果本地训练数据集很大,客户端也可以使用随机梯度下降和小批处理。为了简单起见,我们在方法描述中假设了梯度下降,但在实验中我们采用了随机梯度下降。然后,客户机将模型更新报告给服务器。注意,客户端并行计算它们的模型更新。 

•第三步:服务器根据聚合规则A聚合客户端的模型更新,然后使用聚合后的模型更新去更新全局模型,更新速率为η,即wt+1 = wt−η·A (gt 1, gt 2,···,gt n)。

        在从头训练中,服务器初始化全局模型,然后服务器和其他客户机在每一轮中遵循上述三个步骤迭代地更新它。不同的FL方法本质上使用了步骤III中不同的聚合规则。接下来,我们回顾几种流行的聚合规则。

        FedAvg:由谷歌Inc.开发的FedAvg[24]计算客户端模型更新的加权平均值作为聚合模型更新。
形式上,给定模型在第t轮的更新gt 1, gt 2,···,gt n,聚合模型更新如下:

FedRecover: Recovering from Poisoning Attacks inFederated Learning using Historical Information_第1张图片

 其中|·|表示数据集的大小。

        Median: Median是一个基于坐标的聚合规则,它分别聚合模型更新的每个坐标。具体来说,对于每个坐标,Median计算n次模型更新中对应坐标的位数,并将其作为聚合模型更新的对应坐标。

        Trimmed-mean: Trimmed-mean也是一个基于坐标的聚合规则。对于每个坐标,Trimmed-mean对n个模型更新中对应坐标的值进行排序。然后,去掉k值的最大值和最小值。最后,计算剩余值的平均值作为聚合模型更新的对应坐标。k < n/2是修剪均值的超参数。

2.2 对FL的中毒攻击

        联邦学习容易受到的毒害攻击,其中恶意客户端在FL的第II步中通过向服务器发送恶意模型更新来毒害全局模型。恶意客户端可以通过毒害本地训练数据和/或直接操纵模型更新来构建他们的恶意模型更新,而不遵循第II步中规定的FL协议。根据攻击者的目标,投毒攻击可分为无针对性投毒攻击和针对性投毒攻击。在无目标投毒攻击中,中毒全局模型对大量的测试输入具有不加区分地较大的测试错误率。在定向投毒攻击中,中毒全局模型为攻击者选择的目标测试输入预测攻击者选择的目标标签;为了保持隐蔽,中毒的全局模型对其他测试输入的测试错误率不受影响。例如,后门攻击是流行的有针对性的投毒攻击,其中攻击者选择的测试输入是嵌入触发器的任何输入。接下来,我们回顾Trim攻击(一种常见的无目标投毒攻击)和后门攻击(一种常见的有目标投毒攻击)。

        修剪攻击:Fang等人将FL的无目标投毒攻击作为一般框架。粗略地说,该框架旨在制造恶意模型更新,最大限度地扩大攻击前后聚合模型更新之间的差异。该框架可以应用于不同的聚合规则。Trim攻击是基于该框架下的Trimmed-mean聚合规则构造的,对FedAvg和Median等其他聚合规则也有效。

        后门攻击:在后门攻击中,攻击者通过增加嵌入触发器的副本来毒害恶意客户端的本地训练数据。具体地说,对于恶意客户机的本地训练数据集中的每个输入,攻击者都制作一个副本,并在副本中嵌入一个触发器。然后,攻击者将嵌入触发器的副本注入恶意客户机的本地训练数据集,并将其重新标记为目标标签。在每一轮FL中,每个恶意客户端基于其中毒的本地训练数据计算一个模型更新。为了放大模型更新的影响,恶意客户端在向服务器报告它们之前将它们进一步放大一个很大的因子。我们注意到一些方法已经被提出用来检测和去除神经网络中的后门。然而,它们对于FL是不够的。例如,假设有一个干净的训练数据集可用,这通常不适用于FL服务器。

2.3 检测恶意客户端

        恶意客户端检测旨在区分恶意客户端和良性客户端,这本质上是一个二进制分类问题。粗略地说,关键思想是利用恶意客户机和良性客户机的特征(例如,模型更新)之间的一些统计差异。不同的检测方法使用不同的特征和二进制分类器来执行检测。具体来说,对于每个客户端,这些检测方法首先在一轮或多轮中从其模型更新中提取特征,然后使用分类器预测其是否是恶意的。例如,Zhang等人提出通过检查客户端的模型更新一致性来检测恶意客户端。特别是,服务器根据每一轮的历史模型更新来预测客户机的模型更新。如果接收到的模型更新在多个回合中与预测的不一致,那么服务器将标记客户机为恶意的。Zhang等人也利用柯西中值定理和L-BFGS算法来预测客户端的模型更新,但他们对所有客户使用相同的近似Hessian矩阵,我们在实验中发现,这种方法对模型恢复无效,例如,恢复模型的准确性可能是近乎随机的猜测。

        检测恶意客户端也与分布式系统中的Sybil检测相关。因此,传统的Sybil检测保护方法也可用于检测恶意客户端,其中恶意客户端被视为Sybil。特别是,这些Sybil检测方法利用客户端ip、网络行为和社交图(如果可用的话)。

2.4 机器遗忘

        机器遗忘的目的是让一个机器学习模型“忘记”一些训练例子。例如,出于隐私考虑,用户可能希望模型忘记其数据。提出了多种方法来实现高效的机器撤销学习。例如,Cao等人提出将用于训练机器学习模型的学习算法转换为求和形式。因此,只需要更新少量的总和就可以忘记一个训练示例。Bourtoule等人将模型训练分解为多个组成模型的聚合,每个训练示例只贡献给一个组成模型。因此,当放弃一个训练示例时,只需要重新训练一个组成模型。Wu等人提出了DeltaGrad,该方法使用未学习的训练例上的梯度来估计剩余训练例上损失函数的梯度。

        FL中毒发作的模型恢复与机器遗忘有关。特别地,模型恢复可以被视为忘记检测到的恶意客户端,即,使全局模型忘记来自检测到的恶意客户端的模型更新。然而,现有的机器遗忘方法对于FL来说是不够的,因为1)它们需要改变FL算法来训练多个组成模型,并且当多个组成模型涉及检测到的恶意客户端时是低效的,因此需要重新训练,和/或2)它们需要访问客户端的私有本地训练数据。

3、问题定义

3.1 威胁模型

        我们遵循先前关于FL中毒攻击的研究中考虑的威胁模型。具体来说,我们将详细讨论攻击者的目标、能力和背景知识。

        攻击者的目标:在无目标投毒攻击中,攻击者的目标是对大量测试输入不加选择地增加全局模型的测试错误率。在有针对性的投毒攻击中,攻击者的目标是毒害全局模型,以便它为攻击者选择的目标测试输入预测攻击者选择的目标标签,但对其他测试输入的预测不受影响。例如,在一种被称为后门攻击的定向投毒攻击中,目标测试输入包括攻击者任意选择嵌入的触发器,例如,特征模式。

        攻击者的能力:我们假设攻击者控制了一些恶意客户端,但没有破坏服务器。恶意客户端可能是攻击者注入FL系统的假客户端,也可能是攻击者攻陷的FL系统中的真客户端。恶意客户端可以向服务器发送任意的模型更新。

        攻击者的背景知识:攻击者对FL系统[的背景知识有两种常见的设置,即部分知识设置和完全知识设置。部分知识设置假设攻击者知道恶意客户机上的全局模型、损失函数以及本地训练数据和模型更新。全知识设置进一步假设攻击者知道所有客户机上的本地训练数据和模型更新以及服务器的聚合规则。在完全知情的情况下,中毒攻击往往比在部分知情的情况下更强。在这项工作中,我们考虑在全知识设置下的强中毒攻击。

3.2 设计目标

        我们的目标是设计一种精确而高效的FL模型恢复方法。我们使用 train-from-scratch作为基线来衡量恢复方法的准确性和效率。我们的方法应该恢复一个全局模型的准确性,与 train-from-scratch恢复的模型一样,同时减少客户端计算和通信成本。具体来说,我们的设计目标如下:

准确的:通过我们的恢复方法恢复的全局模型应该是准确的。特别是对于无目标中毒攻击,恢复全局模型的测试错误率应接近于 train-from-scratch恢复全局模型的测试错误率。对于有针对性的投毒攻击,我们进一步要求用我们的方法恢复的全局模型的攻击成功率应该和用train-from-scratch恢复的全局模型的攻击成功率一样低。

高效:我们的恢复方法需要较少的客户端计算和通信成本。我们关注客户端的效率,因为客户端通常是资源受限的设备。当要求客户端在一轮中计算精确的模型更新时,模型恢复为客户端引入了一个单位的通信和计算成本。因此,我们通过比较客户端计算精确模型更新的轮数来衡量恢复方法的效率。我们的目标是设计一种高效的恢复方法,它要求客户端仅在一小部分轮内计算出精确的模型更新。注意,我们的方法为服务器带来了可接受的计算和存储成本。

独立于检测方法:已经提出了不同的检测方法来检测恶意客户端。此外,未来可能会开发出新的检测方法。因此,我们的目标是设计一种与任何检测方法兼容的通用回收方法。具体地说,所有的检测方法都预测一个恶意客户端的列表,我们的恢复方法应该能够使用这个列表恢复全局模型,而不需要关于检测过程的任何其他信息。在实践中,检测器可能会错过一些恶意的客户端(即假阴性)或错误地将一些良性的客户端检测为恶意的(即假阳性)。当检测器的假阴性率和假阳性率不为零时,我们的恢复方法应该仍然和从头训练一样准确,而且比从头训练更有效。

独立于聚合规则:FL中提出了各种聚合规则,可以使用不同的聚合规则训练中毒的全局模型。因此,我们的目标是设计一种与任何聚合规则兼容的通用恢复方法。我们的恢复方法不应该依赖于FL的聚合规则。特别是,在恢复过程中,我们使用与训练中毒全局模型相同的聚合规则。

3.3 服务器要求

        我们假设服务器有足够的存储容量,可以在检测到恶意客户端之前,保存服务器在训练中毒的全局模型时收集的全局模型和客户端模型更新。我们还假设服务器具有在恢复期间估计客户机模型更新的计算能力。这些需求是合理的,因为服务器(例如,数据中心)通常是强大的。我们将在第VI-C节详细讨论服务器的成本。     

4、FEDRECOVER

4.1 概述

        删除检测到的恶意客户端后,FedRecover初始化一个新的全局模型,并在多轮迭代中对其进行训练。在每一轮中,FedRecover在服务器上模拟我们在第II-A节中讨论的FL的三个步骤。服务器使用存储的历史信息(包括原始全局模型和原始模型更新)来估计模型更新,而不是要求其余客户端计算和通信模型更新。客户端模型更新中的估计误差可能在多轮中累积,最终导致不准确的恢复全局模型。因此,我们进一步提出了几种策略,包括预热、定期校正、异常修复和最终调整以优化FedRecover。在这些策略中,服务器要求客户端计算其准确的模型更新,而不是分别在恢复过程的前几轮、每一定数量的轮、估计的模型更新异常时和最后几轮中周期性地估计它们。理论上,我们可以在某些假设下,限制FedRecover恢复的全局模型与 train-from-scratch恢复的全局模式之间的差异;我们表明,随着FedRecover增加客户端的计算/通信成本,这种差异呈指数级下降。

4.2 评估客户端的模型更新

        符号:我们首先定义一些符号(如附录中的表I所示),这些符号将有助于描述我们的方法。我们调用全局模型,客户端的模型更新原始训练中收集的服务器(即,在检测恶意客户端之前)原始全局模型和原始模型更新。特别是,我们使用 \bar{w}_{t} 表示原始全局模型,使用 \bar{g}_{t}^{i} 表示第 t 轮第 i 个客户端报告的原始模型更新,其中i=1,2,··,n,t=1,2.··,T。此外,我们使用 \hat{w}_{t} 表示第 t 轮FedRecover中恢复的全局模型。我们使用 g_{t}^{i} 表示第t轮恢复过程中第i个客户端的确切模型更新(如果客户端计算),即

在train-from-scratch中,服务器要求每个客户端在FL框架的步骤II中计算和通信g_{t}^{i}。在FedRecover中,服务器存储\bar{w}_{t}\bar{g}_{t}^{i}\hat{w}_{t},其中i=1、2、··、n和t=1、2,··、T;并且服务器使用它们来估计g_{t}^{i},而不是在FL框架的步骤II中要求客户端计算它。我们将g_{t}^{i}的估计版本表示为\hat{g}_{t}^{i}。接下来,我们讨论如何估计\hat{g}_{t}^{i}

        使用柯西均值定理计算模型更新:基于柯西中值定理的积分版本([21]第341页定理4.2),我们可以如下计算精确的模型更新g_{t}^{i}

 

其中第t轮中第i个客户端的集成Hessian矩阵。直观地,梯度g是模型参数w的函数。函数值g_{t}^{i} - \bar{g}_{t}^{i}之间的差异可以通过变量 \hat{w}_{t} - \bar{w}_{t}和函数g沿着变量之间的线的积分梯度(即H_{t}^{i})之间的差异来表征。注意,上面的方程涉及积分海森矩阵,这对于精确计算是有挑战性的。为了解决这个问题,我们利用一个有效的L-BFGS算法来计算近似的Hessian矩阵。接下来,我们将讨论如何近似积分海森矩阵。

使用L-BFGS算法逼近积分Hessian矩阵:在优化中,L-BFGS算法是逼近Hessian矩阵或其逆矩阵的常用工具。L-BFGS算法需要全局模型的差异和过去几轮的模型更新,以在当前一轮中进行近似。具体而言,我们将第 t 轮的全局模型差异定义为\Delta w_{t} = \hat{w}_{t}\bar{w}_{t}第t轮中第i个客户端的模型更新差异为∆ g_{t}^{i} = g_{t}^{i} - \bar{g}_{t}^{i}。注意,全局模型差异衡量的是一轮中恢复的全局模型和原始全局模型之间的差异,而模型更新差异衡量的是客户端的精确模型更新和一轮中原始模型更新之间的差异。L-BFGS算法在第t轮中保持全局模型差异的缓冲区\Delta W_{t}=[∆Wb1,∆Wb2、··、,∆Wbs],其中s是缓冲区大小。此外,对于每个客户端i,L-BFGS算法保持模型更新差异的缓冲区。L-BFGS算法需要\Delta W_{t}\Delta G_{t}^{i}作为输入并输出第 t 轮第 i 个客户的近似Hessian矩阵\tilde{H}_{t}^{i},即\tilde{H}_{t}^{i}=L-BFGS( \Delta W_{t},\Delta G_{t}^{i})。

        注意,Hessian矩阵的大小是全局模型参数数量的平方,因此当全局模型是深度神经网络时,Hessin矩阵可能太大而无法存储在存储器中。此外,在实践中,通常需要Hessian矩阵和向量v的乘积,这被称为Hessian向量积。例如,在FedRecover中,我们的目标是找到H_{t}^{i}v,其中v= \hat{w}_{t}\bar{w}_{t} 。因此,L-BFGS算法的现代实现将向量v作为附加输入,并以有效的方式直接逼近Hessian向量积,即。我们使用中的算法,其细节可在附录中的算法2中找到。L-BFGS还有其他变体和实现。然而,它们近似于逆Hessian向量积,而不是Hessian向量乘积,因此不适用于FedRecover。在获得近似的Hessian向量积之后,我们可以将估计的模型更新计算为

        注意,在标准L-BFGS算法中,第t轮中全局模型差异(或模型更新差异)的缓冲区由前s轮中的全局模型差异或模型更新差组成,即b_{j}=t−s+j−1.此标准L-BFGS算法面临一个关键挑战:它需要每一轮中精确的模型更新g_{t}^{i},以便计算模型更新差异的缓冲区,但我们的目标是避免要求客户端在大多数轮中计算其精确的模型。接下来,我们提出了几种优化策略来应对这一挑战。

 4.3 优化策略

        预热:我们的第一个优化策略是在恢复过程的前几轮预热L-BFGS算法。特别是,在前T_{w}>s轮中,服务器要求客户端计算其确切的模型更新g_{t}^{i},并使用它们更新恢复的全局模型。根据前s轮的预热,服务器计算第 t 轮的全局模型差异的缓冲区\Delta w_{t}以及第t轮中第i个客户端的模型更新差异∆ g_{t}^{i} ,然后,在未来几轮中,服务器可以使用具有这些缓冲区的L-BFGS算法来计算近似Hessian矩阵,然后使用近似Hessin矩阵来计算估计模型更新,最后使用估计模型更新来更新恢复的全局模型。然而,基于预热循环构建的缓冲区对于未来循环可能会过时,这会导致不准确的近似Hessian矩阵、不准确的估计模型更新,以及最终不准确的恢复全局模型。为了应对这一挑战,我们进一步提出了周期性校正和异常修复策略,我们将在接下来讨论这些策略。

        定期校正和异常修复:在定期校正中,服务器要求每个客户端在预热后的每一个Tc循环中定期计算其准确的模型更新。在异常修复中,如果估计的模型更新异常大,即,如果估计模型更新的至少一个坐标大于τ(我们称之为异常阈值),则服务器要求客户端在此轮中计算其准确的模型更新。较大的估计模型更新对恢复的全局模型具有较大的影响,因此较大的错误估计模型更新将对恢复的全局模型产生实质性的负面影响。因此,我们考虑异常修复策略,以限制可能错误估计的模型更新的影响。

        如果异常阈值τ太小,我们的异常修复策略会将正确估计的大型模型更新视为异常,这会增加客户端的计算/通信成本。因此,我们根据历史信息选择τ。具体而言,对于每一轮t,我们收集参与恢复的所有客户的原始模型更新\bar{g}_{t}^{i}。我们选择\tau _{t},以使客户原始模型更新中最多α部分的参数大于\tau _{t}。然后我们选择τ作为\tau _{t}中的最大值,即τ=max_{t}{\tau _{t}}。在这里,在任何一轮中良性模型更新中的某个参数被视为异常的概率都不大于α,我们称α为耐受率,因为我们最多允许α部分这样的错误处理。 

         最终调整:我们发现,如果我们用一轮估计的模型更新来终止训练,那么恢复的全局模型的性能可能会由于潜在的估计误差而不稳定。因此,我们进一步提出了最终的调整策略,其中服务器要求客户端在训练结束前的最后T_{f}轮中计算其准确的模型更新。如我们将在实验中所示,只需要少量的循环(例如,T_{f}=5)来确保恢复的全局模型的良好性能。

         我们注意到,当恶意客户端检测方法未检测到某些恶意客户端时,它们仍然可以在预热、定期纠正、异常修复和最终调整循环中进行形式中毒攻击。然而,我们的实验将表明,FedRecover仍然可以在这种情况下恢复准确的全局模型。这是因为预热、周期性校正、异常修复和最终跳转的次数很少。

         更新L-BFGS算法的缓冲区:回想一下,L-BFGS的缓冲区需要客户端精确的模型更新。因此,我们只在服务器要求所有客户端计算其模型更新后更新缓冲区\Delta w_{t},并在服务器请求第i个客户端计算其确切的模型更新之后更新缓冲区\Delta G_{t}^{i}。请注意,客户端仅计算其用于预热、定期校正、异常修复或最终调整的精确模型更新。在第t轮中,\Delta w_{t}包含前s轮中的全局模型差异,其中所有客户端计算其精确的模型更新;然后\Delta G_{t}^{i}包含前s轮中第i个客户端的模型更新差异,其中第i个客户机计算其准确的模型更新。

 4.4 完整算法

        附录中的算法1显示了FedRecover的完整算法。在不失一般性的情况下,我们假设前m个客户端是恶意的。在前T_{w}轮预热中,服务器遵循第2-1节中讨论的FL框架的三个步骤来更新恢复的全局模型。在预热后的每一轮t中,如果服务器要求客户端计算上一轮t-1的精确模型更新,则服务器首先更新L-BFGS算法的缓冲区,如第4-3节所述。然后,服务器使用周期性校正或估计的模型更新来更新恢复的全局模型。如果估计模型更新的至少一个坐标大于异常阈值τ,则要求客户端计算准确的模型更新。最后,在服务器终止训练过程之前,它要求客户端计算精确的模型更新,以便进行最终调整。

 4.5 理论分析

        我们首先分析了train-from-scratch和FedRecover引入的客户端的计算和通信成本。然后,我们证明,在某些假设下,FedRecover恢复的全局模型和train-from-scratch恢复的全局模式之间的差异可以在每一轮中被限制。最后,我们展示了这种差异与客户端的计算/通信成本之间的联系,即在FedRecover中恢复的全局模型的准确性与客户端的计算机/通信成本的权衡。我们注意到,我们的理论界限分析基于一些假设,而这些假设对于神经网络等复杂模型可能不成立。因此,我们在下一节中对神经网络的FedRecover进行了实证评估。

         客户的计算和通信成本:当客户端被要求计算模型更新时,我们会向客户端引入一些计算和通信成本。此外,这种计算/通信成本大致不取决于客户端被要求计算模型更新的哪一轮。因此,我们可以将此类成本视为可单位化的。Train-from-scratch要求每个客户在每一轮中计算模型更新。因此,Train-from-scratch的每个客户端的平均计算/通信成本为O(T),其中T是总回合数。在FedRecover中,成本取决于预热循环次数Tw、周期性校正参数Tc、触发异常修复的循环次数以及最终调整循环次数Tf。异常修复的次数取决于数据集、FL方法和阈值τ,这使得理论上很难分析FedRecover的成本。然而,当不使用异常修复时,即τ=∞, 我们可以证明,FedRecover每个客户端的平均计算/通信成本为

限制FedRecover和 train-from-scratch恢复的全局模型之间的差异:我们首先描述了我们的理论分析所基于的假设。然后,我们显示了FedRecover恢复的全局模式和从头训练的差异的界限。

假设1.损失函数是µ-强度凸形和L-光滑的。形式上,对于每个客户i,对于任何w和w′,我们有以下两个不等式:

FedRecover: Recovering from Poisoning Attacks inFederated Learning using Historical Information_第2张图片

其中Li是客户端i的损失函数,〈·, ·〉 表示两个向量的内积,以及∥·∥ 代表ℓ2基准的向量。

假设2.在L-BFGS算法中逼近Hessian向量积的误差是有界的。形式上,每个近似的赫森向量积满足以下条件:

其中M是有限正值。

定理1.假设假设1-2成立,FedAvg用作聚集规则,阈值τ=∞ (即,不使用异常修复),学习率η满足η≤ min(1/µ,1/L),并且检测到所有恶意客户端。然后,FedRecover恢复的全局模型与train-from-scratch在每一轮t>0中之间的差异可以如下所示:

FedRecover: Recovering from Poisoning Attacks inFederated Learning using Historical Information_第3张图片

其中,wˆt和wt分别是FedRecover和train-from-scratch恢复的全局模型,并在t轮从头开始训练。

证明:我们的想法是递归地限制每一轮的差异。附录A显示了详细的证据

给定定理1,我们限定了FedRecover: Recovering from Poisoning Attacks inFederated Learning using Historical Information_第4张图片
此外,我们还有以下推论:

推论1.当L-BFGS算法能够精确地计算积分的Hessian向量积(即,M=0)时,通过FedRecover恢复的全局模型与通过train-from-scratch恢复的全局模式之间的差异被限制为。 因此,FedRecover恢复的全局模型收敛于train-from-scratch的全局模型,即,我们有

差异界限和计算/通信成本之间的权衡:给定推论1,我们的差异界限如下当FedRecover运行T轮时。随着T的增加,差异界限呈指数下降。此外,当τ=∞时,FedRecover的计算/通信成本与T成线性关系. 因此,差异界限随着成本的增加呈指数下降。换言之,我们观察到FedRecover的准确性成本权衡,即当为客户引入更多成本时,FedRecover恢复的全局模型更准确(即更接近train-from-scratch的全局模型)。

 5 实验

5.1 实验设置

1) 数据集:我们在评估中考虑了不同学习任务的多个数据集。具体来说,我们使用两个图像分类数据集(MNIST和Fashion MNIST)、一个Purchase风格预测数据集(Purchase)和一个人类活动识别数据集(HAR)。除非另有说明,为了简单起见,我们在MNIST上显示了实验结果。

MNIST:MNIST是一个10位数的图像分类数据集,包含60000张训练图像和10000张测试图像。图像的高度和宽度都是28。我们采用中的卷积神经网络(CNN)作为全局模型架构。特别是,CNN由两个卷积层和两个完全连接的层组成,每个卷积层后面都有一个池化层。我们假设100个客户,并使用中的方法将训练图像分发给他们,其中该方法具有一个称为非iid程度的参数,该参数的范围在0.1和1之间。当非iid的程度大于0.1时,客户的本地训练数据是非iid,而当非iid的程度更大时,则更为非iid。默认情况下,在向客户端分发训练图像时,我们将非iid级别设置为0.5,但我们将探讨其对FedRecover的影响。

时尚MNIST:时尚MNIST是另一个10类图像分类数据集。与包含数字图像的MNIST不同,Fashion MNIST包含70000个时尚图像。数据集被分成60000个训练图像和10000个测试图像,其中每个图像的大小为28×28。我们采用与MNIST相同的CNN。此外,我们还假设有100个客户,在向他们分发训练图像时,我们将非iid的默认程度设置为0.5。

购买:购买是[1]发布的零售数据集。任务是预测客户所属的购买风格。
该数据集总共包含197324条购买记录,其中每条记录具有600个二进制特征,属于100个不平衡类中的一个。数据集分为180000条训练记录和17324条测试记录。根据[29],我们采用具有一个隐藏层的完全连接的神经网络作为全局模型架构,其中隐藏层中的神经元数量为1024,激活函数为Tanh。我们还假设总共有100个客户。在[29]之后,我们将培训记录平均分配给他们。

人类活动识别(HAR):HAR[4]是一个6类人类活动识别数据集。数据集是从30个真实世界用户的智能手机中收集的。每个数据样本由561个特征组成,这些特征表示从用户智能手机的多个传感器收集的信号,并且属于6种可能的活动(例如,行走、坐和站)之一。
我们将数据集中的每个用户视为客户端。此外,在[11]之后,我们使用每个客户75%的数据作为本地训练数据,其余25%作为测试数据。我们采用具有两个隐藏层的完全连接的神经网络作为全局模型架构,其中每个隐藏层由256个神经元组成,并使用ReLU作为激活函数。

2) FL设置:回想一下,最初的FL训练在每一轮中有三个步骤。我们考虑客户使用随机梯度下降来计算模型更新。考虑到数据集中的不同特征,我们对原始FL训练采用以下参数设置:对于MNIST和Fashion MNIST,我们训练了2000轮,学习率为3×10−4和批量32;对于采购,我们训练1000轮,学习率为1×10−4和批量2000;对于HAR,我们训练1000轮,学习率为3×10−我们考虑三个聚合规则:FedAvg[24]、中值[36]和修剪平均值[36]。我们不考虑Krum,因为它既不准确也不可靠,我们也不考虑FLTrust,因为其需要服务器额外的干净数据集。我们在所有数据集的修剪平均值中设置修剪参数k=n×20%。特别地,对于MNIST、Fashion MNIST和HAR数据集,k分别为20、20、20和6。

3) 攻击设置:默认情况下,我们随机抽取20%的客户端作为恶意客户端。具体而言,MNIST、Fashion MNIST,Purchase和HAR数据集的恶意客户端数量分别为20、20、20和6。此外,我们假设攻击者执行完全知识攻击。我们考虑Trim攻击(一种无目标的中毒攻击)和后门攻击(一个目标中毒攻击)。我们在[18]中采用了修剪攻击的默认参数设置。我们按照设计了后门攻击中的触发器。特别是,对于MNIST和Fashion MNIST,我们采用位于右下角的相同白色像素作为触发器。对于购买和HAR,我们将每20个特征值设置为0作为触发器。我们选择0作为所有数据集的目标标签。在后门攻击中,每个恶意客户端都会扩展其恶意模型更新。我们将MNIST的缩放因子设置为10,将Fashion MNIST和HAR的缩放系数设置为5,因为使用这些设置,后门攻击可以获得较高的攻击成功率。我们注意到,当缩放因子从1到100变化时,购买的攻击成功率是相似的。因此,我们将缩放因子设置为1以使购买更隐蔽。恶意客户端在原始FL培训的每一轮中都会执行Trim攻击或后门攻击。此外,当未检测到某些恶意客户端时,它们会在恢复过程中的每一次预热、定期纠正、异常修复和最后一轮调整中执行攻击。

4) 恢复设置:在恢复全局模型时,我们采用与原始FL训练相同的设置,包括总轮数、学习率、批量大小和聚合规则。FedRecover具有以下参数:预热循环数Tw、校正周期Tc、异常阈值τ和最终调整循环数Tf。默认情况下,我们设置Tw=20,Tc=10,容差率α=1×10−6来选择阈值τ,并且Tf=5。我们使用缓冲区大小为2(即s=2)的L-BFGS算法,并采用[34]中的公共实现。除非另有说明,否则我们假设检测到所有恶意客户端。然而,我们将探讨恶意客户端检测中的假阴性率(FNR)和假阳性率(FPR)对模型恢复的影响。
5) 比较方法:我们将FedRecover与两种基线方法进行比较:

Train-from-scratch:Train-from-scratch将删除检测到的恶意客户端,然后遵循标准FL,使用剩余的客户端从头开始重新训练全局模型。默认情况下,我们假设客户机在全局循环中使用一个小批量更新其本地模型。然而,我们还将探讨本地小批量数量的影响。

仅历史信息:另一个基线是仅使用服务器存储的历史信息恢复全局模型。具体来说,服务器首先初始化恢复的全局模型。然后,它使用存储的剩余客户端的原始模型更新来更新恢复过程的每一轮中恢复的全局模型。
这两种基线方法代表了模型恢复的两种极端情况,即从头开始的训练涉及到恢复过程的每一轮中的重新维护客户端,而历史信息完全不涉及客户端。
换言之,从头开始的培训为客户带来了最大的通信成本,而历史信息只给客户带来了零成本。
6) 评估指标:我们采用测试错误率(TER)、攻击成功率(ASR)和平均成本节约百分比(ACP)作为评估指标。我们对它们的定义如下:

测试错误率(TER):给定测试数据集和(恢复的或原始的)全局模型,TER是全局模型错误预测的测试输入的一部分。
攻击成功率(ASR):对于后门攻击,我们还使用ASR来评估全局模型。给定一个测试数据集,我们首先排除其基本事实标签为目标标签的测试输入。然后,ASR被定义为当嵌入后门触发器时预测具有目标标签的剩余输入的一部分。我们说,如果恢复的全局模型具有较小的TER(以及用于后门攻击的ASR),则恢复方法更准确。

平均成本节约百分比(ACP):我们使用ACP来衡量恢复方法与从头开始训练相比的计算/通信成本节约。具体来说,恢复过程中的总轮数为T,即每个客户端从头开始计算T轮中的确切模型更新。对于给定的客户机,我们用Tr表示要求客户机计算并在恢复方法中传递其准确模型更新的轮数。然后,我们将客户的成本节约百分比(CP)定义为(T− Tr)\/T×100%。我们的ACP定义为客户的平均成本节约百分比。如果ACP较大,则回收方法更有效。

5.2 实验结果

FedRecover是准确和高效的:图1显示了从零开始训练的TER、ASR和ACP,仅提供历史信息,以及FedRecover针对四个数据集、三个聚合规则和两个攻击。我们观察到,FedRecover在从中毒模型中恢复全局模型方面既准确又高效。特别是,FedRecover可以通过从头开始的训练实现类似的TER和ASR。此外,FedRecover可以实现大型ACP,即FedRecover可显著降低客户端的计算/通信成本。历史信息不会给客户带来成本(即ACP为100),但其恢复的全球模型具有较大的TER(几乎随机猜测)。

恶意客户端数量的影响:图2显示了恶意客户端数量对从Trim攻击中恢复的影响。附录中的图13显示了从后门钉处恢复的结果。我们观察到,当不同数量的客户端是恶意的时,FedRecover可以像从头开始训练一样恢复精确的全局模型,即FedRecover的TERs(和ASR)接近从头开始训练的TERs。此外,与从头开始训练相比,FedRecover可以为客户节省大部分成本。例如,当聚合规则为Trimmerd-mean且恶意客户端的数量为40时,FedRecover平均为客户端节省88%的成本。

非iid程度的影响:图3显示了客户端本地训练数据的非iid对从Trim攻击中恢复的影响。从后门攻击中恢复的结果如附录中的图15所示。我们观察到,FedRecover可以恢复像从头开始训练一样精确的全局模型,用于各种程度的非iid。当非iid程度增加到0.9时,FedRecover和从头训练的TERs都相对较大。这是因为FedRecover与从头训练不会改变聚合规则,它们的性能取决于聚合规则。当非iid的程度非常大时,即使没有中毒攻击,聚合规则本身也不准确。当从修剪攻击中恢复时,FedRecover的ACP随着非iid程度的增加而降低。这是因为当非iid的程度更大时,估计的模型更新更可能异常,导致更频繁的异常修复,从而降低ACP。

预热轮数Tw的影响:图4显示了从两次攻击中恢复时Tw对FedRecover的影响。我们观察到,随着热身赛次数的增加,TER和ASR保持稳定,而ACP降低。我们的结果表明,少量的热身赛足以让FedRecover准确高效地恢复全局模型。

修正周期Tc的影响:图5显示了Tc在两次攻击后恢复时对FedRecover的影响。我们观察到,Tc控制着准确性和效率之间的权衡。具体而言,ACP随Tc的增加而增加,但随Tc的增加ACP的增长速度变小。当校正周期Tc较小时,如Tc≤10时,TER和ASR基本保持不变。而当Tc大于一定阈值后,TER开始增加。我们的结果表明,Tc≈10足以让FedRecover在准确性和效率之间实现良好的权衡。

容忍率α的影响:图6显示了α对FedRecover的影响。回想一下,α决定了异常阈值τ。较小的α导致较大的阈值τ。我们观察到α控制着FedRecover的准确性和效率之间的权衡。换句话说,当α较大时,FedRecover为客户端节省了较少的成本,但也产生了较低的TER。具体来说,随着α的增加,ACP下降,而TER略有下降。

最终调优轮数的影响Tf:图7显示了Tf在从两次攻击中恢复时对FedRecover的影响。我们观察到,随着最终调谐轮数的增加,TER和ASR保持稳定,而ACP略有下降。我们注意到,尽管Tf在图7中没有显示出很大的影响,但在其他一些场景中,它有必要实现良好的准确性。例如,当数据集为Purchase且聚合规则为trim @ mean时,不进行最终调优的TER为18%,而Tf = 5的TER为13%。
附录中的图20显示了更多细节。我们的结果表明,少量的最终调优轮足以让FedRecover准确有效地恢复全局模型。

假阴性率(FNR)和假阳性率(FPR)在恶意客户端检测中的作用:在实践中,恶意客户端检测并不总是完美的。例如,一些恶意客户端可能逃过检测,一些良性客户端可能被错误地检测为恶意客户端。
我们将FNR定义为未被检测到的恶意客户端的比例,将FPR定义为被错误检测为恶意的良性客户端的比例。我们探讨了FNR和FPR对模型恢复的影响。图8显示了从Trim攻击中恢复全局模型时的结果。注意,当在恢复过程中要求恶意客户端计算精确的模型更新时,未检测到的恶意客户端仍然执行攻击。我们观察到,即使FNR或FPR非零,FedRecover仍然可以恢复与从头开始的火车一样精确的全局模型。特别是FedRecover的TER曲线与从头开始的列车的TER曲线几乎重合,除非FedAvg的FNR较大(如FNR≥0.4)。当FNR或FPR在0 ~ 0.5范围内时,FedRecover的acp是稳定的。我们的结果表明,即使恶意客户端检测器的FNR或FPR非零,FedRecover也可以为客户端节省大量的成本。

从头开始训练,每个全局轮有多个本地小批次:降低从头开始训练通信成本的一个直观方法是要求客户在每个全局轮为l > 1个小批次训练他们的本地模型。在我们的默认设置中,我们设置l = 1。
图9a显示了不同l下从零开始的火车收敛速度,可以看出,当l较大时,从零开始的火车收敛所需的全局轮数(即通信成本)确实更少。当TER在过去20轮global round中下降不超过0.1%时,我们说一个global model在global round中收敛。图9b显示了使用不同的l和FedRecover从头聚合列车(train从头到尾)所需的平均每个客户端全局轮数。我们观察到,当l小于某个阈值(例如,l≤30)时,从头开始的训练比FedRecover需要更多的全局轮(即更多的通信成本)。当l进一步增加时,从零开始的火车需要比FedRecover更少的全局轮来收敛。但是,如图9c所示,当l增加时,从头开始训练会给客户端带来更多的计算成本。具体来说,随着l的增长,每个客户本地培训小批次的平均数量大幅增加。例如,当l = 50时,train-from scratch将通信成本降低35%,但与FedRecover相比,客户机的计算成本超过30×。我们的研究结果表明,当l较小时,FedRecover的通信和计算成本比从头开始的train更低,当l较大时,FedRecover的计算成本要低得多,但通信成本略高。

客户节省成本百分比(CP)的分布:我们在之前的实验中证明了FedRecover可以节省客户的平均成本。但是,如果某些客户节省的成本比例明显低于其他客户,则不希望这样做。因此,我们进一步研究了成本节约率(CP)在客户中的分布。图10a显示了使用Trimmed-mean作为聚合规则时从后门攻击中恢复的结果。我们观察到,个体客户的cp之间的差异很小。具体来说,所有cp都在88.5%到88.9%之间的小范围内。

自适应攻击:如果攻击者知道使用FedRecover恢复全局模型,则可以调整其攻击。例如,攻击者可以在恢复过程中使用未检测到的恶意客户端进行自适应攻击。我们注意到Trim攻击解决了相同的优化问题,而不管恶意客户端的数量。因此,在恢复过程中,针对无目标攻击的攻击策略已经是最优的。但是,攻击者可以通过调整后门攻击的比例因子来进行自适应后门攻击。具体来说,假设未检测到m’恶意客户端,且原始的缩放因子为λ,则攻击者可以将缩放因子增加到λ·m m’,使恶意客户端上的缩放因子的总和保持不变。图10b显示了检测恶意客户端的FNR变化,以Trimmed-mean为聚合规则时,MNIST数据集上的结果。我们观察到自适应后门攻击可以在FNR增加的情况下略微增加FedRecover的TER。然而,ASR仍然很低,ACP仍然很高。

与微调相比:微调假设服务器可以访问一个干净的数据集,并使用它对中毒的全局模型进行微调。
图11显示了微调示例数量对MNIST数据集的影响,微调示例从MNIST训练集中均匀随机采样,我们以相同的学习率微调一个有毒的全局模型100个epoch来训练全局模型。我们观察到,微调需要大量干净的示例,例如,1000个示例,以实现与federcover相媲美的TER和ASR。在图11中,我们假设微调数据集与整个训练数据集具有相同的分布。附录中的图22显示了微调数据集与整个训练数据集分布不同时的结果。特别地,我们假设微调数据集包含1000个示例,并且10个类遵循狄利克雷分布,该分布由参数β表征。β→∞表示10个类之间分布均匀,即与整个训练数据集的分布一致。
β越小,说明微调数据集分布越偏离总体训练数据分布。我们观察到,当微调数据集偏离总体训练数据分布时,微调具有更大的TER(即较不准确的全局模型)。我们的结果表明,即使服务器可以收集一个干净的数据集,当干净的数据集很小或偏离总体训练数据分布时,微调是不够的。
更多的实验:我们还在没有近似局部模型更新的情况下评估了FedRecover,这表明ap近似局部模型更新对FedRecover是必要的。详细内容见附录b。附录表III显示,FedRecover的四种优化策略都是必须的。

6 讨论和局限性

6.1储存历史信息的安全/隐私关注

        在federrecover中,服务器存储客户机的历史信息,包括它们在每一轮中的模型更新。因此,一个自然的问题是,存储的历史信息是否为客户端带来了额外的安全/隐私问题。在我们的威胁模型中,我们假设服务器没有被攻击者破坏,其中存储的历史信息不会引入额外的安全/隐私问题。此外,即使服务器可能被攻击者破坏,FedRecover是否会给客户带来额外的安全/隐私问题取决于服务器何时被承诺。如果在训练之前服务器就被破坏了,那么存储历史信息不会给客户端带来额外的安全/隐私问题,因为无论服务器是否存储历史信息,攻击者都可以访问它们。然而,我们承认,如果在训练后服务器被破坏,存储历史信息可能会给客户带来额外的安全/隐私问题。我们相信,研究这种情况下额外的安全/隐私风险是一项有趣的未来工作。

6.2 客户端退出

在这项工作中,我们关注的是在检测到一些恶意客户端后被服务器删除时,恢复全局模型。在实践中,良性客户端也可能在全局模型经过训练后退出FL系统,原因有很多,比如隐私问题。特别是,辍学客户可能希望全局模型忘记从他们的私人本地培训数据中学到的知识,甚至忘记他们的存在。通过将退出的良性客户端处理为检测到的“恶意”客户端,我们可以使用FedRecover在良性客户端退出后恢复全局模型。我们的推论1表明,在某些场景下,恢复的全局模型将与从头创建的全局模型相同,这意味着恢复的全局模型忘记了退出良性客户机的存在,并保护了它们的隐私。我们认为,研究在其他场景下退出良性客户端的恢复全局模型的隐私保障是一个有趣的未来工作。

6.3 服务器的存储和计算成本

        FedRecover会给服务器带来额外的存储和计算成本。假设一个局部/全局模型有M个参数。服务器需要O(nMT)额外的存储空间来保存原始模型更新和全局模型,其中n是客户机的数量,T是全局轮的数量。例如,当有100万个客户机,每个客户机平均参与100个全局轮,且全局模型是ResNet-20时,服务器大约需要100 TB的额外存储。在我们的实验中,FedRecover在我们的服务器上最多需要200 GB的额外存储空间。我们注意到,这种存储可以是硬盘驱动器而不是主存。
此外,服务器需要粗略估计O((n−m)T)个模型更新,其中m为恶意客户端数量。估计模型更新的复杂度为O(M2 s),其中s < M为缓冲区大小。因此,服务器的总额外计算成本是O((n−m)TM2 s)。对于功能强大的服务器,例如现代数据中心,存储和计算成本是可以接受的。

7 结论和未来工作

        在这项工作中,我们提出了一种称为FedRecover的模型恢复方法,以消除FL中中毒攻击对全局模型的影响。我们的理论和经验结果表明,服务器在检测到恶意客户端之前,在训练中毒全局模型时收集的历史信息,对于检测到恶意客户端后有效地恢复精确的全局模型是有价值的。一个有趣的未来工作是探索FedRecover在自适应中毒攻击下的准确性和效率。具体来说,可以为端到端FL管道设计一种自适应中毒攻击,包括训练全局模型、检测恶意客户端和恢复全局模型。未来工作的另一个有趣的方向是将FedRecover扩展到其他领域的FL(例如,图)。

FedRecover: Recovering from Poisoning Attacks inFederated Learning using Historical Information_第5张图片

你可能感兴趣的:(联邦学习,服务器,运维)