一种基于深度强化学习的物联网智能拥塞控制方法

未命名 07-27 阅读:95 评论:0


1.本发明属于计算机技术领域,具体涉及一种基于深度强化学习的物联网智能拥塞控制方法。


背景技术:

2.物联网(internet of things,iot)是一个由互连的计算设备,机械,数字设备,具有唯一标识符的对象组成的系统。iot能够将车辆、手表、空调等日常设备连接到互联网并从这些设备收集传感数据,而无需任何人与人之间或人与计算机之间的交互。但是iot生成的大量数据会非常迅速地聚集在一起,增加了对网络具有更高吞吐量,可靠性和可预测性的需求。而物联网(internet of things,iot)中的拥塞管理是提高网络服务质量中最具挑战性的任务之一,物联网通信网络技术标准有:ad-hoc网络、通信网络架构、面向智能物体低功耗网络ip技术等。
3.针对资源受限的物联网应用领域场景中,物联网中的设备具有电池能源、计算、存储和带宽受限等特点。物联网中的设备主要任务是收集监控范围内的数据信息,且终端设备利用簇头节点将信息发给下一条或直接发送给汇聚节点,其中汇聚节点也被称之为sink节点。网络拥塞通常会由于网络资源提供容量上限值小于网络对该资源的需求量。而且在物联网中,数据流量的突发,节点缓冲队列的溢出和节点在进行数据传输时发生的数据碰撞等事件均会引发网络拥塞。网络拥塞会带来数据包丢失的增多,网络带宽的浪费,网络延迟的增大甚至拥塞程度加重后会带来系统崩溃等一系列问题。


技术实现要素:

