一种基于竞争深度学习网络的无人机飞行路径规划方法与流程

文档序号:17895989发布日期:2019-06-13 15:59阅读:289来源:国知局
一种基于竞争深度学习网络的无人机飞行路径规划方法与流程

本发明一种基于竞争深度学习网络的无人机飞行路径规划方法,属于飞行器技术领域。



背景技术:

目前随着地面交通的日益拥堵,越来越多的人将视线集中到空中交通这一领域。其中,无人机路径规划是空中交通领域中最热门的研究方向之一。一般情况下,路径规划指的是按照一定的评价体系,在环境空间的约束下,寻找由起点到终点的最优路径的问题。但在无人机工作的实际环境中,飞行器很难获取关于环境的全局信息。因此,无人机在飞行途中要经常面对突然出现在路径上的障碍物,并对此做出应急反应。这些苛刻的要求无疑为无人机路径规划这一课题带来不小的挑战,但同时也吸引了大量的学者投入到这一研究方向上。

国内外研究人员在路径规划方面做了大量工作,其中就包括诸如a*,dijkstra一类的传统规划算法。这类算法的实现需要环境的完美信息,换句话说,即是在各点距离,障碍物位置等信息全已知的情况下求解最优路径。但这种要求在无人机飞行的实际情况下难以实现,因为环境信息无法做到十分精确。因此,传统算法在无人机路径规划领域上受到了不小的限制。在传统算法不适用的情况下,目前的主流研究方向是引入强化学习的算法,其中最常用的就是q-learning算法。强化学习指的是智能体以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏。在现在比较流行的q-learning算法中,为了实现路径规划,要先将无人机所在的空间进行网格化处理。网格化后的空间将会作为q-learning算法的输入。无人机由当前状态到下一个状态实际上就是指无人机从一个网格移动到另一个网格中。如果网格划分得过于粗略,最终规划路径的精度不会很高。但如果网格划分的越细越多,输入给q-learning算法的维数就越多,以致现有算力无法满足该问题对计算资源的需求量。于是,在应用q-learning算法解决路径规划问题的过程中,现有技术只能是对无人机所在空间进行粗略的网格化处理。这就降低了无人机规划路径的精度。同时由于q-learning算法中的一些在奖励设置上的内在缺陷,无人机路径规划的安全性与效率都难以达到要求。为改善现有技术所面临的问题,本发明提出了一种基于竞争深度学习网络的无人机飞行路径规划方法,可以在路径规划的精度,安全性和效率三个方面都有显著的提高。



技术实现要素:

本发明技术解决问题:克服现有技术的不足,提供一种基于竞争深度学习网络的无人机飞行路径规划方法。该方法具有路径规划精度高,速度快,不易于障碍物发生碰撞的特点。因此,该方法能够实现路径规划在精准度,高效性安全性上的要求。

本发明技术解决方案:一种基于竞争深度学习网络的无人机飞行路径规划方法,包括以下步骤:

第一步,位于无人机上的摄像头对环境进行实时拍摄,得到图像。环境指的是无人机在执行当前飞行任务时所在的空间,它包括了无人机进行路径规划所需要的信息。同时,当无人机采取动作后,环境也会根据无人机所采取的动作进行反馈,更新它所能提供给无人机进行路径规划的信息。通过拍摄的方式,环境传递当前状态图像信息st和下一状态图像信息st+1到特征提取网络中。

第二步,构建无人机内部的特征提取网络,特征提取网络采用的是卷积神经网络。这一步骤的目的是让无人机可以有效的处理并提炼拍摄得到的图像信息。特征提取网络对环境传递过来的图像信息进行特征信息的提取,最终输出为特征向量。如图2所示,特征提取网络包括卷积层与输出层。在特征提取的过程中,环境传递的图像信息经过卷积层时,图像信息中对描述环境有用的各个特征,如颜色,纹理,灰度,锐度等特征都被卷积层提取出来,并分别以数值的形式保存。但这些数值是以矩阵形式保存的。为方便计算,在输出层上做扁平化处理,得到特征向量。于是,当前状态图像信息st和下一状态图像信息st+1经过特征提取网络的处理以后,输出当前状态特征向量φt和下一状态特征向量φt+1。

