【联邦学习(Federated Learning)】- 横向联邦学习与联邦平均FedAvg

这篇具有很好参考价值的文章主要介绍了【联邦学习(Federated Learning)】- 横向联邦学习与联邦平均FedAvg。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

横向联邦学习的定义

横向联邦学习也称为按样本划分的联邦学习,可以应用于联邦学习的各个参与方的数据集有相同的特征空间和不同的样本空间的场景,类似于在表格视图中对数据进行水平划分的情况。
【联邦学习(Federated Learning)】- 横向联邦学习与联邦平均FedAvg

例如,两个地区的城市商业银行可能在各自的地区拥有非常不同的客户群体,所以他们的客户交集非常小,他们的数据集有不同的样本ID。然而,他们的业务模型非常相似,因此他们的数据集的特征空间是相同的。这两家银行可以联合起来进行横向联邦学习以构建更好的风控模型。

横向联邦学习架构

客户-服务器架构

具有K个参与方(客户端)在服务器的帮助下,协作地训练一个机器学习模型。
横向联邦学习系统的训练过程通常由如下四步组成:

  1. 各参与方在本地计算模型梯度,并使用同态加密、差分隐私或秘密共享等加密技术,对梯度信息进行掩饰,并将掩饰后的结果(加密梯度)发送给聚合服务器。
  2. 服务器进行安全聚合操作,如使用基于同态加密的加权平均。
  3. 服务器将聚合后的结果发送给各参与方。
  4. 各参与方对收到的梯度进行解密,并使用解密后的梯度结果更新各自的模型参数。

【联邦学习(Federated Learning)】- 横向联邦学习与联邦平均FedAvg
然后迭代执行上述步骤,直到损失函数收敛或者达到允许的迭代次数的上限或允许的训练时间。这种架构独立于特定的机器学习算法,并且所有参与方将会共享最终的模型参数。

对等网络架构

在这种架构中,横向联邦学习系统的K个参与方也被称为训练方(trainer)或分布式训练方。每一个训练方负责只使用。此外,训练方们使用安全链路在相互之间传输模型参数信息。为了保证任意两方之间的通信安全,需要使用例如基于公共密钥的加密方法等安全措施。
【联邦学习(Federated Learning)】- 横向联邦学习与联邦平均FedAvg

由于对等网络架构中不存在中央服务器,训练方们必须提前商定发送和接收模型参数信息的顺序,主要有两种方法可以达到这个目的:

  1. 循环传输:训练方们被组织成一条链。第一个训练方(即链首)将当前的模型参数发送给它的下一个训练方。该训练方接收来自上游的模型参数后,将使用来自本地数据集的小批量数据更新收到的模型参数。之后,它将更新后的模型参数传输给下一个训练方。这一过程将被持续重复,直到模型参数收敛或达到允许的最大训练时间。
  2. 随机传输: 随机传输模式中 ,第k个训练方从 {1 ,···,L}中选取i,并将模型参数发送给训练方i。当第i个训练方收到来自第k个训练方的模型参数后,它将使用来自本地数据集的数据的mini-batch更新收到的模型参数。之后,第i个训练方也从{1,···,L}中等概率地随机选取一个数字j,并将自己的模型参数发送给训练方j。这一过程将会重复,直到K个训练方同意模型参数收敛或达到允许的最大训练时间。

联邦平均算法

联邦平均算法(Federal Average Algorithm)是一种用于计算加权平均值的算法,的基本思想将数据点按照某个权重进行加权平均,从而得到一个加权平均值。
【联邦学习(Federated Learning)】- 横向联邦学习与联邦平均FedAvg

H. B. McMahan, E. Moore, D. Ramage, S. Hampson, and B. A. Y. Arcas, “Communication-efficient learning of deep networks from decentralized data,” in Proc. AISTATS, 2016, pp. 1273–1282.