4.为解决以上现有技术存在的问题,本发明提出了一种基于深度强化学习的物联网智能拥塞控制方法,该方法包括:构建物联网系统,该系统包括终端节点、簇头节点、中继节点以及sink节点;终端节点向簇头节点发送数据包;簇头节点根据终端节点发送的数据包设置缓冲队列,并获取当前簇头节点状态信息;根据当前簇头节点状态信息确定簇头节点的拥塞状态,并将拥塞状态发送给中继节点;中继节点根据拥塞状态获取物联网中各个节点的状态信息,并将状态信息发送给sink节点;sink节点采用改进的dqn算法对物联网的状态信息进行优化,得到拥塞控制策略,根据拥塞控制策略对簇头节点中的队列任务进行分配,完成拥塞控制。
5.本发明的有益效果:
6.本发明将节点缓冲队列长度、上级节点缓冲队列长度、同级节点数目和节点的发包速率作为拥塞指标,同级节点的数目可以很好的帮助节点进行退避值的选择,且同级节点数目的增多或减少可以很好的帮助智能体自适应网络流量的突发;本发明使用隐式拥塞通知,利用ack反馈捎带拥塞信息,最后采用节点发包速率的变化来控制网络拥塞;针对ack反馈丢失问题,本发明引入了反馈恢复机制,充分考虑了由于信道质量带来的反馈丢失和延迟问题,节约了带宽资源且降低数据包递送延迟。
附图说明
7.图1为本发明的物联网结构图;
8.图2为本发明的非时隙csma/ca算法信道接入流程图;
9.图3为本发明的强化学习示意图;
10.图4为本发明的drl-jmcc机制架构图;
11.图5为本发明的drl-jmcc机制深度数据网络结构图;
12.图6为本发明的ack反馈恢复机制示意图;
13.图7为本发明的drl-jmcc算法流程图。
具体实施方式
14.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
15.一种基于深度强化学习物联网结构图,如图1所示,终端设备节点可以称之为下行节点,簇头节点为上行节点。节点在进行数据传输之前需要进行信道访问,而终端节点通常是共享无线信道,信道的共享会引发信道竞争,信道竞争会造成信道利用率低,进而造成数据递送率低。另外,由于wsns支持可靠传输,即每轮数据包传输会依靠确认(acknowledgement,ack)机制来确认是否成功传输,因此ack的延迟或丢失以及迟到都会导致网络吞吐量的下降。此外,网络资源过载,即数据包达到节点的速率大于数据包的发送速率,这会导致节点缓冲队列的数据包出队速率低于进队速率进而造成节点缓冲队列溢出。如图1所示,物联网中的拥塞可以分为节点拥塞和链路拥塞两类,节点拥塞主要特征是节点缓冲队列的溢出,簇头节点由于要承担整个集群数据信息的交付,其缓冲队列需要容忍更多的流量信息,因此节点拥塞更有可能发生在簇头节点处。链路拥塞产生的原因有很多,信道竞争访问、数据碰撞和信道质量差都可能造成链路拥塞,且随着信道竞争的节点数目不断增加,出现链路拥塞的可能性就越大。
16.一种基于深度强化学习的物联网智能拥塞控制方法,该方法包括:构建物联网系统,该系统包括终端节点、簇头节点、中继节点以及sink节点;终端节点向簇头节点发送数据包;簇头节点根据终端节点发送的数据包设置缓冲队列,并获取当前簇头节点状态信息;根据当前簇头节点状态信息确定簇头节点的拥塞状态,并将拥塞状态发送给中继节点;中继节点根据拥塞状态获取物联网中各个节点的状态信息,并将状态信息发送给sink节点;sink节点采用改进的dqn算法对物联网的状态信息进行优化,得到拥塞控制策略,根据拥塞控制策略对簇头节点中的队列任务进行分配,完成拥塞控制。
17.在本实施例中,网络拥塞控制通常包含三个阶段,分别是拥塞检测、拥塞通知和拥塞控制。
18.在拥塞检测阶段,主要用于检测拥塞的指标有:缓冲队列的占用情况、信道负载和数据包服务时间。缓冲队列占用情况可以很好的辨析节点拥塞程度,信道负载可以给出当前节点的信道竞争大小,数据包服务时间则表明了数据包到达介质访问控制(medium access control,mac)层的时刻与其向上递送数据时刻的差值,差值越大则证明网络拥塞
程度越大。本方法主要针对节点缓冲队列长度和信道负载来进行拥塞检测。
19.拥塞通知阶段,拥塞通知分为显式拥塞通知和隐式拥塞通知。显式拥塞通知是通过发送额外的控制信息来向邻居节点告知拥塞情况,但该举措势必会造成额外的网络资源开销,且在一定程度上会加重网络拥塞。反之,隐式通知利用信息的捎带传输不会增加额外的开销。
20.拥塞控制阶段,从拥塞控制架构看,拥塞控制可以分为集中式拥塞控制和分布式拥塞控制。集中式拥塞控制中拥塞控制措施都由sink节点执行,sink节点指导全网拓扑结构,因此它会周期性的从全网的设备节点处收集拥塞汇报信息,并经过计算将拥塞控制措施逐跳下发给设备节点。分布式拥塞控制是设备节点自身根据观察到的拥塞情况执行相应的拥塞控制算法。
21.在进行数据传输时,采用ieee 802.15.4协议进行数据传输,ieee 802.15.4是为低速率无线个域网而制定的协议标准,目前也是物联网中应用最广泛的标准协议之一,该标准定义了通信协议栈的物理层和数据链路层。
22.mac层属于数据链路子层,负责给所有设备节点分配通信资源进而将数据转发给物理层,其主要用于避免无线网络由于信道共享导致的数据传输冲突问题。常见的mac协议有三种:基于竞争的随机接入mac协议,基于调度的固定接入mac协议和竞争调度相结合的混合mac协议。针对竞争mac协议,因为竞争mac协议可以根据节点需要进行信道分配,对于节点数目的变化和网络负载的改变做出相应的举措,固定接入的mac协议很容易出现节点长时间没有数据传输而导致资源浪费,混合mac协议由于协议复杂度较高,协议的开销和成本较大。
23.载波侦听多路访问(carrier sense multiple access with collision avoid,csma/ca)协议是一种典型的基于竞争的mac协议,目的是避免站点在进行数据传输时引发的数据冲突。在物联网中,csma/ca协议按照是否支持信标网络工作方式将其分为时隙csma/ca和非时隙csma/ca,前者相比于后者实现更加复杂,本发明采用非时隙csma/ca算法。如图2所示,该方法包括:
24.步骤1:初始化簇头节点mac层数据包的参数,该参数包括后退次数nb、退避指数be、帧重传次数fr以及竞争窗口cw;
25.步骤2:簇头节点感知中继节点的信道空闲状态,若中继节点的处于空闲状态,则簇头节点进行信道接入,否则节点在[0,2
be-1]随机选择一个退避数进行退避;
[0026]
步骤3:当节点退避结束后,执行空闲信道检测,若当前信道空闲,则将退避后的节点接入信息,否则nb值增加1,be值增加1;
[0027]
步骤4:确定当前退避次数与最大csma退避值的大小,当nb的值超过mac层所设定的最大csma退避值时,该节点本轮信道接入失败,否则返回步骤2。
[0028]
具体的,mac层数据包的传输由四个参数控制:后退次数(number of back off,nb)、退避指数(backoff exponent,be)、帧重传次数(frame retries,fr)和竞争窗口(contention window,cw)。在非时隙csma/ca算法中,cw被设置为1,因此一旦节点感知信道空闲即可接入信道,空闲信道检测(clear channel assessment,cca)用于进行检测信道是否可用。节点需要在[0,2
be-1]随机选择一个退避数进行退避,这样避免无线信道的冲突访问。退避结束之后如果检测信道空闲,则进行信道接入,否则此轮竞争失败,nb值增加1,be
值增加1,be需要满足min(be,macmaxbe),macmaxbe是mac层设置的最大退避指数。一旦nb》macmaxcsmabackoff,即nb的值超过mac层所设定的最大csma退避值时,该节点本轮信道接入失败。此外,为了保证可靠传输,csma/ca协议可以支持数据重传,数据包发送之后需要等待对该数据的确认,通过发送ack来确认数据成功递送,如果在规定时间内未收集到ack,则表明目标节点未收到数据包,则数据会被重传,一旦达到重传上限,则该数据包传输失败。
[0029]
深度神经网络(deep neural network,dnn)也被称之为深度学习,是目前人工智能应用的基础,“深”表示神经网络中有多个隐藏层,其可以学习更加复杂且抽象的多维数据特征。dnn会将要进行分析的数据输入进网络中,输入的网络有前馈网络和循环网络两种,前馈网络是一个静态网络,信息是单向传递的,网络的输出只依赖当前的输入,不具备记忆能力。而循环神经网络使用带自反馈的神经元,网络的输出与当前的输入和上一时刻的输出有关,因此便具备记忆能力。其中,本方法后续使用的长短期记忆(long short-term memory,lstm)网络隶属于循环神经网络(recurrent neural network,rnn)。
[0030]
强化学习(reinforcement learning,rl)是机器学习的一个分支,擅长于控制复杂系统,rl中做决策的对象被称之为智能体。强化学习中决策问题采用马尔科夫决策(markov decision process,mdp)问题进行求解。mdp由一个四元组(s,a,p,r)组成,s指的是状态集,a是动作集,p是智能体由当前状态转移到下一时刻状态的状态转移概率,r是是奖励函数。在复杂系统中,代理在与环境交互时持续观察状态,执行动作并获得奖励。图3给出了强化学习示意图。与监督学习不同,rl不需要标记数据或人类知识来进行模型训练。相比之下,它使用奖励(即来自环境的反馈信号)来更新策略映射,从观察到的状态更新到相应的动作。
[0031]
强化学习中,π指代策略,它表示状态到动作的映射,mdp目的在于找到一个策略使累计折扣奖励最大化,累计折扣奖励用ut表示,其定义为:
[0032][0033]
其中,a
t
=π(s
t
),γ是折扣率,γ∈[0,1],γ决定了未来奖励与当前奖励相比的重要性。如果γ=0,则智能体只考虑最大化当下奖励值,如果γ=1,智能体会争取最大化长期累计奖励值。可以看出u
t
具有随机性,当智能体在s
t
做完动作a
t
时,u
t
的随机性取决于t+1时刻之后的所有出现的状态和动作。如果对t+1时刻后所有的状态和动作求条件期望得到:
[0034][0035]
其中q
π
(s,a)被称之为动作价值函数,q
π
(s,a)只依赖于当前t时刻下的状态s,动作a和策略π。当智能体采用不同的策略时,动作价值函数q
π
(s,a)的值也不同。如果要排除策略π对动作价值函数的影响,则需要引入最优动作价值函数,其定义如下:
[0036][0037]
通过不断更新q函数来逼近q
*
,其中更新q函数的公式为:
[0038][0039]
其中,α是学习率,且α》0,它会影响智能体的学习速度。q-learning算法不需要构造一个模型进行学习,其只需维护一张q表,表的大小取决于状态和动作的维度。面对离散
且数量较小的状态集和动作集的强化学习问题中,q-learning具有很好的学习性能。
[0040]
在早期阶段,主要使用表格rl方法来解决相关决策问题。然而,由于输入信息的维数限制,当状态空间或动作空间的维数较高时,表格rl方法将需要大量的计算。深度强化学习(drl)是近年来提出的一种新方法,它通过引入深度学习(dl)技术,即利用深度神经网络作为函数逼近器,解决了这一困境。除了具有处理高维状态和动作空间的能力外,drl还提供了比传统启发式方法提取更精确的特征表示的优势。
[0041]
深度q网络(deep q network,dqn)是最基本的基于价值学习的drl算法,dqn作为价值评估器用q(s,a;θ)表示,其为每个状态-动作对进行价值评估,为了让智能体可以从过去与环境的交互中学习到最佳策略,即状态-动作对价值最大,dqn还引入了经验重放(experience reply)来存储经验四元组(s
t
,a
t
,r
t
,s
t+1
),并在每次训练步长中抽样一批经验用于训练智能体。dqn参数的更新采用时间差分(temporal-difference,td)算法,其利用当前q值和目标q值的均方误差作为损失函数,并通过不断更新dqn的参数θ使得损失函数减小,损失函数的定义为:
[0042][0043]
由于dqn算法采用目标q网络进行动作的选择和价值计算,导致价值高估问题;为了降低该问题所带来的影响,构建新的模型损失函数,该表达式为:
[0044][0045]
其中,表示期望,r
t
表示t时刻下智能体得到的奖励,γ表示智能体得到的回报折扣率,q表示动作价值函数,s
t+1
表示t+1时刻下智能体的状态,a表示动作集合,θ表示目标网络的权重参数,θ

