Blockchain-enabled Federated Learning_ A Survey的文献学习

研究背景

传统的机器学习存在数据量低、数据质量差的困境,导致难以充分实现和开发高质量的机器学习技术。

目前,数据隐私保护和安全已成为当今最关注的问题。日益上升的数据隐私保护问题已经成为通过机器学习算法进行现实应用开发的关键瓶颈。从行业的角度来看,由于行业竞争、隐私安全问题、复杂的行政程序等相关问题,数据往往以数据孤岛的形式存在.即使是在同一个公司的不同部门之间实现集中式数据集成,在实现数据互联方面也面临着许多障碍.事实上,要整合分散在各个地方和机构的数据几乎是不可能的,所涉及的成本也是巨大的。因此,这种数据隔离场景也给机器学习算法的发展带来了前所未有的挑战。

为了缓解机器学习设置中与数据隐私保护相关的上述困难,已经提出了几种解决方案,使用差分隐私(DP),同态密码学(HC)和安全多方计算(SMPC),但是这几种方案都有一定的局限性。

如何在满足数据隐私、安全和监管要求的前提下设计机器学习框架,使机器学习系统能够更高效、更准确地使用自身数据,在此背景下,联邦学习算法应运而生。

联邦学习算法的介绍

Federated Learning(FL)联邦学习,也可以叫联合学习、联盟学习,它是一个机器学习的框架,可以帮助多个组织更高效地处理数据和训练模型。

这一概念最在2016年由Google提出的,当时是用于解决Android手机终端用户局部更新模型的问题。是为了确保大数据交换期间的信息安全;保护终端数据和个人数据隐私。并在合法合规的前提下,在多个计算节点之间开发更高效的机器学习。这种也叫水平的联邦学习。对于不同的数据集还有垂直联邦学习和联邦迁移学习。

联邦学习算法可以使终端设备能够用自己的私有数据协同训练公共深度神经网络。经典策略是从所有参与的K个设备中选取一小部分m个用于在每一轮通信中训练服务器发送的初始模型或聚合模型,然后将第k个设备的每个训练好的模型上传到联邦学习算法服务器上,通过聚合生成共享的全局模型,然后将该模型发送回所选的m个设备上再训练。这个过程重复进行,直到达到想要的效果。除模型之外数据并不会直接在设备之间传输,这样个体设备的数据隐私就得到了保护。

传统联邦学习算法的缺点:①集中处理本地训练的机器学习模型(集中处理)②容易受到数据伪造的影响(鲁棒性低)③缺乏对参与节点进行实际部署的激励机制(缺乏激励机制)。为了这些缺点,提出了支持区块链的联邦学习算法。

解决缺点的方法:有一些研究者讨论了使用gossip协议去解决去中心化的问题,gossip协议是几乎所有区块链共识算法的关键组成部分,包括PoW、PoS。虽然gossip协议可以用于实现去中心化的联邦学习,但它缺乏几个关键功能,例如公共分类账上的去中心化存储和交叉验证,这些都是区块链的基本功能。像gossister协议这样的纯共识算法并不支持去中心化存储(公共分类账)和交叉验证。因此,虽然可以以分散的方式执行联邦学习,但存储在每个本地设备上的模型参数既不同步也不验证。因此,存储的单点故障问题仍然存在。因此,提出了基于区块链的联邦学习算法。

在联邦学习算法中,设备与中央服务器之间的通信是关键的瓶颈。全局共享模型即协作设备需要尽可能少的与服务器进行通信。

区块链的介绍

一些概念:

  • 2008年,中本聪向公众发布了比特币1.0 ,这促进了其底层技术的蓬勃发展,特别是区块链。在此之后,区块链引起了广泛的兴趣,并发展到今天的样子。如今,区块链已经发展成各种各样的变体,可以满足现实世界场景中的各种需求。
  • 一种由密码学算法、共识机制、点对点传输、数学、计算机编程等多种技术为基础,而形成的分布式记账系统。
  • 区块链分为:公有链(完全去中心化)、联盟链(半中心化)、私有链(中心化)
  • 每个区块包含有一定数量的交易,这些交易按照时间顺序串联在一起,形成一条链,这就是所谓 区块链。

