吴宗卓
(陕西国防工业职业技术学院,计算机与软件学院, 陕西,西安 710300)
边缘计算是处理从物联网(IoT)收集大量数据的有效解决方案[1]。物联网中传统的数据集规模较小,非优化的数据收集方案不太可能影响边缘计算的性能[2]。然而,近年来物联网中的数据流特性发生了变化。首先,物联网中的数据越来越大。其次,数据不仅来自于同质的静态物联网设备,还来自于异质的动态物联网设备[3]。为了在边缘服务器上高效地处理这些数据,需要在物联网中进行有效的数据收集,因为非优化的数据收集解决方案可能会导致并行计算的性能瓶颈[4]。在这项工作中,主要关注这些场景中的负载平衡问题[5-6]。
针对该问题,目前已经分别提出了多种解决方案[6-7]。然而它们都面临2个挑战:物联网和并行计算的需求是不同的[8-9];数据采集解决方案不仅要考虑网络的拓扑结构,还要考虑网络中的动态对象[10]。
本文为物联网网络集群提出了一种基于深度强化学习(DRL)的解决方案,主要是基于一个深度Q学习网络模型(DQN)。 在每个集群中,将从集群成员IoT设备产生的数据收集到集群中的边缘服务器。
系统模型包括物联网和边缘计算服务器,如图1所示。物联网由同质设备组成。假设物联网设备在区域内随机部署,每个物联网设备都有到边缘服务器的多跳通信路由。每个物联网设备周期性地产生数据,并通过多跳通信将消息传输到边缘服务器。部署多台边缘服务器,对物联网采集的数据进行并行计算。为了将数据从物联网设备收集到多个边缘服务器,网络被划分为多个集群,每个边缘服务器驻留在一个集群中。每个边缘服务器负责从集群的物联网设备收集数据。
假设每个物联网设备定期向其集群的边缘服务器发送固定大小的报告数据。物体在物联网区域内移动,触发相邻物联网设备产生较大尺寸的传感数据。例如,物体可能是一个人在移动。连接到每个IOT设备的传感器检测人的接近程度。一旦一个人出现在物联网设备的检测范围内,物联网设备捕获该人的图像并将图像数据发送到其集群的边缘服务器[10]。
图1 物联网和并行边缘服务器的系统模型
网络聚类取决于移动对象在物联网中的位置和数据采集要求。图2给出了一个例子,当对象从左图中的位置移动到右图中时,集群分区将更改以保持边缘服务器中收集的数据的平衡。为了保证采集到的数据在2个边缘服务器上的大小是平衡的,网络聚类模式必须改变以适应对象在区域内的移动。本文利用DRL方法在具有动态对象的物联网中寻找最优的网络聚类。
(a)
(b)图2 动态对象触发相邻物联网设备生成数据
本文采用深度Q学习网络(DQN)作为动态网络聚类的DRL模型。假设执行DQN模型的代理驻留在边缘服务器中,并且计算DQN模型所需的所有信息都已收集到代理。
假设一组边缘服务器P={p1,…,pi,…,pn}以整数i∈[1,n]驻留在网络中。在边缘服务器pi处设置集群核心oi。为了在初始化时将物联网划分成集群,首先选择离集群核心oi,并将最近的物联网节点作为簇头hi。在此基础上,将网络划分为C={c1,…,ci,…,cn}簇,其中i∈[1,n]基于簇头。为了简化实现,将网络划分为Voronoi集群。初始化之后,每个边缘服务器都驻留在一个集群中。
为了控制集群的分区,移动集群的核心。动作状态空间A是所有簇核的运动。在实现中,每个集群核心有5个移动动作:向上、向下、向左、向右、保持。在每个时间步,DQN模型选择并对集群核心执行移动动作。移动后,网络重新选择离集群核心最近的物联网节点作为簇头,并根据新的簇头将网络重新划分为多个簇。移动集群核心和分区集群的示例如图3所示。
图3 基于集群核心的移动,将物联网网络划分为机群
行动的回报是满足物联网和边缘计算方面的要求。定义了网络集群应该满足的2个要求如下。
(1) 边缘服务器。将收集到的边缘服务器pi的数据大小命名为di,并记D={d1,…,di,…,dn},其中i∈[1,n]。为了最大限度地提高边缘服务器的并行计算速度,在边缘服务器中应该收集所收集的数据集的大小。使用在[0,1]中归一化的D的平均绝对偏差值,以量化负载平衡需求。因此,有
(2) IoT网络。将集群ci中的所有数据传输到边缘服务器pi的通信跳总数命名为bi。B={b1,…,bi,…,bn},其中i∈[1,n]。由于假设了物联网使用多跳通信,更多的通信跳意味着需要更高的通信时间来收集相同数量的数据。为了保持在同一级别上收集每个集群数据的速度,应该平衡传输每个集群中所有数据的通信跳数。使用[0,1]中标准化的B的平均绝对偏差值来量化物联网的需求。因此有
将这两个指标结合起来作为DQN模型的奖励。在时间t上的回报函数表示为rt=W×H。DQN模型的目标是找到一个最大化预期累积折扣回报Rt的策略,其中β∈[0,1]是回报rt的折扣因子,k是t的时间步长数,IEττ表示最大化预期[12]。
(1)
将命名为状态空间S中时间t处的DQN模型的输入状态数据,该状态空间是一个数组值,由:网络的邻接矩阵;每个节点的集群ID;每个节点中生成的数据的大小连接。策略图是从状态空间S到动作空间A的映射,目的是找到最大化Rt的最优策略。Q值Q(st,at)被定义为使用策略π在状态st中执行操作at时的回报Rt。使用Q值来度量给定状态下某个动作的质量。本文的DQN模型使用一个完全连接的DNN和权重集θ来近似Q函数。在采取行动后,代理接收回报rt,物联网移动到新的状态st+1。选择将Q值最大化为状态st中的一个的动作。
(2)
带Q值的改进策略基于以下更新方程,其中Q′是改进策略,α∈[0,1]是学习率。
(3)
DQN模型在每次迭代时更新其DNN,以最小化损失函数L。
(4)
在式(3)、式(4)中,β为回报因子,rt为回报。
整个深度Q学习的具体算法描述如算法1所示:
算法1 深度Q学习算法将回放记忆单元D的容量初始化为N;用随机权重对动作值函数Q进行初始化;用随机权重θ-=θ对目标动作值函数Q函数进行初始化For episode = 1, M do Initialize sequence s1={x1} and preprocessed sequence Ø1=Ø1(s1) For t=1, T do With probability select a random action at otherwise select at=argmaxa∈A Q(Ø(st),a) Execute action at in emulator and observe reward rt=W×H and image xt+1 Set st+1=st,at,xt+1 and preprocess Øt+1=Ø(st+1) Store transition (Øt,at,rt,Øt+1) in D Sample random minibatch of transitions (Øt,at,rt,Øt+1) from D If episode terminates at step j+1 then Set yj=rj Else rj+γmaxa'∈A Q^(Øj+1,a') End if Perform a gradient descent step on (yj-Q(Øj,aj))2 with respect to network θ Every C step reset Q^=Q End forEnd for
实验评估了模拟物联网中DQN模型的性能。网络部署在150 m×150 m的正方形区域内,节点随机分布在该区域内。作为一个初步的实验,分别在2个簇的40个节点、3个簇的60个节点和4个簇的80个节点中测试了该模型。对于簇数为2、3、4时,节点的数据传输范围分别为40 m,35 m,30 m。目标的探测范围是传输范围的2倍。本文在物联网区域设置了一个动态对象。目标速度为1 m/s,在随机簇头位置初始化。随机选择另一个簇头作为目标的运动方向。对象向该方向移动,直到它位于部署区域之外。之后,物体会向相反的方向移动。假设每个节点每10 s产生一条1 Kb的消息。如果对象在某个节点的检测范围内,则该节点将生成10 Kb的消息。物联网节点间的通信速度为1 Kb/s,为了简化仿真,在此忽略了无线通信中的干扰。DQN模型每10 s处理一次。每轮训练持续500 s。DQN模型的参数值如表1所示。
表1 DQN模型的参数
本文使用一个没有DQN模型的静态集群划分算法进行比较。在比较方案中,每个边缘服务器被设置为一个簇头,网络被划分为Voronoi集群。比较了DQN解决方案和Voronoi聚类解决方案之间的平均回报分数。
2、3和4个簇的实验结果分别显示在图4中表示,其中图4(a)为3个方案的2个簇的实验结果,图4(b)为3个簇的实验结果,图4(c)为4个簇的实验结果。
(a) 2个簇
(b) 3个簇
(c) 4个簇图4 基于DQN模型和基准聚类解决方案的集群数据采集信用
DQN模型的结果用窗口大小为11的移动平均值表示,结果趋势用4次多项式曲线拟合表示。在这3个实验中,DQN方法与基准结果相比有显著的改进。收敛后,在2、3、4个簇中的改进率分别为56%、47%和32%左右。随着集群数目的增加,改进程度降低。主要原因是只选择一个集群核心在一个时间步内移动。如果所有的集群核心都在一个时
间步内执行操作,那么找到回报更高的集群分区的机会就会增加。
本文提出了一种基于边缘服务器的物联网动态网络集群的DRL解决方案。其目的是通过优化数据采集的聚类来满足物联网和边缘计算的需求。初步实验表明,与静态基准解相比,所提出的DQN模型能获得更好的结果。在这种情况下,说明将DRL技术应用于物联网和边缘计算是可行的。此外,本文为当前的网络集群解决方案提供了一种新的方案。
但目前仍有许多不足,所以在未来的工作中,将改进DRL模型中的多个点。
(1)目前在实现中只使用一个具有直接移动模式的对象。这种运动模式不能代表物联网系统中真实的动态对象。未来将评估强化学习模型是否能够处理以更真实模式移动的多个对象,例如随机行走。
(2)为了简化DQN模型,目前在每个集群中设置一个集群核心。在下一步工作中,将在一个集群中设置多个集群核心。这将为控制集群形状提供更小的粒度。
(3)本文假设物联网是静态的,只有物体在周围移动。目前还不清楚强化学习解决方案是否能够应对每个节点随机移动的物联网。