CN109844771A - 用于机器人代理的控制策略 - Google Patents

用于机器人代理的控制策略 Download PDF

Info

Publication number
CN109844771A
CN109844771A CN201780063614.6A CN201780063614A CN109844771A CN 109844771 A CN109844771 A CN 109844771A CN 201780063614 A CN201780063614 A CN 201780063614A CN 109844771 A CN109844771 A CN 109844771A
Authority
CN
China
Prior art keywords
sequence
movement
robot agent
image
moved
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780063614.6A
Other languages
English (en)
Other versions
CN109844771B (zh
Inventor
C.B.芬恩
S.V.莱文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN109844771A publication Critical patent/CN109844771A/zh
Application granted granted Critical
Publication of CN109844771B publication Critical patent/CN109844771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

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

Description

用于机器人代理的控制策略
对相关申请的交叉引用
本申请要求于2016年9月15日提交的、序列号为62/395,329的美国临时申请的优先权。该在先申请的公开内容被认为是本申请的公开内容的一部分并且通过引用并入本申请的公开内容中。
技术领域
本说明书涉及选择将要由机器人代理执行的动作。
背景技术
机器人代理通过下述与环境交互:接收表征环境的状态的数据,并且作为响应、执行动作以便尝试执行机器人任务。一些机器人代理使用神经网络来选择响应于接收到任何给定观察(observation)而要执行的动作。
神经网络是采用一层或多层的非线性单元来预测针对所接收到的输入的输出的机器学习模型。一些神经网络是除了输出层之外还包括一个或多个隐藏层的深度神经网络。每个隐藏层的输出被用作网络中的下一层(即,下一隐藏层或输出层)的输入。网络的每个层根据相应的参数集的当前值来从接收到的输入生成输出。
发明内容
本说明书描述了被实施为一个或多个位置中的一个或多个计算机上的计算机程序的系统可以如何选择将要由机器人代理执行的动作。
通常,一个创新方面可以体现在一种方法中,该方法包括:接收数据,该数据针对一个或多个对象中的每个来识别与真实世界环境交互的机器人代理应当将该对象移动到的相应的目标位置。该方法还包括通过重复地执行下述来使得机器人代理将一个或多个对象移动到一个或多个目标位置:接收真实世界环境的当前状态的当前图像;使用基于当前动作和将要由机器人代理执行的动作预测未来图像的下一图像预测神经网络来根据当前图像确定将要由机器人代理执行的动作的下一序列,其中,下一序列是多个序列候选中的下述序列,该序列如果由机器人代理从环境处于当前状态时开始执行,则最有可能导致一个或多个对象被移动到相应的目标位置;以及指示(directing)机器人代理执行动作的下一序列。当前图像可以是由机器人代理的相机捕获的图像。
指示机器人代理执行动作的下一序列可以包括:指示机器人代理中断由机器人代理正在执行的动作的当前序列并且开始执行动作的下一序列。
该方法还可以包括:针对向用户的呈现,提供允许用户指定要移动的对象和目标位置的用户界面。
下一图像预测神经网络可以是已经被训练为进行下述的递归神经网络:接收至少当前图像和输入动作作为输入,并且处理该输入以生成下一图像,如果机器人代理在环境处于当前状态时执行输入动作,则该下一图像是环境的预测的下一状态的图像。作为生成下一图像的一部分,递归神经网络生成流图(flow map),该流图针对下一图像中的多个像素中的每个,识别该像素从当前图像中的多个像素中的每个移动的相应的预测似然性(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的初始状态。
例如,初始图像示出被放置在矩形托盘中的杯子。用户可以指定属于图像中的杯子的源像素,然后指定源像素应当被移动到的图像中的目标位置,例如,接近矩形托盘的一个角落的位置。采用该目标规范(goal specification),系统100可以控制机器人代理以将杯子移动到矩形托盘的指定角落。在一些其他实施方式中,系统可以从一个或多个其他系统(例如,一个或多个其他机器人系统)接收数据,而不是从用户接收识别要移动的对象和目标位置的数据。
然后,控制器106使用学习的预测模型108来控制机器人代理102以朝向目标位置114移动对象。
学习的预测模型108包括下一图像预测神经网络110。下一图像预测神经网络110已经被训练为接收环境104的当前状态的当前图像和输入动作作为输入。输入动作可以是,例如,朝向目标位置推动对象或者旋转对象。然后,神经网络110处理所接收的输入以生成下一图像,如果机器人代理在环境处于当前状态时执行输入动作,则该下一图像是环境的预测的下一状态的图像。作为生成下一图像的一部分,神经网络110生成流图,该流图针对下一图像中的多个像素中的每个,识别该像素从当前的图像中的多个像素中的每个移动的相应的预测似然性。
下一图像预测神经网络110的示例是递归神经网络,该递归神经网络包括卷积长短期记忆(LSTM)神经网络层、一个或多个卷积神经网络层和一组归一化卷积内核的堆叠。卷积LSTM神经网络层类似于常规LSTM神经网络层,然而,卷积LSTM神经网络层的门(gate)通过卷积而不是完全连接的神经网络层来实施。在X.Shi等人的“Convolutional lstmneural network:A machine learning approach for precipitation nowcasting(卷积LSTM网络:用于降水临近预报的机器学习方法)”NIPS,2015中更详细地描述了卷积LSTM神经网络层。在C.Finn、I.Goodfellow和S.Levine等人的“Unsupervised learning forphysical interaction through video prediction(用于通过视频预测进行物理交互的无监督学习)”,Neural Information Processing Systems(神经信息处理系统,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个动作。该系统还指定了针对采样候选动作序列所需的迭代数量J(J>1)。换句话说,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框架、Microsoft Cognitive Toolkit(Microsoft认知工具包)框架、Apache Singa框架或Apache MXNet框架)来实施和部署机器学习模型,例如,预测模型。
本说明书中描述的主题的实施例可以实施在下述计算系统中:包括后端组件的计算系统(例如,作为数据服务器)、包括中间件组件的计算系统(例如应用服务器)、或包括前端组件的计算系统(例如,具有通过其用户可以与在本说明书中所描述的主题的实施方式交互的图形用户界面、web浏览器或应用的客户端计算机)或者一个或多个这样的后端组件、中间件组件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于运行在相应的计算机上并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从其接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体实施方式细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是应解释为可以特定于具体发明的具体实施例的特征的描述。在单独实施例的上下文中、在本说明书中描述的某些特征也可以实施在单个实施例的组合中。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合实施在多个实施例中。此外,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中除去来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中描绘了操作并且在权利要求中以特定顺序叙述了操作,但是这不应该被理解为:为了实现理想的效果要求以所示的特定顺序或按顺序的次序执行这些操作,或者执行所有示出的操作。在某些情形下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或顺序次序来实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。

Claims (13)

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中的任一项所述的方法的操作。
CN201780063614.6A 2016-09-15 2017-09-15 用于机器人代理的控制策略 Active CN109844771B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662395329P 2016-09-15 2016-09-15
US62/395,329 2016-09-15
PCT/US2017/051751 WO2018053246A1 (en) 2016-09-15 2017-09-15 Control policies for robotic agents

Publications (2)

Publication Number Publication Date
CN109844771A true CN109844771A (zh) 2019-06-04
CN109844771B CN109844771B (zh) 2024-04-23

Family

ID=59997455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780063614.6A Active CN109844771B (zh) 2016-09-15 2017-09-15 用于机器人代理的控制策略

Country Status (6)

Country Link
US (2) US11853876B2 (zh)
EP (1) EP3497628A1 (zh)
JP (1) JP6952767B2 (zh)
KR (1) KR102590411B1 (zh)
CN (1) CN109844771B (zh)
WO (1) WO2018053246A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11604941B1 (en) * 2017-10-27 2023-03-14 Deepmind Technologies Limited Training action-selection neural networks from demonstrations using multiple losses
JP7122821B2 (ja) * 2017-12-15 2022-08-22 川崎重工業株式会社 ロボットシステム及びロボット制御方法
US20210034969A1 (en) * 2018-03-09 2021-02-04 Deepmind Technologies Limited Training an unsupervised memory-based prediction system to learn compressed representations of an environment
US11518040B2 (en) 2018-07-27 2022-12-06 Autodesk, Inc. Generative design techniques for robot behavior
US20200151576A1 (en) * 2018-11-08 2020-05-14 Uber Technologies, Inc. Training adaptable neural networks based on evolvability search
KR102313160B1 (ko) * 2019-05-31 2021-10-19 동국대학교 산학협력단 동작 정보를 이용한 고해상도 동영상 생성 방법 및 장치
JP7295421B2 (ja) * 2019-08-22 2023-06-21 オムロン株式会社 制御装置及び制御方法
US11685045B1 (en) * 2019-09-09 2023-06-27 X Development Llc Asynchronous robotic control using most recently selected robotic action data
CN112669612B (zh) * 2019-10-15 2023-03-28 阿里巴巴集团控股有限公司 图像录制、回放方法、装置及计算机系统
CN110721470B (zh) * 2019-10-25 2022-11-11 网易(杭州)网络有限公司 虚拟对象移动行为的控制方法、装置及电子设备
JP7449770B2 (ja) * 2020-04-28 2024-03-14 三菱重工業株式会社 端末、制御システム、制御方法及びプログラム
CN113807460B (zh) * 2021-09-27 2024-05-14 北京地平线机器人技术研发有限公司 智能体动作的确定方法和装置、电子设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002059384A (ja) * 2000-08-22 2002-02-26 Sony Corp ロボットのための学習システム及び学習方法
US20050240412A1 (en) * 2004-04-07 2005-10-27 Masahiro Fujita Robot behavior control system and method, and robot apparatus
CN101266689A (zh) * 2008-04-23 2008-09-17 北京中星微电子有限公司 一种运动目标检测方法及装置
CN101625734A (zh) * 2008-07-09 2010-01-13 索尼株式会社 学习设备、学习方法和程序
CN101624097A (zh) * 2009-05-27 2010-01-13 北京航空航天大学 自由基座对接器的自主最优轨迹跟踪设计方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3210473B2 (ja) * 1993-03-11 2001-09-17 株式会社東芝 ビジュアルフィードバック制御装置
US5805733A (en) * 1994-12-12 1998-09-08 Apple Computer, Inc. Method and system for detecting scenes and summarizing video sequences
JP2003080484A (ja) * 2001-09-07 2003-03-18 Tomy Co Ltd 動作反応玩具
US8150151B2 (en) * 2005-05-12 2012-04-03 Bracco Imaging S.P.A. Method for coding pixels or voxels of a digital image and a method for processing digital images
TWI388956B (zh) * 2009-05-20 2013-03-11 Univ Nat Taiwan Science Tech 行動機器人與其目標物處理路徑的規劃方法
KR101677634B1 (ko) * 2010-07-12 2016-11-18 엘지전자 주식회사 로봇 청소기 및 이의 제어 방법
US8761933B2 (en) * 2011-08-02 2014-06-24 Microsoft Corporation Finding a called party
JP2013120465A (ja) * 2011-12-07 2013-06-17 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
US9463571B2 (en) * 2013-11-01 2016-10-11 Brian Corporation Apparatus and methods for online training of robots
WO2015192263A1 (en) * 2014-06-16 2015-12-23 Xiaoou Tang A method and a system for face verification
US9811756B2 (en) * 2015-02-23 2017-11-07 Mitsubishi Electric Research Laboratories, Inc. Method for labeling images of street scenes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002059384A (ja) * 2000-08-22 2002-02-26 Sony Corp ロボットのための学習システム及び学習方法
US20050240412A1 (en) * 2004-04-07 2005-10-27 Masahiro Fujita Robot behavior control system and method, and robot apparatus
CN101266689A (zh) * 2008-04-23 2008-09-17 北京中星微电子有限公司 一种运动目标检测方法及装置
CN101625734A (zh) * 2008-07-09 2010-01-13 索尼株式会社 学习设备、学习方法和程序
CN101624097A (zh) * 2009-05-27 2010-01-13 北京航空航天大学 自由基座对接器的自主最优轨迹跟踪设计方法

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
FASOLA等: "FAST GOAL NAVIGATION WITH OBSTACLE AVOIDANCE USING A DYNAMICLOCAL VISUAL MODEL", 《VII SBAI / II IEEE LARS. SÃO LUÍS, SETEMBRO DE 2005》 *
FASOLA等: "FAST GOAL NAVIGATION WITH OBSTACLE AVOIDANCE USING A DYNAMICLOCAL VISUAL MODEL", 《VII SBAI / II IEEE LARS. SÃO LUÍS, SETEMBRO DE 2005》, 31 December 2005 (2005-12-31), pages 1 - 6 *
JACOB WALKER: "Dense Optical Flow Prediction from a Static Image", 《2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV)》 *
JACOB WALKER: "Dense Optical Flow Prediction from a Static Image", 《2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV)》, 31 December 2015 (2015-12-31), pages 2443 - 2450 *
M.WATTER ET AL: "Embed to Control : A Locally Linear Latent Dynamics Model for Control from Raw Images", 《COMPUTER SCIENCE》 *
MASAFUMI TOMINAGA: "Image Sequence Prediction for Remote Robot Control", 《2006 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS》 *
MASAFUMI TOMINAGA: "Image Sequence Prediction for Remote Robot Control", 《2006 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS》, 15 October 2006 (2006-10-15), pages 1134 - 1139 *
ZHENGTAO ZHANG: "Visual Measurement and Prediction of Ball Trajectory for Table Tennis Robot", 《IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT》 *
ZHENGTAO ZHANG: "Visual Measurement and Prediction of Ball Trajectory for Table Tennis Robot", 《IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT》, 31 December 2010 (2010-12-31), pages 3195 - 3203 *
周云龙;陈飞;刘川;: "基于图像处理和Elman神经网络的气液两相流流型识别", 中国电机工程学报, no. 29 *

