【论文翻译】AFLGuard: Byzantine-robust Asynchronous Federated Learning

news2024/11/17 17:41:12

提示:该论文标题为AFLGuard: Byzantine-robust Asynchronous Federated Learning,我将对其进行部分翻译,便于后续阅读。

文章目录

  • AFLGuard:拜占庭鲁棒的异步联邦学习
  • 一、摘要
  • 二、引言
  • 三、知识前提
    • 拜占庭鲁棒联邦学习
  • 四、问题表述
  • 五、AFLGUARD
  • 六、实验设置
    • 6.1.1 比较方法
    • 6.1.2 数据集
    • 6.1.3 中毒攻击
  • 总结


AFLGuard:拜占庭鲁棒的异步联邦学习

ACM International Conference Proceeding Series, Pages 632-646, December 5, 2022


一、摘要

联邦学习(FL)是一种新兴的机器学习范式,在这种范式中,客户端在云服务器的帮助下共同学习模型。联邦学习的一个基本挑战是客户端通常是异构的,例如,它们具有不同的计算能力,因此客户端可能以不同的延迟向服务器发送模型更新。异步联邦学习旨在通过使服务器在接收到任何客户端的模型更新后立即更新模型,而无需等待其他客户端的模型更新来解决这个挑战。然而,与同步联邦学习一样,异步联邦学习也容易受到污染攻击,恶意客户端通过污染本地数据和/或发送给服务器的模型更新来操纵模型。拜占庭鲁棒的联邦学习旨在抵御污染攻击。特别是,即使某些客户端是恶意的并具有拜占庭行为,拜占庭鲁棒的联邦学习也能学习出准确的模型。然而,目前大多数关于拜占庭鲁棒联邦学习的研究集中在同步联邦学习上,导致异步联邦学习仍然未被充分探索。在本工作中,我们通过提出AFLGuard——一种拜占庭鲁棒的异步联邦学习方法,填补了这一空白。我们理论和实证上证明,AFLGuard对各种现有和自适应的污染攻击(包括非定向和定向攻击)具有鲁棒性。此外,AFLGuard在性能上优于现有的拜占庭鲁棒异步联邦学习方法。

二、引言

在本研究中,我们提出了AFLGuard,一种拜占庭鲁棒的异步联邦学习框架,旨在解决上述挑战。在AFLGuard中,我们处理异步复杂性的关键思想是为服务器配备一个小而干净的训练数据集,我们称之为受信数据集。服务器(例如,Meta、Google)可以手动收集该受信数据集以用于学习任务。当服务器接收到来自客户端的模型更新时,它基于受信数据集和当前全局模型计算一个模型更新(称为服务器模型更新)。只有当客户端的模型更新在方向和幅度上与服务器模型更新没有太大偏差时,服务器才会接受该更新。具体来说,如果客户端和服务器模型更新之间的差异向量的幅度小于服务器模型更新幅度的一定比例,则服务器会使用客户端的模型更新来更新全局模型。更新后的全局模型随后发送给客户端。

有趣的是,我们展示了AFLGuard这一简单直观的想法具有强大的理论保证。具体来说,在拜占庭鲁棒联邦学习社区广泛采用的温和假设下,

注:在拜占庭鲁棒的联邦学习方法中,服务器无法确定每个客户端的可信度或意图。因为服务器对客户端的行为和数据没有先验的信任基础,所以在服务器看来,每个客户端都可能是恶意的。

我们证明了在没有恶意客户端的情况下最优全局模型参数与AFLGuard在任意数量恶意客户端下学习的全局模型参数之间的差异是有界的。我们还进行了实证评估,将AFLGuard与最先进的拜占庭鲁棒异步联邦学习方法在一个合成数据集和五个真实数据集上进行了比较。实验结果表明,当大部分客户端是恶意的时,AFLGuard能够抵御各种现有和自适应的污染攻击。此外,AFLGuard在性能上显著优于现有的拜占庭鲁棒异步联邦学习方法。

