联邦学习综述二

联邦学习漫画

联邦学习漫画链接: https://federated.withgoogle.com/

Federated Analytics: Collaborative Data Science without Data Collection

博客链接: https://blog.research.google/2020/05/federated-analytics-collaborative-data.html

本篇博客介绍了联邦分析,即将数据科学方法应用于分析存储在用户设备上本地的原始数据的实践。与联邦学习一样,它的工作原理是对每个设备的数据运行本地计算,并且只向产品工程师提供聚合结果(而不是来自特定设备的任何数据)。然而,与联邦学习不同,联邦分析旨在支持基本的数据科学需求。这篇文章描述了为追求联邦学习而开发的联邦分析的基本方法,我们如何将这些见解扩展到新领域,以及联邦技术的最新进展如何为不断增长的数据科学需求提供更好的准确性和隐私性。

  • 通过安全聚合保护联合分析

    • 安全聚合可以为联合分析应用程序提供更强的隐私属性,这种方法的隐私属性可以通过对更多人求和或通过向计数添加小的随机值(例如,支持差分隐私)来加强。
    • 联合分析的方法是一个活跃的研究领域,已经超越了分析指标和计数。有时,使用联合学习训练 ML 模型可用于获取有关设备上数据的聚合见解,而无需任何原始数据离开设备。

Federated Learning Challenges Methods and Future Directions

联邦学习综述二_第1张图片
链接: https://static.aminer.cn/storage/pdf/arxiv/19/1908/1908.07873.pdf

  • 选自:IEEE Signal Processing Magazine

摘要

  • 联邦学习涉及在远程设备或孤立的数据中心(如移动电话或医院)上训练统计模型,同时保持数据本地化。在本文中,讨论了联邦学习的独特特征和挑战,提供了当前方法的广泛概述,并概述了与广泛的研究社区相关的未来工作的几个方向。还考虑集中训练机器学习模型,但在本地提供服务和存储它们。讨论了联邦学习的几种情景:

    • 智能手机
    • 组织机构
    • 物联网

    联邦学习综述二_第2张图片

联邦学习中最小化以下目标函数:

  • 在这里插入图片描述

联邦学习的四种挑战

  • 通信消耗大

    • 原因
      • 联邦网络可能由大量设备组成,例如,数百万智能手机,网络中的通信可能比本地计算慢许多个数量级。为了将模型拟合到联邦网络中的设备生成的数据中,因此有必要开发通信高效的方法,迭代地发送小消息或模型更新作为训练过程的一部分,而不是通过网络发送整个数据集。
    • 关键
      • 减少通信轮总数
      • 减少每轮传输消息的大小
  • 系统异构性

    • 原因
      • 联邦网络中每个设备的存储、计算和通信能力可能因硬件(CPU、内存)、网络连接(3G、4G、5G、wifi)和电源(电池电量)的变化而有所不同。此外,每个设备的网络规模和系统相关约束通常会导致只有一小部分设备同时处于活动状态。
    • 要求
      • 预测少量的参与
      • 容忍异构硬件
      • 对网络中丢失的设备具有鲁棒性
  • 统计异构性

    • 原因
      • 设备经常在网络上以非相同的分布方式生成和收集数据,跨设备的数据点数量可能变化很大,并且可能存在捕获设备及其相关分布之间关系的底层结构。这种数据生成范式违背了分布式优化中经常使用的独立和同分布(IID)假设,增加了掉队者的可能性,并可能增加建模、分析和评估方面的复杂性。
    • 解决方案
      • 元学习
      • 多任务
  • 隐私性

    • 原因
      • 联邦学习通过共享模型更新(例如,梯度信息)而不是原始数据,向保护每个设备上生成的数据迈出了一步。然而,在整个训练过程中沟通模型更新仍然会向第三方或中央服务器泄露敏感信息。
    • 解决方法
      • 安全多方计算
      • 差分隐私
      • 同态加密

