区块链&联邦学习

区块链&联邦学习

2020-CCCF-张彦、卢云龙、黄小红-区块链与联邦学习:融合与互补

联邦学习

传统的机器学习将数据集中到服务端,依赖于一个中心化的数据集通过运行机器学习算法训练相应的模型。当前,随着用户对隐私保护的重视,此类算法面临着巨大的隐私挑战。

联邦学习通过将训练任务下放到用户侧,仅将训练得到的模型参数结果发给服务端,从而使数据保持在本地,保证了用户数据的隐私。

区块链&联邦学习_第1张图片

联邦学习过程

  • 联邦学习中存在用户与服务端两个角色。

  • 在初始阶段,服务器会依据计算任务,下发将要学习的模型。

  • 在每个参与用户端,用户基于其本地学习模型。通常采用基于数据来训练指定的机器学二梯度的算法训练本地模型参数。

  • 在服务端,服务器会收集用户训练的模型参数,并将这些参数做聚合,对整体模型的参数进行更新。

区块链&联邦学习结合

区块链&联邦学习_第2张图片

架构

该架构主要分为用户层和边缘服务层。

用户主要由物联网设备、移动终端等构成 ;服务端主要由配备有移动边缘计算 (Mobile Edge Computing, MEC) 服务器、具备一定存储与计算能力的基站构成。

该架构依据功能可以划分为联邦学习和区块链两个模块。其中,联邦学习本地训练运行在用户侧,依据用户侧的数据学习本地模型参数。

区块链则运行在边缘服务侧,接收并存储联邦学习的模型参数,并通过共识协议对参数进行认证。

整体流程

  1. 用户本地训练。参与的用户在本地依据所持有的数据,通过基于梯度下降的算法,寻找模型参数,使损
    失函数最小化。
  2. 服务端参数收集。用户训练的模型参数,通过无线网络传输至边缘服务层,基站收集来自各个用户的参
    数,并以交易的形式存储在各区块链节点。
  3. 产生交易区块。各参与节点收集来自用户层的交易(模型参数),并通过加密签名,打包进区块。节点间通过运行共识机制,决定出块权所属。获得出块权的节点,将区块广播至全网,认证通过后加入区块链。
  4. 模型聚合。位于边缘服务层的聚合节点依据区块链上的记录,聚合模型参数,并更新整体的模型。进一步,将该模型下发至各参与用户,从而开始新一轮的训练学习。

PoQ共识

提出基于训练参数质量的共识机制 (Proof of Training Quality, PoQ)。PoQ 的基本思想是,将 PoW无意义地寻找随机数的计算工作,替换为对模型参数准确率进行认证的工作。为此,我们利用平均绝对误差 (Mean Absolute Error,MAE) 来衡量训练所得模型的质量 :

image-20210116161756571

其中,mi 为训练所得的模型,yi-f(xi) 为模型预测值与真实值的差值。

在每一轮训练中,我们会随机选择一部分节点作为认证节点,并从认证节点中依据历史训练表现(累积被认证的 MAE 值)附加部分随机因子,推选一个领导节点。与传统区块链类似,每个训练的模型存储为一条“交易”,并被打包进区块。认证节点依据其本地的数据,对训练的模型(即交易)进行验证。验证的过程是计算模型在认证节点数据上的 MAE 值,并将结果返回给领导节点。如果 MAE值在一个规定的阈值范围内,则认为该模型结果是有效的。领导节点综合各认证节点返回的结果,决定交易区块是否有效

完整的基于训练质量的共识机制 PoQ 过程如下 :

  1. 从所有的参与节点中随机选择一部分认证节点。
  2. 依据历史表现及部分随机因素,推选出一个领导节点,负责收集打包交易,并向其他节点广播
    区块。
  3. 认证节点采用 PoQ 认证交易(模型参数),并将认证的结果返回给领导节点。
  4. 领导节点统计返回的认证结果,并依据综合认证结果,确定区块的合法性。

区块链与联邦学习其他结合

(1)区块链提供可信身份认证机制

通过区块链的授权机制、身份管理等,可以将互不可信的用户作为参与方整合到一起,建立一个安全可信的合作机制。

(2)区块链提供可信存储机制

联邦学习的模型参数可以存储在区块链中,保证了模型参数的安全性与可靠性。例如,在多个参与方进行联邦学习的同时,部署区块链用于记录联邦学习的数据指纹(包括建模样本、推理样本、交互信息),而对应的原始数据存储于参与方本地。当发现有样本遭受恶意攻击时,由各参与方或者第三方组成调查组,依据区块链记录的指纹对原始数据进行核验,便可以找出具体是哪一方遭受了攻击,进而采取相应的措施。

(3)区块链提供数据安全共享机制

通过区块链的分布式账本特性,天然保证了联邦学习中多个参与方之间的模型参数数据一致性、模型参数数据同步与共享是安全的、可信的,保证交互的模型参数数据透明、可追溯、防篡改防伪造。

(4)区块链提供可信的贡献激励评估机制

联邦学习过程中,越多的参与方加入,越能体现数据结果的准确性。在模型训练完成后,根据本次训练过程中各参与者提供的训练数据的数量和质量发放奖励资源,并将奖励资源写入区块链中,利用区块链的公开透明特性,引入更多的参与方加入、同时提升参与方的配合程度。例如,在多个参与方进行联邦推理的同时,部署区块链用于记录用户服务的接口调用日志指纹、各参与方的贡献、该服务所产生的收益,并通过智能合约自动将收益分配给各参与方。这种方式与现有的按条计费不同,可以更精准地评估每次调用的质量,从而激励参与方确保调用的准确性,并积极优化效果

通过智能合约自动将收益分配给各参与方。这种方式与现有的按条计费不同,可以更精准地评估每次调用的质量,从而激励参与方确保调用的准确性,并积极优化效果

你可能感兴趣的:(区块链,区块链)