基于长短期记忆神经网络的车辆边缘计算卸载策略
2021-07-16陈晗頔赵婷婷
陈晗頔 赵婷婷
(天津科技大学人工智能学院 天津 300457)
0 引 言
信息化技术的迅速发展及先进的通信技术为车辆服务带来了空前的发展机遇,智能终端上的各种应用在车联网环境中产生了大量的待处理数据,给车联网的娱乐服务、智能导航、交通预测、自动驾驶等领域带来了新的发展。在此情况下,仅仅依赖本地车辆进行处理显然会带来大量的计算和存储负担[1]。提升硬件设备、扩充本地存储资源固然可解决上述问题,但高昂的设备费用阻碍了其在实际生活中的应用。针对这一问题,集中式云服务应运而生[2],将计算任务和存储任务依赖蜂窝网络卸载到云端无疑是利用虚拟技术进行资源扩充的高效方法,但频繁连接到云平台进行上传下载,将会带来大量的延迟,影响用户的使用效果。
边缘计算技术作为一种新兴技术,为集中式云计算所产生的大量延迟提供了解决思路。将边缘计算与传统车载网络相结合,增强了车辆提供服务的能力。车联网环境中的计算节点的选取通常选择配有移动边缘计算(Mobile Edge Computing,MEC)服务器的道路侧单元(Roadside Unit,RSU)。随着车联网环境的不断成熟和发展,除了道路边这些固定的边缘计算设备外,还可以将车联网环境中行驶的车辆作为边缘计算节点进行处理[3-4]。
计算卸载是边缘计算面向用户最常见的应用,通过将计算量较大要求较高的任务卸载到边缘节点上,将计算资源和存储资源根据子任务的需求进行合理分配,使边缘设备资源能够得到充分利用。当设备进行计算卸载时,合理利用边缘设备资源能够极大提高任务的处理效率。
近年来,深度学习的发展如火如荼,其仿生物大脑神经网络的结构模拟出深层结构。人类的大脑可以首先学习简单的概念,然后结合起来抽象出更高的概念,基于对此优势的探究,很多深度学习研究者投入精力去研究多个抽象和处理级别的方法来解决其他领域的问题,在车联网中常应用于自动驾驶、新能源汽车、车载应用等[5]。边缘计算作为正在发展的新兴技术,与深度学习的结合将带来更好更快的发展和更多的应用模式。因此,如何结合深度学习利用边缘计算卸载合理地进行任务和计算的处理,将是本文探索的核心内容。本文通过判定当前环境和特征数据,决定是否进行计算任务卸载,即决策结果为卸载执行或本地执行。基于这样的问题模型,本文将卸载决策设计为一个二分类问题。支持向量机算法普遍被用于分类问题,逻辑回归算法利用Sigmoid函数在二分类问题上也有着很好的表现。深度神经网络通过对特征的复杂交叉处理,在分类问题中逐渐表现出优于传统方法的效果。但神经网络过于复杂的训练和特征处理在实际应用的车联网环境中意味着更高的计算压力。同时,面对动态的车辆环境在现有的卸载决策中常用马尔可夫决策进行模型设计[6-7]。然而,现实中数据会出现长期依赖的情况,当实际发展随着时间产生较大的变化时,过时的数据会影响设备做出准确判断。
为了解决上述问题,使车辆能够在一个路侧单元内完成计算任务,本文提出基于长短期记忆神经网络的卸载决策。
1 相关研究
随着云计算的研究热潮逐渐平缓下来,边缘计算将通信技术带入了一个全新的时期,我国边缘计算的发展始于2016年,随后逐渐进入人们的视野。自2019年边缘计算成为研究热点,得到了研究者们的广泛关注。在国外,以思科为代表的部分网络公司正在集中精力主导OpenFog开放雾联盟,其发展以雾计算为主。
担任边缘节点的设备中,计算资源和计算能力十分有限,边缘计算并不能替代云计算,但可以更好地协助云计算。Ning等[8]使用了传统的迭代启发式算法分配资源使边缘计算辅助云计算执行任务。通过输入初始值,可以进行计算,并通过调整决策矩阵得出最小执行延迟,直到不存在MEC资源冲突时输出最终的卸载决策。考虑到多用户环境,对于用户干扰和资源冲突的情况,通过迭代的方式调整决策矩阵得出最小执行延迟,直到不存在MEC资源冲突时输出最终的卸载决策。传统的启发式算法是分配资源的常用算法,在情况不是很复杂任务量不大的情况下适用,但并不适用于大型的动态分配问题[8]。该方法在理论上证明了云计算和边缘计算合理地进行分配,二者协同工作能够得到更好的效果。
边缘计算卸载的宗旨在于提供更好的服务质量,在面向用户的层面更多的还是提供合理的资源和更低的延迟。除了直接进行合理的计算卸载,充分利用缓存技术也是协助移动边缘计算的发展方向之一。邓志龙等[9]提出了一种通过深度强化学习(Deep Reinforcement Learning,DRL)解决缓存决策权衡问题,并建立上下文感知的智能缓存技术。为了让边缘节点能够通过分析采集的数据学习策略,进行前瞻性预测,优化长期缓存性能。应用DRL进入移动边缘缓存实现缓存能够满足复杂和动态的代理,通过原始的观察来学习环境信号。建立智能策略,让节点学习新状态新动作并能够匹配下一步操作。通过使用自动编码器,来将高维的观测数据嵌入到低维空间中,以此建立深度动态模型,基于深度神经网络的过滤模型能够处理由于使用不完善而引起的问题,其优势体现在构建更高效的缓存策略上。
在边缘卸载决策中,目前的研究主要关注如何制定合理的卸载决策,减轻本地的负担。在有限的计算资源和信道资源中,如何协调设备之间的资源竞争,合理且高效地利用边缘设备也是亟待解决的问题[10]。考虑到车联网的高度动态环境,线下资源的充分利用可以减轻线上的负担,Wei等[11]在其研究中使用了线上与线下结合的方式进行线下训练模型,可以节省大量的线上时间,但其带来的问题则是不能很好地匹配动态环境。由于边缘设备的计算资源非常有限,其卸载策略往往设计为分布式。Li等[12]基于遗传算法、蚁群算法和模拟退火算法开发了分布式的卸载策略,能够很好地适应函数进行目标优化,且能够很好地契合卸载场景。契合卸载场景在于高速动态变化的场景中意义尤其重要,在车联网的边缘计算中,更加需要策略能够适应动态环境,保证用户在移动过程中获得服务的连续性。提升服务的连续性由以下常见的三种选择:1) 通过增加基站的传输功率来提高用户的服务质量,这种方法受限于仅适用在用户的移动速度较慢,并且移动距离较近时;2) 原MEC服务器通过回程链路与移动设备进行通信,但服务器与本地设备距离不可过远,以免用户获得服务的延迟过高;3) 将关注点放在虚拟机迁移技术上[13]。除此之外亦有其他方法来保证服务的连续性,这也是进行车联网环境的卸载决策设计中的重要考虑方向。
随着5G通信技术的发展,流量的指数级增长为计算带来了更加沉重的负担。王秋宁等[14]在研究中详细介绍了MEC和MEFC可以有效缓解指数级数据流量带来的压力,为未来5G环境提出了构想。Singh等[15]提出了合理利用“端-边-云”协作与“边-云”协作的思路进行边缘设备的可用资源分配。高效调度可以很大程度上减轻大量的流量数据带来的计算与资源负担。预计5G环境下各个领域计算卸载的研究,将得到较高的重视成为研究重点方向。
卸载决策的选择与设计要依赖于对应用情境的判断。通过现有研究仿真测评性能发现,通过将计算量卸给MEC,可以节省高达90%的能源,甚至可以减少高达98%的执行延迟[16]。而如何对能耗和执行延迟进行选择和权衡,则需要在具体的应用场景中分析。现有的研究集中在将任务进行分割并部分卸载而非全部卸载,更多的决策算法的目标是在满足执行延迟的前提下使能量最小化。在应用场景中设计决策应分析以上两个指标之间的平衡[17]。
2 卸载系统框架及建模
2.1 卸载场景说明
边缘计算卸载决策是基于车联网环境建立的,其在车辆网络中的卸载场景设置如图1所示。
图1 车联网卸载场景示意图
在图1中,假设道路是笔直的,道路两旁认为等距分布着路侧单元,并且认为每一个RSU都配置了一个MEC服务器,使路侧单元可以提供存储和计算的能力。在场景中,RSU间距为L,MEC服务器的覆盖范围也为L,即认为当车辆进入场景中,可以无缝切换连接到每一个MEC服务器。而车辆为了保持任务的连续性,在行驶过程中切分任务上传到范围内的RSU上执行,要求在离开该MEC服务器覆盖范围前,接收该MEC服务器的返回值。在此,将MEC服务器的集合M表示为M={m1,m2,…,mn},MEC服务器mi的接入覆盖直径为L。
2.2 系统建模
在图1的场景中,假设有k辆车,车的集合可表示为V={v1,v2,…,vk}。利用香农公式,可以得到车辆vi(vi∈V)的传输速率为:
(1)
式中:p为传输功率;g为通道增益;N为高斯白噪声的单边功率谱密度;B为信道带宽。基于式(1),数据的上传延迟和下载延迟的计算公式表示为:
(2)
(3)
假设任务是否能够顺利到达的概率遵循泊松分布,且在一个区域内,MEC的服务可以认为是一个M/M/1队列,设MEC服务器mi上,任务的平均到达率为αi,平均服务率为ζi,服务强度ρi可以设定为αi/ζi,根据排队论计算平均等待时间,即:
(4)
将计算任务卸载到MEC服务器上的所有延迟累积起来,就可以得到MEC服务器mi的平均执行延迟为:
(5)
在MEC服务器mi覆盖的区域内,任务可以选择的是卸载或在本地执行,则平均响应延迟可以计算为:
(6)
本文将最小化降低执行任务过程中产生的总响应延迟作为目标函数,即:
(7)
通过对其延迟的计算,可以对是否进行卸载做出初步判断[18]。为了降低线上的执行延迟和计算压力,本文采用线上线下结合的方式进行卸载决策的生成,通过线下进行神经网络的训练,线上利用线下训练好的神经网络进行决策。
3 基于长短期记忆神经网络的卸载决策
通过对实际应用场景的分析可知,场景中的状态数据变化会随着时间改变,因而可以将其视为时间序列。根据这一特点,本文引入了长短期记忆(Long Short Term Memory,LSTM)神经网络进行卸载决策的设计。
LSTM神经网络的设计基于循环神经网络的重复的链式形式。在标准的LSTM中神经元之间以一个特殊的形式进行着交互,这样的每一个单元看作一个block,其每个block都具有输入门、遗忘门、cell门、输出门和最终输出。通过这些门限的设定,对信息的保留与舍弃进行适当的限制,使LSTM神经网络能够对联系紧密的时间序列有着更好的表现。接下来将对这些门限依次进行分析。
(8)
(9)
(10)
(11)
(12)
(13)
式中:g表示cell输入的激活函数。
(14)
(15)
综合以上计算,最终的cellc的输出为输出门与cell做乘积,为:
(16)
式中:h表示输出的激活函数。
在本文的分类问题中,利用Softmax来输出为某一类的概率,将决策问题设计成为分类问题,且其概率和为1。
(17)
(18)
式中:zk为真实值。将损失函数的计算值进行反向传播,各单元的权重依次通过梯度下降法寻找参数的全局最优解来更新每一个权重ω。
(19)
通过如上的在各个时刻和各个block中的处理,以及cell对信息的判断,其各个权重不断进行更新,如图2所示,最终借助Softmax输出属于的两种类别中概率最大的位置,得到其输入数据分类,即MEC卸载(对应类别为1),本地执行(对应类别为0)。
图2 LSTM中一个block的权重示意图
4 实验与性能评估
在仿真实验中,输入为任务向量X,X中包括任务数据量、任务计算所需资源、车速、本地数据处理速率、MEC服务器数据处理速率和当前服务器的剩余资源量。输出设置为二分类问题,即若输出为0,则在本地执行;若输出为1,则进行卸载操作。
在实验中,为了使实验结果更具有普遍性、一般性,我们基于时间戳生成随机数据,进行仿真实验来对比不同算法的性能。实验中,随机产生K个任务,将每一个任务向量设定7个特征,每个任务向量可以表示为X=(xsize,srequire,v,rv,rt,rmec,sremain), 其中:xsize为任务数据量;用来衡量任务的大小;srequire为任务所需资源量;v代表当前任务所属车辆的车速;rv为本地车辆数据处理速率;rt代表任务数据传输速率;rmec为RSU配置的MEC服务器的数据处理速率;sremain为MEC剩余资源量。对于生成的K个训练数据,其7个特征X作为输入,根据式(5)和式(6)计算平均响应延迟及总响应延迟,最终输出卸载决策,即MEC卸载(值为1)或本地执行(值为0)。在训练网络时,将生成数据集的70%作为训练集,剩余30%作为测试集。在获取决策函数或决策神经网络过程中所需要的具体参数如表1所示[19]。在神经网络中,神经元之间的权重调整体现在其学习率上[20],ANN和LSTM两种神经网络算法的学习率均设为0.02,实验过程中将每2条输入的任务向量为神经网络的一组输入数据,使输入数据具有时序联系。
表1 参数设置表[19]
为了验证本文算法的高效性,对比实验选择了常用的二分类算法:支持向量机(Support Vector Machine,SVM)[19]与逻辑回归(Logistic Regression,LR),并与人工神经网络(Artificial Netural Networks,ANN)进行对比。
在使用支持向量机算法进行决策之前,首先对支持向量机的不同核函数进行了测试,如图3(a)所示,使用了高斯核函数(RBF)、线性核函数(Linear)和Sigmoid核函数三种核函数在不同数据个数下进行训练的准确率测试,但从图3(a)中可以看出RBF核函数的分类结果和Sigmoid核函数的分类结果高度重合,于是本文将0.83到0.89的图像放大,如图3(b)所示。
(a) 核函数准确率对比图
(b) 高斯核函数和Sigmoid核函数准确率局部放大图图3 三种核函数准确率对比
使用线性核函数得到的决策函数在不同的训练数据量下准确率都高于其他两种核函数,其平均准确率高达96.90%。基于此测试数据,在接下来的测试实验中,我们选用线性核函数作为支持向量机算法的核函数。
图4对训练数据的执行延迟进行了比较,为100次实验的执行结果对比,图中的虚线对应的纵坐标为50 ms,表示延迟敏感应用对延迟的容忍限制,从图中可以得到,在MEC资源满足车载任务需求资源的情况下,将任务卸载到MEC服务器中,可以满足84%的对延迟要求较高的延迟敏感应用程序,且在95%的情况下延迟低于本地执行。图5为两种神经网络进行卸载决策所需要的响应时间,可以看出即便训练数据量不同,LSTM训练的神经网络进行卸载决策所需要的响应时间更少,更适用于车联网环境中。
图4 在本地和计算卸载的延迟时间
图5 使用两种神经网络的响应时间对比
图6为使用不同的算法进行卸载决策时训练数据的数量和准确率的关系,可以看到逻辑回归和人工神经网络有着远优于支持向量机的准确率,而人工神经网络的准确率则需要训练数据量的支撑。
图6 四种算法的卸载决策准确率
图7为四种算法对收敛时间影响的比较,收敛时延反映了设备做出决策所需时间。可以看出,ANN算法的收敛时间最长,在车联网的高速环境中不如其他算法的收敛时间短,其中逻辑回归算法和LSTM算法的收敛时间明显短于其他算法,能够缩短决策时间更快进行决策。
图7 不同算法的收敛时间和需要卸载的任务量
5 结 语
本文从当下的边缘计算发展现状和已有的卸载决策进行了研究和分析,研究在车联网环境中边缘计算卸载决策。具体地,本文将卸载决策设计成分类问题,通过设计不同的类别对应不同的决策分析任务向量所属类别,设计卸载的模拟算法,并提出基于LSTM的卸载决策。通过与已有方法的对比实验,验证了所提方法的有效性。
在未来的研究中,车联网边缘计算具有以下几个重要发展方向:1) 5G环境下的车联网边缘计算方向,5G时代的来临,意味着流量和信息的爆炸式增长[21],这将给车联网的环境下的信息处理尤其是边缘计算带来更高的要求;2) 在高速动态环境中如何进行自适应[22],在车联网的环境中如何去应对突变的情况和随时间快速变化的环境是提高服务质量和信息处理质量的要求;3) 信誉管理与安全问题,在车联网的环境中,安全不仅意味着信息安全,更意味着在交通环境中的安全,如果不能对信息进行有效的识别和及时的判断,所带来的负面影响可能会引发严重的交通事故[23];4) 深度学习的优化问题,如何去优化深度学习带来更好的算法效果不仅仅是对于车联网,更是对于各个领域的要求[24-25];5) 云计算、边缘计算和本地计算的协同资源分配方式,边缘计算的资源较为有限,当可用边缘资源不足以提供服务时[25],如何分配云计算和边缘计算的资源以达到更好的服务质量,使本地-边缘-云协同计算,是下一个待解决的问题[26]。