zoukankan      html  css  js  c++  java
  • 初识 Federated Learning

    背景

    • 设备中有很多数据,可以用来训练模型提高用户体验。但是数据通常是敏感或者庞大的。
      • 隐私问题
      • 数据孤岛:每个公司都有数据,淘宝有你的购买记录,银行有你的资金状况,它们不能把数据共享,都是自己训练自己有的数据,是一个个数据孤岛。

    联邦学习的概念

    • 联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
    • 解决数据孤岛问题。
    • 建立基于分布式数据集的机器学习模型。 跨越多个设备,同时防止数据泄漏。
    • 像一个松散的联邦。每个客户端有自己的数据,自己训练,保持一定的独立性,但是又能共同建模。

    We term our approach Federated Learning, since the learning task is solved by a loose federation of participating devices (which we refer to as clients) which are coordinated by a central server.

    场景

    分类 跨孤岛 跨设备
    例子 医疗机构 手机端应用
    节点数量 1~100 (1-10^{10})
    节点状态 几乎稳定运行 大部分结点不在线
    主要瓶颈 计算瓶颈和通信瓶颈 WiFi速度、设备不在线
    Yang分类 横向/纵向 横向

    联邦优化的特点

    • 联邦优化:Federated Optimization, 隐含在联邦学习中的优化问题

    • 与传统的分布式优化问题相比的特点:

      • Non-IID: 每个客户端的数据特点基于这个客户端的使用,所以任何一个客户端的数据不能代表总体的数据分布
      • Unbalanced: 数量上有很大的差异
      • Massively distributed: 参与优化的节点数大于每个客户端中的训练数据量
      • Limited communication: 移动设备可能经常不在线或者连接慢或者连接贵。
      分布式训练 联邦学习
      数据分布 集中存储不固定,可以任意打乱、平衡地分配给所有客户端 分散存储且固定,数据无法互通、可能存在数据的Non-IID(非独立同分布)
      节点数量 1~1000 (1-10^{10})
      节点状态 所有节点稳定运行 节点可能不在线
      决策权 工作节点没有决策权,都由中央节点控制 本地数据有完全自治权,可以决定何时加入联邦学习

    联邦优化的一个经典算法FedAvg

    伪代码

    FedAvg 流程

    • Client selection:server选一些符合条件的客户端。ex: 有wifi、空闲和连接了电源以避免影响用户对客户端的使用。
    • Broadcast:被选中的客户端从server下载最新的模型参数和训练程序。
    • Client computation:每个选中的客户端利用本地的数据计算并更新模型。
    • Aggregation:server收集各个客户端的更新并汇总。 为了更高效,一旦达到了足够数量,Stragglers可能会被放弃。
    • Model update:server更新本地的模型。

    Communication-efficiency

    Local Updating

    • 可以减少通信的总轮数

    Compression Schemes

    • 模型压缩方案(如稀疏化、子采样和量化)可以显著减少每轮通信的消息大小。

    Decentralized Training

    • 在数据中心环境中,当在低带宽或高延迟的网络上操作时,去中心化训练被证明比中心化训练更快;
    • 在联邦学习中,去中心化算法理论上可以降低中央服务器上的高通信成本

    隐私

    • 虽然只传输用于更新模型必要的信息,但是这些信息也可能泄露敏感的用户信息。
    • 在整个训练过程中进行模型更新的通信仍然可以向第三方或中央服务器显示敏感信息。虽然最近的方法旨在使用安全多方计算或差异隐私等工具增强联邦学习的隐私性,但这些方法通常以降低模型性能或系统效率为代价提供隐私。在理论和经验上理解和平衡这些权衡是实现私有联邦学习系统的一个相当大的挑战。

    方法

    • 差分隐私:差分隐私、k-匿名和多样化的方法涉及在数据中添加噪声,或使用泛化方法来模糊某些敏感属性,直到第三方无法区分个体,从而使数据无法还原来保护用户隐私。然而,这些方法的根源仍然要求数据传输到别处,而这些工作通常涉及准确性和隐私之间的权衡。
    • 安全多方计算(SMC):SMC安全模型自然包含多方,并在一个定义明确的仿真框架中提供安全证明,以保证完全零知识,即除了输入和输出之外,各方什么都不知道。零知识是非常可取的,但这种要求的属性通常需要复杂的计算协议,并且可能无法有效地实现。在某些情况下,如果提供了安全保证,则可以认为部分知识泄露是可接受的。在安全性要求较低的情况下,可以用SMC建立安全模型,以换取效率。最近,有研究使用SMC框架对具有两个服务器和半诚实假设的机器学习模型进行训练。有文献使用MPC协议进行模型训练和验证,无需用户透露敏感数据。最先进的SMC框架之一是ShareMind。有文献提出了一个3PC模型,以诚实的多数,并考虑了在半诚实和恶意假设中的安全性。这些工作要求参与者的数据在非协作服务器之间秘密共享。
    • 同态加密:在机器学习过程中,也可以采用同态加密的方法,通过加密机制下的参数交换来保护用户数据隐私。与差异隐私保护不同,数据和模型本身不会被传输,也不能通过另一方的数据对其进行推测。因此,原始数据级别的泄漏可能性很小。最近的工作采用同态加密来集中和训练云上的数据。在实践中,加法同态加密被广泛使用,需要进行多项式近似来评估机器学习算法中的非线性函数,从而在准确性和隐私性之间进行权衡。

    Robust

    • 现代机器学习系统比较容易受到各种错误的影响。
    • 非恶意性错误
      • 预处理流程中的漏洞
      • 噪音过强的训练标签
      • 不可靠的用户
    • 旨在破坏系统训练过程和部署流程的显示攻击

    A Categorization of Federated Learning

    横向联邦学习

    A与B的数据集有些特征重叠,但样本不同,重点解决样本缺的问题。比如工行和建行的数据,特征都差不多,但样本不同。

    纵向联邦学习

    A与B的数据集有些样本重叠,但特征不同,重点解决特征缺的问题。比如你携程的数据和你滴滴的数据,样本都是你,但特征肯定不同。

    联邦迁移学习

    A与B的数据集样本也不同,特征也不同,这个就是对模型更高的追求了。比如国内滴滴的数据和国外google的数据,他们特征也不同,样本也不同。

    应用

    • 联合学习可以被视为边缘计算的操作系统,因为它提供了学习协调和安全协议。 在[69]中,作者考虑了机器学习的通用类使用基于梯度下降的方法训练的模型。 他们分析了收敛性从理论的角度来看,分布式梯度下降的界限是基于它们提出的控制算法,确定本地更新和全局参数之间的最佳权衡聚合以最小化给定资源预算下的损失函数。

    参考文献

    • 网络资源
    • Communication-EfficientLearningofDeepNetworks fromDecentralizedData
    • Federated Machine Learning: Concept and Applications
    • Advances and Open Problems in Federated Learning
    • Federated Learning: Challenges, Methods, and Future Directions
  • 相关阅读:
    pku3734Blocks
    STLmultiset
    zoj 2744
    EXCEL vba 插入图片的大小裁剪尺寸移动和旋转的设置和指定
    C# WinForm下Excel导入导出
    日期格式校验
    vb获取目录下所有文件夹名称的方法
    批量 生成 word 多线程
    Java中验证日期时间格式
    递归绑定树形菜单
  • 原文地址:https://www.cnblogs.com/xuwanwei/p/13130196.html
Copyright © 2011-2022 走看看