Also Published As

Publication number Publication date
EP3497628A1 (en) 2019-06-19
JP6952767B2 (ja) 2021-10-20
KR20190044683A (ko) 2019-04-30
US20240078429A1 (en) 2024-03-07
CN109844771B (zh) 2024-04-23
JP2019530925A (ja) 2019-10-24
US20190251437A1 (en) 2019-08-15
US11853876B2 (en) 2023-12-26
KR102590411B1 (ko) 2023-10-17
WO2018053246A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
CN109844771A (zh) 用于机器人代理的控制策略
EP3593294B1 (en) Training action selection neural networks using apprenticeship
US10664725B2 (en) Data-efficient reinforcement learning for continuous control tasks
CN108027897B (zh) 利用深度强化学习的连续控制
CN110114784B (zh) 递归环境预测器及其方法
CN111727441A (zh) 实现用于高效学习的条件神经过程的神经网络系统
EP3400558A1 (en) Reinforcement learning using advantage estimates
JP2018526733A (ja) 強化学習ニューラルネットワークのトレーニング
EP3596663A1 (en) Neural network system
US11636347B2 (en) Action selection using interaction history graphs
US20210158162A1 (en) Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space
CN108885712B (zh) 神经编程
CN110168574A (zh) 中间强化学习目标的无监督的检测
EP3593293A1 (en) Imagination-based agent neural networks
US20220092456A1 (en) Controlling an agent to explore an environment using observation likelihoods
JP7354460B2 (ja) ブートストラップされた潜在性の予測を使用するエージェント制御のための学習環境表現
US11875258B1 (en) Selecting reinforcement learning actions using a low-level controller
CN110235149A (zh) 神经情节控制
US20240185082A1 (en) Imitation learning based on prediction of outcomes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant