一种基于云边端的联邦学习计算卸载计算系统及方法

文档序号:25089908发布日期:2021-05-18 19:50阅读:208来源:国知局
一种基于云边端的联邦学习计算卸载计算系统及方法

1.本发明涉及了在5g网络驱动下的移动边缘计算网络的计算卸载和资源分配,具体涉及一种基于云边端的联邦学习计算卸载计算系统及方法。


背景技术:

2.近年来,在物联网的普及推动下,网络边缘产生的数据呈现爆炸式增长。不能保证低延迟和位置感知削弱了传统云计算解决方案的能力。据idc预测,截止2020年底有超过500亿终端和设备联网,其中超过50%的数据需要在网络边缘分析、处理与存储。而传统的“云端二体协同计算”模式已无法满足低时延与高带宽的需求。移动边缘计算(mec)正在成为一种新的引人注目的计算范式,它推动云计算能力更接近终端用户,支持各种计算密集型但对延迟敏感的应用,如人脸识别、自然语言处理和互动游。mec的关键功能之一是任务卸载(又名,计算卸载),它能够卸载计算密集型任务的移动应用程序从用户设备(ue)到mec主机在网络边缘,从而打破移动设备的资源限制,拓展移动设备的计算能力、电池容量和存储能力等。虽然边缘服务器可以为终端提供云功能,但由于其固有的无线和计算能力有限,可能无法为所有终端提供服务。一方面,不确定的卸载任务数据量大小和时变的信道条件使计算卸载难以做出精准的决策。另一方面,分布式异构的边缘基础设施中卸载过程用户个人敏感信息等存在被截获和泄露的风险。


技术实现要素:

3.本发明的目的在于提供一种基于云边端的联邦学习计算卸载计算系统及方法,以克服现有技术的不足。
4.为达到上述目的,本发明采用如下技术方案:
5.一种基于云边端的联邦学习计算卸载资源分配方法,包括以下步骤:
6.s1,构建全局模型,并将初始化的全局模型和任务广播给任务选择的本地设备;
7.s2,基于初始化的全局模型,每个本地设备分别使用其本地数据和本地设备参数更新迭代本地模型参数,当达到设定迭代次数后,将所有本地设备计算的梯度数据超过阈值的重要梯度对应的本地模型参数进行边缘参数聚合,根据边缘参数聚合结果参数更新全局模型参数后将更新后的全局模型反馈至各本地设备;
8.s3,当边缘参数聚合达到设定聚合次数后,进行一次云端参数聚合;
9.s4,重复步骤s2

s3直到全局损失函数收敛或者达到设定的训练精度,完成全局模型训练;
10.s6,利用训练完成的全局模型对每一个计算卸载任务的信息量进行预测得到计算卸载的数据量的大小,根据计算卸载的数据量的大小以成本最小化进行资源分配。
11.进一步的,本地设备分别使用其本地数据和本地设备参数更新本地模型参数:
12.13.t为当前迭代指标,i为第i个本地设备,在当前迭代指标t中本地设备i的目标是寻找使损失函数最小的最优参数
14.进一步的,当达到设定迭代次数后,将所有本地设备计算的梯度数据超过阈值的重要梯度上传到边缘服务器。
15.进一步的,云参数聚合具体过程如下公式:
[0016][0017]
{d
ζ
}表示边缘服务器ζ下聚集的数据集,卸载任务的数据集以的形式分布在n个客户端上,其中|d
i
|,|d|分别表示本地训训练样本i和总的训练样本数量。
[0018]
进一步的,迭代过程中进行参数稀疏化,采用标准的分散随机梯度下降方法,本地设备通过本地数据集d
i
更新本地参数为
[0019][0020]
t表示当前迭代,w
t
表示参数w在迭代t的值;f(x,w
t
)表示由输入数据x和当前参数w
t
计算的损失;g
k,t
表示节点k在t次迭代关于w
t
的梯度;sparse(g
k,t
)表示g
k,t
的稀疏梯度;其中η是学习率,表示从客户端i的一个小批量数据样本得到的梯度f
i
(w)的估计;即:
[0021][0022]
进一步的,在每次迭代t开始时,在工作节点k上,从当前参数w
t
和从本地数据块b
k,t
采样的数据计算出损失f(x,w
t
)后,可求得梯度f(x,w
t
),令f(x,w
t
),b
k,t
为工作节点k的本地数据块,大小为b;按绝对值对每个参数的梯度元素进行排序,将计算的梯度数据超过阈值的重要梯度上传到边缘服务器。
[0023]
进一步的,利用与资源分配约束相关联的对偶变量进行一维双截面搜索实现资源分配。
[0024]
一种计算卸载资源分配系统,包括本地设备、边缘服务器和云端服务器;
[0025]
边缘服务器用于将初始化的全局模型和任务广播给任务选择的本地设备;本地设备基于初始化的全局模型,根据其自身本地数据和本地设备参数更新本地模型参数,并将更新后的本地模型反馈至边缘服务器;
[0026]
边缘服务器对收到不同本地设备反馈的本地模型进行参数聚合,并根据边缘参数聚合结果参数更新全局模型参数后将更新后的全局模型反馈至各本地设备,当边缘参数聚合达到设定聚合次数后,云端服务器根据边缘服务器聚合的全局模型进行一次云参数聚合;本地设备将任务输入至边缘服务器,边缘服务器利用最终的全局模型对每一个计算卸
载任务的信息量进行预测得到计算卸载的数据量的大小,根据计算卸载的数据量的大小以成本最小化进行资源分配。
[0027]
进一步的,本地设备基于初始化的全局模型根据其自身本地数据和本地设备参数更新本地模型参数其中t为当前迭代指标,i为第i个本地设备,在当前迭代指标t中本地设备i的目标是寻找使损失函数最小的最优参数,即:
[0028][0029]
当进行k1轮迭代学习后(即达到设定迭代次数后),将计算的梯度数据超过阈值的重要梯度上传到边缘服务器。
[0030]
进一步的,一个云端服务器连接多个边缘服务器,每个边缘服务器连接若干本地设备,每个边缘服务器参数聚合与其连接的本地设备的本地模型参数;云端服务器云参数聚合与其连接的多个边缘服务器参数聚合后的全局模型参数。
[0031]
与现有技术相比,本发明具有以下有益的技术效果:
[0032]
本发明一种基于云边端的联邦学习计算卸载资源分配方法,可以满足在不共享隐私数据的前提下对多方数据进行训练学习的现实需求,以实现对计算任务卸载和资源分配做出准确决策,消除了求解组合优化问题的需要,大大降低了计算复杂度;基于云边端3层联邦学习综合利用了边缘节点距离终端的邻近优势,也利用了云计算中心强大的计算资源,弥补了边缘节点计算资源不足的问题,通过在多个客户端各自训练一个本地模型用以预测卸载任务,通过周期性的在边缘端执行一次参数聚合形成一个全局模型,边缘执行周期性聚合后云端执行一次聚合,如此直到收敛形成一个全局bilstm模型,全局模型可以智能的对每一个卸载任务的信息量进行预测,从而更好为计算卸载和资源分配提供指导。
[0033]
进一步的,为了优化联邦学习的通信量,在本地对各自拥有的数据集进行学习,在经过多轮训练后,将稀疏化的梯度前s%进行压缩上传至边缘参数服务器,边缘参数服务器经过轮聚合后将参数上传至云端服务器聚合,直至收敛,实现了接近集中式学习方法的精度下,有最大限度保护了用户的安全隐私。
[0034]
进一步的,将上传的梯度所采用参数稀疏化,即每次只将重要梯度压缩后上传至中心服务器对全局模型进行优化合并,这大大降低了联邦学习客户端和服务器端的通信开销,近而更加高效加速模型的聚合,加快了模型收敛速度。
[0035]
本发明一种计算卸载资源分配系统,采用云



端3层的联邦学习框架,该框架既利用了边缘服务器与终端节点的天然邻近性和实时性计算优势,也弥补了边缘服务器计算资源有限的缺点,使用基于bi

lstm的联邦学习机制,使参与计算卸载的终端设备本地训练一个bilstm模型预测任务的数据量大小,之后分别定期在云端和边端执行参数聚合,消除了求解组合优化问题的需要,从而大大降低了计算复杂度。
附图说明
[0036]
图1是本发明实施例中基于bi

lstm的云



端联邦学习框架图。
[0037]
图2是本发明实施例中bi

lstm预测任务预测图。
[0038]
图3是本发明实施例中云