表示评估网络的权重参数。
[0046]
采用深度q网络学习最优的选择策略包括:智能体获取环境信息,并将获取的环境信息输入到策略网络中,得到当前时刻的动作;根据当前时刻的动作采用奖励函数计算智能体当前动作的奖励;将当前网络的状态、任务动作、即时奖励以及下一时刻网络状态作为四元组存放到优先经验重放数组中;采用优选经验重放数组中的数据对策略网络和价值网络进行训练,更新q函数;计算模型的损失函数,采用累计折扣奖励对损失函数进行优化,当累计折扣奖励最大时,损失函数收敛,完成模型训练,输出最优选择策略。
[0047]
一个基于深度强化学习的联合mac层信道竞争访问拥塞控制机制(drl based jointing mac layer channel competition access congestion control,drl-jmcc)。drl-jmcc机制主要由网络环境、double dqn架构和ack反馈恢复机制三部分组成,图4给出了drl-jmcc机制的详细架构图。其中网络环境作为智能体的交互环境,在智能体训练过程中会合理给出状态和奖励信息;double dqn架构用于智能体训练;ack反馈恢复机制作为辅助结构,便于智能体在训练过程中更有效应对无线信道质量差问题。
[0048]
采用drl-jmcc机制对智能体进行训练的过程包括:drl-jmcc机制的状态由下行智能体节点缓冲队列长度、上行节点缓冲队列长度、下行节点进行信道共享的数目和智能体上一时刻的发包速率组成。
[0049]
智能体的动作a是一个二元组(v,t),分别指代智能体发包速率的倍数值和退避时间,退避时间都为整数,具体动作定义如下:
[0050][0051]
智能体的奖励被设置为固定周期内智能体成功递送的数据包数目和网络丢包数目的差值。成功递送的数据包指的是成功收到了该数据包的ack确认,奖励公式如下:
[0052]rt
=r
t-l
t
[0053]
其中,r
t
表示sink节点t时间内接收到的数据包数目,l
t
表示t时间内网络丢包数目。
[0054]
本发明采用double dqn架构,首先是利用了经验回放和贪婪策略加速算法收敛。贪婪算法表现在智能体做决策时,有∈(∈《1)的概率随机选择未知动作进行探索,剩下1-∈则选择最优动作。经验重放会在ack反馈恢复机制中详细提及。drl-jmcc机制的深度神经网络结构如图5所示。dnn的输入层进行状态输入,隐藏层则由一个lstm和两个全连接层组成,lstm的神经元数目为128个,两个全连接层的神经元数目分别为128和64个,lstm用于帮助智能体记录历史学习信息,因为节点进行信道接入时存在历史信息的依赖,引进lstm有利于智能体做出动作决策。
[0055]
ack反馈恢复机制重点关注ack数据包的丢失和延迟问题。本方法在训练智能体时采用经验重放机制,经验指的是状态、动作和奖励三要素,经验重放的目的是为了降低经验之间的依赖性,并且可以很好的提高数据的利用率。ack反馈恢复机制涉及两个经验重放池,分别为不完全经验重放和完全经验重放。如果ack反馈没有在规定时间内接受,则当前的经验被认定为不完全经验,需要放置在不完全经验重放池中,如果后续ack反馈延迟到达,则会弥补之前的信息不足使得不完全经验变成完全经验并将其放置在完全经验池中。一旦在设定时间内依旧没有收到ack反馈,则认定ack反馈丢失,不完全经验会被丢弃,具体的ack反馈恢复机制示意图如图6所示。
[0056]
如图7所示,具体drl-jmcc机制实现算法步骤如下:
[0057]
步骤1:网络初始化,设置一个容量为n的经验重放池φ,评估网络权重参数θ,目标网络权重参数θ',令θ

