联邦学习中一种低成本的从攻击中恢复的办法——FedRecover: Recovering from Poisoning Attacks 摘要Abstract与介绍Introduction研读

摘要

  1. 问题背景:联邦学习容易受到恶意客户端的污染攻击,目前的防御策略主要集中在预防和检测恶意客户端,但如何在检测后恢复全局模型仍是一个挑战。

  2. 常规解决方案的问题:简单的方法是移除恶意客户端并从头开始训练全局模型,但这种方法对于计算和通信资源有很高的需求,不适合资源有限的设备如智能手机和IoT设备。

  3. FedRecover方法:提出了一种名为FedRecover的恢复方法,其核心是在恢复过程中,服务器自己估算每个客户端的模型更新,而不是让客户端发送。

  4. 历史信息利用:服务器在训练受污染的全局模型时,会保存历史信息,如全局模型和每轮的客户端模型更新,以供后续恢复使用。

  5. 优化策略

    • 预热:加速模型恢复的初始阶段。
    • 周期性校正:定期调整模型以确保准确性。
    • 异常修复:对于异常数据进行特殊处理。
    • 最终调优:在恢复结束时进行的微调。
  6. 理论与实证支持:理论上,FedRecover恢复的全局模型与从头开始的方法非常接近;实证研究则在多个数据集和联邦学习方法上证明了FedRecover的准确性和效率。

介绍

  1. 联邦学习简介

    • 联邦学习 (FL) 是一个新兴的机器学习范式。
    • 它允许许多客户端(例如智能手机、IoT设备和边缘设备)合作学习一个共享的机器学习模型(称为全局模型)。
    • 在FL中,训练数据在客户端上是分散的,而一个服务器维护全局模型。
  2. 联邦学习的过程

    • 服务器将当前的全局模型广播给(部分的)客户端。
    • 每个客户端使用其本地训练数据微调全局模型,并将其模型更新报告给服务器。
    • 服务器根据某种聚合规则聚合客户端的模型更新,并使用聚合后的模型更新来更新全局模型。不同的FL方法使用不同的聚合规则。
  3. 联邦学习的应用实例

    • 谷歌使用FL在一个虚拟键盘应用Gboard上进行下一个词的预测。
    • WeBank使用FL进行信用风险预测。
  4. FL的安全威胁

    • 由于其分布式设置,FL容易受到污染攻击。
    • 攻击者可能控制一些恶意客户端,这些客户端可能是由攻击者注入到系统中的伪造客户端,或者是被攻击者占据的真实客户端。
    • 恶意客户端通过发送经过精心制作的恶意模型更新来污染全局模型。
  5. 污染攻击的类型

    • 非目标污染攻击:受污染的全局模型会随机误分类许多测试输入,即该模型具有高的测试错误率。例子:假设一个简单的情境,我们正在用联邦学习来训练一个垃圾邮件检测器。在非目标污染攻击中,恶意客户端可能会发送错误的模型更新,使得正常的电子邮件被误标为垃圾邮件,或者垃圾邮件被误标为正常邮件。这导致整体模型的准确率大幅下降,用户可能会收到大量垃圾邮件,或者他们的重要邮件被误认为是垃圾邮件。
    • 目标污染攻击:受污染的全局模型对攻击者选择的目标测试输入预测一个攻击者选择的目标标签,但其对其他测试输入的预测不受影响。例如,在后门攻击中(一种目标污染攻击),目标测试输入可以是嵌入攻击者选择的触发器的任何输入。例子:还是以垃圾邮件检测器为例。在目标污染攻击中,攻击者可能希望他们发送的某一种特定垃圾邮件不被检测器识别为垃圾邮件。为此,他们可能会在某些特定的垃圾邮件中嵌入一个特定的关键词或短语(这就是所谓的“触发器”)。通过联邦学习,恶意客户端将发送模型更新,使得包含这个特定关键词或短语的邮件不被标记为垃圾邮件。然而,对于不包含这一关键词或短语的其他邮件,模型的预测可能仍然是正确的。
  6. 现有的防御方法

    • 一些研究提出了拜占庭健壮(Byzantine-robust)或可证健壮(provably robust)的FL方法,这些方法可以防止少数恶意客户端污染全局模型。例子:假设在上述系统中有 100 个客户端,其中只有 5 个是恶意的。拜占庭健壮的 FL 方法能够检测到这 5 个恶意客户端,并在训练过程中对它们的数据进行过滤或降低其权重,以减少它们对全局模型的影响。而可证健壮的 FL 方法则提供了数学证据,表明无论这 5 个恶意客户端采取何种行动,全局模型的性能都不会降到一个不可接受的水平。
    • 这些方法保证,即使在有恶意客户端的情况下,学习到的全局模型接近于没有恶意客户端时的模型。
    • 另外,它们还能保证在有限数目的恶意客户端存在时测试准确性的下限。
  7. 大量恶意客户端的问题

    • 上述的FL方法仍然容易受到大量恶意客户端的污染攻击。
    • 因此,有些研究提出在训练过程中或之后检测恶意客户端,与预防方法一起使用,实现深度防御。
    • 例如,服务器可以通过客户端发送到服务器的模型更新中的统计差异来区分恶意客户端和良性客户端。
    • 但由于这些检测方法需要足够的模型更新来做出有信度的决策,当检测到恶意客户端时,全局模型通常已被污染。
  8. 恢复全局模型的需求

    • 服务器需要在检测到恶意客户端后从被污染的模型中恢复一个准确的全局模型。
  9. 模型恢复的挑战

    • FL中的模型有效恢复还尚未得到深入研究。
    • 服务器不知道攻击发生在哪一轮,所以可能无法简单地回滚到之前某一轮的干净全局模型。
  10. 简单的恢复方法

    • 一种简单的恢复方法(称为从头开始训练)是移除被检测到的恶意客户端,并使用剩余客户端从头开始训练一个新的全局模型。
    • 这种方法可以恢复一个准确的全局模型,但会对客户端引入大量的计算和通信成本,因为要求它们再次参与整个训练过程。
    • 对于如智能手机和IoT设备等资源受限的客户端,这种计算和通信成本可能是不可承受的。

Our work

简单概括

  1. 我们进行了首次针对联邦学习中的污染攻击的模型恢复的系统性研究。
  2. 我们提出了FedRecover,通过使用历史信息和多种优化策略来估计客户端的模型更新,从而恢复全局模型。
  3. 我们从理论和实证两方面评估了FedRecover。我们的结果显示,FedRecover可以准确且高效地恢复全局模型。

详细说明

  1. 目的:提出了一种名为FedRecover的方法,旨在从被污染的全局模型中恢复出准确的模型,同时为客户端带来较小的计算和通信成本。

  2. 与现有方法对比

    • 与从头开始训练的方法相似,FedRecover会移除检测到的恶意客户端,重新初始化全局模型,并在多个轮次中迭代训练。
    • 但与从头开始的方法不同,FedRecover通过改变获取客户端模型更新的方式来减少客户端的成本。
  3. 核心方法:服务器在检测到恶意客户端之前训练被污染的全局模型时收集的历史信息,如全局模型和客户端的模型更新,仍然含有对模型恢复有价值的信息。

  4. 关键思路:在恢复过程中,服务器使用这些历史信息来估算剩余客户端的模型更新,而不是要求客户端计算和通信它们。

  5. 通用性:FedRecover与用来检测恶意客户端的检测方法和联邦学习的聚合规则都是独立的。换句话说,FedRecover可以与任何检测方法和联邦学习聚合规则一起使用,构成深度防御策略。

  6. FedRecover的关键:在恢复过程中,服务器自己估算客户端的模型更新。

  7. 具体实施

    • 在检测到恶意客户端之前训练被污染的全局模型时,服务器存储历史信息。
    • 在恢复过程中,服务器使用著名的Cauchy均值定理来估算每个客户端在每一轮中的模型更新。
    • 由于精确地计算每个客户端的Hessian矩阵是有挑战的,我们进一步使用基于L-BFGS的算法来有效地近似Hessian矩阵。
  8. 服务器成本:由于存储历史信息和估算客户端的模型更新,FedRecover为服务器带来了一些存储和计算成本。但由于服务器本身功能强大,这样的成本是可以接受的。

  9. 估算误差的问题:由于FedRecover估算客户端的模型更新,估算误差可能在恢复过程中的多个轮次中累积,最终可能导致恢复的全局模型不够准确。

  10. 解决策略

    • 预热策略:在恢复过程的前Tw轮中,服务器要求客户端计算并通讯它们的确切模型更新,以减少未来轮次的估算误差。
    • 周期性修正策略:在每Tc轮,服务器要求客户端计算并通讯它们的确切模型更新。
    • 异常修复策略:当估算的模型更新对于某个客户端很大时,服务器会要求该客户端计算其确切的模型更新。
    • 最终调优策略:在训练结束之前,服务器要求客户端在最后的Tf轮中计算并通讯他们的确切模型更新。
  11. 参数取舍:参数Tw、Tc、τ和Tf决定了恢复的全局模型的准确性与客户端的计算/通讯成本之间的权衡。

  12. 理论上的表现:在某些假设下,例如当用于学习全局模型的损失函数是平滑和强凸的,FedRecover恢复的全局模型与从头开始训练恢复的全局模型之间的差异是有界的。

  13. 实证评估

    • 使用四个数据集、三种联邦学习方法和两种污染攻击来广泛评估FedRecover。
    • 实验结果表明,FedRecover可以恢复与从头开始训练一样准确的全局模型,同时为客户端节省大量的计算/通讯成本。
    • 例如,在使用Trimmed-mean方法和MNIST数据集时,带有40个恶意客户端的后门攻击可以实现1.00的攻击成功率。FedRecover和从头开始训练都可以恢复具有0.07的测试误差率和0.01的攻击成功率的全局模型,但FedRecover与从头开始训练相比,平均为客户端节省了88%的计算/通讯成本。
    • 即使检测方法错误地将某些恶意客户端检测为良性,或将某些良性客户端检测为恶性,FedRecover也能有效地恢复与从头开始训练一样准确的全局模型。

猜你喜欢

转载自blog.csdn.net/weixin_64123373/article/details/132911987