端联邦学习顺序图。
[0039]
图4是本发明实施例中两阶段求解优化图。
具体实施方式
[0040]
下面结合附图对本发明做进一步详细描述:
[0041]
一种基于云边端的联邦学习计算卸载资源分配方法,包括以下步骤:
[0042]
s1,构建全局模型,并将初始化的全局模型和任务广播给任务选择的本地设备;
[0043]
全局模型用于计算目标应用程序和相应的数据需求。
[0044]
s2,基于初始化的全局模型每个本地设备分别使用其本地数据和本地设备参数对本地设备收到的全局模型进行更新迭代,即更新本地模型参数其中t为当前迭代指标,i为第i个本地设备,在当前迭代指标t中本地设备i的目标是寻找使损失函数最小的最优参数,即:
[0045][0046]
当进行k1轮迭代学习后,将计算的梯度数据超过阈值的重要梯度上传到边缘服务器;本地设备只传输绝对值超过梯度阈值的重要梯度,并在学习过程中本地累积其余梯度,即累计绝对值低于梯度阈值的梯度。
[0047]
s3,当本地设备执行k1轮迭代学习后,边缘服务器从每个本地设备i收集上传的本地模型参数并将各本地设备的本地模型参数汇总形成参数集,之后将汇总的参数集w
n
=[w1,w2,...w
m
]执行边缘参数聚合,更新全局模型参数并反馈回上传的本地模型参数的本地设备(即各本地设备);
[0048]
s4,当边缘服务器执行k2轮边缘参数聚合后,通过云端服务器执行一次云参数聚合;即本地客户端每k1轮迭代学习,边缘服务器执行k2轮边缘参数聚合后,云端服务器执行一次参数聚合;云端服务器每轮的参数更新计算的过程如公式(1)所示:
[0049][0050]
{d
ζ
}表示每个边缘服务器ζ下聚集的数据集,卸载任务的数据集以的形式分布在n个客户端上,其中|d
i
|,|d|分别表示本地训训练样本i和总的训练样本数量。其中,这些分布式数据集不能被参数服务器直接访问。f(w)为全局损失,以本地数据集d
i
上的本地损失函数f
i
(w)的加权平均形式计算。其中,f(w)和f
i
(w):
[0051][0052][0053]
s5,重复步骤s2至s4,直到全局损失函数收敛或者达到设定的训练精度,完成全局模型训练;
[0054]
s6,利用训练完成的全局模型对每一个计算卸载任务的信息量进行预测得到计算卸载,根据计算卸载的数据量的大小,从而从更加精准的做出计算卸载和资源分配决策。
[0055]
迭代过程中进行参数稀疏化,采用标准的分散随机梯度下降(decentralized stochastic gradient descent,dsgd)方法,本地设备通过本地数据集d
i
更新本地参数为:
[0056][0057]
t表示当前迭代,w
t
表示参数w在迭代t的值;f(x,w
t
)表示由输入数据x和当前参数w
t
计算的损失;本地数据集d
i
包括本地数据和本地设备参数;g
k,t
表示节点k在t次迭代关于w
t
的梯度。sparse(g
k,t
)表示g
k,t
的稀疏梯度;其中η是学习率,表示从客户端i的一个小批量数据样本得到的梯度f
i
(w)的估计;即:
[0058][0059]
如图1所示,在每次迭代t开始时,将移动设备视为n个分布式工作节点(working node),工作节点k(1≤k≤n)有他的本地数据块b
k,t
,大小为b。在工作节点k上,从当前参数w
t
和从本地数据块b
k,t
采样的数据计算出损失f(x,w
t
)后,可求得梯度f(x,w
t
)。令f(x,w
t
).我们不传输完整的梯度g
k,t
,而是先确定压缩率s%,然后按绝对值对每个参数的梯度元素进行排序,在梯度的所有元素中,只有排在s%前面的元素在节点之间进行交换,s为梯度阈值;即将计算的梯度数据超过阈值的重要梯度上传到边缘服务器。这里用sparse(g
k,t
)表示稀疏梯度;剩余的梯度g
k,t

