一种基于多智能体深度强化学习的数据包路由算法的制作方法

文档序号:24249750发布日期:2021-03-12 13:27阅读:193来源:国知局
一种基于多智能体深度强化学习的数据包路由算法的制作方法

本发明属于分布式路由技术领域,具体涉及基于多智能体深度强化学习的数据包路由算法。



背景技术:

数据包路由是分布式计算机网络中非常具有挑战性的问题,在缺乏集中控制的服务提供商的无线网络中尤为明显。为了最小化传输时延,各路由器需要确定下一跳节点以传送其数据包。数据包路由的首要特征是细粒度的数据包转发策略。相邻节点间无法共享网络流量信息。现有的路由协议利用泛洪策略以保持全局一致路由表(如dsdv算法[1]),抑或是构建按需流量级路由表(如aodv算法[2])。数据包路由需要满足当前通信网络中的动态变化流量。同时,设计完全分布式路由转发策略需要依据局部观测,在选取最短路径和畅通路径间做出平衡。

强化学习是一种生物启发式的机器学习算法,无需外部监督[3],只需与环境交互即可获取相关知识。因此,强化学习非常适用于解决分布式网络中的路由问题,各路由器将节点间的传输时延作为相应动作奖励,从而学习到最优动作选择策略。文献[4]首次提出了基于多智能体q-learning的数据包路由算法,其相比于最短路径算法实现了更短的平均传输时延。文献[5]利用dualq-learning进一步提升了算法收敛速率。文献[6]利用jointq-learning和能量控制策略解决无线网络中的时延敏感应用问题。文献[7]概括了更多的基于强化学习的路由算法。由于“维度爆炸”效应[8],传统强化学习中的状态-动作空间过小,无法完全利用历史网络流量的动态信息,进而在决定路由转发策略前无法探索足够的策略轨迹。而训练包含较大状态-动作空间的强化学习算法复杂性过大,为部署强化学习算法解决数据包路由问题提供了障碍。

深度强化学习的发展为基于训练复杂度较高的强化学习的计算机网络应用提供了新的机遇。将q值表替换为深度神经网络,网络设计者可以充分利用以下两点优势:(1)神经网络可以容纳更多的输入信息,继而扩展了状态-动作空间,利用更优的决策学习;(2)神经网络可以自动挖掘高维输入数据中的隐含信息,无需手动特征提取即可形成端到端的策略形成。近年来基于深度强化学习的网络应用包括云资源分配[9]、流媒体码率自适应[10]、蜂窝数据调度[11]等。深度强化学习也被应用于在无法预知的动态流量中的路由问题[12]。然而文献[12]考虑的是集中式数据流路由策略,且需要全局的拓扑信息和流量需求矩阵。在深度强化学习的强大功能和q-routing的局限性影响下,本发明尝试运用完全分布式多智能体深度强化学习解决数据包路由问题。



技术实现要素:

本发明的目的在于提供一种能够实现端到端自适应路由策略,从而使数据包传输时延更短的基于多智能体深度强化学习的数据包路由算法。

本发明提供的基于多智能体深度强化学习的数据包路由算法中;各路由器为独立的智能体,利用循环神经网络学习动态路由策略;神经网络的高维输入信息包含四部分:当前数据包终点、历史数据包动作、未来数据包终点和相邻节点队列长度。执行动作为当前数据包的下一跳节点,奖励被设置为排队时延和传输时延之和。一方面,历史数据包动作与下一跳节点的拥塞程度密切相关,知晓未来数据包终点可以避免将其传输至同一相邻节点。另一方面,基于轻量级交互机制,智能体可以获取相邻节点的队列长度信息,并以此学习到将数据包传输至较畅通的节点。各路由器为完全分布式学习,即其拥有独立的神经网络用于训练和决策过程。从仿真实验结果可以得出,相比于传统路由算法,本发明提出的算法实现了更低的数据包传输时延,且对于网络环境和网络拓扑的鲁棒性较强。

