异步联邦学习方法、装置、系统及存储介质制造方法及图纸

技术编号:37852666 阅读:5 留言:0更新日期:2023-06-14 22:44
本公开提供了异步联邦学习方法、装置、系统及存储介质。涉及计算机技术领域,尤其涉及大数据和机器学习等人工智能技术领域。具体实现方案为:响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与服务器本地第g个全局模型的版本;基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型。根据本公开的方案,能够提高模型的准确性。模型的准确性。模型的准确性。

【技术实现步骤摘要】
异步联邦学习方法、装置、系统及存储介质


[0001]本公开涉及计算机
,尤其涉及大数据和机器学习等人工智能


技术介绍

[0002]联邦学习(Federated Learning,FL)作为一种新兴的机器学习范式,可以在不上传原始数据的情况下,在多个分布式设备上进行训练,服务端负责模型的聚合,在有效地利用了分散的数据与算力的同时,尽可能地保护了用户的数据安全。
[0003]异步FL使服务器无需等待落后设备就可以聚合上传的局部模型,从而提高了效率。但是,这种机制可能会遇到过时的上传模型和非独立同分布(Independent and identically distributed,Non

IID)数据带来的低准确率问题。例如,当设备上传基于旧全局模型更新的模型时,全局模型已经更新了多次。然后,上传模型的简单聚合可能会将全局模型拖到之前的状态,导致服务器聚合得到的全局模型的准确性较差。

技术实现思路