第三步,无人机内部的当前值网络要根据当前图像和奖励在环境内分布的情况,做出当前动作的选取。在特征提取网络将当前状态特征向量φt传递到当前值网络的同时,记忆单元将无人机在当前状态下可能采取的动作集合at传递给当前值网络。可能采取动作的集合at是动作集a*的子集。动作集a*是无人机在飞行过程中可以选择的全部动作的集合,它包括{左转,右转,跃升,俯冲,保持当前运动状态}这5个动作。之后,如图4所示,当前值网络中的两个网络层根据当前状态特征向量φt和当前状态可能采取的动作集合at,分别计算出状态函数值v和优势函数值a。状态函数值v和优势函数值a都是强化学习这一领域内的基本概念。状态函数值v指的是从某一状态开始到最终状态结束所能获得总奖励的数学期望。优势函数值a是用来衡量在某一状态下,不同的动作所具备的相对优势。计算出状态函数值v和优势函数值a后,如图4所示,当前值网络中的合并层会对状态函数值v和优势函数值a加以合并,得到状态动作函数值q。状态动作函数值q作为强化学习领域内的基本概念之一,代表的是从某一状态采取某一动作后开始到最终状态结束所能获得的总奖励的数学期望。如图4所示,合并层所输出的是多个状态动作函数值q,这是由于当前状态下可能采取的动作集合at内可能包含多个动作,每个动作都对应着一个状态动作函数值q。从多个状态动作函数值q中选择最大的作为即时状态动作函数值q(φt,at;θ)。其中φt是当前状态特征向量;at定义为当前动作,它的含义是多个状态动作函数值q中最大的函数值所对应的动作,也就是即时状态动作函数值q(φt,at;θ)所对应的动作;θ表示当前值网络的参数。之后无人机执行当前动作at,改变无人机的当前所处位置,同时无人机所处的环境也将发生变化。无人机执行动作这一过程反映在图3的网络整体模型概览中就是当前值网络将当前动作at传递给环境。如第一步中的叙述,环境接收到当前动作at后,将根据这一动作更新它所能提供给无人机进行路径规划的信息。除此以外,当前值网络中的即时状态动作函数值q(φt,at;θ)将作为主体之一,参与到q网络的损失函数的计算。其中,q网络指的是当前值网络和目标值网络。q网络的损失函数的计算关系到无人机内部的q网络的优化。q网络优化得越好,无人机在实际飞行任务中进行路径规划的效果就越好。

第四步,完成图像特征提取以后,在无人机内的前向传播网络接收到来自特征提取网络所传递的当前状态特征向量φt和下一状态特征向量φt+1的同时,环境将当前动作at和外在奖励re也传递给前向传播网络。前向传播网络根据当前动作at和当前状态特征向量φt计算出下一状态特征向量的预测值,记为与此同时,记特征提取网络传递的下一状态特征向量φt+1为真值。定义内在奖励ri是由下一状态特征向量的预测值和下一状态特征向量φt+1求均方误差得到的。得到了内在奖励ri之后,与环境所传来的外在奖励re共同构成总奖励r。其中外在奖励是飞行开始前就规定好的。到达终点位置会有正奖励。到达障碍物所在位置,即与障碍物发生碰撞会带来负奖励。其余位置的外在奖励设置为终点位置的外在奖励与发生碰撞的外在奖励之和的一半。强化学习的根本目标就是取得最大奖励。因此奖励的计算将影响到无人机在规划路径时动作的选取。之后,前向传播网络将当前状态特征向量φt和下一状态特征向量φt+1,当前动作at和总奖励r所构成的一个四元组<φt,φt+1,a,r>传递给记忆单元加以存储。

第五步,本发明为提高无人机路径规划的表现引入了附加任务的概念。在该问题中,附加任务指的是对景深进行预测。与之相对应的是主体任务,主体任务是利用并优化当前值网络,目标值网络,前向传播网络和记忆单元构成的主体网络进行路径规划的能力。根据第二步中特征提取网络所提取出来的当前状态特征向量φt,多层感知网络要以当前状态特征向量φt作为输入,进而求得景深的预测值。景深可以体现出无人机与前方可能出现的障碍物的距离信息。通过附加任务中对景深的预测,无人机可以更好地控制自身与前方潜在的障碍物之间的距离,减少碰撞。

第六步,无人机内的记忆单元向目标值网络传递下一状态特征向量φt+1和下一状态可能采取的动作集at+1。下一状态可能采取的动作集at+1包含多个动作,因此每个动作都对应着一个状态动作函数值q。在接收到上述参数以后,目标值网络也对状态动作函数值q进行计算,并输出最大状态动作函数值maxq(φt+1,at+1;θ-)。其中,参数θ-代表目标值网络的参数。之后,在目标值网络传递最大状态动作函数值maxq(φt+1,at+1;θ-)给q网络的损失函数的同时,记忆单元也传递总奖励r给q网络的损失函数。定义目标状态动作函数值qtarget=r+γmaxq(φt+1,at+1;θ-)。式中,γ代表折扣率,是强化学习领域中的一个基本参数。目标状态动作函数值qtarget和由当前值网络计算出的即时状态动作函数值q(φt,at;θ)共同构成q网络的损失函数。q网络的损失函数定义为目标状态动作函数值qtarget和即时状态动作函数值q(φt,at;θ)的均方误差。

第七步,根据第六步中的q网络的损失函数,对q网络的损失函数中的梯度进行计算,并将梯度反向传播给当前值网络进行网络参数θ的更新。每隔固定的时间长度,当前值网络把网络参数θ传递给目标值网络,对目标值网络参数θ-也进行更新;重复以上第一步到第七步,直到无人机到达终点位置。以上七个步骤描述出了无人机如何根据摄像拍摄环境得到的图像来进行路径规划。随着无人机飞行次数的增加,无人机内部的当前值网络和目标值网络会得到优化,当前值网络会学习到如何在不同状态下选取最优的动作,进而规划出从起点到终点的最优路径。最终,随着飞行次数的增加,无人机的飞行路径不再有变化,这就意味着无人机已经找到了最优的规划路径。

所述第二步中,特征提取网络的结构为:由卷积层和输出层构成,输出层的结构是一层全连接层。卷积层的激活函数选择整流函数。在输出层上做扁平处理,输出层的激活函数为sigmoid函数,该函数将数值全部映射到[0,1]区间。最终,在特征提取网络上,可以得到当前状态特征向量φt和下一状态特征向量φt+1。

所述第三步中,当前值网络中的两个网络层均是由多个全连接层构成的。两个网络层结构类似,在输出层的激活函数为sigmoid函数,除输出层以外的全连接层均是以整流函数作为激活函数。两个网络层分别进行关于状态函数值v和优势函数值a的计算。其中关于状态函数值v的定义如下式所示:

该式代表从输入特征向量为当前状态特征向量φt时开始,到无人机行驶至终点位置为止所获得的总奖励的期望,γ代表折扣率。上式在实际计算时是一个递归的过程。

在这里同样给出所要求的状态动作函数值q的定义式:

该式代表从输入特征向量为当前状态特征向量φt且输入动作为当前动作at时开始,到无人机行驶至终点位置为止所获得的总奖励的期望,γ代表折扣率。同理,上式也是一个递归的过程。

正常情况下,优势函数值a的定义式为a=q-v。但在网络层上可以利用全连接层做近似得到优势函数值a。在当前值网络的实际计算过程中,本发明利用全连接层对状态函数值v和优势函数值a进行近似运算。因为此步骤依靠全连接层来做近似运算,而神经网络的运算本身是一个“黑箱”,所以不能给出具体的计算公式。

合并层的网络构造与网络层类似,在输出层的激活函数为sigmoid函数,除输出层以外的全连接层均是以整流函数作为激活函数。在合并层上依靠以下原理来对状态函数值v和优势函数值a进行运算。

上式右边的求和式指的是在输入特征向量为当前状态特征向量φt时任一动作a′带来的优势函数值a(φt,a′)进行求和。

最终的即时状态动作函数值q(φt,at;θ)是多个状态动作函数值中最大的。即q(φt,at;θ)=max∑q。式中,θ表示当前值网络的网络参数。

所述第四步中,前向传播网络是由多个全连接层构成的。在输出层的激活函数为sigmoid函数,除输出层以外的全连接层均是以整流函数作为激活函数。在前向传播网络内,的主要目标是计算出总奖励r。总奖励r由内在奖励ri和外在奖励re共同构成。其中,在计算内在奖励ri的过程中,需要特征提取网络传递当前状态特征向量φt和下一状态特征向量φt+1给前向传播网络,环境传递当前动作at给前向传播网络。在前向传播网络上,输入为当前状态特征向量φt和当前动作at,利用全连接层进行近似计算,得到下一状态特征向量的预测值之后,定义内在奖励ri是:

外在奖励re由环境传递给前向传播网络,外在奖励re是:

式中,rgoal代表无人机到达规定目标时所收获的奖励,rcollision代表无人机与障碍物发生碰撞时所收获的奖励。当无人机到达目标时会有一个较大的奖励,其表现形式为正奖励。当无人机与障碍物发生碰撞时,则会有一个惩罚,其表现形式为负奖励。其余情况下定义外在奖励为

有了内在奖励ri和外在奖励re后,得到总奖励r:

r=λri+(1-λ)re