本发明提供的基于多智能体深度强化学习的数据包路由算法,具体步骤如下:

(一)首先,为数据包路由问题进行数学建模,具体包括:

计算机网络可以建模为有向图:其中,代表节点集,ε代表链路集。数据包以随机生成间隔由节点s生成并以节点d为终点,其中,且s≠d。

数据包路由的任务为,将各数据包通过中间节点传输至其目的节点,且各路由器遵循“先入先出”原则。节点n将其队列头部数据包传输至其相邻节点v,直到该数据包到达其终点。

数据包路由的目标为,寻找各节点间的最优路径,以最小化传输时延。定义数据包集为对于数据包定义其传输时延为tp。则优化目标为最小化数据包平均传输时延其中,k代表数据包集中的数据包数目。

数据包路由可以建模为,以部分可观测马尔可夫决策过程为基础的多智能体强化学习。各节点为独立的智能体,通过观察局部网络状态和与相邻节点间的交互来学习路由策略。

以单个智能体为对象,所述强化学习各组成要素,具体为:

智能体n将要传输的数据包p定义为当前数据包。智能体n的状态空间表示为sn:{dp,en,cn},其中,dp代表当前数据包的终点,en代表与智能体n相关的额外信息,cn代表智能体n相邻节点的共享信息。由于网络流量的动态性,智能体观测到的环境状态是时变的。

智能体n的动作空间表示为其中,代表智能体n的相邻节点集。因此,每个智能体动作空间的大小与其相邻节点的数目相等。当数据包在t时刻到达队列头部时,智能体n观测当前环境状态st∈sn,并依此选取相应动作at∈an,当前数据包随即被传输至智能体n相应的相邻节点。

奖励函数的设置与优化目标(即最小化平均传输时延)密切相关。智能体n在t时刻得到的奖励为:rt=q+l,其中,q代表数据包在智能体n中的排队时延,l代表数据包从智能体n出发至下一节点的传输时延。

在多智能体强化学习建模过程中,每个节点可视为独立的智能体,拥有独立的神经网络用于路由决策。

以单个智能体为对象,所述神经网络结构具体为:

所述神经网络为具有三层全连接层和一层lstm层的循环神经网络,如图1所示;该神经网络输入可分为以下四部分:

(1)当前数据包终点:即将要被传输的数据包的目的节点;

(2)历史数据包动作:即位于当前数据包前k个数据包的历史动作;

(3)未来数据包终点:即位于当前数据包后m个数据包的目的节点;

(4)最长队列节点:当前节点的相邻节点中拥有最长队列的节点。

设dp对应当前数据包终点,en对应历史数据包动作和未来数据包终点,cn对应最长队列节点。

在被输入至神经网络之前,以上所有信息均需进行独热编码(one-hotencoding)。因此,神经网络输入神经元的总数为(1+k+m+1)×n,其中,n代表网络拓扑的总节点数。

三层全连接层中,第一个隐含层为四个子隐含层的级联,其中每个子隐含层拥有32个神经元,并分别与输入层的四部分输入神经元全连接。在第一个隐含层后为另外两个拥有128个神经元的隐含层。在部分可观测环境中,单个智能体只能观察到与全局环境有关的局部状态信息s。因此,在隐含层后加入一层lstm层,以发掘输入信息的时域特征。除了部分观测s外,智能体的隐藏状态h也将被视为q值q(s,h,a)的一部分。

输出层的神经元数目与智能体的动作空间|an|大小相等,每个输出层神经元的输出表示其对应动作的q值。由于q值的表示不同,q值的更新方式由改变q值表中的具体数值转变为改变神经网络的参数。将rectifiedlinearunit(relu)[13]作为激活函数,将rootmeansquareprop(rmsprop)[14]作为神经网络参数更新算法。

(二)数据包路由算法的训练和决策

