CN111971691A - 表示物理***的图神经网络 - Google Patents

表示物理***的图神经网络 Download PDF

Info

Publication number
CN111971691A
CN111971691A CN201980025463.4A CN201980025463A CN111971691A CN 111971691 A CN111971691 A CN 111971691A CN 201980025463 A CN201980025463 A CN 201980025463A CN 111971691 A CN111971691 A CN 111971691A
Authority
CN
China
Prior art keywords
graph
neural network
input
output
physical system
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.)
Pending
Application number
CN201980025463.4A
Other languages
English (en)
Inventor
M.里德米勒
R.T.哈德塞尔
P.W.巴塔格里亚
J.梅雷尔
J.斯普林根伯格
A.桑切兹
N.M.O.希斯
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.)
DeepMind Technologies Ltd
Original Assignee
DeepMind Technologies Ltd
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 DeepMind Technologies Ltd filed Critical DeepMind Technologies Ltd
Publication of CN111971691A publication Critical patent/CN111971691A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06N3/042Knowledge-based neural networks; Logical representations of neural 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/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • 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/08Learning methods
    • G06N3/092Reinforcement learning
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

一种图神经网络***,其实现用于理解和控制物理***的可学习的物理引擎。所述物理***被认为由通过关节耦合的主体组成并由静态图和动态图表示。图处理神经网络处理输入图,例如静态图和动态图,以提供输出图,例如预测的动态图。所述图处理神经网络是可微分的并且可以被用于控制和/或强化学习。经训练的图神经网络***可以被应用于具有相似但新的图结构的物理***(零样本学习)。

Description

表示物理***的图神经网络
相关申请的交叉引用
本申请要求于2018年4月12日提交的美国临时申请第62/656,904号的优先权,该申请通过引用并入。
背景技术
本说明书涉及表示物理***(physical system)的神经网络。
神经网络是机器学习模型,其使用一层或多层非线性单元来预测接收到的输入的输出。一些神经网络除输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层,即下一个隐藏层或输出层,的输入。网络的每一层根据相应的参数集的当前值从接收到的输入生成输出。
一些神经网络表示并处理包括由边连接的节点的图结构;图可以是多图,其中节点可以通过多个边连接。节点和边可以具有相关联的节点特征和边特征;这些可以使用节点函数和边函数来更新,这些函数可以由神经网络实现。
发明内容
本说明书描述了一种神经网络***,该神经网络***被实现为在一个或多个位置的一个或多个计算机上的计算机程序,用于处理表示物理***的数据。神经网络***可以被用于推断物理***的静态和/或动态特性。神经网络***可以通过观察物理***来学习推断这些特性。在一些实施方式中,神经网络***可以被用于做出在控制任务(例如,强化学习任务)中使用的关于物理***的预测。物理***可以是真实的或模拟的物理***。
因此,一方面,神经网络***包括用于接收表征物理***的物理***数据以及动作数据的输入部。物理***,无论是真实的还是模拟的,都被视为由通过关节耦合的主体组成。物理***数据至少包括(用于)表示物理***的主体的运动的动态数据。因此,动态数据可以包括表示物理***的瞬时或动态状态的数据。动作数据表示应用于物理***的一个或多个动作;这些动作可以被认为是应用于物理***的关节。
在实施方式中,神经网络***包括图处理神经网络(子***),其包括至少一个图网络块,该图网络块耦合到输入并被训练以处理输入图以提供输出图。输入图和输出图各自具有包括节点和边的图结构,节点与物理***的主体对应,而边与物理***的关节对应。输入图具有包括表示动态数据的输入图节点特征的输入图节点,并且具有包括表示动作数据的输入图边特征的输入图边。输出图具有包括输出图节点特征的输出图节点和包括输出图边特征的输出图边。在实施方式中,至少输出图节点特征可以与输入图节点特征不同。输出图节点特征包括用于推断物理***的静态特性或动态状态的特征,并且神经网络***具有提供推断出的静态特性或动态状态的输出部。
因此,在一些实施方式中,图网络块接受第一输入图并提供第二输出图。输入和输出图具有相同的结构,但是可以具有不同的节点特征和/或边缘特征,和/或在被实现时具有不同的全局特征。相应的特征由特征向量定义。图网络块可以包括控制图处理的控制器,如稍后所述。
对于每个主体,动态数据可以包括位置数据、朝向数据、线速度或角速度数据以及加速度数据中的一个或多个。数据可以被以1、2或3维定义,并且可以包括绝对和/或相对观察。一些主体可以不提供动态数据,例如,如果它们是固定的。动作数据可以包括例如与关节处的动作相关联的线性力或角向力或加速度数据,和/或其它控制数据(例如马达电流)。
动态数据可以直接或间接输入。例如,在一些情况下,动态数据可以由物理***(例如,机器人)提供。在其它情况下,动态数据可以从对物理***的观察得出,例如,从静止和/或移动图像和/或对象位置数据和/或其它传感器数据(例如,感测到的电子信号,诸如马达电流或电压;致动器位置信号等)得出。
输入和输出图的结构可以由图结构数据定义,图结构数据可以在生成输出图的特征时由(一个或多个)图处理神经网络层使用;或者图结构可以在数据处理中是隐式的。可以指定图结构的节点和边,以表示物理***的主体和关节。
输入到图网络块或***的数据可以被标准化,例如,标准化到零均值和/或单位方差。特别地,动态数据可以被标准化。相同的标准化可以应用于图的所有节点/边。对应的逆标准化可以被应用于从图网络块或从***输出的数据。来自推断的静态图(参见下文)的数据无需被标准化。
在实施方式中,图网络块通过使用边神经网络处理输入图的边特征来处理输入图,以确定输出图的边特征。对于每条边,边神经网络可以从所述边连接的节点的特征以及从所述边接收输入。可以采用相同的边神经网络来处理所有输入图边。边可以是从发送方到接收方节点的有向边;边方向可以指示一个主体对另一个主体的预期物理影响。可替代地,边可以是双向的;双向边可以由两个相反方向的单向边表示。
在实施方式中,一旦确定了输出边特征,就确定了输出节点特征。这可以包括针对每个节点聚合连接到该节点的边的输出图边特征。在边是有向的情况下,可以聚集所有入站边的特征。聚合边特征可以包括对边特征求和。然后可以提供节点的节点特征连同该节点的聚合的边特征,作为到节点神经网络的输入,以确定该节点的输出图节点特征。可以采用相同的节点神经网络来处理所有输入图节点。
图处理神经网络还可以确定输出图的全局特征向量。全局特征向量可以提供输出图节点和/或边特征的集体状态(collective state)的表示。因此,图处理神经网络可以包括全局特征神经网络,该全局特征神经网络接收聚合的(例如求和的)输出图节点特征和/或聚合的(例如求和的)输出图边特征作为输入,并提供全局特征向量输出。可选地,全局特征神经网络还可以具有来自从先前的图处理神经网络层输出的全局特征向量的输入。
物理***数据可以包括表示物理***的主体和/或关节的静态特性的静态数据。输入图可以包括动态图和静态图的组合,动态图包括表示动态数据的输入图节点特征和表示动作数据的输入图边特征,静态图包括表示物理***的主体和/或关节的静态特性的输入图节点和/或边特征。
输出图节点/边/全局特征可以定义物理***的静态或动态特性。例如,在一些实施方式中,神经网络***可以被实现为前向预测模型,其中,给定***的当前动态状态,特别是给定一个或多个动作的动作数据,输出图节点特征定义了***的预测的未来动态状态。因此,输出图节点特征可以定义与提供给输入部的相同动态数据的一些或全部,作为绝对值数据或作为从输入的改变。由***做出的前向预测可以包括对单个时间步的预测或在多个时间步上的展开(rollout)预测。每个预测可以被用作下一个预测的起点,可选地与动作数据结合。
在一些前向模型实施方式中,图网络块是多个图处理神经网络层之一,在这种情况下,输出图节点特征可以提供***的预测的未来动态状态的中间的、潜在表示,其将由一个或多个后续层处理,以确定***的预测的未来动态状态。
在一些实施方式中,图处理神经网络层可以被用于推断物理***的一个或多个静态特性,然后其可以被一个或多个另外的图网络块使用以推断物理***的预测的未来动态状态。在一些实施方式中,输出图包括推断的静态特性的潜在表示。
物理***的静态特性可以包括假设随时间不变的特性。静态特性可以包括节点特征,诸如以下中的一项或多项:主体中的一个或多个的质量;主体中的一个或多个的转动惯量(惯性张量);以及一个或多个静态主体的位置或朝向。静态特性可以包括边特征,诸如边中的一个或多个的边方向,其表示通过关节连接的主体的父子关系,以及用于关节中的一个或多个的关节特性。关节特性可以指示例如关节是否具有致动器(诸如马达)、致动器的类型、致动器的特点以及关节的特点(诸如刚度、范围等)。
在一些实施方式中,采用静态图来编码物理***的静态特性,并采用另外的动态图来编码***的动态特性,其节点和边特征如前所述。输入到***的全局特征向量可以编码物理***或其环境的全局特征,例如重力、(物理***嵌入在其中的流体的)粘度,或时间。
在前向预测神经网络***中,为了预测物理***的未来动态状态,输入图可以是动态图和静态图的组合。可以通过将两个图相应的边、节点以及在存在的情况下将全局特征级联来级联这两个图。静态图可以由输入数据定义或从物理***的观察推断,如下文更详细描述的。在推断出静态图的情况下,静态图可以包括物理***的静态特性的潜在表示。
前向预测神经网络***可以包括两个或更多个图网络块。第一图网络块可以处理组合的输入图以提供具有物理***的潜在表示的潜图(latent graph),然后一个或多个后续图网络块可以处理潜图以提供输出图。输出图可以具有表示物理***的预测的未来动态状态的节点特征。可以将潜图与输入图组合,例如,如前所述那样级联,以便为第一图网络块提供跳跃连接(skipconnection)。
在一些实施方式中,一个例如第一图网络块可以是循环(recurrent)图神经网络处理层——即,边神经网络、节点神经网络和全局特征神经网络中的一个或多个可以包括循环神经网络,诸如GRU(门控循环单元)神经网络。输入图然后可以包括动态图、静态图和隐藏图的组合(级联)。可以从循环图网络块的循环连接导出隐藏图,循环图网络块可以提供输出图,例如,第一层输出图,包括诸如潜图和更新后的隐藏图的图的组合。输出图可以包括这些图的特征的级联,其可以被拆分(“图拆分”)以提取更新后的隐藏图,以用于循环连接返回到输入。可以将潜图提供给下一个图网络块。
如上所述的前向预测神经网络***可以在依照控制信号的情况下利用物理***的示例观察使用监督训练来进行训练。在训练期间,可以将噪声添加到输入图,特别是动态图,以促进***在推断期间重新组装非物理断开的关节。
在一些实施方式中,神经网络***可以被配置为根据观察来推断或“识别”特性,特别是物理***的静态特性。然后可以将推断出的特性提供给前向预测神经网络***,以预测物理***的进一步的动态状态。这种***可以采用循环图神经网络处理层来处理物理***的观察序列,以生成提供静态特性的表示的输出图,该表示可以是潜在表示。
因此,用于识别物理***的静态特性的***标识神经网络***可以具有被配置为接收用于定义输入图序列的时间步序列的动态数据和动作数据的输入部。对于每个时间步,输入图包括动态图和隐藏图的组合。动态图具有表示时间步的动态数据的节点特征和表示时间步的动作数据的边特征。因此,图网络块可以是推断而不是预测图网络块。图网络块处理输入图的序列,以便为每个时间步确定表示物理***的静态特性的输出图和更新后的隐藏图的组合。更新后的隐藏图被拆分,以提将下一个时间步将隐藏图提供给输入部。在时间步序列之后,输出图包括***标识图,其中输出图节点特征包括物理***的主体和/或关节的静态特性的表示。
***标识神经网络***可以与前向预测神经网络***结合使用或与之分开使用。因此,***标识神经网络***可以包括一个或多个另外的图网络块,这些图网络块被配置为接收***标识图和动态图的级联,动态图具有表示观察时间的动态数据的节点特征和表示观察时间的动作数据的边特征。然后,一个或多个另外的图网络块可以处理级联以提供动态状态预测图,该动态状态预测图具有表示在比观察时间晚的时间的物理***的动态状态的节点特征。
***标识神经网络***可以用前向预测神经网络***端到端地训练。例如,***标识神经网络***可以被提供随机选择的物理***的观察序列,然后组合的***可以被提供表示在某个时间步(与序列中的那些不同)和后续时间步的物理***的监督训练示例。
如上所述的神经网络***可以被用于根据推断出的物理***的动态状态来提供用于控制物理***的动作控制信号。例如,神经网络***可以被包括在模型预测控制(MPC)***中,以预测物理***的状态或轨迹,以供控制算法控制物理***时使用,例如以最大化奖励和/或最小化从物理***的未来动态状态预测的成本。
因此,描述了一种用于控制物理***的控制***,该控制***包括如上所述的神经网络***(例如,预训练的),以及控制器,该控制器被配置为使用神经网络***来预测物理***的一个或多个未来状态,用于控制要应用于物理***的动作,例如,经由指示要执行的动作的一个或多个动作选择输出。
在另一个示例中,神经网络***可以被包括在强化学习***中,例如以根据物理***的预测的未来动态状态来估计未来的折扣奖励。因此,强化学习***可以具有用于选择要由物理***执行的动作的动作选择策略神经网络。可以通过从策略分布采样来选择动作,或者可以由动作选择策略神经网络确定性地提供动作。可以根据旨在最大化动作价值的策略梯度来确定策略。如上所述的神经网络***可以被用于估计动作价值,例如通过预测响应于该动作的物理***的未来状态。
因此,描述了一种用于控制物理***的强化学习***,该强化学习***包括如上所述的神经网络***。强化学习***可以被配置为使用神经网络***来学习动作选择策略,用于选择要应用于物理***的动作,例如经由指示要执行的动作的一个或多个动作选择输出。
还描述了一种训练如上所述的神经网络***的方法,该方法包括提供训练数据,该训练数据表示物理***在某个时间步的动态状态、所应用的动作以及物理***在下一个时间步的下一个动态状态的示例;以及训练神经网络***以推断物理***的下一个动态状态。还可以训练神经网络***以推断物理***的一个或多个静态特性。
物理***可以是任何真实和/或模拟的物理***。例如,物理***可以包括真实或模拟的机器人、或真实或模拟的自主或半自主车辆、或采用任何类型的机器人运动的设备,或具有移动部分的任何物理***。表示物理***的主体的运动的动态数据可以以任何方式导出,例如从静止或移动图像、和/或感测到的位置或速度数据,和/或从其它数据导出。
在一些实施方式中,神经网络***可以被用作模拟***或游戏中或自主或引导的推理或决策***中的物理引擎。
所描述的神经网络***的一些实施方式提供了对物理***的行为的非常准确的预测,在一些情况下与地面真实(ground truth)几乎无法区分。因此,这进而促进了物理***的更好、更准确的控制,并可能在强化学习环境中更快地学习。
因为要求保护的***由所描述的图网络块组成,因此***可以快速学习准确的预测,这进而促进在训练期间使用较少的数据/存储器以及总体上减少的处理能力。该***的一些实施方式也能够从它们学到的示例泛化到其它物理***,甚至是它们以前从未见过的***。因此,该***的一些实施方式具有更高的灵活性,这进而允许它们可以跨多个物理***变体工作而无需重新训练。因此,当要求***对多个不同物理***的状态进行预测时,***使用较少的计算资源,例如,处理能力和存储器,因为在将***应用于新的物理***之前不需要对其进行重新训练。
由于图网络块的体系架构,***的一些实施方式可以推断观察到的物理***的特性,而无需用户明确定义。这使得***能够与物理***一起工作,其中,如实际物理***通常的情况那样,在所述物理***中特性只部分可观察。例如,***的实施方式能够推断诸如机器人关节刚度或肢体质量/惯性之类的特性。
一般而言,***的实施方式可以是准确的、健壮的和可泛化的,因此可以用于挑战性的物理环境中的计划和控制。
附图说明
图1a和1b示出了用于处理表示物理***的数据的示例神经网络***,以及图神经网络块的示例。
图2图示了示例图神经网络块的操作。
图3a和3b示出了图处理神经网络预测***的第一和第二示例。
图4a和4b示出了推断物理***的静态特性的示例神经网络***400,以及示例图处理神经网络推断***。
图5示出了用于使用神经网络***对物理***的未来动态状态进行单步预测的过程。
图6示出了用于使用神经网络***来推断物理***的静态特性的过程。
图7示出了用于训练图处理神经网络预测***的示例过程。
图8示出了用于训练神经网络***的示例过程,该神经网络***包括图处理神经网络推断***。
图9示出了用于使用图处理神经网络预测***来控制物理***的示例控制***。
图10示出了示例模型预测控制(Model Predictive Control,MPC)过程。
图11示出了用于使用包括图处理神经网络预测***的强化学习***来控制物理***的示例控制***。
在各个附图中,相同的附图标记和名称指示相同的元件。
具体实施方式
图1a示出了示例神经网络***100,用于处理表示物理***102的数据。神经网络***100是被实现为在一个或多个位置的一个或多个计算机上的计算机程序的***的示例,其中可以实现以下描述的***、组件和技术。
神经网络***100接收被格式化为一个或多个输入图104的物理***数据,下文将进一步解释,并处理该数据以提供包括用于推断***的静态或动态特性的数据的输出。如图1a中所示,神经网络***100包括图处理神经网络预测***106,以预测物理***102的未来动态状态。图处理神经网络预测***106包括一个或多个图神经网络块110,其处理(一个或多个)输入图以提供用于输出图108的数据,该输出图108定义物理***102的未来动态状态。神经网络***100可以包括训练引擎120,以训练图处理神经网络预测***106,稍后将进行描述。
可以使用来自真实或模拟的物理***的数据来训练神经网络***100,然后神经网络***100可以从输入图所表示的当前状态来预测物理***的未来动态状态。在一些实施方式中,可以在模拟的物理***上对其进行训练,然后将其用于对对应的真实物理***进行预测,反之亦然。
在实施方式中,输入图表示物理***的结构,例如,输入图的节点表示物理***的主体,并且输入图的边表示主体之间的关节或其它交互。一般而言,主体是连接的,但这不是必需的。例如,主体可以是机器人***的一部分,但是也可以包括由***操纵的对象。没有明确分开的主体的物理***(例如,软机器人)可以通过使用主体和它们之间的关节的集合近似***来表示。
在一些实施方式中,可以使用来自一个真实或模拟的物理***的数据来训练神经网络***100,然后将神经网络***100用于预测由相同的图结构表示的不同的真实或模拟的物理***或者甚至是由不同的图结构表示的相似的物理***的未来动态状态。
如稍后所述,在实施方式中,图神经网络块110将相同的学习到的函数应用于图的所有节点,并且类似地用于边,这些函数因此可以应用于不同结构的图。这些函数学习物理***的主体之间的共享动力学。对图的所有节点/边应用相同的函数提高了训练数据的使用效率,因为需要的学习较少,底层假设是由图表示的节点/边遵循相似的物理逻辑。图网络方法在不同物理***之间进行泛化的能力还有助于减少计算资源、存储器需求和训练时间,而这些在其它情况下是需要的。
物理***的未来动态状态的预测可以被用于预测物理***的前向轨迹。这本身可以是有用的,例如,用于预测目标是否正在接近或***操作区域(例如,安全区域)将被保持还是破坏。物理***的未来动态状态的预测也可以用于控制目的,例如在MPC(模型预测控制)***中的例如基于模型的计划和控制;或用于例如在强化学习***中在学习连续或离散动作选择策略时估计策略梯度。该***的一些实施方式也可以被用于(隐式地)推断物理***的参数,例如主体的质量,例如在这些仅部分可观察或未知的情况下。
参考图1b,其示出了图神经网络块110的示例。这个块接受输入有向图G,该输入有向图G包括节点特征的集合
Figure BDA0002720494450000101
其中Nn为节点的数量并且每个ni为节点特征的向量;有向边特征的集合
Figure BDA0002720494450000102
其中Ne为边的数量并且每个ej为边特征的向量,并且sj和rj分别是发送方和接收方节点的索引;以及全局特征的向量g。在实施方式中,物理***的静态和动态特性用单独的相应的图Gs和Gd表示。
在实施方式中,静态图Gs包含与物理***的参数相关的静态数据,例如表示物理***的主体和/或关节的静态特性。这样的静态信息可以包括例如一个或多个全局参数,诸如当前时间步、重力或物理***在其中操作的流体的粘度;每个主体/节点的参数,诸如主体质量或惯性张量;以及每个关节/边的参数,诸如边方向、关节类型和/或特性数据、和/或马达类型和/或特性数据。
在实施方式中,动态图Gd包含用于表示物理***的主体的运动的动态数据。因此,动态图可以包括与物理***的瞬时状态相关的信息。对于每个主体/节点,这可以包括以下中的一项或多项:3D,例如笛卡尔位置;朝向,例如4D四元数朝向或正弦和余弦关节角;以及3D线速度和/或3D角速度。对于每个关节/边,动态图还可以包括应用于关节的一个或多个动作的量值,例如,作为力、加速度、转矩、速度目标、马达电压或电流等。动作还可以包括控制导航的动作,例如车辆的转向、移动、制动和/或加速。
未使用的参数,例如未向其施加力的关节,可以被设置为零。在实施方式中,由于边是有方向的,因此每条边可以被复制,并且标记特征,例如±1,可以被用于指示方向。
可以通过图级联(concatenation),即,通过级联它们的边、节点和全局特征,来组合两个图。类似地,可以通过拆分一个图的边、节点和全局特征来拆分图,以形成具有相同结构的两个新图。
图神经网络块110处理输入图G=(g,{ni},{ej,sj,rj})以确定输出图
Figure BDA0002720494450000103
Figure BDA0002720494450000104
一般而言,尽管不是必需,但输入图和输出图可以具有不同的特征。在实施方式中,输入图包括静态图和动态图Gs和Gd的组合,例如级联。
图神经网络块110具有三个子函数,即,按边的函数fe、按节点的函数fn和全局函数fg。这些中的每一个都是用不同的相应神经网络,即具有不同参数(权重)的神经网络,即分别是边神经网络、节点神经网络和全局特征网络,实现的。在变体中,可以省略一些特征和/或更新。
在一些实施方式中,这些函数中的每一个都用相应的多层感知器(multi-layerperceptron,MLP)来实现。在一些实施方式中,可以使用循环神经网络来实现这些函数中的一个或多个。在这种情况下(未示出),函数,即循环神经网络,将附加的隐藏状态作为输入并提供更新后的隐藏状态作为输出。这可以被看作是图神经网络块110处理输入图G和隐藏图Gh以提供输出图G*和更新后的隐藏图
Figure BDA0002720494450000111
可替代地,输入图可以被看作包括隐藏图。输入图和隐藏图可以被组合,例如使用GRU(Gated Recurrent Unit,门控循环单元)样式或LSTM(Long Short-Term Memory,长短期记忆)样式门控方案。
在实施方式中,图神经网络块110被配置为通过首先应用按边的函数fe来更新所有边(在每个指定方向上)、然后应用按节点的函数fn来更新所有节点、最后应用全局函数fg来更新全局特征来处理输入图。
图2图示了示例图神经网络块110的操作。在步骤200处,对于每条边{ej,sj,rj},该过程使用边神经网络来搜集发送方和接收方节点特征
Figure BDA0002720494450000112
并计算输出边向量,
Figure BDA0002720494450000113
然后在步骤202处,对于每个节点{ni},该过程使用聚合函数来聚合作为接收方的节点的边向量,以确定聚合的边特征
Figure BDA0002720494450000114
的集合。聚合函数关于边向量的置换应当是不变的。例如,它可以包括确定均值、最大值或最小值。在一些实施方式中,聚合函数可以包括按元素的求和,例如,对于每条边,
Figure BDA0002720494450000115
其中rj=i。然后,使用节点神经网络,
Figure BDA0002720494450000116
计算输出节点向量
Figure BDA0002720494450000117
最后,在步骤204处,该过程聚合所有的边和节点向量,例如通过按元素的求和:
Figure BDA0002720494450000118
Figure BDA0002720494450000119
并且使用全局特征神经网络,
Figure BDA00027204944500001110
计算全局特征向量g。
图3a示出了用于神经网络***100的图处理神经网络预测***106的第一示例。在图3a中,块GN1和GN2中的每一个包括如前所述的图神经网络块110。GN1和GN2的参数是不共享的,并且两个GN块以“深度”体系架构顺序操作。第一图神经网络块GN1接收输入图G并且输出包括物理***的潜在表示的潜图(latent graph)G′。将潜图G′与输入图G级联,实现可选的图跳跃连接,并将级联的结果作为输入提供给图神经网络块GN2,GN2提供输出图G*。在实施方式中,输入图包括针对时间步的静态图Gs和动态图和Gd的组合,例如级联,并且输出图G*定义物理***的下一个动态状态。即,输出图包含关于下一个时间步处的物理***的预测状态的信息,诸如预测动态图的节点的任何或所有特征的值的信息(下一个动态状态)。在实施方式中,GN1和GN2被联合训练,将在稍后描述。
在实施方式中,使用两个顺序图神经网络块为一些物理***提供了显著的性能好处,因为来自GN1的全局输出g′允许所有边和节点彼此通信。通过跨整个图传播这样的依赖性,这有助于对一些结构中存在的长距离依赖性进行建模。但是,在不使用全局输出的情况下,用图块的更深堆栈可以获得相似的好处。类似地,不必每个图块都更新节点和边两者。
图3b示出了用于神经网络***100的图处理神经网络预测***106的第二示例。在图3b中,块GN1和GN2分别包括循环和非循环图神经网络块110,每个都如前所述。在该示例中,循环块GN1为边、节点和全局特征神经网络中的一个或多个实现GRU循环神经网络,其输入包括隐藏图Gh以及静态和动态图Gs和Gd的级联,并且输出包括更新后的隐藏图
Figure BDA0002720494450000121
以及G*。在使用中,循环图处理神经网络预测***106设有表示物理***的动态状态序列的输入图序列,并提供预测物理***的下一个动态状态的输出图。
图2中所示的图处理神经网络预测***106可以由稍后描述的输入和输出标准化块包裹(图2中未示出)。
在实施方式中,训练用于神经网络***100的图处理神经网络预测***106以预测动态状态差异,并且为了计算绝对状态预测,用预测的状态差异更新输入状态。为了生成长距离展开(rollout)轨迹,绝对状态预测和动作,例如外部指定的控制输入,被迭代地反馈到预测***106中。在实施方式中,将对预测***106的输入数据进行标准化,并且将来自预测***106的输出数据进行逆标准化。
在一些应用中,可能部分或完全缺少静态数据。在这样的情况下,可以从对物理***的行为的观察推断静态数据。
图4a示出了示例神经网络***400,其将物理***的静态特性推断为***标识图Gid414。***标识图414是潜图,即,它定义静态特性的潜在表示,并且使该隐式表示对图处理神经网络预测***106可用,代替静态图Gs。***标识图Gid可以编码诸如主体和关节的质量和几何形状之类的特性。
在图4a中,来自物理***102的数据404定义动态图序列Gd,即,针对T个时间步序列中的每个时间步的动态图。这被提供给图处理神经网络推断***410,该***包括一个或多个图神经网络块412,其处理动态图序列以在T个时间步之后提供***标识图Gid=G*(T)作为输出。***标识图Gid被与输入的动态图Gd组合(例如,级联)并被提供给图处理神经网络预测***106,图处理神经网络预测***106如前所述操作以预测物理***的下一个动态状态。与Gid组合的输入动态图Gd可以是序列的动态图,例如序列的最后一个图,或对于某个时间步的任何其它动态图。
神经网络***400可以包括训练引擎420,以训练图处理神经网络推断***410和图处理神经网络预测***106两者,如稍后所述。训练鼓励图处理神经网络推断***410从输入的动态图序列提取静态特性。在联合训练期间,神经网络***400学习从观察到的特征的行为推断物理***的未观察到的特性,并使用它们进行更准确的预测。
图4b示出了示例图处理神经网络推断***410,其使用循环图神经网络块GNp。其输入级联的动态状态图Gd和隐藏图Gh,并输出被拆分为输出图G*和更新后的隐藏图
Figure BDA0002720494450000131
的图。
图5示出了将图1a的神经网络***100与图3a或3b所示的预测***一起使用的过程,用于对物理***102的未来动态状态进行单步预测。作为预备步骤500,该过程如前所述输入物理***的静态参数并构建静态图Gs。可替代地,可以使用***标识图Gid。在步骤502处,该处理输入定义时间t处的物理***的动态状态的数据xt和定义应用于关节(边)的动作的数据at。然后,该过程使用xt来构建动态图节点
Figure BDA0002720494450000132
并使用at来构建动态图边
Figure BDA0002720494450000133
并且从节点和边构建动态图Gd。然后将静态图和动态图被级联,以提供输入图Gi=concat(Gs,Gd)(步骤504)。
然后,该过程可以使用输入标准化来标准化输入图,
Figure BDA0002720494450000134
输入标准化可以执行线性变换,以针对全局、节点和边特征中的每一个产生零均值、单位方差分布。对于节点/边特征,可以将相同的变换应用于图中的所有节点/边,而无需对于图中的不同主体/边具有特定的标准化器参数。这允许针对图中不同数量和类型的节点/边重用相同的标准化器参数。
然后在步骤506处,由第一预测***图网络块(例如,GN1或G-GRU)处理标准化的输入图
Figure BDA0002720494450000141
以提供包括物理***的潜在表示的潜图,例如
Figure BDA0002720494450000142
Figure BDA0002720494450000143
然后潜图被与输入图级联(图跳跃连接),并被第二预测***图网络块(例如,GN2)处理以获得输出图,即,预测的动态图
Figure BDA0002720494450000144
(步骤508)。在一些实施方式中,不是预测绝对动态状态,而是通过训练输出图来预测动态状态的改变(输出图的节点特征是从
Figure BDA0002720494450000145
Figure BDA0002720494450000146
的增量值,
Figure BDA0002720494450000147
)。
然后,该过程根据输出图确定物理***的预测的未来动态状态(步骤510)。在实施方式中,这涉及获得输出图的增量节点特征的值
Figure BDA0002720494450000148
可选地应用逆输出标准化以获得预测的增量动态节点值,
Figure BDA0002720494450000149
通过用预测的增量动态节点值ΔNd更新动态图节点
Figure BDA00027204944500001410
来获得时间t+1的动态节点特征的值,然后提取预测的下一个动态状态xt+1的一个或多个值。应用于输出图节点的逆标准化允许图处理神经网络预测***106向输出节点提供零均值和单位方差。更新输入xt可以包括位置和线速度/角速度的对应改变的相加。对于朝向,输出节点值可以表示输入朝向与下一个朝向之间的旋转四元数(强制具有单位范数),并且可以用汉密尔顿(Hamilton)积来计算更新。
在神经网络***100使用图3b中所示的循环预测***的情况下,过程基本相同,但是对第一预测***图网络块的输入包括隐藏图Gh,而第一预测***图网络块提供包括潜图和更新后的隐藏图
Figure BDA00027204944500001411
的第一层输出图。因此,该过程可以包括将隐藏图Gh初始化为例如空状态,并可选地针对多个时间步进行处理以“预热”这个初始状态。在一些实施方式中,该过程将T个动态图的序列作为输入,然后预测在序列结束之后的下一个时间步处的动态图。可以迭代地重复此过程以预测每个相继时间步的动态图。
图6示出了用于使用图4a的神经网络***400来推断物理***102的静态特性并且将推断出的特性用于未来动态状态的单步预测的过程。在一些实施方式中,神经网络***400输入物理***的***状态和一个或多个动作的集合(即,动态图)以及同一物理***的观察到的***状态和动作的序列。为了生成展开轨迹,***标识(即,***标识图Gid的生成)仅需要执行一次,因为相同的Gid可以被用于生成轨迹的单步预测中的每一个。
因此,该过程输入物理***的动态状态的序列xseq以及所应用的对应动作aseq的数据(步骤600)。然后,该过程构建动态图序列
Figure BDA0002720494450000151
并将输入的隐藏图Gh初始化为例如空状态(步骤602)。然后使用循环图处理神经网络推断***GNp(例如,如图4b中所示)处理序列中的每个图(步骤604)。这可以涉及对序列
Figure BDA0002720494450000152
的每个动态图
Figure BDA0002720494450000153
进行输入标准化,将标准化的图与当前的隐藏图进行级联,以及处理级联的图以确定更新后的隐藏图和输出图Go,例如,Go,
Figure BDA0002720494450000154
Figure BDA0002720494450000155
最终的输出图可以被用作***标识图Gid=Go。一旦已经确定了***标识图Gid(已经标准化),它就可以代替静态图Gs被提供给图处理神经网络预测***106(步骤606),并且所述过程继续图5的步骤502。因此,预测***106可以被提供在某个稍后的时间步t处的动态图,以如先前那样预测下一个动态状态xt+1的一个或多个值。
图7示出了用于训练如图1a和2a中所示的图处理神经网络预测***106的示例训练过程;相似的过程可以与图2b的预测***106一起使用。可以更改图7中所示的步骤的次序。该过程使用从物理***的示例、或者如先前描述的从相似的物理***、或者从多个不同的物理***捕获的训练数据。训练数据可以表示***的随机运动和/或训练数据可以包括表示执行任务的***的数据,诸如来自执行任务(诸如抓握或其它任务)的机器人的数据。
最初,该过程如先前所述从物理***的参数构建静态图Gs(步骤700)。对于一批次训练动态状态中的每个示例,该过程还根据定义当前时间步t处物理***的动态状态的数据xt和定义应用于关节的动作的数据at来构建输入动态图Gd(如前面参考图5所述)。对于每个示例,该过程还根据定义时间t+1处的动态状态的数据xt+1构建输出动态图节点
Figure BDA0002720494450000156
的集合(步骤702)。在实施方式中,该过程将噪声(例如,随机法线噪声)加到输入动态图节点
Figure BDA0002720494450000157
这有助于***学习将关节略有错位的物理***表示放回到一起,这进而有助于实现较小的展开误差。然后,该过程通过将相应的输入动态图Gd和静态图Gs进行级联来为每个示例构建输入图Gi(步骤702)。
然后,该处理根据输出动态图节点,即,根据下一个时间步处***的动态状态,确定输出图的目标节点值(步骤704)。在实施方式中,这些目标节点值包括节点特征值从时间t到t+1的改变,ΔN′d。该过程还可以更新输入和输出标准化参数(步骤706)。这可以涉及累积关于输入边、节点和全局特征的分布的信息,以及关于节点动态状态的改变的分布的信息。所述信息可以包括计数、求和和平方和,用于估计每个特征的均值和标准偏差。因此,该过程可以为图处理神经网络预测***106更新输入标准化的参数Normin和/或输出标准化的参数Normout
然后,该过程获得标准化的输入图
Figure BDA0002720494450000161
并使用图处理神经网络预测***106对其进行处理以获得输出图的(标准化的)增量节点特征的预测值,
Figure BDA0002720494450000162
对于图3a的示例是根据
Figure BDA0002720494450000163
(步骤708)。该过程还获得标准化的目标节点值
Figure BDA0002720494450000164
(步骤710)。
然后根据输出图的(标准化的)增量节点特征的预测值
Figure BDA0002720494450000165
和标准化的目标节点值
Figure BDA0002720494450000166
确定预测损耗(例如,表示这些值之间的差异)。在实施方式中,损耗包括标准化的预期的和预测的增量节点的特征的值之间的L2范数(L2-norm)(欧几里得距离)。这些特征可以包括例如位置和/或线/角速度的增量值(改变)。标准化可以帮助平衡不同函数之间的相对权重。当朝向由四元数q表示(q和–q表示相同的朝向)时,可以通过使损耗1-cos2(qe·qp)最小化来使预测的旋转四元数qp与预期的(实际的)旋转四元数qe之间的角距离最小。然后,通过使用例如具有用于稳定性的可选梯度裁剪的ADAM(Adaptive Moment Estimation,自适应矩估计)的标准技术反向传播损耗函数的梯度以调整***的参数(权重)来训练图处理神经网络预测***106(步骤712)。
在使用循环图处理神经网络预测***106的情况下(图2b),训练是相似的,但是训练批次的每个示例可以包括表示物理***的状态序列的动态图序列,并且可以使用教师强制(teacher forcing)方法来训练循环***。例如,对于长度为T的序列(例如,T=21),序列中的前T-1个动态图被用作输入图,而序列中的后T-1个图被用作目标图。在训练期间,循环***被用于顺序地处理输入图,在每一步产生预测的动态图(其被存储)以及图状态(隐藏图),图状态将在下一次迭代中与下一个输入图一起被提供。在处理完整个序列之后,将预测的动态图和目标图的序列一起使用以计算损耗。
图8示出了用于训练神经网络***400的示例训练过程,该神经网络***400包括如图4a和4b中所示的图处理神经网络推断***410。在实施方式中,***被端到端地训练,即,推断***410和预测***106被串联训练。在实施方式中,训练使用物理***的一批次的状态序列,例如,一批次100步序列,每个序列包括物理***的动态状态的序列xseq和所应用的对应动作aseq
对于批次中的每个序列,过程挑选随机的n步子序列xsubseq、asubseq(步骤800),例如n=20,构建动态图子序列
Figure BDA0002720494450000171
并将隐藏状态图Gh初始化为空状态(步骤802)。然后,使用循环推断***410,即,通过循环图神经网络块GNp,处理子序列中的每个动态图
Figure BDA0002720494450000172
例如,Go,
Figure BDA0002720494450000173
(步骤804)。子序列的最终输出图被指派为***标识图Gid=Go
然后,该过程从序列中挑选不同的随机时间步,并从状态和所应用的(一个或多个)动作获得对应的动态状态图(步骤806)。这与作为静态图的***标识图Gid级联,并作为输入提供给图7的训练过程,该训练过程从步骤704开始(步骤808)。然后,该过程如前所述确定预测损耗(步骤712),并反向传播梯度以更新图处理神经网络预测***106和图处理神经网络推断***410两者的参数(权重)。
因此,在实施方式中,训练采样随机的n步子序列以训练***标识(推断)循环图神经网络块GNp,并且例如从序列中采样随机的监督示例,以基于预测误差提供单个损耗。子序列与监督示例之间的这种分离鼓励循环图神经网络块GNp提取独立于特定的n步轨迹的、并且对于在任何条件下进行动力学预测都是有用的静态特性。
图9示出了用于使用如上所述的图处理神经网络预测***106来控制物理***102的控制***900的示例(带有或不带有所描述的***标识)。控制***900包括控制器902,控制器902与预测***106交互以控制物理***。可选地,控制***900包括用于任务定义数据的输入,该任务定义数据定义要由物理***执行的任务;在其它实施方式中,控制***900学习执行任务,例如基于从物理***和/或其环境接收的奖励。
在一个实施方式中,控制器902将预测***106用于模型预测控制(ModelPredictive Control,MPC)。例如,控制器使用预测***提前计划多个时间步n(计划时域(planning horizon)),然后确定轨迹成本函数的导数以通过梯度下降来优化轨迹,这是可以完成的,因为预测***106是可微分的。例如,(解析的)成本函数可以由预测的轨迹与目标轨迹之间的差异来确定,并且可以关于动作来取导数并应用梯度下降以优化动作,即,最小化成本函数。成本函数可以包括与轨迹相关联的总成本(或奖励),例如,动作的平方和。
图10示出了示例MPC过程。该过程可以从初始***状态x0和随机初始化的动作序列{at}以及预训练的预测***106(和可选地推断***410)开始。取决于状态和动作来定义可微分的轨迹成本函数,例如,c=C({xt},{at})(步骤1000)。例如,在定义的任务是要遵循目标***轨迹的情况下,其中轨迹广泛地被用于表示状态序列,而不必一定是空间轨迹,成本函数可以包括每个时间步的状态与目标状态之间的平方差。可选地,可以同时使用多个成本/奖励函数。成本函数还可以包括取决于动作的成本,例如动作的L1或L2范数。
然后,该过程使用预测***106从当前状态确定n步展开,例如,迭代地确定
Figure BDA0002720494450000181
其中M是预测***模型(步骤1002),并确定展开轨迹成本,例如
Figure BDA0002720494450000182
(步骤1004)。然后,该过程确定成本函数相对于动作的梯度,例如
Figure BDA0002720494450000183
成本函数和预测***两者都是可微分的(步骤1006)。然后,该过程将梯度更新应用于{at},例如通过减去
Figure BDA0002720494450000184
以优化动作序列(步骤1008)。
一些实施方式以滚动时域(receding horizon)来使用该过程,以固定时域(horizon)迭代地进行计划,通过应用序列的第一个动作,将时域增加一步,并重用在先前迭代中计算出的移位的最优轨迹。在一些实施方式中,n可以在从每个初始状态起的2至100的范围内;附加的n次迭代可以在最开始的初始状态下使用以预热初始随机动作序列。所描述的***的实施方式能够使用学习到的模型,即预测***106,准确地例如以3D控制物理***。
如图11中所示,预测***106也可以用在控制***1100中,该控制***1100包括强化学习***1102,例如以学习控制策略。例如,预测***106可以被用于基于由预测***生成的物理***的接下来的一个或多个状态来确定预测返回(predicted return),并且其梯度可以被用于连续或离散的动作选择策略更新。在实施方式中,与预测***联合训练定义动作选择策略的神经网络(即,具有用于选择动作的输出),而不是使用预训练的模型,尽管可以使用预训练的模型。
在这种方法中,预测***可以被用于预测环境观察,而不是物理***的完整状态。即,可以依据对物理***的观察来表达所推断的物理***的动态状态,而不是例如使用物理***(例如,机器人)作为参考点。例如,节点特征可以包括例如独热向量(one-hotvector)的特征,以指示该节点是环境的一部分,诸如目标位置,还是主体部分,以及可选地主体部分的类型,例如头/尾、手臂/手指。边特征可以指示表示物理***的主体部分的节点到环境中的目标节点的相对距离和/或方向。因此,动态图可以指示例如物理***的参考节点到环境中节点的向量距离,以及相对于参考节点的坐标的关节角度和速度。
Heess等人的“Learning Continuous Control Policies by StochasticValueGradients”,arXiv:1510.09142中描述了可以在其中使用预测***106的基于SVG的强化学习***的示例。作为进一步的示例,在SVG(N)方法的变体中,使用1步时域的动作-值函数估计器的策略梯度由下式给出:
Figure BDA0002720494450000191
其中xt+1=M(xt,at)是来自预测***模型M的针对时间步t+1的状态预测,rt(xt,at)是通过在时间t执行动作at从处于状态xt的环境中接收到的奖励,γ是折扣因子,并且Qθ表示基于状态x和动作a的动作-值函数。通过从具有由带有参数θ的策略神经网络πθ的输出确定的参数的分布中进行选择来确定时间t的动作at(预期的梯度使用“重新参数化技巧”来确定(Kingma和Welling的“Auto-Encoding Variational Bayes”,arXiv:1312.6114))。Q的值由神经网络提供,该神经网络可以与策略神经网络共享参数(例如,它可以是公共核心神经网络上的单独的头部);xt+1=M(xt,at),其中M是预测***模型。
在这个示例中,学习是在离策略(off-policy)地执行的,即,用当前最佳策略π生成状态、动作和奖励的序列并将其存储在体验重放缓冲区中,然后从缓冲区中采样xt的值以用于计算策略梯度。通过反向传播策略梯度以通过随机梯度下降找到argminθL(θ)来调整神经网络的参数(权重),由此来优化策略。
神经网络的尺寸将取决于应用、图的尺寸、特征的数量、训练数据的量等等。纯粹以指示的方式,边、节点和全局MLP可以具有1-5层,每层数百个单元;循环神经网络可以更小;可以使用ReLU激活;这些***可以用TensorFlowTM实现。可以使用105加的数量级的训练步骤;学习速率可以以例如10-4开始。
在一些实施方式中,物理***可以是与现实世界环境交互的机电***。例如,物理***可以是与环境交互以完成特定任务(例如,定位环境中的感兴趣的对象或将感兴趣的对象移动到环境中的指定位置或导航到环境中的指定目的地)的机器人或其它静态或移动机器;或者物理***可以是在环境中导航的自主或半自主的陆地或空中或海上载具。在一些实施方式中,物理***及其环境是模拟的,例如模拟的机器人或载具。所描述的神经网络***可以在被部署到现实世界中之前在模拟上进行训练。
对于一个或多个计算机的***,其被配置为执行特定操作或动作意味着,该***已经在其上安装了在操作时使得该***执行所述操作或动作的软件、固件、硬件或它们的组合。对于一个或多个计算机程序,其被配置为执行特定操作或动作,意味着所述一个或多个程序包括指令,所述指令当由数据处理装置执行时,使得所述装置执行所述操作或动作。
本说明书中描述的主题和功能操作的实施例可以以数字电子电路、有形体现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)、或者以它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,编码在有形的非暂时性程序载体上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。可替换地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以编码信息,以用于传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行访问存储器设备、或者它们中的一个或多个的组合。然而,计算机存储介质不是传播信号。
术语“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机、或者多个处理器或计算机。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理***、操作***或它们中的一个或多个的组合的代码。
计算机程序(也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、或者声明或过程语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序可以但不需要对应于文件***中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如标记语言文档中存储的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在一个计算机上或位于一个站点或分布在多个站点并通过通信网络互连的多个计算机上执行。
如本说明书中所使用的,“引擎”或“软件引擎”指的是提供不同于输入的输出的软件实现的输入/输出***。引擎可以是编码的功能块,诸如库、平台、软件开发工具包(“SDK”)或对象。每个引擎可以在任何适当类型的计算设备上实现,例如服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、PDA、智能电话或包括一个或多个处理器和计算机可读介质的其他固定或便携式设备。另外,两个或更多个引擎可以在相同的计算设备上实现,或者在不同的计算设备上实现。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,该可编程计算机执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以实现为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,过程和逻辑流程可以由图形处理单元(GPU)来执行,并且装置也可以被实现为GPU。
举例来说,适于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备(例如磁盘、磁光盘或光盘),或者被可操作地耦合到一个或多个大容量存储设备以从其接收数据或向其传送数据或两者兼有。然而,计算机不需要具有这样的设备。而且,计算机可以嵌入到另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GPS)接收器或便携式存储设备(例如通用串行总线(USB)闪存驱动器),此处仅举几个示例。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其向计算机提供输入的键盘和指点设备(例如鼠标或轨迹球)。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求而向用户的客户端设备上的网络浏览器发送网页。
本说明书中描述的主题的实施例可以在计算***中实现,该计算***包括后端组件(例如作为数据服务器),或者包括中间件组件(例如应用服务器),或者包括前端组件(例如具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该图形用户界面或网络浏览器与本说明书中描述的主题的实施方式进行交互),或者一个或多个这样的后端、中间件或前端组件的任意组合。***的组件可以通过任何形式或介质的数字数据通信互连,例如通信网络。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如互联网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户机和服务器的关系是通过在各自的计算机上运行并且彼此之间具有客户机-服务器关系的计算机程序产生。
虽然本说明书包含许多具体的实施方式细节,但这些不应当被解释为对任何发明或所要求保护的范围的限制,而是对特定于特定发明的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地实现或以任何合适的子组合来实现。而且,尽管上述特征可以被描述为以某些组合起作用,甚至最初被要求这样保护,但是在某些情况下,可以从所要求保护的组合中删除该组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变化。
类似地,尽管在附图中以特定次序描述了操作,但这不应理解为要求以所示的特定次序或以顺序的次序执行这些操作,或者要求执行所有所示的操作,以获得期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中各种***模块和组件的分离不应理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和***通常可以集成在单个软件产品中或者封装到多个软件产品中。
已经描述了本主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的次序执行,并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定次序或顺序的次序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。

Claims (20)

1.一种用于处理表示物理***的数据的神经网络***,所述神经网络***包括:
输入部,其接收表征物理***的物理***数据以及动作数据,其中物理***包括通过关节耦合的主体,其中物理***数据至少包括表示物理***的主体的运动的动态数据,并且其中动作数据表示应用于物理***的一个或多个动作;
图处理神经网络,其包括一个或多个图网络块,并被训练为处理输入图以提供输出图,
其中输入图和输出图各自具有图结构,所述图结构包括分别与物理***的主体和关节对应的节点和边,
其中输入图具有包括表示动态数据的输入图节点特征的输入图节点,并且具有包括表示动作数据的输入图边特征的输入图边;并且
其中输出图具有包括输出图节点特征的输出图节点和包括输出图边特征的输出图边,其中输出图节点特征包括用于推断物理***的静态特性或动态状态的特征;以及
输出部,其提供物理***的推断出的静态特性或动态状态。
2.如权利要求1所述的神经网络***,其中输出图具有包括输出图边特征的输出图边,并且其中图处理神经网络被配置为:
对于所述边中的每条边,使用边神经网络来处理输入图边特征以确定输出图边特征,和/或
对于所述节点中的每个节点,聚合连接到图结构中的所述节点的边的输出图边特征,以确定所述节点的聚合边特征的集合,以及
对于所述节点中的每个节点,使用节点神经网络来处理聚合边特征和输入图节点特征,以确定输出图节点特征。
3.如权利要求2所述的神经网络***,其中使用边神经网络来处理输入图边特征以确定输出图边特征包括:对于每条边,向边神经网络提供输入图边特征和图结构中由所述边连接的节点的输入图节点特征,以确定输出图边特征。
4.如权利要求2或3所述的神经网络***,其中输出图还包括表示输出图边特征和输出图节点特征的集体状态的全局特征输出,并且其中图处理神经网络还包括全局特征神经网络以确定全局特征输出。
5.如权利要求4所述的神经网络***,还被配置为聚合每个节点的聚合边特征的集合以及输出图节点特征,以向全局特征神经网络提供聚合的图特征输入,并且其中全局特征神经网络被配置为处理聚合的图特征输入以确定全局特征输出。
6.如权利要求1-5中的任一项所述的神经网络***,用于预测物理***的未来动态状态,
其中物理***数据还包括表示物理***的主体和/或关节的静态特性的静态数据,
其中输入图包括动态图和静态图的组合,动态图包括表示动态数据的输入图节点特征和表示动作数据的输入图边特征,静态图包括表示物理***的主体和/或关节的静态特性的输入图节点和/或边特征;
图处理神经网络包括两个或更多个图网络块,包括:
第一图网络块,被训练为处理输入图,以提供包括物理***的潜在表示的潜图;以及
第二图网络块,其处理来自潜图的数据以提供输出图,其中输出图具有表示物理***的预测的未来动态状态的节点特征。
7.如权利要求6所述的神经网络***,被配置为将输入图与潜图组合;并且其中第二图网络块被配置为处理输入图与潜图的组合以提供输出图。
8.如权利要求6或7所述的神经网络***,其中输入图包括动态图、静态图和隐藏图的组合;
其中图处理神经网络包括循环图处理神经网络以处理输入图,以提供包括潜图和更新后的隐藏图的组合的第一层输出图;并且
其中神经网络***被配置为将潜输出图提供给第二图网络块并将更新后的隐藏图提供回循环图处理神经网络的输入部。
9.如前述权利要求所述的神经网络***,用于识别物理***的静态特性,
其中输入部被配置为接收针对时间步的序列的动态数据和动作数据,以用于定义输入图的序列,
其中,对于所述时间步中的每个时间步,输入图包括动态图和隐藏图的组合,以定义输入图的序列,其中动态图包括表示所述时间步的动态数据的输入图节点特征和表示所述时间步的动作数据的输入图边特征,
其中图处理神经网络被配置为处理输入图的序列,以对于每个时间步确定输出图和更新后的隐藏图的组合,其中更新后的隐藏图提供下一个时间步的隐藏图;并且
其中,在时间步的序列之后,输出图包括***标识图,其中输出图节点特征包括物理***的主体和/或关节的静态特性的表示。
10.如权利要求9所述的神经网络***,被配置为将动态图和隐藏图进行图级联以提供输入图,并且被配置为拆分输出图和更新后的隐藏图的组合以更新隐藏图。
11.如权利要求9或10所述的神经网络***,还包括:
至少一个另外的图网络块,被配置为接收***标识图和动态图的组合,其中动态图包括表示观察时间的动态数据的图节点特征和表示观察时间的动作数据的图边特征,
其中至少一个另外的图网络块被训练为处理***标识图和动态图的组合,以提供动态状态预测图,该动态状态预测图具有表示比观察时间晚的时间处的物理***的未来动态状态的节点特征。
12.如权利要求1-11中的任一项所述的神经网络***,被配置为提供动作控制输出,用于根据物理***的推断出的动态状态来控制物理***。
13.如权利要求6-8和11中的任一项所述的神经网络***,还包括控制***,所述控制***被训练为提供动作控制输出以最大化从物理***的未来动态状态预测的奖励。
14.一种强化学习***,包括如权利要求6-8和11中的任一项所述的神经网络***以及用于选择要由物理***执行的动作的动作选择策略神经网络,其中强化学习***被配置为使用根据物理***的未来动态状态估计的动作值来训练动作选择策略神经网络和图处理神经网络中的一者或两者。
15.一种用于控制物理***的控制***,所述控制***包括:如权利要求1-11中的任一项所述的神经网络***;以及控制器,被配置为使用所述神经网络***来预测物理***的一个或多个未来状态,用于控制要应用于物理***的动作。
16.一种用于控制物理***的强化学习***,所述强化学习***包括:如权利要求1-11中的任一项所述的神经网络***,其中所述强化学习***被配置为使用所述神经网络***来学习动作选择策略。
17.一种控制物理***的动态状态的方法,所述方法包括:使用如权利要求1-11中的任一项所述的神经网络***来推断物理***的静态特性或动态状态;以及然后使用推断出的静态特性或动态状态来控制物理***。
18.一种训练如权利要求1-11中的任一项所述的神经网络***的方法,所述方法包括:提供训练数据,所述训练数据表示物理***在一时间步处的动态状态、所应用的动作以及物理***在下一个时间步处的下一个动态状态的示例;以及训练所述神经网络***,以推断物理***的下一个动态状态。
19.如权利要求18所述的训练方法,还包括训练所述神经网络***以推断物理***的一个或多个静态特性。
20.存储指令的一个或多个计算机存储介质,所述指令在由一个或多个计算机执行时使一个或多个计算机实现如权利要求1-16中的任一项所述的***或如权利要求17-19中的任一项所述的方法。
CN201980025463.4A 2018-04-12 2019-04-12 表示物理***的图神经网络 Pending CN111971691A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862656904P 2018-04-12 2018-04-12
US62/656,904 2018-04-12
PCT/EP2019/059431 WO2019197613A1 (en) 2018-04-12 2019-04-12 Graph neural networks representing physical systems

