基于深度强化学习的实时分布式无线网络调度方法和系统

文档序号:29211847发布日期:2022-03-12 06:36阅读:268来源:国知局
基于深度强化学习的实时分布式无线网络调度方法和系统

1.本发明属于信息技术中路由网络信息调度技术领域,并特别涉及一种基于深度强化学习的实时分布式无线网络调度方法和系统。


背景技术:

2.近年来,实时无线网络越来越广泛地被使用在各种需要时延约束的应用中。这种类型的典型应用包括工业物联网和网络运输系统中使用的信息物理系统(cpss),或者用于实况视频传输的多媒体通信系统。这些系统通常要求数据包在截止期限内被目的节点所接收,否则数据包将会从发送队列当中被移除。衡量实时无线网络的重要指标是实时吞吐量,其定义为被目的节点成功接收的数据包数量与网络中产生的数据包数量的总和的比值。
3.近年来,如何调度受时延期限约束的实时网络以达到更高的实时吞吐量的问题引起了人们广泛的关注。目前已经提出的调度策略只考虑帧同步流量模型,在这种模型下,网络中数据流的数据包截止期限与到达周期是相等的。帧同步流量模型往往无法对许多重要的实际场景进行建模。例如,对于一个典型的移动视频会议场景,时延期限通常比帧生成周期短很多。在这种场景下,前面提到的调度方法不能满足这种实时数据流的时延期限。
4.对于通用流量模型的调度算法的研究,其往往因为计算复杂度过高或无法到达最优实时吞吐量而在现实场景中无法取得很好的效果。此外,传统的方法,如贪心算法、动态规划等,其调度策略不能自动适应动态网络环境,因此,现有研究工作无法提供高效、自适应的实时网络调度策略。


技术实现要素:

5.具体来说,本技术提出了一种基于深度强化学习的实时分布式无线网络调度方法,其中包括:
6.步骤1、获取由多个接入点和多个用户节点互连组成的无线网络,每个接入点调度网络中的部分数据流,每个接入点本地均设有的经验回放池;
7.步骤2、每个接入点i与网络环境交互时,在训练阶段的每个时隙t,网络中全局专家网络收集所有数据流的状态信息、流量模型信息及链路质量信息,并给出每个接入点的最优调度决策动作,每个接入点i执行全局专家网络所给出的最优调度决策动作每个接入点i根据部分数据流对应的发送队列信息,得到接入点i所调度的数据流在t时隙的状态同时,获取之前截止时隙t对无线信道的历史观测信息将交互信息存储至接入点i本地的经验回放池中,在测试阶段的每个时隙t,每个接入点i将部分数据流的状态和历史观测信息输入至决策模型,该接入点执行该决策模型输出结果对应的调度决策
8.步骤3、每个接入点i从本地的经验回放池中抽取经验,以训练更新接入点i的决策
模型。
9.所述的基于深度强化学习的实时分布式无线网络调度方法,其中该决策模型的训练过程包括:
10.构建获取全局信息专家网络,该全局信息包括无线网络中所有数据流的状态信息、流量模型信息及链路质量信息,在每个时隙,该专家网络根据全局信息做出各接入点的最优调度决策,每个接入点执行所接收到的最优调度决策动作,同时将当前时隙下,接入点将其获得的历史观测信息、局部环境状态与最优调度决策动作,存入接入点本地的经验回放池中,每个接入点设有学徒网络,在每个时隙,接入点从本地的经验回放池中随机抽取批量经验用于更新该学徒网络的参数,直到该学徒网络输出的调度决策达到预设标准或达到预设更新次数,保存当前学徒网络作为该决策模型。
11.所述的基于深度强化学习的实时分布式无线网络调度方法,其中该学徒网络包括长时序列网络和全连接神经网络,长时序列网络用于处理历史观测信息,全连接神经网络网络用来处理所调度的数据流的状态;
12.其中该历史信息为接入点在各历史时隙监听到的数据包传输情况,数据包传输情况包括以下三种:
13.没有任何数据包进行传输、发送节点成功发送数据包但该数据包没有被目的节点接收,以及发送节点成功发送数据包并被目的节点成功接收。
14.所述的基于深度强化学习的实时分布式无线网络调度方法,其中基于下述损失函数更新第i个接入点的该学徒网络参数:
[0015][0016]
其中,p
jc
为学徒网络的输出,表示在输入为hj,sj的情况下采取调度动作c的概率,hj,sj分布为该批量经验中第j个历史信息和环境状态;y
jc
的值当动作c为最优动作时,y
jc
=1,否则y
jc
=0。
[0017]
本发明还提出了一种基于深度强化学习的实时分布式无线网络调度系统,其中包括:
[0018]
初始模块,用于获取由多个接入点和多个用户节点互连组成的无线网络,每个接入点调度网络中的部分数据流,每个接入点本地均设有的经验回放池;
[0019]
调度模块,用于在每个接入点i与网络环境交互时,在训练阶段的每个时隙t,网络中全局专家网络收集所有数据流的状态信息、流量模型信息及链路质量信息,并给出每个接入点的最优调度决策动作,每个接入点i执行全局专家网络所给出的最优调度决策动作每个接入点i根据部分数据流对应的发送队列信息,得到接入点i所调度的数据流在t时隙的状态同时,获取之前截止时隙t对无线信道的历史观测信息将交互信息存储至接入点i本地的经验回放池中,在测试阶段的每个时隙t,每个接入点i将部分数据流的状态和历史观测信息输入至决策模型,该接入点执行该决策模型输出结果对应的调度决策
[0020]
训练模块,用于使每个接入点i从本地的经验回放池中抽取经验,以训练更新接入点i的决策模型。
[0021]
所述的基于深度强化学习的实时分布式无线网络调度系统,其中该决策模型的训练包括:
[0022]
构建获取全局信息专家网络,该全局信息包括无线网络中所有数据流的状态信息、流量模型信息及链路质量信息,在每个时隙,该专家网络根据全局信息做出各接入点的最优调度决策,每个接入点执行所接收到的最优调度决策动作,同时将当前时隙下,接入点将其获得的历史观测信息、局部环境状态与最优调度决策动作,存入接入点本地的经验回放池中,每个接入点设有学徒网络,在每个时隙,接入点从本地的经验回放池中随机抽取批量经验用于更新该学徒网络的参数,直到该学徒网络输出的调度决策达到预设标准或达到预设更新次数,保存当前学徒网络作为该决策模型。
[0023]
所述的基于深度强化学习的实时分布式无线网络调度方法,其中该学徒网络包括长时序列网络和全连接神经网络,长时序列网络用于处理历史观测信息,全连接神经网络网络用来处理所调度的数据流的状态;
[0024]
其中该历史信息为接入点在各历史时隙监听到的数据包传输情况,数据包传输情况包括以下三种:
[0025]
没有任何数据包进行传输、发送节点成功发送数据包但该数据包没有被目的节点接收,以及发送节点成功发送数据包并被目的节点成功接收。
[0026]
所述的基于深度强化学习的实时分布式无线网络调度方法,其中基于下述损失函数更新第i个接入点的该学徒网络参数:
[0027][0028]
其中,p
jc
为学徒网络的输出,表示在输入为hj,sj的情况下采取调度动作c的概率,hj,sj分别为该批量经验中第j个经验中的历史信息和环境状态;y
jc
的值当动作c为最优动作时,y
cj
=1,否则y
cj
=0。
[0029]
本发明还提出了一种计算机可读存储介质,用于存储有一个或者多个计算机程序,所述计算机程序在被执行时用于实现所述的任意一种基于深度强化学习的实时分布式无线网络调度方法。
[0030]
本发明还提出了一种客户端,用于所述的任意一种基于深度强化学习的实时分布式无线网络调度系统。
[0031]
本发明与现有技术相比,具有以下优点:
[0032]
1.本发明提出了基于深度强化学习的集中式调度方法和分布式调度方法。现有的方法如rac方法,具有很高的复杂度,求解最优问题得到最优调度策略花费的时间成本随着数据流数量的增加呈指数级增长。本发明提出的方法训练时间不会随着数据流数量的增加快速增长,且能够快速的收敛到最优实时吞吐量。
[0033]
2.为了适应无线实时网络的动态变化,本发明对深度强化学习中的q函数进行了修改,使其不仅与状态和动作有关,而且与环境特征有关。与现有技术相比,本发明能够更好的适应新环境,在动态实时无线网络环境下具有更高的泛化能力。泛化能力的强弱决定
了本发明提出的方法能否推广到具有不同流量模型和链路质量的网络。
[0034]
3.本发明的分布式调度方法采用了集中式训练,分布式执行的框架。基于深度强化学习的分布式实时无线网络调度方法在每个发送节点上分布式执行,而在训练时,智能体允许使用全局信息来简化训练过程。
[0035]
4.本发明奖每个流的状态通过指数函数进行转化,使得状态能够在数值上直观反应调度数据流k的紧急程度。与现有的方法提出的二进制字符串表示方法相比,本发明陈述的状态表示方法能够使得深度强化学习方法更快地收敛,并达到最优实时吞吐量。
附图说明
[0036]
图1是本发明基于深度强化学习的集中式实时无线网络调度方法实现框架。
[0037]
图2是本发明基于深度强化学习的分布式实时无线网络调度方法实现框架。
[0038]
图3是本发明适用的两种经典场景的网络拓扑图。
[0039]
图4是根据本发明实施例的用于深度强化学习的实时无线网络调度的设备的功能配置框图;
[0040]
图5至图12是本发明实例的仿真实验结果图。
具体实施方式
[0041]
本发明涉及一种基于深度强化学习的实时无线网络调度方法和设备,旨在解决数据流在动态网络条件和通用流量模型下,无法提供自适应动态调度策略的技术问题。所述方法包括集中式方法和分布式方法。
[0042]
集中式方法包括:单跳网络存在一个接入点(ap)和多个用户节点,接入点在每个时隙可以获取全局信息,并决定为哪个用户节点服务。设计通用流量模型表示方法,建立基于深度强化学习的集中式实时无线网络调度方法框架,并设计各个模块交互的内容;设计基于深度强化学习的集中式实时无线网络调度方法结构。
[0043]
分布式方法包括:单跳网络存在多个接入点(ap)和多个用户节点,每个接入点独立负责服务多个不同的用户节点,每个接入点在每个时隙开始时可以获取局部信息,结合无线信道所观测到的信息,决定为哪个用户节点服务,当同一时隙,有多个接入点要服务用户节点时,网络中就会发生传输冲突,导致传输失败。建立基于深度强化学习的分布式实时无线网络调度方法框架,并设计基于深度强化学习的分布式实时无线网络调度方法结构。本发明具有良好的模型泛化能力,且能够快速的收敛到最优实时吞吐量,能够在动态网络环境和通用流量模型场景下取得较好性能。
[0044]
针对现有技术的不足,根据本发明的第一方面,提出一种基于深度强化学习的实时无线网络调度方法,以提供一个在动态网络条件和通用流量模型下,高效的自适应动态调度策略。本发明的所采用的技术方案分为集中式调度方法和分布式调度方法两部分。
[0045]
(1)集中式调度方法,包括如下步骤:
[0046]
集中式调度方法适用于如下场景:单跳网络中存在一个接入点(ap)和多个用户节点。
[0047]
网络中存在多个数据流,每个数据流都属于通用流量模型,每个数据流有一个发送队列,数据包按照数据流的流量模型依次到达发送队列当中,等待被发送节点发送,当数
据包成功被目的节点成功接收或者数据包超过了截止期限后尚未被目的节点成功接收,则数据包会从发送队列中移除。其中数据流若在ap上,则ap作为发送队列,若数据流在用户节点上,则用户节点作为发送节点。
[0048]
数据流中的数据包可以由用户节点传输到接入点或者由接入点传输到用户节点。当数据流位于用户节点上时,用户节点作为发送节点,接入点作为接收节点(即:目的节点),用户节点与接入点之间构成一条上行链路。当数据流位于接入点上时,用户节点作为接收节点,接入点作为发送节点(即:目的节点)。用户节点与接入点之间构成一条下行链路。上行链路与下行链路统称为链路。数据包在链路上进行传输时会受到链路质量的影响而发生丢包,发送节点在每个时隙发送数据包后,接收节点会发送ack信息给发送节点告知是否成功接收到数据包,在本发明中不考虑ack的传输受链路质量的影响。
[0049]
在每个时隙,接入点可以获取环境的全局信息,即:每个数据流的发送队列中各个数据包的信息以及每个数据流的流量模型信息。接入点根据全局信息决定调度哪个数据流,然后发送该数据流对应发送队列中的数据包。由于接入点与用户节点之间构成一条链路,因此,调度某个数据流等价于调度某条链路。假设网络中存在k个数据流,每个数据流都属于通用流量模型,即:数据包周期性到达发送队列中,每个数据流中的数据包有统一的截止期限,数据流的通用流量模型可以通过以下向量表示:
[0050]
(offsetk,pedk,dk,bk,prok),kεk
[0051]
其offsetk表示数据流k的首个数据包到达时间与网络开始时间的偏移量;prdk表示第k条数据流中数据包的到达周期;dk表示数据流k中数据包的截止期限;bk∈[1,0]表示数据流k中数据包的到达概率,应用层的数据流产生的数据包在进入发送队列时会受到到达概率的影响从而无法进入发送队列当中;prok表示链路k的链路质量,数据包在链路上进行传输时会受到无线信道干扰和噪声的影响从而产生丢包现象,则目的节点将无法成功接收数据包;
[0052]
建立基于深度强化学习的实时无线网络调度方法框架,包括深度强化学习的智能体和环境两大模块,并设计各个模块交互的内容;
[0053]
进一步地,深度强化学习的智能体和环境两大模块设计如下:
[0054]
(1)实时无线网络中的接入点视为深度强化学习的智能体;
[0055]
(2)抽象环境为实时无线网络,包括网络中所有的数据流信息以及对应的发送队列中数据包的状态信息;
[0056]
(3)对于集中式调度方法,网络中仅存在一个接入点,即:一个智能体,接入点在每个时刻获取全局信息,即:环境状态,并执行动作,环境收到动作将反馈于智能体一个奖励值,从而实现接入点与环境的交互,接入点与环境的交互过程被建模为马尔可夫决策过程。
[0057]
(4)对于分布式调度方法,网络中同时存在多个接入点,即:多个智能体,每个接入点在每个时刻获取局部信息,即:部分环境状态,并执行动作,环境接收到动作后会反馈奖励值,从而实现接入点与环境的交互。接入点与环境的交互过程被建模为部分可观测马尔可夫决策过程。
[0058]
进一步地,在集中式调度方法中,马尔可夫决策过程中的状态定义如下,数据流在时隙t下的状态由一个二维向量(q
t
(k),l
t
(k))表示,环境在时隙t下的状态s
t
是所有数据在时隙t下的状态的集合,即:s
t
=((q
t
(1),l
t
(1)),...,(q
t
(k),l
t
(k)),...,(q
t
(k),l
t
(k)))
表示。
[0059]
其中,l
t
(k)表示时隙t时数据流k的数据包到达因子。若数据流k在下一时隙t+1可能会有新的数据包可能到达发送队列,则l
t
(k)=1,否则l
t
(k)=0。l
t
(k)可由数据流的流量模型计算得出。即:
[0060][0061][0062]qt
(k)表示在时隙t时数据流k的待调度紧急程度:
[0063]
其中,g是在时隙t时,数据流k的发送队列中未过期的数据包数量。g是数据包在g个数据中的到达顺序,数据流k中第g个数据包的到达时间和过期时间可以表示为和数据包的过期时间可以根据数据流k的流量模型由以下公式计算得出:
[0064][0065]
则数据包距离过期的剩余时间可以表示为:
[0066][0067]
进一步地,在集中式调度方法中,马尔可夫决策过程中的动作定义如下,接入点在时隙t的动作a
t
是选择某个发送队列并发送队列当中距离过期时间最短的数据包。a
t
是被调度的数据流的编号。接入点的动作空间可以表示为a={0,1,2,....,k}且a
t
∈a。
[0068]
进一步地,在集中式调度方法中,马尔可夫决策过程的奖励函数定义如下,有两种奖励函数可以选择,第一种奖励函数是根据数据包的发送结果设计,当发送节点发送的数据包被目的节点成功接收,则r
t
=1,否则r
t
=0。第二种奖励函数是根据所调度的数据流的链路质量设计,如果所调度的数据流的发送队列中有数据包,则r
t
=prok,否则r
t
=0。在实际应用中,可以根据是否已知链路的质量来选择其中一种奖励函数。
[0069]
进一步地,基于深度强化学习的集中式实时无线网络调度方法结构如下:基于双重深度q网络ddqn(double deep q-network)的调度策略在接入点执行,同时,ddqn被一个预先设置的优化器集中式训练。ddqn的输入为数据流的流量模型信息,环境状态信息,输出为采取不同动作的价值(即:q值),可以表示如下:
[0070]
q(env feas,s,a;θ)
[0071]
其中,env feas表示所有数据流的流量模型信息,又称为当前环境的环境特征,每个时隙接入点获取当前状态s
t
及所有数据流的流量模型信息env feas作为ddqn网络的输入,从而得到采取不同动作的q值。
[0072]
集中式实时无线网络调度方法结构成为两个主要部分,训练过程与执行过程。
[0073]
在训练过程中,接入点会与多个训练环境进行交互,不同的训练环境由不同的环境特征所描述。在每个时隙,接入点获取环境状态s
t
,然后执行动作a
t
,接入点会随机地选择动作空间中的某个动作进行执行或者执行ddqn网络输出的最大q值对应的动作。当接入点
执行动作a
t
后,环境会给出反馈r
t
和end
t
。环境状态会更新至s
t+1
。接入点与环境的交互信息(s
t
,a
t
,r
t
,s
t+1
,end
t
)将会被存储到经验回放池中。其中,end
t
是终止表示符,经验回放池的具体位置可根据需要进行指定,在最优实施例中其位于接入点即智能体。当t≥l*prd且t%prd=0时,end
t
=true,否则end
t
=false。l是一个恒定的正整数,满足:
[0074]
l*prd≥max
k∈p1,k]
(offsetk+dk)
[0075]
其中,prd=least common multiple(prd1,prd2,

,prdk),即:prd是所有数据流的周期的最小公倍数,当end
t
=true时,接入点与当前训练环境的交互过程结束,开始与另一个新的训练环境进行交互。
[0076]
接入点的经验回放池会被划分为多个子区域,每个子区域存储接入点与某个特定环境的交互信息。在每个时隙,会从所有经验回放池中随机抽取一定数量的交互信息,每个交互信息都属于某个特定环境,该特定环境用环境特征来描述,交互信息与环境特征共同用于训练并更新神经网络的参数,所抽取的信息的数量不宜过大,也不宜过小,如果过大,会导致内存空间不够,神经网络可能会收敛到局部最优点,如果过小,训练时间过长,相邻两次训练之间的网络参数震荡幅度较大,在本实验中,所抽取的交互信息的数量,即:batch_size设置为64。
[0077]
建立两个具有相同结构的神经网络,分别为当前网络和目标网络。其中,当前网络用于训练,目标网络用于选择动作。每隔一段固定的时间,目标网络的参数θ
target
会从当前网络参数θ
current
中复制。
[0078]
在训练的过程中,从经验回放池中随机抽取一定数量(batch_size=64)的交互信息后,对于所提取的交互信息,用(sj,aj,rj,s
′j,endj)表示,其中j∈[1,batch_size]表示每个交互信息的序号,s
′j表示sj采取动作aj后的下一个状态,即:前面所述的s
t+1
。通过最小化一个预先设置的损失函数来更新当前网络的参数:
[0079][0080]
其中,yj为目标网络的q值,当end
t
=true时,yj=rj;当end
t
=false时,yj=rj+γq(s
j+1
,a

;θ
target
)。
[0081]
在测试过程中,接入点在每个时隙接收环境的状态s
t
及所有数据流的流量模型信息,作为目标网络的输入,目标网络输出采取不同动作的q值,接入点选择q值最大的动作进行执行,环境接收到动作后,更新到下一个状态s
t+1