我们总结了以下主要贡献:

  • 我们提出了一种名为AFLGuard的拜占庭鲁棒异步联邦学习框架,以抵御异步联邦学习中的污染攻击。
  • 我们理论上证明,在拜占庭鲁棒联邦学习社区普遍采用的温和假设下,AFLGuard对任意数量的恶意客户端具有鲁棒性。
  • 我们进行了广泛的实验,以评估AFLGuard,并将其与最先进的拜占庭鲁棒异步联邦学习方法在一个合成数据集和五个真实数据集上进行了比较。

三、知识前提

拜占庭鲁棒联邦学习

对联邦学习的污染攻击:污染攻击在传统机器学习系统中已被广泛研究,例如推荐系统 [19, 21, 31]、众包系统 [20, 34] 和异常检测器 [39]。由于其分布式特性,联邦学习也容易受到污染攻击 [5, 6, 10, 18],在这些攻击中,恶意客户端通过精心操纵其本地训练数据和/或模型更新来污染全局模型。这些恶意客户端可以是攻击者注入到联邦学习系统中的虚假客户端,也可以是真实的、被攻击者攻陷的客户端。根据攻击目标,污染攻击可以分为非定向攻击和定向攻击。在非定向攻击中,污染的全局模型对无差别的测试样本具有较大的错误率,导致拒绝服务。在定向攻击中,污染的全局模型对攻击者选择的测试输入预测攻击者选择的标签,但对其他测试输入的预测不受影响。

例如,标签翻转攻击 [56]、高斯攻击 [7] 和梯度偏差攻击 [18] 是非定向攻击的例子。具体而言,在标签翻转攻击中,恶意客户端将一个本地训练示例的标签从y 翻转为C−1−𝑦,其中C 是标签的总数,标签为 0、1、···、C−1。在高斯攻击中,恶意客户端从均值为零且标准差较大的高斯分布中绘制其模型更新,而不是根据其本地训练数据进行计算。在梯度偏差攻击中,恶意客户端的模型更新被操纵,使得全局模型更新遵循梯度方向的反向(即全局模型应在没有攻击的情况下移动的方向)。

后门攻击 [5, 51] 是一种流行的定向攻击。例如,在 [5] 中的后门攻击中,每个恶意客户端复制其本地训练示例;在每个复制的训练输入中嵌入一个触发器(例如,图像右下角的一个补丁);并将其标签更改为攻击者选择的标签。恶意客户端根据其原始本地训练数据和复制的数据计算其模型更新。此外,恶意客户端在将模型更新发送给服务器之前,将其按比例放大。被污染的全局模型将对任何嵌入相同触发器的输入预测攻击者选择的标签,但对没有触发器的输入的预测不受影响。

拜占庭鲁棒同步联邦学习:拜占庭鲁棒联邦学习旨在防御污染攻击。大多数现有的拜占庭鲁棒联邦学习方法集中于同步联邦学习 [7, 9, 56]。回顾一下,同步联邦学习方法在每次迭代中有三个步骤。这些拜占庭鲁棒同步联邦学习方法在第三步采用鲁棒聚合规则。粗略来说,鲁棒聚合规则的关键思想是在聚合之前过滤掉“异常值”模型更新。例如,Krum聚合规则 [7] 输出与其 (n - f - 2) 个邻居的距离总和最小的模型更新,其中 (n) 和 (f) 分别是总客户端和恶意客户端的数量。由于这些方法旨在聚合来自多个客户端的模型更新,因此不适用于异步联邦学习,后者使用一个模型更新来更新全局模型。同步联邦学习的其他防御方法包括可证明安全的防御措施以防止污染攻击 [11] 和检测恶意客户端的方法 [57]。

