联邦学习综述四

news2025/1/16 20:40:32

A Survey on Security and Privacy of Federated Learning

选自:Future Generation Computer Systems,2020

本文介绍了联邦学习安全以及隐私方面面临的挑战,提出了一些现有的解决方案。

引言

  • 联邦学习(FL)提供了一种通过将数据从中心服务器分散到终端设备来保护用户隐私的方法,并使AI受益于具有敏感数据和异构性的领域。这种模式的出现主要有两个原因:
    • (1)由于对这些数据的直接访问限制,无法获得足够的数据来集中驻留在服务器端(与传统的机器学习相反);
    • (2)使用来自边缘设备(即客户端)的本地数据进行数据隐私保护,而不是将敏感数据发送到网络异步通信发挥作用的服务器。保护数据隐私为跨多个领域有效利用机器学习模型所带来的人工智能优势提供了可行性。此外,通过在终端设备上进行迭代的局部模型训练过程,计算能力在感兴趣的各方之间共享,而不是依赖于集中式服务器。

联邦学习的背景以及基本工作流程

  • 分为三个部分
    • 模型选择
      • 在这一步中,中心预训练的ML模型(即全局模型)及其初始参数被初始化,然后全局ML模型与FL环境中的所有客户端共享。
    • 本地模型训练
      • 局部模型训练:在与所有客户共享初始ML模型和参数后,使用个人训练数据对客户级的初始ML模型(称为局部ML模型)进行训练
    • 模型的聚合
      • 本地模型的聚合:在客户端级别训练本地模型,并将更新发送到中央服务器,以便聚合和训练全局ML模型。全局模型被更新,改进后的模型在各个客户端之间共享,以供下一次迭代使用。
  • 在这里插入图片描述

联邦学习的分类以及方法

