买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】用于机器人代理的控制策略_谷歌有限责任公司_201780063614.6 

申请/专利权人:谷歌有限责任公司

申请日:2017-09-15

公开(公告)日:2024-04-23

公开(公告)号:CN109844771B

主分类号:G06N3/045

分类号:G06N3/045;G06N3/00;G06N3/0464;G06N3/0442

优先权:["20160915 US 62/395,329"]

专利状态码:有效-授权

法律状态:2024.04.23#授权;2019.06.28#实质审查的生效;2019.06.04#公开

摘要:一种方法,包括:接收数据,该数据针对一个或多个对象中的每个来识别与真实世界环境交互的机器人代理应当将该对象移动到的相应的目标位置;通过重复地执行下述来使得机器人代理将一个或多个对象移动到一个或多个目标位置:接收真实世界环境的当前状态的当前图像,使用基于当前动作和将要由机器人代理执行的动作预测未来图像的下一图像预测神经网络来根据当前图像确定将要由机器人代理执行的动作的下一序列,以及指示机器人代理执行动作的下一序列。

主权项:1.一种选择将要由机器人代理执行的动作的方法,包括:接收数据,所述数据针对一个或多个对象中的每个来识别与真实世界环境交互的机器人代理应当将所述对象移动到的相应的目标位置;以及通过重复地执行下述来使得机器人代理将所述一个或多个对象移动到一个或多个目标位置:接收真实世界环境的当前状态的当前图像;使用下一图像预测神经网络来根据当前图像确定将要由机器人代理执行的动作的下一序列,所述下一图像预测神经网络基于当前动作和将要由机器人代理执行的动作预测未来图像,其中,下一序列是来自多个候选序列中的下述候选序列:所述序列如果由机器人代理从环境处于当前状态时开始执行,则最有可能导致一个或多个对象被移动到相应的目标位置,其中所述多个候选序列中的每一个包括H个动作;以及其中,确定动作的所述下一序列包括:针对所述多个候选序列中的每个:针对包括H个动作的所述候选序列中的第一动作,将第一动作和表征环境的当前状态的当前图像作为输入提供到下一图像预测神经网络,并且使用下一图像预测神经网络处理第一动作和当前图像以生成第一下一图像,其中如果机器人代理在环境处于当前状态时首先执行第一动作则该第一下一图像是环境的预测的下一状态的图像,其中生成第一下一图像包括生成第一流图,该第一流图给出第一下一图像中的每个像素来自当前图像中的每个像素的概率,对于包括H个动作的候选序列中第一动作之后的每个特定动作,将i所述特定动作以及ii由下一图像预测神经网络生成的用于在前动作的在前下一图像作为输入提供到下一图像预测神经网络,并且使用下一图像预测神经网络处理所述特定动作和在前下一图像以生成新的下一图像,其中如果机器人代理执行所述特定动作则该新的下一图像是环境的预测的下一状态的图像,其中,生成所述新的下一图像包括生成新的流图,该新的流图给出所述新的下一图像中的每个像素来自所述在前下一图像中的每个像素的概率,使用所述下一图像预测神经网络获得针对所述H个动作的候选序列中的最终下一图像的最终流图,其中如果机器人代理执行候选序列中的所有H个动作则该最终下一图像是环境的预测的最终状态的图像,所述最终流图给出所述最终下一图像中的每个像素来自表征环境的当前状态的当前图像中的每个像素的概率,以及基于最终流图和目标位置确定由机器人代理执行候选序列中的所有H个动作将导致所述一个或多个对象移动到所述最终下一图像中的相应的目标位置的概率,以及从所述多个候选序列中选择具有最高概率的候选序列作为动作的所述下一序列,以及指示机器人代理执行动作的所述下一序列,其中,所述下一图像预测神经网络被配置为接收至少当前图像和输入动作作为输入,并且处理所述输入以生成下一图像,其中如果机器人代理在所述环境处于当前状态时执行所述输入动作则该下一图像是环境的预测的下一状态的图像。

全文数据:用于机器人代理的控制策略对相关申请的交叉引用本申请要求于2016年9月15日提交的、序列号为62395,329的美国临时申请的优先权。该在先申请的公开内容被认为是本申请的公开内容的一部分并且通过引用并入本申请的公开内容中。技术领域本说明书涉及选择将要由机器人代理执行的动作。背景技术机器人代理通过下述与环境交互:接收表征环境的状态的数据,并且作为响应、执行动作以便尝试执行机器人任务。一些机器人代理使用神经网络来选择响应于接收到任何给定观察observation而要执行的动作。神经网络是采用一层或多层的非线性单元来预测针对所接收到的输入的输出的机器学习模型。一些神经网络是除了输出层之外还包括一个或多个隐藏层的深度神经网络。每个隐藏层的输出被用作网络中的下一层即,下一隐藏层或输出层的输入。网络的每个层根据相应的参数集的当前值来从接收到的输入生成输出。发明内容本说明书描述了被实施为一个或多个位置中的一个或多个计算机上的计算机程序的系统可以如何选择将要由机器人代理执行的动作。通常,一个创新方面可以体现在一种方法中,该方法包括:接收数据,该数据针对一个或多个对象中的每个来识别与真实世界环境交互的机器人代理应当将该对象移动到的相应的目标位置。该方法还包括通过重复地执行下述来使得机器人代理将一个或多个对象移动到一个或多个目标位置:接收真实世界环境的当前状态的当前图像;使用基于当前动作和将要由机器人代理执行的动作预测未来图像的下一图像预测神经网络来根据当前图像确定将要由机器人代理执行的动作的下一序列,其中,下一序列是多个序列候选中的下述序列,该序列如果由机器人代理从环境处于当前状态时开始执行,则最有可能导致一个或多个对象被移动到相应的目标位置;以及指示directing机器人代理执行动作的下一序列。当前图像可以是由机器人代理的相机捕获的图像。指示机器人代理执行动作的下一序列可以包括:指示机器人代理中断由机器人代理正在执行的动作的当前序列并且开始执行动作的下一序列。该方法还可以包括:针对向用户的呈现,提供允许用户指定要移动的对象和目标位置的用户界面。下一图像预测神经网络可以是已经被训练为进行下述的递归神经网络:接收至少当前图像和输入动作作为输入,并且处理该输入以生成下一图像,如果机器人代理在环境处于当前状态时执行输入动作,则该下一图像是环境的预测的下一状态的图像。作为生成下一图像的一部分,递归神经网络生成流图flowmap,该流图针对下一图像中的多个像素中的每个,识别该像素从当前图像中的多个像素中的每个移动的相应的预测似然性likelihood。确定动作的下一序列可以包括:使用由下一图像预测神经网络生成的流图,针对候选序列中的每个来确定由机器人代理执行该候选序列中的动作将会导致对象被移动到目标位置的相应的似然性。确定动作的下一序列可以包括确定描绘当前位于环境中的一个或多个对象的当前图像中的一个或多个像素。针对给定候选序列确定相应的似然性可以包括递归地将序列中的动作和由神经网络针对动作生成的下一图像作为输入而馈送到神经网络。该方法可以进一步包括从可能的动作序列的分布中采样候选序列。采样候选序列可以包括:使用交叉熵cross-entropy技术执行多次采样迭代。另一创新方面可以体现在存储下述指令的一个或多个计算机和一个或多个存储设备中:该指令当由一个或多个计算机运行时,使得一个或多个计算机执行上述方法的操作。另一创新方面可以体现在采用下述指令编码的一个或多个非暂时性存储介质中:该指令当由一个或多个计算机运行时,使得一个或多个计算机执行上述方法的操作。可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。通过使用学习的预测模型和基于模型预测控制MPC的控制器的组合来选择将要由机器人代理执行的动作,本说明书中描述的系统允许机器人仅使用整个entirely未标记unlabeled的训练数据来将对象有效地移动到目标位置,即,不需要使用额外的计算资源来标记训练图像或不需要由用户来标记训练图像。此外,本文中描述的技术不需要校准的相机、仪器化的instrumented训练设置以及机器人代理的精确感测和致动。另外,所描述的技术使得机器人能够处理在下一图像预测神经网络的训练期间未见的新novel对象,从而允许本说明书中描述的技术更好地推广到不同的任务和对象。在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。根据描述、附图和权利要求,主题的其他特征、方面和优点将变得明显。附图说明图1是机器人操纵系统的示例的框图。图2是用于使得机器人代理将对象移动到目标位置的示例处理的流程图。图3是用于确定由机器人代理执行的动作的下一序列,以便将对象移动到目标位置的示例处理的流程图。在各个附图中相同的附图标记和标示designation指代相同的元件。具体实施方式图1是机器人操纵系统100的示例的框图。系统100是被实施为一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中,可以实施以下描述的系统、组件和技术。通常,系统100被配置为选择由与真实世界环境104交互的机器人代理102要执行的动作,使得代理102将一个或多个对象从环境104中的相应的初始位置移动到环境104中的相应的最终位置。具体地,系统100包括控制器106,控制器106被配置为接收数据112,数据112针对真实世界环境104中的一个或多个对象中的每个来识别机器人代理102应当将该对象移动到的相应的目标位置,例如目标位置114。在一些实施方式中,系统100可以针对向用户的呈现,提供允许用户指定要移动的一个或多个对象以及目标位置的用户界面。例如,用户可以在初始图像中指定源像素,该源像素描绘当前位于环境104中的对象,然后指定源像素应该移动到的位置,即初始图像中的另一个像素。初始图像可以由机器人代理102的相机捕获并且表征环境104的初始状态。例如,初始图像示出被放置在矩形托盘中的杯子。用户可以指定属于图像中的杯子的源像素,然后指定源像素应当被移动到的图像中的目标位置,例如,接近矩形托盘的一个角落的位置。采用该目标规范goalspecification,系统100可以控制机器人代理以将杯子移动到矩形托盘的指定角落。在一些其他实施方式中,系统可以从一个或多个其他系统例如,一个或多个其他机器人系统接收数据,而不是从用户接收识别要移动的对象和目标位置的数据。然后,控制器106使用学习的预测模型108来控制机器人代理102以朝向目标位置114移动对象。学习的预测模型108包括下一图像预测神经网络110。下一图像预测神经网络110已经被训练为接收环境104的当前状态的当前图像和输入动作作为输入。输入动作可以是,例如,朝向目标位置推动对象或者旋转对象。然后,神经网络110处理所接收的输入以生成下一图像,如果机器人代理在环境处于当前状态时执行输入动作,则该下一图像是环境的预测的下一状态的图像。作为生成下一图像的一部分,神经网络110生成流图,该流图针对下一图像中的多个像素中的每个,识别该像素从当前的图像中的多个像素中的每个移动的相应的预测似然性。下一图像预测神经网络110的示例是递归神经网络,该递归神经网络包括卷积长短期记忆LSTM神经网络层、一个或多个卷积神经网络层和一组归一化卷积内核的堆叠。卷积LSTM神经网络层类似于常规LSTM神经网络层,然而,卷积LSTM神经网络层的门gate通过卷积而不是完全连接的神经网络层来实施。在X.Shi等人的“Convolutionallstmneuralnetwork:Amachinelearningapproachforprecipitationnowcasting卷积LSTM网络:用于降水临近预报的机器学习方法”NIPS,2015中更详细地描述了卷积LSTM神经网络层。在C.Finn、I.Goodfellow和S.Levine等人的“Unsupervisedlearningforphysicalinteractionthroughvideoprediction用于通过视频预测进行物理交互的无监督学习”,NeuralInformationProcessingSystems神经信息处理系统,NIPS,2016中更详细地描述了神经网络110的以上示例。在给定时间步骤、给定目标位置114,控制器106使得机器人代理102将对象移动到目标位置。使得机器人代理102将对象移动到目标位置包括重复地执行如以下参考图2详细描述的处理200,直到对象到达目标位置。例如,控制器106接收表征环境104的当前状态的当前图像116,然后使用学习的预测模型108来确定由机器人代理102要执行的动作的下一序列118,以便将对象移动到目标位置114。以下参考图3更详细地描述使用学习的预测模型108来确定动作的下一序列。然后,控制器106指示机器人代理102执行动作的下一序列118。如果机器人代理正在执行动作的当前序列,则控制器106使得机器人代理102中断正在执行的动作的当前序列,并且使得机器人代理102开始执行动作的下一序列118。在代理102执行动作的下一序列118中的一个或多个动作之后,控制器106可以接收表征环境的新状态的新图像。控制器106采用新图像来更新当前图像116,然后继续确定动作的另外的下一序列。控制器106可以重复地确定动作的下一序列,直到已经确定了预定数量的下一序列或者直到机器人代理102已经成功地将对象移动到目标位置114。图2是用于使得机器人代理将对象移动到真实世界环境中的目标位置的示例处理的流程图。为了方便,处理200将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的机器人操纵系统例如图1的机器人操纵系统100或者机器人操纵系统的组件例如图1的控制器106可以执行处理200。系统接收真实世界环境的当前状态的当前图像,例如,如由机器人代理的相机所捕获地步骤202。如果当前图像是描绘初始地位于真实世界环境中的对象的初始图像It即,描绘了真实世界环境的初始状态,则目标是将初始图像It中的单个指定像素dt=xd,yd移动到初始图像It中的目标位置g=xg,yg。如果当前图像不是初始图像,例如,如果当前图像是描绘真实世界环境的下一状态的下一图像It+1,则系统可以——例如,通过使用从图像观察It:t+1和dt计算的光流——将指定像素从dt更新为dt+1。假定目标不改变,则目标位置g=xg,yg在由系统预测的下一图像中保持相同。系统根据当前图像并且使用学习的预测模型确定将要由机器人代理执行的动作的下一序列,以便将对象移动到目标位置步骤204。下一序列是多个候选序列中的下述序列,该序列如果由机器人代理从环境处于当前状态时开始执行,则最有可能导致对象被移动到目标位置。例如,系统使用学习的预测模型来确定H个未来动作的下一序列,该H个未来动作的下一序列如果由机器人代理执行则将最有可能导致指定的像素dt被移动到目标位置g。下面参考图3更详细地描述确定动作的下一序列。然后,系统指示机器人代理执行动作的下一序列步骤206。如果机器人代理正在执行动作的当前序列,则系统可以使得机器人代理中断正在执行的动作的当前序列,并且替代地instead使得代理开始执行动作的下一序列。在代理已经执行动作的下一序列中的第一动作之后,系统接收表征环境的新状态的新图像。在一些实施方式中,系统可以仅在机器人代理已经执行动作的下一序列中的预定数量1的动作之后接收新图像。例如,系统指示代理执行所确定的动作的下一序列。在代理执行序列中的动作之后,系统接收新图像It+1。然后,系统例如通过使用从图像观察It:t+1和dt计算的光流来将指定像素从dt更新为dt+1。然后,系统使用学习的预测模型来基于新指定的源像素It+1和目标位置g,确定将要由机器人代理执行的动作的新的下一序列。然后,系统指示机器人代理中断正在执行的动作的下一序列,并且开始执行动作的新的下一序列中的一个或多个动作。在机器人代理已经执行动作的新的下一序列中的第一动作之后,系统可以接收真实世界环境的新状态的新图像并且更新指定的像素。在一些实施方式中,系统可以仅在机器人代理已经执行动作的新的下一序列中的若干动作之后,接收新图像并且更新指定的像素。系统可以重复地执行步骤202-206,直到机器人代理成功地将对象移动到目标位置。图3是用于确定将要由机器人代理执行的动作的下一序列,以便将对象移动到目标位置的示例处理300的流程图。为了方便,处理300将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的机器人操纵系统例如图1的机器人操纵系统100可以执行处理300。通常,处理300包括使用交叉熵技术对候选动作序列进行多次采样迭代。通常,交叉熵技术涉及迭代过程,其中,每个迭代可以分解为两个阶段:a根据指定的机制生成随机数据样本,以及b基于该数据更新指定的机制的参数,以便在下一迭代中产生更好的样本。首先,在给定时间步骤t,系统初始化可以由机器人代理执行的一组可能的动作序列的分布,以便将对象移动到目标位置步骤302。初始化分布可以是例如均匀分布。可能的动作序列中的每个具有相同的长度,例如,每个序列具有H个动作。该系统还指定了针对采样候选动作序列所需的迭代数量JJ1。换句话说,J是系统需要重复地执行如下所述的步骤304-308的次数。J可以由系统的用户指定。然后,系统从分布中采样M个候选动作序列步骤304。例如,在第一迭代中,系统从初始化均匀分布中采样长度为H的M个动作序列接下来,系统使用学习的预测模型来针对M个候选序列中的每个来确定由机器人代理执行候选序列中的动作将会导致对象被移动到目标位置——例如,导致当前图像It中的指定像素dt被移动到当前图像It中的目标位置g=xg,yg——的相应概率步骤306。学习的预测模型包括作为递归神经网络的下一图像预测神经网络。具体地,针对M个候选序列中的每个,系统首先将候选序列中的第一动作和表征环境的当前状态的当前图像作为输入馈送到下一图像预测神经网络。然后,下一图像预测神经网络处理输入以生成第一下一图像,如果机器人代理在环境处于当前状态时首先执行第一动作,则该第一下一图像是环境的预测的下一状态的图像。作为生成第一下一图像的一部分,下一图像预测神经网络生成第一流图,该第一流图针对第一下一图像中的多个像素中的每个,识别该像素从当前图像中的多个像素中的每个移动的相应的预测概率例如,似然性。然后,系统将在序列中的第一动作之后的第二动作以及由下一图像预测神经网络生成的第一下一图像作为输入馈送到下一图像预测神经网络。然后,下一图像预测神经网络处理输入以生成第二下一图像,如果机器人代理执行第二动作,则该第二下一图像是环境的预测的下一状态的图像。在生成第二下一图像时,下一图像预测神经网络生成第二流图,该第二流图针对第二下一图像中的多个像素中的每个,识别该像素从当前图像中的多个像素中的每个移动的相应概率。系统递归地将序列中的后续的动作和由神经网络针对动作生成的下一图像作为输入馈送到图像预测神经网络,并且神经网络重复地处理输入以生成下一图像和相对应的流图,直到已经处理了动作序列中的所有动作。在每个步骤生成的流图给出了下一图像中的每个像素来自于当前图像中的每个像素的概率。在已经处理了序列中的最后一个动作之后,系统现在使用图像预测神经网络确定最终流图,该最终流图针对最终下一图像It+H-1中的多个像素中的每个识别从当前图像It中的多个像素中的每个移动到最终下一图像It+H-1的像素的相应概率。换言之,最终流图提供了最终下一图像It+H-1中的每个像素来自于当前图像It中的每个像素的概率。然后,系统基于最终流图和目标位置g=xg,yg在由下一图像预测神经网络生成的任何下一图像中保持相同来确定如果代理执行候选序列中的动作则在当前图像It中的指定的像素dt将会被移动到最终下一图像中的目标位置g的概率。在系统已经针对M个候选序列中的每个确定了相应的概率之后,系统从M个候选动作序列中选择具有最高概率的K个候选动作序列步骤308。然后,系统确定针对采样K个候选动作序列即,步骤304-308的迭代数量是否已达到指定的J次迭代步骤310。如果迭代数量未达到J,则系统将新分布拟合到所选择的K个候选动作序列步骤312。即,系统确定拟合所选择的K个候选动作序列的新分布。新分布可以是例如多变量高斯分布。然后,系统重复步骤304-312,即:从新分布中重新采样新的一组M个动作序列,确定针对M个候选序列中的每个的相应的概率,从M个候选序列中选择K个候选动作序列,以及重新拟合新分布,直到系统完成J次迭代。在最后一次迭代结束时,系统从K个候选动作序列中选择下述动作序列,该动作序列具有执行该序列中的动作将导致对象朝向目标位置移动的最高概率步骤314。然后,系统使得机器人代理执行所选择的动作序列中的一个或多个动作,以便将对象朝向目标位置移动步骤316。系统可以指示机器人代理中断正在执行的动作的当前序列并且开始执行所选择的动作序列。鉴于以上描述,将意识到,本文中所描述的系统和方法可以提供一个或多个优点。例如,系统可以允许机器人代理使用仅使用整个未标记的训练数据训练的神经网络有效地将对象移动到目标位置。此外,系统可以允许机器人代理使用更简化的设置来移动对象,在简化的设置中,可以不需要校准的相机、仪器化的训练设置和或机器人代理的精确感测和致动。所描述的技术还可以使得机器人代理能够处理在下一图像预测神经网络的训练期间未见的新对象,从而拓宽了系统的潜在效用。本说明书使用与系统和计算机程序组件有关的术语“配置为configured”。对于被配置为执行特定操作或动作的一个或多个计算机的系统意味着系统已经在其上安装了软件、固件、硬件或它们的组合,其在操作中使得系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序意味着包括指令的一个或多个程序,该指令当由数据处理装置执行时使得装置执行操作或动作。本说明书中描述的主题和功能操作的实施例可以实施在数字电子电路中、有形体现的计算机软件或固件中、计算机硬件中,包括:本说明书中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序——即,在有形非暂时性存储介质上编码的计算机程序指令的一个或多个模块——以用于由数据处理装置运行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或者它们中的一个或多个的组合。替代地或另外地,程序指令可以在人工生成的传播信号上编码例如,机器生成的电、光或电磁信号,其被生成为对信息进行编码以便传输到合适的接收器设备以供数据处理装置运行。术语“数据处理装置”指代数据处理硬件并且包含用于处理数据的所有种类的装置、设备和机器,例如包括:可编程处理器、计算机或者多个处理器或计算机。该装置还可以是或者进一步包括专用逻辑电路,例如FPGA现场可编程门阵列或ASIC专用集成电路。除了硬件之外,该装置可以可选地包括为计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者它们的一个或多个的组合的代码。计算机程序——也可以被称为或描述为程序、软件、软件应用程序、应用app、模块、软件模块、脚本或代码——可以以任何形式的编程语言编写,包括编译或解释语言或者声明或程序语言;并且可以以任何形式部署,包括部署为独立程序或模块、组件、子例程或适合于在计算环境中使用的其他单元。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中例如,存储在标记语言文档中的一个或多个脚本、存储在专用于所讨论的程序的单个文件中或者存储在多个协调文件中例如,存储一个或多个模块、子程序或代码部分的文件。计算机程序可以被部署为运行在一个计算机上、或者在位于一个站点上或分布在多个站点上并且通过数据通信网络互连的多个计算机上。本说明书中描述的处理和逻辑流可以由一个或多个可编程计算机执行,该一个或多个可编程计算机运行一个或多个计算机程序以通过操作输入数据并且生成输出来执行功能。处理和逻辑流也可以由专用逻辑电路例如FPGA或ASIC或者专用逻辑电路和一个或多个编程计算机的组合来执行。适合于运行计算机程序的计算机可以基于通用或专用微处理器或两者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将:包括一个或多个大容量存储设备,或者可操作地耦合为从一个或多个大容量存储设备接收数据或者从一个或多个大容量存储设备传送数据或者两者,该一个或多个大容量存储设备用于存储数据,例如,磁盘、磁光盘或光盘。然而,计算机不必需具有这样的设备。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理PDA、移动音频或视频播放器、游戏控制台、全球定位系统GPS接收器或便携式存储设备例如,通用串行总线USB闪存驱动器等等。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括:半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。为了提供与用户的交互,本说明书中描述的主题的实施例可以实施在以下计算机上,该计算机具有:用于向用户显示信息的显示设备,例如,CRT阴极射线管或LCD液晶显示器监视器;以及通过其用户可以向计算机提供输入的键盘和指点设备,例如,例如,鼠标或轨迹球。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;以及可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过向由用户使用的设备发送文档和从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求将web页面发送到用户设备上的web浏览器。另外,计算机可以通过向个人设备例如,运行消息收发应用程序的智能电话发送文本消息或其他形式的消息并且从用户接收响应消息作为回报来与用户交互。用于实施机器学习模型的数据处理装置还可以包括:例如,专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即,推断,工作负载。可以使用机器学习框架例如,TensorFlow框架、MicrosoftCognitiveToolkitMicrosoft认知工具包框架、ApacheSinga框架或ApacheMXNet框架来实施和部署机器学习模型,例如,预测模型。本说明书中描述的主题的实施例可以实施在下述计算系统中:包括后端组件的计算系统例如,作为数据服务器、包括中间件组件的计算系统例如应用服务器、或包括前端组件的计算系统例如,具有通过其用户可以与在本说明书中所描述的主题的实施方式交互的图形用户界面、web浏览器或应用的客户端计算机或者一个或多个这样的后端组件、中间件组件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信例如通信网络互连。通信网络的示例包括局域网LAN和广域网WAN,例如因特网。计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于运行在相应的计算机上并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据例如,HTML页面发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从其接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。虽然本说明书包含许多具体实施方式细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是应解释为可以特定于具体发明的具体实施例的特征的描述。在单独实施例的上下文中、在本说明书中描述的某些特征也可以实施在单个实施例的组合中。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合实施在多个实施例中。此外,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中除去来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。类似地,虽然在附图中描绘了操作并且在权利要求中以特定顺序叙述了操作,但是这不应该被理解为:为了实现理想的效果要求以所示的特定顺序或按顺序的次序执行这些操作,或者执行所有示出的操作。在某些情形下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或顺序次序来实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。