=θ,评估网络和目标网络的网络结构完全相同。该机制将最大训练轮数设为m,当前训练轮数设为ne,每轮训练过程的总时间为t。另外还考虑了节点信道竞争访问后,初始化的参数需要加入节点重传次数来限制节点重传。
[0058]
步骤2:智能体开始与网络环境交互,首先同样是判断ne是否达到最大训练轮数m,如果达到,转至步骤13,反之,执行步骤3。
[0059]
步骤3:每轮智能体开始训练之前需要将网络环境重置,即初始化参数默认设置成原始值,训练时间步长t初始为0。
[0060]
步骤4:智能体在训练过程中会记录训练时间,一旦t》t,则意味本轮训练结束,跳至步骤12,否则,执行步骤5。
[0061]
步骤5:以概率∈为界限随机选择动作,否则让评估网络选择目标动作价值函数中产生最优期望回报的动作。
[0062]
步骤6:执行信道竞争访问算法,节点在进行信道访问退避之前需要检查是否达到最大重传次数,之后再执行相应动作,图4-6虽没有给出明确的重传限制,但是信道竞争访
问算法已经包含重传限制。一旦信道访问成功,执行步骤7,否则执行步骤4。
[0063]
步骤7:成功接入信道的节点是否成功接收ack,如果是,则执行步骤,否则执行步骤8。
[0064]
步骤8:执行ack反馈恢复机制,规定时间内收到迟到ack,执行步骤9,否则丢弃不完全经验,本轮数据传输失败,执行步骤6。
[0065]
步骤9:将完全经验存储在完全经验池中,并随机抽样小批次的经验,通过梯度下降寻找损失函数最小值,以此更新评估网络参数θ。
[0066]
步骤10:判断是否达到目标网络更新参数周期,如果达到,执行步骤11,否则跳至步骤4。
[0067]
步骤11:更新目标网络参数,θ