sparse(g
k,t
)在本地积累,等待增长到足够大以进行交换。
[0060]
全局模型基于联邦学习,在全局模型预测的任务基础上,给定任务的数据输入大小之后,原优化问题(p1)可简化为凸问题(p2)的资源分配问题,凸问题(p2)的最优时间分配{a,p}可以有效地得到解决,例如,在o(n)复杂度下,利用与资源分配约束相关联的对偶变量进行一维双截面搜索。
[0061]
如图1所示,一种基于云边端的联邦学习计算卸载计算系统,包括本地设备、边缘
服务器和云端服务器,
[0062]
边缘服务器用于将初始化的全局模型和任务广播给任务选择的本地设备;本地设备基于初始化的全局模型根据其自身本地数据和本地设备参数更新本地模型参数,并将更新后的本地模型反馈至边缘服务器;
[0063]
边缘服务器对收到不同本地设备反馈的本地模型进行参数聚合,并根据边缘参数聚合结果参数更新全局模型参数后将更新后的全局模型反馈至各本地设备,当边缘参数聚合达到设定聚合次数后,云端服务器根据边缘服务器聚合的全局模型进行一次云参数聚合;本地设备将任务输入至边缘服务器,边缘服务器利用最终的全局模型对每一个计算卸载任务的信息量进行预测得到计算卸载的数据量的大小,根据计算卸载的数据量的大小以成本最小化进行资源分配。
[0064]
本地设备基于初始化的全局模型根据其自身本地数据和本地设备参数更新本地模型参数其中t为当前迭代指标,i为第i个本地设备,在当前迭代指标t中本地设备i的目标是寻找使损失函数最小的最优参数,即:
[0065][0066]
当进行k1轮迭代学习后(即达到设定迭代次数后),将计算的梯度数据超过阈值的重要梯度上传到边缘服务器;本地设备只传输绝对值超过梯度阈值的重要梯度,并在学习过程中本地累积其余梯度,即累计绝对值低于梯度阈值的梯度。
[0067]
当本地设备执行k1轮迭代学习后,边缘服务器从每个本地设备i收集上传的本地模型参数并将各本地设备的本地模型参数汇总形成参数集,之后将汇总的参数集w
n
=[w1,w2,...w
m
]执行边缘参数聚合,更新全局模型参数并反馈回上传的本地模型参数的本地设备(即各本地设备);
[0068]
当边缘服务器执行k2轮边缘参数聚合后,通过云端服务器执行一次云参数聚合;即本地客户端每k1轮迭代学习,边缘服务器执行k2轮边缘参数聚合后,云端服务器对边缘服务器参数聚合后的数据进行一次参数聚合;云端服务器每轮的参数更新计算的过程如公式(1)所示:
[0069][0070]
直到全局损失函数收敛或者达到设定的训练精度,完成全局模型训练。
[0071]
一个云端服务器连接l个边缘服务器,每个边缘服务器用ζ表示,每个边缘服务器所属的客户端集合为{d
ζ
}表示每个边缘服务器ζ下聚集的数据集,每个边缘服务
器聚合来自它的客户端的本地模型参数。
[0072]
利用训练完成的全局模型对每一个计算卸载任务的信息量进行预测得到计算卸载,根据计算卸载的数据量的大小,从而从更加精准的做出计算卸载和资源分配决策。
[0073]
用户输入(即通过本地设备输入):基于联邦学习算法的用户输入是一个本地数据和本地设备参数样本x
m
,它包括每个用户在不同时间段历史请求的任务的数据大小;令其中k
m
为用户m的数据样本数,对于每个数据样本样本其中,是用户当前时刻的位置。
[0074]
用户输出(即通过本地设备输出):经过本地设备更新迭代的本地模型,即训练的本地bi

lstm模型(本地模型)输出是一个向量w
m
,表示与本地设备确定用户m的任务数据量大小信息的bi

lstm模型相关参数;
[0075]
边缘服务器输入:基于bi

lstm的联邦学习算法将矩阵w
n
=[w1,...,w
m
]作为输入,其中,w
m
是接受自用户m的模型参数;
[0076]
边缘服务器输出:通过汇总接收到的每个客户端的梯度数据,执行参数聚合形成一个全局模型,并将聚合后的更新参数发给每个客户端,客户端收到参数后覆盖本地模型参数,进行下一轮迭代;
[0077]
即每个客户端mu i执行k2次本地模型更新,每个边缘服务器聚集与其连接的客户的模型;之后每k2次边缘模型聚合,则云服务器聚集所有边缘服务器的模型,这意味着每k1k2本地更新后执行一次与云通信。如时序图所示,所提出的云边端联邦学习算法主要步骤如下:
[0078]
图2是bi

lstm预测任务预测,目的是为计算写在任务进行预测:
[0079]
设有n个移动用户的计算任务需要卸载到与其蜂窝网络相关联的边缘服务器进行处理;采用基于bi

