本发明涉及计算机,尤其涉及一种基于梯度压缩和客户端动态选择的高效联邦学习方法。
背景技术:
1、在信息时代的高速发展中,机器学习已在众多领域取得了令人瞩目的成果,包括计算机视觉、自然语言处理、通信和图像识别等。机器学习的成功离不开大量训练数据,集中式的机器学习算法需要收集各个设备或者机构的数据来进行训练,如,训练医疗诊断模型需要从多个医疗机构收集相关医疗数据。然而,频频曝光的数据泄漏和误用事件,使得人们越来越意识到集中式数据处理对个人隐私的潜在威胁,与此同时,随着组织机构间的数据独立性不断增强,数据孤岛问题也日益凸显,导致数据无法得到有效利用。
2、为解决这一问题,引入了联邦学习的概念。联邦学习作为一种新的机器学习范式。它提供了一种在不共享原始数据的前提下进行模型训练的方法,在保护数据隐私的同时产生一个无偏模型,实现了数据隐私和模型性能的平衡。联邦学习的核心理念是将模型训练的过程从服务器转移到客户端,将数据分散在设备本身而不是通过服务器来保护用户隐私。这一分布式学习过程由四个步骤组成,如图1所示。①所有参与的客户端从服务器下载最新的全局模型。②客户端使用本地数据对模型进行训练。③客户端将训练后的模型上传给服务器。④服务器利用所有客户端的模型参数进行全局模型的更新。这一过程不断重复,直至模型收敛。联邦学习通过分散训练的方式,有效地解决了传统集中式学习所带来的数据隐私问题。每个设备都可以在保护本地数据隐私的前提下进行模型训练,这使得联邦学习成为医疗、金融等敏感领域中应用机器学习的理想选择。
3、尽管联邦学习在保护数据隐私和解决数据孤岛问题方面展现出巨大潜力,但仍面临着一些挑战。其中,通信开销成为联邦学习中的一个关键瓶颈。mcmahan等人测量发现,与数据中心可用的网络连接相比,最终用户网络连接的运行速率要低得多。此外,在现实应用场景中,联邦学习可能涉及成千上万个设备,而模型参数的传输延迟往往远大于单个设备训练本地模型的时间,这使得传统的联邦学习方法在大规模机器学习模型的训练中面临效率低下的问题。因此,设计一个通信高效的联邦学习框架成为迫切需求。
技术实现思路
1、针对联邦学习中的通信开销问题,本发明提供一种基于梯度压缩和客户端动态选择的高效联邦学习方法,可以显著降低通信成本,提升整体性能,缓解联邦学习系统的通信瓶颈问题。
2、本发明提供的基于梯度压缩和客户端动态选择的高效联邦学习方法,包括:
3、步骤1:服务器端初始化全局模型参数并广播给每个客户端;
4、步骤2:客户端接收来自服务器端的第二godel编码结果,对所述第二godel编码结果进行解码以获取上一通信轮次的全局模型参数;
5、步骤3:客户端使用上一通信轮次的全局模型参数和本地数据训练得到当前通信轮次的本地模型参数、训练时间和模型性能;
6、步骤4:客户端将当前通信轮次的训练时间发送给服务器端;
7、步骤5:客户端若判断获知当前通信轮次的本地模型的模型性能优于上一通信轮次的全局模型的模型性能,且训练时间小于当前通信轮次的等待时间,则将当前通信轮次的本地模型参数进行stc压缩和godel编码,得到第一godel编码结果并发送给服务器端;
8、步骤6:服务器端若判断获知已达到当前通信轮次的等待时间,则根据接收到的当前通信轮次的所有客户端的训练时间得到下一通信轮次的等待时间;以及对接收到的所有第一godel编码结果进行解码以获取对应客户端的本地模型参数并对所有本地模型参数进行聚合得到下一通信轮次的全局模型参数,并评估得到全局模型的模型性能;
9、步骤7:服务器端将下一通信轮次的全局模型参数进行stc压缩和godel编码,得到第二godel编码结果,并将其与全局模型的模型性能广播给所有客户端;
10、步骤8:重复执行步骤2至步骤7,直至达到停止条件,得到最终的全局模型参数。
11、进一步地,将本地模型参数或者全局模型参数进行stc压缩和godel编码,具体包括:
12、将模型参数的所有元素按照绝对值大小进行降序排列,将第k个元素的绝对值作为阈值v;其中,k值由给定的稀疏率决定;所述模型参数指本地模型参数或者全局模型参数;
13、根据所述阈值v进行动量因子遮蔽,得到模型参数对应的掩膜矩阵;
14、将模型参数与其对应的掩膜矩阵之间的哈达玛积作为稀疏元素矩阵;
15、根据k值对所述稀疏元素矩阵中的所有稀疏元素绝对值之和进行平均,得到平均值μ,则模型参数的stc压缩结果为平均值μ和sign(tmasked)的乘积;其中,sign(tmasked)表示计算稀疏元素矩阵tmasked中各元素的符号;
16、根据stc压缩结果按照下式进行godel编码,得到godel编码结果s;
17、
18、其中,p1,p2,...,pk是任意k个不同的素数,stc(g[i])表示模型参数中第i个元素g[i]在stc压缩结果中的取值。
19、进一步地,步骤3中,采用本地模型的模型精度来表征模型性能;
20、对应地,步骤5中,具体包括:
21、若当前通信轮次的本地模型的模型精度大于上一通信轮次的全局模型的模型精度,则认为当前通信轮次的本地模型的模型性能优于上一通信轮次的全局模型的模型性能。
22、进一步地,步骤6具体包括:
23、
24、其中,表示当前通信轮次t中第i个客户端的训练时间,n表示客户端数里,表示下一通信轮次的等待时间。
25、进一步地,步骤6中,服务器端采用平均聚合方式对所有本地模型参数进行聚合。
26、本发明的有益效果:
27、(1)本发明在stc稀疏三元压缩的基础上,结合godel编码提出了一种新的压缩方案。stc压缩技术能够有效地减小模型参数的大小,而godel编码则将stc压缩后的稀疏三元张量进一步压缩为大整数,从而进一步减少了需要上传的参数数量。这种压缩方案大大降低了通信负载,提高了通信效率。
28、(2)本发明引入了动态客户端选择策略。根据客户端的本地模型性能和训练时间,动态选择参与全局模型更新的客户端。与所有客户端都参与训练的传统联邦学习模型相比,减少了上传频率,进一步降低了通信负载。通过合理的客户端选择,我们能够在保证模型性能的同时,有效降低通信成本。
29、(3)传统的分布式机器学习通常假设客户端数据遵循独立同分布,但在联邦学习中,数据分布往往是非独立同分布的。实验证明,本发明在非独立同分布数据集上表现出更高的模型精度。
30、(4)通过对mnist手写数据集和医疗影像数据集的训练,实验结果表明,与基线联邦学习方案(fedavg)和动态融合联邦学习方案相比,本发明的dsgfl方案将模型的精度分别提高了7%和8%,将通信效率提高了43%。
1.基于梯度压缩和客户端动态选择的高效联邦学习方法,其特征在于,包括:
2.根据权利要求1所述的基于梯度压缩和客户端动态选择的高效联邦学习方法,其特征在于,将本地模型参数或者全局模型参数进行stc压缩和godel编码,具体包括:
3.根据权利要求1所述的基于梯度压缩和客户端动态选择的高效联邦学习方法,其特征在于,步骤3中,采用本地模型的模型精度来表征模型性能;
4.根据权利要求1所述的基于梯度压缩和客户端动态选择的高效联邦学习方法,其特征在于,步骤6具体包括:
5.根据权利要求1所述的基于梯度压缩和客户端动态选择的高效联邦学习方法,其特征在于,步骤6中,服务器端采用平均聚合方式对所有本地模型参数进行聚合。