1.本发明涉及联邦学习技术领域,尤其涉及一种移动边缘网络中联邦学习的效率优化方法。
背景技术:
2.近年来,深度学习的发展为人工智能技术的进步创造了动力。随着物联网技术的发展,移动设备都具备强大的芯片、传感器以及计算能力,能够在处理高级任务的同时,收集和产生更丰富的数据。这些数据为深度学习的研究提供了有利的基础条件,是深度学习不可或缺的部分。传统以云为中心的深度学习,需要先收集移动设备的数据,包括物联网设备和智能手机收集的数据,例如照片、视频和位置等信息,并全部发送到基于云的服务器或数据中心进行处理与训练。然而,这种方法存在以下问题:在万物互联的时代,移动设备每分每秒都产生着数以亿计的数据,这些数据全部上传到云服务器会占用大量的网络带宽。同时,以云为中心的学习方式传输延迟高,不能及时进行数据交互,给网络带来不必要的负担。数据所有者对隐私越来越注重,用户往往不愿共享自己的个人数据。许多国家和组织也制定了相关隐私政策,例如欧盟委员会制定的“generaldataprotectionregulation”(《通用数据保护条例》)。
3.因此,利用一些边缘设备的计算和存储能力,把计算推向边缘被提出作为一种解决方案。联邦学习应运而生,目的在于保护大数据环境下模型学习中涉及的用户数据隐私。在联邦学习训练过程中,只需要将所有移动设备在其私有数据上训练的本地模型上传到云服务器中进行聚合,不涉及数据本身,很大程度上提高了用户数据的隐私性。同时,边缘计算的提出是为了缓解云中心的计算压力,目的是把云服务中心的计算任务卸载到边缘,这恰好与联邦学习的计算模式相适应,为联邦学习创造了有利条件。在移动设备上训练模型,除了保证数据不离开本地,还能让计算更加靠近数据源以节省通信成本。
技术实现要素:
4.本发明的目的在于提供一种移动边缘网络中联邦学习的效率优化方法,实现减少了服务器到设备的通信时间,节约了本地计算资源以及模型上传时产生的通信延迟。
5.为解决上述问题,本发明采用的技术方案为:该移动边缘网络中联邦学习的效率优化方法,包括以下步骤:
6.s1:首先增加任务的并行性,通过在每一轮选择多个设备参与联邦训练,以减少训练的轮数;
7.s2:增加设备的计算量,在全局聚合更新之前,在每个设备上执行多次训练任务;
8.s3:结合剪枝技术和压缩技术,基于通信效率的ce-fedavg算法对模型进行压缩,从而实现效率优化。
9.采用上述技术方案,采用联邦学习把训练任务分散到每个移动设备上,通过云端协作与云边端协作的方式,结合mec等边缘计算平台,将更多的计算卸载到边缘或设备端,
以减少训练轮数,从而提高优化效率和优化的准确性。
10.作为本发明的优选技术方案,所述步骤s1的具体步骤为:
11.s11:采用fedavg算法对根据联邦学习的规则训练的本地模型的参数进行平均处理;具体为,首先定义联邦学习的优化问题为:
[0012][0013][0014]
其中f(w)为损失函数,w为模型参数,k代表参加训练的设备数量,数据样本总量为d,pk代表设备k拥有的数据集,其大小为dk=|pk|,i代表数据集中的数据;
[0015]
s12:首先分析sgd优化方法,并将其直接应用于联邦学习,即每一轮训练在设备上进行一次梯度计算,对于每个设备k有:
[0016][0017][0018]
其中t表示当前联邦学习的训练轮数,η为学习率。传统sgd优化方法的计算效率虽然很高,但是需要进行大量的训练轮数才能得到好的模型,因此需要对优化方式进行改进。
[0019]
作为本发明的优选技术方案,所述步骤s2具体包括以下步骤:
[0020]
s21:采用fedavg算法将本地模型的一次梯度计算改进为多次梯度计算,即对设备进行多次本地训练,如公式(5)所示:
[0021][0022]
其中,w为模型参数,η为学习率,k为设备。
[0023]
s22:设置设备训练参数,增加端设备的计算量,将模型剪枝与联邦学习相结合,并模型训练和剪枝同时反复进行,获得小尺寸模型。
[0024]
作为本发明的优选技术方案,所述步骤s3的具体步骤为:
[0025]
s31通合均匀量化:对不同数量的设备设置iid数据与non-iid数据,并测试设备的参与率和压缩率;
[0026]
s32指数量化:在fedavg算法的基础上加入压缩与量化,从而减少联邦学习传输过程中的通信消耗。
[0027]
作为本发明的优选技术方案,所述步骤s22中采用双流联邦学习模型进行训练,以增加端设备的计算量,具体包括以下步骤:
[0028]
s221:设置设备训练参数包括输入和输出,其中输入的设备数量设为k,每一轮选择设备的选择比例设为c,设备训练的本地数据批量大小设为b,设备上本地迭代的次数设为e,学习率为η;输出的模型参数设为w;
[0029]
s222:服务端的处理,包括:
[0030]
s2221:初始化全局模型w0;
[0031]
s2222:确定需要选择设备的数量m
←
max(c
×
k,1);
[0032]
s2223:服务器随机选择m个设备并下发全局模型;
[0033]
s2224:设备k=0,1,2,
…
,m本地训练得到
[0034]
s2225:利用公式(4)进行全局聚合;
[0035]
s2226:重复步骤s2222~s2225直到模型w收敛,其中t为轮数;
[0036]
s223:服务端的处理,包括:
[0037]
s2231:将本地数据集pk划分为大小为b的样本批量;
[0038]
s2232:对于b中的样本用公式(5)进行权值更新;
[0039]
s2233:重复e次步骤s2232;
[0040]
s2234:将训练好的本地模型w发送到服务端。
[0041]
作为本发明的优选技术方案,所述步骤s22中模型剪枝包括在在服务器上对初始模型剪枝和在设备上对本地模型的剪枝,在服务器上对初始模型进行剪枝后,再对对聚合后的全局模型进行剪枝以删除小于0.1的权重值,反复循环直到模型的大小达到所需的修剪水平,获得小于1024千字节的模型。对模型进行剪枝的目的是减少模型的大小来降低传输时的通信成本。
[0042]
作为本发明的优选技术方案,所述步骤s32的具体步骤为:
[0043]
s321:首先采用有损压缩技术对全局模型进行有损压缩,并通过联邦dropout构造全局模型的子模型;
[0044]
s322:然后所述子模型发送给设备,设备使用本地数据对其进行解压和训练;
[0045]
s323:压缩完成后进行更新,并将该更新发回服务器;
[0046]
s324:当该更新被发送回服务器后,对该更新进行解压;
[0047]
s325:将该更新聚合到全局模型,从而完成全局模型的压缩。
[0048]
所述步骤s321具体步骤为:将模型中每个要压缩的权值矩阵重构成向量形式,然后进行基础变换、子采样和量化操作,再通过联邦dropout在模型的全连接层将固定数量的激活向量丢弃,从而获得简化的子模型。
[0049]
与现有技术相比,本发明技术方案具有的有益效果是:该移动边缘网络中联邦学习的效率优化方法采用联邦学习把训练任务分散到每个移动设备上,通过云端协作与云边端协作的方式,结合mec等边缘计算平台,将更多的计算卸载到边缘或设备端,以减少训练轮数,从而提高优化效率和优化的准确性。
附图说明
[0050]
下面结合附图进一步描述本发明的技术方案:
[0051]
图1为本发明的移动边缘网络中联邦学习的效率优化方法的流程图;
[0052]
图2为本发明的移动边缘网络中联邦学习的效率优化方法的步骤s22的流程图;
[0053]
图3为本发明的移动边缘网络中联邦学习的效率优化方法的步骤s22的剪枝示意图。
具体实施方式
[0054]
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0055]
实施例:如图1所示,该移动边缘网络中联邦学习的效率优化方法,包括以下步骤:
[0056]
s1:首先增加任务的并行性,通过在每一轮选择多个设备参与联邦训练,以减少训练的轮数;
[0057]
s11:根据联邦学习的规则,每轮随机选择的设备训练出来的本地模型精度都不相同,采用fedavg算法对根据联邦学习的规则训练的本地模型的参数进行平均操作;具体来说,定义联邦学习的优化问题为:
[0058][0059][0060]
其中f(w)为损失函数,w为模型参数,k代表参加训练的设备数量,数据样本总量为d,pk代表设备k拥有的数据集,其大小为dk=|pk|,i代表数据集中的数据;
[0061]
s12:首先分析目前主流的sgd优化方法,并将其直接应用于联邦学习,即每一轮训练在设备上进行一次梯度计算,对于每个设备k有:
[0062][0063][0064]
其中t表示当前联邦学习的训练轮数,η为学习率;
[0065]
s2:增加设备的计算量,在全局聚合更新之前,在每个设备上执行多次训练任务;
[0066]
所述步骤s2具体包括以下步骤:
[0067]
s21:采用fedavg算法将本地模型的一次梯度计算改进为多次梯度计算,即对设备进行多次本地训练,如公式(5)所示:
[0068][0069]
其中,w为模型参数,η为学习率,k为设备。
[0070]
s22:设置设备训练参数,增加端设备的计算量,将模型剪枝与联邦学习相结合,并将模型训练和剪枝同时反复进行,获得小尺寸模型;
[0071]
其中增加端设备的计算量,如图2所示,具体包括以下步骤:
[0072]
s221:设置设备训练参数包括输入和输出,其中输入的设备数量设为k,每一轮选择设备的选择比例设为c,设备训练的本地数据批量大小设为b,设备上本地迭代的次数设为e,学习率为η;输出的模型参数设为w;
[0073]
s222:服务端的处理,包括:
[0074]
s2221:初始化全局模型w0;
[0075]
s2222:确定需要选择设备的数量m
←
max(c
×
k,1);
[0076]
s2223:服务器随机选择m个设备并下发全局模型;
[0077]
s2224:设备k=0,1,2,
…
,m本地训练得到
[0078]
s2225:利用公式(4)进行全局聚合;
[0079]
s2226:重复步骤s2222~s2225直到模型w收敛,其中t为轮数;
[0080]
s223:服务端的处理,包括:
[0081]
s2231:将本地数据集pk划分为大小为b的样本批量;
[0082]
s2232:对于b中的样本用公式(5)进行权值更新;
[0083]
s2233:重复e次步骤s2232;
[0084]
s2234:将训练好的本地模型w发送到服务端;
[0085]
虽然fedavg算法已经广泛用于联邦学习的研究,但是在non-iid数据集上的效果不明显,会带来更多的训练轮数与通信消耗;为了增加每个参与设备的计算量,使用带有最大平均偏差(maximummeandiscrepancy,mmd)的双流联邦学习模型;mmd是用来测量数据分布均值之间的距离。例如,给定数据分布ρ1和ρ2,则mmd可用数学表示为
[0086][0087]
其中表示映射到再生核希尔伯特空间;
[0088]
全局模型包含来自多个设备的信息,有利于本地模型的训练。双流联邦学习算法与传统fedavg对比,可以使参与设备在每一轮的本地训练中,保留全局模型作为参考,除了训练本地数据之外,还参考全局模型从其他设备中学习。具体来说,双流模型在本地训练中,通过最小化全局模型与本地模型之间的损失来保证设备学习到其他设备数据之外的特征,从而加快模型收敛的过程,减少通信的轮数,公式如下所示:
[0089][0090][0091][0092]
其中x,y分别表示样本(xi,yi)的数据与标签,表示全局模型与本地模型之间的损失,j为模型分类损失,λ为系数。在实验中,使用cnn模型在cifar-10和mnist数据集上进行了评估。结果表明,即使参与设备上的数据是non-iid形式的,提出的双流模型算法也可以在少于20%的通信轮数的情况下,使联邦学习的全局模型达到理想的精度,优于传统的方案。
[0093]
对模型进行剪枝包括在在服务器上对初始模型剪枝和在设备上对本地模型的剪枝,在服务器上对初始模型进行剪枝后,再对对聚合后的全局模型进行剪枝以删除小于0.1的权重值,反复循环直到模型的大小达到所需的修剪水平,获得小于1024千字节的模型;如
图3所示,在服务器上对初始模型剪枝后,根据联邦剪枝需要,进一步再对聚合后的全局模型进行剪枝以删除小幅度的权重值,直到模型的大小达到所需的修剪水平;通过复杂性分析和大量的模拟与真实实验,证明了该方法可以大大降低通信和计算的负载;讨论了在各种条件下模型剪枝的效果,例如在不同类型的优化方法上,对联邦学习模型剪枝的影响;
[0094]
s3:结合剪枝技术和压缩技术,基于通信效率的ce-fedavg算法对模型进行压缩,从而获得效率优化;所述步骤s3的具体步骤为:
[0095]
s31通合均匀量化:对不同数量的设备设置iid数据与non-iid数据,并通过一百次以上的实验测试设备的参与率和压缩率;
[0096]
s32指数量化:在fedavg算法的基础上加入了压缩与量化,从而减少联邦学习传输过程中的通信消耗;
[0097]
所述步骤s32的具体步骤为:
[0098]
s321:使用有损压缩技术进行有损压缩,并通过联邦dropout构造全局模型的子模型;所述步骤s321具体步骤为:将模型中每个要压缩的权值矩阵重构成向量形式,然后进行基础变换、子采样和量化操作,再通过联邦dropout在模型的全连接层将固定数量的激活向量丢弃,从而获得简化的子模型;
[0099]
s322:然后所述子模型发送给设备,设备使用本地数据对其进行解压和训练;
[0100]
s323:压缩完成后进行更新,并将该更新发回服务器;
[0101]
s324:当该更新被发送回服务器后,对该更新进行解压;
[0102]
s325:将该更新聚合到全局模型,从而完成全局模型的压缩。
[0103]
在服务器到设备之间的通信中使用有损压缩技术和使用联邦dropout技术,即向每个设备传递全局模型的子模型。在有损压缩过程中,首先将模型中每个要压缩的权值矩阵重构成向量形式,然后进行基础变换、子采样和量化操作.此时的模型大小已经比原始模型要小,为进一步减少通信消耗,通过联邦dropout在模型的全连接层将固定数量的激活向量丢弃,从而得到一个简化的子模型。在常用的数据集上进行了大量的对比实验,结果表明在不影响模型质量的情况下,该通信策略大大减少了服务器到设备的通信,节约了本地计算资源以及模型上传时产生的通信延迟。
[0104]
对于本领域的普通技术人员而言,具体实施例只是对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。
技术特征:
1.一种移动边缘网络中联邦学习的效率优化方法,其特征在于,包括以下步骤:s1:首先增加任务的并行性,通过在每一轮选择多个设备参与联邦训练,以减少训练的轮数;s2:增加设备的计算量,在全局聚合更新之前,在每个设备上执行多次训练任务;s3:结合剪枝技术和压缩技术,进行模型压缩,从而实现效率优化。2.根据权利要求1所述的移动边缘网络中联邦学习的效率优化方法,其特征在于,所述步骤s1的具体步骤为:s11:采用fedavg算法对根据联邦学习的规则训练的本地模型的参数进行平均处理,具体为,定义联邦学习的优化问题为:体为,定义联邦学习的优化问题为:其中f(w)为损失函数,w为模型参数,k代表参加训练的设备数量,数据样本总量为d,pk代表设备k拥有的数据集,其大小为dk=|pk|,i代表数据集中的数据;s12:首先分析sgd优化方法,并将其直接应用于联邦学习,即每一轮训练在设备上进行一次梯度计算,则对于每个设备k有:一次梯度计算,则对于每个设备k有:其中,t表示当前联邦学习的训练轮数,η为学习率。3.根据权利要求2所述的移动边缘网络中联邦学习的效率优化方法,其特征在于,所述步骤s2具体包括以下步骤:s21:采用fedavg算法将本地模型的一次梯度计算改变为多次梯度计算,即对设备k进行多次本地训练,如公式(5)所示:其中,w为模型参数,η为学习率,k为设备。s22:设置设备训练参数,增加端设备的计算量,将模型剪枝与联邦学习相结合,并将模型训练和剪枝同时反复进行,获得小于1024千字节的模型。4.根据权利要求3所述的移动边缘网络中联邦学习的效率优化方法,其特征在于,所述步骤s3的具体步骤为:s31通合均匀量化:对不同数量的设备设置iid数据与non-iid数据,并测试设备的参与率和压缩率;s32指数量化:在fedavg算法的基础上加入压缩与量化,从而减少联邦学习传输过程中的通信消耗。5.根据权利要求3所述的移动边缘网络中联邦学习的效率优化方法,其特征在于,所述
步骤s22中采用双流联邦学习模型进行训练,以增加端设备的计算量,具体包括以下步骤:s221:设置设备训练参数包括输入和输出,其中输入的设备数量设为k,每一轮选择设备的选择比例设为c,设备训练的本地数据批量大小设为b,设备上本地迭代的次数设为e,学习率为η;输出的模型参数设为w;s222:服务端的处理,包括:s2221:初始化全局模型w0;s2222:确定需要选择设备的数量m
←
max(c
×
k,1);s2223:服务器随机选择m个设备并下发全局模型;s2224:设备k=0,1,2,
…
,m本地训练得到s2225:利用公式(4)进行全局聚合;s2226:重复步骤s2222~s2225直到模型w收敛,其中t为轮数;s223:服务端的处理,包括:s2231:将本地数据集pk划分为大小为b的样本批量;s2232:对于b中的样本用公式(5)进行权值更新;s2233:重复e次步骤s2232;s2234:将训练好的本地模型w发送到服务端。6.根据权利要求3所述的移动边缘网络中联邦学习的效率优化方法,其特征在于,所述步骤s22中模型剪枝包括在在服务器上对初始模型剪枝和在设备上对本地模型的剪枝,在服务器上对初始模型进行剪枝后,再对对聚合后的全局模型进行剪枝以删除小于0.1的权重值,反复循环直到全局模型的大小达到所需的修剪水平,获得小于1024千字节的模型。7.根据权利要求4所述的移动边缘网络中联邦学习的效率优化方法,其特征在于,所述步骤s32的具体步骤为:s321:首先采用有损压缩技术进行有损压缩,并通过联邦dropout构造全局模型的子模型;s322:然后所述子模型发送给设备,设备使用本地数据对其进行解压和训练;s323:压缩完成后进行更新,并将该更新发回服务器;s324:当该更新被发送回服务器后,对该更新进行解压;s325:将该更新聚合到全局模型,从而完成全局模型的压缩。8.根据权利要求7所述的移动边缘网络中联邦学习的效率优化方法,其特征在于,所述步骤s321具体步骤为:将全局模型中每个要压缩的权值矩阵重构成向量形式,然后进行基础变换、子采样和量化操作,再通过联邦dropout在模型的全连接层将固定数量的激活向量丢弃,从而获得简化的子模型。
技术总结
本发明涉及一种移动边缘网络中联邦学习的效率优化方法,包括以下步骤:S1:首先增加任务的并行性,通过在每一轮选择多个设备参与联邦训练,以减少训练的轮数;S2:增加设备的计算量,在全局聚合更新之前,在每个设备上执行多次训练任务;S3:结合剪枝技术和压缩技术,基于通信效率的CE-FedAvg算法对模型进行压缩,从而实现效率优化。该移动边缘网络中联邦学习的效率优化方法采用联邦学习把训练任务分散到每个移动设备上,通过云端协作与云边端协作的方式,结合MEC等边缘计算平台,将更多的计算卸载到边缘或设备端,以减少训练轮数,从而提高优化效率和优化的准确性。优化效率和优化的准确性。优化效率和优化的准确性。
技术研发人员:孟维 詹新颖 王计斌
受保护的技术使用者:南京华苏科技有限公司
技术研发日:2021.12.07
技术公布日:2022/3/8