摘要:
尽管经典的机器人技术在处理很多的复杂的任务时很有效,但是在遇到动态场景下远不能表现出来像人工智能那样的灵活性和可靠性。为了让机器人也拥有在这些品质,强化学习被证明是非常有效的。通过强化学习提供的方法即基于训练的学习,机器人可以通过学习去在以前不可预见的场景下工作。但是这个学习任务非常繁琐,因为它要求巨大量的训练数据。这使得训练在现实世界场景中效率非常低。本文章提出了一个使用基于Q学习的ε-greedy算法的路径规划方法。该场景是用于网格世界的模拟器来建模的,这个模拟器也被用于智能体的初始训练。训练策略会通过学习真实世界动态变化通过使用真实世界的样例。本研究证明了基于模拟器训练的有效性和可靠性。
索引词:
基于模型的控制、Q学习、强化学习、神经网络、栅格世界
Ⅰ INTRODUCTION(引言)
基于经典机器人技术的机器人可以在有限的领域内完成困难的任务。它们只能完成它们被编程的任务,因为它们没有广义的分析能力。今天真正的挑战是向机器人传授自然智能或广义分析能力。换句话说,人们正在努力确定赋予类人与物理环境相互作用的能力。强化学习在机器人技术中的应用有助于使机器人实现是否通过一系列特定的动作实现了预期的结果。它存储这些信息,当它遇到类似的情况时,它会试图做出正确的举动。其目的是通过与环境的交互来获得最优策略。这些方法[1]可以分为无模型的[2]方法和基于模型的[3]、[4]、[5]方法。无模型方法在不学习模型的情况下获得了最优策略。另一方面,基于模型的方法利用已知的模型信息来获得最优策略。复杂的机械系统或机器人的另一个方面是,它们不能被命令采取任意的行动,最简单的原因之一是,系统的自由度超过了系统中存在的执行器的数量。
为了解决这些问题,我们设计了一个自主机器人导航的任务。但是,在现实世界的环境中,使用传统的强化学习技术进行训练可能会相当繁琐和低效,原因是需要大量的训练数据。上述问题可以通过以网格世界类模拟器的形式构建现实世界场景的模型来解决。这个模型用于学习现实世界的基本动力学场景使用Q-learing强化学习和神经网络训练的权重过程中利用训练类似的结构化神经网络,函数逼近器用于强化学习在现实世界的场景。
过去,几种无模型和基于模型的方法被用于机器人的最优控制。Abbee等人[6]使用了微分动态规划(DDP),这是线性二次调节器(LQR)[7]的扩展,获得了一个控制器,并针对结果模型和奖励函数进行了优化。Masuta[8]等人[8]提出了一种结合视网膜模型和峰值神经网络的感知系统,以控制配备3d范围摄像机的机器人臂。Gu等人的[9],[12]提出了一种遗传算法(GA)方法来进化机器人的行为,并使用模糊逻辑控制器(FLCs)来设计机器人的行为。Hachour等[10]采用了基于模糊逻辑(FL)和专家系统(ES)的导航技术,为智能机器人在未知环境下导航。在[11]中,Sato等人构建了基于人际沟通的系统,使用指向手势作为信息。[13],[14]简要回顾了计算群智能的广泛领域及其在群机器人中的应用,这是经典机器人方法的一个有趣的替代方法。强化学习和策略搜索方法[17]、[19]、[20]可以应对高维状态和动作空间等机器人学习的挑战。在[15]中,Wang等人建立了一个汽车模拟系统,用各种RL算法在轨道上训练和测试汽车,包括演员-批评家方法、sarsa(0)和sarsa(λ)。[18]表明,与非层次技术相比,分层相对熵策略搜索可以学习通用的解决方案,并可以提高所发现策略的学习速度和质量。这些方法已经在机器人技术中实现,如乒乓球、猪乒乓[21]、[22]、物体操作。最近的论文[17],[1]提供了关于机器人技术政策搜索的调查。在实践中,对于感知、状态估计和低级控制,策略搜索应用程序通常需要手工设计完成。为了提高性能,Levine等人[16]使用部分观察引导策略搜索(GPS)方法对CNN(卷积神经网络)进行了训练,该方法将策略搜索转化为监督学习。
第二节总结了ε贪婪q学习,提供了本研究中使用的强化学习方法。第三节解释了本研究中使用的方法和实验设置。研究结果已在第四节中进行了讨论。该研究的结果已在第五节中得出结论。
Ⅱ ε-Greedy Q-learning
Q学习是一种基于时间差分的强化学习算法。强化学习可以看做是智能体和环境进行交互的机器学习算法。是通过训练智能体采取动作使它的累积奖励最大化。智能体是和环境交互的实体,智能体采取的每一个动作都会受到相应奖励。基于和环境的交互,更新它的策略,目的是使所有序列的累积奖励最大化。
策略就是在当前状态下采取的最优的动作的一个分布。
状态是决定系统在特定时间的特定条件的物理信息。
当一个随机过程具有这个性质的时候,我们称这个随机过程具有马尔科夫性质。即下一时刻的状态只取决于上一状态。根据这个性质,可以通过迭代学习找到最优的策略。
Q学习的更新动作价值函数是通过下一个状态的价值估计来进行更新,不需要一个完整的序列。
公式3是价值函数的定义:回报的期望。
Q学习可以被用来找到最优的动作选择策略对于任何的MDP过程。学习的开始是初始化随机的策略的Q值,或者有设计者制定。
每次智能体选择一个动作时,它都会观察到一个奖励和一个新的状态,该状态可能取决于之前的状态和所选择的动作,并更新相应的q值。用公式4进行更新。当系统到达终止状态或者“吸收状态”序列就结束。
公式5告诉我们,在策略π下,每一个状态s对应的最优动作价值是采取使q值最大的动作。我们选择使Q值最大的动作对应的状态。
通过使用只依据最大Q值对应的动作,策略可能会陷入局部最优状态,并最终生成一个非一般性的策略。为了避免这种情况,我们选择
ε-Greedy策略。即每次有ε的概率去探索新的状态,基于探索和贪婪之间做一个选择。ε的值也会随着迭代的次数线性下降,用来平衡探索与利用的关系。
最近的一种新方法是使用神经网络作为函数逼近器来近似状态-动作策略。这减少了存储策略查找表的大存储空间的需求。深度神经网络的使用已经变得非常流行,因为它们可以通过GPU和基于CPU的并行计算来更新复杂的策略。
Ⅲ METHODOLOGY
基于模型的路径规划的实现涉及到制定一个适当的场景。为此,已经实现了一个涉及自动驾驶机器人的场景。该系统的状态是通过使用一个头顶上的摄像机而得出的。从相机获得的图像被划分为多个网格,这些网格的属性被二进制编码,以定义系统的状态。这样的公式更容易以类似网格世界的场景的形式来近似。然后使用模拟器来学习系统的基本动力学,使用基于Q学习的强化学习。
A. Scenario Environment(场景环境)
环境主要包含三个方面:
智能体、重点、障碍物
智能体的目标是学会到达竞技场的终点线(目标),同时避免其路径上的障碍,这样其动作获得的奖励得到最大化。为此,智能体必须正确地学习系统的动态。为了实现这个目标,对智能体所采取的每一步都定义了一个适当的奖励。对于每一个动作,都定义了一个小的负奖励(惩罚)。此外,在达到目标时,智能体会得到高度积极的奖励。当碰撞障碍物或越过竞技场边界时,智能体会得到高度负的奖励。所有这些都共同构成了环境的奖励功能。为了定义系统的状态,所有的网格都使用表示网格条件的3位进行二进制编码。单个位被用于表示网格中智能体、目标或障碍的存在。这也简化了模型的近似值,形成了一个类似于网格世界的场景。
B. Simulator Design(模拟器设计)
场景环境以类似于网格世界的模拟器的形式建模。为此,来自头顶摄像机的图像被分割成80个网格,如图1所示,每个网格以3个二进制位的形式定义,表示其中存在一个特定的物体(代理、目标、障碍)。第1位保留给代理,第2位为目标,第3位为障碍物。例如,000表示网格中不存在任何一个对象。由此形成的模拟器被用于使用基于q倾向的强化学习进行训练。如图2所示,近似Q值函数,如图2。采用神经网络作为函数近似器3层神经网络。该神经网络的体系结构定义如下。
C. Neural Network Architecture(神经网络结构)
所使用的网络由2个大小为164和150个神经元的隐藏层组成。输出层有8个神经元,它们代表单个动作的q值。网络的输入数与表示系统状态的特征数相同,即240个。在每个隐藏层之后,使用一个“校正的线性单元或relu”激活函数来规范化单个神经元的输出。在输出层之后,所使用的激活是“线性函数”。这种定义系统输出的策略最初是由Mnih等人[25]提出的。为了减少过拟合的数量,我们使用了一种新提出的称为辍学[26]的技术,辍学概率为0.2。神经网络通过最小化数据的均方误差,使用“RMSProp”[27]算法进行训练。
D. Neural Network Training
在竞技场内,机器人被允许以运动角度的形式定义出八种不同的动作。这些动作包括直接动作和对角线动作。对于四个对角线运动,给予它的负奖励是它向直线方向运动时的1.41倍。对直线移动和对角线移动的奖励分别为-1和-1.41。达到目标的奖励是+25,而碰撞障碍物的奖励是-25。在越过边界时,给代理-5的负奖励。这些值是根据训练环境和代理的几何形状来决定的。直动奖励(-1)被用作参考奖励,在此基础上,其他情况下的奖励已经被制定出来。由于训练区域被划分为正方形网格,对角线移动时所覆盖的距离是直线移动时所覆盖的距离的1.41(√2)倍。因此,对角线移动对应的奖励被认为为-1.41。到达目标点的奖励是根据训练场地的大小和运动奖励来决定。大的负坑奖励有利于主体的学习过程,因此它可以学习避开障碍物/坑。
首先用所建立的模型模拟器来训练神经网络。对于这种不同的环境场景,使用了不同的障碍和智能体位置。对于这种基于ε贪婪的q学习方法。为了进一步让智能体学习系统的真实世界动态,通过使用机器人作为与给定环境交互的智能体,将训练转移到真实世界中。在算法1中解释了利用神经网络实现Q学习的算法。
Ⅳ RESULTS(结果)
对于使用基于网格世界的模拟器进行训练,首先测试了具有不同约束类型的不同场景。表2显示了如果障碍物和智能体的位置随着场地中障碍物的数量而固定,对测试精度的影响。该表格清楚地表明,在这种情况下,精度很容易得到提高。即使使用的障碍数量为8个,当训练的时间数达到7500个时,准确率也很容易达到100%。在进一步的测试中,如表3所示,智能体的位置在现场是随机进行的。这使得训练的任务有点困难,但在所有场景的20000时代内,准确率仍然很容易达到100%。
为了进一步增加场景的难度,障碍的位置和玩家的位置都是随机的(动态的),如表4所示。从表四中可以明显看出,与以前测试的案例相比,这使得训练更加困难,因为现在需要大约70000-80000个时代的精度达到90%。
模拟器对于现实世界的应用程序,需要在竞技场内有随机数量的障碍,以及它们有动态的位置。这个场景已经在表四的最后一列中进行了测试。结果清楚地表明,这是最难被训练的场景。图4显示了测试精度的非线性增加,在训练时期的初始增加后达到饱和。饱和开销机器人控制精度接近95%。但这种精度是在10万次模拟器训练后实现的。这种类型的训练在现实世界的环境条件下是不可能的,因为在这种情况下的每个时代都是相当昂贵的。图3显示了机器人在舞台的运动。它清楚地表明,在训练后,机器人能够采取最佳的行动,并可以穿越竞技场,以达到目标。从基于模拟器的训练中得到的神经网络权值用于真实世界场景中的进一步训练,使智能体能够学习复杂的真实世界动态。
Ⅴ CONCLUSION(总结)
对于现实场景中的路径规划,基于模型的方法提供了更有效的训练方法,而不需要无效的智能体与代理环境交互。基于ε贪婪Q学习的方法,一旦场景的模型被开发出来,训练智能体会非常方便。以基于网格世界的模拟器的形式模拟了智能体-环境交互的模型。利用该模拟器的样本,采用ε贪婪q学习方法寻找最优策略。该方法为智能体提供了在基于初始模拟器的训练完成后从其经验中学习的能力。在基于模拟器的训练后完成的现实世界训练帮助智能体学习其与环境交互的非线性动力学。结果表明,ε贪婪q学习方法在基于模型的场景中是相当有效的,即使在完全随机的场景中,代理也能产生近95%的成功率。事实证明,该方案在为上述场景生成最优策略方面是非常有效的,但受到系统状态是由头顶摄像机生成的这一事实的限制。这限制了系统工作到一个预先建造的舞台。在未来,可以对带有车载摄像头的场景进行建模,使系统能够灵活地在任何环境下工作。