之后,前向传播网络将当前状态特征向量φt,下一状态特征向量φt+1,当前动作at和总奖励r所构成的一个四元组<φt,φt+1,a,r>传递给记忆单元加以存储。

所述第五步中,多层感知网络也是由全连接层构成的,但在激活函数的选择上有所不同。多层感知网络是用来完成附加任务中对景深的预测。景深是重要的图像信息,可以由输入的当前状态特征向量φt上的各分量的加权和加以表示。在计算景深的过程中,希望当前状态特征向量φt中,不同特征分量所带来的计算效果差异越明显越好。因此,在除输出层以外的全连接层上均采用双曲正切函数作为激活函数。双曲正切函数能够使得特征差异尽可能明显。在输出层上依然选用sigmoid函数作为激活函数。

在计算景深的过程中,设输入的当前状态特征向量权重向量于是景深的计算公式为:

有了计算景深的附加任务,无人机可以对到障碍物之间的距离有更好地把握,进而达到安全飞行的目标。

所述第六步中,目标值网络是由多个全连接层构成的,在输出层的激活函数为sigmoid函数,除输出层以外的全连接层均是以整流函数作为激活函数。输入是记忆单元提供的下一状态特征向量φt+1和下一动作可能采取的动作集合at+1,输出是最大状态动作函数值maxq(φt+1,at+1;θ-)。状态动作函数值q的定义式如下式:

该式代表从输入特征向量为下一状态特征向量φt+1且输入动作为下一动作at+1时开始,到无人机行驶至终点位置为止所获得的总奖励的期望,γ代表折扣率。该式的计算是一个递归的过程。

最终的最大状态动作函数值q(φt+1,at+1;θ-)是多个状态动作函数值中最大的。式中,θ-表示目标值网络的网络参数。

本发明与现有技术相比的优点在于:

(1)现有的基于强化学习中q-learning算法的无人机路径规划方法都要先将无人机所在的空间进行网格化处理,网格化后的空间将会作为q-learning算法的输入,无人机由当前状态到下一个状态实际上就是指无人机从一个网格移动到另一个网格中。如果网格划分得过于粗略,无人机的每一步移动都会十分突兀,最终规划路径的精度也不会很高。如果网格划分的越细越多,无人机飞行的轨迹就会越平滑,路径规划的精度也会越好。但与此同时,网格划分得越多,输入给q-learning算法的维数就越多,所需的计算资源就越多。这就会导致“维数灾难”这一问题,即现有算力无法满足该问题对计算资源的需求量。于是,在应用q-learning算法解决路径规划问题的过程中,现有技术只能是对无人机所在空间进行粗略的网格化处理。这就导致无人机规划路径的精度很低。相比之下,本发明选择了深度学习网络来解决这一问题。深度学习网络能够对高维度的输入进行线性近似,反映在实际操作中,就是本发明可以直接采用无人机摄像头拍摄的图像作为输入,高度模拟无人机所在的实际空间。因此,本发明与现有技术相比,无人机规划的路径更加平滑,而且精度更高。

(2)现有技术在设置无人机所在空间内各网格的奖励时,为了让无人机尽快地到达终点位置,往往是在终点位置上设置最大的奖励,以此来激励无人机向终点位置移动。但按照现有技术中的q-learning算法,无人机每次做出动作时受到终点位置的影响要远大于无人机受到相邻网格的影响。也就是说在无人机选取动作时,障碍物所具有的威胁不能给无人机带来足够影响。这就会导致无人机无法尽可能早地做出规避周围障碍物的动作。考虑到无人机在实际执行过程中无法克服自身的惯性,以上的缺陷就会导致无人机在做出转向动作的时候,很有可能因为自身惯性,在较短的距离内无法避开障碍物。而无人机与障碍物之间的碰撞是一定要尽力避免的。相比之下,本发明引入了竞争架构,即在计算状态动作函数值q时,是由状态函数值v和优势函数值a进行合并得到状态动作函数值q。状态函数值v指的是从某一状态开始到最终状态结束所能获得总奖励的数学期望。优势函数值a是用来衡量在某一状态下,不同的动作所具备的相对优势。状态动作函数值q代表的是从某一状态采取某一动作后开始到最终状态结束所能获得的总奖励的数学期望。经过这样的操作,即使终点位置的奖励仍大于其他位置的奖励,无人机在选取动作时,将会更多地考虑到障碍物的影响。因此,在与障碍物还有一定距离时,无人机就会做出一定角度的转向,以图避开障碍物所在的位置。这样一来,无人机不至于因为自身惯性的缘故导致转向不及时,撞向障碍物。于是,竞争架构的引入可以更好地帮助无人机规避障碍物,减小碰撞,进而达到安全飞行的目的。

(3)和现有技术相比,本发明对奖励机制进行了进一步的划分。总奖励由外在奖励和内在奖励构成。外在奖励指的是无人机采取动作后,无人机所在空间反馈给无人机的奖励。内在奖励在本文中的定义是无人机下一状态的特征向量真值和特征向量预测值之间的均方误差。误差越大,代表下一状态的未知信息越多,无人机所获得的内在奖励也越大。在现有技术中,奖励机制只包括外在奖励,所以为了飞行的安全性,在无人机规避障碍物时,会有一定概率移动到之前经历过的网格。这就意味着无人机从起点到终点会花费更多的时间。相比之下,内在奖励的出现会促使无人机移动到之前没有到过的网格,因为这些没有到过的网格会有更多的未知信息,也就意味着无人机移动到这些网格上时,会收到更多的奖励。因此,在本发明下,无人机会避免路径的重复,进而更快地从起点到达终点,提高路径规划的效率。

(4)本发明为提高模型的表现引入了附加任务的概念。在该问题中,附加任务指的是对景深进行预测。与之相对应的是主体任务,主体任务是利用并优化当前值网络,目标值网络,前向传播网络和记忆单元构成的主体网络进行路径规划的能力。景深可以体现出无人机与前方可能出现的障碍物的距离信息。但在现有技术解决无人机路径规划的过程中,并没有对景深进行预测。与障碍物之间的距离只能通过预设的奖励来表示,但这种表示方式是不明确的,无人机还是要面临大概率撞上障碍物的风险。相反地,在本发明中,通过附加任务中对景深的预测,无人机可以更好地控制自身与前方潜在的障碍物之间的距离,减少碰撞,以实现安全飞行的目标。

附图说明

图1为本发明方法的实现流程图;

图2为本发明的基于卷积神经网络的特征提取网络结构设计图;

图3为本发明所对应的网络模型整体概览;

图4为本发明当前值网络的内部结构;

图5为本发明中用于计算内在奖励ri的神经网络框架。

具体实施方式

下面结合附图及实施例对本发明进行详细说明。

如图1、3所示,本发明具体实现如下:

第一步,位于无人机上的摄像头对环境进行实时拍摄,得到图像。规定摄像头拍摄的是无人机前方的图像。通过拍摄的方式,环境传递图像信息到特征提取网络中。

第二步,无人机内的特征提取网络对图像进行特征信息的提取。在图像处理这一部分,主要任务是完成视觉位置的识别,所以在这一部分网络中,本发明采用卷积层,不用池化层。考虑到池化层是在卷积特征图的部分区域内做元素筛选的工作,极可能造成重要位置信息的丢失,为保留如景深一类的信息,弃用池化层。经研究表明,卷积层能够在不同抽象级别上学习特征,效果较好,并且在后续的其他网络中也多是全连接层。于是,在特征提取的这部分网络中,只在最后的输出层上做扁平化处理,以向量形式将特征表述出来,其余的网络层全部采用卷积层,激活函数选择整流函数。于是得到了一个由卷积层和输出层构成的特征提取网络,见图2所示,环境传递的图像信息在多个卷积层的作用下,图像中对描述环境有用的各个特征,如颜色,纹理,灰度,锐度等特征被提取出来,并分别以数值的形式保存出来。但这些数值特征是以矩阵形式保存的,为方便后续计算,在输出层上做扁平化处理,得到特征向量。

至于卷积层的卷积核规格等,则要和输入的图片规格相互协调,相互配合。于是环境中的状态信息在卷积神经网络的作用下转换成特征向量φt。特征向量上φt的n个维度就构成了本发明的n维状态空间。本发明采用的是搭建人工神经网络的方式来完成参数的计算,神经网络的优点就在于它极强的近似能力可以接受高维输入,所以能够较好地处理图像信息这种高维输入的情况。与状态空间相对应的是路径规划中的动作集a*包括{左转,右转,跃升,俯冲,保持当前运动状态}这5个动作。无人机在当前状态下选择动作,然后到达下一状态。

之后,特征向量φt要继续往后传递进行计算。如图3所示,该结果会传递给本发明所对应的网络模型整体概览的多层感知网络,当前值网络和前向传播网络进行计算。多层感知网络用特征向量φt进行图片景深预测,当前值网络用特征向量φt进行即时q值的计算,前向传播网络则是运用特征向量进行内在奖励的计算。在图3的网络模型整体概览中,既包含附加任务也包含主体任务。附加任务指的是对图像信息中景深的预测,而主体任务是利用并优化当前值网络,目标值网络,前向传播网络和记忆单元构成的主体网络进行路径规划的能力。多层感知网络用于完成附加任务,当前值网络,目标值网络和前向传播网络用于主体任务。具体内部各网络间的参数传递见图3所示的网络模型整体概览。

如图3所示,网络模型整体概览是由环境,特征提取网络,多层感知网络,当前值网络,目标值网络,前向传播网络,记忆单元和q网络的损失函数共同构成的。在网络模型整体概览中,设置了主体任务和附加任务。主体任务是利用并优化当前值网络,目标值网络,前向传播网络和记忆单元构成的主体网络进行路径规划的能力。附加任务是通过多层感知网络来对景深进行预测。附加任务的出现是为了提高无人机对距离感的把握,进而提高无人机在执行路径规划任务时的实际表现。

环境指的是无人机在执行当前飞行任务时所在的空间,它包括了无人机进行路径规划所需要的信息。环境先传递当前状态原始图像信息st和下一状态原始图像信息st+1到特征提取网络中。特征提取网络将特征提取后,得到当前状态特征向量φt和下一状态特征向量φt+1。当前状态特征向量φt传到当前值网络以后,当前值网络进行即时状态动作函数值q(φt,at;θ)的计算。确定即时状态动作函数值q(φt,at;θ)的过程中,可以确定当前动作at。当前动作at是属于动作集a*的一个元素,集合包括{左转,右转,跃升,俯冲,保持当前运动状态}这5个动作。在确定即时状态动作函数值q(φt,at;θ)时,选择的是能够使该函数值达到最大的动作,将这一动作选为当前动作at。之后,当前值网络传递当前动作at给环境,进行无人机与环境之间的交互。交互指的是无人机执行当前动作at后,它的位置会发生改变。环境提供给无人机做路径规划所用的信息也会相应改变。当前值网络的参数记为θ,经过一定时间间隔后,当前值网络传递网络参数给目标值网络进行参数更新,目标值网络的参数记为θ-。环境在接收到传回的当前动作at后,再传递当前动作at和外在奖励re给前向传播网络。同时,前向传播网络还要接收来自特征提取网络的当前状态特征向量φt和下一状态特征向量φt+1。在得到上述这四类参数后,前向传播网络计算出内在奖励ri,并与外在奖励re共同构成总奖励r。最终,当前状态特征向量φt,下一状态特征向量φt+1,当前动作at和总奖励r共同构成一个四元组<φt,φt+1,a,r>,由前向传播网络传递给记忆单元加以存储。在当前值网络和目标值网络进行训练的过程中,记忆单元要传递下一状态特征向量φt+1和下一状态可能采取的动作集合at+1给目标值网络来选取最大状态动作函数值maxq(φt+1,at+1;θ-)。上文中提到的即时状态动作函数值q(φt,at;θ)中的当前动作at也是记忆单元传递的当前状态可能采取的动作集合at的一个元素。为方便起见,将当前值网络和目标值网络统称为q网络。有了即时状态动作函数值q(φt,at;θ),最大状态动作函数值maxq(φt+1,at+1;θ-)和总奖励r以后,可以计算目标状态动作函数值qtarget=r+γmaxq(φt+1,at+1;θ-)。q网络的损失函数可以由即时状态动作函数值q(φt,at;θ)和目标状态动作函数值qtarget的均方误差得到。通过对上式求梯度并反向传播,当前值网络和目标值网络的更新得以实现。随着当前值网络和目标值网络的不断优化,无人机路径规划的表现会逐步提升,直到找到最佳路径。

以上部分是对主体任务的具体描述。除此以外,为提高模型表现,本发明还引进了附加任务,即完成对图像信息中景深的预测。特征提取网络传递当前状态特征向量φt到多层感知网络进行计算,得到景深的预测值。景深可以体现出无人机与前方可能出现的障碍物的距离信息。通过对景深的预测,无人机可以更好地控制自身与前方潜在的障碍物之间的距离,降低碰撞概率,以实现安全飞行的目标。

第三步,当前状态特征向量φt进入到当前值网络后,如图4所示,在当前值网络的内部结构中,两个网络层要对当前状态特征向量φt分别进行计算,之后在合并层上对两个网络层计算的结果进行合并,由此得到多个状态动作函数值q,并从中选取最大的状态动作函数值q作为即时状态动作函数值q,见图4。

两个网络层由全连接层实现,且两个网络层的构造相同,在输出层的激活函数为sigmoid函数,除输出层以外的全连接层均是以整流函数作为激活函数。计算出的结果分别是状态函数值v(s)与优势函数值a(s,a),在合并层上,按下式进行合并得到状态动作函数值q(s,a)。