本发明提出的数据包路由算法的训练过程和决策过程均为分布式,各智能体的初始化和训练过程完全一致。

各节点i被视为独立的智能体,且拥有单独的神经网络qi,其网络参数为θi。状态-动作值函数可表示为qi(s,h,a;θi),代表在局部状态s和隐藏状态h下,智能体i做出动作a后得到的数据包期望传输时延。各智能体i独立初始化容量为100的经验回放池di,以储存环境转换信息。每次更新过程中,智能体i会在di中随机选取大小为16的批量数据进行拟合。

在每个决策时刻t即数据包p到达节点n的队列头部时,智能体n将观察局部信息dp和en并通过与相邻节点的交互收集共享信息cn。综合当前状态st:{dp,en,cn}和隐藏状态ht,智能体n将依据∈-贪婪策略选取动作at,即以∈的概率选取在动作空间an中随机动作,以1-∈的概率选取q值最高的动作,因此,at可表示为:

接着当前数据包p被传输至相应相邻节点vt,智能体n接收到奖励rt。当前状态和隐藏状态分别发生转变为st+1和ht+1。此外,若下一节点vt即为当前数据包终点dp,则设置传输标志ft为1,否则设为0,因此,ft可表示为:

智能体n接收到以上信息后,将把环境转变(st,ht,rt,vt,st+1,ht+1,ft)储存至其经验回访池dn。与dqrn的序贯更新过程不同,dn随机取出训练批量数据(sj,hj,rj,vj,sj+1,hj+1,fj),以遵循dqn算法的随机采样策略。由于多智能体环境的不稳定性,当前数据包p从下一节点vt至其终点dp的期望传输时延τ在训练过程前需要重新计算,即:

在决策时刻t最后阶段,将利用梯度下降法更新神经网络参数qn(θn)。目标值yj为奖励rj和剩余传输时延τ之和,即:

yj=rj+τ(1-fj);

参数更新以最小化损失函数lt,即:

lt=(yj-qn(sj,hj,aj;θn))2

将损失函数lt对神经网络参数θn做偏导后,即可完成参数更新:

其中,α为学习率。

各智能体的神经网络参数迭代训练直至收敛。

本发明提出的基于多智能体深度强化学习的数据包路由算法,可以实现端到端的自适应路由策略,达到畅通路径和最短路径之间的权衡,并且与其他常用路由算法相比,在不同的数据包传输间隔和数据包分配比例等网络环境下,本发明实现了更短的数据包传输时延。此外,本发明在真实网络拓扑下也能取得较优的性能。

附图说明

图1为循环神经网络结构。

图2为仿真实验拓扑图。

图3为本发明方法与其他算法的数据包平均传输时延的仿真结果对比图,其中,固定数据包分配比为70%,50组离线测试的平均结果。

图4为本发明方法与其他算法的数据包平均传输时延的仿真结果对比图,其中,固定数据包生成间隔为0.5秒,50组离线测试的平均结果。

具体实施方式

实施例:

设实施例的参数

仿真环境:python;

网络拓扑:如图2所示;

数据包传输间隔:0.3~1.0ms;

数据包分配比例:10%~90%;

经验回访池大小:100;

学习率:0.001。

基于多智能体深度强化学习的数据包路由算法,具体步骤为:

步骤1:初始化各路由器的经验回放池,随机初始化各神经网络。

步骤2:路由器n观测局部信息dp和en,收集共享信息cn。综合当前状态st:{dp,en,cn}和隐藏状态ht,依据∈-贪婪策略选取动作at。

步骤3:路由器n将数据包p传输至相应相邻节点vt,同时接收到奖励rt。当前状态和隐藏状态分别发生转变为st+1和ht+1。

步骤4:若下一节点vt即为当前数据包终点dp,则设置传输标志ft为1,否则设为0。