块结构:

  • Version of block(块版本):表示遵循哪一组块验证规则。
  • Nonce: 一个4字节的字段,通常以0开始,每次哈希计算都会增加。
  • Merkle tree root(Merkle树根):区块体所有交易的哈希值
  • Timestamp(时间戳):时间戳,从1970年1月1日开始,当前时间以秒表示。
  • nBits:有效块哈希的目标阈值,可以转换为:

                                          target, 难题的答案范围 (<= target为解)

                                          difficulty, 难题的难度

                                          Chainwork, 链上累计的所有hash次数(可以转换成电力,矿机,成本)

                      hashrate, 使用不同设备,达到600s(10分钟)出块时间需要达到的hash速度 (hashes/s)

  • Parent block hash: 指向前一个块的256位哈希值。

我们展示了区块链的一般结构。可以观察到,块以虚拟方式一个接一个地附加。这是通过存储前一个块头部的散列值来实现的。就块而言,有两个关键组件:块头部和块主体,其也在图2中示出。通常,块体仅包含以交易形式存储的数据。区块头包含更多的信息,通常包括前一个区块头的哈希值、哈希树的根等等。交易的认证通过非对称加密机制进行验证。有时,在不可信的环境中,可以使用基于非对称加密的数字签名。

区块链技术在联邦学习中的作用:

  • 身份验证和可追溯性:由于出色的验证机制,区块链系统可以确保数据的认证。此外,由于数据存储在公共分类账中,因此它是有记录和可追溯的。
  • 高可用性:这允许边缘设备加入和离开系统,并随时执行学习任务。
  • 高可扩展性:新的范例实现了高并发性、高通信效率和低存储复杂性。
  • 权力下放:基于特定设计,集中式权威机构的参与被最小化,甚至被移除。
  • 拜占庭式的复原力:区块链的另一个优点是在拜占庭问题方面具有容错性,这是由高级共识机制保证的。
  • 持久性:所有交易都被确认并存储在每个本地公共分类账中,这使得它几乎不可能被伪造。此外,候选区块和对应的交易由其他节点验证。因此,很容易发现任何伪造。
  • 匿名:在区块链系统中,用户使用伪名称(如地址)相互交互。必要时允许用户使用多个假名,以避免隐私泄露。不存在可信的中央权威机构来维护用户的隐私信息,从而可以保护隐私。然而,由于区块链系统的一些内置约束,隐私保护并不完美。

支持区块链的FL

一些概念:

FL算法过程中遇到的一些攻击:

  • 背景知识攻击是一种影响深远的面向隐私的攻击,许多其他攻击都源于此。在该场景中,每个设备具有其自己的本地数据作为其背景知识数据。由于其定期从中央权威机构接收全局模型更新,因此设备可能会基于差异发起背景知识攻击。这在一定程度上导致了隐私泄露。
  • 共谋攻击是一种特定类型的背景知识攻击,其中多方贡献他们的背景知识用于聚合,使得更敏感的信息可能被泄露。在FL系统中,由于存在许多可以自由加入和离开的设备,因此很容易发起这样的攻击
  • DDoS攻击也是一种典型的攻击,但在这种情况下有一些新的功能。在大规模FL系统中,可能有数千个边缘设备参与学习任务。这可能导致通信信道的过度占用或计算资源的过载。随后,通信和计算基础设施可能出现高延迟甚至物理故障,从而导致拒绝服务。
  • 投毒攻击是数据操作领域中日益流行的主要攻击。这些攻击的主要目标是误导学习输出。在经典的FL情况下,没有过滤器机制来选择设备或设备可以贡献的权限管理。这使对手有机会上传专门设计的伪造数据,这可能导致不收敛或偏离输出。
  • 拜占庭攻击存在于允许灵活学习时间的FL系统中。这通常在大规模系统中需要,其中各种边缘设备具有各种计算和通信能力。这导致拜占庭问题,因为难以管理边缘设备并防止对手的恶意行为。
  • 推理攻击通过安装跟踪攻击和重构攻击来针对隐私类别。这两种形式的攻击负面影响FL范式的性能。通过发起重建攻击,对手的目标是推断记录中的信息。在跟踪攻击中,目标切换到识别特定数据集中某个个体的存在。

优点:

  • 与传统的FL不同,基于区块链的FL结构允许完全分散的FL,这样每个设备都可以在特定的一轮学习中引导聚合过程。
  • 联邦学习算法,通过维护相同的机器学习模型,实现了不同区块链的隐私保护跨链数据交换。
  • 通过这种方式,计算能力可以同时用于联邦学习和共识,从而节省大量能源

