APP下载

基于深度强化学习的工业物联网多用户频谱分配 *

2021-07-02邵瑞宇黎智雄任瑾璇

电讯技术 2021年6期
关键词:同组中断计算能力

邵瑞宇 ,黎智雄,任瑾璇

(广东工业大学 自动化学院,广州 510006)

0 引 言

工业物联网(Industrial Internet of Things,IIoT),又称为工业4.0或工业互联网,可以应用于互联网一些工业领域,比如能源、交通和制造业。随着工业数据的快速增长,工业数据仓库正在进入大数据时代,大数据传输需要更大的带宽[1]。然而有限的连接始终限制了信息网络的发展,并且由于设备的传感器数量过多,导致彼此之间的通信过于频繁,一种兼顾雾计算和网络功能虚拟化的物联网逻辑架构应运而生[2-3]。为了突破这些限制,雾计算被集成到IIoT中,这将有可能解决资源受限的工业设备和计算密集型应用之间的矛盾[4-5]。

现有的频谱分配问题研究中,很多智能体无法获得系统整个完整信息,都是基于部分可观察马尔科夫决策过程理论,导致智能体在计算最优策略时变得非常棘手[6]。在文献[7-8]及其参考文献中,都是在一个多武装强盗(Multi-armed Bandit Problem)条件环境上利用其算法寻求一个短期策略,这种策略只是取决于收集过去的一小段时间所获得的奖励,而缺陷是当预测点与依赖的相关信息距离比较远的时候,就难以学到相关信息。

近年来,深度强化学习中的Deep Q-Learning (DQN)的收敛性能得到了大家的认可。这种算法是在文献[9]中被提出的,它结合了强化学习和深度神经网络,利用多层的神经元构建更加抽象的数据表达,使得人工神经网络可以直接从输入数据中获得物体信息。在Atari2600平台上进行的测试表明,在没有借助其他方法获得先验知识的情况下,49个游戏中43个游戏都可以达到人类分数的75%。

面临着5G时代的到来,工业物联网将会成为未来的趋势,而其中频谱资源的管理和分配成为关键问题。动态频谱的接入(Dynamic Spectrum Access,DSA)分为底层访问和覆盖访问。底层访问模式[10]利用算法来让次用户通过调整传输功率,在不影响主用户服务质量(Quality of Service,QoS)的情况下接入信道,把次用户对主用户的干扰降到最低,从而提高频谱的利用率。而覆盖访问[11]相比底层访问而言需要算法考虑何时进行主、次用户的接入,怎样才能实现两者信道分配的平衡,以至于所获得的收益最大,策略最优。

本文主要研究信道的争用问题,提出了一种多跳的聚类模式、“合作计算”的模式以及动态频谱接入相结合的策略。首先,设计了一种多跳的聚类模式,在保证信息传达效率的同时减少了频谱通信的数量。其次,设计了一种深度强化学习动态频谱的访问算法,通过过去的策略、奖励来训练神经网络,从而让用户学会如何更好地获得奖励,即减少信道的争抢。最后,针对某些用户没有足够的计算能力来实现分配算法,根据多跳聚类分组模式,可以借助同组的次用户的计算能力进行一个“合作计算”。

1 合作式动态分组的算法系统模型

假设在一个大型的工业物联网中,某些设备(以下简称为用户)需要和其他用户进行通信。可以把此过程分为三个子问题:一是从源节点(需要发送信息的用户)如何能够经过更少的中继节点(中间转发的用户)转发信息到目标节点(接受信息的用户),从而选出一条最优路径;二是有限的频谱资源可能会导致信道缺少,用户之间彼此争抢信道,因此设计了一种最优的深度强化学习策略来减少用户对于信道的碰撞以及提高通信概率;三是由于某些用户没有足够的计算能力去达到算法的计算要求,则这些用户可以借助同一个分组的次用户的能力,从而达到一种合作计算的效果。

