一种深度强化学习的实时在线路径规划方法与流程

文档序号:11690744阅读:16721来源:国知局
一种深度强化学习的实时在线路径规划方法与流程

本发明涉及计算机图像处理与机器学习领域,具体为一种深度强化学习的实时在线路径规划方法,应用深度学习和强化学习实现实时场景的路径规划。



背景技术:

传统的路径规划方法有模拟退火算法、人工势场法、模糊逻辑算法、禁忌搜索算法等;智能仿生学方法有蚁群算法、神经网络算法、粒子群算法、遗传算法等;也有一些人为发明的算法因为其优秀的特点得到广泛应用,这些算法一般具有很强的路径搜索能力,可以很好地在离散的路径拓扑网络中发挥作用,包括:a*算法、dijkstra算法、floyd算法等。随着科学技术的不断发展,路径规划技术面对的环境更为复杂多变,这就要求路径规划算法具有迅速响应复杂环境变化的能力,但传统的路径规划算法不能满足复杂多变的环境,因此传统的路径规划算法无法应用到智能设备的导航、制导与控制。

直接利用图像信息进行路径规划是目前在路径规划领域的前沿研究方向。2015年初googledeepmind在nature上发表一篇应用深度强化学习来进行人工智能游戏应用的文章,其中涉及了直接利用游戏视频信息来进行游戏控制的方法概述,提出了直接利用图像信息进行任务处理的雏形。针对智能设备的路径规划,本发明申请人研究并提出了直接利用图像信息进行实时、在线路径规划的算法。

神经网络和强化学习是机器学习领域中的两个重要分支,由于其重要的理论与应用价值,一直以来都是学者研究的热点。

强化学习问题通常被建模成马尔科夫决策过程,其目标是寻找一个能使我们获得最大累积奖励的策略。通常累积奖励表示为:

rt=rt+1+γrt+2+γ2rt+3+…

其中γ为折扣因子(0≤γ≤1),t+1,t+2等表示第几个时间步。

马尔科夫决策过程中有四元组信息的概念,即由当前状态s,动作a,立即奖励r以及影响状态转移的概率pss′组成。在这个模型下,未来状态只与当前状态有关,而与之前的状态无关,即所谓的马尔科夫性。一个马尔科夫决策过程可以表示为一个序列信息:s0,a0,r0,s1,a1,r1,s2,…,基于这个假设,很容易得到值函数的一个递归表达式:

q(s,a)=e[rt+1+γrt+2+γ2rt+3+…|s,a]

=e[rt+1+γ(rt+2+γrt+3+…)|s,a]

=e[rt+1+γmaxa′q(s′,a′)|s,a]

其中q(s,a)表示当前状态s下的状态动作值,q(s′,a′)表示执行动作a后的下一状态s′对应的状态动作值。

神经网络和强化学习各自都存在一定的问题,神经网络具有优秀的学习能力,但是泛化能力差是其致命的缺点;而对于强化学习,当系统变得复杂时,需要大量的参数来刻画,这样就引起状态空间到动作空间映射的组合爆炸,进而影响行动决策的优化问题。深度强化学习将神经网络与强化学习进行了结合,其中神经网络主要完成环境状态感知,而强化学习完成决策,实现状态到动作的映射。目前还没有利用图像解析信息通过深度强化学习进行路径规划的研究报道。



技术实现要素:

基于深度学习和强化学习的研究,本发明提出了一种深度强化学习的实时、在线路径规划方法,在保证其鲁棒性、在对环境依赖比较少的前提下,最大限度利用获取到的图像信息,实现即时的场景行走信息路径规划。

本发明利用深度学习方法来得到图像的高层语义信息,并利用强化学习的方法来完成从环境的端到端的实时场景的路径规划。训练过程中将在环境中采集到的图像信息作为当前状态带入场景解析网络中得到解析结果,然后将解析结果输入到设计好的深度循环神经网络中,通过训练得到特定场景中智能体的每步决策动作,进而得到最优的完整路径。实际应用过程,利用训练好的深度强化学习网络,将相机采集到的图像信息输入,即可得到智能体行走的方向信息。本文涉及:1、相机采集的原始图像的场景解析处理,即对环境图像通过场景解析网络进行解析处理,作为后续深度循环网络的输入;2、深度循环神经网络的应用:智能体在环境中获得当前的图像状态经过场景解析网络,将其输入到事先设计好的深度循环神经网络中,进行进一步的高度抽象特征提取,为后续的训练处理做准备;3、深度学习与强化学习的结合:即用深度循环神经网络(deeprecurrentq-network)去逼近表达强化学习(q-learning)方法;4、网络参数的训练:对深度循环神经网络产生的损失函数通过随机梯度下降(sgd)法进行迭代训练,得到所需的最优参数。本发明将可以应用于以下场合:机器人机械臂的动作规划、飞行器航迹规划、机器人在某环境的路径规划等。

本发明的技术方案为:

所述一种深度强化学习的实时在线路径规划方法,其特征在于:包括以下步骤:

步骤1:采集相机图像,将采集的图像输入到场景解析网络中,得到对应的解析结果图,所述解析结果图中,解析得到的属于同一类的物体采用同一颜色表示;

步骤2:将解析结果图输入到带初始权重的深度循环神经网络中,并做如下处理:

步骤2.1:采集待规划智能体与环境进行交互的历史经验,并存储在经验回放存储器中,所述历史经验为四元组信息(s,a,r,s’),s为当前状态,a为执行动作,r为对应动作a的回报值,s’为执行动作a后的下一个状态;所述历史经验的获取过程为:智能体根据当前状态s,从可行的动作集中任意选择一个动作a,智能体对动作a进行评估,如果智能体执行动作a后遇到障碍物或不能通行的标记,则给予惩罚值,如果智能体执行动作a后更加接近目的地或到达目的地时,则给予奖励值;智能体采集执行动作a后的环境图像,并输入到场景解析网络后,得到状态s’;

步骤2.2:持续采集待规划智能体与环境进行交互的历史经验,并存储到经验回放存储器中,得到训练样本集d;

步骤3:在经验回放存储器中随机采样四元组信息(s,a,r,s’),输入到深度循环神经网络和目标深度循环神经网络中,并做如下处理;其中初始时,深度循环神经网络和目标深度循环神经网络参数相同;

步骤3.1:将状态s代入深度循环神经网络中进行前馈操作得到所有可行动作对应的预测q值;

步骤3.2:将状态s在其四元组信息中对应的状态s’代入目标深度循环神经网络中进行前馈操作计算网络输出的最大值maxa'q(s',a',w-),其中a’为状态s’代入目标深度循环神经网络后对应最大q值的动作,w-为目标深度循环神经网络的权重;将状态s在其四元组信息中对应的动作a的动作值q(s,a;w)更新为r+γmaxa'q(s',a',w-),其中γ为折扣因子;

步骤3.3:根据深度循环神经网络和目标深度循环神经网络的输出构建损失函数为:

l(w)=es,a,r,s'~d[(r+γmaxa'q(s',a',w-)-q(s,a,w))2]

其中e表示数学期望

步骤3.4:应用随机梯度下降方法进行深度循环神经网络和目标深度循环神经网络权重的迭代更新,其中深度循环神经网络中的权重实时更新,而目标深度循环神经网络中的权重每隔设定时间步进行更新;当达到迭代步数后,得到训练完成的深度循环神经网络;

步骤4:深度循环神经网络训练完成后,智能体将采集到的图像信息输入由场景解析网络和训练完成的深度循环神经网络组成的深度强化学习网络中,得到智能体的行走方向信息。

进一步的优选方案,所述一种深度强化学习的实时在线路径规划方法,其特征在于:步骤1中的场景解析网络包括卷积神经网络特征学习层,条件随机场结构化学习层,基于深度置信网络的特征融合层。

进一步的优选方案,所述一种深度强化学习的实时在线路径规划方法,其特征在于:根据步骤3,获得n个不同网络架构的深度循环神经网络模型,对于第i个模型,采用以下公式计算第i个模型的权重系数θi:

其中qij表示第i个模型在样本集d上训练时得到的平均回报;将n个深度循环神经网络模型融合,对于状态s的融合决策动作a为:

进一步的优选方案,所述一种深度强化学习的实时在线路径规划方法,其特征在于:根据计算机的处理能力,在步骤2之前对原始解析结果图进行灰度处理和降采样,然后输入到带初始权重的深度循环神经网络中。

有益效果

本发明提出的方法与诸多现有方法相比,最大的不同是根据视觉信息在智能体与环境进行交互的过程中完成路径规划,不需要完整的场景信息,仅仅根据智能体与环境的交互得到每步决策的回报进行优化学习。而且还可以运用迁移学习使本发明适用于不同的环境。本方法是直接根据视觉信息,通过场景解析网络生成语义层面的场景信息,然后再使用深度强化学习网络来学习决策信息,能够完成端到端的实时场景的路径规划。深度强化学习方法解决路径规划问题,方法设计合理,能够在不同场景下结合迁移学习实现准确的路径规划,适用性广泛。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1:系统流程图;

图2:场景解析网络结构示意图;

图3:特征学习层的基本原理图;

图4:结构学习层示意图;

图5:特征融合层示意图;

图6:深度循环网络结构示意图;

图7:加权融合模型示意图;

图8:仿真环境示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

本实施例中的深度强化学习路径规划方法包括以下步骤:

步骤1:相机图像采集,然后将图像输入到场景解析网络中,得到对应的解析结果图。其中场景解析网络包括卷积神经网络特征学习层(featurelearninglayers),条件随机场结构化学习层(structurallearninglayer),基于深度置信网络的特征融合层(featurefusionlayers)。

步骤1.1:特征学习层(featurelearninglayers):卷积神经网络对相机采集的图像进行特征学习,产生图像每个像素上对应的高层信息特征。该网络通过每一层的卷积操作和池化操作学习不同尺度的视觉表达,这说明该网络可以捕获到丰富的形状和纹理高层信息。这里将这些高层信息称作为深度高层特征(deephierarchicalfeatures,dhf)。

卷积神经网络(cnn)的训练是多步骤的,每一层的输入输出都叫做特征映射。本发明中,彩色图像被用作神经网络的输入,因此每一个特征映射看做一个二维阵列。每经过一层,输出特征映射被视作输入特征映射的进一步抽象。每一层包括三个部分:卷积操作,非线性变形,和特征池化。一个典型的卷积神经网络包含多个这样的层,最后利用softmax分类器进行分类。

对于一个l层的卷积神经网络可以描述成一连串的卷积变换,非线性变换(sigmoid函数,tanh函数),降采样操作(池化操作)。对于输入图像i的网络可以被看成一个三维阵列。三个维度大小分别为特征映射的个数,映射的高度以及映射的宽度。从第lth步骤输出的特征可以用fl来表示,对于每一层l,我们有:

fl=pool(tanh(wl*fl-1+bl))

公式中l∈1,...,l,bl是第lth层的偏差参数,wl是卷积核。初始化特征映射为输入图像f0=i。因此,每一层堆叠起来直到最后形成整个网络。

在本发明的模型中,wl是卷积核,bl为训练参数。对于池化操作,本发明采用最大池化操作,即在邻域信息内找出最大的激活值作为输出,该方法能够对图像的变形具有不变性。一旦求得所有层的输出特征映射,我们利用上采样的方法将这些大小不一的特征映射统一到同样大小的尺寸,并且将其拼接在一起产生一个三维阵列n为特征映射的个数,h为图像的高度,w为图像的宽度。阵列f被看成高层特征描述符:

f=[up(f1),up(f2),...,up(fl)]

公式中up操作符是一个上采样操作函数,nl为特征映射的个数或者是第lth的滤波核的个数。对于一个图像上的像素来说,它最后的特征描述为原则上,充分利用每层的输出可以参数更加强健的特征。但是,实际上一些层的输出信息是冗余的,反而降低计算效率和特征使用。因此在实际使用中我们仅仅选用几个层的输出去产生特征f。

不考虑邻域信息独立预测每个像素的标签,可能会由于噪音的影响而产生错误的预测判断。一个简单而有效的方法是将图像根据颜色等信息预归类到一起,形成像素块。本发明主要采用简单线性迭代聚类(simplelineariterativeclustering,slic)算法对输入图像产生超像素块。使用超像素作为基本元素的优点有三个:(1)提高抗噪能力;(2)一张图像上像素的个数远比对应的超像素块多,因此用超像素块可以大大加快数据处理速度;(3)因为超像素块能够保存图像中物体的轮廓,有些区域的精确轮廓可以通过超像素块获得,这大大增加了图像场景解析的性能。

将图像超像素块分割后,每个像素块包含若干像素,我们通过计算像素块区域内所有像素的平均值,并将其作为该像素块的特征表示

步骤1.2:结构学习层(structurallearninglayer):为了提高深度学习对结构化信息的学习能力,我们将crf嵌入到网络里将其作为网络的一层去显示的学习物体在图像中的空间位置关系。用dhf作为输入训练该crf图模型,参数训练完毕后,根据参数给出每个像素的最优化标签。然后结合产生的像素标签对局部区域编码产生基于空间关系的推理特征(spatiallyinferredfeatures,sif);

尽管卷积神经网络(cnn)能够学习很好的特征包括高层信息,但是cnn学习得到的特征缺少充足的物体之间的空间结构化信息。为了弥补cnn的缺点,我们引入基于超像素块的条件随机场(crf)模型去显示的学习图像中不同物体之间的空间位置信息,产生结构推理特征(structuralinferencefeature,sif),结构学习的说明如图4所示。

根据输入图像的超像素块,我们定义图模型g=(v,e),顶点v∈v,边图像中的每一像素块可以看做一个顶点,相邻区域像素块之间的连接关系可以看做是边。一个包含两个端点vi和vj的边定义为eij。crf的能量函数由单元项和双元项组成。能量函数定义如下:

我们定义单元项为:

ψ(ci,li)=exp(-αuci)

双元项为:

公式中ci是超像素块对应的初始分类概率,通过softmax分类器计算得到。l是对应的类别。是vi和vj之间的特征距离。w是控制单元项和双元项之间的比重。该crf模型用图割的方法进行优化。一旦crf模型得到后,我们可以推理出每个超像素块所对应的概率n是物体所属类别的个数。

为进一步提高特征的结构化邻域信息,根据上述求得的超像素块所对应的标签概率,我们提出了一种构建邻域信息的方法,大大增强了特征的空间信息。针对于超像素块u和它的局部连接关系图gu=(vu,eu),基于空间推理的特征表达(spatiallyinferredfeature,sif)为:

公式中λ为归一化因子,d(vi,vj)是超像素块i和j之间的距离,kd是距离衰减系数,σd是图gu结构中任何点之间的最大距离。最终的特征表示θ是一个n×n的矩阵,该公式表达了邻域像素块对i和j出现的概率,并将其称作sif。

步骤1.3:特征融合层(featurefusionlayer):以上两种特征有它们独自的优势。这层网络我们使用深度置信网络(deepbeliefnetworks,dbns)去融合dhf和sif,有效的探索彼此之间的非线性关系从而生成更具表达力的高层特征。

一个输入图像经过特征学习层和结构学习的处理,会产生两种属性的特征dhfsp和sifθ。我们将这两种特征拼接起来然后用深度置信网络(deepbeliefnetworks,dbns)将两种基本特征融合起来,并探索特征维度之间丰富的非线性关系。特征融合层示意图如图所示。

深度置信网络由受限玻尔兹曼机层层堆叠而成,在训练该网络模型时,利用对比散度的方法对受限玻尔兹曼机进行无监督训练,一旦一层受限玻尔兹曼机训练完毕,将其输出作为下一层的输入进一步训练下一层的受限玻尔兹曼机。最后再利用无监督的反向传播算法对整个网络参数进行微调得到最优参数。参数训练完毕后,最后一层的输出被视为一种高表达力的特征。根据输入训练特征[sp,θ],经过深度置信网络的前向算法得到最后一层的特征输出特征,被称做“混合特征”。

原始的解析结果图像直接处理从计算机角度而言会非常耗时,所以我们采用基本的预处理步骤来减少维度。先将原始的rgb三色图像(210*160)转换为灰度图并降采样成110*84的图像,最后将输入图像截断成84*84像素大小,截取的图像区域大致覆盖主要的区域。

其中rgb转灰度图的过程我们使用luminosity算法,luminosity是均值方法中比较复杂的版本,它根据人类视觉感知能力对颜色加权。视觉对绿色更加敏感,所以绿色的权值会加大。公式如下:

像素值=0.21r+0.72g+0.07b

其中r指红色,g指绿色,b指蓝色。

步骤2:将预处理后的场景解析结果(当前状态s)输入到带初始权重的深度循环神经网络(deeprecurrentq-network,即由卷积神经网络(cnn)和循环神经网络(rnn)构成)中,并做如下处理:

步骤2.1:存储历史经验,即我们将待规划的智能体(也称作agent)与环境进行交互的信息存储到经验回放存储器中。agent与获得环境当前状态,然后agent从可行的动作集中任意选择一个动作a,agent需要对这个动作(策略)进行评估,也就是当agent执行动作后遇到障碍物或不能通行的标记(需要传感器测量,例如超声传感器或红外传感器)时,我们给系统一个负标量信号(如-10)以示惩罚;或者当agent更加接近目的地亦或到达目的地时,我们给予系统一个正的标量信号(如+10)以示奖励。这里的奖励或惩罚我们叫做回报reward,用r表示。当agent执行动作后会使智能系统面对新的环境状态,这时候采集图像信息并进行步骤1以及预处理,即得到下一个状态s′

步骤2.2:上面只是一个时间步(timestep)的处理过程,只要agent没有遇到障碍物或者到达目标位置,我们就一直采集四元组信息(s,a,r,s’)(当前输入的状态信息s、选择的动作a、执行动作后的下一个状态信息s’和环境反馈的奖励r)存储到初始好容量的经验回放存储器(replaymemory)中,即采集足够的训练样本集。

步骤3:在经验回放存储器中按照所经过时间的概率表达1/exp(-t/δ2)随机采样训练过程中的四元组信息(s,a,r,s’),输入到我们设计的深度循环神经网络(deeprecurrentq-network)和目标深度循环神经网络(deeprecurrentq-network)中,并做如下处理,其中初始时,深度循环神经网络和目标深度循环神经网络参数相同。

根据图6所示,我们的网络输入是单帧的经过与处理后的84*84像素大小的图像,而不是原始dqn算法中所需的连续四帧图像。第一个卷积层是由32个8*8大小的卷积核组成,并施加了非线性整流器(relu);第二个卷积层包括64个4*4大小的卷积核组成,并且再次通过非线性整流单元;第三个卷积层由64个3*3大小的卷积核组成,随后是整流单元。然后将卷积层的输出馈送到全连接的循环网络层(lstmlayer)。最后,全连接的线性层为每个可能的动作输出对应的状态动作值q。这里我们给出了两个时间步的示意图结构。

步骤3.1:将状态s代入深度循环神经网络中进行前馈操作得到所有可行动作对应的预测q值;

步骤3.2:将状态s在其四元组信息中对应的状态s’代入目标深度循环神经网络中进行前馈操作计算网络输出的最大值maxa'q(s',a',w-),其中a’为状态s’代入目标深度循环神经网络后,对应最大q值的动作,w-为目标深度循环神经网络的权重。将将状态s的动作a的动作值q(s,a;w)重新更新为r+γmaxa'q(s',a',w-),其中γ为折扣因子。

步骤3.3:根据深度循环神经网络和目标深度循环神经网络的输出构建损失函数如下:

l(w)=es,a,r,s'~d[(r+γmaxa'q(s',a',w-)-q(s,a,w))2]

步骤3.4:应用随机梯度下降(sgd)方法进行权重的迭代更新,深度循环神经网络中的权重实时更新,而目标深度循环神经网络中的权重每隔一定时间步进行更新,以便构建出有意义的,可用于优化网络权重的损失函数;当达到迭代步数后,得到训练完成深度循环神经网络;

步骤3.5:在训练过程中采样出不同的经验样本,用这些不同的样本训练出来的模型会导致在同一个状态的策略选择上有较大的不同。例如,如果当前时刻状态的最大化回报对应的动作是向左移动,并且agent持续偏向选择向左移动的话,这样训练数据中游戏画面的左侧会被更多的使用。如果左侧画面占据大量的训练样本,将对优化过程产生不良影响。

模型权重的微小扰动可能造成策略扫过的状态大不相同,而我们希望agent尽可能地收集多的训练数据用于训练,所以通过从大量的历史样本中采样样本并使用融合多个不同深度循环网络架构的深度强化学习模型(多个模型融合也是间接地将历史样本增加了)得到的决策方案来减缓这个现象。本发明中使用了多种不同网络架构的drl模型进行融合,这些模型的网络结构可以有如下的不同点:

1卷积核大小、数量或者卷积步长不同;

2每层使用不同的激活函数,如sigmoid}maxout等;

3全连接层的层数或者节点数量不同。

对于每个模型i,我们赋予一个权重θi,计算方法如下:

其中qij表示第i个模型在样本集d上训练时得到的平均回报,θi表示第i个模型的权重系数,n表示网络模型的个数。最后对于状态s的融合决策动作a为:

步骤4:网络参数训练完毕后,智能系统完成优化过程,然后我们将智能体上相机采集到的图像信息输入由场景解析网络和训练完成的深度循环神经网络组成的深度强化学习网络中,得到智能体的行走方向信息。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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