上式中,a表示当前状态下所选择的动作。等式右边的求和式指的是对当前状态下任一动作a′带来的优势函数值a(s,a′)进行求和。上式中,状态函数值v(s)在实际表述中,可简写为状态函数值v。同理,优势函数值a(s,a)可简写为优势函数值a。状态动作函数值q(s,a)可简写为状态动作函数值q。

一般情况下,q(s,a)=v(s,a)+a(s,a),但是为了方便后续优化,在原等式的基础上又减去了该状态下的优势函数平均值。因为在后续反向传播梯度进行优化时,q(s,a)值是一个确定量,无法判断此时的状态函数值v(s)和优势函数值a(s,a)分别是多少。加入优势函数平均值以后,状态函数值v(s)和优势函数值a(s,a)的数量关系得以确定。于是,对状态函数值v(s)和优势函数值a(s,a)进行针对性的优化。此处得到的状态动作函数值q(s,a)取最大值就是目前的动作状态函数预测值,之后要与目标值网络所得到的动作状态函数目标值进行误差计算。而当前值网络参数θ每过n时间步以后要拷贝参数传给目标值网络进行参数θ-的更新。两个网络在时间性质上的不同,参数的不同可以使得相关性减弱,进而提高算法表现。当前值网络的参数记为θ,目标值网络的参数记为θ-。当前值网络的当前动作at再传给环境,使环境发生改变,进行更新。动作at由at=argmaxaq(s,a,θ)定义。

第四步,当特征向量φt进入前向传播网络后,与当前动作at共同作为输入,输出得到下一状态特征向量φt+1的预测值前向传播网络也是由全连接层构成,在输出层的激活函数为sigmoid函数,除输出层以外的全连接层均是以整流函数作为激活函数。图3是用于计算内在奖励ri的神经网络框架。该框架由整体网络模型中的环境,特征提取网络和前向传播网络这三个主体部分构成。环境代表的含义是无人机在执行当前飞行任务时所在的空间。无人机可以通过自身所装配的摄像头对当前空间进行摄像。特征提取网络对拍摄到的图像进行特征的提取。图像特征包括图像的颜色,纹理,灰度,锐度等信息。经过特征提取后,得到当前状态特征向量φt和下一状态特征向量φt+1。φt+1作为下一状态的特征向量真值加以保留,特征向量φt则被传递给前向传播网络。环境再提供当前动作at至前向传播网络,再通过前向传播网络的计算,得到下一状态特征向量的预测值内在奖励由预测值与真值的平方误差定义。本发明中用于计算内在奖励ri的神经网络框架见图5。

在图5中,可以看到需要一个特征提取网络对模糊的环境信息进行处理。在该框架下,特征提取网络指的是第一步中的卷积神经网络。φt+1与之间的误差就可以代表下一位置的信息未知程度。未知程度越大,就说明下一位置实际探索到的信息越多。这就与内在奖励的定义相契合。于是,内在奖励ri可以由下式给出定义。

外在奖励re则是由当前环境传递进来的信号决定的,见下式。

rgoal代表无人机到达规定目标时所收获的奖励,rcollision代表无人机与障碍物发生碰撞时所收获的奖励。

当无人机到达目标时会有一个较大的奖励,其表现形式为正奖励。当无人机与障碍物发生碰撞时,则会有一个惩罚,其表现形式为负奖励。其余情况定义奖励为

当内在奖励与外在奖励均被定义之后,总奖励r由下式给出。

r=λri+(1-λ)re

在总奖励的计算式中,引入一个在[0,1]区间的权重系数λ,来调整两部分奖励所占权重。所得的总奖励将作为q网络的损失函数计算时的实际计算量储存在记忆单元内。同时,内在奖励的存在是应对“探索”与“利用”平衡理论的一次良好尝试。有了内在奖励的存在,在选取动作时,执行贪心策略,选取能带来最大总奖励的动作即可。

第五步,特征向量φt将继续作为输入进入到一个多层感知网络中进行景深的计算。多层感知网络是由全连接层构成的。景深是重要的图像信息,可以由输入的当前状态特征向量φt上的各分量的加权和加以表示。在计算景深的过程中,希望当前状态特征向量φt中,不同特征分量所带来的计算效果差异越明显越好。因此,在除输出层以外的全连接层上均采用双曲正切函数作为激活函数。双曲正切函数能够使得特征差异尽可能明显。在输出层上依然选用sigmoid函数作为激活函数。传入当前状态特征向量φt后,将进行景深预测值的计算。景深预测值可以帮助无人机更好地感知与前方潜在地障碍物之间的距离,对危险及早做出规避动作。

