联邦学习综述三

A Survey on Federated Learning Systems Vision Hype and Reality for Data Privacy and Protection

选自:IEEE Transactions on Knowledge and Data Engineering,2021

链接

本文主要从数据分布、机器学习模型、隐私机制、通信架构、联邦规模和联邦动机六个方面对联邦学习系统(FLSs)进行了全面的分类,通过系统的总结现有的联邦学习系统,提出了设计因素、给出了案例以及未来的研究方向。作者试图利用这些现有的Federated system中的两个性质:Heterogeneity和Autonomy,来从一个新的角度看待FL system。主要工作如下:

  • (1)调查第一个从系统的角度对FL进行全面分析的调查,包括系统组件、分类、摘要、设计和远景。
  • (2)从数据分布、机器学习模型、隐私机制、通信架构、联邦规模和联邦动机等6个方面对网络安全系统进行了全面的分类,可作为网络安全系统的共同构建模块和系统抽象。
  • (3)根据研究领域对已有的典型研究和最新研究进行了总结,便于研究人员和开发人员参考。
  • (4)提出了一个成功的FLS的设计因素,并全面审查了每个场景的解决方案。
  • (5)提出了未来FLSs的研究方向和挑战。

联邦学习系统(federated learning systems,FLSs)目标是在限制用户隐私的情况下,在不同组织之间进行协作式机器学习技术

Heterogeneity

  • 联邦学习的异质性指的是参与联邦学习的不同设备或实体之间存在的差异性。这种差异性可以从多个方面来理解:

    1. 数据分布的差异性:在联邦学习中,每个参与方(例如设备或实体)通常拥有自己特定的本地数据,这些数据可能来自不同的地理位置、不同的用户群体或不同的环境条件。这导致了参与方之间数据的分布差异,例如一种设备上的数据可能更倾向于特定的特征或类别。
    2. 计算能力和资源的差异性:不同的设备或实体可能具有不同的计算能力和资源水平。有些设备可能性能较好,可以处理大规模的模型训练和推理任务,而其他设备可能硬件条件有限,只能处理较小规模的任务。这导致了参与方之间在计算能力和资源方面的差异。
    3. 隐私和安全要求的差异性:在联邦学习中,参与方通常拥有自己的隐私和安全要求。由于不同的参与方有不同的隐私政策和约束条件,可能会限制对数据的共享或模型的访问。这导致了参与方之间隐私和安全要求的差异性。
  • 为了解决联邦学习的异质性,可以采取一些策略:

  1. 跨设备或实体的数据同构化:通过一些数据预处理技术,可以使不同参与方之间的数据更加同构,例如特征选择、数据标准化等。
  2. 联邦学习算法的调整和优化:针对异质性问题,可以使用一些算法技术来处理,例如联邦学习中的参数选择、模型聚合等策略,以使得参与方之间的差异性最小化。
  3. 联邦学习参与方的选择和分组:可以根据参与方的特点和限制条件,将其进行合理的分组,使得每个组内的参与方更加相似,减小异质性的影响。
  4. 跨设备或实体的知识转移:通过将模型的知识从一个参与方转移到另一个参与方,可以减小异质性带来的影响。例如,可以利用迁移学习的方法将一个参与方上训练好的模型参数应用于其他参与方的模型初始化,从而加速训练过程并减小异质性的影响。
  5. 异步联邦学习:在异质性较大的情况下,同步进行模型聚合可能会带来困难。此时,可以采用异步联邦学习的方式,允许参与方在自己的本地数据上独立进行训练和模型更新,减小异质性带来的同步问题。
  6. 个性化的模型和任务设置:考虑到参与方的异质性,可以根据每个参与方的特点和需求,定制个性化的学习模型和任务。例如,根据不同参与方的数据特征差异,可以为每个参与方设计特定的子模型,以更好地适应其本地数据分布。
  7. 联合优化和协同训练:在模型聚合过程中,可以采用联合优化的方式,充分考虑参与方之间的异质性。同时,可以通过协同训练的方式,充分挖掘参与方之间的互补性,从而提高整体模型性能。