在原文中对联邦平均算法的描述如下:
【联邦学习(Federated Learning)】- 横向联邦学习与联邦平均FedAvg

  1. 假定在多轮通信中的一个同步更新方案,有一组K个客户端组成的固定集合,每个客户端都有一个固定的本地数据。

  2. 在每一轮开始,随机的一小部分比例 的客户端被选定,并且服务端把当前全局算法状态(当前的模型参数)发送给被选中的每一个客户端。【为了提高效率我们只选中一小部分客户端,因为我们的实验表明超过某一点继续增加客户端的数量回报就会持续衰减。】

  3. 基于全局模型参数以及本地数据集,每一个被选中的客户端开始执行本地计算,并再把更新发送到服务端。

  4. 而后服务端再把收到的这批更新应用给全局参数,然后就是不断重复执行这个过程。

这里给出它的伪代码描述:

# local_w 表示每个客户端训练得到的权重列表
weights_avg = local_w[0]
for k in weights_avg.keys():
    for i in range(1, len(local_w)):
        # weights_avg[k] += local_w[i][k] * weight
        weights_avg[k] = weights_avg[k] + local_w[i][k]
    weights_avg[k] = weights_avg[k] / len(local_w)
global_weights = weights_avg
model.load_state_dict(global_weights)

在联邦平均算法的实现中,在每一个全局模型训练轮次中,每一个参与方都需要给服务器发送完整的模型参数更新。由于现代的DNN模型通常有数百万个参数,给协调方发送如此多的数值将会导致巨大的通信开销,并且这样的通信开销会随着参与方数量和迭代轮次的增加而增加。当存在大量参与方时,从参与方上传模型参数至协调方将成为联邦学习的瓶颈。可以从以下两个方面对联邦平均算法进行改进:文章来源地址https://www.toymoban.com/news/detail-418162.html

  • 压缩的模型参数更新:参与方正常计算模型更新,之后进行本地压缩。压缩的模型参数更新通常是真正更新的无偏估计值。(提出了一种执行模型参数压缩的三层流水线。首先,通过去除冗余来删除DNN内的某些连接,只保留最重要的连接部分。其次,量化权重,从而使得多个连接共享同一个权重值,只保留有效权重。最后,使用哈夫曼编码以利用有效权重的偏倚分布。)
  • 参与方选择:第一步是资源检查,即向随机筛选出来的参与方发送资源查询消息,询问它们的本地资源以及与训练任务相关的数据规模。第二步是协调方使用这些信息估计每一个参与方计算本地模型更新所需的时间,以及上传更新所需的时间。之后,协调方将基于这些估计决定选择哪一个参与方。在给定一个全局迭代轮次所需的具体时间预算的情况下,协调方希望选择尽可能多的参与方。

