System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式计算领域,具体涉及一种考虑拜占庭容错的联邦学习方法、设备与系统。
技术介绍
1、在神经网络的训练中,数据量往往起着非常重要的作用,训练用数据的多少在最后模型的准确率高低上起着关键性作用。但是在很多情况下,各个机构、组织中保存的数据类型存在着高度近似的特性,例如各个医院的看诊数据、各家无人车的驾驶数据等,但是由于数据隐私和机密安全的原因,这些数据往往不能够共享。而联邦学习的框架则是让各个分布式的节点在不交换本地数据、保障数据隐私、只分享更新模型参数的情况下,共同训练一个相同的神经网络模型,最终训练出一个基于所有节点的全局模型。除此以外,联邦学习的框架还能够应用在手机、个人电脑等边缘设备上,训练各种各样的模型,因此联邦学习拥有着美好的前景。
2、在实际场景中,联邦学习框架由于其分布式的特性,面临着来自分布式节点的干扰和攻击的问题,当联邦学习中的某个节点运行出错时,可能会传输错误的训练参数给中心节点或其他节点,当联邦学习中的某个节点被恶意攻击时,可能会传输使得模型不收敛或是收敛到无效的模型。因此,在联邦学习的框架中进行拜占庭节点的容错能够保证训练结果的正确性和可靠性。更有利于联邦学习的框架构建在多种多样的情况下。目前,多数研究联邦学习的拜占庭容错的工作都忽略了容错算法本身的算法时间复杂度,使得容错算法在大量节点的情况下有着过高的时间开销,影响整个训练过程的进行。同时,现有的大部分工作也没有考虑当拜占庭节点超过训练节点数量一半后的情况。
技术实现思路
1、专
2、技术方案:为了实现以上专利技术目的,本专利技术的技术方案如下:
3、一种考虑拜占庭容错的联邦学习方法,包括以下步骤:
4、聚合端收集符合训练目标的数据并构成一个可信数据集,并且设定初始训练参数,包括:参与训练的节点个数n,初始的模型w0,训练模型的学习率η,动量参数β,过滤参数k,总训练轮次t,容错等级参数p,同时根据参与训练的节点个数n,将参与训练的节点编号从1到n,设置每个训练节点的初始信誉分数i表示各个节点编号,i=1,2,…,n;
5、在聚合端设置好初始参数后,进入t轮的循环,在轮次t中:
6、聚合端将当前的模型wt-1发送给n个训练节点,并利用当前的模型wt-1与自身维护的可信数据集计算出一个聚合端的参考梯度g0;
7、聚合端在接收到各个训练节点发送来的梯度gi后,对梯度gi与参考梯度g0进行比较,将梯度与参考梯度相差超过指定阈值的节点排除出本轮的聚合,利用容错参数p计算其余节点的本轮信誉分数ri=(1/||gi-g0||)p,根据历史信息计算出最终各个节点的全局信誉分数
8、聚合端利用计算出的最终节点全局信誉分数,结合参考梯度进行模型的加权聚合;
9、重复执行上述步骤直至达到最大循环轮次,训练结束,输出最终轮次更新后得到的模型。
10、进一步地,梯度与参考梯度相差超过指定阈值表示为:
11、||gi-g0||>k||g0||
12、其中,||·||表示欧氏距离。
13、进一步地,聚合端计算出节点i的本轮信誉分数ri后,对其进行归一化:利用归一化后的ri进行全局信誉分数的更新。
14、进一步地,聚合端结合参考梯度进行模型的加权聚合如下:
15、
16、其中为参与本轮训练的节点集合。
17、一种联邦学习的聚合端装置,所述装置包括:
18、数据准备和初始化模块,收集符合训练目标的数据并构成一个可信数据集,并且设定初始训练参数,包括:参与训练的节点个数n,初始的模型w0,训练模型的学习率η,动量参数β,过滤参数k,总训练轮次t,容错等级参数p,同时根据参与训练的节点个数n,将参与训练的节点编号从1到n,设置每个训练节点的初始信誉分数i表示各个节点编号,i=1,2,…,n;
19、循环控制模块,在设置好初始参数后,进入t轮的循环,在轮次t中,将当前的模型wt-1发送给n个训练节点,并调用执行参考梯度计算模块、信誉分数更新模块、模型更新模块的操作,直至达到最大训练轮次:
20、参考梯度计算模块,利用当前的模型wt-1与自身维护的可信数据集计算出一个聚合端的参考梯度g0;
21、信誉分数更新模块,在接收到各个训练节点发送来的梯度gi后,对梯度gi与参考梯度g0进行比较,将梯度与参考梯度相差超过指定阈值的节点排除出本轮的聚合,利用容错参数p计算其余节点的本轮信誉分数ri=(1/||gi-g0||)p,根据历史信息计算出最终各个节点的全局信誉分数
22、模型更新模块,利用计算出的最终节点全局信誉分数,结合参考梯度进行模型的加权聚合;
23、模型输出模块,输出最终轮次更新后得到的模型。
24、一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如上的考虑拜占庭容错的联邦学习方法的步骤。
25、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的考虑拜占庭容错的联邦学习方法的步骤。
26、一种联邦学习系统,包括聚合端和若干参与训练的节点,所述聚合端和所述节点通过联邦学习合作训练模型,其中,所述聚合端被配置为执行如上所述的考虑拜占庭容错的联邦学习方法,所述节点在接收到了聚合端发送过来的模型后,利用接收到的模型和训练节点自身的本地数据集计算得到更新梯度gi并发送给聚合端。
27、有益效果:本专利技术面向拜占庭节点个数未知的联邦学习场景,考虑在聚合端维护一个可信的数据集用于衡量每个参与节点的可信程度,并且在衡量的过程中考虑各个节点在每一轮的表现,通过可信数据和历史信息衡量每个训练节点,能够在与不容错的联邦平均算法同样算法时间复杂度的情况下,容错任意个数的拜占庭节点。同时本专利技术的衡量方法是基于欧氏距离的,有着较低的时间复杂度,不会过度影响到聚合的时间开销。
本文档来自技高网...【技术保护点】
1.一种考虑拜占庭容错的联邦学习方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,梯度与参考梯度相差超过指定阈值表示为:
3.根据权利要求1所述的方法,其特征在于,聚合端计算出节点i的本轮信誉分数ri后,对其进行归一化:利用归一化后的ri进行全局信誉分数的更新。
4.根据权利要求1所述的方法,其特征在于,聚合端结合参考梯度进行模型的加权聚合如下:
5.一种联邦学习的聚合端装置,其特征在于,所述装置包括:
6.根据权利要求5所述的装置,其特征在于,梯度与参考梯度相差超过指定阈值表示为:
7.根据权利要求5所述的装置,其特征在于,模型更新模块结合参考梯度进行模型的加权聚合如下:
8.一种计算机设备,其特征在于,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如权利要求1-4中任一项所述的考虑拜占庭容错的联邦学习方法的步骤。
9.一种计算机可读存储介质,
10.一种联邦学习系统,其特征在于,包括聚合端和若干参与训练的节点,所述聚合端和所述节点通过联邦学习合作训练模型,其中,所述聚合端被配置为执行如权利要求1-4中任一项所述的考虑拜占庭容错的联邦学习方法,所述节点在接收到了聚合端发送过来的模型后,利用接收到的模型和训练节点自身的本地数据集计算得到更新梯度gi并发送给聚合端。
...【技术特征摘要】
1.一种考虑拜占庭容错的联邦学习方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,梯度与参考梯度相差超过指定阈值表示为:
3.根据权利要求1所述的方法,其特征在于,聚合端计算出节点i的本轮信誉分数ri后,对其进行归一化:利用归一化后的ri进行全局信誉分数的更新。
4.根据权利要求1所述的方法,其特征在于,聚合端结合参考梯度进行模型的加权聚合如下:
5.一种联邦学习的聚合端装置,其特征在于,所述装置包括:
6.根据权利要求5所述的装置,其特征在于,梯度与参考梯度相差超过指定阈值表示为:
7.根据权利要求5所述的装置,其特征在于,模型更新模块结合参考梯度进行模型的加权聚合如下:
8.一种计算机设备,其特征在于,包括:一...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。