权利要求:1.一种方法,包括:接收数据,所述数据针对一个或多个对象中的每个来识别与真实世界环境交互的机器人代理应当将所述对象移动到的相应的目标位置;以及通过重复地执行下述来使得机器人代理将所述一个或多个对象移动到所述一个或多个目标位置:接收真实世界环境的当前状态的当前图像;使用基于当前动作和将要由机器人代理执行的动作预测未来图像的下一图像预测神经网络来根据当前图像确定将要由机器人代理执行的动作的下一序列,其中,下一序列是多个候选序列中的下述序列,所述序列如果由机器人代理从环境处于当前状态时开始执行,则最有可能导致一个或多个对象被移动到相应的目标位置;以及指示机器人代理执行动作的下一序列。2.根据权利要求1所述的方法,其中,所述当前图像是由机器人代理的相机捕获的图像。3.根据权利要求1或2中任一项所述的方法,还包括:针对向用户的呈现,提供允许用户指定要移动的对象和目标位置的用户界面。4.根据权利要求1至3中任一项所述的方法,其中,指示机器人代理执行动作的下一序列包括:指示机器人代理中断由机器人代理正在执行的动作的当前序列并且开始执行动作的下一序列。5.根据权利要求1至4中任一项所述的方法,其中,所述下一图像预测神经网络是已经被训练为进行下述的递归神经网络:接收至少当前图像和输入动作作为输入,以及处理所述输入以生成下一图像,如果机器人代理在环境处于当前状态时执行输入动作,则所述下一图像是环境的预测的下一状态的图像,以及其中,作为生成下一图像的一部分,递归神经网络生成流图,所述流图针对下一图像中的多个像素中的每个,识别所述像素从当前图像中的多个像素中的每个移动的相应的预测似然性。6.根据权利要求5所述的方法,其中,所述确定动作的下一序列包括:使用由下一图像预测神经网络生成的流图,针对候选序列中的每个来确定由机器人代理执行所述候选序列中的动作将会导致对象被移动到目标位置的相应的似然性。7.根据权利要求6所述的方法,其中,所述确定动作的下一序列包括:确定描绘当前位于环境中的所述一个或多个对象的当前图像中的一个或多个像素。8.根据权利要求6或7所述的方法,其中,所述针对给定候选序列确定相应的似然性包括递归地将序列中的动作和由神经网络针对动作生成的下一图像作为输入而馈送到神经网络。9.根据权利要求1至8中任一项所述的方法,进一步包括:从可能的动作序列的分布中采样候选序列。10.根据权利要求9所述的方法,其中,所述采样候选序列包括:使用交叉熵技术执行多次采样迭代。11.存储有指令的一个或多个计算机和一个或多个存储设备,所述指令当由所述一个或多个计算机运行时,使得所述一个或多个计算机执行根据权利要求1至10中的任一项所述的相应方法的操作。12.采用指令编码的一个或多个计算机存储介质中,所述指令当由一个或多个计算机运行时,使得所述一个或多个计算机执行根据权利要求1至10中的任一项所述的相应方法的操作。13.计算机可读指令,所述指令当由一个或多个计算机运行时,使得所述一个或多个计算机执行根据权利要求1至10中的任一项所述的方法的操作。

百度查询: 谷歌有限责任公司 用于机器人代理的控制策略

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。