到了这里,关于【联邦学习(Federated Learning)】- 横向联邦学习与联邦平均FedAvg的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【联邦学习+区块链】A Blockchain-based Decentralized Federated Learning Framework with Committee Consensus

    论文地址 :https://ieeexplore.ieee.org/abstract/document/9293091 文章提出了一种基于区块链的去中心化、自治的 FL 架构来应对现阶段所面临的各种挑战(架构如Fig.1所示)。在FL节点管理上,基于联盟链的架构保证了节点的权限控制。在存储方面,文章设计了模型和更新的链上存储模式,

    2024年02月03日
    浏览(36)
  • 【论文导读】- Cluster-driven Graph Federated Learning over Multiple Domains(聚类驱动的图联邦学习)

    Cluster-driven Graph Federated Learning over Multiple Domains 原文链接:Cluster-driven Graph Federated Learning over Multiple Domains:https://openaccess.thecvf.com/content/CVPR2021W/LLID/papers/Caldarola_Cluster-Driven_Graph_Federated_Learning_Over_Multiple_Domains_CVPRW_2021_paper.pdf Federated Learning (FL) deals with learning a central model (i.e.

    2024年02月03日
    浏览(34)
  • 《A Credible and Fair Federated Learning FrameworkBased on Blockchain》基于区块链的可信、公平的联邦学习框架

    期刊 :IEEE Transactions on Artificial Intelligence 作者 :Leiming Chen;Dehai Zhao;Liping Tao;Kai Wang;Sibo Qiao;Xingjie Zeng;Chee Wei Tan 时间 :2024.1.17 1)提出了一个可信且公平的联邦学习计算框架,通过区块链技术和智能合约机制保证整个联邦任务过程的安全。 2)提出了一种基于模型特征融合的恶

    2024年04月17日
    浏览(27)
  • 【论文导读】- SpreadGNN: Serverless Multi-task Federated Learning for Graph Neural Networks(去服务器的多任务图联邦学习)

    SpreadGNN: Serverless Multi-task Federated Learning for Graph Neural Networks 原文链接:SpreadGNN: Serverless Multi-task Federated Learning for Graph Neural Networks:https://arxiv.org/abs/2106.02743 Graph Neural Networks (GNNs) are the first choice methods for graph machine learning problems thanks to their ability to learn state-of-the-art level repr

    2024年01月16日
    浏览(34)
  • 014 A Peer-to-Peer Payment System for Federated Learning(FedCoin:联邦学习点对点支付系统 区块链 Shapley Value)

    方法:FedCoin 目的:解决 SV的计算既费时又费钱的问题 结论: Fed-Coin可以通过精确计算SVs来提升联邦学习参与者的高质量数据,并给出了达成区块共识所需计算资源的上限,为非数据所有者提供了在联邦学习中发挥作用的机会。 局限性:(关于区块链 非研究领域仅了解了下

    2023年04月11日
    浏览(33)
  • paddle2.3-基于联邦学习实现FedAVg算法-CNN

    目录 1. 联邦学习介绍 2. 实验流程 3. 数据加载 4. 模型构建 5. 数据采样函数 6. 模型训练 联邦学习是一种分布式机器学习方法,中心节点为server(服务器),各分支节点为本地的client(设备)。联邦学习的模式是在各分支节点分别利用本地数据训练模型,再将训练好的模型汇合

    2024年02月07日
    浏览(35)
  • 联邦学习实战-1:用python从零开始实现横向联邦学习

    什么是联邦学习? 简单来说就是在一个多方的环境中,数据集是零散的(在各个不同的客户端中),那么怎样实现机器学习算法呢? 首先想到的就是将多个数据集合并合并起来,然后统一的使用传统的机器学习或者深度学习算法进行计算,但是如果有一方因为数据隐私问题

    2023年04月08日
    浏览(39)
  • 联邦聚合(FedAvg、FedProx、SCAFFOLD)

    论文链接: FedAvg:Communication-Efficient Learning of Deep Networks from Decentralized Data FedProx: Federated Optimization in Heterogeneous Networks SCAFFOLD: SCAFFOLD: Stochastic Controlled Averaging for Federated Learning 联邦学习存在四个典型问题: server端以及device端的网络连接是有限的,在任何时刻,可能都只有部

    2023年04月08日
    浏览(28)
  • 【阅读笔记】联邦学习实战——用FATE从零实现横向逻辑回归

    FATE是微众银行开发的联邦学习平台,是全球首个工业级的联邦学习开源框架,在github上拥有近4000stars,可谓是相当有名气的,该平台为联邦学习提供了完整的生态和社区支持,为联邦学习初学者提供了很好的环境,否则利用python从零开发,那将会是一件非常痛苦的事情。本篇

    2023年04月26日
    浏览(51)
  • 《横向联邦学习中 PCA差分隐私数据发布算法》论文算法原理笔记

    论文地址:https://www.arocmag.com/article/01-2022-01-041.html 论文摘要      为了让不同组织在保护本地敏感数据和降维后发布数据隐私的前提下,联合使用 PCA进行降维和数据发布,提出 横向联邦 PCA差分隐私数据发布算法 。引入随机种子联合协商方案,在各站点之间以较少通信代

    2024年02月08日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包