一种基于有向无环图的去中心化异步联邦学习方法
未命名
07-13
阅读:117
评论:0

1.本发明属于联邦学习技术领域,具体涉及一种基于有向无环图的去中心化异步联邦学习方法。
背景技术:
2.在目前的联邦学习技术中,各客户端进行联邦学习,并训练自己的模型,根据这些模型要得到新的聚合模型时需要等待服务器进行聚合,效率不高。同时在传统的联邦学习中如果有客户端恶意地上传表现效果差的模型来破坏最终的全局模型,并不会受到任何惩罚,而且全局模型会因为聚合恶意节点的模型而无法收敛。因此,针对这一问题,本发明提出了一种基于有向无环图的去中心化异步联邦学习方法,依靠底层区块链来提供去中心化的可信环境,智能合约利用区块链的不可篡改性和可验证性,为全局有向无环图提供了信任基础和安全保障,全局有向无环图提供可靠的训练模型,客户端无需等待便可以聚合新的模型,同时有效避免了恶意客户端对全局模型的攻击。
技术实现要素:
3.本发明的目的是为了;联邦学习中客户端等待服务器聚合模型以及存在恶意客户端的问题,提出了一种基于有向无环图的去中心化异步联邦学习方法。有向无环图,也叫有向无环图,当一个有向图无法从某个顶点出发经过若干条边回到该点时,该有向图即为有向无环图;去中心化是指没有中心服务器用于联邦学习的管理;异步是指各客户端无需同时等待服务器的模型聚合,可自行根据本地有向无环图进行模型聚合。
4.本发明的技术方案是:一种基于有向无环图的去中心化异步联邦学习方法,包括以下步骤:
5.s1、在智能合约中初始化全局有向无环图和联邦学习训练相关参数,如批大小b、学习率η、迭代次数e等;此处的智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,它允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转;批大小b是指在深度学习中每次训练在训练集中一次性取来用于样本训练的样本数;迭代次数e表示使用b个样本训练的次数;学习率η决定了每步模型参数的更新中,模型参数有多大程度的调整;
6.s2、各客户端使用基于累计权重的随机游走算法从全局有向无环图中选取k个未验证节点,k是开始联邦学习之前商定的参数;此处的客户端是指参与联邦学习任务的数据拥有者;未验证节点是指其属性中包含的客户端签名和权重还没有被验证是否合法的节点;
7.s3、各客户端验证共识层所选取的k个未验证节点,若验证不通过则从全局有向无环图中重新获取未验证节点;
8.s4、各客户端从验证通过的节点中提取模型,然后聚合这些模型为一个新的模型,之后在聚合的新模型基础上继续进行若干轮训练;此处的模型是指进行联邦学习训练所使
用的模型,聚合模型是指将许多模型聚合在一起,从而使其分类性能更佳;
9.s5、新模型训练完成后,生成新节点,并将客户端本地有向无环图结构更新到全局有向无环图,重复s2-s5,直到联邦学习任务完成;本地有向无环图是指存储在客户端本地上的有向无环图结构;
10.s6、联邦学习任务完成后,将全局有向无环图存储在智能合约中,智能合约根据各客户端的贡献发放奖励。
11.进一步地,步骤s1中的全局有向无环图是一种特殊的有向无环图,具有以下特征:
12.每个节点都由参与联邦学习的客户端上传,在上传时会指定节点中属性的初始值,节点之间由有向边连接;
13.节点的属性值包括:所有者,上传节点的客户端签名;父节点,该节点有向边指向的节点的集合;子节点,有向边指向该节点的节点集合;模型,该节点所存储的模型参数;权重,该节点在图中的重要程度;累计权重,该节点的权重加上子节点的累计权重之和;
14.权重定义为该节点的模型在测试集上的准确率与父节点的模型在测试集上准确率的差值,若不止一个父节点,则将差值取平均,具体计算公式为:
[0015][0016]
其中i表示当前节点的编号,wi表示当前节点的权重,n表示父节点的数量,j表示父节点的编号,acci和accj分别表示当前节点和父节点中的模型在测试集上的准确率,一个节点中的模型在测试集上的准确率相较于父节点的提升,体现了这个节点在此次联邦学习中所做的贡献,也表示这个节点上传时在图中的重要程度;
[0017]
累计权重的值通过该节点的权重加上所有子节点的累计权重来计算,具体计算公式为:
[0018][0019]
其中i表示当前节点的编号,cwi表示当前节点的累计权重,wi表示当前节点的权重,m表示子节点的数量,j表示子节点的编号,cwj表示子节点的累计权重,权重仅能代表节点在上传时所做的贡献,而累计权重能表示节点在整张图中对后面节点所提供的价值。
[0020]
进一步地,步骤s2所述的基于累计权重的随机游走算法具有以下特征:
[0021]
从最原始的节点开始,根据以下公式随机游走到本节点中的任意子节点,直至游走到未验证节点,也就是没有子节点的节点:
[0022][0023]
其中p
xy
表示从节点x游走到节点y的概率,z∶z
→
x表示指向节点x的子节点,cw
x
、cwy和cwz都表示对应节点的累计权重。从公式中可看出,当参数β=0时,m为子节点的数量;当参数β
→
∞时,此时没有随机性,每次只游走到累计权重最大的子节点;当参数β=1时,就是按照累计权重进行加权随机游走。
[0024]
进一步地,步骤s3包括以下子步骤:
[0025]
s31、首先验证客户端签名,确认当前节点确实是由在属性中签名的客户端上传的;
[0026]
s32、然后验证权重,确认节点中存储的模型在测试集上能达到属性中的正确率;
[0027]
s33、最后如果以上两步任意一步验证失败,则客户端从全局有向无环图中重新获取其他未验证节点进行验证。
[0028]
进一步地,步骤s4中聚合模型之后产生的新模型的权重由以下公式计算:
[0029][0030]
其中权重ni按照节点所有者的数据集大小来决定,ωi为被聚合的各模型所占的权重,ω
new
即为以后该模型聚合为新模型时所占的权重。在聚合后新模型上进行若干轮训练的基本过程是:各客户端将自己的数据集输入新模型后得到输出;计算损失函数;使用优化器来更新模型参数,使损失函数能够朝着最小值的方向变化;若干轮训练的目的就是使得损失函数最小;此处的损失函数是指模型的预测值和真实值之间的差异,即模型的误差;此处的优化器是指用来更新模型参数,使得损失函数最小的算法。
附图说明
[0031]
图1为本发明的方法流程图。
具体实施方式
[0032]
下面结合附图对本发明的实施例作进一步的说明。
[0033]
如图1所示,本发明提供了一种基于有向无环图的去中心化异步联邦学习方法,包括以下步骤:
[0034]
s1、在智能合约中初始化全局有向无环图和联邦学习训练相关参数,如批大小b、学习率η、迭代次数e等;此处的智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,它允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转;批大小b是指在深度学习中每次训练在训练集中一次性取来用于样本训练的样本数;迭代次数e表示使用b个样本训练的次数;学习率η决定了每步模型参数的更新中,模型参数有多大程度的调整;
[0035]
s2、各客户端使用基于累计权重的随机游走算法从全局有向无环图中选取k个未验证节点,k是开始联邦学习之前商定的参数;此处的客户端是指参与联邦学习任务的数据拥有者;未验证节点是指其属性中包含的客户端签名和权重还没有被验证是否合法的节点;
[0036]
s3、各客户端验证共识层所选取的k个未验证节点,若验证不通过则从全局有向无环图中重新获取未验证节点;
[0037]
s4、各客户端从验证通过的节点中提取模型,然后聚合这些模型为一个新的模型,之后在聚合的新模型基础上继续进行若干轮训练;此处的模型是指进行联邦学习训练所使用的模型,聚合模型是指将许多模型聚合在一起,从而使其分类性能更佳;
[0038]
s5、新模型训练完成后,生成新节点,并将客户端本地有向无环图结构更新到全局有向无环图,重复s2-s5,直到联邦学习任务完成;本地有向无环图是指存储在客户端本地上的有向无环图结构;
[0039]
s6、联邦学习任务完成后,将全局有向无环图存储在智能合约中,智能合约根据各客户端的贡献发放奖励。
[0040]
在本发明实施例中,步骤s1中的全局有向无环图是一种特殊的有向无环图,具有以下特征:
[0041]
每个节点都由参与联邦学习的客户端上传,在上传时会指定节点中属性的初始值,节点之间由有向边连接;
[0042]
节点的属性值包括:所有者,上传节点的客户端签名;父节点,该节点有向边指向的节点的集合;子节点,有向边指向该节点的节点集合;模型,该节点所存储的模型参数;权重,该节点在图中的重要程度;累计权重,该节点的权重加上子节点的累计权重之和;
[0043]
权重定义为该节点的模型在测试集上的准确率与父节点的模型在测试集上准确率的差值,若不止一个父节点,则将差值取平均,具体计算公式为:
[0044][0045]
其中i表示当前节点的编号,wi表示当前节点的权重,n表示父节点的数量,j表示父节点的编号,acci和accj分别表示当前节点和父节点中的模型在测试集上的准确率,一个节点中的模型在测试集上的准确率相较于父节点的提升,体现了这个节点在此次联邦学习中所做的贡献,也表示这个节点上传时在图中的重要程度;
[0046]
累计权重的值通过该节点的权重加上所有子节点的累计权重来计算,具体计算公式为:
[0047][0048]
其中i表示当前节点的编号,cwi表示当前节点的累计权重,wi表示当前节点的权重,m表示子节点的数量,j表示子节点的编号,cwj表示子节点的累计权重,权重仅能代表节点在上传时所做的贡献,而累计权重能表示节点在整张图中对后面节点所提供的价值。
[0049]
在本发明实施例中步骤s2所述的基于累计权重的随机游走算法具有以下特征:
[0050]
从最原始的节点开始,根据以下公式随机游走到本节点中的任意子节点,直至游走到未验证节点,也就是没有子节点的节点:
[0051][0052]
其中p
xy
表示从节点x游走到节点y的概率,z∶z
→
x表示指向节点x的子节点,cw
x
、cwy和cwz都表示对应节点的累计权重。从公式中可看出,当参数β=0时,m为子节点的数量;当参数β
→
∞时,此时没有随机性,每次只游走到累计权重最大的子节点;当参数β=1时,就是按照累计权重进行加权随机游走。
[0053]
在本发明实施例中,步骤s3包括以下子步骤:
[0054]
s31、首先验证客户端签名,确认当前节点确实是由在属性中签名的客户端上传的;
[0055]
s32、然后验证权重,确认节点中存储的模型在测试集上能达到属性中的正确率;
[0056]
s33、最后如果以上两步任意一步验证失败,则客户端从全局有向无环图中重新获取其他未验证节点进行验证。
[0057]
在本发明实施例中,步骤s4中聚合模型之后产生的新模型的权重由以下公式计算:
[0058][0059]
其中权重ni按照节点所有者的数据集大小来决定,ωi为被聚合的各模型所占的权重,ω
new
即为以后该模型聚合为新模型时所占的权重。在聚合后新模型上进行若干轮训练的基本过程是:各客户端将自己的数据集输入新模型后得到输出;计算损失函数;使用优化器来更新模型参数,使损失函数能够朝着最小值的方向变化;若干轮训练的目的就是使得损失函数最小;此处的损失函数是指模型的预测值和真实值之间的差异,即模型的误差;此处的优化器是指用来更新模型参数,使得损失函数最小的算法。
[0060]
本发明的工作原理及过程为:步骤一,在本发明中,首先执行智能合约,初始化全局有向无环图和联邦学习训练相关参数;步骤二,各客户端使用基于累计权重的随机游走算法从全局有向无环图中选取k个未验证节点,k是开始联邦学习之前商定的参数;步骤三,客户端验证这k个未验证节点,若验证不通过则重新获取未验证节点;步骤四,各客户端从验证通过的节点中提取模型,然后聚合这些模型为一个新的模型,之后在聚合的新模型基础上继续进行若干轮训练;步骤五,新模型训练完成后,生成新节点,并将客户端本地有向无环图机构更新到全局有向无环图,重复执行步骤二到步骤五,直至联邦学习任务完成;步骤六,将全局有向无环图存储在智能合约中,智能合约根据各客户端的贡献发放奖励。
[0061]
本发明的有益效果为:本发明依靠底层区块链来提供去中心化的可信环境,智能合约利用区块链的不可篡改性和可验证性,为全局有向无环图提供了信任基础和安全保障,全局有向无环图提供可靠的训练模型,客户端无需等待便可以聚合新的模型,同时有效避免了恶意客户端对全局模型的攻击,实现了去中心化的异步联邦学习。
[0062]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
技术特征:
1.一种基于有向无环图的去中心化异步联邦学习方法,其特征在于,包括以下步骤:s1、在智能合约中初始化全局有向无环图和联邦学习训练相关参数;s2、各客户端使用基于累计权重的随机游走算法从全局有向无环图中选取k个未验证节点,k是开始联邦学习之前商定的参数;s3、各客户端验证共识层所选取的k个未验证节点,若验证不通过则从全局有向无环图中重新获取未验证节点;s4、各客户端从验证通过的节点中提取模型,然后聚合这些模型为一个新的模型,之后在聚合的新模型基础上继续进行若干轮训练;s5、新模型训练完成后,生成新节点,并将客户端本地有向无环图结构更新到全局有向无环图,重复s2-s5,直到联邦学习任务完成;s6、联邦学习任务完成后,将全局有向无环图存储在智能合约中,智能合约根据各客户端的贡献发放奖励。2.根据权利要求1所述的基于有向无环图的去中心化异步联邦学习方法,其特征在于,所述步骤s1中的全局有向无环图具有以下特征:每个节点都由参与联邦学习的客户端上传,在上传时会指定节点中属性的初始值,节点之间由有向边连接;节点的属性值包括:所有者,上传节点的客户端签名;父节点,该节点有向边指向的节点的集合;子节点,有向边指向该节点的节点集合;模型,该节点所存储的模型参数;权重,该节点在图中的重要程度;累计权重,该节点的权重加上子节点的累计权重之和;权重定义为该节点的模型在测试集上的准确率与父节点的模型在测试集上准确率的差值,若不止一个父节点,则将差值取平均,具体计算公式为:其中i表示当前节点的编号,w
i
表示当前节点的权重,n表示父节点的数量,j表示父节点的编号,acc
i
和acc
j
分别表示当前节点和父节点中的模型在测试集上的准确率,一个节点中的模型在测试集上的准确率相较于父节点的提升,体现了这个节点在此次联邦学习中所做的贡献,也表示这个节点上传时在图中的重要程度;累计权重的值通过该节点的权重加上所有子节点的累计权重来计算,具体计算公式为:其中i表示当前节点的编号,cw
i
表示当前节点的累计权重,w
i
表示当前节点的权重,m表示子节点的数量,j表示子节点的编号,cw
j
表示子节点的累计权重,权重仅能代表节点在上传时所做的贡献,而累计权重能表示节点在整张图中对后面节点所提供的价值。3.根据权利要求1所述的基于有向无环图的去中心化异步联邦学习方法,其特征在于,所述步骤s2中的基于累计权重的随机游走算法是根据累计权重来随机选取未验证节点,具有以下特征:
从最原始的节点开始,根据以下公式随机游走到本节点中的任意子节点,直至游走到未验证节点,也就是没有子节点的节点:其中p
xy
表示从节点x游走到节点y的概率,z:z
→
x表示指向节点x的子节点,cw
x
、cw
y
和cw
z
都表示对应节点的累计权重。从公式中可看出,当参数β=0时,m为子节点的数量;当参数β
→
∞时,此时没有随机性,每次只游走到累计权重最大的子节点;当参数β=1时,就是按照累计权重进行加权随机游走。4.根据权利要求1所述的基于有向无环图的去中心化异步联邦学习方法,其特征在于,所述步骤s3包括以下子步骤:s31、首先验证客户端签名,确认当前节点确实是由在属性中签名的客户端上传的;s32、然后验证权重,确认节点中存储的模型在测试集上能达到属性中的正确率;s33、最后如果以上两步任意一步验证失败,则客户端从全局有向无环图中重新获取其他未验证节点进行验证。5.根据权利要求1所述的基于有向无环图的去中心化异步联邦学习方法,其特征在于,所述步骤s4中聚合模型之后产生的新模型的权重由以下公式计算:其中权重n
i
按照节点所有者的数据集大小来决定,ω
i
为被聚合的各模型所占的权重,ω
new
即为以后该模型聚合为新模型时所占的权重。
技术总结
本发明提供了一种基于有向无环图的去中心化异步联邦学习方法,包括以下步骤:S1:在智能合约中初始化全局有向无环图和联邦学习训练相关参数;S2:各客户端使用基于累计权重的随机游走算法从全局有向无环图中选取k个未验证节点,k是开始联邦学习之前商定的参数;S3:各客户端验证共识层所选取的k个未验证节点,若验证不通过则从全局有向无环图中重新获取未验证节点;S4:各客户端从验证通过的节点中提取模型,然后聚合这些模型为一个新的模型,之后在聚合的新模型基础上继续进行若干轮训练;S5:新模型训练完成后,生成新节点,并将客户端本地有向无环图结构更新到全局有向无环图,重复S2-S5,直到联邦学习任务完成;S6:联邦学习任务完成后,将全局有向无环图存储在智能合约中,智能合约根据各客户端的贡献发放奖励;该发明与传统联邦学习相比,每个客户端可以异步获取模型,无需等待服务器的聚合,弥补了不同客户端的算力差异,并且由于有验证节点的步骤,避免了恶意节点对全局模型的攻击,提高了性能。高了性能。高了性能。
技术研发人员:武畅 俞浩然 黄宇航 张颖 魏学麟 刘思言
受保护的技术使用者:电子科技大学
技术研发日:2023.04.24
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/