一种基于区块链与联邦学习的双重防御方法技术

技术编号:38428786 阅读:6 留言:0更新日期:2023-08-07 11:25
本发明专利技术公开了一种基于区块链与联邦学习的双重防御方法,包括步骤:S1,判断联邦学习过程是否达到了迭代次数或模型精确度达到设定阈值,如是,则退出该学习过程;否则,将任务信息存储;S2,训练者接收任务区块;S3,训练者使用本地数据训练本地模型;S4,训练者完成训练后将本地模型参数发送给验证者;S5,验证者接收本地模型参数,并通过共识委员会机制验证这些参数;S6,验证者将通过验证的本地模型参数打包上链;S7,任务发布者采用聚合方法形成全局模型参数;S8,根据验证者的本地模型精确度,更新共识委员会以验证下一轮模型,随后回到步骤S1。本发明专利技术使恶意节点无法对特定的聚合方法进行针对性的攻击,抵御中毒攻击。抵御中毒攻击。抵御中毒攻击。

【技术实现步骤摘要】
234

241)使用共识委员会的方法来改善该情况,通过验证节点(简称验证者)的本地模型精确度,选取提供模型精确度高的训练者形成共识委员会,让共识委员会负责验证数据与本地模型参数。该方法能在一定程度上缓解通信和资源开销问题,但仍存在问题P1:区块链的去中心化性大大减弱,而且选取共识委员会成员的过程同样需要较大通信和资源开销。
[0006]传统的聚合方法使用各训练者的本地样本数量作为聚合的权重(McMahan B, Moore E, Ramage D, et al. Communication

efficient learning of deep networks from decentralized data[C]. Artificial intelligence and statistics. PMLR, 2017: 1273

1282),因为恶意节点可以故意使用较大的数据集来增加自己的聚合权重,从而对模型产生破坏。为解决该问题,已有多项研究提出一些聚合方法,但仍存在一些不足之处。例如,Median方法(Yin D, Chen Y, Kannan R, et al. Byzantine

robust distributed learning: Towards optimal statistical rates[C]. International Conference on Machine Learning. PMLR, 2018: 5650

5659)可以排除极端本地模型参数(即恶意节点故意产生远大于或远小于正常值域的本地模型参数)的影响,但是该方法只利用了中位数而没有充分利用其他本地模型参数信息。相比之下,TrimmedMean方法(Yin D, Chen Y, Kannan R, et al. Byzantine

robust distributed learning: Towards optimal statistical rates[C]. International Conference on Machine Learning. PMLR, 2018: 5650

5659)可以摒弃极端本地模型参数后充分利用剩余本地模型参数,但是其排除极端本地模型参数的能力有限。Krum方法(Blanchard P, El Mhamdi E M, Guerraoui R, et al. Machine learning with adversaries: Byzantine tolerant gradient descent[J]. Advances in neural information processing systems, 2017, 30)可以根据本地模型参数之间在特征空间上的欧几里得距离来判断恶意本地模型参数,因为恶意节点上传的本地模型参数会远离诚实的训练者所上传的本地模型参数。然而,该方法可能会受到单个本地模型参数的影响,导致大量的本地模型参数被舍弃。综上可知,现有方法存在问题P2:攻击者可能会针对聚合方法来攻击目标模型,导致聚合方法效果大大降低。

技术实现思路

[0007]专利技术目的:本专利技术的目的是提供一种能避免恶意节点无法采用有针对性的攻击方法对模型进行攻击的基于区块链与联邦学习的双重防御方法
[0008]技术方案:本专利技术的双重防御方法,在物联网的场景下进行联邦学习并搭建模型框架,模型框架中的角色主要有任务发布者、验证者和训练者:任务发布者为联邦学习任务的发起节点;训练者为联邦学习任务的训练节点;验证者验证其他训练者发送的本地模型参数的验证节点;其特征在于,包括步骤如下: S1,判断联邦学习过程是否达到了迭代次数或模型精确度达到阈值,如果是,则退出该学习过程;否则,任务发布者上传任务区块,将任务的信息存储在该任务区块中; S2,训练者接收任务区块,该任务区块为当前最新的任务区块;S3,训练者根据任务区块上的信息,使用本地数据训练本地模型;S4,训练者完成训练后将本地模型参数发送给验证者;
S5,验证者接收到训练者的本地模型参数,并通过共识委员会机制验证这些参数;S6,验证者将通过验证的本地模型参数打包上链;S7,任务发布者从区块链上下载其他验证者提交的本地模型参数,采用HBlend聚合方法形成全局模型参数,该全局模型参数为任务发布者发布新任务的数据;S8,根据验证者的本地模型精确度,更新共识委员会供下一轮的本地模型验证使用,随后回到步骤S1。
[0009]进一步,所述模型框架中的区块链能存储多种信息,所述区块链包括:任务区块和本地模型区块; 所述任务区块和本地模型区块分别由Header和Body组成,Header包括四个字段:;当一个新区块加入时,区块链将验证新区块与之前包含区块的合法性;任务区块的Body包含模型参数,每完成一轮的模型聚合后都会生成一个该类型的新区块,为下一轮迭代提供全局模型参数; 本地模型区块的Body包含验证者、模型精确度和本地模型参数。
[0010]进一步,区块链验证新区块与之前包含区块的合法性时,新的区块必须满足以下约束:
[0011] 其中,和为前一个区块的字段,和为新来的区块中的字段。
[0012]进一步,步骤S5中,采用共识委员会机制选择验证者,验证本地模型参数的步骤如下: SB1,在联邦学习任务发布后,IOT设备参与训练任务,作为训练者,设训练者集合为,训练者; SB2,初始阶段,所有训练者都有资格成为验证者,验证者组成共识委员会;设表示第i轮共识委员会集合,;共识委员会中的验证者参与本地模型的训练和验证其他训练者发送的本地模型参数,验证者记为; SB3,将第轮验证者根据其本地模型精确度由小到大排序,得到;从每轮的共识委员会中选择本地模型验证后,在本地模型精确度低于的验证者中选择精确度最低的a个验证者放到集合中,
表示第i轮恶意节点集, 表示第i轮第a个恶意节点; ;为验证者的本地模型精确度阈值; SB4,从中去掉集合 ꢀ
中的恶意节点,得到优化后的共识委员会 : ;SB5,当 时或模型精确度达到阈值, ,转到步骤SB3, 为迭代次数的阈值;否则,结束共识委员会选举。
[0013]进一步,步骤S6中,设通过共识委员会验证的本地模型参数集合,为训练者n的参数张量;设上传这些参数的训练者集合为 ,表示P中的第n个训练者,训练者总数为,其中恶意节点数为 ,需要满足
ꢀꢀ

[0014]进一步,所述聚合方法中,在每轮聚合时需要生成一个随机数 ,第轮采用的处理方法根据
ꢀꢀ
进行选择,聚合得到全局模型参数,表达式如下:其中,表示 上第个张量元素,令 ;在聚合方法执行之前,对进行排序,得到, 为经过排序后的本地模型参数, ;表示经过排序的本地模型参数集合,;其中,表示产生一组本地模型参数的中位数,取 ꢀ
中的中位数作为聚合全局模型参数的结果 :
ꢀꢀ
表示从中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链与联邦学习的双重防御方法,在物联网的场景下进行联邦学习并搭建模型框架,模型框架中的角色主要有任务发布者、验证者和训练者:任务发布者为联邦学习任务的发起节点;训练者为联邦学习任务的训练节点;验证者验证其他训练者发送的本地模型参数的验证节点;其特征在于,包括步骤如下:S1,判断联邦学习过程是否达到了迭代次数 或模型精确度达到阈值,如果是,则退出该学习过程;否则,任务发布者上传任务区块,将任务的信息存储在该任务区块中;S2,训练者接收任务区块,该任务区块为当前最新的任务区块;S3,训练者根据任务区块上的信息,使用本地数据训练本地模型;S4,训练者完成训练后将本地模型参数发送给验证者;S5,验证者接收到训练者的本地模型参数,并通过共识委员会机制验证这些参数;S6,验证者将通过验证的本地模型参数打包上链;S7,任务发布者从区块链上下载其他验证者提交的本地模型参数,采用HBlend聚合方法形成全局模型参数,该全局模型参数为任务发布者发布新任务的数据;S8,根据验证者的本地模型精确度,更新共识委员会供下一轮的本地模型验证使用,随后回到步骤S1。2.根据权利要求1所述基于区块链与联邦学习的双重防御方法,其特征在于,所述模型框架中的区块链能存储多种信息,所述区块链包括:任务区块和本地模型区块;所述任务区块和本地模型区块分别由Header和Body组成, Header包括四个字段: ;当一个新区块加入时,区块链将验证新区块与之前包含区块的合法性;任务区块的Body包含模型参数,每完成一轮的模型聚合后都会生成一个该类型的新区块,为下一轮迭代提供全局模型参数;本地模型区块的Body包含验证者、模型精确度和本地模型参数。3.根据权利要求2所述基于区块链与联邦学习的双重防御方法,其特征在于,区块链验证新区块与之前包含区块的合法性时,新的区块必须满足以下约束:其中,和为前一个区块的字段,和 为新来的区块中的字段。4.根据权利要求1所述基于区块链与联邦学习的双重防御方法,其特征在于,步骤S5中,采用共识委员会机制选择验证者,验证本地模型参数的步骤如下:SB1,在联邦学习任务发布后,IOT设备参与训练任务,作为...

【专利技术属性】
技术研发人员:张佩云丁松刘颖徐涪雅何思开
申请(专利权)人:南京信息工程大学
类型:发明
国别省市:

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

1