=θ,跳转步骤4。
[0068]
步骤12:训练轮数ne加1。
[0069]
步骤13:智能体训练结束。
[0070]
本发明将深度强化学习引入进行网络拥塞控制可以不需要收集前期数据,直接自适应的让智能体与环境交互并不断的学习最优策略。其次深度强化学习中加入了节点贪婪策略更有助于节点探索性学习,这有助于智能体学习到传统规则下更有益的动作。之后,本发明在进行智能体训练时,充分考虑了网络拥塞发生的可能性,即同时考虑了节点拥塞和链路拥塞两者可能发生的网络拥塞类型,并且将网络流量突发特性加入到网络环境状况中,更好的增加了方法的鲁棒性。
[0071]
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种基于深度强化学习的物联网智能拥塞控制方法,其特征在于,包括:构建物联网系统,该系统包括终端节点、簇头节点、中继节点以及sink节点;终端节点向簇头节点发送数据包;簇头节点根据终端节点发送的数据包设置缓冲队列,并获取当前簇头节点状态信息;根据当前簇头节点状态信息确定簇头节点的拥塞状态,并将拥塞状态发送给中继节点;中继节点根据拥塞状态获取物联网中各个节点的状态信息,并将状态信息发送给sink节点;sink节点采用改进的dqn算法对物联网的状态信息进行优化,得到拥塞控制策略,根据拥塞控制策略对簇头节点中的队列任务进行分配,完成拥塞控制。2.根据权利要求1所述的一种基于深度强化学习的物联网智能拥塞控制方法,其特征在于,获取当前簇头节点状态信息包括:缓冲队列的占用情况、信道负载和数据包服务时间;其中缓冲队列的占用情况用于确定节点的拥塞情况,信道负载用于确定当前节点的信道竞争大小,数据包服务时间用于确定数据包到达介质访问控制层的时刻与其向上递送数据时刻的差值。3.根据权利要求1所述的一种基于深度强化学习的物联网智能拥塞控制方法,其特征在于,将拥塞状态发送给中继节点包括:采用非时隙csma/ca算法将拥塞状态传输给中继节点,具体过程包括:步骤1:初始化簇头节点mac层数据包的参数,该参数包括后退次数nb、退避指数be、帧重传次数fr以及竞争窗口cw;步骤2:簇头节点感知中继节点的信道空闲状态,若中继节点的处于空闲状态,则簇头节点进行信道接入,否则节点在[0,2
be-1]随机选择一个退避数进行退避;步骤3:当节点退避结束后,执行空闲信道检测,若当前信道空闲,则将退避后的节点接入信息,否则nb值增加1,be值增加1;步骤4:确定当前退避次数与最大csma退避值的大小,当nb的值超过mac层所设定的最大csma退避值时,该节点本轮信道接入失败,否则返回步骤2。4.根据权利要求1所述的一种基于深度强化学习的物联网智能拥塞控制方法,其特征在于,采用改进的dqn算法对物联网的状态信息进行优化的过程包括:步骤1:网络初始化,该初始化包括一个容量为n的经验重放池φ,评估网络权重参数θ,目标网络权重参数θ;最大训练轮数m,当前训练轮数n
e
,每轮训练过程的总时间t;步骤2:智能体与网络环境进行交互,确定当前训练轮数是否达到最大训练轮数,若达到最大训练轮数,则输出优化后的物联网状态信息;否则执行步骤3;步骤3:对网络环境进行重置,即初始化参数默认设置成原始值,训练时间步长t初始为0;步骤4:智能体获取当前网络的训练时间t,当t>t,则训练结束,跳至步骤12,否则执行步骤5;步骤5:采用深度q网络学习最优的选择策略,根据最优选择策略选取最优的动作;步骤6:采用信道竞争访问算法确定节点是否达到最大重传次数,若达到重传次数,则该节点成功接入信道,并则执行步骤7,否则返回步骤4;步骤7:确定成功接入信道的节点是否接收到ack信息,若接收到信息,则执行步骤9,否则执行步骤8步骤8:对成功接入信道的节点执行ack反馈恢复机制,并重新对该节点发送ack信息,
若接收到信息,则执行步骤9,否则本轮数据传输失败,并返回步骤6;步骤9:将完全经验存储在完全经验池中,并随机抽样小批次的经验,通过梯度下降寻找损失函数最小值,根据损失函数最小值对评估网络参数θ进行更新;步骤10:判断当前网络是否达到目标网络更新参数周期,若达到目标网络更新参数周期,则执行步骤11,否则返回步骤4;步骤11:更新目标网络参数,θ

