CN110114784B - 递归环境预测器及其方法 - Google Patents
递归环境预测器及其方法 Download PDFInfo
- Publication number
- CN110114784B CN110114784B CN201780080770.3A CN201780080770A CN110114784B CN 110114784 B CN110114784 B CN 110114784B CN 201780080770 A CN201780080770 A CN 201780080770A CN 110114784 B CN110114784 B CN 110114784B
- Authority
- CN
- China
- Prior art keywords
- previous
- time step
- neural network
- initial
- hidden state
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
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)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
Abstract
用于环境模拟的方法、***和装置,包括在计算机存储介质上编码的计算机程序。在一个方面,一种***包括递归神经网络,该递归神经网络被配置为在多个时间步骤中的每个处:接收先前的时间步骤的先前的动作,使用先前的动作从先前的时间步骤更新递归神经网络的先前的初始隐藏状态,至少使用该时间步骤的初始隐藏状态,从先前的时间步骤更新递归神经网络的先前的单元状态,以及使用该时间步骤的单元状态确定该时间步骤的最终隐藏状态。该***还包括解码器神经网络,该解码器神经网络被配置为接收该时间步骤的最终隐藏状态并且处理最终隐藏状态以生成表征该时间步骤的环境的预测的状态的预测观察。
Description
技术领域
本说明书涉及递归神经网络***和方法。
背景技术
机器学习***可以用于预测将从代理执行计划的动作而产生的环境的状态的未来观察。
用于预测未来观察的机器学习***可以包括神经网络。
神经网络是机器学习模型,其使用一层或多层非线性单元来预测接收的输入的输出。一些神经网络是深度神经网络,其除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层(即下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集合的当前值来从接收的输入生成输出。
发明内容
本说明书一般地描述了神经网络***。神经网络***包括递归神经网络,该递归神经网络被配置为在多个时间步骤中的每个处接收与环境交互的代理的先前的动作,并且从先前的时间步骤更新递归神经网络的初始隐藏状态、最终隐藏状态和单元状态。神经网络***包括解码器神经网络,该解码器神经网络被配置针对一个或多个时间步骤,处理递归神经网络的最终隐藏状态并且产生针对该时间步骤的环境的预测观察作为输出。因此,神经网络***可以被认为是环境模拟***。表征环境的状态的数据在本说明书中将被称为观察。
先前的动作是:由代理在先前的时间步骤处已经执行的动作(如果,关于先前的时间步骤,***正在处理已经执行的动作以调整未来的预测);或者由代理在先前的时间步骤处要执行的动作(如果,关于先前的时间步骤,***已经预测将从由代理执行计划的动作而产生的未来观察)。
依赖于***和解码器神经网络的配置,解码器神经网络可以被配置为:(i)在每个未来时间步骤(即,观察不是已知的每个时间步骤)处,生成预测观察;或(ii)仅在未来时间步骤的子集(例如,仅针对代理执行了动作的计划的轨迹中的最后一个动作之后的时间步骤或者针对未来时间步骤的预定间隔)处,生成预测观察。
在一些实现方式中,环境是模拟环境,并且代理被实现为与模拟环境交互的一个或多个计算机程序。例如,模拟环境可以是视频游戏,并且代理可以是玩视频游戏的模拟用户。作为另一示例,模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且代理是导航穿过运动模拟环境的模拟车辆。在这些实现方式中,动作可以是控制模拟用户或模拟车辆的控制输入。
在一些其他实现方式中,环境是真实世界环境,并且代理是与真实世界环境交互的机械代理。例如,代理可以是与环境交互以完成特定任务的机器人。作为另一示例,代理可以是导航穿过环境的自主或半自主车辆。在这些实现方式中,动作可以是控制机器人或自主车辆的控制输入。因此,该***可以用于预测未来观察以提供更有效的控制***。
在强化学习***中,代理通过执行由强化学习***响应于接收到表征环境的当前状态的观察而选择的动作来与环境交互。
在强化学习***中,在许多情况下,例如,为了选择要由代理执行的动作或查看由代理要执行的动作的计划的轨迹对环境的影响,可能有必要的或有利的是:通过环境模拟***预测一个或多个未来观察,其表征从代理已经执行的动作以及将来在代理中将执行的动作而产生的环境的未来状态。
在基于模型的探索***中,其中,代理与真实世界或模拟环境交互以探索环境,代理的探索策略可以至少部分地基于由环境模拟***所生成的环境的预测观察。例如,代理可以选择以下动作序列:根据环境模拟***的预测,该动作序列将使得代理观察先前的未观察到的环境的部分。
根据第一方面,提供了一种方法,包括:在由一个或多个计算机实现的递归神经网络中,在多个时间步骤中的每个处:接收先前的时间步骤的先前的动作,所述先前的动作是在先前的时间步骤处由与环境交互的代理执行的或者在先前的时间步骤处由代理要执行的动作;使用先前的动作从先前的时间步骤更新递归神经网络的先前的初始隐藏状态,以生成该时间步骤的初始隐藏状态;至少使用该时间步骤的初始隐藏状态来从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态;以及使用该时间步骤的单元状态确定该时间步骤的最终隐藏状态;以及在由一个或多个计算机实现的解码器神经网络中,在多个时间步骤中的一个或多个时间步骤中的每个处:接收该时间步骤的最终隐藏状态;以及处理最终隐藏状态以生成表征该时间步骤处的环境的预测状态的预测观察。
在一些实现方式中,预测观察是在该时间步骤处的环境的预测图像。
在一些实现方式中,更新先前的初始隐藏状态包括:将第一参数矩阵应用于先前的最终隐藏状态以生成变换的先前的最终隐藏状态;将第二参数矩阵应用于先前的动作以生成变换的先前的动作;以及将变换的先前的隐藏状态和变换的先前的动作组合,以生成初始隐藏状态。
在一些实现方式中,更新先前的初始隐藏状态包括:对于不同动作,应用具有不同参数的维度保持卷积。
在一些实现方式中,该方法还包括,在多个时间步骤的一个或多个初始时间步骤中的每个处,接收表征在先前的时间步骤处的环境的实际状态的先前的实际观察的编码表示;以及使用先前的实际观察的编码表示和该时间步骤的初始隐藏状态,从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态。
在一些实现方式中,该方法还包括:在由一个或多个计算机实现的编码器神经网络中,在一个或多个初始时间步骤中的每个处:接收先前的实际观察;以及处理先前的实际观察以生成先前的实际观察的编码表示。
在一些实现方式中,该方法还包括,在一个或多个初始时间步骤之后的多个时间步骤的每个时间步骤:接收表征在先前的时间步骤处的环境的预测状态的先前的预测观察的编码表示;以及使用先前的预测观察的编码表示和该时间步骤的初始隐藏状态,从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态。
在一些实现方式中,该方法还包括,在一个或多个初始时间步骤之后的每个时间步骤处生成预测观察。
在一些实现方式中,该方法还包括,在一个或多个初始时间步骤之后的多个时间步骤中的每个时间步骤处:使用该时间步骤的初始隐藏状态和代替先前的实际观察的编码表示的来自先前的时间步骤的先前的最终隐藏状态,从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态。
在一些实现方式中,递归神经网络对于初始时间步骤中的每个使用第一参数集合,并且对于在一个或多个初始时间步骤之后的每个时间步骤使用第二参数集合。
在一些实现方式中,解码器神经网络仅在一个或多个初始时间步骤之后的时间步骤的子集处生成预测观察。
根据一种布置,提供了一种环境模拟***,包括:递归神经网络,由一个或多个计算机实现并且被配置为在多个时间步骤中的每个处:接收先前的时间步骤的先前的动作,该先前的动作是在先前的时间步骤处由与环境交互的代理执行的或者在先前的时间步骤处由代理要执行的动作;使用先前的动作从先前的时间步骤更新递归神经网络的先前的初始隐藏状态,以生成该时间步骤的初始隐藏状态;以及至少使用该时间步骤的初始隐藏状态从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态;以及使用该时间步骤的单元状态确定该时间步骤的最终隐藏状态;以及解码器神经网络,由一个或多个计算机实现并且被配置为在多个时间步骤中的一个或多个时间步骤中的每个处:接收该时间步骤的最终隐藏状态;以及处理最终隐藏状态以生成表征该时间步骤处的环境的预测状态的预测观察。
根据另一实现方式,提供了一种方法,包括:对于一个或多个初始时间步骤中的每个,获得表征在先前的时间步骤处的环境的实际状态的先前的实际观察的编码表示以及响应于动作由该环境交互的代理执行的先前的动作;在每个初始时间步骤处,使用上述递归神经网络步骤来处理先前的实际观察的编码表示和先前的动作;在初始时间步骤的最后一个时间步骤之后的多个时间步骤的每个处,获得识别由代理要执行的相应的动作的数据;以及对于初始时间步骤的最后一个时间步骤之后的多个时间步骤中的每个,使用上述递归神经网络步骤和解码器神经网络步骤来处理先前的时间步骤处的先前的动作,以生成一个或多个预测观察。
根据另一实现方式,提供了一种***,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机执行本文所述的方法的操作。
根据另一实现方式,提供了一个或多个计算机存储介质,存储指令,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行本文所述的方法的操作。
可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。本说明书中描述的神经网络***可以生成在未来时间步骤处的环境的预测观察,而不生成当前时间步骤和未来时间步骤之间的时间步骤的环境的预测观察,这使得本***比传统***更高效,在传统***中,为了生成在未来时间步骤处的环境的预测观察,需要在当前步骤和未来步骤之间的每个时间步骤处生成环境的预测观察。因此,与传统***相比,本说明书中描述的***可以更快地生成对未来时间步骤处的环境的预测观察,同时消耗更少的计算资源(即,存储器和处理能力)。此外,在给定的时间步骤处,本说明书中描述的***中的递归神经网络的最终隐藏状态直接地依赖于代理的先前的动作,并且该架构使得本说明书中描述的***对于未来数百个时间步骤生成精确的、高维的预测,与没有这种架构并且产生不太精确的预测的传统***形成对比。通常,与传统***相比,本说明书中描述的***产生更多的空间和时间相干性和更高精度的预测。
在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得明显。
附图说明
图1示出了示例环境模拟***。
图2是用于处理已经执行的动作以调节未来预测的示例处理的流程图。
图3是用于预测将从代理执行计划的动作而产生的未来观察的示例依赖于预测的处理的流程图。
图4是用于预测将从代理执行计划的动作而产生的未来观察的示例独立于预测的处理的流程图。
在各附图中相同的附图标记和名称表示相同的元件。
具体实施方式
图1示出了示例环境模拟***100。环境模拟***100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的***的示例,其中,实现下面描述的***、组件和技术。
环境模拟***100生成预测观察120,其表征在未来时间步骤处的环境106的预测未来状态。环境106的状态以及因此环境106的观察可以至少部分地基于在每个时间步骤处与环境106交互的代理102的动作104而在时间步骤之间改变。
环境模拟***100接收由代理102在多个时间步骤中的每个处执行的动作序列104作为输入。动作序列104包括在一个或多个初始时间步骤处的动作,以及对于那些初始时间步骤中的每个的、对时间步骤的环境的实际观察。初始时间步骤处的动作是由代理102已经执行的动作。在初始时间步骤之后的一个或多个时间步骤处的动作是将由代理在将来执行的动作,即,计划的动作。
环境模拟***100处理在一个或多个初始时间步骤处已经执行的动作以调节未来预测。参考图2的处理200描述用于处理已经执行的动作以调节未来预测的一个示例处理。
在处理已经在一个或多个初始时间步骤处执行的动作之后,环境模拟100通过依赖于预测的预测处理或与独立于预测的预测处理,预测将从由代理102在初始时间步骤之后的时间步骤出执行计划的行动而产生的未来观察。
在用于预测未来观察的依赖于预测的实现方式中,环境模拟***100在初始时间步骤之后的每个时间步骤处顺序地生成将从由代理102执行计划的动作而产生的预测观察120,其中,环境模拟***100基于在先前的时间步骤处生成的预测观察来生成对该时间步骤的预测观察。参考图3的处理300描述用于预测将从由代理102执行计划的动作而产生的未来观察的一个示例的依赖于预测的处理。
在用于预测未来观察的独立于预测的实现方式中,环境模拟***100可以在初始时间步骤之后的时间步骤生成预测观察120,而不参考***可能已经针对先前的时间步骤生成的任何预测观察,并且通常,环境模拟***100不需要在每个时间步骤处生成预测观察。参考图4的处理400描述用于预测将从由代理执行计划的动作的而产生的未来观察的一个示例的独立于预测的处理。
在一些实现方式中,环境106和代理102是作为一个或多个计算机程序实现的模拟。例如,环境106可以是视频游戏,并且代理102可以是玩视频游戏的模拟用户。作为另一示例,环境106可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且代理102可以是导航穿过运动模拟环境的模拟车辆。在这些实现方式中,动作104可以是控制模拟用户或模拟车辆的控制输入。
在一些其他实现方式中,环境106是真实世界环境,并且代理102是与真实世界环境交互的机械代理。例如,代理102可以是与环境106交互以完成特定任务的机器人。作为另一示例,代理102可以是导航穿过环境106中的自主或半自主车辆。在这些实现方式中,动作104可以是控制机器人或自主车辆的控制输入。
环境模拟***100包括递归神经网络122。在每个时间步骤处,递归神经网络122部分地基于在每个时间步骤处递归神经网络122作为输入接收的先前的动作,来更新递归神经网络122的初始隐藏状态108、递归神经网络122的最终隐藏状态110以及递归神经网络122的单元状态112。先前的动作是:(i)由代理102在先前的时间步骤处已经执行的动作(如果,关于先前的时间步骤,环境模拟***100正在处理已经执行的动作以调节未来预测);或者(ii)由代理102在先前的时间步骤处要执行的动作(如果,关于先前的时间步骤,环境模拟***100已经预测将从由代理102执行计划的动作而产生的未来观察)。
环境模拟***100还包括解码器神经网络118,其对于初始时间步骤之后的一个或多个时间步骤,采取该时间步骤的递归神经网络122的最终隐藏状态110作为输入,并且生成表征在该时间步骤处的环境106的预测状态的预测观察120。
当观察是图像时,解码器神经网络118是去卷积神经网络。
在一些实现方式中,表征在该时间步骤处环境106的预测状态的预测观察120可以是该时间步骤处的环境的预测图像。
环境模拟***100还包括编码器神经网络116。如果环境模拟***100关于先前的时间步骤正在处理已经执行的动作以调节未来预测,则编码器神经网络116采取先前的时间步骤的实际观察114作为输入,并且生成先前的时间步骤的实际观察114的表示作为输出。***将先前的时间步骤的实际观察114的表示作为输入提供给递归神经网络122。
如果环境模拟***100关于先前的时间步骤已经预测将从由代理102执行计划的动作而产生的未来观察,则在依赖于预测的实现方式中,编码器神经网络116采取先前的时间步骤的预测观察120作为输入,并且生成先前的时间步骤的预测观察120的表示作为输出。在依赖于预测的实现方式中,***将先前的时间步骤的预测观察120的表示作为输入提供给递归神经网络122。
如果环境模拟***100关于先前的时间步骤已经预测将从由代理102执行计划的动作而产生的未来观察,则在独立于预测的实现方式中,对该时间步骤***不使用编码器神经网络116。
当观察是图像时,编码器神经网络116是卷积神经网络,其被配置为生成到编码器神经网络116的输入的编码表示作为输出。
图2是用于处理已经执行的动作以调节未来预测的示例处理200的流程图。为方便起见,处理200将被描述为由位于一个或多个位置中的一个或多个计算机的***执行。例如,根据本说明书适当编程的环境模拟***(例如图1的环境模拟***100)可以执行处理200。
通常,***执行处理200的步骤以处理已经执行的动作以调节未来预测,即,初始化递归神经网络的单元状态、初始隐藏状态和最终隐藏状态。***在一个或多个初始时间步骤中的每个处执行处理200的步骤。
***接收环境的先前的实际观察、由代理在先前的时间步骤处执行的先前的动作以及递归神经网络的先前的最终隐藏状态和先前的单元状态(步骤202)。先前的实际观察是表征在先前的时间步骤处的环境的状态的数据。在一些实现方式中,先前的实际观察是在先前的时间步骤处的环境的图像。在一些实现方式中,先前的动作被表示为单热矢量(one-hot vector)表示。先前的最终隐藏状态和先前的单元状态是在先前的时间步骤的处理结束处递归神经网络的最终隐藏状态和单元状态的值。
***将先前的实际观察作为输入提供给编码器神经网络(步骤204)。编码器神经网络被配置为根据编码器神经网络的参数集合的值来处理先前的实际观察,以生成先前的实际观察的表示作为输出。
递归神经网络通过将第一参数矩阵应用于递归神经网络的先前的最终隐藏状态以生成变换的先前的最终隐藏状态、将第二参数矩阵应用于先前的动作以生成变换的先前的动作以及将变换的先前的隐藏状态和变换的先前的动作组合以生成该时间步骤的递归神经网络的初始隐藏状态,来确定该时间步骤的递归神经网络的初始隐藏状态(步骤206)。
在一些实现方式中,通过逐元素乘法(element-wise multiplication)来组合变换的先前的隐藏状态和变换的先前的动作。在一些实现方式中,对每个动作,变换的先前的隐藏状态和变换的先前的动作通过针对每个动作具有不同参数的维度保持卷积来组合。
递归神经网络基于该时间步骤的递归神经网络的初始隐藏状态、编码器神经网络输出的先前的实际观察的表示以及递归神经网络的先前的单元状态,来确定该时间步骤的递归神经网络的单元状态(步骤208)。具体地,递归神经网络根据以下关系确定该时间步骤的输入门(input gate)隐藏状态和忘记门(forget gate)隐藏状态的值:
it=σ(Liv(vt)+Lis(st-1)),
ft=σ(Lfv(vt)+Lfs(st-1)),
其中vt是该时间步骤的初始隐藏状态并且st-1是编码器神经网络输出的先前的实际观察的表示,it是该时间步骤的输入门隐藏状态,ft是该时间步骤的忘记门隐藏状态以及Liv,Lis,Lfv和Lfs是不共享参数的线性映射。递归神经网络根据以下关系确定该时间步骤的单元状态:
在一些实现方式中,线性映射Liv,Lis,Lfv,Lfs,Lcv和Lcs是完全连通(connected)的线性映射。在一些其他实现方式中,线性映射Liv,Lis,Lfv,Lfs,Lcv和Lcs是维度保持卷积。
递归神经网络基于该时间步骤的递归神经网络的初始隐藏状态、编码器神经网络输出的先前的实际观察的表示以及该时间步骤的递归神经网络的单元状态,来确定该时间步骤的递归神经网络的最终隐藏状态(步骤210)。具体地,递归神经网络确定输出门隐藏状态的值:
ot=σ(Lov(vt)+Los(st-1))
其中vt是该时间步骤的初始隐藏状态并且st-1是编码器网络输出的先前的实际观察的表示,ot是该时间步骤的输出门隐藏状态以及Lov和Los是不共享参数的线性映射。该时间步骤的最终隐藏状态确定为:
在一些实现方式中,线性映射Lov和Los是完全连通的线性映射。在一些其他实现方式中,线性映射Lov和Los是维度保持卷积。
接下来,***进入下一时间步骤。
如果下一时间步骤是用于处理已经执行的动作以调节未来预测的另一初始时间步骤,即初始化递归神经网络的单元状态、初始隐藏状态和最终隐藏状态,则***返回到步骤202并且重复先前的步骤。
如果下一时间步骤不是初始时间步骤,则在一个实现方式中,***进行到执行图3的处理300,在这种情况下,***实现依赖与预测的处理以用于预测将从由代理执行计划的动作而产生的未来观察。在另一实现方式中,***进行到执行图4的处理400,在这种情况下,***实现独立于预测的处理以用于预测将从由代理执行计划的动作而产生的未来观察。在两种实现方式中,在每个时间步骤处,***基于先前的时间步骤的先前的动作更新递归神经网络的最终隐藏状态。
图3是用于将从由代理执行计划的动作而产生的未来观察的依赖于预测的预测的示例处理300的流程图。为方便起见,处理300将被描述为由位于一个或多个位置中的一个或多个计算机的***执行。例如,根据本说明书适当编程的环境模拟***(例如图1的环境模拟***100)可以执行处理300。
***在一个或多个初始时间步骤之后的每个时间步骤顺序地执行处理300的步骤。在每个时间步骤处,***基于***对于先前的时间步骤生成的预测观察,来生成将从由代理执行计划的操作而产生的时间步骤的预测观察。
***接收先前的预测观察、先前的动作、递归神经网络的先前的最终隐藏状态以及递归神经网络的先前的单元状态(步骤302)。先前的预测观察是表征在先前的时间步骤处由***生成的先前的时间步骤处的环境的状态的预测数据。
对于处理300的第一次迭代,其中,由于***尚未生成先前的时间步骤的预测观察而未定义先前的预测观察,***接收先前的实际观察而不是先前的预测观察。
***将先前的预测观察提供给编码器神经网络,并且编码器神经网络根据编码器神经网络的参数集合的值处理先前的预测观察,以生成先前的预测观察的表示作为输出(步骤304)。
递归神经网络以与步骤206相同的方式基于先前的动作和递归神经网络的先前的最终隐藏状态,确定该时间步骤的递归神经网络的初始隐藏状态(步骤306)。
除了递归神经网络使用由编码器神经网络输出的先前的预测观察的表示来代替由编码器神经网络输出的先前的实际观察的表示之外,递归神经网络以与步骤208相同的方式确定该时间步骤的递归神经网络的单元状态(步骤308)。
除了递归神经网络使用由编码器神经网络输出的先前的预测观察的表示来代替由编码器神经网络输出的先前的实际观察的表示之外,递归神经网络以与步骤210相同的方式确定该时间步骤的递归神经网络的最终隐藏状态(步骤310)。
***通过将该时间步骤的递归神经网络的最终隐藏状态作为输入提供到解码器神经网络来生成该时间步骤的预测观察,其根据解码器神经网络的参数集合的值处理递归神经网络的最终隐藏状态并且生成该时间步骤的预测观察作为输出(步骤312)。解码器神经网络可以包括卷积层和完全连通层。
如果该时间步骤不是最终时间步骤,则***进入步骤302并且重复先前的步骤。如果该时间步骤是最终时间步骤,则处理300终止。
图4是用于将从由代理执行计划的动作而产生的未来观察的独立于预测的预测的示例处理400的流程图。为方便起见,处理400将被描述为由位于一个或多个位置中的一个或多个计算机的***执行。例如,根据本说明书适当编程的环境模拟***(例如图1的环境模拟***100)可以执行处理400。
***在一个或多个初始时间步骤之后的每个时间步骤顺序地执行处理400的步骤。在一个或多个初始时间步骤之后的每个时间步骤处,***可以生成将从由代理执行计划的动作而产生的该时间步骤的预测观察,其中,预测观察不基于***可能已经针对先前的时间步骤生成的任何预测观察。
通常,对于独立于预测的预测的实现方式,***对于每个初始时间步骤使用第一递归神经网络参数集合,并且对于一个或多个初始时间步骤之后的每个时间步骤使用不同的第二递归神经网络参数集合。具体地,线性映射的参数值Liv,Lis,Lfv,Lfs,Lcv,Lcs,Lov和Los在初始时间步骤与初始时间步骤之后的一个或多个时间步骤之间不同。
***接收先前的动作、递归神经网络的先前的最终隐藏状态以及递归神经网络的先前的单元状态(步骤402)。
递归神经网络以与步骤206相同的方式,基于先前的动作和递归神经网络的先前的最终隐藏状态,来确定该时间步骤的递归神经网络的初始隐藏状态(步骤404)。
除了递归神经网络使用递归神经网络的先前的最终隐藏状态代替由编码器神经网络输出的先前的实际观察的表示之外,递归神经网络以与步骤208相同的方式,使用第二递归神经网络参数集合来确定该时间步骤的递归神经网络的单元状态(步骤406)。该***被配置成使得递归神经网络的先前的最终隐藏状态具有与由编码器神经网络输出的先前的实际观察的表示相同的维度。
除了递归神经网络使用递归神经网络的先前的最终隐藏状态代替由编码器神经网络输出的先前的实际观察的表示之外,递归神经网络以与步骤210相同的方式使用第二递归神经网络参数集合来确定该时间步骤的递归神经网络的最终隐藏状态(步骤408)。
***确定是否应当为该时间步骤生成预测观察(步骤410)。例如,***可以仅对一系列时间步骤中的最后时间步骤生成观察,以便查看计划的动作轨迹的效果。
响应于确定***应当生成该时间步骤的预测观察,***以与步骤312相同的方式生成该时间步骤的预测观察,并且如果该时间步骤不是最终时间步骤,则***返回到步骤402并且重复先前的步骤(步骤412)。如果该时间步骤是最终时间步骤,则处理400终止。
响应于确定***不应当生成该时间步骤的预测观察并且如果该时间步骤不是最终时间步骤,则***返回到步骤402并且重复先前的步骤。如果该时间步骤是最终时间步骤,则处理400终止。
***可以对动作序列执行依赖于预测的预测(即,处理200和300)和独立于预测的预测(即,处理200和400),其中,对于超出一个或多个初始时间步骤的时间步骤,环境的实际观察是未知的。该***还可以在训练数据集合中(即,在从动作序列产生的环境的实际观察已知的动作序列集合中),对于环境的实际观察和动作的序列执行依赖于预测的预测和独立于预测的预测,以便确定环境模拟***(即递归神经网络、解码器神经网络和编码器神经网络)的参数的训练值。对于从训练数据集合选择的环境的实际观察的对应序列和动作序列迭代地执行依赖于预测的预测或与立于预测的预测,作为用于训练层的卷积机器学习训练技术的一部分,例如通过时间反向传播(BPTT)下降的随机梯度。
训练技术寻求根据目标函数、在训练数据集合上迭代地调整***的参数,以便优化***的性能。在一些实现方式中,目标函数的形式如下:
本说明书使用与***和计算机程序组件相关的术语“被配置”。对于要配置为执行特定操作或动作的一个或多个计算机的***,意味着***已在其上安装了软件、固件、硬件或它们的组合,其在操作中使得***执行操作或动作。对于要被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使得装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以实现在数字电子电路中、有形体现的计算机软件或固件中、在计算机硬件中,包括本说明书中公开的结构及其结构等同物;或者实现在以上的一个或多个的组合中。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或者以上的一个或多个的组合。可替代地或另外地,程序指令可以在人工生成的传播信号上编码,所述信号例如机器生成的电、光或电磁信号,其被生成为对信息进行编码以用于传输到合适的接收器装置以供数据处理装置执行。
术语“数据处理装置”指的是数据处理硬件并且包含用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置还可以是或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以可选地包括为计算机程序创建执行环境的代码,例如,构成下述的代码:处理器固件、协议栈、数据库管理***、操作***或者以上的一个或多个的组合。
也可以被称为或描述为程序、软件、软件应用程序、应用(app)、模块、软件模块、脚本或代码的计算机程序可以用任何形式的编程语言编写,包括编译或解释性语言或者声明性或过程性语言;并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。程序可以但不必对应于文件***中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如,以标记语言文档存储的一个或多个脚本,专用于所讨论的程序的单个文件中,或者存储在多个协调文件中,例如,存储一个或多个模块、子程序或代码部分的文件。可以部署计算机程序以在一个计算机上或在位于一个站点上或跨多个站点分布并且通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“引擎”广泛用于指代被编程为执行一个或多个特定功能的基于软件的***、子***或进程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定的引擎;在其他情况下,可以在相同的一个或多个计算机上安装和运行多个引擎。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并且生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)或专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),以从其接收数据或将数据传输到其或者两者。但是,计算机不必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器等等。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移除盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,所述计算机具有显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,以用于向用户显示信息;以及键盘和指点设备(例如,鼠标或轨迹球),用户可通过该设备向计算机提供输入。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以包括声学、语音或触觉输入的任何形式接收来自用户的输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互,例如,通过响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器。另外,计算机可以通过向个人设备(例如,运行消息收发应用程序的智能电话)发送文本消息或其他形式的消息并且作为回应从用户接收响应消息,来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,以用于处理机器学习训练或生产(即,推断)工作负载的公共和计算密集部分。
可以使用例如TensorFlow框架、Microsoft认知工具包框架、Apache Singa框架或Apache MXNet框架的机器学习框架来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以在计算***中实现,所述计算***包括后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如,具有图形用户界面、网络浏览器或应用程序的客户端计算机,用户可通过其与本说明书中描述的主题的实现方式进行交互;或者包括一个或多个这样的后端、中间件或前端组件的任何组合。***的组件可以通过例如通信网络的任何形式或介质的数字数据通信互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从用户接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体的实现细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是作为可能特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中切除来自要求保护的组合的一个或多个特征,并且要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中描绘并且以特定顺序在权利要求中叙述操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这些操作,或者要进行所有示出的操作以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种***模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和***通常可以集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的处理不一定需要所示的特定顺序或连续顺序来实现期望的结果。在一些情况下,多任务处理和并行处理可能是有利的。
Claims (27)
1.一种计算***,包括:
递归神经网络,由一个或多个计算机实现并且被配置为在多个时间步骤中的每个处:
接收先前的时间步骤的先前的动作,所述先前的动作是在先前的时间步骤处由与环境交互的代理执行的或者在先前的时间步骤处由所述代理要执行的动作;
使用先前的动作从先前的时间步骤更新递归神经网络的先前的初始隐藏状态,以生成该时间步骤的初始隐藏状态;以及
至少使用该时间步骤的初始隐藏状态从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态;以及
使用该时间步骤的单元状态确定该时间步骤的最终隐藏状态,
其中,在所述多个时间步骤的一个或多个初始时间步骤中的每个处:
接收表征在先前的时间步骤处的环境的实际状态的先前的实际观察的编码表示;以及
使用先前的实际观察的编码表示和该时间步骤的初始隐藏状态,从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态;以及
解码器神经网络,由一个或多个计算机实现并且被配置为在多个时间步骤中的一个或多个时间步骤中的每个处:
接收该时间步骤的最终隐藏状态;以及
处理最终隐藏状态以生成表征该时间步骤处的环境的预测状态的预测观察。
2.根据权利要求1所述的***,其中,所述预测观察是在该时间步骤处的环境的预测图像。
3.根据权利要求1或权利要求2中任何一项所述的***,其中,更新所述先前的初始隐藏状态包括:
将第一参数矩阵应用于先前的最终隐藏状态以生成变换的先前的最终隐藏状态;
将第二参数矩阵应用于先前的动作以生成变换的先前的动作;以及
将变换的先前的隐藏状态和变换的先前的动作组合,以生成初始隐藏状态。
4.根据权利要求1或2中任一项所述的***,其中,更新所述先前的初始隐藏状态包括:
对于不同动作,应用具有不同参数的维度保持卷积。
5.根据权利要求1所述的***,还包括:
编码器神经网络,由一个或多个计算机实现并且被配置为在一个或多个初始时间步骤中的每个处:
接收先前的实际观察;以及
处理先前的实际观察以生成先前的实际观察的编码表示。
6.根据权利要求1或权利要求5中任何一项所述的***,其中,所述递归神经网络还被配置为:
在一个或多个初始时间步骤之后的多个时间步骤的每个时间步骤处:
接收由解码器神经网络生成的先前的预测观察的编码表示,所述先前的预测观察表征在先前的时间步骤处的环境的预测状态;以及
使用先前的预测观察的编码表示和该时间步骤的初始隐藏状态,从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态。
7.根据权利要求6所述的***,其中,所述解码器神经网络被配置为在一个或多个初始时间步骤之后的每个时间步骤处生成预测观察。
8.根据权利要求1或权利要求2中任何一项所述的***,其中,所述递归神经网络还被配置为:
在一个或多个初始时间步骤之后的多个时间步骤中的每个时间步骤处:
使用该时间步骤的初始隐藏状态和代替先前的实际观察的编码表示的来自先前的时间步骤的先前的最终隐藏状态,从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态。
9.根据权利要求8所述的***,其中,所述递归神经网络对于初始时间步骤中的每个使用第一参数集合,并且对于在一个或多个初始时间步骤之后的每个时间步骤使用第二参数集合。
10.根据权利要求8所述的***,其中,所述解码器神经网络被配置为仅在一个或多个初始时间步骤之后的时间步骤的子集处生成预测观察。
11.一个或多个计算机存储介质,存储指令,所述指令在由一个或多个计算机执行时使得一个或多个计算机实现根据权利要求1至权利要求10中任何一项所述的相应的***。
12.一种计算机实现的方法,包括:
对于一个或多个初始时间步骤中的每个,获得表征在先前的时间步骤处的环境的实际状态的先前的实际观察的编码表示以及响应于动作由与环境交互的代理执行的先前的动作;
在每个初始时间步骤处,使用根据权利要求5所述的递归神经网络来处理先前的实际观察的编码表示和先前的动作;
在初始时间步骤的最后一个时间步骤之后的多个时间步骤中的每个处,获得识别由代理要执行的相应的动作的数据;以及
对于初始时间步骤的最后一个时间步骤之后的多个时间步骤中的每个,使用根据权利要求6至权利要求10中任何一项所述的递归神经网络和解码器神经网络来处理先前的时间步骤处的先前的动作,以生成一个或多个预测观察。
13.一种计算***,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行根据权利要求12所述的方法的操作。
14.一个或多个计算机存储介质,存储指令,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行根据权利要求12所述的方法的操作。
15.一种计算机实现的方法,包括:
在由一个或多个计算机实现的递归神经网络中,在多个时间步骤中的每个处:
接收先前的时间步骤的先前的动作,所述先前的动作是在先前的时间步骤由与环境交互的代理执行的或者在先前的时间步骤由代理要执行的动作;
使用先前的动作从先前的时间步骤更新递归神经网络的先前的初始隐藏状态,以生成该时间步骤的初始隐藏状态;以及
至少使用该时间步骤的初始隐藏状态来从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态;以及
使用该时间步骤的单元状态确定该时间步骤的最终隐藏状态,
其中,在所述多个时间步骤的一个或多个初始时间步骤中的每个处:
接收表征在先前的时间步骤处的环境的实际状态的先前的实际观察的编码表示;以及
使用先前的实际观察的编码表示和该时间步骤的初始隐藏状态,从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态;以及
在由一个或多个计算机实现的解码器神经网络中,在多个时间步骤中的一个或多个时间步骤中的每个处:
接收该时间步骤的最终隐藏状态;以及
处理最终隐藏状态以生成表征该时间步骤处的环境的预测状态的预测观察。
16.根据权利要求15所述的方法,其中,所述预测观察是在该时间步骤处的环境的预测图像。
17.根据权利要求15或权利要求16中任何一项所述的方法,其中,更新先前的初始隐藏状态包括:
将第一参数矩阵应用于先前的最终隐藏状态以生成变换的先前的最终隐藏状态;
将第二参数矩阵应用于先前的动作以生成变换的先前的动作;以及
将变换的先前的隐藏状态和变换的先前的动作组合,以生成初始隐藏状态。
18.根据权利要求15或权利要求16中任何一项所述的方法,其中,更新先前的初始隐藏状态包括:
对于不同动作,应用具有不同参数的维度保持卷积。
19.根据权利要求15所述的方法,还包括:
在由一个或多个计算机实现的编码器神经网络中,在一个或多个初始时间步骤中的每个处:
接收先前的实际观察;以及
处理先前的实际观察以生成先前的实际观察的编码表示。
20.根据权利要求15或权利要求19中任何一项所述的方法,其中,所述方法还包括,在所述递归神经网络中:
在一个或多个初始时间步骤之后的多个时间步骤中的每个时间步骤处:
接收由解码器神经网络生成的先前的预测观察的编码表示,所述先前的预测观察表征在先前的时间步骤处的环境的预测状态;以及
使用先前的预测观察的编码表示和该时间步骤的初始隐藏状态,从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态。
21.根据权利要求20所述的方法,其中,所述方法还包括,在所述解码器神经网络中,在一个或多个初始时间步骤之后的每个时间步骤处生成预测观察。
22.根据权利要求15或权利要求19中任何一项所述的方法,其中,所述方法还包括,在所述递归神经网络中:
在一个或多个初始时间步骤之后的多个时间步骤中的每个时间步骤处:
使用该时间步骤的初始隐藏状态和代替先前的实际观察的编码表示的来自先前的时间步骤的先前的最终隐藏状态,从先前的时间步骤更新递归神经网络的先前的单元状态,以生成该时间步骤的单元状态。
23.根据权利要求22所述的方法,其中,所述递归神经网络对于每个初始时间步骤使用第一参数集合,并且对于在一个或多个初始时间步骤之后的每个时间步骤使用第二参数集合。
24.根据权利要求22所述的方法,其中,所述解码器神经网络仅在一个或多个初始时间步骤之后的时间步骤的子集处生成预测观察。
25.根据权利要求20所述的方法,包括:
对于一个或多个初始时间步骤中的每个,获得表征在先前的时间步骤处的环境的实际状态的先前的实际观察的编码表示以及响应于动作由与环境交互的代理执行的先前的动作;
在每个初始时间步骤处,使用根据权利要求15所述的递归神经网络处理先前的实际观察的编码表示和先前的动作;
在初始时间步骤的最后一个时间步骤之后的多个时间步骤中的每个处,获得识别由代理要执行的相应的动作的数据;以及
对于初始时间步骤的最后一个时间步骤之后的多个时间步骤中的每个,使用根据权利要求20至权利要求24中任何一项所述的递归神经网络步骤和解码器神经网络步骤来处理先前的时间步骤的先前的动作,以生成一个或多个预测观察。
26.一种计算***,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行根据权利要求15至权利要求25中任何一项所述的方法的操作。
27.一个或多个计算机存储介质,存储指令,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行根据权利要求15至权利要求25中任何一项所述的方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662418149P | 2016-11-04 | 2016-11-04 | |
US62/418,149 | 2016-11-04 | ||
PCT/IB2017/056904 WO2018083669A1 (en) | 2016-11-04 | 2017-11-04 | Recurrent neural networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110114784A CN110114784A (zh) | 2019-08-09 |
CN110114784B true CN110114784B (zh) | 2023-06-02 |
Family
ID=60515746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780080770.3A Active CN110114784B (zh) | 2016-11-04 | 2017-11-04 | 递归环境预测器及其方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10713559B2 (zh) |
EP (1) | EP3523761B1 (zh) |
CN (1) | CN110114784B (zh) |
WO (1) | WO2018083669A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3103470A1 (en) | 2018-06-12 | 2019-12-19 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
US11455530B2 (en) * | 2018-11-20 | 2022-09-27 | Google Llc | Controlling agents using scene memory data |
US11313950B2 (en) | 2019-01-15 | 2022-04-26 | Image Sensing Systems, Inc. | Machine learning based highway radar vehicle classification across multiple lanes and speeds |
DE102019105280A1 (de) * | 2019-03-01 | 2020-09-03 | Friedrich-Alexander-Universität Erlangen-Nürnberg | Autonomes selbstlernendes System |
US11025061B2 (en) * | 2019-03-28 | 2021-06-01 | Accenture Global Solutions Limited | Predictive power usage monitoring |
US11587552B2 (en) | 2019-04-30 | 2023-02-21 | Sutherland Global Services Inc. | Real time key conversational metrics prediction and notability |
US12008455B2 (en) | 2019-06-18 | 2024-06-11 | Driverbase Inc. | Personalized vehicle recommender system |
US11645518B2 (en) | 2019-10-07 | 2023-05-09 | Waymo Llc | Multi-agent simulations |
EP3851560A1 (en) * | 2020-01-16 | 2021-07-21 | Recherche 2000 Inc. | Methods and systems for detecting faults in electrolysers having electrolysis cells |
JP2022143969A (ja) * | 2021-03-18 | 2022-10-03 | 株式会社東芝 | データ生成装置、データ生成方法、制御装置、制御方法及びプログラム |
US12014398B2 (en) * | 2021-07-07 | 2024-06-18 | Baidu Usa Llc | Systems and methods for gating-enhanced multi-task neural networks with feature interaction learning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868829A (zh) * | 2015-02-06 | 2016-08-17 | 谷歌公司 | 用于数据项生成的循环神经网络 |
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
-
2017
- 2017-11-04 EP EP17807935.6A patent/EP3523761B1/en active Active
- 2017-11-04 WO PCT/IB2017/056904 patent/WO2018083669A1/en unknown
- 2017-11-04 CN CN201780080770.3A patent/CN110114784B/zh active Active
-
2019
- 2019-05-03 US US16/403,352 patent/US10713559B2/en active Active
-
2020
- 2020-06-05 US US16/893,565 patent/US11200482B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868829A (zh) * | 2015-02-06 | 2016-08-17 | 谷歌公司 | 用于数据项生成的循环神经网络 |
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Non-Patent Citations (1)
Title |
---|
"Action-Conditional Video Prediction using Deep Networks in Atari Games";Junhyuk Oh等;《arXiv》;20151222;第1-26页 * |
Also Published As
Publication number | Publication date |
---|---|
US11200482B2 (en) | 2021-12-14 |
WO2018083669A1 (en) | 2018-05-11 |
US20200342289A1 (en) | 2020-10-29 |
US10713559B2 (en) | 2020-07-14 |
EP3523761B1 (en) | 2023-09-20 |
US20190266475A1 (en) | 2019-08-29 |
EP3523761A1 (en) | 2019-08-14 |
CN110114784A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110114784B (zh) | 递归环境预测器及其方法 | |
US20220284266A1 (en) | Reinforcement learning using advantage estimates | |
US11842261B2 (en) | Deep reinforcement learning with fast updating recurrent neural networks and slow updating recurrent neural networks | |
US11741334B2 (en) | Data-efficient reinforcement learning for continuous control tasks | |
CN107851216B (zh) | 一种用于选择待由与环境进行交互的强化学习代理执行的动作的方法 | |
CN108027897B (zh) | 利用深度强化学习的连续控制 | |
CN110546653B (zh) | 使用管理者和工作者神经网络的用于强化学习的动作选择 | |
US10860927B2 (en) | Stacked convolutional long short-term memory for model-free reinforcement learning | |
EP3593293B1 (en) | Imagination-based agent neural networks | |
CN110447041B (zh) | 噪声神经网络层 | |
US11636347B2 (en) | Action selection using interaction history graphs | |
US20210158162A1 (en) | Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space | |
JP7181415B2 (ja) | 観測値の尤度を使用して環境を探索するためのエージェントを制御すること | |
JP7354460B2 (ja) | ブートストラップされた潜在性の予測を使用するエージェント制御のための学習環境表現 | |
CN114261400A (zh) | 一种自动驾驶决策方法、装置、设备和存储介质 | |
US20240220774A1 (en) | Deep reinforcement learning with fast updating recurrent neural networks and slow updating recurrent 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |