一种适用于联邦学习的树状广播数据同步算法

文档序号:30831309发布日期:2022-07-22 21:31阅读:202来源:国知局
一种适用于联邦学习的树状广播数据同步算法

1.本发明属于人工智能技术领域,具体涉及一种适用于联邦学习的树状广播数据同步算法。


背景技术:

2.在传统的联邦学习的模型同步过程中,中央服务端需要每轮向所有的参与方客户端发送模型文件,当参与方数量增多时,所表现出的缺点包括:1、模型文件同步时间骤增;2、中央服务端带宽压力大大提高;3、由于联邦学习过程往往需要大量的客户端参与,现有的模型同步方法不利于规模拓展。


技术实现要素:

3.针对现有技术存在的不足,本发明提出了能够在多节点状态下使联邦学习数据同步时间短并且带宽占用稳定,提高联邦学习参与方规模的可拓展性和模型训练效率的一种适用于联邦学习的树状广播数据同步算法。
4.本发明提供一种适用于联邦学习的树状广播数据同步算法包括如下步骤:
5.s1:中央服务端选择若干参与训练的客户端,所述中央服务端生成服务端信息,所述中央服务端将所有的所述客户端排列成完全二叉树,所述中央服务端位于根节点,所述客户端分别位于子节点和叶子节点;
6.s2:所述中央服务端将第一全局模型文件拆分成若干种子文件,并计算所述第一全局模型文件的第一哈希值和不同的所述子文件对应的第二哈希值;
7.s3:所述中央服务端生成公钥信息和私钥信息,将所述公钥信息分发给所有的所述客户端,所述客户端保存所述公钥信息;
8.s4:所述中央服务端将所述服务端信息、所述第一哈希值和所述第二哈希值进行拼接,形成迭代配置文件,并计算所述迭代配置文件的第三哈希值,最后使用所述私钥信息对所述迭代配置文件进行签名,形成签名结果,将所述签名结果和所述迭代配置文件发送给所有的所述客户端,所述客户端对所述签名结果和所述迭代配置文件进行对比验证,并生成验证结果,验证通过后保存到本地;
9.s5:所述中央服务端查询自身的所述服务端信息,并向所述子节点处的所述客户端逐次发送所有的所述子文件,所述子节点处的所述客户端接收所述子文件后,所述子节点处的所述客户端计算所述子文件的第四哈希值,并将所述第四哈希值与所述第三哈希值进行对比验证,如果不同,则向中央服务端发送错误反馈,如果相同,则所述子节点处的所述客户端查询自身的所述服务端信息,并将所述子文件发送给下一个所述子节点处的所述客户端,同步接收自身的父节点处的所述客户端发送的下一个所述子文件,所述子节点处的所述客户端依次对所述第四哈希值与所述第三哈希值进行对比验证,如果不同,则向中央服务端发送错误反馈,如果相同,则将所述子文件发送给下一个所述子节点处的所述客户端,直至所述叶子节点处的所述客户端接收到所述子文件;
10.s6:所有的所述叶子节点处的所述客户端将接收的所述子文件进行组合得到当前迭代轮次的第二全局模型文件,并计算所述第二全局模型文件的第五哈希值,将所述第五哈希值与所述第一哈希值进行对比,如果相同,则当前迭代轮次所述第一全局模型文件同步结束,如果不同,则重复s5,直至所有的所述叶子节点处的所述客户端完成接收所有的所述子文件。
11.优选的,所述s1中,所述服务端信息包括树结构体信息和迭代轮次信息,所述树结构体信息由若干不同的节点信息组成,所述节点信息包括客户端数据接收地址、客户端唯一标识、客户端左子节点标识和客户端右子节点标识。
12.优选的,所述s2中,所述第一哈希值和所述第二哈希值的计算可采用任何哈希计算方法。
13.优选的,所述s3中,所述中央服务端仅在训练初始阶段以及有新的所述客户端加入时分发所述公钥信息。
14.优选的,所述s4中,可采用任何非对称加密算法对所述私钥信息进行签名。
15.优选的,所述s4中,所述迭代配置文件为json格式。
16.优选的,所述s4中,所述验证结果为所述客户端使用所述公钥信息对所述签名结果进行解密,生成第五哈希值,将所述第五哈希值与所述第三哈希值对比,若相同,则验证通过,若不相同,则验证不通过。
17.优选的,所述s5中,所述中央服务端查询所述节点信息,所述子节点处的所述客户端查询自身的所述节点信息。
18.本发明的有益效果在于:
19.本发明一种适用于联邦学习的树状广播数据同步算法,通过完全二叉树构建、模型文件拆分、哈希值计算以及签名和子文件树形广播同步等多个过程,保证文件同步准确性和安全性的同时极大的降低了联邦学习模型训练过程中文件同步时间较长的问题,并使得带宽占用更加稳定,提高联邦学习参与方规模的可拓展性和模型训练效率。
附图说明
20.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的优选实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明一种适用于联邦学习的树状广播数据同步算法的流程图;
22.图2为本发明一种适用于联邦学习的树状广播数据同步算法的同步过程状态图;
具体实施方式
23.为了更好理解本发明技术内容,下面提供具体实施例,并结合附图对本发明做进一步的说明。
24.参见图1至图2,本发明一种适用于联邦学习的树状广播数据同步算法,包括如下步骤:
25.s1:中央服务端选择若干参与训练的客户端,所述中央服务端生成服务端信息,所
述中央服务端将所有的所述客户端排列成完全二叉树,所述中央服务端位于根节点,所述客户端分别位于子节点和叶子节点;
26.s2:所述中央服务端将第一全局模型文件拆分成若干种子文件,并计算所述第一全局模型文件的第一哈希值和不同的所述子文件对应的第二哈希值;
27.s3:所述中央服务端生成公钥信息和私钥信息,将所述公钥信息分发给所有的所述客户端,所述客户端保存所述公钥信息;
28.s4:所述中央服务端将所述服务端信息、所述第一哈希值和所述第二哈希值进行拼接,形成迭代配置文件,并计算所述迭代配置文件的第三哈希值,最后使用所述私钥信息对所述迭代配置文件进行签名,形成签名结果,将所述签名结果和所述迭代配置文件发送给所有的所述客户端,所述客户端对所述签名结果和所述迭代配置文件进行对比验证,并生成验证结果,验证通过后保存到本地;
29.s5:所述中央服务端查询自身的所述服务端信息,并向所述子节点处的所述客户端逐次发送所有的所述子文件,所述子节点处的所述客户端接收所述子文件后,所述子节点处的所述客户端计算所述子文件的第四哈希值,并将所述第四哈希值与所述第三哈希值进行对比验证,如果不同,则向中央服务端发送错误反馈,如果相同,则所述子节点处的所述客户端查询自身的所述服务端信息,并将所述子文件发送给下一个所述子节点处的所述客户端,同步接收自身的父节点处的所述客户端发送的下一个所述子文件,所述子节点处的所述客户端依次对所述第四哈希值与所述第三哈希值进行对比验证,如果不同,则向中央服务端发送错误反馈,如果相同,则将所述子文件发送给下一个所述子节点处的所述客户端,直至所述叶子节点处的所述客户端接收到所述子文件;
30.s6:所有的所述叶子节点处的所述客户端将接收的所述子文件进行组合得到当前迭代轮次的第二全局模型文件,并计算所述第二全局模型文件的第五哈希值,将所述第五哈希值与所述第一哈希值进行对比,如果相同,则当前迭代轮次所述第一全局模型文件同步结束,如果不同,则重复s5,直至所有的所述叶子节点处的所述客户端完成接收所有的所述子文件。
31.具体的,所述s1中,所述服务端信息包括树结构体信息和迭代轮次信息,所述树结构体信息由若干不同的节点信息组成,所述节点信息包括客户端数据接收地址、客户端唯一标识、客户端左子节点标识和客户端右子节点标识。
32.具体的,所述s2中,所述第一哈希值和所述第二哈希值的计算可采用任何哈希计算方法。
33.具体的,所述s3中,所述中央服务端仅在训练初始阶段以及有新的所述客户端加入时分发所述公钥信息。
34.具体的,所述s4中,可采用任何非对称加密算法对所述私钥信息进行签名。
35.具体的,所述s4中,所述迭代配置文件为json格式。
36.具体的,所述s4中,所述验证结果为所述客户端使用所述公钥信息对所述签名结果进行解密,生成第五哈希值,将所述第五哈希值与所述第三哈希值对比,若相同,则验证通过,若不相同,则验证不通过。
37.具体的,所述s5中,所述中央服务端查询所述节点信息,所述子节点处的所述客户端查询自身的所述节点信息。
38.与传统联邦学习进行了对比,数据同步过程所消耗时间对比如下表所示。其中,实验环境为中央服务端1个,客户端6个,迭代轮次3次,所有中央服务端和客户端处于同一局域网,训练网络模型为vgg16,第一全局模型文件大小为129m,子文件分割规模为10m,表中数据为10次实验的均值。
39.模型名方称法传统联邦学习方法基于本发明优化的联邦学习方法vgg16647(秒)443.1(秒)
40.通过实验结果可知,基于所提出的通信优化算法的联邦学习方法相比传统联邦学习方法,在迭代轮次上所耗费时间更少,优化效果约为30%。
41.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1