拜占庭鲁棒异步联邦学习:据我们所知,与我们工作最相关的研究有 [17, 53, 55]。具体而言,Kardam [17] 根据每个客户端发送给服务器的最新模型更新维护一个Lipschitz系数。只有当某个客户端的Lipschitz系数小于所有客户端的中位数Lipschitz系数时,服务器才使用该客户端的模型更新来更新全局模型。BASGD [55] 是一种非常规的异步联邦学习方法,使用多个客户端的模型更新来更新全局模型。具体来说,服务器保持几个缓冲区,并将每个客户端的模型更新映射到其中一个缓冲区。当所有缓冲区都非空时,服务器计算每个缓冲区中模型更新的平均值,取平均模型更新的中位数或修剪平均值,并用它来更新全局模型。在Zeno++ [53]中,服务器根据可信数据集过滤客户端的模型更新。服务器基于可信数据集计算一个服务器模型更新。在收到来自任何客户端的模型更新后,服务器计算客户端模型更新与服务器模型更新之间的余弦相似度。如果余弦相似度为正,则服务器对客户端模型更新进行归一化。需要注意的是,FLTrust [9] 是一种同步联邦学习方法,使用与Zeno++类似的技术来过滤掉恶意信息。

AFLGuard与Zeno++之间的区别:我们的AFLGuard与Zeno++都在服务器上使用可信数据集。然而,它们使用的方式不同。Zeno++简单地将客户端的模型更新视为良性,如果它与服务器模型更新呈正相关。由于客户端和服务器两侧的延迟以及可信数据集与客户端训练数据之间的分布偏移,服务器的模型更新和良性客户端的模型更新可能并不呈正相关。在AFLGuard中,如果客户端的模型更新在方向和幅度上与服务器的模型更新没有显著偏差,则该模型更新被视为良性

四、问题表述

威胁模型:攻击者控制一些恶意客户端,这些客户端可能是真实客户端被攻击者攻陷,或是攻击者注入的假客户端。攻击者并未攻陷服务器。恶意客户端可以向服务器发送任意模型更新。攻击者对联邦学习系统的了解程度可能不同 [9, 18],即部分知识和完全知识。在部分知识的情况下,攻击者知道恶意客户端的本地训练数据和模型更新。在完全知识的场景中,攻击者对整个联邦学习系统有完全的了解。具体而言,攻击者知道所有客户端的本地训练数据和模型更新,以及联邦学习方法和其参数设置。需要注意的是,完全知识情况下的攻击者要比部分知识情况下的攻击者强得多 [18]。遵循 [9] 的方法,我们使用完全知识攻击设置来评估我们防御的安全性,以应对最坏情况。换句话说,我们的防御在面对较弱攻击时更加安全。

防御目标:我们的目标是设计一种异步联邦学习方法,达到以下两个目标:i) 在非对抗设置中,该方法的准确性应与AsyncSGD相当。换句话说,当所有客户端都是良性时,我们的方法应学习到与AsyncSGD同样准确的全局模型;ii) 该方法应能够在对抗环境下对现有和自适应污染攻击具有鲁棒性。自适应污染攻击指的是针对所提出方法量身定制的攻击。

服务器的能力和知识:我们假设服务器持有一个小型干净数据集,称之为可信数据集。这个假设在实践中是合理的,因为服务提供商收集和验证一个小的可信数据集以供学习任务是相当可行的。例如,谷歌在其名为Gboard的虚拟键盘应用中使用联邦学习进行下一个单词的预测 [1];谷歌可以从其员工那里收集可信数据集。可信数据集不需要遵循与联合训练数据集 (D) 相同的分布。正如我们的实验结果将显示的那样,只要可信数据集的分布与联合训练数据分布没有显著偏差,我们的方法就有效。我们承认,可信数据集应是干净的,当可信数据集被污染时,我们的方法可能不具备鲁棒性。

五、AFLGUARD

直觉:AFLGuard的关键在于确定服务器是否应接受客户端的模型更新以更新全局模型的标准。理想情况下,如果模型更新来自进行污染攻击的恶意客户端,服务器就不应该使用它来更新全局模型。我们的关键观察是,在污染攻击中,恶意客户端往往会操纵其模型更新的方向和/或幅度。因此,在决定是否接受客户端的模型更新时,我们考虑了客户端模型更新的方向和幅度。具体而言,服务器基于其自己的可信数据集计算一个模型更新(称为服务器模型更新)。当客户端的模型更新在方向和/或幅度上与服务器模型更新有显著偏离时,该更新将被拒绝。

接受标准:这段公式太多,直接看原文吧。定义了服务器对客户端模型的接受标准。下图两种情况(方向显著偏离,振幅显著偏离)都拒绝接受。
这两种情况都拒绝

AFLGuard算法:我们在算法2中总结了AFLGuard算法。请注意,算法2仅显示了AFLGuard在服务器端的学习过程。客户端的学习过程与算法1相同,因此我们为了简洁起见省略了它。在第 t 次迭代中,服务器根据公式(3)决定是否接受客户端的模型更新。如果接受,服务器将其用于更新全局模型,并将更新后的全局模型发送回客户端。否则,服务器不更新全局模型,而是将当前全局模型发送回客户端。

六、实验设置

6.1.1 比较方法

我们将AFLGuard与以下异步方法进行比较:

  1. AsyncSGD [58]:在AsyncSGD中,服务器在收到任何客户端的模型更新后,根据算法1更新全局模型。

  2. Kardam [17]:在Kardam中,服务器为每个客户端保持一个经验的Lipschitz系数,并根据Lipschitz过滤器过滤出潜在的恶意模型更新。

  3. BASGD [55]:在BASGD中,服务器持有多个缓冲区。收到任何客户端的模型更新后,服务器将其存储到这些缓冲区中的一个,依据映射表。当所有缓冲区都非空时,服务器计算每个缓冲区内模型更新的平均值,取所有缓冲区的中位数,并用其更新全局模型。

  4. Zeno++ [53]:在Zeno++中,服务器有一个可信数据集。在收到客户端的模型更新后,服务器根据可信数据集计算一个服务器模型更新。如果服务器模型更新与客户端模型更新之间的余弦相似度为正,则服务器将客户端模型更新标准化,使其与服务器模型更新具有相同的幅度,并用标准化后的模型更新来更新全局模型。

6.1.2 数据集

我们使用一个合成数据集和五个真实世界数据集(MNIST、Fashion-MNIST、人体活动识别(HAR)、结直肠组织学MNIST、CIFAR-10)评估AFLGuard及其对比方法。合成数据集用于线性回归,符合第5节中假设1-4的条件,用于验证我们的理论结果。其他数据集用于训练复杂模型,旨在展示即使在不满足假设1-4的情况下,AFLGuard的有效性。由于篇幅限制,这些数据集的详细信息展示在附录A.3中。

6.1.3 中毒攻击

我们在实验中使用以下中毒攻击方法:

  1. 标签翻转(LF)攻击 [56]:在LF攻击中,恶意客户端中的每个训练样本的标签 y被替换为 C - 1 - y,其中 C 为总类别数。例如,对于MNIST数据集,数字“1”将被替换为数字“8”。

  2. 高斯(Gauss)攻击 [7]:在Gauss攻击中,恶意客户端的每个模型更新都来自一个零均值的高斯分布(我们将标准差设为200)。

  3. 梯度偏离(GD)攻击 [18]:在GD攻击中,恶意客户端基于其本地训练数据计算模型更新,然后将其乘以一个负常数(在我们的实验中为-10)再发送给服务器。

  4. 后门(BD)攻击 [5, 9, 23]:BD攻击是一种定向的中毒攻击。我们使用[23]中的相同策略在MNIST、Fashion-MNIST和结直肠组织学MNIST数据集中嵌入触发器。根据[9],在HAR数据集中,目标标签设置为“WALKING UPSTAIRS”,触发器通过将每第20个特征设为0生成。对于CIFAR-10数据集,目标标签设置为“bird”,并使用[5]中建议的相同模式触发器。

  5. 自适应(Adapt)攻击:在[18]中,提出了一个通用的自适应攻击框架,用于攻击带有任意聚合规则的联邦学习。我们将此攻击框架应用于AFLGuard。特别地,该攻击框架设计用于同步联邦学习,其中服务器聚合来自多个客户端的模型更新以更新全局模型。其核心思想是在恶意客户端上设计模型更新,使得聚合的模型更新与攻击前的模型有显著偏差。为了将这一攻击框架应用于AFLGuard,我们假设服务器根据AFLGuard接受或拒绝客户端的模型更新,并计算接受的模型更新的平均值。然后,我们根据攻击框架在恶意客户端上设计模型更新。


