一种基于联盟链的可信联邦学习方法技术

技术编号:39241541 阅读:10 留言:0更新日期:2023-10-30 11:54
本发明专利技术的目的在于设计一种基于联盟链的可信联邦学习方法。首先,利用区块链解决了传统联邦学习中单点故障的问题;其次,通过使用梯度压缩减少了通信压力,并且上传压缩后的梯度可以防止成员推理攻击,降低了梯度泄露的风险;然后,在聚合全局模型时根据模型质量进行参数遴选,降低了中毒攻击和低质量数据对全局模型的影响;最后,设计了一种基于双因子贡献的PBFT共识算法,在防止系统中心化的前提下能够激励优质节点参与系统训练。本发明专利技术能够提高联邦学习30%的抗中毒攻击能力,并且降低了梯度泄露的风险,提高了通信效率。提高了通信效率。提高了通信效率。

【技术实现步骤摘要】
一种基于联盟链的可信联邦学习方法


[0001]本专利技术涉及区块链
,具体为一种基于联盟链的可信联邦学习方法。

技术介绍

[0002]万物互联的时代,大数据应用存在以下两大困境:一、不同行业、不同部门之间存在壁垒,形成了所谓“数据孤岛”;二、数据安全和数据隐私无法得到保障。为了解决以上问题,谷歌公司于2016年提出了联邦学习架构,参与联邦学习的客户端无需上传本地数据,只需上传每轮训练的本地参数,通过中央服务器聚合成全局模型,各个客户端可以在不共享原始数据的情况下共同完成机器学习任务。然而,传统的联邦学习需要一个可信的第三方服务器来聚合全局模型,从而,给联邦学习系统引入了单点故障的威胁。而且,第三方服务器能够获取客户端上传的更新梯度,即使只拥有模型的梯度信息,攻击者也可以反推出部分原始数据,因此,梯度泄露也是一种威胁。最后,传统联邦学习缺乏激励机制来吸引客户端参与训练。区块链技术具有去中心化、可追溯和防篡改等特点,因此,区块链技术可以有效解决联邦学习的诸多痛点。
[0003]基于此,专利技术人在专利一种基于联盟链的可信联邦学习方法中设计了一种基于联盟链的联邦学习框架,解决了传统联邦学习单点故障,梯度泄露的问题,提高了联邦学习抵御中毒攻击的能力。

技术实现思路