Publications (1)

Publication Number Publication Date
CN111971691A true CN111971691A (zh) 2020-11-20

Family

ID=66218095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980025463.4A Pending CN111971691A (zh) 2018-04-12 2019-04-12 表示物理***的图神经网络

Country Status (4)

Country Link
US (1) US20210049467A1 (zh)
EP (1) EP3756139A1 (zh)
CN (1) CN111971691A (zh)
WO (1) WO2019197613A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022223052A1 (zh) * 2021-04-23 2022-10-27 阿里巴巴(中国)有限公司 加速器、计算机***和方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020079681A1 (en) * 2018-10-15 2020-04-23 Netz Forecasts Ltd. Systems and methods for network stabilization prediction
EP3671660A1 (en) * 2018-12-20 2020-06-24 Dassault Systèmes Designing a 3d modeled object via user-interaction
US11562251B2 (en) * 2019-05-16 2023-01-24 Salesforce.Com, Inc. Learning world graphs to accelerate hierarchical reinforcement learning
JPWO2021024782A1 (zh) * 2019-08-02 2021-02-11
EP3792810A1 (en) * 2019-09-12 2021-03-17 Kompetenzzentrum - Das virtuelle Fahrzeug Forschungsgesellschaft mbH Method of generating an operation procedure for a simulation of a mechatronic system
CN111665861A (zh) * 2020-05-19 2020-09-15 中国农业大学 一种轨迹跟踪控制方法、装置、设备和存储介质
US20230351215A1 (en) * 2020-09-18 2023-11-02 Visa International Service Association Dynamic graph node embedding via light convolution
CN113172663A (zh) * 2021-03-24 2021-07-27 深圳先进技术研究院 一种机械手抓取稳定性识别方法、装置和电子设备
CN113256670A (zh) * 2021-05-24 2021-08-13 推想医疗科技股份有限公司 图像处理方法及装置、网络模型的训练方法及装置
CN114004347A (zh) 2021-08-30 2022-02-01 平头哥(上海)半导体技术有限公司 用于加速图神经网络属性访问的硬件加速器、***和方法
CN116151337A (zh) 2021-11-15 2023-05-23 平头哥(上海)半导体技术有限公司 用于加速图神经网络属性访问的方法、***和存储介质
TWI783788B (zh) * 2021-11-22 2022-11-11 英業達股份有限公司 圖網路之原始數據的處理方法及其相關處理系統
US20230350096A1 (en) 2022-04-29 2023-11-02 Abu Dhabi National Oil Company System and method for effective hydrocarbon reservoir pressure prediction and control
CN114580252A (zh) * 2022-05-09 2022-06-03 山东捷瑞数字科技股份有限公司 一种用于流体仿真的图神经网络仿真方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110300A1 (en) * 2001-12-12 2003-06-12 Micro-Star Int'l Co., Ltd. Virtual storage interface device
CN105637540A (zh) * 2013-10-08 2016-06-01 谷歌公司 用于强化学习的方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190005384A1 (en) * 2017-06-29 2019-01-03 General Electric Company Topology aware graph neural nets
WO2020079681A1 (en) * 2018-10-15 2020-04-23 Netz Forecasts Ltd. Systems and methods for network stabilization prediction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110300A1 (en) * 2001-12-12 2003-06-12 Micro-Star Int'l Co., Ltd. Virtual storage interface device
CN105637540A (zh) * 2013-10-08 2016-06-01 谷歌公司 用于强化学习的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TINGWU WANG, ET AL.: "NERVENET:LEARNING STRUCTURED POLICY WITH GRAPH NEURAL NETWORKS", 《INTERNATIONAL CONFERENCE ON LEARNING REPRESENTATIONS》, pages 1 - 6 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022223052A1 (zh) * 2021-04-23 2022-10-27 阿里巴巴(中国)有限公司 加速器、计算机***和方法

Also Published As

Publication number Publication date
US20210049467A1 (en) 2021-02-18
EP3756139A1 (en) 2020-12-30
WO2019197613A1 (en) 2019-10-17

Similar Documents

Publication Publication Date Title
CN111971691A (zh) 表示物理***的图神经网络
CN110651279B (zh) 利用学徒来训练动作选择神经网络
US20210192358A1 (en) Graph neural network systems for behavior prediction and reinforcement learning in multple agent environments
CN110088774B (zh) 使用强化学习的环境导航
US20210201156A1 (en) Sample-efficient reinforcement learning
US20220366245A1 (en) Training action selection neural networks using hindsight modelling
CN110088775B (zh) 使用加强学习的环境预测
CN112119409A (zh) 具有关系存储器的神经网络
US10776670B2 (en) Imagination-based agent neural networks
US20200104685A1 (en) Learning motor primitives and training a machine learning system using a linear-feedback-stabilized policy
CN110546653A (zh) 使用神经网络的用于强化学习的动作选择
EP4014161A1 (en) Training action selection neural networks using q-learning combined with look ahead search
JP7181415B2 (ja) 観測値の尤度を使用して環境を探索するためのエージェントを制御すること
US20220366246A1 (en) Controlling agents using causally correct environment models
CN110622174A (zh) 基于想象的智能体神经网络
CN116210030A (zh) 基于半监督关键点的模型
CN115280321A (zh) 使用自举潜在的预测来学习针对代理控制的环境表示
CN113330458A (zh) 使用潜在计划控制代理
CN115066686A (zh) 使用对规划嵌入的注意操作生成在环境中实现目标的隐式规划
Tang et al. Multisensors Fusion for Trajectory Tracking Based on Variational Normalizing Flow
US20240185082A1 (en) Imitation learning based on prediction of outcomes
US20240161318A1 (en) Object-based prediction of scene transitions using neural networks

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