总结

使用额外的数据集来构建服务器模型更新;
感觉只是将抗拜占庭攻击方法融入到异步场景中去,将异步作为场景,没有考虑解决异步中特有的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2168053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM(HotSpot):程序计数器(Program Counter Register)

文章目录 一、内存结构图二、案例解读三、工作流程四、特点 一、内存结构图 二、案例解读 我们使用javap对字节码进行反编译,来看下程序计数器怎么体现的。 IDEA写一个简单的Java代码 反编译命令 javap -verbose InitTest.class $ javap -verbose InitTest.clas…

解决Typora图片复制到CSDN无法查看问题

下载安装picgo 山东大学镜像源:https://mirrors.sdu.edu.cn/github-release/Molunerfinn_PicGo 开通阿里云对象存储oss 选择创建 填入内容 购买资源包 创建AccessKey 配置PicGo 设定bucket填入创建bucket名称 注意:设定存储区域只需要填写到区域前缀即…

变电站设备检测系统源码分享

变电站设备检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

C++ 继承:打破代码冗余,提升开发效率

目录 继承的概念和定义 继承的概念 继承的定义 定义格式 继承关系和访问限定符 继承基类成员访问方式的变化 基类和派生类对象赋值转换 继承中的作用域 派生类的默认成员函数 构造函数 拷贝构造 赋值运算符重载 析构函数 继承与友元 继承与静态成员 菱形继承与…

数据库——sql语言学习 查找语句

一、什么是sql SQL是结构化查询语言(Structured Query Language)的缩写,它是一种专门为数据库设计的操作命令集,用于管理关系数据库管理系统(RDBMS)。 二、查找相关语句 ‌‌首先,我们已经设…

【SQL】筛选字符串与正则表达式

目录 语法 需求 示例 分析 代码 语法 SELECT column1, column2, ... FROM table_name WHERE condition; WHERE 子句用于指定过滤条件,以限制从数据库表中检索的数据。当你执行一个查询时,WHERE 子句允许你筛选出满足特定条件的记录。如果记录满…

计算计的风向标大转!计算机专业的新纪元已至!

亲爱的读者们, 在这个科技日新月异的时代,计算机专业正以前所未有的速度引领着行业的变革。从传统编程到人工智能、大数据、云计算等新兴技术的崛起,计算机专业的学习与发展路径正经历着翻天覆地的变化。今天,让我们一同探索这个…

短信视频评论dy版提取,免COOKIE 手机版本介绍说明