Autonomy

  • 联邦学习的自治性指的是在联邦学习框架下,参与方(例如设备或实体)具有一定程度的自主性和自治性。这意味着每个参与方能够在一定程度上自主地决定参与联邦学习、模型训练和模型推理的方式。

    在联邦学习中的自治性表现在以下几个方面:

    1. 数据自治性:每个参与方保持对其本地数据的控制,可以自主地决定是否共享其数据。这使得联邦学习能够在保护个体隐私的同时,允许参与方控制自己的数据,并决定是否将其用于模型训练和推理。

    2. 模型自治性:每个参与方可以自主地选择和训练自己的模型。虽然联邦学习的目标是通过模型聚合来获得最终的联合模型,但是每个参与方可以根据自己的需求和特定情况选择适合自己的模型结构和训练策略。

    3. 参与自治性:每个参与方可以自主地选择是否参与联邦学习。这可以基于多种因素,包括计算资源、网络带宽、数据隐私和安全要求等。参与方有权决定是否将自己的设备或实体纳入联邦学习环境,并在一定程度上控制自己的参与程度。

    4. 效果自治性:每个参与方可以自主地根据自己的需求和目标评估和决策模型的效果。虽然联邦学习的目标是提升整体模型的性能,但每个参与方可以根据自己的指标和需求,评估并决策是否接受联邦学习所得模型的使用。

    5. 协商自治性:在联邦学习中,参与方之间可以通过协商和合作来共同决策有关联邦学习的规则和流程。这包括数据共享策略、模型聚合方式、训练轮数等。通过参与方之间的协商,可以确保联邦学习过程中的公平性和平衡性。

    6. 隐私自治性:参与方拥有保护自身数据隐私的权利和自治性。他们可以自主决定如何对本地数据进行隐私保护,例如采用差分隐私技术、加密手段或数据脱敏等。参与方之间需要遵守隐私协议和政策,确保数据隐私得到有效保护。

    7. 模型训练自治性:参与方可以自主决定模型的本地训练方式和优化策略。他们可以根据本地数据的特点和需求,自主选择训练算法、超参数设置和优化目标,以最大程度地提升本地模型性能。

    8. 资源管理自治性:参与方在联邦学习中可以自主管理和分配自身的计算资源、存储资源和带宽资源。他们可以根据自身需求和资源限制,灵活调整和优化资源分配策略,以实现高效的联邦学习过程。

    9. 模型权衡自治性:每个参与方可以自行权衡模型的复杂性和性能。他们可以根据计算和存储资源的限制,自主地选择模型的规模和复杂度,以平衡模型的性能和资源消耗。

    10. 算法选择自治性:参与方可以自主选择合适的联邦学习算法来适应自身需求。这包括基于梯度的方法、可微分的方法、优化解算法等。参与方可以根据自己的数据特点和计算能力选择适合的算法,以满足其特定的学习任务。

    11. 模型访问控制自治性:参与方对于其本地模型的访问有一定的自治权。他们可以自主决定允许其他参与方访问其模型的程度,包括读取、写入和执行。这样的控制权可以帮助实现联邦学习中的安全和隐私保护。

然后给出了联邦学习系统的定义,以及与传统联邦系统相比的优缺点,FDBSs(federated database systems)关注的是分布式数据的管理,FC(federated cloud)关注的是资源的调度,而FLSs更关注的是多方之间的安全计算

  • 在联邦学习系统中,多方协作训练机器学习模型,而不交换原始数据。系统的输出是每一方的机器学习模型(可以是相同的也可以是不同的)。一个实际的联邦学习系统具有以下约束:给定一个评估指标,例如测试精度,通过联邦学习学习的模型的性能应该优于具有相同模型体系结构的本地训练学习的模型。

    • 在这里插入图片描述
  • FLS系统组成

    • 各方(例如,客户端)、
    • 管理器(例如,服务器)
    • 用于训练机器学习模型的通信计算框架
  • 联邦学习框架

    • 在这里插入图片描述
  • 对现有的工作进行了分类总结,介绍了两个具体的application场景

    • 联邦学习系统分类

      根据不同的特征来区分分布式学习、跨设备联邦学习和跨竖井联邦学习,包括设置、数据分布、通信等。我们的分类法用于从部署视图区分不同的联邦学习系统,并且在中没有考虑机器学习模型和联邦动机等方面。

      • 在这里插入图片描述
  • Data Partitioning

  • 水平

  • 垂直

  • 混合

  • 机器学习模型

    • 神经网络
    • 决策树
    • 线性模型
  • Privacy Mechanisms

    一个FLS可以采用多种方法来增强隐私保障[64,205,86]。还有其他保护用户隐私的方法

    • 加密方法(同态加密,安全多方计算)
    • 差分隐私
    • 可信执行环境
    • 攻击可以来自FL过程的任何阶段,包括输入、学习过程和学习模型
      • 输入:恶意方可以对FL进行数据中毒攻击,例如,恶意方可以修改具有特定类的训练样本的标签,从而使最终模型在该类上表现不佳。
      • 学习过程:在学习过程中,各方可以进行模型投毒攻击,上传设计好的模型参数。与数据中毒攻击一样,由于中毒的本地更新,全局模型的准确性可能非常低。除了模型中毒攻击外,拜占庭故障也是分布式学习中的一个常见问题,其中各方可能表现得任意恶劣并上传随机更新。
      • 学习模型:如果学习到的模型被发布,则可以对其进行推理攻击。服务器可以从交换的模型参数中推断出训练数据的敏感信息。例如,隶属度推理攻击可以推断训练中是否使用了特定的数据记录。请注意,推理攻击也可能由FL管理器在学习过程中进行,FL管理器可以访问各方的本地更新。
  • Communication Architecture

    • 集中式设计
      • 在集中式设计中,数据流往往是不对称的,这意味着管理者将来自各方的信息(如本地模型)聚合起来,并将训练结果发回。全局模型上的参数更新总是在这个管理器中完成。管理者和本地各方之间的通信可以是同步的或异步的。
    • 分散式设计
      • 在去中心化设计中,各方之间进行通信,每一方都能够直接更新全局参数。
  • Scale of Federation

    • 跨筒仓FLSs
      • 在跨筒仓FLS中,各方是组织或数据中心。通常有相对较少的参与方,每个参与方都有相对大量的数据和计算能力。
    • 跨设备FLSs
      • 跨设备FLS中,各方的数量相对较多,每一方的数据量相对较少,计算能力也相对较弱。当事人通常是移动设备。
  • Motivation of Federation

    • 奖励机制
  • 总结现有的流行和最先进的研究工作

    • 现有的研究大多考虑水平数据划分
    • 大多数研究考虑在没有任何隐私保证的情况下交换原始模型参数。
    • 集中式设计是当前实现的主流。在它们的设置中需要一个可信的服务器。但是,可能很难找到受信任的服务器,特别是在跨竖井设置中。
    • 提高有效性、效率和隐私性是人工智能的主要研究方向(也是面临的主要挑战),这也是评价人工智能的三个重要指标。
  • 效率的改进

    • 如图对现有已发表研究的比较。LM表示线性模型。DM表示决策树。NN表示神经网络。CM表示加密方法。DP表示差分隐私。
    • 在这里插入图片描述
  • 应用

    • 边缘计算
    • 推荐系统
    • 自然语言处理
    • 交易欺诈检测
  • 基准测试框架

    • 分类
      • 通用基准系统旨在全面评估FLSs,并给出FLSs不同方面的详细特征;
      • 有针对性的基准测试针对集中在一个小领域的一个或多个方面,并试图在该领域优化系统的性能;
      • 数据集基准旨在为联邦学习提供专用数据集。
  • 开源系统

    • Federated AI Technology Enabler (FATE)。链接

    • 在这里插入图片描述

    • TensorFlow Federated (TFF)链接

      • 在这里插入图片描述
    • OpenMined PySyft链接

    • Baidu PaddleFL链接

    • FedML链接

    • 在这里插入图片描述

  • 框架对比

    • 在这里插入图片描述
  • System Design

    • 效率
      • 在这里插入图片描述
    • 隐私
    • 效力
  • Evaluation

    • (1)模型性能
    • (2)系统安全性
    • (3)系统效率
    • (4)系统鲁棒性
  • 案例

    • 移动服务
    • 医疗领域
    • 金融领域