[0004]本专利技术为了解决联邦学习的单点故障风险,引入区块链技术,利用区块链的分布式处理能力取代中央服务器。其次,通过梯度验证遴选满足精度要求的节点梯度进行模型训练,减少了中毒攻击对模型的威胁。然后,利用梯度压缩技术,减少联邦学习训练过程中梯度泄露的威胁,降低了通信压力。最后,提出了一种基于双因子贡献的区块链共识算法,根据贡献大小选择区块链记账节点。并利用区块链的激励机制为参与模型训练的客户端提供激励。
[0005]一种基于联盟链的可信联邦学习方法,包括以下几个步骤:
[0006](1)模型请求者进行任务初始化;
[0007](2)客户端利用本地数据在本地训练模型;
[0008](3)客户端将稀疏化的模型梯度上传阶段;
[0009](4)区块链节点验证客户端的事务;
[0010](5)区块链共识阶段选出领导人节点和共识委员会;
[0011](6)区块发布阶段,领导人节点计算本轮的训练结果后打包和发布区块;
[0012](7)客户端下载全局模型再训练阶段;
附图说明
[0013]图1为本专利技术一种基于联盟链的可信联邦学习方法的流程图。
[0014]图2为本专利技术在独立同分布情况下50个客户端节点训练时不同压缩率的结果图。
[0015]图3为本专利技术在非独立同分布情况下50个客户端节点训练时不同压缩率的结果图。
[0016]图4为本专利技术在独立同分布情况下不同中毒率和遴选率的模型损失函数结果图。
[0017]图5为本专利技术在非独立同分布情况下不同中毒率和遴选率的模型损失函数结果图。
[0018]图6为本专利技术在使用10个区块链节点时行为贡献分与区块链长度的关系图。
[0019]图7为本专利技术在使用10个区块链节点时行为完成度与打包区块次数的关系图。
[0020]图8为本专利技术在不同客户端数量参与训练时的共识时延图。
具体实施方式
[0021]为了使本专利技术的目的,技术方案和优点更加清楚,下面将结合附图和具体实施例对本专利技术作进一步的详细描述。
[0022]本专利技术涉及信息管理
,具体为一种基于联盟链的联邦学习方法。如图1所示,一种基于联盟链的联邦学习方法,包括以下步骤:
[0023](1)任务初始化:模型请求者发布任务请求,设计并初始化联邦学习模型;
[0024](2)客户端本地训练:客户端从与其绑定的共识节点下载最新的全局模型,然后用全局模型替代本地模型参数,使用本地隐私数据集进行训练。为了提高训练效率,客户端采用小批量梯度下降(Mini

Batch Gradient Descent,MBGD)进行训练,计算公式为:其中,D
b
表示小批量训练数据集,表示客户端i第k轮的模型参数,表示模型在D
b
上的梯度,η为学习率,d
n
为训练样本,表示参数为的模型在d
n
上的损失。梯度压缩能够有效防止梯度泄露,并且可以降低通信压力,提高系统整体通信效率。本方案采用梯度稀疏化来实现梯度压缩。梯度压缩的过程如下。客户端节点i完成第k轮训练后,得到本轮梯度将与残差梯度相加,即然后将累积残差的每层梯度按照绝对值大小进行排序,以压缩率C选出每层梯度的压缩阈值对于第l层网络,将绝对值小于的梯度值累积到本地残差梯度中,然后置为0,梯度稀疏化过程的公式如下:积到本地残差梯度中,然后置为0,梯度稀疏化过程的公式如下:积到本地残差梯度中,然后置为0,梯度稀疏化过程的公式如下:
[0025](3)客户端上传本地参数:训练完成后,客户端节点以交易的形式上传元数据、压缩后的本地模型梯度(1≤k≤T)至共识节点。其中,是客户端i该轮联邦学
习提交的本地模型梯度。
[0026](4)节点验证阶段:共识节点接收到客户端节点的交易后,使用客户端的公钥验证其数字签名,确认身份后转发该交易至其他区块链节点,并进行参数质量评分。
[0027](5)在接收到全部客户端交易或达到最大等待时长T
await
后,进入共识委员会节点选举阶段。选举标准为区块链节点对系统的贡献,贡献分为模型贡献和行为贡献。表示客户端i第k轮的得分,表示区块链节点j第k轮的模型贡献。模型贡献最高的几个区块链共识节点组成共识委员会。为了提高系统的稳定性,设计了节点行为贡献评估机制,由共识委员会中行为贡献最高的节点成为本轮的领导人节点。为了降低系统的中心化程度,在选举领导人节点时加入了节点冷却机制,即已经当选为领导人的节点,在之后的几轮中不能再当选为领导人节点。
[0028](6)领导人节点生成新区块:领导人节点将本轮的全部合法交易打包成新区块Block
k
,区块头中保存前一个区块的哈希值hash
k
‑1、当前区块的哈希值hash
k
、时间戳timestamp
k
、领导人的公钥、领导人的数字签名和本轮的全局梯度g
k
,区块体以Merkle树的数据结构保存全部的合法交易。为降低中毒攻击对模型的影响,计算全局梯度时以客户端得分为遴选标准,根据遴选率S选择客户端梯度进行全局梯度的聚合。经过超过三分之二共识委员会节点验证通过后,新区块将广播给其他区块链节点保存上链。
[0029](7)客户端下载区块,继续训练:接收到新区块的区块链节点将其转发给与其绑定的所有客户端节点,客户端下载后根据其中的全局梯度更新本地模型,并开始下一轮训练。
[0030]重复以上步骤,直到训练次数达到联邦学习目标训练轮数。
[0031]为了提高基于联盟链的联邦学习系统的稳定性和效率,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于联盟链的可信联邦学习方法,其特征在于,包括以下几个步骤:步骤S1、模型请求者进行联邦学习任务初始化;步骤S2、参与训练的客户端利用本地数据在本地训练模型并压缩梯度;步骤S3、客户端将稀疏化的模型梯度上传给区块链节点;步骤S4、区块链节点验证客户端的事务,并转发给其他区块链节点;步骤S5、区块链共识阶段选出领导人节点和共识委员会;步骤S6、区块发布阶段,领导人节点计算本轮的训练结果后打包和发布区块;步骤S7、客户端从区块链中下载全局模型。2.对于权利要求1所述的基于联盟链的可信联邦学习方法,其特征在于,步骤S1是任务请求者发布联邦学习任务,初始化联邦学习模型以及客户端训练的参数。3.对于权利要求1所述的基于联盟链的可信联邦学习方法,其特征在于,步骤S2是客户端从与其绑定的共识节点下载最新的全局模型,然后用全局模型替代本地模型参数,使用本地隐私数据集进行训练,并且进行梯度压缩,具体步骤如下:(1)客户端采用小批量梯度下降(Mini

Batch Gradient Descent,MBGD)进行训练,计算公式为(2)梯度压缩能够有效防止梯度泄露,并且可以降低通信压力,提高系统整体通信效率,本发明采用梯度稀疏化来实现梯度压缩,梯度压缩的过程如下:客户端节点i完成第k轮训练后,得到本轮梯度将与残差梯度相加,即然后将累积残差的每层梯度按照绝对值大小进行排序,以压缩率C选出每层梯度的压缩阈值对于第l层网络,将绝对值小于的梯度值累积...

【专利技术属性】
技术研发人员:戴欢王金鹏唐毅
申请(专利权)人:苏州和数区块链应用研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1