本发明涉及强化学习探索方法领域,尤其涉及一种基于生成对抗网络的强化学习探索方法。
背景技术:
强化学习探索问题,是指在强化学习技术中探索和利用的平衡问题。通常来讲,目前强化学习在落地到具体应用中时普遍存在探索不充分的情况,在机器人辅助物流运输的场景中使用强化学习时,通常需要人工地设计一些基于脚本的规则辅助机器人探索,来让强化学习关注于运筹优化的目标,但是人工设计的脚本难以最大限度地发挥强化学习的主动学习能力。而若不使用人工设计的脚本进行探索则机器人通常无法获得足够的外部奖励,难以快速准确地适应环境。
(一)分析近期关于强化学习探索的专利技术:
1、申请号为201910549586.x的中国发明专利申请《一种强化学习的高效探索方法》提出了一种利用预训练的计数估计函数进行强化学习的高效探索方法,该方法主要针对连续空间任务,并不适用于离散空间任务;
2、申请号为201810071032.9的中国发明专利申请《强化学习任务中高维连续动作空间离散化探索方法》,通过量化操作将连续的动作空间转化成一个离散的动作空间,进行降维编码并计数,进而提高智能体策略更新时的搜索效率,该方法主要针对高维连续动作空间进行探索的优化,而本方法主要针对状态空间进行探索的优化;
(二)分析近期基于强化学习探索的研究:
bellemare等在conferenceandworkshoponneuralinformationprocessingsystems(神经信息处理系统会议)会议(2016年第29届第1471-1479页)上发表的unifyingcount-basedexplorationandintrinsicmotivation.《结合基于计数的探索和内在驱动》,该文中将动作状态对进行伪计数来对近似的贝尔曼方程进行求解。其不足在于:伪计数的方法不适用于大状态空间和大动作空间;
ostrovski等在internationalconferenceonmachinelearning(机器学习国际会议)会议(2018年第35届)上发表的count-basedexplorationwithneuraldensitymodels.《基于计数且使用神经密度模型的探索》,该文中对状态的伪计数使用了pixelcnn给出密度估计来近似。其不足在于:pixelcnn是一种适用于图像这类二维离散状态的密度估计模型,具有其局限性。
对国内外相关专利分析以及相关研究可得出以下结论:目前在机器人进行物流运输的场景中没有适用于任意类型的(离散或连续的)任意规模的状态空间上的辅助强化学习探索的应用。
因此,本领域的技术人员致力于开发一种在机器人物流运输的场景中,可适用于任意类型的(离散或连续的)任意规模的状态空间上的辅助强化学习探索的应用。
技术实现要素:
有鉴于现有技术的上述缺陷,本发明所要解决的是现有强化学习探索方法不适用于在物流运输场景中的任意类型的(离散或连续的)任意规模的状态空间上辅助机器人进行探索的技术问题。
为实现上述目的,本发明提供了一种基于生成对抗网络的强化学习探索方法(generativeadversarialexploration,gaex),其特征在于,通过生成负样本和正样本来训练生成对抗网络,并通过判别器d提供对所述生成对抗网络的内部奖励inrt,以鼓励探索。
进一步地,所述负样本是生成器g生成的虚拟状态样本zt。
进一步地,所述正样本是真实状态样本φt。
进一步地,所述负样本与所述正样本相比,如果相似度高则所述判别器d给出高置信度,相应所述内部奖励inrt少,反之相似度低则给出所述内部奖励inrt多。
进一步地,包括如下步骤:
步骤1、定义机器人的状态空间,即机器人执行每一步时的输入st,包括空间中的坐标,运货物目的地的距离和方向,待运货物坐标和距离,传感器感知的周围障碍物方位和距离,对于第t步,转换计算所述真实状态样本φt;
步骤2、所述生成器g生成所述第t步使用的所述虚拟状态样本zt;
步骤3、将所述第t步的所述真实状态样本φt与所述虚拟状态样本zt,输入所述判别器d,训练所述生成对抗网络,同时生成所述内部奖励inrt;
步骤4、按照强化学习策略根据当前输入的所述st输出当前应当执行的动作at,所述动作at包括改变和保持移动方向,拿起和放下货物,以及前进的速度,根据环境执行所述第t步后得到的外部奖励exrt,结合所述内部奖励inrt,生成所述第t步机器人得到的奖励总合rt;
步骤5、根据所述第t步的奖励总合rt,使用强化学习的方法对机器人进行更新,得到更新策略的新的所述机器人。
进一步地,所述真实状态样本φt的转换计算方法为计算所述第t步过去四帧的叠加状态简化表示,包括如下步骤:
步骤1.1、令d表示任意数据降维方法,令s[-i]表示过去第i步的原始状态输入,令α表示介于0到1之间的衰减常量,令所述φt初始化为0;
步骤1.2、所述真实状态样本φt的计算方法为令i=3,2,1,反复代入φt=φt α(d(s[-i 1])-d(s[-i]))。
进一步地,所述虚拟状态样本zt和所述真实状态样本φt具有相同的维度。
进一步地,令d(φt)表示所述判别器d输出的对于所述第t步的所述真实状态样本φt真实度的估计,则所述内部奖励inrt的计算方法为:inrt=β(1-d(φt))2。
进一步地,所述生成器g和所述判别器d在所述机器人进行强化学习的同时进行训练,利用存储的所述真实状态样本φt,以及即时生成的所述虚拟状态样本zt分别作为所述正样本和所述负样本进行训练。
进一步地,在所述机器人进行强化学习策略更新时,利用所述第t步的所述奖励总合rt进行训练,其中rt=exrt inrt。
本发明中所运用到的生成对抗网络从规律上讲,所述生成器会不断地对真实样本的分布进行拟合,一旦所述机器人进入到了常遇到的环境时,所述判别器d会对所述真实状态样本φt给出高真实度估计,认为是正样本,从而降低了该状态下的内部奖励inrt,而一旦所述机器人进入到了未曾遇到或极少遇到的环境时,所述判别器d会对所述真实状态样本φt给出低真实度估计,认为是负样本,从而提高了该状态下的内部奖励inrt。而所述生成器g又会对新的状态样本进行学习,保持对环境状态样本真实度的始终有一个合理的评估,使得当极少遇到的环境在重复探索多次后其所述真实度估计会降低到正常值附近。从而所述机器人能够不断地得到有效的探索激励信号,主动地进行探索。从规律上讲更优的物流运输路径,更合理的避障方式都需要在机器人对环境中的不断探索中发现。
本发明具有如下技术效果:
1、本发明中机器人的控制算法逻辑十分灵活,可以结合做强化学习算法,只需将生成对抗网络中判别器给出的内部奖励inrt与外部奖励exrt结合相加得到奖励总合rt进行训练即可。
2、本发明中机器人可以对多种输入类型进行处理,不局限于特定的状态空间,可以在任意类型的任意规模的状态空间上使用,于是可以与任意强化学习算法结合使用,如dqn、a3c、ppo等。
3、实践证明,本发明中生成对抗网络的训练频率在远小于强化学习策略更新频率的情况下效果更为优秀,这意味着本发明相较于不辅助探索的强化学习算法几乎不额外增加成本,但是效果更好。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明方法流程图。
具体实施方式
以下参考说明书附图介绍本发明的一个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
本发明实施例提供了一种基于生成对抗网络的强化学习探索方法,使用的强化学习的基线算法为深度q网络,即dqn。本发明实施例将方法应用于机器人辅助物流运输的环境中,该环境中有若干待运输的货物,每个货物均有各自不同的目标运输地点。具体步骤如下:
1、定义物流运输场景中的状态空间(即算法的输入空间),包括在地图中的二维坐标(我们将机器人可活动范围定义为包含了所有货物及其目的地点的一个矩形,将坐标原点选取为矩形的中心),所有机器人身上在运货物目的地到机器人的距离和方向,地图上待运货物的坐标和到机器人的距离,传感器感知的周围障碍物到机器人的距离和方位等。定义机器人的动作空间为朝当前面向方向的前、后、左、右四个方向移动的四个动作,外加调整前进速度为可选的四个档次的四个动作,以及拿起或放下当前运输的某个货物的动作。定义机器人所能获得的外部奖励为成功运输一个货物得到1的奖励,以及每一分钟固定得到-1的奖励,因此机器人运输完所有货物所花费时间越长,外部奖励总和越小;
2、随机初始化q网络,生成器网络g和判别器网络d;
3、对于每一段新的经历(episode),每一个步骤t:
(1)由机器人当前的策略选择并采取一个动作at,可以使用在dqn中广泛使用的ε-贪婪策略选取;
(2)利用判别器d计算当前所处状态st对应的内部奖励inrt;
(3)将五元组(st,at,inrt,exrt,st 1)存储到缓冲池m中;
(4)如果t的值正好是200的倍数,即每200步时,从m中随机抽取n个五元组中的真实状态样本φt,并产生n组随机噪声经生成器生成n组虚拟状态样本zt,用于生成对抗网络的更新。
(5)如果t的值正好是200的倍数,即每4步时,从m中随机抽取n个五元组中,按照dqn的更新方法对机器人策略进行更新,其中rt=exrt inrt。
在机器人辅助物流运输的场景中,本方法可以使得强化学习的探索进行得更加充分,在充分训练后,每段经历中相同时间内机器人搬运货物的数量相较于普通dqn方法有明显的提高。在仅使用dqn的情况下,由于缺少合适的外部奖励,机器人通常倾向于沿直线将各个货物分别地从原始地点搬运到目的地点,而本方法训练的机器人由于内部奖励的存在,经常会选择不同的路径,探索更优的货物分配顺序,在运筹优化空间大、路况复杂多变的场景下本方法效果有明显得提升。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
1.一种基于生成对抗网络的强化学习探索方法,其特征在于,通过生成负样本和正样本来训练生成对抗网络,并通过判别器d提供对所述生成对抗网络的内部奖励inrt,以鼓励探索。
2.如权利要求1所述的基于生成对抗网络的强化学习探索方法,其特征在于,所述负样本是生成器g生成的虚拟状态样本zt。
3.如权利要求1所述的基于生成对抗网络的强化学习探索方法,其特征在于,所述正样本是真实状态样本φt。
4.如权利要求1所述的基于生成对抗网络的强化学习探索方法,其特征在于,所述负样本与所述正样本相比,如果相似度高则所述判别器d给出的所述内部奖励inrt少,反之相似度低则给出所述内部奖励inrt多。
5.如权利要求4所述的基于生成对抗网络的强化学习探索方法,其特征在于,包括如下步骤:
步骤1、定义机器人的状态空间,即机器人执行每一步时的输入st,包括空间中的坐标,运货物目的地的距离和方向,待运货物坐标和距离,传感器感知的周围障碍物方位和距离,对于第t步,转换计算所述真实状态样本φt;
步骤2、所述生成器g生成所述第t步使用的所述虚拟状态样本zt;
步骤3、将所述第t步的所述真实状态样本φt与所述虚拟状态样本zt,输入所述判别器d,训练所述生成对抗网络,同时生成所述内部奖励inrt;
步骤4、按照强化学习策略根据当前输入的所述st输出当前应当执行的动作at,所述动作at包括改变和保持移动方向,拿起和放下货物,以及前进的速度,根据环境执行所述第t步后得到的外部奖励exrt,结合所述内部奖励inrt,生成所述第t步机器人得到的奖励总合rt;
步骤5、根据所述第t步的奖励总合rt,使用强化学习的方法对机器人进行更新,得到更新策略的新的所述机器人。
6.如权利要求5所述的基于生成对抗网络的强化学习探索方法,其特征在于,所述真实状态样本φt的转换计算方法为计算所述第t步过去四帧的叠加状态简化表示,包括如下步骤:
步骤1.1、令d表示任意数据降维方法,令s[-i]表示过去第i步的原始状态输入,令α表示介于0到1之间的衰减常量,令所述φt初始化为0;
步骤1.2、所述真实状态样本φt的计算方法为令i=3,2,1,反复代入φt=φt α(d(s[-i 1])-d(s[-i]))。
7.如权利要求5所述的基于生成对抗网络的强化学习探索方法,其特征在于,所述虚拟状态样本zt和所述真实状态样本φt具有相同的维度。
8.如权利要求5所述的基于生成对抗网络的强化学习探索方法,其特征在于,令d(φt)表示所述判别器d输出的对于所述第t步的所述真实状态样本φt真实度的估计,则所述内部奖励inrt的计算方法为:inrt=β(1-d(φt))2。
9.如权利要求5所述的基于生成对抗网络的强化学习探索方法,其特征在于,所述生成器g和所述判别器d在所述机器人进行强化学习的同时进行训练,利用存储的所述真实状态样本φt,以及即时生成的所述虚拟状态样本zt分别作为所述正样本和所述负样本进行训练。
10.如权利要求5所述的基于生成对抗网络的强化学习探索方法,其特征在于,在所述机器人进行强化学习策略更新时,利用所述第t步的所述奖励总合rt进行训练,其中rt=exrt inrt。
技术总结