基于区块链的联邦学习算法工作流程:

  • 初始化:参数是从预定义的目标函数和全局梯度中随机选择的,全局梯度遵循均匀分布。
  • 本地模型更新:终端设备相对于所需的迭代次数来训练本地模型。
  • 本地模型上传:矿工和终端设备已绑定。终端设备将本地模型参数上传到矿工。此外,上传相应的本地计算时间以用于验证目的。
  • 交叉验证:矿工依次验证相关终端设备的模型参数和计算时间。计算时间是否与数据大小成正比决定了模型参数的可靠性。验证的数据存储在矿工的潜在块中,直到所有模型参数都被验证并存储在块中。
  • 区块生成:共识算法在每一轮中运行。当获胜的矿工获得块生成机会并生成候选块时,它停止,同时迫使其他矿工停止竞争块生成机会。
  • 块传播:获胜的矿工将候选区块作为新区块广播给所有各方。系统中的所有矿工都将新区块添加到他们的本地分类账上,如果验证通过的话。为了防止分叉,如果矿工没有识别出任何分叉,则使用并发送专门设计的信号ACK。每个矿工在收到所有其他矿工的ACK后采取行动。如果没有,则进程将被挂起,迭代将从头开始。
  • 全局模型更新:选定的矿工通过使用分布式近似牛顿(DANE)聚合所有局部模型参数,之后新的全局参数将被写入块中。
  • 全局模型下载:允许所有终端设备从新块下载全局参数,并决定是否在下一轮中继续。

现有领先的基于区块链的FL研究

lov(车联网)是近几年来越来越流行的设备上场景的特殊情况。车联网中的车辆保存着驾驶员的大量敏感信息。此外,包括电动汽车和无人机在内的大多数新车现在都配备了高性能的CUP和存储,这为区块链FL奠定了基础。

在成员选择过程中,使用的算法中最流行的是pow算法,其应用率接近80%,这与更广泛的环境是一致的。PoW被认为是区块链系统中最可行的方法。

然而,在基于区块链的FL系统中直接部署PoW是不切实际的,因为效率是这里的主要指标之一。由于FL需要大量的计算资源,因此不可能提供额外的计算能力来与PoW达成共识。为了解决这个问题,研究者提出了一个专门的共识算法和PoW共建。就是Proof of FL(PoFL),但是目前也存在着一些局限性。如今,先进的系统正在使用PoW和PoS的组合来保持效率。

未决问题和潜在解决方案

分散式FL的性能改进:

绿色节能共识算法。支持区块链的FL系统需要PoW来保证安全性和其他性能,因为PoW可以完全确保去中心化特性,从而保证FL的性能。但是传统的PoW需要大量的计算能力来竞争块生成能力,这导致学习性能的下降。例如,比特币挖矿的耗电量略高于瑞士的总耗电量。因此,有必要将当前的PoW共识算法修改为节能算法,以便为学习过程保留更多的计算能力。

 

促进参与意识:

所有参与工作者达成共识,每个人都是赢家。在这种情况下,如果我们以代币为例,那么代币将按贡献比例分配给每个人。此外,这种激励可能是双重的。对于未被选择为学习过程参与者的设备,它们可以向获胜者支付代币以获得对新全局模型的访问。此外,激励机制的形式应该是多样的,比如数据奖励甚至计算能力奖励,对应于具体场景。

提升安全和隐私级别:

计划在当前区块链系统的基础上设计新的协议,并建立信任管理系统。而不是随机建立一个委员会,我们提出了一个迭代的委员会的信任值的基础上。首先,系统用随机委员会训练数据并识别收敛趋势。然后,上传本地更新并对收敛做出贡献的任何委员会成员将获得更高的信任值,反之亦然。这样,系统就可以逐步消除中毒攻击的负面影响.可以使用诸如凸优化的高级工具来优化迭代机制。在其他攻击方面,在不同的场景下也需要新的机制。在下面的小节中,我们提出了其他几个开放的问题,并试图通过实现其他理论(如差分隐私和博弈论)来解决与它们相结合的攻击问题。

猜你喜欢

转载自blog.csdn.net/a15097745800/article/details/132693350