机器人操纵的深度强化学习制造技术

技术编号:21406478 阅读:21 留言:0更新日期:2019-06-19 09:16
实施方式利用深度强化学习来训练策略神经网络,该策略神经网络参数化策略,以用于基于当前状态来确定机器人动作。这些实施方式中的一些从同时操作的多个机器人收集经验数据。每个机器人在作为对执行任务的每次探索并且各自在情节期间基于策略网络和策略网络的当前策略参数被引导的情节的迭代执行期间生成经验数据的实例。所收集的经验数据在情节期间生成,并用于通过基于一批所收集的经验数据迭代地更新策略网络的策略参数来训练策略网络。此外,在由机器人执行的多个情节中的每一个情节的执行之前,可以提供(或检索)当前更新的策略参数,以供情节的执行时利用。

【技术实现步骤摘要】
【国外来华专利技术】机器人操纵的深度强化学习
技术介绍
许多机器人被编程以利用一个或多个末端执行器来操纵一个或多个对象。例如,机器人可以利用末端执行器向对象施加力并引起该对象的移动。例如,机器人可以利用抓取末端执行器或其他末端执行器来转移对象,而不一定要抓取该对象。而且,例如,机器人可以利用诸如“冲击(impactive)”抓取器或“侵入(ingressive)”抓取器的抓取末端执行器(例如,使用钉、针等物理地穿透对象)来从第一位置拾取对象,将该对象移动到第二位置,以及在第二位置处放下该对象。
技术实现思路
下面描述的实施方式提供了当执行一个或多个任务时,一个或多个机器人的操作性能的改进。如本文所述,使用强化学习过程来改进一个或多个机器人的性能,这促进了用于使用一个或多个机器人执行特定物理任务的最佳方法或策略的快速学习。机器人能够使用学习到的策略来提高任务执行的效率。例如,随着所描述的强化学习过程的进行,物理任务可以由机器人更快地和/或以更少的电力消耗来执行。因为机器人性能的其他方面随着学习过程得到改进,这种物理任务可以附加地或可替换地被更安全地执行,或者可以在定义的安全参数内继续进行。从以下公开中可以明显看出,学习过程可以是迭代的。当新的迭代被传递到负责控制机器人的物理动作的(多个)计算装置时,一个或多个机器人可以根据针对特定任务的策略/方案的每个新的改进的迭代来执行。如此以来,在由机器人执行的物理动作方面,上述效率增益可以随着学习过程的继续而频繁发生。总的来说,机器人性能改进的速率以及所得到的效率增益可以特别快,并且可以使得机器人以最佳方式在比使用其他学习技术更短的时间内完成物理任务。将理解,这使得在较早阶段体验到上述优点,诸如机器人的改进的功耗。这将在下面描述,例如,作为在不同计算机处理器中用于一个或多个机器人的训练线程和经验线程之间解耦的解释的一部分。具体地,据解释,跨异步地池化它们的策略更新的多个机器人并行化训练算法可以得到在给定数量的训练迭代之后更精确和/或稳健的策略神经网络。强化学习的目的是控制试图最大化奖励函数的代理(agent),该奖励函数在机器人技能(本文也称为任务)的上下文中,表示机器人应该尝试完成什么的用户提供的定义。在时间t的状态xt处,代理根据其策略π(ut|xt)选择并执行动作ut,根据机器人的动态p(xt|xt,ut)转换到新状态xt,以及接收奖励r(xt,ut)。强化学习的目的是找到最大化来自初始状态分布的预期奖励之和的最佳策略π*。基于奖励函数来确定奖励,如上所述,该奖励函数取决于待完成的机器人任务。因此,机器人上下文中的强化学习寻求学习给定机器人任务的执行的最佳策略。本文公开的实施方式利用深度强化学习来训练策略网络,该策略网络参数化策略,以用于基于当前状态来确定机器人动作。该当前状态可以包括机器人的状态(例如,机器人的关节的角度、机器人的(多个)末端执行器的(多个)位置和/或它们的时间导数)和/或机器人环境中一个或多个组件的当前状态(例如,机器人的环境中(多个)传感器的当前状态、机器人的环境中(多个)目标对象的(多个)当前姿态)。策略网络可以是神经网络,诸如深度神经网络。例如,策略网络可以是神经网络,该神经网络接受当前状态作为输入,并且基于神经网络的输入和学习的策略参数来生成指示将要实施的动作的输出。例如,输出可以指示将要提供给机器人的致动器中的每一个致动器的速度命令,或者将要施加给机器人的致动器中的每一个致动器的扭矩。机器人可以通过在机器人的每个控制周期将当前状态应用于策略神经网络、通过使用策略神经网络处理该当前状态生成输出、以及实施控制命令以实行由该输出指示的动作,来利用策略神经网络。然后,可以将该控制命令的实施之后的状态用作下一控制周期的当前状态。本文公开的实施方式从同时操作的多个机器人收集经验数据。每个机器人在作为对执行任务的每次探索并且各自在情节(episode)期间基于策略网络和策略网络的当前策略参数被引导的情节的迭代执行期间生成经验数据的实例。例如,在情节期间,机器人可以在该情节期间的机器人的多个控制周期中的每个控制周期生成经验数据的实例。经验数据的每个实例可以指示对应的:当前/开始状态、从开始状态转换到的后续状态、执行以从开始状态转换到后续状态的机器人动作(其中动作基于开始状态到策略网络的应用及其当前策略参数)、以及可选地对动作的奖励(如基于奖励函数所确定的)。所收集的经验数据在情节期间生成,并用于通过基于一批所收集的经验数据迭代地更新策略网络的策略参数来训练策略网络。此外,在由机器人执行的多个情节中的每一个情节的执行之前,可以提供(或检索)当前更新的策略参数,以供情节的执行时利用。例如,每个机器人可以在执行其情节中的每一个情节之前从训练的最近迭代获得更新的策略参数,并且在执行该情节时使用更新的策略参数。因此,每个情节的经验数据基于具有来自训练的最近(相对于情节的开始)迭代的更新的策略参数的策略网络。在许多实施方式中,策略网络的训练相对于从多个机器人生成和收集经验数据是异步的。也就是说,训练/更新策略网络的(多个)线程与从多个机器人生成和/或收集经验数据的(多个)线程解耦。例如,训练/更新线程可以在一个或多个处理器上操作,并且经验线程可以在与操作训练/更新线程的一个或多个处理器分离的一个或多个附加处理器上操作。训练线程和经验线程之间的解耦可以确保训练速度和经验收集速度的差异不会停止生成经验数据的机器人的控制程序,这些控制程序通常要求以固定频率发送控制。换句话说,解耦可以使得经验数据收集能够通过对应的经验线程继续进行,而不会停止用于训练目的的这些线程。此外,解耦使得训练线程能够与经验线程并行操作,异步地和迭代地更新策略网络的策略参数,并且迭代地提供更新的策略参数以用于情节。并且,在许多实施方式中,(多个)训练线程可以操作大于机器人的一个或多个(例如,全部)控制频率(例如,20Hz)的频率(例如,60Hz)。在这些实施方式中,通过从并行操作的多个机器人获得经验数据并通过在(多个)单独的线程中异步地执行训练,可以减少现实世界(例如,墙上的时钟)训练时间(相对于不利用来自多个机器人的经验数据的技术)。例如,训练可以在没有任何(或没有更少)延迟的情况下进行,其中该延迟是由于缓冲区中没有新的经验数据可用。并且,例如,单独的线程可以防止需要停止经验数据收集来使训练能够进行,反之亦然。此外,利用来自多个机器人的经验数据以及解耦训练和经验收集线程可以在给定次数的训练迭代之后产生比如果不利用这种技术更精确和/或更稳健的模型。这可以是由于,例如,机器人在给定情节中生成的经验数据基于策略参数,其中该策略参数基于以下两者来更新:来自机器人的经验数据的过去实例、和来自在并行操作的(多个)其他机器人的经验数据的过去实例。例如,在机器人的第三情节中,在第三情节中利用的策略参数不仅可以基于来自机器人的第一情节和/或第二情节的经验数据,还可以基于来自并行操作的(多个)机器人的第一情节和/或第二情节的经验数据。以这种方式,在第三情节中生成的经验数据基于具有更新的策略参数的策略网络,该更新的策略参数是鉴于来自不止两个先前情节的经验数据来训练的,这可以使得在第三情节中生成导致比如果仅鉴于来自两个先前情节的本文档来自技高网...