在这里插入图片描述

  • 按照网络拓扑分类

    • 网络拓扑这一类的重点是FL的底层体系结构,即构建组件以实现FL环境的方式。根据网络拓扑结构,FL可分为集中式和完全去中心化两种。
      • 集中式和集群式FL:主要是首选建立第三方制度,以建立客户之间的信任因素。遵循单服务器和多客户端拓扑/轮发和辐条拓扑,这确保了集中的权力来监控和管理持续的学习过程。针对集中式网络拓扑中客户端数据的异构性问题,提出了一种聚类技术。聚类是一种可以帮助检测恶意更新的技术。
      • 去中心化的联邦学习:去中心化的方法排除了模型聚合对中央服务器的依赖。中心化的权力被算法取代,以建立信任和可靠性。
        • 在这里插入图片描述
  • 按照数据分区进行划分

    • 横向联邦学习

      • 定义为设备上的数据集与不同实例共享相同特性的情况。在这类FL中,客户端在领域、派生统计信息的使用风格或任何其他FL结果方面具有相似的特征。
      • 在这里插入图片描述
    • 纵向联邦学习

      • 不相关领域之间的公共数据来训练全局ML模型。使用此方法的参与者更喜欢使用中间第三方组织/资源来提供加密逻辑,以确保共享唯一的公共数据统计。
        • 在这里插入图片描述
    • 联邦迁移学习

      • 是一种在已经在类似数据集上训练过的预训练模型上训练新需求的方法,用于解决完全不同的问题。在机器学习领域,与在从头开始构建的新模型上进行训练相比,在预训练模型上进行训练可以获得更好的结果。
      • 在这里插入图片描述
  • 数据可用性分类

    • Cross-silo FL
      • 客户端通常是规模较小的设备,范围从2-100台不等,通常是索引的,并且几乎总是可以用于培训轮。计算和通信瓶颈是主要问题。
    • Cross-device FL
    • 大量来自全局模型的具有相似兴趣的类似领域的客户端的FL方法被称为跨设备FL。由于客户端数量巨大,很难跟踪和维护事务历史日志。大多数客户使用不可靠的网络连接,在这种情况下,培训轮次的选择/参与是随机发生的。
  • 主要的算法

    基于聚合的

    • FedAvg
      • 在SGD优化算法4的基础上引入了Federated Averaging算法(称为FedAvg)。作为fedavg算法逻辑的一部分,中央服务器作为协调器或编排器,通过将全局参数和全局模型共享给一组被称为mini-batch的选定客户端来启动FL训练过程,这些客户端使用本地训练数据和全局模型参数训练ML模型,并与中央服务器共享训练的模型权重。全局模型是通过使用平均逻辑来计算在集中服务器上接收到的所有本地模型更新的加权和来生成的。可配置条件,训练轮数是协调器停止训练轮数并对局部模型更新进行平均的停止条件。
    • SMC-avg
      • 安全聚合基于安全多方计算(SMC)算法的概念,该算法在不泄露其私有值信息的情况下聚合相互不信任的各方的私有值。为解决基于移动设备的FL环境的挑战而设计。该算法具有容错限制,即即使1 / 3的用户不参与设计的协议,该算法也能很好地工作.
    • FedPror
      • FedAvg算法的改进版本来处理FL中的异构性。FedProx考虑到了计算能力的变化和参与FL培训轮的设备的不同因素。FedProx还引入了一个近似术语来处理本地更新中的不一致性
    • FedMA
      • FedMA通过分层匹配和平均神经网络中的神经元和通道等隐藏元素,在中央服务器上对模型进行平均。FedMA可以使用通信作为一种变体,在每一轮训练开始时将全局模型匹配结果发送给客户端,并在局部模型中添加新的神经元作为对全局模型的更新,而不是匹配,以获得更好的整体性能。
    • Scaffold
      • FL随机控制平均(Scaffold)解决了联邦平均算法在FL方法中面临的梯度不相似/客户端漂移问题,其中客户端是有状态的,算法可以在客户端和服务器端维护/控制变量,以确保客户端更新朝着全局收敛的方向发展。
    • Tensor Factorization
      • 在医学领域,很少有应用会选择张量分解来限制共享的信息量。张量分解将大量医疗记录转换为有意义的表型。作者提出了使用张量分解的隐私保护计算表型(TRIP)应用的张量分解。TRIP共享汇总数据和表型,这有助于保护用户数据隐私。
    • Personalisation-based algorithms
      • 一种将神经网络层在每个客户端节点上划分为基础层和个性化层的方法。在这种方法中,联邦平均仅应用于来自FL客户端的基础层更新,这有助于忽略FL客户端的异构性,并专注于实际的学习任务。

    基于通信消耗的

    • FedBCD
      • 联邦随机块坐标下降(Federated Stochastic Block Coordinate Descent, FedBCD)算法,与FedAvg算法类似。提出了并行和顺序更新梯度的FedBCD-p和FedBCP-s算法。FedBCD旨在通过跳过每次迭代的更新来减少总通信轮数。客户端为样本共享单个值而不是模型参数,并在与其他客户端共享参数之前执行许多本地更新。
    • FedAttOpt:
      • 注意联邦聚合(FedAttOpt)在FL的中央服务器上为模型聚合添加了一种注意力增强机制,该机制根据每个客户端的贡献计算注意力得分。根据客户端与全局模型之间的共同知识差距计算客户端的注意力得分或贡献因子。FedAttOpt利用注意力分数帮助客户端节点进行训练,并为所有客户端节点积累有用的公共知识。
    • Asynchronous FL Training Rounds
      • 客户机数量越多,通信瓶颈的风险和计算成本就越高。目前很少有研究工作是针对FL训练中最小的通信成本来解决通信效率问题。
    • Communication costs
      • 联邦蒸馏(FD)和联邦增强(FAug)来减少FL训练轮的通信开销和成本。FD共享局部模型输出,而不是整个局部模型,每个客户端都像一个学生,从所有其他客户端聚合的知识中学习。对于训练中的每个标签,数据均值logit向量与服务器共享,计算全局平均值。FAug在每个客户端使用GAN进行数据增强,从而生成可共享的IID训练数据。
  • 开源框架

    • FETA、Pysyft、tensorflow Federated(TTF)

联邦学习中的安全学习

针对四个问题作出解答:

  • FL生态系统中的漏洞来源是什么?

    • 通信协议
      • FL使用随机选择的客户端实现迭代学习过程,这些客户端涉及给定网络上的大量通信。FL方法提出了一个混合网络,它基于公钥加密,在整个通信过程中保持源和消息内容的匿名性。由于FL有更多的培训,因此不安全的通信通道是一个开放的漏洞。
    • 客户端数据操作
      • 在更大的环境中,FL有许多客户端,攻击者可以利用模型参数和训练数据。对全局模型的访问可能更容易受到数据重构攻击。
    • 受损的中央服务器
      • 中央服务器应该是健壮和安全的,中央服务器负责共享初始模型参数,聚合本地模型并向所有客户机共享全局模型更新。应该检查为这项工作选择的基于云的或物理服务器,以确保服务器的开放漏洞不会被好奇的攻击者利用。
    • 弱聚合算法
      • 聚合算法是中心权威。换句话说,作为本地模型的更新,它应该能够智能地识别客户机更新的异常,并且应该有一个配置来删除来自可疑客户机的更新。未能配置标准化的聚合算法将使全局模型容易受到攻击。
    • FL环境的实施
      • 有意无意地,参与FL实现的架构师、开发人员和部署人员团队可能会成为安全风险的来源。由于混淆或缺乏对哪些被视为敏感用户数据的理解,哪些不是,可能是违反安全和隐私的原因。实施者的风险可能是由于他们没有采取适当的措施来扫描敏感数据并计划其使用,在征得用户同意的同时隐藏事实这一基本事实。
  • FL领域的安全威胁/攻击有哪些?

    • 投毒攻击
      • 数据投毒
      • 模型投毒
      • 数据修改
    • 推理攻击
    • 后门攻击
    • 基于生成对抗网络攻击
    • 系统停机
    • 恶意的服务器
    • 通信瓶颈
    • 搭便车攻击
    • 不可用性
    • 窃听
    • 违反数据保护法
  • 与分布式机器学习解决方案相比,FL的独特安全威胁是什么?

    • 所面临的威胁
      • 在这里插入图片描述
  • FL的安全漏洞防御技术有哪些?

    分为主动防御和被动防御。主动防御是一种猜测与之相关的威胁和风险并采用具有成本效益的防御技术的方法。反应性防御是在识别攻击之后完成的工作,是缓解过程的一部分,在生产中作为补丁部署防御技术环境。除了提到的防御技术之外,还有其他研究工作可以通过新的附加技术/算法来增强FL的安全能力。这种增强的例子是FL与一种更成功的技术(如区块链)的集成。

    在这里插入图片描述

联邦学习中的隐私

  • FL领域的隐私威胁/攻击是什么?
    • 成员推断攻击
      • 推理攻击是一种推断训练数据细节的方法。隶属推理攻击[167]的目的是通过检查数据在训练集中是否存在来获取信息。攻击者滥用全局模型来获取其他用户的训练数据信息。在这种情况下,通过猜测推断训练数据集上的信息,并训练预测模型来预测原始训练数据。
    • 无意的数据泄露与通过推理重构
      • 客户机的更新或渐变在中央服务器上泄漏意外信息的场景。利用非故意数据泄露漏洞,通过推理攻击成功重构了其他客户端的数据。
    • 基于生成对抗模型的推断攻击
  • 有哪些技术可以减轻隐私保护中已识别的威胁并增强FL的一般隐私保护功能?
    • 安全多方计算(SMC)
      • 安全多方计算(SMC)的概念,也称为MPC,首先被引入,以确保多参与者在共同计算模型或函数时的输入安全[170]。在SMC中,通信使用加密方法进行安全保护。最近,SMC被用来保护FL框架中来自客户端的更新。与传统版本的SMC不同,在FL中,由于只需要对参数进行加密,而不需要大量的数据输入,因此计算效率大大提高。
    • 差分隐私(DP)
      • 差分隐私(DP)是一种广泛应用于工业界和学术界的隐私保护技术。DP的主要概念是通过添加来保护隐私噪声对个人的敏感属性。因此,每个用户的隐私都得到了保护。同时,与增强的隐私保护相比,每个用户增加的噪声造成的统计数据质量损失相对较低。在FL中,为了避免数据反演,引入DP对参与者上传的参数加入噪声。
    • VerifyNet
      • VerifyNet[180]是一个隐私保护和可验证的FL框架。它被列为保护隐私的首选缓解策略,因为它提供了双重屏蔽协议,使攻击者难以推断训练数据。它为客户端提供了一种验证中心服务器结果的方法,保证了中心服务器的可靠性。除了提供安全和隐私增强功能外,VerifyNet框架还可以处理多次退出。这个框架的唯一问题是通信开销,因为中央服务器必须向每个客户端发送可验证的证明。
    • 对抗训练
      • 来自敌对用户的逃避攻击旨在通过向机器学习模型中注入敌对样本来欺骗ML模型。对抗性数据的例子是对现实世界中数据不完美的预测。攻击者试图用扰动数据影响FL模型的鲁棒性。对抗性训练是一种主动防御技术,从训练阶段开始尝试攻击的所有排列,使FL全局模型对已知的对抗性攻击具有鲁棒性
  • 与分布式机器学习解决方案相比,FL的独特隐私威胁是什么?
    • 基于gan的推理攻击
    • 在具有参数服务器的DML解决方案中,发起推理攻击
  • 保护隐私的代价是什么?
    • 在安全多方计算中基于密码学的方法中,要求每个客户端对所有上传的参数进行加密,因此,每个客户端都需要花费额外的计算资源来执行加密。另外,差分隐私可能会降低准确性。