http://www.niftyadmin.cn/n/5092272.html

相关文章

云安全——云计算基础

0x00 前言 学习云安全,那么必然要对云计算相关的内容进行学习和了解,所以云安全会分为两个部分来进行,首先是云计算先关的内容。 0x01 云计算 广泛传播 云计算最早大范围传播是2006年,8月,在圣何塞【1】举办的SES&a…

Stream流中的 max()和 sorted()方法

需求:某个公司的开发部门,分为开发 一部 和 二部 ,现在需要进行年中数据结算。分析: 员工信息至少包含了(名称、性别、工资、奖金、处罚记录)开发一部有 4 个员工、开发二部有 5 名员工分别筛选出 2 个部门…

1、验证1101序列(Moore)

题目要求: 用Moore型状态机验证1101序列。 题目描述: 用使用状态机验证1101序列,注意:允许重复子序列。如图 端口描述: module moore_1101(input clk,//时钟信号input clr,//reset复位信号,高电平有效in…

Netty 入门 — 亘古不变的Hello World

这篇文章我们正式开始学习 Netty,在入门之前我们还是需要了解什么是 Netty。 什么是 Netty 为什么很多人都推崇 Java boy 去研究 Netty?Netty 这么高大上,它到底是何方神圣? 用官方的话说:Netty 是一款异步的、基于事…

柯桥日常口语学习|生活英语|实用口语口语天天练

1. How far is it from here? 离这儿有多远? 2. Can you give me a hand? 能帮帮我吗? 3. I cant lift my right arm. 我无法举起我的右手臂。 4. This bridge was built two years ago. 这座桥是在两年前建造的。 5. You should eat more. 你应该…

怎么团队合作,协作开发

一、代码托管平台 我是在大一下的一个竞赛中接触到的代码托管平台 那个时候我也算是什么都不会的,不过不得不说这个确实比较重要,对我造成了一些冲击 在我看来,代码托管平台的作用就是在一个中转站(仓库)上存储我们写…

【Java 进阶篇】JavaScript电灯开关案例:从原理到实现

JavaScript是一门强大的编程语言,它可以用来创建各种交互式网页应用。在这篇博客中,我们将通过一个简单的电灯开关案例来深入了解JavaScript的基础概念,包括HTML、CSS和JavaScript的结合使用。我们将从头开始构建这个案例,逐步引入…

Linux网络编程系列之服务器编程——阻塞IO模型

Linux网络编程系列 (够吃,管饱) 1、Linux网络编程系列之网络编程基础 2、Linux网络编程系列之TCP协议编程 3、Linux网络编程系列之UDP协议编程 4、Linux网络编程系列之UDP广播 5、Linux网络编程系列之UDP组播 6、Linux网络编程系列之服务器编…