当前位置: 首页 > 专利查询>山东大学专利>正文

基于深度强化学习的视觉导航方法及系统技术方案

技术编号:20989827 阅读:96 留言:0更新日期:2019-04-29 21:06
本公开公开了基于深度强化学习的视觉导航方法及系统,包括:随机初始化机器人的起始位置并设定目标位置的图像,然后将起始位置的实际图像与目标位置的实际图像均输入到训练好的基于A3C算法的神经网络,根据基于A3C算法的神经网络输出的概率分布,选择概率最大值对应的动作作为机器人的下一个执行动作,直到机器人到达目标位置。

Visual Navigation Method and System Based on Deep Reinforcement Learning

The present disclosure discloses a visual navigation method and system based on deep reinforcement learning, including: randomly initializing the initial position of the robot and setting the image of the target position, then inputting the actual image of the initial position and the actual image of the target position into the trained ANN based on the A3C algorithm, and selecting the approximation according to the probability distribution of the output of the ANN based on the A3C algorithm. The action corresponding to the maximum rate is the next action of the robot until the robot reaches the target position.

【技术实现步骤摘要】
基于深度强化学习的视觉导航方法及系统
本公开涉及基于深度强化学习的视觉导航方法及系统。
技术介绍
本部分的陈述仅仅是提到了与本公开相关的
技术介绍
,并不必然构成现有技术。视觉导航是一项用于确定当前位置,然后根据图像或者视频输入规划朝向某些目标位置的路径的智能。由于相机视角的局限性,每次只能观察到环境的一部分,这使得仅依靠视觉输入来导航非常困难。近年来深度强化学习在诸如Atari游戏,电脑围棋和目标定位等领域取得了巨大成功,受此鼓舞,学界开始使用深度强化学习来训练智能体学会导航到特定目标。目标驱动的导航任务要求智能体经过训练后,能从任意的位置和朝向导航到一系列不同的目标,因此,对于不同的目标,不必重新训练模型。目前存在一些基于深度强化学习的目标驱动导航问题的开创性工作。据专利技术人了解,在实施本专利技术的过程中,需要解决的技术问题如下:首先,由于智能体必须学会从随机状态导航到不同的目标,智能体需要学习当前状态和目标、动作之间的关联。其次,智能体与环境进行交互,然后生成与每一个目标有关的样本。然而,为一个目标采集的样本只能用来训练智能体导航到这个目标,这是一种样本效率低下的方式。
技术实现思路
为了解决现有技术的不足,本公开提供了基于深度强化学习的视觉导航方法及系统;第一方面,本公开提供了基于深度强化学习的视觉导航方法;基于深度强化学习的视觉导航方法,包括:随机初始化机器人的起始位置并设定目标位置的图像,然后将起始位置的实际图像与目标位置的实际图像均输入到训练好的基于A3C算法的神经网络,根据基于A3C算法的神经网络输出的概率分布,选择概率最大值对应的动作作为机器人的下一个执行动作,直到机器人到达目标位置。作为一种可能的实现方式,基于A3C算法的神经网络的训练过程为:步骤(1):选取导航场景和导航目标,将导航场景网格化,机器人的初始位置为网格上的随机一个网格点;选取网格化的导航场景中的某个点作为导航目标,将机器人视为智能体;步骤(2):设定视觉导航任务为寻找机器人由初始位置到导航目标位置的导航路径;预先在导航目标位置的设定方向拍摄目标图像;构建视觉导航任务的马尔可夫决策过程模型,在马尔可夫决策过程模型中,设定机器人的每执行一个动作就拍摄一张当前视野范围内的图像、设定可执行的动作、动作所对应的执行条件并设定机器人每执行一个动作获得的奖励;步骤(3):构建智能体的神经网络模型;所述智能体的神经网络模型,包括:相互交叉的基于A3C算法的神经网络和基于逆动态模型的神经网络;步骤(4):智能体从导航场景中采集训练数据;采集训练数据的过程中,基于A3C算法的神经网络输出的下一个动作的概率分布,选择最大概率对应的动作作为智能体下一个时刻执行的动作;每采集N个时间步的样本就进入步骤(5);步骤(5):利用步骤(4)采集到的训练样本训练智能体的神经网络;包括步骤(51)和步骤(52);所述步骤(51)和步骤(52)是同时进行,且同时结束并进入步骤(6)的;步骤(51):利用采集到的训练样本训练基于逆动态模型的神经网络,进入步骤(6);步骤(52):利用采集到的训练样本训练基于A3C算法的神经网络,进入步骤(6);步骤(6):当采集并训练的样本的数目均到达设定阈值时,训练结束,得到训练好的基于A3C算法的神经网络;否则,返回步骤(4)继续采集训练样本。作为一种可能的实现方式,所述选取导航场景是指:高仿真框架AI2-THOR;作为一种可能的实现方式,所述将导航场景进行网格化处理,是指:将场景中的位置网格化,网格化的场景包括若干个网格点,相邻网格点之间间距相同;使得机器人只能到达场景中的若干个网格点,降低场景的导航复杂度。作为一种可能的实现方式,所述步骤(2)中构建视觉导航任务的马尔可夫决策过程模型:M(状态,动作,奖励);其中,状态是指机器人视野范围内的图像,机器人当前视野范围内的图像被称之为当前状态;在当前状态下,机器人执行一个动作后的视野范围内的图像,称之为下一时刻的状态;目标图像是指机器人在导航目标位置所拍摄的图像,目标图像被称之为目标状态;动作是指机器人在每个时间间隔内选取的动作,所述动作,包括:前进一步、左转90度或右转90度;前进一步的步长为单个网格的长度;机器人在当前状态下采取的动作为当前动作,在上一时刻采取的动作为上一时刻的动作;奖励是指机器人采取某个动作后,若到达导航目标位置且拍摄的视野范围内的图像与目标图像一致,则获得的奖励值为1;若未到达目标状态,则获得的奖励值为0;时间步:在当前状态下,机器人采取动作后,获得下一时刻的状态,将这个过程所用时间长度称之为一个时间步长,简称时间步。作为一种可能的实现方式,所述智能体的神经网络模型的结构包括:两条并发的通道,通道之间互有交叉;其中,第一个通道包括:依次连接的第一卷积层、第二卷积层、第一全连接层、第二全连接层、第三全连接层和第一输出层;第二个通道包括:依次连接的第三卷积层、第四卷积层、第四全连接层、第一长短期记忆单元层和第二输出层;所述第一全连接层和第四全连接层的输出端均与第二全连接层的输入端连接;所述第二全连接层的输出端与第二输出层的输入端连接;基于A3C算法的神经网络由两个通道中除第一个通道中的第三全连接层和输出层外的其他网络组成;逆动态模型的神经网络由两个通道中除第二个通道中的第一长短期记忆单元层和输出层外的其他网络组成。作为一种可能的实现方式,第一卷积层,卷积核大小为8x8,步长为4x4,输出16个特征图;激活函数为线性整流单元ReLU;第二卷积层,卷积核大小为4x4,步长为2x2,输出32个特征图;激活函数为线性整流单元ReLU;第一全连接层,包括256个隐藏单元,激活函数为线性整流单元ReLU;第二全连接层,包括256个隐藏单元,激活函数为线性整流单元ReLU;第三全连接层,包括64个隐藏单元,激活函数为线性整流单元ReLU;第三卷积层,与第一卷积层共享参数;第四卷积层,与第二卷积层共享参数;第四全连接层,与第一全连接层共享参数;第一长短期记忆单元层,包括256个隐藏单元;第一长短期记忆单元层为长短期记忆网络。作为一种可能的实现方式,对智能体的神经网络模型进行训练,训练过程包含两个部分:一是训练数据的采集,即步骤(4);二是利用采集到的训练数据训练神经网络的参数,即步骤(5);步骤(4)和步骤(5)两个过程是交替进行的。作为一种可能的实现方式,步骤(4)的具体步骤为:在当前的导航场景下,智能体采集当前图像Xt和目标图像Xg,智能体将目标图像Xg输入基于A3C算法的神经网络模型的第一卷积层,智能体将当前图像Xt输入基于A3C算法的神经网络模型的第三卷积层,基于A3C算法的神经网络模型输出设定的可执行动作的概率分布,获取最大概率对应的动作at,智能体执行动作at后,采集到新图像Xt+1,获得奖励r,进而完成一次数据采集过程。如果奖励r=1,即智能体到达导航目标位置;如果奖励r=0,即智能体未到达导航目标位置,智能体根据概率分布选择的动作,完成动作的执行,继续拍摄新的图像。将数据采集过程每执行N次,就暂停数据采集,开始利用采集的N次数据对网络进行训练;同时在数据采集的过程中,保存每一次的状态、每一次的执行动作和每一次执行动作的奖励r,每一次的状态、每一次的本文档来自技高网...