未来方向

  • 零日攻击和支持技术
  • 可信的可追溯性
  • API定义明确的流程
  • 隐私保护和成本之间的权衡
  • 在实践中构建联邦学习隐私保护的框架
  • 联邦学习中客户端的选择和训练计划
  • 对不同机器学习算法的优化
  • 模型训练方法及训练参数的选择
  • 易于迁移和生产

总结

联邦学习是一项新技术,倡导通过分散学习来实现设备上的人工智能。FL的提出是为了将机器学习的好处扩展到具有敏感数据的领域。在本文中,我们对FL环境中的安全和隐私成就、问题和影响进行了全面的研究。通过对安全性和隐私的评估和结果,我们希望提供新的视角,并引起社区对构建适合大规模采用的无风险FL环境的关注。通过未来方向部分,我们概述了FL中需要深入研究和调查的领域。FL是市场上相对较新的框架,需要进一步研究以确定适合不同FL环境风格的增强。和隐私成就、问题和影响进行了全面的研究。通过对安全性和隐私的评估和结果,我们希望提供新的视角,并引起社区对构建适合大规模采用的无风险FL环境的关注。通过未来方向部分,我们概述了FL中需要深入研究和调查的领域。FL是市场上相对较新的框架,需要进一步研究以确定适合不同FL环境风格的增强。

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

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

相关文章

在外包干了4年,我跑路了...

前言 先说一下自己的情况,本人普通本科毕业,19年的时候入的这行,在外包干了4年多功能测试,今年感觉自己不能够在这样下去了(虽然目前行业不太好),长时间呆在外包会让一个人慢慢废掉&#xff01…

IDEA如何拉取gitee项目?

1.登录gitee 说明:打开idea,在设置上面搜索框输入gitee,然后登录gitee注册的账号。 2. 创建gitee仓库 说明:创建idea中的gitee仓库。 3.寻找项目文件 说明:为需要添加gitee仓库的项目进行添加。 4.项目右键 说明&a…

一文带你GO语言入门