目前研究内容

  • 通信效率

    • 本地更新方法

      • Mini-batch 是一种在机器学习中常用的优化方法,它将训练数据集划分为小批次进行模型训练。这种方法相对于全批次训练和随机梯度下降(SGD)有一些独特的优势。

        • 以下是一些使用 mini-batch 进行优化的常见方法:
        1. 小批次随机梯度下降(Mini-batch Stochastic Gradient Descent,Mini-batch SGD): 在每个训练迭代中,随机选择一小批量实例(小批次)来计算梯度,并使用这些梯度更新模型参数。这样可以减少计算成本,同时保持一定的随机性,有助于避免收敛到局部最小值。
        2. 动量优化(Momentum Optimization): 动量优化是在小批次 SGD 的基础上引入了动量概念。动量可以帮助加速收敛,并且在梯度方向改变时增加动量,有助于跳出局部最小值。常见的动量优化算法有 Momentum、Nesterov Momentum 等。
        3. 自适应学习率优化(Adaptive Learning Rate Optimization): 自适应学习率优化方法根据模型参数的梯度情况自适应地调整学习率。其中,常见的算法有 AdaGrad、RMSProp、Adam 等。这些方法能够根据参数的变化动态地调整学习率,从而提高模型的训练效果。
        4. 批标准化(Batch Normalization): 批标准化是一种将数据标准化的技术,在每个小批次上将输入数据进行标准化处理,这样可以加速网络的收敛速度,并且有助于模型的泛化能力。
      • FL最常用的方法是联邦平均(FedAvg),这是一种基于局部随机梯度下降(SGD)平均更新的方法。FedAvg在经验上表现得很好,特别是在非凸问题上,但它没有收敛性保证,并且在实际情况下,当数据是异构的时,它可能会发散。

        联邦学习综述二_第3张图片

    • 压缩方案和

      • 在联邦学习中,压缩方案是一种常用的技术,用于减少在参与方之间传输的模型参数量,从而降低通信开销。

        • 常见的联邦学习中的压缩方案和优化策略:
        1. 梯度压缩:参与方在本地计算模型参数的梯度,并将梯度进行压缩后再发送给中央服务器。常见的梯度压缩方法包括Top-k梯度压缩、量化梯度压缩、稀疏梯度压缩等。这些方法将梯度的大小进行压缩、量化或者稀疏化,从而减少传输的数据量。

        2. 模型参数压缩:将模型参数进行压缩,减少传输的数据量。常见的压缩方法包括权重剪枝(Weight Pruning)、低秩近似(Low-Rank Approximation)、矩阵分解(Matrix Factorization)等。这些方法通过减少模型参数的维度或者去除冗余的参数,从而降低传输的数据量。

        3. 分布式压缩:将模型参数分为多个部分,然后对每个部分进行压缩。这样可以将模型参数的压缩过程分布在不同的参与方中进行,从而减少单一参与方的计算和通信负担。常见的分布式压缩方法包括点对点压缩、分组压缩等。

        4. 选择性上传:参与方根据一定的策略选择是否上传模型参数或者压缩后的参数。比如,只有在模型参数的变化超过一定阈值时才上传,或者只有在本地模型的准确率达到一定要求时才上传。这样可以减少不必要的通信,提高整体的效率。

        5. 近似聚合:中央服务器在聚合参与方的参数时进行近似计算。常见的方法包括局部梯度聚合(Local Gradients Aggregation)和联邦平均(Federated Averaging)。通过在聚合过程中引入一定的近似算法,可以减少通信量和计算量。

    • 分散训练

      • 在联邦学习中,分散训练是一种常见的方法,用于在参与方之间分散地进行模型训练。相比于集中式训练,分散训练有以下特点:

        1. 模型训练在本地进行:在分散训练中,参与方分别在本地设备上进行模型训练,使用各自的数据进行参数更新。这样可以保护数据隐私,避免将数据集集中存储在中央服务器上。
        2. 局部模型参数的更新:每个参与方在本地计算模型的更新,只将更新后的参数传输到中央服务器。相比于传输整个模型参数,这种方式可以减少网络传输的数据量,降低通信开销。
        3. 模型参数的聚合:中央服务器负责收集参与方传输的更新参数,并对它们进行聚合,得到更新后的全局模型参数。常用的聚合方法包括加权平均、投票等。
        4. 迭代式的模型更新:分散训练通常是通过多轮迭代来完成模型的训练。在每一轮中,参与方根据自己的本地数据计算更新的模型参数,并将其传输给中央服务器。中央服务器根据接收到的参数进行聚合,并将聚合后的参数发送回参与方,用于下一轮的训练。
      • 分散训练的优势在于可以在保护数据隐私的同时实现模型的训练。它适用于数据分散且无法集中存储的场景,例如医疗、金融等领域。然而,分散训练也面临一些挑战,例如网络传输不可靠、参与方之间的异构性等,需要借助一些优化策略和通信协议来解决这些问题,以提高训练效率和保证模型的准确性。

        联邦学习综述二_第4张图片

  • 系统异构

    • 异步通信

      • 异步方案是一种有吸引力的方法来减少异构环境中的掉线者,特别是在共享内存系统中。然而,它们通常依赖于有界延迟假设来控制过时程度,对于设备k来说,这取决于自设备k从中央服务器取出以来更新的其他设备的数量。
      • 依赖于有界延迟假设来控制过时的程度。
    • 主动采样

      • 在每一轮中服务器主动选择客户端(训练所参与的设备)
    • 容错率

      • 策略
        • 编码计算
          • 编码计算是通过引入算法冗余来容忍设备故障的另一种选择。最近的工作已经探索了使用代码来加速分布式机器学习训练。
        • 故障忽略
  • 统计异构

    • 异构数据建模

      • 对统计异质性进行建模(元学习、多任务学习),仅限于凸目标

      • 将星形拓扑建模为贝叶斯网络,并在学习期间执行变分推理。空预处理非凸模型,但是推广到大型联邦网络是昂贵的。

        联邦学习综述二_第5张图片

    • 非iid数据的收敛保证

      • 提出了FedProx
  • 隐私性

    出于隐私考虑,通常需要在联邦设置中将每个设备上的原始数据保存在本地。然而,在训练过程中共享模型更新等其他信息也会泄露敏感的用户信息

    • 差分隐私
    • 同态加密
    • 多方计算和安全评估

    联邦学习的隐私

    • 要求
      • 除了提供严格的隐私保证外,还需要开发计算成本低、通信效率高、能够容忍掉线设备的方法,而所有这些都不会过度损害准确性。
    • 分类
      • 全局隐私(对中央服务器以外的所有不受信任的第三方都是私有的)
      • 局部隐私(对服务器也是私有的)

    联邦学习综述二_第6张图片