【技术保护点】
1.基于深度强化学习的视觉导航方法,其特征是,包括:随机初始化机器人的起始位置并设定目标位置的图像,然后将起始位置的实际图像与目标位置的实际图像均输入到训练好的基于A3C算法的神经网络,根据基于A3C算法的神经网络输出的概率分布,选择概率最大值对应的动作作为机器人的下一个执行动作,直到机器人到达目标位置。

【技术特征摘要】
1.基于深度强化学习的视觉导航方法,其特征是,包括:随机初始化机器人的起始位置并设定目标位置的图像,然后将起始位置的实际图像与目标位置的实际图像均输入到训练好的基于A3C算法的神经网络,根据基于A3C算法的神经网络输出的概率分布,选择概率最大值对应的动作作为机器人的下一个执行动作,直到机器人到达目标位置。2.如权利要求1所述的方法,其特征是,基于A3C算法的神经网络的训练过程为:步骤(1):选取导航场景和导航目标,将导航场景网格化,机器人的初始位置为网格上的随机一个网格点;选取网格化的导航场景中的某个点作为导航目标,将机器人视为智能体;步骤(2):设定视觉导航任务为寻找机器人由初始位置到导航目标位置的导航路径;预先在导航目标位置的设定方向拍摄目标图像;构建视觉导航任务的马尔可夫决策过程模型,在马尔可夫决策过程模型中,设定机器人的每执行一个动作就拍摄一张当前视野范围内的图像、设定可执行的动作、动作所对应的执行条件并设定机器人每执行一个动作获得的奖励;步骤(3):构建智能体的神经网络模型;所述智能体的神经网络模型,包括:相互交叉的基于A3C算法的神经网络和基于逆动态模型的神经网络;步骤(4):智能体从导航场景中采集训练数据;采集训练数据的过程中,基于A3C算法的神经网络输出的下一个动作的概率分布,选择最大概率对应的动作作为智能体下一个时刻执行的动作;每采集N个时间步的样本就进入步骤(5);步骤(5):利用步骤(4)采集到的训练样本训练智能体的神经网络;包括步骤(51)和步骤(52);所述步骤(51)和步骤(52)是同时进行,且同时结束并进入步骤(6)的;步骤(51):利用采集到的训练样本训练基于逆动态模型的神经网络,进入步骤(6);步骤(52):利用采集到的训练样本训练基于A3C算法的神经网络,进入步骤(6);步骤(6):当采集并训练的样本的数目均到达设定阈值时,训练结束,得到训练好的基于A3C算法的神经网络;否则,返回步骤(4)继续采集训练样本。3.如权利要求2所述的方法,其特征是,所述步骤(2)中构建视觉导航任务的马尔可夫决策过程模型:M(状态,动作,奖励);其中,状态是指机器人视野范围内的图像,机器人当前视野范围内的图像被称之为当前状态;在当前状态下,机器人执行一个动作后的视野范围内的图像,称之为下一时刻的状态;目标图像是指机器人在导航目标位置所拍摄的图像,目标图像被称之为目标状态;动作是指机器人在每个时间间隔内选取的动作,所述动作,包括:前进一步、左转90度或右转90度;前进一步的步长为单个网格的长度;机器人在当前状态下采取的动作为当前动作,在上一时刻采取的动作为上一时刻的动作;奖励是指机器人采取某个动作后,若到达导航目标位置且拍摄的视野范围内的图像与目标图像一致,则获得的奖励值为1;若未到达目标状态,则获得的奖励值为0;时间步:在当前状态下,机器人采取动作后,获得下一时刻的状态,将这个过程所用时间长度称之为一个时间步长,简称时间步。4.如权利要求2所述的方法,其特征是,所述智能体的神经网络模型的结构包括:两条并发的通道,通道之间互有交叉;其中,第一个通道包括:依次连接的第一卷积层、第二卷积层、第一全连接层、第二全连接层、第三全连接层和第一输出层;第二个通道包括:依次连接的第三卷积层、第四卷积层、第四全连接层、第一长短期记忆单元层和第二输出层;所述第一全连接层和第四全连接层的输出端均与第二全连接层的输入端连接;所述第二全连接层的输出端与第二输出层的输入端连接;基于A3C算法的神经网络由两个通道中除第一个通道中的第三全连接层和输出层外的其他网络组成;逆动态模型的神经网络由两个通道中除第二个通道中的第一长短期记忆单元层和输出层外的其他网络组成。5.如权利要求2所述的方法,其特征是,步骤(4)的具体步骤为:在当前的导航场景下,智能体采集当前图像Xt和目标图像Xg,智能体将目标图像Xg输入基于A3C算法的神经网络模型的第一卷积层,智能体将当前图像Xt输入基于A3C算法的神经网络模型的第三卷积层,基于A3C算法的神经网络模型输出设定的可执行动作的概率分布,获取最大概率对应的动作at,智能体执行动作at后,采集到新图像Xt+1,获得奖...

【专利技术属性】
技术研发人员:张伟饶振环吴悦晨宋柯鲁威志
申请(专利权)人:山东大学
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1