[0082]
分布式调度方法,包括如下步骤:
[0083]
(2)分布式调度方法适用于如下场景:单跳网络中存在多个接入点(ap)和多个用户节点。
[0084]
数据流的特点与集中式调度方法中的描述的一样,不同的地方在于,在集中式调度方法中,网络中仅存在一个接入点,即:一个智能体。该接入点可以获取所有数据流的状态信息,而在分布式调度方法中,网络中存在多个接入点,即:多个智能体,每个接入点只能获取环境状态的部分信息,即:获取部分数据流的状态信息,且每个接入点所能获取的数据流信息互不相交,各自独立。
[0085]
接入点在每个时隙选择数据流对应的发送队列并发送其中一个数据包,由于存在
多个接入点,而每个接入点都是独立做出调度决策,因此,如果在同一时隙,有多个接入点同时选择所管理的数据流发送数据包,则会发生碰撞,从而导致数据包传输失败。本发明默认在分布式调度方法中,一个完整的数据包传输过程包括发送rts,cts,data(即:数据包)和ack包,且控制数据包rts,cts,ack的传输不受链路质量的影响。data,即:数据包的传输则会受到链路质量的影响从而产生丢包现象。
[0086]
进一步地,在分布式调度方法中,部分可观测马尔可夫决策过程中的状态定义与集中式调度方法中的状态定义相同,分布式调度方法与集中式调度方法的区别在于,在分布式调度方法中,每个接入点都无法获取网络中所有数据流发送队列的状态信息,只能获取属于自己管理的数据流的状态信息及数据流的流量模型信息。
[0087]
进一步地,在分布式调度方法中,部分可观测马尔可夫决策过程中的观测信息定义如下:在每个时隙,接入点通过无线共享信息可以监听数据包的传输情况,具体可以分为三种情况:
[0088]
(1)没有任何数据包进行传输,此时,可能是发生了冲突或者没有接入点所管理的数据流发送数据包;
[0089]
(2)某个发送节点成功发送了数据包,但该数据包受链路质量的影响发生丢包,从而导致目的节点没有接收到;
[0090]
(3)某个发送节点成功发送了数据包,并被目的节点成功接收。
[0091]
以上三种情况,节点可以通过接收到的rts,cts,data及ack的情况进行区分。将接入点i(假设分布式调度方法中,接入点的总量为i个)在时隙t观测到的信息定义为对于情况(1),对于情况(2)和情况(3),如果数据包的发送节点是节点i,则否则,对于情况(2),对于情况(3),历史信息定义为发送节点i从时隙t-prd直到时隙t-1的观测信息的集合。即:历史信息可以表示为
[0092]
进一步地,在分布式调度方法中,部分可观测马尔可夫决策过程的动作定义与集中式调度方法中的马尔可夫决策过程定义类似,每个接入点的动作是调度其管理的一个数据流或者不调度任何一个数据流。例如接入点i要管理ni个数据流,那么接入点i动作空间ai的大小即为ni+1。在每一个时隙,每个接入点独立地做出调度决策,所有接入点的动作组合成联合动作。联合动作空间大小为
[0093]
进一步地,基于深度强化学习的分布式实时无线网络调度方法:使用集中式训练,分布式执行的框架。在集中式训练阶段,允许智能体获取全局信息,在执行阶段,智能体仅根据局部信息独立做出调度决策。具体细节如下:
[0094]
在分布式调度算法中,在每个接入点上创建学徒网络,并创建各自的经验回放池,同时在整个网络中创建一个专家网络。在集中式训练阶段,专家网络可以收集所有数据流的发送队列的状态信息,并给出每个接入点的最优调度决策动作,每个接入点在训练阶段会执行专家网络给出的最优调度决策动作,并将局部信息与对应的最优调度决策动作所组
成的交互信息放入各自的经验回放池。
[0095]
对于每个接入点,在每个时隙,会从所有经验回放池中随机抽取一定数量的交互信息用于更新接入点上的学徒网络参数与集中式中的设置一样,所提取的交互信息的数量,即:batch_size设置为64。对所提取的交互信息,用(hj,sj,opt_aj)来表示,其中j∈[1,batch_size]表示每个交互信息的序号,通过最小化一个预先设置的损失函数来更新学徒网络的参数:
[0096][0097]
其中,p
jc
是学徒网络的输出,表示在输入为hj,sj的情况下采取动作c的概率。y
jc
的值当动作c为最优动作时,y
jc
=1,否则y
jc
=0。
[0098]
根据本发明的第二方面,提供一种计算机可读存储介质,其中存储有一个或者多个计算机程序,所述计算机程序在被执行时用于实现本发明的实时无线网络调度方法。
[0099]
根据本发明的第三方面,提供一种网络编码的计算系统,包括存储装置、以及一个或者多个处理器;其中,所述存储装置用于存储一个或者多个计算机程序,所述计算机程序在被所述处理器执行时用于实现本发明的实时无线网络调度方法。
[0100]
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
[0101]
本发明基于深度强化学习的集中式实时无线网络调度方法实现框架如图1所示,主要包括如下步骤:
[0102]
发送节点在与一个新的环境交互前,会在经验回放池中新建一个新的子区域,用于存放发送节点与该环境的交互信息。
[0103]
接入点在与环境交互时,在每个时隙,接入点将所有数据流对应的发送队列的队列信息进行状态转换,每个数据流的状态由该数据流待调度的紧急程度与该数据流的数据包到达因子共同组成,所有数据流的状态的集合构成当前时隙的环境状态s
t
,同时,接入点可以获取到环境特征信息,即:所有数据流的流量模型信息与链路质量信息(offset,prd,d,b,pro)
1~k
,智能体根据环境状态和环境特征信息执行调度决策a
t
。智能体执行调度决策a
t
后,会收到环境的反馈,包括回报值r
t
和终止标志end
t
。所有数据流的状态会更新至s
t+1
。交互信息(s
t
,a
t
,r
t
,s
t+1
,end
t
)将会被存储到经验回放池的对应区域。
[0104]
在每个时隙,接入点从经验回放池中随机抽取一定数量的交互信息,每个交互信息属于某个特定的环境,环境由环境特征所描述,在本实验中,抽取的信息数量设置为64,交互信息与环境特征共同用于训练并更新网络参数。神经网络参数的更新采用双重q学习(ddqn)方法。
[0105]
具体来说,接入点会创建两个具有相同结构的神经网络,分别为当前网络和目标网当前网络用于更新网络参数,而目标网络用于选择动作。无论在训练阶段还是测试阶段,当接入点需要做出调度决策时,会获取当前时隙的环境状态以及当前所处环境的环境特征作为目标网络的输入,目标网络获得输入后,输出采取不同动作的价值。接入点再根据当前阶段是训练阶段和测试阶段采取不同的动作选择策略,如果当前阶段是训练阶段,接入点
以ε的概率从动作空间中随机选取一个动作执行,以1-ε的概率选择目标网络的输出中最大值所对应的调度动作进执行。其中,ε是一个介于0到1之间的小数,ε用于平衡利用与探索之间的比例,利用是指智能体在选择动作时选取价值最大的动作执行,探索是指智能体在选择动作时在动作空间中随机执行动作。利用从短期角度上看,可以最大化当前时刻的期望收益,而探索从长远角度上看,可能最大化总收益。在智能体的训练初期阶段,会设置较大的ε值,从而让智能体充分获得不同动作的价值信息,随着训练过程的进行,为了保证智能体所采取的动作能够收敛到具有最大价值的动作,ε会逐渐减小到一个非常接近于0的小数。因此,ε的计算公式如下:
[0106][0107]
其中,ε0=0.99,ε
min
=0.001,train_time指接入点已经交互的环境的数量,初始值为0,当接入点每与一个环境交互完成后,该值加1。如果当前阶段是测试阶段,则接入点选择目标网络的输出中最大值所对应的调度动作。目标网络的参数θ
tar get
每隔一定的时间,就会被当前网络的参数θ
current
所覆盖。
[0108]
本发明基于深度强化学习的分布式实时无线网络调度方法实现框架如图2所示,主要包括如下步骤:
[0109]
分布式实现框架采用集中式训练,分布式执行的方式,具体如下。
[0110]
在集中式训练阶段,存在一个专家网络,专家网络可以获取全局信息,包括:所有数据流的状态信息,所有数据流的流量模型信息及链路质量信息,专家网络根据全局信息做出最优调度决策,由于专家网络可以获取全局信息,因此,它可以使用集中式调度方法提前预训练得到。在每个时隙,专家网络输出的最优调度决策传输给每个接入点,每个接入点执行所接收到的最优调度决策动作,然后,将该时隙下,接入点所能获得的局部信息:包括历史信息和所调度的数据流的状态信息与最优调度决策动作组合成交互信息,存放到经验回放池中,每个接入点存在一个学徒网络,学徒网络由两种类型的神经网络组成,分别是长时序列网络lstm和全连接神经网络fcn,lstm网络用于处理历史信息fcn网络用来处理所调度的数据流的状态信息在每个时隙,接入点从经验回放池中随机抽取批量经验用于更新学徒网络的参数。
[0111]
在分布式执行阶段,专家网络会被移除,接入点在进行调度决策时,不再会有专家网络输出的最优调度决策做指导,每个接入点的学徒网络根据局部信息输出每个调度决策的价值,接入点会选取价值最大的调度决策进行执行。
[0112]
下面将通过具体的实例对本发明所述的基于深度强化学习实时无线网络调度方法进行仿真实验并给予说明。
[0113]
图3展示了两种典型的网络拓扑。分别为单跳单接入点服务多个用户节点的网络和单跳多接入点服务多个用户节点的网络。
[0114]
本实验中,将本发明实例中的集中式调度方法与现有的ldf、rac和rac-approx方法进行了比较,分布式调度方法与现有的db_dp方法进行比较,同时将两个方法所得到的实时吞吐量与理论最优值进行比较。同时比较了不同算法在动态环境下的适应性,还比较了
算法中某些改进措施的重要性。用上述实验对本发明所述的基于深度强化学习的实时无线网络调度方法进行评估。
[0115]
图4展示了根据本发明实施例的基于深度强化学习的实时无线网络调度的设备功能配置框图。该设备包括:网络状态转化单元,配置为将当前网络状态转化为特定格式传入神经网络;智能调度单元,配置为根据网络状态选择最优调度策略;数据包转发单元,配置为转发被调度的数据流对应的数据队列中的数据包。
[0116]
图5展示了集中式调度方法和现有方法在不同数据流数量下的实时吞吐量。数据流数量k∈[2,10],每个数据流的流量模型(offsetk,prdk,dk,bk,prok)的设置如下:当k为奇数时,offsetk=k-1,bk=0.8,prok=0.9,dk=5。当k为偶数时,offsetk=k-1,bk=0.8,prok=0.7,dk=4。根据不同的到达周期又分别设置了两组不同的实验,一组实验中,数据流的到达周期会大于数据流的截止期限,另一组实验中,数据流的到达周期会小于数据流的截止期限。对于第一组实验,如果k为奇数,则prdk=6,如果k为偶数,则prdk=7。对于第二组实验,如果k为奇数,则prdk=2,如果k为偶数,则prdk=3。图5中结果显示,集中式调度方法的实时吞吐量与rac方法都能达到最优实时吞吐量,但随着数据流数量的增加,由于状态数量呈指数级上涨,rac在数据流数量为6和8的情况下无法给出调度策略,而集中式调度方法依然能给出调度策略,同时集中式调度方法在不同数据流数量下的实时吞吐量也要高于启发式方法rac-approx方法和ldf方法。
[0117]
图6展示了集中式调度方法和现有方法在不同截止期限下的实时吞吐量。数据流数量k=4,截止期限的变化范围为d∈[2,6],每个数据流的流量模型(offsetk,prok,dk,bk,prok)的设置如下:当k为奇数时,offsetk=k-1,bk=0.8,prok=0.9,dk=d+1。当k为偶数时,offsetk=k-1,bk=0.8,prok=0.7,dk=d。根据不同的到达周期又分别设置了两组不同的实验,一组实验中,数据流的到达周期会大于数据流的截止期限,另一组实验中,数据流的到达周期会小于数据流的截止期限。对于第一组实验,如果k为奇数,则prdk=6,如果k为偶数,则prdk=7。对于第二组实验,如果k为奇数,则prdk=2,如果k为偶数,则prdk=3。图5中结果显示,集中式调度方法的实时吞吐量与rac方法都能达到最优实时吞吐量,同时,集中式调度方法在不同数据流数量下的实时吞吐量也要高于启发式方法rac-approx方法和ldf方法。
[0118]
图7展示了分布式调度方法和现有方法在不同数据流数量下的实时吞吐量,实验设置与图5中的一样,不过,每个数据流的bk=1。图7中结果显示,分布式调度方法的实时吞吐量能达到最优实时吞吐量,同时,分布式调度方法在不同数据流数量下的实时吞吐量也要高于db-dp方法。
[0119]
图8展示了分布式调度方法和现有方法在不同截止期限下的实时吞吐量,实验设置与图6中的一样,不过,每个数据流的bk=1。图8中结果显示,分布式调度方法的实时吞吐量能达到最优实时吞吐量,同时,分布式调度方法在不同截止期限下的实时吞吐量也要高于db-dp方法。
[0120]
图9展示了集中式调度方法中状态转换的作用与采用不同回报函数定义的影响。比较两种状态定义方式,分别是采用二进制字符串序列的状态定义(用类型1表示),与本发明中的状态转换定义(用类型2表示)。比较两种回报函数,分别是根据数据包的发送结果设置的回报函数(用类型1表示),与根据所调度链路的链路质量设置的回报函数(用类型2表
示)。图9表示,在采用相同的回报函数时,采用类型1的状态定义时,方法不能收敛到最优实时吞吐量,采用类型2的状态定义时,方法能够收敛到最优实时吞吐量。这表明,本发明中所提出的状态表示要优于现有的状态表示方法。同时,根据图9,在采用相同的状态定义时,采用不同的回报函数不会影响方法收敛后的实时吞吐量,但会影响方法的收敛时间,采用类型1的回报函数设计会延长方法的收敛时间,在实际情况中,如果发送节点可以知道链路的链路质量,则可以采用类型2的回报函数,否则可以采用类型1的回报函数。
[0121]
图10展示了分布式调度方法中专家网络的重要性,比较两种情况下分布式调度方法在训练过程中实时吞吐量的变化情况。根据图10可知,使用专家网络可以使分布式调度方法的实时吞吐量随着训练次数的增加逐步增长到最优实时吞吐量,而不使用专家网络的情况下,每个发送节点的学徒网络独自训练,则会使分布式调度方法的实时吞吐量随着训练次数的增加发生不稳定的变化情况,最终变为0.
[0122]
图11与图12展示了集中式调度方法与分布式调度方法在动态无线网络环境下实时吞吐量的变化情况,图11与图12在两个不同的阶段存在两个不同的网络环境。图11表明,集中式调度方法能够在网络环境发生变化时及时调整调度策略,使实时吞吐量恢复到新的环境下的最优实时吞吐量,而其他方法ldf与rac-approx尽管能在较短时间内调度调度策略,但不能达到最优实时吞吐量,而rac方法在环境发生变化后,需要较多的时间计算新环境下的最优调度策略,
[0123]
因此,在一段时间内,rac方法的实时吞吐量均为0.图12表示,分布式调度方法在环境发生变化后,尽管不能快速恢复到最优实时吞吐量,但可以在原有的网络参数上继续进行训练,使实时吞吐量逐渐达到最优实时吞吐量,而db-dp方法尽管能够迅速调整调度策略,但不能达到最优实时吞吐量。
[0124]
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
[0125]
本发明还提出了一种基于深度强化学习的实时分布式无线网络调度系统,其中包括:
[0126]
初始模块,用于获取由多个接入点和多个用户节点互连组成的无线网络,每个接入点调度网络中的部分数据流,每个接入点本地均设有的经验回放池;
[0127]
调度模块,用于在每个接入点i与网络环境交互时,在训练阶段的每个时隙t,网络中全局专家网络收集所有数据流的状态信息、流量模型信息及链路质量信息,并给出每个接入点的最优调度决策动作,每个接入点i执行全局专家网络所给出的最优调度决策动作每个接入点i根据部分数据流对应的发送队列信息,得到接入点i所调度的数据流在t时隙的状态同时,获取之前截止时隙t对无线信道的历史观测信息将交互信息存储至接入点i本地的经验回放池中,在测试阶段的每个时隙t,每个接入点i将部分数据流的状态和历史观测信息输入至决策模型,该接入点执行该决策模型输出结果对应的调度决策
[0128]
训练模块,用于使每个接入点i从本地的经验回放池中抽取经验,以训练更新接入
点i的决策模型。
[0129]
所述的基于深度强化学习的实时分布式无线网络调度系统,其中该决策模型的训练包括:
[0130]
构建获取全局信息专家网络,该全局信息包括无线网络中所有数据流的状态信息、流量模型信息及链路质量信息,在每个时隙,该专家网络根据全局信息做出各接入点的最优调度决策,每个接入点执行所接收到的最优调度决策动作,同时将当前时隙下,接入点将其获得的历史观测信息、局部环境状态与最优调度决策动作,存入接入点本地的经验回放池中,每个接入点设有学徒网络,在每个时隙,接入点从本地的经验回放池中随机抽取批量经验用于更新该学徒网络的参数,直到该学徒网络输出的调度决策达到预设标准或达到预设更新次数,保存当前学徒网络作为该决策模型。
[0131]
所述的基于深度强化学习的实时分布式无线网络调度方法,其中该学徒网络包括长时序列网络和全连接神经网络,长时序列网络用于处理历史观测信息,全连接神经网络网络用来处理所调度的数据流的状态;
[0132]
其中该历史信息为接入点在各历史时隙监听到的数据包传输情况,数据包传输情况包括以下三种:
[0133]
没有任何数据包进行传输、发送节点成功发送数据包但该数据包没有被目的节点接收,以及发送节点成功发送数据包并被目的节点成功接收。
[0134]
所述的基于深度强化学习的实时分布式无线网络调度方法,其中基于下述损失函数更新第i个接入点的该学徒网络参数:
[0135][0136]
其中,p
jc
为学徒网络的输出,表示在输入为hj,sj的情况下采取调度动作c的概率,hj,sj分别为该批量经验中第j个经验中的历史信息和环境状态;y
jc
的值当动作c为最优动作时,y
jc
=1,否则y
jc
=0。
[0137]
本发明还提出了一种计算机可读存储介质,用于存储有一个或者多个计算机程序,所述计算机程序在被执行时用于实现所述的任意一种基于深度强化学习的实时分布式无线网络调度方法。
[0138]
本发明还提出了一种客户端,用于所述的任意一种基于深度强化学习的实时分布式无线网络调度系统。
[0139]
需要说明的是,上述实施例中介绍的各个步骤并非都是必须的,本领域技术人员可以根据实际需要进行适当的取舍、替换、修改等。
[0140]
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管上文参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1