本申请涉及计算机,尤其涉及一种联邦学习优化方法、装置、电子设备及存储介质。
背景技术:
1、随着人工智能的隐私安全问题日益严重,联邦学习(federated learning,fl)逐渐成为一种重要的机器学习方法。作为一种新兴的分布式机器学习框架,联邦学习的各个第一计算设备仅与第二计算设备进行通信,联邦学习利用第一计算设备的数据共同协作训练一个全局模型,且无需上传第一计算设备的数据,只上传局部模型更新的参数,由第二计算设备协调完成多轮联邦学习以得到最终的全局模型。联邦学习消除了在单个设备上聚合所有数据的需要,克服了机器学习中的隐私和通信挑战,具有重要的研究价值和实际应用意义。为了提高全局模型的收敛速度,可以加速局部更新。
2、现有技术中,对局部更新进行加速时,通常是基于局部模型的上一次模型参数,生成局部动量项,从而进行加速。
3、然而,在实际应用中,各个第一计算设备之间的数据往往呈非独立同分布(non-independent and identically distributed,non-iid),这种数据异构性使得训练过程中易产生“漂移”现象。即,不同第一计算设备向着各自局部最优的方向更新局部模型,导致各局部模型之间差异较大且远离了全局最优方向。因此,加入局部动量项,会向着局部最优的方向加速更新局部模型,只会带来更大的“漂移”问题,起到相反的作用。
4、因此,如何提高联邦学习的收敛速度,是亟需解决的问题。
技术实现思路
1、本申请实施例提供一种联邦学习优化方法、装置、电子设备及存储介质,以提高联邦学习的收敛速度。
2、本申请实施例提供的具体技术方案如下:
3、第一方面,本申请实施例提供了一种联邦学习优化方法,应用于联邦学习系统中的任一第一计算设备,联邦学习系统包括第二计算设备和多个第一计算设备,该方法包括:
4、接收第二计算设备发送的本轮训练的全局参数,并将全局参数作为初始局部参数;
5、基于初始局部参数和本地保存的全局参数,对局部模型进行迭代加速更新,获得最终的目标局部参数,其中,本地保存的全局参数是上一轮训练接收到的全局参数;
6、向第二计算设备发送最终的目标局部参数,以使第二计算设备基于最终的目标局部参数,生成下一轮训练的全局参数。
7、第二方面,本申请实施例提供了一种联邦学习优化方法,应用于联邦学习系统中的第二计算设备,联邦学习系统包括第二计算设备和多个第一计算设备,该方法包括:
8、向多个第一计算设备发送本轮训练的全局参数,以使多个第一计算设备分别基于本轮训练的全局参数,对各自的局部模型进行迭代加速更新,获得相应的最终的目标局部参数;
9、接收多个第一计算设备各自返回的最终的目标局部参数,根据接收到的各最终的目标局部参数,生成下一轮训练的全局参数。
10、第三方面,本申请实施例提供了一种联邦学习优化装置,应用于联邦学习系统中的任一第一计算设备,联邦学习系统包括第二计算设备和多个第一计算设备,该装置包括:
11、接收模块,用于接收第二计算设备发送的本轮训练的全局参数,并将全局参数作为初始局部参数;
12、更新模块,用于基于初始局部参数和本地保存的全局参数,对局部模型进行迭代加速更新,获得最终的目标局部参数,其中,本地保存的全局参数是上一轮训练接收到的全局参数;
13、发送模块,用于向第二计算设备发送最终的目标局部参数,以使第二计算设备基于最终的目标局部参数,生成下一轮训练的全局参数。
14、可选的,基于初始局部参数和本地保存的全局参数,对局部模型进行迭代加速更新,获得最终的目标局部参数,其中,在一次迭代加速更新时,更新模块还用于:
15、基于本次更新的初始局部参数,对局部模型进行梯度下降,获得本次更新的中间局部参数;
16、基于本次更新的中间局部参数和本地保存的全局参数,对局部模型进行加速,获得本次更新的目标局部参数,并将本次更新的目标局部参数作为下一次更新的初始局部参数。
17、可选的,基于本次更新的中间局部参数和本地保存的全局参数,对局部模型进行加速,获得本次更新的目标局部参数时,更新模块还用于:
18、基于中间局部参数和本地保存的全局参数,以及预设的动量系数,生成动量项;
19、基于动量项和中间局部参数,生成目标局部参数。
20、可选的,基于初始局部参数和本地保存的全局参数,对局部模型进行迭代加速更新,获得最终的目标局部参数之后,该装置还包括保存模块,保存模块用于:
21、保存本轮训练的全局参数,并将其作为本地保存的全局参数。
22、第四方面,本申请实施例提供了一种联邦学习优化装置,应用于联邦学习系统中的第二计算设备,联邦学习系统包括第二计算设备和多个第一计算设备,该装置包括:
23、发送模块,用于向多个第一计算设备发送本轮训练的全局参数,以使多个第一计算设备分别基于本轮训练的全局参数,对各自的局部模型进行迭代加速更新,获得相应的最终的目标局部参数;
24、生成模块,用于接收多个第一计算设备各自返回的最终的目标局部参数,根据接收到的各最终的目标局部参数,生成下一轮训练的全局参数。
25、可选的,根据接收到的各最终的目标局部参数,生成下一轮训练的全局参数时,生成模块还用于:
26、对接收到的各最终的目标局部参数进行聚合,确定下一轮训练的全局参数。
27、第五方面,本申请实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一种联邦学习优化方法的步骤。
28、第六方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种联邦学习优化方法的步骤。
29、第七方面,本申请实施例还提供了一种计算机程序产品,包括计算机指令,计算机指令被处理器执行上述任意一种联邦学习优化方法的步骤。
30、本申请实施例中,第一计算设备接收第二计算设备发送的本轮训练的全局参数,并将全局参数作为初始局部参数,然后基于初始局部参数和本地保存的全局参数,对局部模型进行迭代加速更新,获得最终的目标局部参数,其中,本地保存的全局参数是上一轮训练接收到的全局参数,最后向第二计算设备发送最终的目标局部参数,以使第二计算设备基于最终的目标局部参数,生成下一轮训练的全局参数。
31、这样,在不增加任何通信代价的基础上,第一计算设备引入上一轮训练接收到的全局参数,对局部模型进行迭代加速更新,上一轮训练接收到的全局参数带有全局性质,可以缓解了客户端漂移对全局模型的影响,极大提升了模型的性能,并且能够产生显著的加速效果,使得联邦学习的训练过程更有效,收敛速度更快,进一步减少了通信代价,缩减了联邦学习的时间,提升了用户的体验。
1.一种联邦学习优化方法,其特征在于,应用于联邦学习系统中的任一第一计算设备,所述联邦学习系统包括第二计算设备和多个第一计算设备,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述基于所述初始局部参数和本地保存的全局参数,对局部模型进行迭代加速更新,获得最终的目标局部参数,其中,在一次迭代加速更新,执行以下操作:
3.如权利要求2所述的方法,其特征在于,所述基于所述本次更新的中间局部参数和所述本地保存的全局参数,对所述局部模型进行加速,获得本次更新的目标局部参数,包括:
4.如权利要求1所述的方法,其特征在于,所述基于所述初始局部参数和本地保存的全局参数,对局部模型进行迭代加速更新,获得最终的目标局部参数之后,还包括:
5.一种联邦学习优化方法,其特征在于,应用于联邦学习系统中的第二计算设备,所述联邦学习系统包括第二计算设备和多个第一计算设备,所述方法包括:
6.如权利要求5所述的方法,其特征在于,所述根据接收到的各最终的目标局部参数,生成下一轮训练的全局参数,包括:
7.一种联邦学习优化装置,其特征在于,应用于联邦学习系统中的任一第一计算设备,所述联邦学习系统包括第二计算设备和多个第一计算设备,所述装置包括:
8.一种联邦学习优化装置,其特征在于,应用于联邦学习系统中的第二计算设备,所述联邦学习系统包括第二计算设备和多个第一计算设备,所述装置包括:
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
