无线网络环境下基于深度强化学习技术的智能路由方法与流程

文档序号:17012483发布日期:2019-03-02 02:18阅读:383来源:国知局
本发明属于计算机通信网络领域,尤其涉及一种无线网络环境下基于深度强化学习的智能路由方法。
背景技术
::近年来,由于联网移动设备数量的不断增加,异构、有线和无线通信网络基础设施的快速发展,互联网流量急剧增加。网络流量的快速增长和网络环境日益复杂,给通信网络带来了巨大的压力,导致了通信资源配置和管理的巨大困难,严重影响了用户的消费质量(qoe)。这主要是因为现在的网络仍运行在几十年前设计的路由框架上。实际上,随着无线网络的不断发展,高效的网络流量控制将成为一个关键的挑战。这种网路中使用的现有路由协议最初是为固定的有线网络设计的,这些路由协议依赖于根据距离矢量或链路成本计算从源到目的地的最短路径。当传统路由协议遇到高网络负载情况时,最短路径上的节点往往会承担较大负载,反而导致了包转发的延迟增加,降低了网络的性能。传统路由方法无学习能力,不能从过去的拥塞、延迟和丢包率上升等情况学习经验,下次仍然会做出同样的路由决策。因此,有必要以一种智能的方式来学习这样的场景,根据历史转发经验做出合适的路由决策,以便更好的管理大规模增长的网络流量。强化学习(reinforcementlearning)是一种高效的机器学习方法,它通过与环境的交互进行试错(trialanderror)学习,最终得到最优策略。它强调的是基于当前环境状态(state)而行动,目标是使agent在与环境的交互过程中获得最大的累计奖赏。该目标与路由策略的目标一致:基于当前网络环境,选择合适的下一跳节点,以期最小的网络延迟。所以路由决策是强化学习的一种自然应用。它无需先验知识可自行从网络转发经验中学习合适的路由策略。现有的基于强化学习的qrouting路由方法利用qlearning中的q表替代了节点中的路由表,qrouting通过与环境的交互不断更新q表至稳定,即代表路由策略收敛。但随着网络规模日益增大,传统的强化学习方法无法解决伴随而来的大状态空间(statespace)问题,也限制了此类路由算法使用的网络规模。此外,传统的强化学习的状态的表示能力较弱,无法引入更多的网络参数进行路由决策。因此本发明引入深度强化学习,利用深度强化学习中的神经网络来拟合q表的功能,替代qrouting这种基于表的路由策略。技术实现要素:本发明所要解决的技术问题是:提供一种基于深度强化学习的智能路由方法,将深度强化学习技术与路由决策相结合,在无线网络中构建一个智能路由系统。本发明为解决上述技术问题采用以下技术方案:本发明提出无线网络环境下基于深度强化学习技术的智能路由方法,具体包括如下步骤:步骤1、初始化阶段:根据距离矢量方法,分别计算网络中每个节点rn到达网络中所有可能的目的地节点rd的最短距离;步骤2、当有包到达网络中时,比较每个节点的经验池中经验条数与预设阈值tin,如果经验条数小于等于预设阈值tin,则进入步骤3;如果经验条数大于预设阈值tin,则进入步骤4;步骤3、冷启动阶段:当前节点rn采用距离矢量方法,以最小化转发跳数为目标,选择下一跳路由节点rnext;步骤4、智能运行阶段:当前节点rn中,将当前网络状态st输入神经网络,选择下一跳路由节点rnext;步骤5、令步骤3、4中所选择的路由节点rnext执行包的转发,并将下一个网络状态st+1和本次路由转发的cost值发送给当前的rn节点;步骤6、收集转发的结果数据,将所述结果数据作为一条路由经验ex存储至节点rn的路由经验池中;步骤7、比较节点rn的路由经验池中路由经验数目与预设阈值tin,若路由经验数目达到所述预设阈值tin,则进入步骤8;若未达到,则返回步骤2;步骤8、节点rn的路由经验数目大小达到预设阈值tin,进入当前节点的神经网络进行训练,执行经验回放,更新当前节点rn中的神经网络参数θ;步骤9、循环执行步骤1至步骤8。如前所述的无线网络环境下基于深度强化学习技术的智能路由方法,进一步地,步骤1所述分别计算每个节点rn到达所有可能的目的地节点rd的最短距离的具体流程为:步骤1.1、在网络中设置一个节点rsup,用于收集各个节点上的最短路径信息;步骤1.2、节点rsup汇集最短路径的大小并记录为一个二维矩阵distance;步骤1.3、节点rsup汇集步骤1.2中最短路径对应的下一跳节点并记录为一个二维矩阵shortest;其中,这两个矩阵行索引和列索引分别是源节点rn和目的地节点rd;步骤1.4、节点rsup将步骤1.3中得到的shortest矩阵信息发送至网络内其他节点。如前所述的无线网络环境下基于深度强化学习技术的智能路由方法,进一步地,步骤3冷启动阶段所述的距离矢量方法指,当一个以rd节点为目的地的包到达rn节点时,rn节点选择shortest矩阵中第rn行rd列对应的值为下一跳节点。如前所述的无线网络环境下基于深度强化学习技术的智能路由方法,进一步地,步骤2所述的经验池是定长的双头队列,用于存储路由经验,所述经验池的集合用于步骤8所述神经网络的训练集;网络中每个节点的经验池拥有相同的预设阈值tin.如前所述的无线网络环境下基于深度强化学习技术的智能路由方法,进一步地,步骤4所述的当前网络状态st包括两个特征,即包所在当前节点rn,和用于表示当前网络中每个节点中被占用的缓存大小的cache向量。如前所述的无线网络环境下基于深度强化学习技术的智能路由方法,进一步地,步骤5所述cost值为一段延迟,表示为:cost=dqu+dtr其中dqu表示当前节点的队列延迟,dtr表示当前节点和下一跳节点间的传输延迟,所述cost值用于描述本次转发延迟代价。如前所述的无线网络环境下基于深度强化学习技术的智能路由方法,进一步地,在步骤五所述包的转发过程中,被转发的包记录下包括它的源节点在内所有经过的节点,并将所记录的节点依次添加到包内的有序队列path中去。如前所述的无线网络环境下基于深度强化学习技术的智能路由方法,进一步地,步骤6中,首先由节点rsup收集网络内包转发后的结果并封装为一条路由经验ex,路由经验ex定义如下:ex=(st,action,st+1,cost)其中st+1为执行完本次转发后的网络状态、action为本次转发的下一跳节点、st为执行转发前的网络状态,cost为本次转发的延迟代价;然后rsup负责将本条路由经验ex存储至执行本次转发的rn节点的路由经验池中。如前所述的无线网络环境下基于深度强化学习技术的智能路由方法,进一步地,步骤8所述神经网络为简单多层感知机mlp;所述神经网络的输入为代表网络状态的s向量,输出为代表当前状态下可选下一跳节点对应的q值向量,从此q值向量中选出最大值,其对应的节点即当前网络状态下合适的下一跳节点;用于拟合传统qrouting中的q表。如前所述的无线网络环境下基于深度强化学习技术的智能路由方法,进一步地,在步骤8中,依次训练达到预设阈值的节点的神经网络,具体步骤包括:a.从节点rn的经验池中随机抽取一定数量的样本路由经验;b.将cost作为qlearning中的reward,构造每条样本路由经验对应的标签qtarget,即目标q值,所述其中cost为步骤5中的延迟值,γ∈[0,1]表示折扣因子,st+1表示下一个网络状态,a′选表示st+1状态下选择的下一跳节点,θ为神经网络的内部参数,表示在状态st+1下选择下一跳节点为actioin′时的最小q值;c.将所述样本路由经验输入所述神经网络,计算所述神经网络的实际输出q(s,action;θ),其中s为当前网络状态,action为状态s下选择的下一跳节点,θ为神经网络的内部参数;d.计算误差l(θ)=e[(qtarget-q(s,action;θ))2];其中qtarget即步骤b中得到的目标q值,q(s,action;θ)即步骤c中得到的神经网络的实际输出q值,e为数学期望;e.求梯度,使用随机梯度下降方法更新所述神经网络内部参数θ。本发明采用以上技术方案与现有技术相比,具有以下技术效果:1、冷启动阶段(coldstartperiod)使用传统的距离矢量方法计算下一跳,避免因智能路由方法在弱经验状态下做出错误的路由决策而降低网络性能。2、使用深度强化学习中的神经网络作为非线性函数逼近器替代了qrouting中的q表,促使路由方法可以汇集除目的地节点(destinationnode)外更多的网络参数做出路由决策。3、使用神经网络替代了传统意义上的路由表功能,节点中不再需要存储路由条目,减少节点需要存储的路由信息,扩大了智能路由算法使用的网络规模,降低了网络节点的存储成本及网络部署成本。4、优化目标为最小化包转发延迟,针对网络流量控制,具有低时延,高自适应的特点。附图说明图1是本发明所设计基于深度强化学习的智能路由方法流程图。具体实施方式下面结合附图对本发明的技术方案做进一步的详细说明:本
技术领域
:技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。深度强化学习是将深度学习与强化学习结合起来从而实现从感知(perception)到动作(action)的端对端(end-to-end)学习的一种全新算法。在普通的q-learning中,当状态空间维度很高时,使用qtable存储每个状态动作对的q值是不现实的。但通过将深度学习与强化学习结合,agent就可以直接从高维原始数据学习控制策略。本发明提出的无线网络环境下基于深度强化学习的智能路由方法将深度强化学习技术与路由决策相结合,以最小化包转发延迟为目标进行路由决策。针对网络流量控制,具有低延时,高自适应的特点。如图1所示,本发明设计了一种无线网络中基于深度强化学习的智能路由方法,具体步骤如下:步骤1、初始化阶段,节点之间互相交换链路信息,并建立对应的链路信息数据库,根据建立的链路信息数据库,每个节点rs计算到所有可能目的地rd的最短路径(最小化转发跳数)并发送至rsup节点,由rsup节点构建最短距离矩阵distance和最短距离的对应的下一跳矩阵shortest,这两个矩阵的行索引和列索引分别是rs和rd,即源节点和目的地节点。步骤2、比较每个节点路由经验池中路由经验条数和预设阈值,确定接下来是执行冷启动阶段(coldstartperiod)还是智能运行阶段(intelligentrunningperiod)。路由经验池中的路由经验条数决定了路由经验池的大小。作为一个分布式的路由算法,网络中每个节点都是智能体,都含有各自独立的深度强化学习模块。路由经验池是智能决策模块的记忆单元,存储每次包转发后的路由经验,整个路由经验池将用于作为本节点智能决策模块中神经网络的训练集。本实施例中,预设阈值tin是依据网络规模而确定的一个数值,代表后续进入智能阶段的路由经验池大小,网络中的每个节点的tin是一致的。步骤3、当每个节点当前路由经验池大小未达到预设阈值要求时下一步进入冷启动阶段,这个阶段主要是为了避免节点在弱经验条件下做出错误路由决策而影响网络性能的情况。所以这个阶段网络将最优路径定义为转发跳数最小(minimumhop),并采用传统的距离矢量方法选择下一跳路由节点。步骤4、当每个节点当前路由经验池大小达到预设阈值要求时下一步进入智能运行阶段,这个阶段整个网络的路由决策都由当前节点的神经网络完成。神经网络采用当前网络状态st作为输入,所有邻居节点的q值向量输出,取此向量中q值最小的节点作为下一跳节点rnext。本实施例中,网络状态st是由能代表网络状态的两个特征构造而成:其中rn表示packet所在的当前节点,表示当前网络每个节点上被占用的缓存大小的向量,表示当前网络每个节点的平均延迟test:其中d表示当前节点rn已知的目的地节点集合,nd表示集合d的大小,n(rn)是节点rn的邻居节点集合,rd表目的地节点,rnext为下一跳节点。步骤5、根据步骤3,4中选择的下一跳节点rnext执行包(packet)转发,转发成功后将下一个网络状态和本次路由转发的cost值发送给节点rn。其中cost=dqu+dtr(3)其中,dqu表示当前节点的队列延迟,dtr表示当前节点和下一跳节点间的传输延迟.这里以排队延迟与传输延迟之和作为强化学习中执行动作后的即时奖励(reward)。为避免出现路由环路,本实施例中参照rip协议中毒性逆转方式为包(packet)增加了记忆功能,即包在转发过程中不会被转发到已经经过的节点。这就要求在转发过程中,包将记录下这个包括它的源节点在内所有经过的节点,并将其依次添加到这个包的path队列中去,在后续的下一跳选择中,排除已经经过的节点再进行选择.步骤6、收集转发的结果数据,将其作为一条路由经验(experience)存储至节点rn的路由经验池中。节点rsup收集包(packet)转发后的结果并封装为一条经验:ex=(st,action,st+1,cost)(4)其中st+1为执行完本次转发后的网络状态、action为本次转发的下一跳节点、st为执行转发前的网络状态,cost为本次转发的时延代价;然后节点rsup负责将本条路由经验ex存储至执行本次转发的节点rn的路由经验池中。步骤7、根据步骤5中有序队列path中记录的节点,判断每个节点的路由经验池大小是否达到预设阈值tin的要求。达到要求的节点继续后续步骤,否则,直接回到步骤2;步骤8、当步骤7中路由经验池大小达到预设阈值,则进入神经网络学习阶段,执行经验回放,更新当前节点rn中的神经网络参数。本实施例中,使用深度神经网络来拟合传统qrouting中的q表,这里的神经网络设计为简单多层感知机mlp,该网络的输入为代表网络状态的s向量,输出为代表当前状态下可选下一跳的q值向量,从此q值向量中选出最大值,其对应的节点即当前网络状态下合适的下一跳节点;其中,qrouting是一种基于q-learning的智能路由策略。qrouting以目的地节点作为强化学习的状态(state)、以下一跳节点作为动作(action)、以步骤5中执行packet转发后rnext返回的cost值作为reward。每个节点会计算其每一个状态-动作对(即目的地-下一跳邻居节点对)的q值。这个q值就表示从当前节点rn传输一个packet到目的地节点st的端到端延迟的估计值。本实施例中,依次训练达到预设阈值的节点的神经网络的具体步骤如下:a.从节点的经验池中随机抽取一定数量的样本;b.利用qlearning中的reward(这里是cost)构造每条样本对应的标签qtarget,即目标q值;c.将样本输入神经网络,计算网络的实际输出q(s,action;θ);d.计算误差:l(θ)=e[(qtarget-q(s,action;θ))2](6)其中,e为数学期望;f.求梯度,使用随机梯度下降方法更新网络参数θ。其中,参数θ是神经网络的内部参数,一般用于计算神经网络输出值,其在训练神经网络模型中起到主要作用。通过随机梯度方法更新和计算影响模型训练和输出的网络参数θ,使其逼近最优值,从而达到提高神经网络模型的拟合能力的目的。以上所述仅是本发明的部分实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1