一种基于联邦学习的通信优化方法

文档序号:32015111发布日期:2022-11-02 19:58阅读:80来源:国知局
一种基于联邦学习的通信优化方法

1.本发明涉及联邦机器学习技术领域,尤其涉及一种基于联邦学习的通信优化方法。


背景技术:

2.现有的联邦学习通常将模型训练的中间参数上传至参数服务器实现模型聚合,此过程存在两个问题:一是大规模分布式训练需要大量的通信带宽进行梯度交换,这限制了多节点训练的可扩展性;二是需要昂贵的高带宽网络基础设施。
3.在移动设备上进行分布式训练时,这种训练存在更高的网络延迟、更低的系统吞吐量和间歇性的连接不良。
4.为了解决上述问题,如果直接采用传统的svd奇异值分解方法,虽然提高模型预测的准确度,但是梯度压缩效果不够理想。如果采用草图压缩方法,虽然梯度压缩效果理想,但是降低了模型预测的精度。


技术实现要素:

5.本发明的技术问题是提供一种基于联邦学习的通信优化方法,既能够有效压缩模型梯度,降低模型训练中产生的通信开销,又能提高模型预测的准确度。
6.为实现上述目的,本发明采取的技术方案为:
7.一种基于联邦学习的通信优化方法,包括以下步骤:s1获取各客户端上传的本地梯度核心特征;其中,本地梯度核心特征指各客户端通过对目标数据进行预处理,训练出本地模型,对本地模型进行奇异值分解提取出的模型梯度;本地模型为联邦模型;s2对本地梯度核心特征进行草图梯度压缩后,进行草图梯度聚合,提取前k个稀疏化参数矩阵,并对前k个稀疏化参数矩阵执行联邦平均聚合算法得到全局模型,将全局模型分发给各客户端;s3计算各客户端的累计梯度误差值与梯度误差补偿值,自适应调整本地梯度核心特征需要补偿的梯度和本地梯度核心特征进行草图梯度聚合时的权重,再迭代执行s1至s3。
8.进一步地,对目标数据进行预处理包括:将目标数据分割为若干数据集,并执行均匀随机取样操作选出每一次迭代中的数据集的批次大小,获得目标数据集;对目标数据集进行范式边界计算;获取初始化全局模型参数,接着通过范式边界计算后的目标数据集训练出本地模型,计算本地模型的本地梯度;对本地梯度进行裁剪得到本地模型的梯度矩阵。
9.进一步地,对本地模型进行奇异值分解为:各客户端执行快速梯度下降算法,将本地模型的梯度矩阵分解为包含梯度的左奇异向量、右奇异向量和对角矩阵,获得本地梯度核心特征。
10.进一步地,各客户端执行快速梯度下降算法,将本地模型的梯度矩阵分解为包含梯度的左奇异向量、右奇异向量和对角矩阵,获得本地梯度核心特征,包括:按序将本地模型的梯度矩阵的数据存储于零矩阵中,压缩至零矩阵中不存在零值行,得到第一矩阵;构造一个子抽样随机阿达玛变换矩阵,计算子抽样随机阿达玛变换矩阵和第一矩阵的乘积,将
第一矩阵的大小从m压缩至得到第二矩阵;对第二矩阵执行svd算法,将本地模型的梯度矩阵分解为包含梯度的左奇异向量、右奇异向量和对角矩阵,获得本地梯度核心特征。
11.进一步地,s3包括:计算各客户端在当前迭代过程中的本地模型损失值;计算本地模型损失值的交叉熵,并根据交叉熵计算本地模型的质量评估权重;计算草图梯度聚合过程中由草图梯度压缩产生的局部梯度误差,获得各客户端的累计梯度误差值和梯度误差补偿值;根据各客户端的本地模型的质量评估权重和累计梯度误差值调整各客户端的本地梯度核心特征进行草图梯度聚合时的权重;根据梯度误差补偿值自适应调整个客户端的本地梯度核心特征需要补偿的梯度后进入下一次迭代。
附图说明
12.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未刻意按照比例绘制附图,重点在于示出本发明的主旨。
13.图1是本发明提供的一种基于联邦学习的通信优化方法的总体流程图;
14.图2是本发明提供的一种基于联邦学习的通信优化方法中预处理算法的具体流程图;
15.图3是本发明提供的一种基于联邦学习的通信优化方法中快速梯度下降算法的具体流程图;
16.图4是本发明提供的一种基于联邦学习的通信优化方法中进行梯度误差补偿的具体流程图。
具体实施方式
17.下面结合附图和具体的实施例对本发明作进一步的说明,但是不作为本发明的限定。
18.为了解决现有技术在实现联邦学习算法中将模型训练的中间参数上传至参数服务器实现模型聚合时,直接采用传统的svd奇异值分解方法,虽然提高模型预测的准确度,但是梯度压缩效果不够理想;直接采用草图压缩方法,虽然梯度压缩效果理想,但是降低了模型预测的精度的问题,因此,如图1所示,本发明提供了一种基于联邦学习的通信优化方法,具体为移动边缘网络通信优化方法,针对移动边缘网络下进行分布式训练时,移动端自身资源有限,并且该训练会带来更高的网络延迟、更低的系统吞吐量和间歇性的网络连接不良的问题,对其进行通信优化,降低模型训练过程中产生巨大的通信开销。
19.首先各客户端需要对本地的目标数据进行预处理,然后训练出本地模型,本地模型为联邦模型;该步骤如图2所示,具体包括:
20.将目标数据分割为若干minibatch数据集并执行均匀随机取样操作选出每一次迭代中的数据集的批次大小,获得目标数据集d
′i=di⊙
sc;其中,i为第i个客户端,di为第i个客户端的数据,c为矩阵列数,sc输入与敏感原始数据维数相同的随机均匀取样矩阵;
21.由于每个客户端都要在目标数据集d
′i上运行联邦学习模型,以提取特征,即d

il
=f(d
′i),为了限制一定的全局灵敏度,对目标数据集d
′i进行范式边界计算,即
其中,为最小数据批次大小;d
l
表示神经网络模型第层输出的无穷范数;根据该公式可知d

l
的上限为sf=max||f(d)-f(d

)||2;其中,f为实值函数,只要d
l
的敏感性就可以被保护,能够在一定程度上保护敏感数据不被泄露;
22.接着初始化全局模型参数w
global
并分发给各客户端,各客户端接着通过范式边界计算后的目标数据集训练出本地模型,计算本地模型的本地梯度g(i);对本地梯度进行裁剪,即以防止梯度爆炸,最终得到本地模型的梯度矩阵a。
23.然后各客户端执行快速梯度下降算法,如图3所示,将本地模型的梯度矩阵分解为包含梯度的左奇异向量、右奇异向量和对角矩阵来近似描述梯度矩阵一定百分比的矩阵信息,进而对梯度以矩阵的形式进行压缩,获得本地梯度核心特征,降低联邦训练产生的高昂通信成本;该步骤具体包括:
24.按序收集本地模型的梯度矩阵a∈rm×n中第m行中的n个数据点,并存储于零矩阵f∈rm×n中,压缩零矩阵中的所有零值行,得到第一矩阵f


25.判断f中不存在零值行时,构造一个子抽样随机阿达玛变换矩阵φ=n
·h·
d;其中,n∈rq×m表示缩放的随机矩阵,其每行均匀采样,而无需从m
×
m单位矩阵的m行中替换,重新缩放为d表示元素为i.i.d的m
×
m对角矩阵,为随机变量(等概率的-1或1);h∈{
±
1}m×m表示为哈达玛矩阵(hadamard),含义为h
ij
=(-1)
《i-1,j-1》
,《i-1,j-1》是整数i-1和j-1的b位二进制向量的点积,此处的i,j表示所在的第i行第j列)哈达玛矩阵还可以表示为其中,m是矩阵的大小;
26.计算子抽样随机阿达玛变换矩阵φ和第一矩阵f

的乘积,以将f

