群体学习Swarm Leaning学习笔记

这篇具有很好参考价值的文章主要介绍了群体学习Swarm Leaning学习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

群体学习 笔记

背景

如今,在一些疾病的诊断领域,AI的准确率已经超过了医生。靠谱的诊断结果背后,是建立海量数据集上的机器学习。但实际上,可用于训练的医疗数据非常分散,想要把世界各地的数据都集合起来又会引发对数据所有权、隐私性、保密性、安全性的担忧,甚至数据垄断的威胁……
常用的方法如联邦学习,可以解决上述的一些问题,但该模型的参数由“中央协调员”( central coordinator)处理,造成了“权力”的集中,且它的星形架构也导致容错性降低。群体学习的引入在一定程度上可以解决这些问题。

架构

swarm learning for decentralized and confidential clinical machine learning,人工智能,区块链
swarm learning for decentralized and confidential clinical machine learning,人工智能,区块链

群体学习VS联邦学习

群体学习与传统的联邦学习(CS架构)不同,它没有中央参数服务器,不需要将参数上传到中央服务器进行聚合,数据和模型参数都在本地储存,拥有更高的隐私性以及安全性。与其说群体学习是一种全新的机器学习方式,我更倾向于认为它是一种去中心化联邦学习新的范式,它将去中心化硬件基础设施、分布式机器学习与区块链结合,从而安全加入成员节点、动态选举领导者、聚合模型参数。

联邦学习(Fedearted Learning,FL)

定义: 联邦学习(Federated Learning)是一种分布式机器学习技术,其核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,在不需要交换本地个体或样本数据的前提下,仅通过交换模型参数或中间结果的方式,构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡,即“数据可用不可见”、“数据不动模型动”的应用新范式 。
联邦学习按架构划分为:中心化联邦学习(具有中央服务器/中央协调方)的CS架构,去中心化的联邦学习(P2P对等网络)架构和委员会架构

经典联邦学习框架(CS架构)的训练过程可以简单概括为以下步骤:

协调方建立基本模型,并将模型的基本结构与参数告知各参与方;
各参与方利用本地数据进行模型训练,并将结果返回给协调方;
协调方汇总各参与方的模型,构建更精准的全局模型,以整体提升模型性能和效果。

在对等架构(P2P)中,由于没有第三方服务器的参与,参与方之间直接交互,需要更多的加解密操作。在整个过程中,所有模型参数的交互都是加密的。
委员会架构分为固定委员会和动态委员会两种,动态委员会主要是指区块链类型的架构(有点类似群体学习),固定委员会主要是指MPC(多方安全计算)类型的架构。
委员会架构BFLC:

知乎 联邦学习圆桌会议 论文 《A Blockchain-based Decentralized Federated Learning Framework with Committee Consensus》

引入: 传统的FL架构更容易偏向某个节点(权利集中)恶意的中央节点可以通过对模型投毒,进而从模型更新中收集用户信息。BAFFLE利用区块链去除了中心化聚合器,通过智能合约代替中央聚合器的作用。
BFLC VS SL
BAFFLE关于模型的参数以及更新等都存储在区块链中;
BAFFLE是在一定数量的更新块后进行模型聚合,SL是经过同步时间SI后选取领导者
攻击
只有攻击者掌握了超过51%的计算资源才能实现攻击,当攻击发生时还可以进行回退(之前保存在区块链的信息)

区块链(BlockChain,BC)

区块链是一种链式结构,将数据块遵循时间顺序组合并与密码学、共识机制、智能合同等技术结合所形成的一种去中心化的公共账簿技术。具有如下特点:数据难篡改、去中心化、可追溯、去信任化:

1.去中心化: 系统中的所有结点都参与数据的记录和验证,将计算结果通过分布式传播发送给各个结点;在部分结点遭受损坏的情况下,整个系统的运作并不会受到影响,相当于每个参与的结点都是“自中心”。

2.基于共识建立信任(去信任化): 只需要信任共同的算法就可以建立互信,通过算法为参与者创造信用、产生信任和达成共识,不需要第三方机构。