未来的路

  • 极端通信方案

    • 在联合学习中需要多少交流还有待观察。机器学习的优化方法可以容忍缺乏精度;这个误差实际上有助于泛化。虽然在传统的数据中心设置中已经探索了单点或分而治之的通信方案,但在大规模或统计异构网络中,这些方法的行为尚未得到很好的理解。
  • 减少通信

  • 新的异步模型

    • 在联邦网络中,每个设备通常不专用于手头的任务,并且大多数设备在任何给定的迭代中都不活动。因此,值得研究这种更现实的以设备为中心的通信方案的影响,在这种方案中,每个设备可以决定何时“唤醒”并以事件触发的方式与中央服务器交互。
  • 异构性的诊断

    • 这激发了以下开放性问题:
      • 是否存在简单的诊断来快速确定联邦网络中的先验异质性水平?
      • 是否可以开发类似的诊断方法来量化系统相关异质性的数量?
      • 是否可以利用当前或新的异质性定义来进一步改进联邦优化方法的收敛性?
  • 细小的隐私限制

    • 在实践中,可能有必要在更细粒度的级别上定义隐私,因为隐私约束可能在不同设备之间,甚至在单个设备上的不同数据点之间有所不同。
  • 超越监督学习

    • 在联邦网络中解决监督学习之外的问题可能需要解决类似的可伸缩性、异构性和隐私方面的挑战。
  • 产业化联邦学习

  • 基准测试

    • 由于联邦学习是一个新兴领域,我们正处于塑造这一领域发展的关键时刻,并确保它们基于现实世界的设置、假设和数据集。对于更广泛的研究团体来说,进一步建立在现有的实现和基准测试工具的基础上是至关重要的,以促进经验结果的可重复性和联邦学习新解决方案的传播。
  • 基准测试

    • 由于联邦学习是一个新兴领域,我们正处于塑造这一领域发展的关键时刻,并确保它们基于现实世界的设置、假设和数据集。对于更广泛的研究团体来说,进一步建立在现有的实现和基准测试工具的基础上是至关重要的,以促进经验结果的可重复性和联邦学习新解决方案的传播。

你可能感兴趣的:(联邦学习,密码学,同态加密,可信计算技术,机器学习)