的大小从m压缩至并连接新压缩的梯度和收缩的梯度,得到第二矩阵b∈rk×n;
27.对第二矩阵执行svd算法,按照[u,λ,v]=svd(b)将本地模型的梯度矩阵分解为包含梯度的左奇异向量、右奇异向量和对角矩阵并通过将原始信息压缩到b的前行,获得本地梯度核受到的影响很小的情况下,提高本地模型参数上传的通信效率。
[0028]
接着对各客户端的本地梯度核心特征进行草图梯度压缩后,再进行草图梯度聚合,提取前k个稀疏化参数矩阵,并对前k个稀疏化参数矩阵执行联邦平均聚合算法得到全局模型,将全局模型分发给各客户端;
[0029]
接着如图4所示,计算各客户端的累计梯度误差值与梯度误差补偿值,自适应调整本地梯度核心特征需要补偿的梯度和本地梯度核心特征进行草图梯度聚合时的权重,代入下一次迭代计算全局模型;该步骤具体包括:
[0030]
计算各客户端在当前迭代过程中的本地模型损失值其中,doi是第i个客户端吗,是在第t轮迭代中第i个客户端的本地模型的参数;
[0031]
计算本地模型损失值的交叉熵h(f(xi),yi)=-∑
xi
yilogf(xi),通过交叉熵来评估本地模型损失值如果交叉熵h(f(xi),yi)值越小,则代表本地模型预测结果越接近真实结果,也就说明模型训练质量越高;
[0032]
接着根据交叉熵计算本地模型的质量评估权重其中,(xi,yi)是第i个客户端的本地数据标签,xi是输入数据,yi是期望输出,f(xi)是第i个客户端的本地模型预测结果;
[0033]
每次草图梯度聚合各个客户端的质量评估权重,客户端di在草图梯度聚合过程中由草图梯度压缩产生的局部梯度误差,可以用累计梯度误差值表示,表示为第i个客户端在第t轮迭代中累计的梯度误差,β是误差因子,累计梯度误差值可以随着迭代的进行不断更新;再根据其中,α是补偿系数;是经过svd和sketch之后梯度;
[0034]
根据各客户端的本地模型的质量评估权重和累计梯度误差值调整各客户端的本地梯度核心特征进行草图梯度聚合时的权重;根据梯度误差补偿值自适应调整个客户端的本地梯度核心特征需要补偿的梯度,选择最优参数α和β,再代入下一次迭代计算,从而提高全局模型的准确度,具体在全局模型更新计算过程中表示为其中n是参与模型训练的客户端数量,ψ是均匀随机选取的高质量客户端数量,η是本地模型学习率,pi(di)是客户端di在第i次模型聚合中的本地模型的质量评估权重,模型聚合即是对所有客户端的上传的梯度更新进行联邦平均,用于更新全局模型);是客户端i在第t轮迭代中未进行补偿的本地梯度,α是补偿系数,是第i个客户端在第t轮迭代中的累计梯度误差值。
[0035]
综上所述,本发明提供的一种基于联邦学习的通信优化方法,各客户端先独立训练好本地模型,然后对本地模型进行奇异值分解(singular value decomposition,svd),提取出本地梯度核心特征,发送给参数服务器,由参数服务器进行草图(sketch)梯度压缩,再进行草图(sketch)梯度聚合,对聚合之后的参数提取前k个近似梯度值,并对前k个近似梯度值执行联邦平均聚合算法得到全局模型,并发给各客户端,进行下一轮次的迭代过程。并且针对由sketch梯度有损压缩之后产生的局部梯度误差,支持自适应梯度误差累计和梯度误差补偿,自适应调整需要补偿的梯度,添加到下一次迭代中,通过svd结合sketch压缩,既能够有效压缩模型梯度,降低模型训练中产生的通信开销,又通过梯度误差补偿解决了svd与sketch操作结合带来的与只执行svd操作之间的梯度误差,从而提高了全局模型预测的准确度。本发明可以使得在整个训练过程中客户端与服务器之间的通信开销大大减少,加快模型收敛,并且模型预测的准确度与原先的预测准确度相差无几。
[0036]
以上对本发明的较佳实施例进行了描述;需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容;因此,凡是未脱离本发明技
术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1