[0004]本公开提供了一种异步联邦学习的方法、装置、系统以及存储介质。
[0005]根据本公开的第一方面,提供了一种异步联邦学习的方法,应用于服务器端,包括:
[0006]响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与服务器本地第g个全局模型的版本;该第g个全局模型是接到第j个局部模型时服务器本地最新版本的全局模型,i为不小于1的整数,j为不小于1的整数,g为不小于1的整数;
[0007]基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;
[0008]在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;
[0009]基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型。
[0010]根据本公开的第二方面,提供了一种异步联邦学习的方法,应用于设备端,包括:
[0011]向服务器发送第j个局部模型,第j个局部模型为第i个设备在第j轮本地训练结束后得到的局部模型,j为不小于1的整数,i为不小于1的整数;
[0012]接收服务器发送的第g+1个全局模型,该第g+1个全局模型是在第j个局部模型与第g个全局模型的版本差异值满足预设条件的情况下,服务器基于第j个局部模型与第g个全局模型进行聚合得到的全局模型,该第g个全局模型为接到第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数。
[0013]根据本公开的第三方面,提供了一种异步联邦学习方法,应用于异步联邦学习系统,包括:
[0014]第i个设备向服务器发送训练好的第j个局部模型,i为不小于1的整数,j为不小于
1的整数;
[0015]服务器响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与服务器本地第g个全局模型的版本;第g个全局模型为接到第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数;基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型。
[0016]根据本公开的第四方面,提供了一种异步联邦学习装置,应用于服务器端,包括:
[0017]第一获取模块,用于响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与服务器本地第g个全局模型的版本;第g个全局模型是接到第j个局部模型时服务器本地最新版本的全局模型,i为不小于1的整数,j为不小于1的整数,g为不小于1的整数;
[0018]第一确定模块,用于基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;
[0019]第二确定模块,用于在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;
[0020]聚合模块,用于基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型。
[0021]根据本公开的第五方面,提供了一种异步联邦学习装置,应用于设备端,包括:
[0022]第二发送模块,用于向服务器发送第j个局部模型,第j个局部模型为第i个设备在第j轮本地训练结束后得到的局部模型,j为不小于1的整数,i为不小于1的整数;
[0023]第二接收模块,用于接收服务器发送的第g+1个全局模型,第g+1个全局模型是在第j个局部模型与第g个全局模型的版本差异值满足预设条件的情况下,服务器基于第j个局部模型与第g个全局模型进行聚合得到的全局模型,第g个全局模型为接到第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数。
[0024]根据本公开的第六方面,提供了一种异步联邦学习系统,包括:
[0025]m个设备,用于向服务器发送训练好的局部模型,m为大于2的整数;
[0026]服务器,用于响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与本地第g个全局模型的版本;基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型;其中,第g个全局模型为服务器收到第i个设备发送的第j个局部模型时本地最新版本的全局模型;i为大于0且小于等于m的整数,j为不小于1的整数,g为不小于1的整数。
[0027]根据本公开的第七方面,提供了一种电子设备,包括:
[0028]至少一个处理器;以及
[0029]与该至少一个处理器通信连接的存储器;其中,
[0030]该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器
执行,以使该至少一个处理器能够执行本公开中任一实施例的方法。
[0031]根据本公开的第八方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开中任一实施例的方法。
[0032]根据本公开的第九方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开中任一实施例的方法。
[0033]根据本公开的方案,能够提高模型的准确性。
[0034]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0035]在附图中,除非另外本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异步联邦学习方法,应用于服务器端,包括:响应于接收到第i个设备发送的第j个局部模型,获取所述第j个局部模型的版本与服务器本地第g个全局模型的版本;所述第g个全局模型是接到所述第j个局部模型时服务器本地最新版本的全局模型,i为不小于1的整数,j为不小于1的整数,g为不小于1的整数;基于所述第j个局部模型的版本与所述第g个全局模型的版本,确定所述第j个局部模型与所述第g个全局模型的版本差异值;在所述版本差异值满足预设条件的情况下,确定所述第j个局部模型与所述第g个全局模型各自对应的权重;基于所述第j个局部模型与所述第g个全局模型各自对应的权重,将所述第j个局部模型与所述第g个全局模型进行聚合,得到第g+1个全局模型。2.根据权利要求1所述的方法,其中,所述在所述版本差异值满足预设条件的情况下,确定所述第j个局部模型与所述第g个全局模型各自对应的权重,包括:响应于检测到所述版本差异值未达到预设阈值,确定所述第j个局部模型与所述第g个全局模型各自对应的权重。3.根据权利要求1所述的方法,还包括:获取第g+1轮的聚合控制参数;所述基于所述第j个局部模型与所述第g个全局模型各自对应的权重,将所述第j个局部模型与所述第g个全局模型进行聚合,得到第g+1个全局模型,包括:基于所述第j个局部模型与所述第g个全局模型各自对应的权重,以及所述第g+1轮的聚合控制参数,将所述第j个局部模型与所述第g个全局模型进行聚合,得到第g+1个全局模型。4.根据权利要求1所述的方法,还包括:在所述版本差异值不满足所述预设条件的情况下,舍弃所述第j个局部模型。5.根据权利要求1所述的方法,还包括:接收所述第i个设备发送的更新全局模型请求,所述更新全局模型请求是在生成所述第j个局部模型之前发送的;基于所述更新全局模型请求向所述第i个设备发送第k个全局模型,所述第k个全局模型为接收到所述更新全局模型请求时所述服务器本地最新版本的全局模型,k为不大于g的正整数。6.一种异步联邦学习方法,应用于设备端,包括:向服务器发送第j个局部模型,所述第j个局部模型为第i个设备在第j轮本地训练结束后得到的局部模型,j为不小于1的整数,i为不小于1的整数;接收所述服务器发送的第g+1个全局模型,所述第g+1个全局模型是在所述第j个局部模型与第g个全局模型的版本差异值满足预设条件的情况下,所述服务器基于所述第j个局部模型与所述第g个全局模型进行聚合得到的全局模型,所述第g个全局模型为接到所述第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数。7.根据权利要求6所述的方法,还包括:在向所述服务器发送所述第j个局部模型之前,向所述服务器发送更新全局模型请求;接收所述服务器基于所述更新全局模型请求返回的第k个全局模型,所述第k个全局模
型为接收到所述更新全局模型请求时所述服务器本地最新版本的全局模型,k为不大于g的正整数;基于本地数据集对所述第k个全局模型进行训练,得到所述第j个局部模型。8.根据权利要求7所述的方法,其中,所述基于本地数据集对所述第k个全局模型进行训练,得到所述第j个局部模型,包括:将本地的目标局部模型与所述第k个全局模型进行聚合,得到目标全局模型,其中,所述目标局部模型是在第j轮训练过程中得到的局部模型;利用所述本地数据集对所述目标全局模型进行训练,得到所述第j个局部模型。9.根据权利要求8所述的方法,其中,所述基于本地数据集对所述第k个全局模型进行训练,得到所述第j个局部模型,还包括:利用所述本地数据集,对在所述第j轮训练开始前所述第i个设备的本地最新全局模型进行训练,得到所述目标局部模型。10.一种异步联邦学习方法,应用于异步联邦学习系统,包括:第i个设备向服务器发送训练好的第j个局部模型,i为不小于1的整数,j为不小于1的整数;服务器响应于接收到第i个设备发送的第j个局部模型,获取所述第j个局部模型的版本与服务器本地第g个全局模型的版本;所述第g个全局模型为接到所述第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数;基于所述第j个局部模型的版本与所述第g个全局模型的版本,确定所述第j个局部模型与所述第g个全局模型的版本差异值;在所述版本差异值满足预设条件的情况下,确定所述第j个局部模型与所述第g个全局模型各自对应的权重;基于所述第j个局部模型与所述第g个全局模型各自对应的权重,将所述第j个局部模型与所述第g个全局模型进行聚合,得到第g+1个全局模型。11.一种异步联邦学习装置,应用于服务器端,包括:第一获取模块,用于响应于接收到第i个设备发送的第j个局部模型,获取所述第j个局部模型的版本与服务器本地第g个全局模型的版本;所述第g个全局模型是接到所述第j个局部模型时服务器本地最新版本的全局模型,i为不小于1的整数,j为不小于1的整数,g为不小于1的整数;第一确定模块...

【专利技术属性】
技术研发人员:刘吉霍超窦德景
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1