3.数据难篡改: 时间戳存储了网络中所执行的所有交易历史,可为每一笔数据提供检索和查找功能,并可借助区块链结构追本溯源,逐笔验证。根据“少数服从多数”原则,从概率上讲,要篡改历史信息,必须同时控制整个系统中超过50%的结点。

群体学习(SL)

群体学习结合了分布式机器学习和区块链这两种技术,拥有这两种技术的优势:各节点之间权利对等,有较高的安全性和容错性。
SL框架主要组成部分( FL for BC 区块链网络

  • (Swarm 边缘节点)
    1.SL节点:运行用户定义的深度学习算法,并迭代更新本地模型
  • (Swarm 协调器节点)

2.SN节点(Swarm Network 节点):相互交流以维护模型的全局状态信息,通过以太坊区块链平台跟踪训练进度
3.SWCI节点(Swarm Learning Command Interface 节点):安全地连接到SN节点以查看SL框架的状态,并进行控制和管理
4.SPIFFE SPIRE server node:SN节点和SL节点都包含一个SPIRE Agent Workload Attestor 插件,该插件与SPIRE服务器节点通信以证明其身份并获取和管理SPIRE可验证身份文档(SVID)
5.LS节点(License server node 许可证服务器节点):下载和管理许可证以运行SL框架

SPIFFE 和 SPIRE 项目提供了一个生产级别的身份认证框架
SPIFFE ( Secure Production Identity Framework For Everyone ):是一套开源标准,用于在动态和异构环境中安全地识别软件系统。
SPIRE ( SPIFFE Runtime Environment ):是 SPIFFE 标准的一套生产就绪实现,它执行节点证明和工作负载证明,可以安全地向服务颁发身份凭证,并根据预定义的条件集合验证其他服务的身份。

简单过程:
SL在分布式的节点上进行训练,动态选取领导者,新节点通过区块链智能合约注册,获取模型,并进行本地模型训练,直到满足定义的同步条件(SI:同步时间)。接下来,通过 Swarm 应用程序编程接口 (API) 交换模型参数,并在开始新一轮训练之前,合并创建一个更新参数的最新模型。

【注】其中区块链仅记录模型状态以及训练进度等元数据,不记录模型参数;在每一个SI结束时,其中一个SL节点被区块链选为领导者,领导者从每个节点收集局部模型(如何收集?),并通过平均它们的训练参数更新全局模型。
参数通过类似于管道(pipeline)的端口API进行交换。


swarm learning for decentralized and confidential clinical machine learning,人工智能,区块链

思考

个人认为SL模型是基于区块链的联邦学习(BFL)的一种新的范式。
==本人对此领域的研究尚未深入,有任何问题欢迎大家积极指出,一起交流!

参考文献:

[1]Jialiang Han, Yun Ma, Yudong Han, Ying Zhang and Gang Huang. “Demystifying Swarm Learning: A New Paradigm of Blockchain-based Decentralized Federated Learning” (2023).
[2]Stefanie Warnat-Herresthal et al. “Swarm Learning for decentralized and confidential clinical machine learning…” (2021).
[3]登上Nature封面的群体学习,无需中央协调员,比联邦学习更优秀(https://baijiahao.baidu.com/s?id=1702788856189355655&wfr=spider&for=pc)
[4]联邦学习的架构(爱吃牛油果的璐璐:联邦学习的架构)
[5]Yuzheng Li, Chuan Chen, Liu Nan, Huawei Huang, Zibin Zheng, & Qiang Yan (2021). A Blockchain-Based Decentralized Federated Learning Framework with Committee Consensus IEEE Network.文章来源地址https://www.toymoban.com/news/detail-773545.html

到了这里,关于群体学习Swarm Leaning学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 49学习容器管理平台 Docker Swarm 的基本概念和应用,包括节点管理、服务编排

    Docker Swarm 是 Docker 官方提供的容器编排工具,可以管理多个 Docker 节点,并支持自动化扩展、负载均衡等功能。下面是 Docker Swarm 的基本概念和使用方法,包括节点管理和服务编排。 在 Docker Swarm 中,一个或多个 Docker 节点组成一个 Swarm 集群,其中一个节点是 Swarm Manager,负责

    2024年02月05日
    浏览(44)
  • 【联邦学习+区块链】A Blockchain-based Decentralized Federated Learning Framework with Committee Consensus

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

    2024年02月03日
    浏览(42)
  • 【李宏毅机器学习·学习笔记】Tips for Training: Adaptive Learning Rate

    本节课主要介绍了Adaptive Learning Rate的基本思想和方法。通过使用Adaptive Learning Rate的策略,在训练深度神经网络时程序能实现在不同参数、不同iteration中,学习率不同。 本节课涉及到的 算法或策略 有:Adgrad、RMSProp、Adam、Learning Rate Decay、Warm Up。 本节课 参考的资料 有: MI

    2024年02月14日
    浏览(45)
  • [Docker]十一.Docker Swarm集群raft算法,Docker Swarm Web管理工具

    Raft :一致性算法,在保证大多数管理节点存活的情况下,集群才能使用, 所以就要求如果集群的话, manager 节点必须 =3 台 ,如果是两个台,其中一台宕机,剩余的一台也将不可用,以致整个集群不可用 Manager : 管理节点,用于管理工作节点,为了利用 swarm 模式的容错特性

    2024年02月04日
    浏览(49)
  • 【配置Swarm-SLAM(swarm slam : 开源的多机器人协同CSLAM算法)更新中】

    旨在记录Swarm-SLAM过程。 Swarm-SLAM: Sparse Decentralized Collaborative Simultaneous Localization and Mapping Framework for Multi-Robot Systems Swarm-SLAM 是一个开源的多机器人协同同时定位与建图(C-SLAM)系统,旨在可扩展,灵活,分散和稀疏,这些都是集群机器人的关键属性。其系统支持激光雷达、双

    2024年01月17日
    浏览(45)
  • docker swarm 常用命令

    docker service ps 命令 docker node 命令 docker stack ps 命令 docker swarm unlock 命令 Docker Command 命令 官网 docker compose 官网 docker service 官网 docker node 官网 docker compose 官网 1、下载私有仓库镜像 2、docker swarm 常用命令 3、docker node 常用命令 4、docker service 常用命令 5、Docker swarm 实战 1: 创建服

    2024年02月09日
    浏览(35)
  • Docker Swarm 节点维护

    Docker Swarm Mode Docker Swarm 集群搭建 Docker Swarm 节点维护 Docker Service 创建 Swarm 集群中节点的角色只有 manager 与 worker,所以其角色也只是在 manager 与worker 间的转换。即 worker 升级 为 manager,或 manager 降级 为 worker。 1.1 worker 升级为 manager 在manager节点通过 docker node promote 命令可以将

    2024年02月04日
    浏览(32)
  • Docker Swarm集群管理

    秋风阁(https://focus-wind.com/) Docker Swarm官方文档 Docker Swarm是Docker引擎原生内置的容器集群管理工具。 Swarm节点 运行Docker的主机可以主动初始化一个Swarm集群作为Leader节点或者加入一个已存在的Swarm集群,这样这个运行Docker的主机就成为一个Swarm集群的节点。 Swarm集群节点可以分为

    2024年02月05日
    浏览(33)
  • Docker Swarm 集群搭建

    Docker Swarm Mode Docker Swarm 集群搭建 Docker Swarm 节点维护 Docker Service 创建  搭建一个 docker swarm 集群,包含 5 个 swarm 节点。这 5 个 swarm 节点的 IP 与暂 时的角色分配如下(注意,搭建完成后会切换角色): host ip role docker 192.168.137.100 manager docker2 192.168.137.101 manager docker3 192.168.1

    2024年02月04日
    浏览(38)
  • swarm集群

    一、什么是Docker Swarm Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm, 它是将一群Docker宿主机变成一个单一的虚拟主机,Swarm使用标准的Docker API接口作为其前端的访问入口,换言之,各种形式的Docker C

    2024年02月11日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包