=θ,跳转步骤4;步骤12:训练轮数n
e
加1,并返回步骤2。5.根据权利要求4所述的一种基于深度强化学习的物联网智能拥塞控制方法,其特征在于,采用深度q网络学习最优的选择策略包括:智能体获取环境信息,并将获取的环境信息输入到策略网络中,得到当前时刻的动作;根据当前时刻的动作采用奖励函数计算智能体当前动作的奖励;将当前网络的状态、任务动作、即时奖励以及下一时刻网络状态作为四元组存放到优先经验重放数组中;采用优选经验重放数组中的数据对策略网络和价值网络进行训练,更新q函数;计算模型的损失函数,采用累计折扣奖励对损失函数进行优化,当累计折扣奖励最大时,损失函数收敛,完成模型训练,输出最优选择策略。6.根据权利要求5所述的一种基于深度强化学习的物联网智能拥塞控制方法,其特征在于,计算累计折扣奖励的公式为:其中,т表示智能体,γ
i-t
表示折扣率,r
t
表示t时刻下智能体得到的奖励,s
t
表示t时刻下智能体的状态,π(s
t
)表示智能体在s
t
下的策略函数。7.根据权利要求5所述的一种基于深度强化学习的物联网智能拥塞控制方法,其特征在于,对q函数进行更新的公式为:其中,s
t+1
表示t+1时刻下智能体的状态,a
t+1
表示t+1时刻下智能体的动作,q(s
t
,a
t
)表示t时刻下智能体的动作价值函数,α表示学习率,r
t
(s
t
,a
t
)表示智能体在s
t
,a
t
下获得的奖励,γ表示折扣率,a表示动作集合,q
t
表示t时刻下智能体的动作价值函数。8.根据权利要求5所述的一种基于深度强化学习的物联网智能拥塞控制方法,其特征在于,模型的损失函数的表达式为:其中,表示期望,r
t
表示t时刻下智能体得到的奖励,γ表示智能体得到的回报折扣率,q表示动作价值函数,s
t+1
表示t+1时刻下智能体的状态,a表示动作集合,θ表示目标网络的权重参数,θ

表示评估网络的权重参数。

技术总结
本发明属于计算机技术领域,具体涉及一种基于深度强化学习的物联网智能拥塞控制方法,构建物联网系统;终端节点向簇头节点发送数据包;簇头节点根据终端节点发送的数据包设置缓冲队列,并获取当前簇头节点状态信息;根据当前簇头节点状态信息确定簇头节点的拥塞状态,并将拥塞状态发送给中继节点;中继节点根据拥塞状态获取物联网中各个节点的状态信息,并将状态信息发送给sink节点;sink节点采用DQN算法对物联网的状态信息进行优化,得到拥塞控制策略,并对簇头节点中的队列任务进行分配,完成拥塞控制;本发明引入了反馈恢复机制,充分考虑了由于信道质量带来的反馈丢失和延迟问题,节约了带宽资源且降低数据包递送延迟。节约了带宽资源且降低数据包递送延迟。节约了带宽资源且降低数据包递送延迟。


技术研发人员:雷建军 周盈 刘捷 谭德望
受保护的技术使用者:重庆邮电大学
技术研发日:2023.05.06
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