在计算景深的过程中,设输入的当前状态特征向量权重向量于是景深的计算公式为:

第六步,为更好地优化当前值网络和目标值网络,本发明从记忆单元中取样,打破数据间的相关性,来提升之后通过q网络的损失函数进行优化的优化效果。首先是将<φt,φt+1,at,r>四元组存放在记忆单元中。记忆单元设置成队列的形式,队列长度定为l,遵循fifo原则,即先进入队列的元素,最先离开队列。如果队列满了,就将旧信息剔除。这也符合实际探索的客观规律,起初的探索信息往往是不成熟的,保留下最新最完善的信息更有助于网络的提升。在操作过程中,记忆单元传递当前状态下无人机可能采取的动作集合at给当前值网络进行状态动作函数值q的计算。可能采取的动作集合at是动作集a*的子集。同时,记忆单元传递下一状态特征向量φt+1和下一状态可能采取的动作集合at+1给目标值网络进行状态动作函数值q的计算。

q网络的损失函数是:

在目标值网络中,接收到记忆单元传递过来的下一状态特征向量φt+1和下一状态可能采取的动作集合at+1之后,经过计算与比较得到maxq(φt+1,at+1;θ-),结果传递给误差计算的框架中。目标值网络的网络结构由全连接层来实现即可。

在计算当前值网络和目标值网络的损失函数时,目标状态动作函数值qtarget由下式计算得出。

qtarget=r+γmaxq(φt+1,at+1;θ-)

其中的总奖励r由记忆单元提供,最大状态动作函数值maxq(φt+1,at+1;θ-)由目标值网络得到,γ是折扣率。但如果已经到达了终点,则目标状态动作函数值qtarget可以简化为qtarget=r。

定义好目标状态动作函数值qtarget与即时状态动作函数值q(φt,at;θ)就可以开始损失函数的计算。

第七步,根据第六步中定义的损失函数,本发明求解其梯度并利用梯度下降法对当前值网络进行优化。将梯度传给当前值网络,进行网络参数的更新。在隔了n时间步后,再把参数传给目标值网络,进而更新目标值网络的参数。当前值网络每更新一次,计数器加1。当无人机到达终点位置时,可以停止当前值网络和目标值网络的优化与更新,这时无人机已经规划出了路径并到达了终点。

若需代码实现本发明的六个步骤,可参考以下的编程流程。

输入:迭代轮数t,当前环境图像,动作集a*,衰减因子γ,由卷积层构成的特征提取网络π,前向传播网络φ,多层感知网络g,当前值网络q,目标值网络q′,批量梯度下降的样本数量n,目标值网络每次更新前空隔的时间步数n,记忆单元中队列长度l。

输出:q网络参数,多层感知网络g的参数。

1.随机初始化所有的状态动作函数值q。随机初始化当前值网络的所有参数θ,并初始化目标值网络q′的参数θ-=θ。初始化记忆单元。

2.迭代开始,forstepfrom1tot。

(1)当前环境图像传入特征提取网络中,输出为n维特征向量φt,即当前状态向量。

(2)前向传播网络φ使用φt,与当前状态下的可能动作作为输入,得到内在奖励ri,并结合外在奖励re得到总奖励r。

(3)多层感知网络g以φt作为输入进行有关景深预测的附加任务。

(4)在当前值网络中使用φt作为输入,得到所有动作的q值输出。用贪心策略在当前q值输出中选择对应的动作a。

(5)在当前状态执行动作a,得到新状态所对应的φt+1和奖励r,并判断是否达到终止状态,即是否达到目标位置。

(6)将{φt,a,r,φt+1}这个四元组存入记忆单元内。

(7)进行状态的更新,φt=φt+1。

(8)从记忆单元中采样n个样本i=1,2,……n,i表示第i个样本,计算目标q值

(9)使用均方差损失函数通过梯度反向传播的算法来更新q网络的参数θ。

(10)如果step%n==0,即过了n时间步,就更新目标值网络θ-=θ。

(11)如果记忆单元中队列的长度达到上限l,则遵循“第一个进,第一个出”的原则,剔除旧信息,存储新信息。

(12)判断是否达到目标位置,若到达则终止,若未到达,则继续迭代。当达到预设次数t时,也停止训练。

以上虽然描述了本发明的具体实施方法,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本发明原理和实现的前提下,可以对这些实施方案做出多种变更或修改,因此,本发明的保护范围由所附权利要求书限定。

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