步骤5:路由器n将把环境转变(st,ht,rt,vt,st+1,ht+1,ft)储存至其经验回访池dn,再从dn中随机取出训练批量数据(sj,hj,rj,vj,sj+1,hj+1,fj),重新计算当前数据包p从下一节点vt至其终点dp的期望传输时延τ。

步骤6:设定目标值和损失函数,利用梯度下降法更新神经网络参数qn(θn);

仿真结果:

固定数据包分配比为70%,50组离线测试的平均结果如图所示,其数据包生成间隔区间为0.3毫秒至1.0毫秒。本发明提出的算法相比于另外两种比较算法,在不同数据包生成间隔下均取得了最低的数据包平均传输时延,且算法稳定性高。

固定数据包生成间隔为0.5秒,50组离线测试的平均结果如图4所示,他们的数据包分配比区间为10%至90%。本发明提出的算法相比于另外两种比较算法,在不同数据包分配比例下均取得了最低的数据包平均传输时延,且算法稳定性高。

参考文献

[1]c.e.perkinsandp.bhagwat,“highlydynamicdestination-sequenceddistance-vectorrouting(dsdv)formobilecomputers,”acmsigcommcomputercommunicationreview,1994,vol.24,pp.234-244.

[2]c.perkins,e.belding-royer,ands.das,“adhocon-demanddistancevector(aodv)routing,”2003.

[3]r.s.suttonanda.g.barto,“reinforcementlearning:anintroduction,”mitpress,2018.

[4]j.a.boyanandm.l.littman,“packetroutingindynamicallychangingnetworks:areinforcementlearningapproach,”advancesinneuralinformationprocessingsystems,1994,pp.671-678.

[5]b.xia,m.h.wahab,y.yang,z.fan,andm.sooriyabandara,“reinforcementlearningbasedspectrum-awareroutinginmulti-hopcognitiveradionetworks,”20094thinternationalconferenceoncognitiveradioorientedwirelessnetworksandcommunications,2009,pp.1-5.

[6]z.linandm.vanderschaar,“autonomicanddistributedjointroutingandpowercontrolfordelay-sensitiveapplicationsinmulti-hopwirelessnetworks,”ieeetransactionsonwirelesscommunications,vol.10,no.1,pp.102-113,2011.

[7]h.a.al-rawi,m.a.ng,andk.-l.a.yau,“applicationofreinforcementlearningtoroutingindistributedwirelessnetworks:areview,”artificialintelligencereview,vol.43,no.3,pp.381-416,2015.

[8]y.bengio,a.courville,andp.vincent,“representationlearning:areviewandnewperspectives,”ieeetransactionsonpatternanalysisandmachineintelligence,vol.35,no.8,pp.1798-1828,2013.

[9]h.mao,m.alizadeh,i.menache,ands.kandula,“resourcemanagementwithdeepreinforcementlearning,”proceedingsofthe15thacmworkshoponhottopicsinnetworks,2016,pp.50-56.

[10]h.mao,r.netravali,andm.alizadeh,“neuraladaptivevideostreamingwithpensieve,”proceedingsoftheconferenceoftheacmspecialinterestgroupondatacommunication,2017,pp.197-210.

[11]z.xu,y.wang,j.tang,j.wang,andm.c.gursoy,“adeepreinforcementlearningbasedframeworkforpower-efficientresourceallocationincloudrans,”2017ieeeinternationalconferenceoncommunications(icc),2017,pp.1-6..

[12]g.stampa,m.arias,d.sanchez-charles,v.munts-mulero,anda.cabellos,“adeep-reinforcementlearningapproachforsoftware-definednetworkingroutingoptimization,”arxivpreprintarxiv:1709.07080,2017.

[13]a.f.agarap,“deeplearningusingrectifiedlinearunits(relu),”arxivpreprintarxiv:1803.08375,2018.

[14]t.tielemanandg.hinton,“lecture6.5-rmsprop:dividethegradientbyarunningaverageofitsrecentmagnitude,”coursera:neuralnetworksformachinelearning,2012,4(2):26-31.。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1