抖音系统手机版功能介绍说明 一:描述 根据需要升级了手机版本,手机版本和软件版本的功能一样。并且手机版本增加了评论地区筛选功能。(后期:1支持自动留痕,自动私信功能。2 支持详细信息和评论提取的tel筛选。3支持A…

15、网络安全合规由来与要素

数据来源:1.网络安全合规由来与要素_哔哩哔哩_bilibili 合规由来 合规(Compliance):指服从、顺从和遵从的行为,强调使公司的经营活动与法律、监管及内部规则保持一致。合规涉及公司适应法律法规及社会规范等规则的经营…

CentOS Stream 9部署Redis

1、安装Redis sudo dnf install redis 2、启动Redis服务 sudo systemctl start redis 3、设置Redis开机自启 sudo systemctl enable redis 4、打开Redis配置文件: sudo vi /etc/redis/redis.conf 在配置文件中找到并修改以下两行,确保密码验证功能已启…

Jenkins本地安装配置与远程访问管理本地服务详细流程

文章目录 前言1. 安装Jenkins2. 局域网访问Jenkins3. 安装 cpolar内网穿透软件4. 配置Jenkins公网访问地址5. 公网远程访问Jenkins6. 固定公网地址 前言 本文主要介绍如何在Linux CentOS 7中安装Jenkins并结合cpolar内网穿透工具实现远程访问管理本地部署的Jenkins服务. Jenk…

1小时极限速通MC局域网联机:PCL2 + Zerotier局域网联机方案

目录 前言 你需要在开始之前做什么? 你需要什么 你需要下载什么 谁,需要做什么? STEP I:创建/加入一个子网 创建一个子网(子网的维护者做) 加入一个子网(其他人做) 现在... …

【在Linux世界中追寻伟大的One Piece】进程间通信

目录 1 -> 进程间通信介绍 1.1 -> 进程间通信目的 1.2 -> 进程间通信发展 1.3 -> 进程间通信分类 1.3.1 -> 管道 1.3.2 -> System V IPC 1.3.3 -> POSIX IPC 2 -> 管道 2.1 -> 什么是管道 2.2 -> 匿名管道 2.3 -> 实例代码 2.4 -…

ubuntu22安装AI环境

安装Ubuntu驱动 查看可安装Ubuntu驱动列表 sudo ubuntu-drivers devices安装指定驱动 选择带有“recommended”标记的驱动程序即可,更高版本的是最新版,可能存在兼容问题。 apt-get install nvidia-driver-535安装cuda 有几种方法可以做到这一点&…

深入解析两大AI模型的架构与功能

在人工智能(AI)领域,自然语言处理(NLP)一直是研究的热点之一。 随着技术的不断进步,我们见证了从简单的聊天机器人到复杂语言模型的演变。 其中,Google的Gemini和OpenAI的ChatGPT作为两大代表…

全志科技发布T536高性能智慧工业芯片,飞凌嵌入式率先推出配套核心板

2024年9月24日下午,全志科技在中国国际工业博览会上成功举办了其最新产品——T536高性能智慧工业芯片的全球首发发布会。这款芯片采用创新的4核Cortex-A55与RISC-V混合架构,主频分别达到1.6GHz和600MHz,并集成了2TOPS算力的NPU,吸…

数据结构与算法实验9 实现无向连通图的最小生成树

文章目录 1.上机名称2.上机要求3.上机环境4.程序清单(写明运行结果及结果分析)4.1 程序清单4.1.1 头文件 Graph.h 内容如下:4.1.2 实现文件 Graph.cpp 内容如下:4.1.3 源文件 main.cpp 内容如下: 4.2 运行结果 5.上机体会 1.上机名称 实现无向…

整数在内存中的存储(c语言)

1.原码 反码 补码(以及他们之间的转换) 当一个数为正数的时候,不存在原码反码补码的差别,也就是一样的; 当一个数为负数的时候,以-1为例子,对这个过程进行讲解。 1000 0000 0000 0000 0000 0…

多路复用IO

一。进程处理多路IO请求 在没有多路复用IO之前,对于多路IO请求,一般只有阻塞与非阻塞IO两种方式 1.1 阻塞IO 需要结合多进程/多线程,每个进程/线程处理一路IO 缺点:客户端越多,需要创建的进程/线程越多&#xff0c…

python 图片加文字 文字自动上下左右居中 自动换行居中对齐

一.实现效果展示 二.代码 # -*- coding: utf-8 -*- # Time : 2024/9/26 17:22 # Author : Cocktail_pyfrom PIL import Image, ImageFont, ImageDrawdef split_string(s, num_parts):length len(s)chunk_size length // num_partsremainder length % num_partsparts […