什么是go语言? Go语言(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言的主要特点包括:- 简洁和简单 - 语法简单明快,易于学习和使用 特点 高效 编译速度快,执行效率高 并发支持 原生支持并发,利用goroutine实现高效的并发…

Java OpenJDK 8u392 Windows x64

文章目录 (一)Azul(二)Adopt(三)IBM(四)Oracle (一)Azul WEB Page:🔗Download Azul Zulu Builds of OpenJDK Windows archive&#xf…

绝对详细的MyBatis代码生成器讲解

0.简介 在springboot工程中如果使用mybatis作为持久层框架,那必须知道如何自动生成 java 实体类、dao 层接口(mapper 接口)及mapper.xml文件,这样可以减少不必要的开发。 生成代码的方式有很多种,比如说利用idea的插…

rust学习—— 控制流if 表达式

控制流 根据条件是否为真来决定是否执行某些代码,或根据条件是否为真来重复运行一段代码,是大部分编程语言的基本组成部分。Rust 代码中最常见的用来控制执行流的结构是 if 表达式和循环。 if 表达式 if 表达式允许根据条件执行不同的代码分支。你提供…

C++学习:数据的存储、作用域、链接

一、数据的存储方式 C中使用3种不同的方案来存储数据,不同方案的区别在于数据在内存中保留的时间。 1、自动存储 在函数定义中声明的变量,以及函数的参数,是自动存储的。在程序执行对应函数的时候创建这些变量,对应的函数执行完…

别再卷组件库了,Vue 拖拽库都断代了!

前言 最近在测试 Tailwind CSS 和 Uno CSS 这两种原子化 CSS 工具是否能够有效减少打包后的文件体积时,先开始分析这些工具的优缺点,然后再直接上数据,最后做了一款经典的 TodoList 来进行测试,文章都写好了就差最后的数据了。 …

中国人民大学与加拿大女王大学金融硕士项目:开启你的金融精英之路

在全球化的今天,金融行业的发展日新月异,对金融人才的需求也日益增长。为了满足这一需求,中国人民大学与加拿大女王大学联合推出了金融硕士项目,旨在培养具有国际视野、专业素养和创新能力的金融精英。 这一开创性的项目将两大世…

VR全景图片如何拍摄制作,拍摄制作过程中要注意什么?

引言: VR全景图片就是通过专业的相机设备捕捉到的一个空间的高清图像,再经过专业工具进行拼合,呈现出一种环绕式的视觉效果。想象一下,当你站在一个完全真实的环境中,可以自由地转动视角,看到四周的景色&a…

2023.10(u盘刻录iso)主机,vmware,virtualbox安装linux/ubuntu/kali/centos stream9/arch

download 1 kali官网 2 ubuntu官网 3vmware workstation pro(最新版17pro) 4 virtualbox for linux sudo apt install virtualbox-ext-pack 5 win32 disk imger linux dd 刻录iso到u盘 #查看U盘路径 fdisk -l #图形界面 以kali为例会在桌面出现挂载图标 点开之后输入pwd寻…

基于svg+js实现简单动态时钟

实现思路 创建SVG容器&#xff1a;首先&#xff0c;创建一个SVG容器元素&#xff0c;用于容纳时钟的各个部分。指定SVG的宽度、高度以及命名空间。 <svg width"200" height"200" xmlns"http://www.w3.org/2000/svg"><!-- 在此添加时钟…

森海塞尔EW-DP SKP直插式发射机:真正的无失真录制

韦德马克&#xff0c;2023年9月15日 – 10月底&#xff0c;EW-DP系列将再添新品——EW-DP SKP直插式发射机&#xff0c;面向摄像师、广播电视公司和电影制作人。板载32位浮点录制&#xff0c;结合该系列领先的134 dB发射机动态范围&#xff0c;让音频失真不复存在。无论要在现场…

将 windows 控制台编码修改成UTF-8

将 windows 控制台编码修改成UTF-8 临时修改&#xff0c;在控制台输入以下命令&#xff0c;65001代表utf-8编码 chcp 65001重新打开控制台后&#xff0c;又会变成默认GBK编码 永久修改&#xff0c;设置>时间和语言>语言>管理语言设置 打开更改系统区域设置&#xf…

【Spring Boot项目】根据用户的角色控制数据库访问权限

文章目录 简介方法一添加数据库依赖配置数据库连接创建用户角色表创建Spring Data JPA实体和仓库实现自定义的网关过滤器配置网关过滤器几个简单的测试API 方法二创建数据库访问接口实现数据库访问接口创建用户角色判断逻辑创建网关过滤器配置网关过滤器 总结 简介 在一些特定…

0基础学习PyFlink——Map和Reduce函数处理单词统计

在很多讲解大数据的案例中&#xff0c;往往都会以一个单词统计例子来抛砖引玉。本文也不免俗&#xff0c;例子来源于PyFlink的《Table API Tutorial》&#xff0c;我们会通过几种方式统计不同的单词出现的个数&#xff0c;从而达到循序渐进的学习效果。 常规方法 # input.py …

《Python入门核心技术》专栏总目录

❤️ 专栏名称&#xff1a;《Python入门核心技术》 &#x1f338; 内容介绍&#xff1a;基础篇、进阶篇、Web篇、网络爬虫、数据分析、数据可视化、自动化等&#xff0c;适合零基础和进阶的同学。 &#x1f680; 订阅专栏&#xff1a;订阅后可阅读专栏内所有内容&#xff0c;专…

易点易动设备管理系统:提升生产企业设备保养效率的利器

在现代生产企业中&#xff0c;设备保养是确保生产线稳定运行和产品质量的关键环节。然而&#xff0c;传统的设备保养方式往往面临效率低下、数据不准确等问题&#xff0c;影响了生产效率和竞争力。随着科技的进步&#xff0c;易点易动设备管理系统应运而生&#xff0c;以其智能…

【Netty专题】【网络编程】从OSI、TCP/IP网络模型开始到BIO、NIO(Netty前置知识)

目录 前言前置知识一、计算机网络体系结构二、TCP/IP协议族2.1 简介*2.2 TCP/IP网络传输中的数据2.3 地址和端口号2.4 小总结 三、TCP/UDP特性3.1 TCP特性TCP 3次握手TCP 4次挥手TCP头部结构体 3.2 UDP特性 四、总结 课程内容一、网络通信编程基础知识1.1 什么是Socket1.2 长连…

kkFileView源码编译并发布详细教程

文章目录 概述为啥要自己进行源码编译我不懂Java代码&#xff0c;可以编译吗为什么写这篇教程 废话不多说&#xff0c;下面是详细操作教程安装JDK安装Git安装Maven编译kkFileView源码 kkFileView安装和使用编译后获得安装包&#xff0c;进行解压修改配置文件执行在线安装&#…