针对以上问题,我们提出了一种新的基于深度强化学习的频谱分配算法——合作式动态分组的频谱分配算法(Dynamic Grouping Based on Cooperation for Spectrum Access,DGC)。该算法首先使用深度强化学习的方法为物联网中所有需要发送信息的用户进行一个相似性分组,确保分组模式是中断概率最低的模式;然后选择发送信息的最优策略,使得信道的利用率提升;最后,针对某些用户本身计算能力的不足,可以让同组空闲用户帮忙计算策略,之后把计算后的策略发送回来,从而达到合作计算的目的。算法流程如图1所示。

图1 DGC算法流程图

1.1 聚类分组多跳系统模型

现有的关于中继和频谱资源的分配算法大多数都是针对单个用户或者单跳而言的,而本文多跳算法是基于多个用户之间快速稳定的多次跳跃,在中断概率最小的分组模式下完成通信。整体的分组协议可以分成两部分:首先根据相似性公式把整体用户按照1个主用户、3个次用户一组的模式进行分组,然后,若源节点和目标节点处于同组内,则能直接通信,通信直接完成;若不在同组内,需要通信时,则源节点先把信息转发给同组的中心节点,由中心节点跨组连接,最终完成通信。

协议的假设和原则如下:

(1)物联网设备能够通过本身的感应设备感应到周围所存在的设备信息,并且确定源节点和目标节点的方向;

(2)当源节点需要向其他组节点发送信息时,可以通过同一组的中心节点作为中继节点,通过中继节点转发信息;

(3)两个分组之间避免广播风暴,只能通过中心节点进行连接通信。

假设三维空间当中拥有10个节点,如果相互彼此之间都能进行通信,那么将会导致信道严重不足。可以将10个节点彼此之间制定一个新的连接协议,而不在协议内的节点无法通信。与此同时,需要保证有些节点彼此之间虽不能直接进行通信,但是通过多跳的方式能够从源节点经过中继节点,最终能到达目标节点。所以如何能够更快并且更稳定地选择中心节点是面临的挑战。

图2表示的是一个500 m×900 m×900 m的三维空间,总共有10个节点,其中标有红色字体的2、3、4、5、9等5个点是5个组之间的中心节点,5个组分别为{5:[4,9,6],4:[2,5,0],2:[3,7,8],3:[1,7,0],9:[4,0,1]},其中5代表的是中心节点,5、4、9、6属于同一分组,当5、4、9、6等4个节点需要相互通信时,可以直接通信。但是,当4、9、6节点需要和其他组节点通信连接时,都必须通过中心节点5进行信息转发。

图2 三维立体系统模型

根据工业物联网的空间分布模型,除了将三维空间的位置点坐标考虑进去,还要考虑机器的上空包含无人机这种可移动的分配用户,所以加入了用户可能移动的方向(前、后、左、右),结合欧几里德(Euclidean)度量公式有

(1)

式中:(x,y,z)分别代表节点k和节点i的三维坐标,Vk、Vi分别表示k节点和i节点的速度,tk、ti分别表示k节点和i节点的运动方向,K1、K2、K3分别表示系统针对节点的速度、运动方向以及三维距离的影响因子。

为了找出最优策略,除了考虑位置、速度和运动方向的因素,还应该考虑不同分组模式下网络中断概率也不相同,因此需要选取中断概率最小的中继连接模式才能达到最优。

由香农公式可知,网络吞吐量可以表示为

C=ωlb(1+SNR) ,

(2)

(3)

(4)

式中:ω为频谱带宽,SNR为网络信噪比,P为传输功率,h为信道增益,N为噪声功率谱密度,W为带宽,τ表示与物理层编码调制关联的冗余量。

而网络中断一般出现在现有的信息传输速率达不到节点连接之间的最低速率,也就是网络的信噪比低于最低信噪比的阈值,从而导致网络连接中断。假设网络要求的信息传输速率最低为α,网络的瞬时信噪比为β,则网络的瞬时信息速率可表示为