【技术保护点】
1.一种由一个或多个处理器实施的方法,包括:在由多个机器人中的每一个机器人执行多个情节期间,所述情节中的每一个情节是基于表示对任务的强化学习策略的策略神经网络执行所述任务的探索:将由机器人在情节期间生成的机器人经验数据的实例存储在缓冲区中,所述机器人经验数据的实例中的每一个在情节中的对应情节期间生成,并且至少部分地在使用具有所述对应情节的策略神经网络的对应策略参数的策略神经网络生成的对应输出上生成;迭代地生成所述策略神经网络的更新的策略参数,其中迭代地生成的迭代中的每次迭代包括在迭代期间使用在所述缓冲区中的一组机器人经验数据的实例中的一个或多个来生成所述更新的策略参数;以及由机器人中的每一个机器人结合由机器人执行的多个情节中的每一个情节的开始,更新将由机器人在所述情节中使用的策略神经网络,其中更新所述策略神经网络包括使用迭代地生成更新的策略参数的最近迭代的更新的策略参数。

【技术特征摘要】
【国外来华专利技术】2016.09.15 US 62/395,3401.一种由一个或多个处理器实施的方法,包括:在由多个机器人中的每一个机器人执行多个情节期间,所述情节中的每一个情节是基于表示对任务的强化学习策略的策略神经网络执行所述任务的探索:将由机器人在情节期间生成的机器人经验数据的实例存储在缓冲区中,所述机器人经验数据的实例中的每一个在情节中的对应情节期间生成,并且至少部分地在使用具有所述对应情节的策略神经网络的对应策略参数的策略神经网络生成的对应输出上生成;迭代地生成所述策略神经网络的更新的策略参数,其中迭代地生成的迭代中的每次迭代包括在迭代期间使用在所述缓冲区中的一组机器人经验数据的实例中的一个或多个来生成所述更新的策略参数;以及由机器人中的每一个机器人结合由机器人执行的多个情节中的每一个情节的开始,更新将由机器人在所述情节中使用的策略神经网络,其中更新所述策略神经网络包括使用迭代地生成更新的策略参数的最近迭代的更新的策略参数。2.根据权利要求1所述的方法,其中,更新的策略参数中的每一个为所述策略神经网络的对应层的对应节点定义对应值。3.根据权利要求1或权利要求2所述的方法,其中,对于所述机器人中的给定机器人的机器人经验数据的实例以第一频率存储在所述缓冲区中,其中所述第一频率是比迭代地生成所述更新的策略参数的生成频率更低的频率。4.根据权利要求1或权利要求2所述的方法,其中,对于所述机器人中的每一个机器人的机器人经验数据的实例以对应频率存储在所述缓冲区中,其中所述对应频率中的每一个频率都低于迭代地生成所述更新的策略参数的生成频率。5.根据权利要求1-4中任一项所述的方法,其中,将所述机器人经验数据的实例存储在所述缓冲区中由第一线程中的一个或多个处理器执行,并且其中迭代地生成由与所述第一线程分离的第二线程中的一个或多个处理器执行。6.根据权利要求5所述的方法,其中,所述第一线程由第一组一个或多个处理器执行,并且所述第二线程由第二组一个或多个处理器执行,所述第二组与所述第一组不重叠。7.根据权利要求1-6中任一项所述的方法,其中,迭代地生成的迭代中的每次迭代包括在生成迭代期间,鉴于在所述缓冲区中的一组机器人经验数据的实例中的一个或多个,基于最小化损失函数来生成更新的策略参数。8.根据权利要求1-7中任一项所述的方法,其中,迭代地生成的迭代中的每次迭代包括在生成迭代期间,鉴于在所述缓冲区中的一组机器人经验数据的实例中的一个或多个的离策略学习。9.根据权利要求8所述的方法,其中,所述离策略学习是Q学习。10.根据权利要求9所述的方法,其中,所述Q学习利用归一化优势函数(NAF)算法或深度确定性策略梯度(DDPG)算法。11.根据权利要求1-10中任一项所述的方法,其中,所述经验数据的实例中的每一个指示对应的:开始机器人状态、从所述开始机器人状态转换到的后续机器人状态、执行以从所述开始机器人状态转换到所述后续机器人状态的动作、以及对所述动作的奖励;其中,所述执行以从开始机器人状态转换到后续机器人状态的动作是基于使用具有对于对应情节的更新的策略参数的策略神经网络处理开始机器人状态而生成的,并且其中,对所述动作的奖励是基于所述强化学习策略的奖励函数而生成的。12.根据权利要求1-11中任一项所述的方法,还包括:基于一个或多个标准,终止所述多个情节的执行并终止迭代地生成;向所述策略神经网络提供所述更新策略参数的最近生成的版本,以供一个或多个附加机器人使用。13.一种方法,包括:由给定机器人的一个或多个处理器:执行基于具有第一组策略参数的策略网络执行任务的探索的给定情节;提供在所述给定情节期间基于所述策略网络生成的机器人经验数据的第一实例;在由所述给定机器人执行基于所述策略网络执行任务的后续情节之前:用更新的策略参数替换所述第一组的一个或多个策略参数,其中所述更新的策略参数是基于机器人经验数据的附加实例生成的,所述附加实例是在由附加机器人执行任务的探索的附加机器人情节期间由所述附加机器人生成的;其中,所述后续情节紧接着第一情节,并且其中在所述后续情节中基于所述策略网络执行任务包括使用所述更新的策略参数来代替替换的策略参数。14.根据权利要求13所述的方法,还包括:由一个或多个附加处理器并且在所述后续情节的执行期间生成进一步更新的策略参数,其中,生成所述进一步更新的策略参数基于在所述第一情节期间生成的机器人经验数据的第一实例中的一个或多个;以及提供所述进一步更新的策略参数,以供所述附加机器人在由所述附加机器人执行对应情节时使用。15.根据权利要求14所述的方法,其中,所述附加机器人在由所述给定机器人执行所述后续情节期间开始执行所述对应情节。16.根据权利要求14所述的方法,其中,在由所述给定机器人执行任何情节时,所述进一步更新的策略参数不被所述给定机器人利用。17.根据权利要求14-16中任一项所述的方法,还包括:由一个或多个附加处理器生成更进一步更新的策略参数,其中,所述更进一步更新的策略参数在所述后续情节的执行期间生成,并且在所述进一步更新的策略参数生成之后生成;以及提供所述...

【专利技术属性】
技术研发人员:S莱文E霍利S古T利利克拉普
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国,US

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

1