lstm的深度学习算法对计算任务进行预测。如图2所示,在给定时间步t时刻的输入x
t
条件下,bilstm单元的隐层输出h
t
可有以下公式计算得出:
[0080]
g
t
=tanh*(w
xg
v
t
+w
hg
h
t
‑1+b
g
)
[0081]
i
t
=sigmoid*(w
xi
v
t
+w
hi
h
t
‑1+b
i
)
[0082]
f
t
=sigmoid*(w
xf
v
t
+w
hf
h
t
‑1+b
f
)
[0083]
o
t
=sigmoid*(w
xo
v
t
+w
ho
h
t
‑1+b
o
)
[0084][0085]
h
t
=o
t
tanh(c
t
)=sigmoid*(w
xo
v
t
+w
ho
h
t
‑1+b
o
)*tanh(c
t
)
[0086]
其中i,f,o,c分别表示输入门、遗忘门、输出门和细胞状态向量,w代表各权重矩阵(例如w
ix
为输入到输入门间的权重矩阵),x
t
代表各时刻的模型输入值,b代表偏置项向量。由于sigmod函数的输入值为[0,1],可以作为平衡信息被“遗忘”或者“记忆”程度的指标,因此门限单元都以此作为激活函数;
[0087]
最后,最后一个完整的连接层集成了前面提取的特征,得到了输出序列
其中,代表预测的计算任务l的数据量大小。在此得到的预测数据大小将用于后续的卸载策略计算。因此,算法的优化目标是尽可能多的提高预测任务的输入数据大小精度
[0088]
图3是云



端联邦学习顺序图,可以形象的描述了整个云边端联邦学习方法的交互过程,由图3可知,即每个客户端mu i执行k1次本地模型更新,每个边缘服务器聚集其客户的模型;之后每k2次边缘模型聚合,则云服务器聚集所有边缘服务器的模型,这意味着每k1k2本地更新后执行一次与云通信。
[0089]
最后,图4是一个流程图,与现有的许多深度学习方法同时优化所有系统参数从而产生不可行解不同,本申请提出了一种基于智能任务预测和资源分配的两阶段优化方案,即将复杂优化问题分解为智能任务预测,之后通过预测的任务信息进行精准的计算卸载决策和资源分配。因此,它完全消除了解决复杂的mip(mixed integer programming)问题需要,计算复杂度不会随着网络规模的增加而爆炸。
[0090]
实施例:
[0091]
首先在每一个本地设备(客户端)利用历史卸载任务训练一个bilstm模型,通过在边缘服务器和云端服务器聚合形成一个全局模型;当下一次任务新的卸载任务到来时,采用聚合形成的全局模型对任务进行预测,预测的输出作为计算卸载决策和资源分配的指导,在训练过程中我们把每次的梯度数据通过数据稀疏化方法进行压缩上传,从而大大降低了通信开销,加快模型收敛和计算决策与资源分配的复杂度。
[0092]
本发明通过建立一套完整的模型训练预测到通信优化方法,最后可以快速求解计算卸载和资源分配。我们考虑的框架可对应当前5g驱动的mec网络下一个静态的物联网网络,该网络的发射机和接收机固定在某个位置。以n=30的mec网络为例,我们设计的bifos算法的收敛时间平均为0.061秒,这对于现场部署来说是可以接受的开销。因此bifos算法使得信道衰落环境下无线mec网络的实时卸载和资源分配成为切实可行的。
[0093]
本发明公开了一种基于云边端的联邦学习计算卸载和资源分配方法,我们首先提出一种基于bilstm的联邦学习智能任务预测机制,每个参与计算的边服务器在本地独立地进行训练模型,无需上传数据到边缘服务器。然后定期在边端和云端进行参数聚合,构建的目的是共同训练一个通用的全局bi

directional long short

term memory(bilstm)模型来预测计算任务的数据量信息等,从而更加精准的指导计算卸载决策和资源分配。该机制消除了求解组合优化问题的需要,大大降低了计算复杂度,特别是在大型网络中。并且该机制确保在分布式异构的边缘基础设施中参与卸载过程的用户个人敏感信息等不被截获和泄露。为了进一步减少联邦学习在模型优化过程中的网络通信开销,我们改进favg算法,设计了云



端3层的联邦学习框架,将上传的梯度采用参数稀疏化,即每次只将重要梯度压缩后上传至参数服务器。该框架综合利用了边缘服务器与终端设备的邻近性优势和云计算中心强大计算资源,弥补了边缘服务器计算资源不足的缺点。最后,实验结果表明,在不收集用户私有数据的情况下,我们的算法在预测精度优于其他基于学习的卸载算法,且可减少30%的能效。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1