C(β)=ωlb(1+β) ,

(5)

则网络的中断概率为

Poff=P{C(β)

{ωlb(1+β)

(6)

式中:P(β)是关于β的概率密度函数。如果信道满足Rayleigh衰落分布,假设信道衰弱后的信噪比为σ,则传输信道的瞬时信噪比β满足如下指数分布:

(7)

所以中断概率为

(8)

用户数量为M,信道为N,考虑中继的译码的前传通信方式,则节点Mt选择中继Mi进行通信时的信噪比为

(9)

将其代入中断概率公式,有

(10)

根据上式可得

(11)

φ=F(hmt,hmi)×SNR。

(12)

式中:F(hmt,hmi)可以等效成系统整体的信道增益,而系统信噪比SNR=P/(τNW),其中P等效为系统整体的发送功率。由此可得中断概率与φ成反比,如果需要数据传输时候的中断概率达到最小,此时两者乘积应实现最大。所以该算法的目的是以最快的速度选择出中断概率最小的分组模式。

1.2 动态频谱接入系统模型

在工业物联网环境当中,即使使用了分组的方式去减少整体环境的频谱连接量,但是同组之间的通信顺序以及不同组之间的连接仍然存在信道选择的冲突,因此提出了基于聚类分组模式的深度强化学习的分配方法,我们将该算法称为合作式动态频谱分配方法。

算法的最终目的是为了让不同用户之间彼此能互相感知周围用户选择的信道,尽量避免信道冲突。该分配方法不仅能解决多用户之间信道占用的关系,并且还能对用户进行分组,当次用户的计算能力不足时可以借助同组的次用户进行一个合作式计算。

假设存在一组需要发送信息的用户U={ 1,2,…,U}和一组正交的信道C={1,2,…,C},用户可以随意选择一个信道进行接入并且完成通信,在每一次迭代过程中用户可以自由选择信道切换或者继续占用该信道。每个信道只能任由一个用户进行占用,如果两个用户同时占用,则会发生信道的碰撞,发生碰撞的用户都将对该信道的占用失败。当C≥U时,频谱信道足够多,用户之间不会发生争抢,每个用户的通信一定成功;反之会发生通信碰撞,相互碰撞的用户占用信道都将失败,所以主要针对用户数量大于信道数量进行实验。

假设整个系统拥有U个用户,其中主用户用P={p1,p2,…,pm}表示,次用户用I={i1,i2,…,in}表示,m+n等于U。每个分组都包含了1个主用户和最多3个次用户,同一个分组采用{pm:ia,ib,ic}集合的方式表示,ia、ib、ic表示和pm主用户位于同一个分组的次用户。

当某个次用户的计算无法满足任务需求时,主用户可以感知自己同组内的次用户是否处于空闲状态,具体表达式为

Hm=[ha,hb,hc] 。

(13)

式中:Hm表示第m个主用户能感知的次用户是否处于空闲状态。当ha=0时,代表了次用户a处于空闲状态,可以将计算能力借助给同组内需要的用户;当ha=1时,代表了次用户a处于忙碌状态,不能将计算能力借助给同组内需要的用户。当次用户a计算量不能满足任务需求时,成功借助次用户b的计算能力,此时b会返回一个ξ1信号告知a是否借用成功,其具体表达式为

(14)

当用户能自己完成计算量,成功接入信道后,成功发送信息到目标用户时,目标用户同时会返回一个ξ2的信号,具体表达式为

(15)

第一种情况,当源节点用户需要通信目标用户时,如果源节点目标用户恰好在同组内,那么源节点用户将直接通过中心节点对目标用户进行通信,目标用户接收到信息后,将发送ξ2信号给源节点用户,源节点用户将获得奖励。第二种情况,当源节点用户和目标用户不在同一组时,将会由算法找出中断概率最小的发送路径发送至目标用户,此时目标用户也将得到奖励。第三种情况,当源节点用户本身没有足够的计算能力去计算分配方案,则它可以感知同组内的节点状态,找出暂时没有任务的节点,通过中央节点发送信息至同组内其他的次用户,让其他次用户进行合作计算,此时计算的次用户将发送ξ1信号给源节点用户,源节点用户也将得到奖励。为了方便模拟合作计算的场景,在初始化8个用户的时候,对节点的计算能力进行一个1~5数值的随机获取,以此来代表计算能力,当节点计算数值小于2的时候,说明需要借助同组次用户的计算能力。

每个用户每一帧能够自主选择接入信道的动作,其中动作空间为a∈{0,1,2,…,C},当au(t)=0时,代表用户u在t时刻没有选择信道;当au(t)=C时,代表用户u在t时刻选择信道C。而针对每个信道的占用状态,其表达式为

φt={φ1,φ2,…,φc} 。

(16)

当信道C被占用时,φc=1;反之,则φc=0。用户可以根据自己现在所处状态来确定下一时刻的发送动作,每个用户u在t时刻所处状态可以用Su(t)表示,其表达式为

Su(t)={au(t),φt,Hm,ξ1,ξ2} 。

(17)

当用户数量大于信道数量时,此时用户彼此之间对信道有争抢。用户m在t时刻切换信道过程中,允许用户在此时刻不发送信息,此时am(t)=0。定义一个位于时间序列下的累积奖励,其表达式为

(18)

式中:ξ2=1,指的是用户信息成功发送给目标用户,而第二个条件是指用户信息没有选择信道发送,然而其他信道的占用率为百分百,虽然该用户没有成功发送信息,但是针对整个系统而言,其不发送导致了整体信道的碰撞降低,从而使得其他用户能轻易地接入信道,所以针对这种情况需要给予一定的奖励。Θ远小于κ,这是为了防止后期系统中越来越多的用户即使不占用信道也可能获得较高奖励情况的发生。

如图3所示,S1到Sn代表了每个用户在同一时刻的不同状态值Su(t)={au(t),φt,Hm,ξ1,ξ2},整个输入是一个2K+6的向量。假设信道总数是K,其中au(t)是一个大小为K+1的向量,代表用户在此时选择的信道,au(t)=0时代表不选择接入信道;φt是一个大小为K的向量,代表在同一时刻信道的占用状态;Hm向量的大小为3,代表同组次用户的空闲状态;ξ1、ξ2分别代表两种ACK信号返回值。

图3 LSTM + dueling DQN神经网络流程图

由于普通的神经网络随着时间的推移,用户的基数逐渐庞大,而历史性的记录也将无法利用过去的经验性信息来对现在的决策进行改善,在输入端加入长短时记忆网络(Long Short Term Memory Network,LSTM)[12],这是一种改进之后的循环神经网络,可以解决RNN无法处理长短期的依赖的问题。这层网络主要负责学习怎样随着时间积累历史的经验,可以让使用历史的状态以及动作来估计现在的真实状态。算法伪代码如下:

初始化主用户p1,p2,p3…pm

初始化次用户i1,i2,i3…in

初始化用户计算能力阈值X

初始化ACK1、ACK2

初始化Hm

if用户Xi1>X,do

if用户i1需要和其他组i4进行通信

次用户i1先连接同组内的主用户p1

ifp1能直接连接p2

同组的主用户p1连接i4的主用户p2

p2连接次用户i4

i4返回一个ACK2信号

Else :

p1连接其他组的主用户pm

pn最后连接p2

p2连接次用户i4

i4返回一个ACK1信号

End

End

Else:

i1连接同组内的主用户p1

p1判断根据Hm判断主用户连接p1的此用户组中谁是空闲状态

p1将把多余的计算任务发送给空闲节点进行

空闲节点收到后发送ACK2信号原路返回i1

End

在本节的算法中,每一组用户都可以被看成一组智能体群,都由1个主用户和最多3个次用户组成。Su(t)表示用户u在t时刻能感知到的其他用户状态和信道状态,au(t)表示用户u在t时刻所执行的动作;经过动作之后,根据返回的信息,能获得奖励ru(t),之后用户将感知下一个状态Su(t+1)。采用一个奖励函数表示在t时刻根据所感知的环境状态下执行该动作所造成的效果,并且指导智能体进行下一步的选择。采用深度强化学习中的dueling DQN代替传统强化学习中的Q值表,采用值迭代的方式更新Q(s,a)值:

Q(s,a;θ,α,β)=V(s;θ,β)+A(s,a;θ,α) 。

(19)

式中:V(s;θ,β)是价值函数部分,仅与状态S有关,与具体要采用的动作A无关;A(s,a;θ,α)是优势函数部分,同时与状态S和动作A有关;θ是公共部分的网络参数,β是价值函数独有部分的网络参数,α是优势函数独有部分的网络参数。也就是说,Dueling-DQN网络的输出由价值函数网络的输出和优势函数网络的输出线性组合得到。但由于式(19)中给定一个Q值无法对V和A函数进行一个恢复,根据文献[13],将式(19)改为

Q(s,a;θ,α,β)=V(s;θ,β)+(A(s,a;θ,α)-

(20)

用一个平均值对上式最大值进行替换,得

Q(s,a;θ,α,β)=V(s;θ,β)+(A(s,a;θ,α)-

(21)

2 仿真与分析

2.1 分组仿真结果分析

首先通过实验数据及仿真验证基于三维用户的分组多跳协议的有效性。实验选定一个500 m×900 m×900 m的三维空间,假设整个范围内的用户数为10(图2),每组最大用户数为4,其中包含了1个主用户和最多3个次用户(同组内最多只能拥有3个次用户,这是为了当用户1没有足够的计算能力而用户2处于忙碌状态时,用户1可以借助用户3的计算能力,以此达到合作计算的目的,所以3个用户是最基本情况)。当用户需要与其他用户进行通信时,两者之间不一定能在同一个通信范围,所以需要借助多跳算法来进行通信。如图2所示,用户被分为以2、4、9、5、3为中心的5个分组,每两个节点之间的连线表示两个用户可以进行信息的传送。

对多跳分组协议测试的结果如图4所示,设置用户数量从0~100逐渐增加,而信道数量保持在40。在无分组模式中,当源节点用户和目标用户所在距离过长时,源节点也会采用多跳的方式将信息发送给目标用户。一旦面临着源节点所在范围内没有可利用的中继节点用户或者由于中继节点过多,造成信息无法发送以及频谱信道之间的大量碰撞而发送失败,两者情况都将导致最后的通信失败。在图4中,红色折线代表的是没有分组的普通模式,在用户数量0~40时还处于良好状态,但是当用户超过40(信道数量)时,通信失败,概率突然增加。根据文献[14],当把整体空间按照六角形的模式分组,由图4绿色折线可知,虽然能针对不分组模式有所改善,但是随着用户数量增加,仍不能满足现在的需求。如果使用本文的协议分组模式,在分组过程中由于不同的用户分组所造成的中断概率不同,可以根据实际情况设置自己的阈值,从而选出最优分组模式,将会使通信失败率达到最低。

图4 无分组、六角形分组、多跳协议分组性能对比

2.2 DGC算法分析

下面分别从用户间信道的碰撞率、信道的空闲率以及用户所得到的总奖励三个方面来展示DGC算法的优越性。在模拟仿真的时候,采用M个节点随机接入到C个信道,通过DGC算法对用户实现快速选择最优策略。在工业互联网中,用户基数庞大,可以根据现实情况进行用户分组。为了方便仿真,采用8个用户分成两组,每组1个主用户3个次用户,以此来接入5条信道。迭代次数为10万次,每5 000次为一批数据,经验池大小设置为1 000,训练5批更新一次网络,学习率设置为0.000 1。探索率起初设置为0.02,每次更新网络探索率将会降低,直到0.01是最终探索率。神经网络部分设置了4层神经网络,前3层的激活函数都是ReLU函数,最后一层激活函数为tanh函数。

规定1个信道中只能存在1个用户占用,如果超过1个用户选择,则该信道会发生碰撞,并且信道被闲置。所以DGC算法就是为了让用户彼此之间感知到周围用户的策略,并且选出自己的最优策略,从而相互避免信道的碰撞,降低信道空闲概率。在实验过程中,为了模拟信道中断情况,设置了1~5个数值的中断概率随机获取,当用户此次获得的中断概率数值为1时,则该分组失败,重新分组。

图5是在10万次迭代过程中,每5 000次对性能结果进行一个统计的展示。由图可知,仅仅只是采用Q-learning和DQN算法的碰撞率基本稳定在0.6~0.9之间,这是由于整个环境属于部分可观测的马尔科夫决策过程(Partially Observable Markov Decision Process,POMDP),这将导致Q(o,a|θ)≠Q(s,a|θ),因此从观察中估计Q值是不准确的。在DQN的神经网络部分加入了LSTM网路结构后,整体信道的碰撞率下降了很多,但是仍然保持着0.2的概率碰撞,从而丢失信息。与DGC算法相比,本文算法随着迭代次数的增多,碰撞率后期可以保证在0.03左右,并且最终趋向于收敛。

图5 碰撞率折线图

图6显示了动态频谱接入后的信道闲置率。网络仅仅只有Q-learning或者DQN算法时,信道的闲置率振荡较大,并且始终维持在0.6以上,这进一步说明了采用DQN时无法针对过去长时间的经验性积累,并且以此来更新自己的策略,导致信道的碰撞率一直处于很高的水平。当加入了LSTM部分以后,可以看到整个信道的闲置率进一步降低,虽然最终收敛了,但是仍然维持在0.2以上。在DGC算法中,信道虽然在中期闲置率并没有达到预期较低水平,但是随着时间的推移,迭代次数不断增加,空闲率将稳定在较低的水准。

图6 信道空闲率折线图

图7展示的是用户发送信号后所得到的奖励曲线。从图中可知,在只有Q-learning或者DQN算法时,整个网络的奖励值始终处于中间水平。当加入了LSTM的结构后,虽然在某几次迭代达到了很高的奖励,但是整体曲线振荡幅度较大,系统无法收敛。在DGC算法中,曲线在前期就获得了较高的奖励,即使中期有一定的下降,但是随着迭代次数的增加,最终曲线可以在较高的水准下收敛。

图7 用户所获得奖励

3 结束语

本文主要研究了在工业物联网中频谱资源的分配问题。首先,由于工业物联网中用户的空间位置和移动方向的不同,用户之间的相似性不同,考虑实际的中断概率,由算法选出中断概率最小的最优分组模式,以此来避免出现广播风暴的现象。其次,用户要与其他用户通信时,可以利用DGC算法通过合作式方法,感知到同组内其他用户的选择策略,尽量避免信道的争抢,从而能够找出最优的路径,确保信息能够准确传送成功。最后,对于物联网中某些不具备算法的计算能力或者能力不足的用户,可以感知同组内其他用户的状态,若有空闲状态的次用户,则可以让该用户帮忙计算策略,之后再将策略发送给本身,从而达到了合作计算的目的。实验结果表明,与现有的算法相比,本文提出的DGC算法都有较好的性能。

在接下来的工作中,将研究在保证次用户对主用户的干扰小于所设定的阈值时,信道可以同时容纳主用户和次用户的接入,以更好地提升信道利用率。

猜你喜欢

同组中断计算能力
浅谈如何提高小学生的计算能力
小学生计算能力的提高策略
小学生计算能力的培养
新知
浅谈小学生计算能力的培养
跟踪导练(二)(5)
千里移防,卫勤保障不中断
AT89C51与中断有关的寄存器功能表解
FPGA内嵌PowerPC的中断响应分析