CN112313672A - 用于无模型强化学习的堆叠的卷积长短期记忆 - Google Patents

用于无模型强化学习的堆叠的卷积长短期记忆 Download PDF

Info

Publication number
CN112313672A
CN112313672A CN201980040637.4A CN201980040637A CN112313672A CN 112313672 A CN112313672 A CN 112313672A CN 201980040637 A CN201980040637 A CN 201980040637A CN 112313672 A CN112313672 A CN 112313672A
Authority
CN
China
Prior art keywords
neural network
layer
time step
state
instant
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
CN201980040637.4A
Other languages
English (en)
Inventor
迈赫迪·米尔扎穆罕默迪
亚瑟·克莱蒙特·格斯
卡罗尔·格雷戈尔
里沙巴·卡布拉
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 CN112313672A publication Critical patent/CN112313672A/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/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/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • 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/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

方法、系统和装置,包括编码在计算机存储介质上的计算机程序,用于控制与环境交互的代理。方法中的一种方法包括获取观察的表示;使用包括多个卷积长短期记忆LSTM神经网络层的卷积LSTM神经网络来处理表示;使用动作选择神经网络处理该时间步长的包括最终LSTM隐藏状态输出的动作选择输入,该动作选择神经网络被配置为接收动作选择输入并处理该动作选择输入以生成将定义在该时间步长处要由代理执行的动作的动作选择输出:根据动作选择策略,从动作选择输出中选择在该时间步长处要由代理执行的动作;以及使代理执行所选择的动作。

Description

用于无模型强化学习的堆叠的卷积长短期记忆
背景技术
本说明书涉及强化学习。
在强化学习系统中,代理通过执行动作来与环境交互,该动作是由强化学习系统响应于接收到表征环境当前状态的观察而选择的。
一些强化学习系统根据神经网络的输出响应于接收到给定的观察来选择要由代理执行的动作。
神经网络是机器学习模型,该机器学习模型采用一层或多层非线性单元来预测针对接收到的输入的输出。一些神经网络是除了输出层以外还包括一个或多个隐藏层的深度神经网络。每个隐藏层的输出被用作网络中下一层的输入,即,下一个隐藏层或输出层。网络的每一层根据相应的参数集的当前值从所接收的输入生成输出。
发明内容
本说明书总体上描述了一种控制与环境交互的代理的强化学习系统。
特别地,强化学习系统包括控制神经网络系统,该控制神经网络系统又至少包括卷积长短期记忆(convLSTM)神经网络和动作选择神经网络。convLSTM神经网络包括多个convLSTM神经网络层,该多个convLSTM神经网络层一个接一个地设置在堆栈中。
在一个创新方面中,描述了一种用于控制代理与环境交互的系统,该系统包括一个或多个计算机和一个或多个存储设备,该存储设备存储有指令,这些指令在由一个或多个计算机执行时使一个或多个计算机实施控制神经网络系统。
控制神经网络系统可以包括卷积长短期记忆(LSTM)神经网络,该LSTM神经网络包括多个卷积LSTM神经网络层,该多个卷积LSTM神经网络层一个接一个地设置在堆栈中。卷积LSTM神经网络可以被配置为在多个时间步长中的每一个时间步长处,接收表征环境在该时间步长处的状态的观察的表示并且处理(i)表示和(ii)卷积LSTM神经网络的直到该时间步长为止的状态以(iii)生成该时间步长的最终LSTM隐藏状态输出并且(iv)更新卷积LSTM神经网络在该时间步长的状态。控制神经网络系统可以进一步包括动作选择神经网络,该动作选择神经网络被配置为在多个时间步长中的每一个时间步长处,接收动作选择输入,该动作选择输入包括该时间步长的最终LSTM隐藏状态输出,并且被配置为处理动作选择输入,以根据动作选择策略生成动作选择输出,该动作选择输出定义在该时间步长处要由代理执行的动作。
在实施方式中,直到该时间步长为止的状态包括堆栈中的每个卷积LSTM层的相应单元状态和相应隐藏状态。该时间步长的最终LSTM隐藏状态输出可以包括在该时间步长的更新状态下的堆栈中的最后一个的卷积LSTM层的隐藏状态。
ConvLSTM层结构可能有助于在网络中保存空间信息,并且重复convLSTM层可能促进系统中多个不同级别的序列处理,从而促进通常需要计划的任务,例如,因为它们具有组合和/或过程方面。因此,可以允许在延长的时间段存储空间信息的基于convLSTM的处理与以系统内的层次结构的处理这样的信息的序列的组合可以提供协同组合,该协同组合特别擅长学习解决将预期需要计划的类型的困难的强化学习问题,而不需要在系统内包括环境的显式模型。
在实施方式中,卷积LSTM神经网络可以被配置为处理每个时间步长的N个瞬间,其中,N大于1。处理可以包括:对于N个瞬间中的每一个,处理(i)表示和(ii)卷积LSTM神经网络的直到该瞬间为止的状态以更新该瞬间的卷积LSTM神经网络的状态。该时间步长的最终LSTM隐藏状态输出可以包括在该时间步长的第N个瞬间之后的堆栈中的最后一个卷积LSTM层的隐藏状态。该时间步长的卷积LSTM神经网络的更新后的状态可以包括该时间步长的第N个瞬间之后的卷积LSTM神经网络的更新后的状态。直到该时间步长的N个瞬间中的第一个瞬间为止的卷积LSTM神经网络的状态可以包括前一时间步长的卷积LSTM神经网络的更新后的状态。
这种方法可以促进任务的执行,这些任务通常需要在多个时间步长内进行计划,但是提供额外的时间步长间隔,即瞬间,在此期间,系统可以在采取动作之前进行计划。
在实施方式中,堆栈中的每个卷积LSTM神经网络层可以被配置为在N个瞬间中的每一个瞬间,处理此瞬间的层输入,以更新到该瞬间为止的卷积LSTM神经网络层的单元状态和隐藏状态。除了堆栈中的第一层之外的每个特定卷积LSTM神经网络层的瞬间的层输入都可以包括紧接在堆栈中的特定层之前的层的瞬间的更新后的隐藏状态。堆栈中的每个层的瞬间的层输入可以包括时间步长的表示。对于N个瞬间中的第一个之外的每个瞬间,堆栈中的第一层的瞬间的层输入可以包括前一瞬间的堆栈中的最后一层的更新后的隐藏状态。对于N个瞬间中的第一个,堆栈中的第一层的瞬间的层输入可以包括前一时间步长的堆栈中的最后一层的更新后的隐藏状态。这可以进一步促进执行任务,这些任务可以从在采取动作之前的多个瞬间内进行的计划中受益。
在一些实施方式中,卷积LSTM神经网络进一步被配置为对每个瞬间和每个卷积LSTM层执行以下操作:对于时间步长的层的更新后的隐藏状态的每个通道维度,空间地应用一个或多个池化操作,以生成通道维度的一个或多个池化输出,使用与卷积LSTM层对应的线性层来投影池化输出,以生成投影输出,并且在空间上平铺投影输出以生成总结张量(summary tensor)。堆栈中的每一层的瞬间的层输入可以包括前一瞬间的层的总结张量,或如果瞬间是时间步长的第一瞬间,则层输入包括前一时间步长的第N个瞬间的层的总结张量。一个或多个池化操作包括最大池化操作、平均池化操作或两者。这可能有助于信息通过系统更快地传播,并且因此可能改进期望更快的响应的任务的性能和/或可能促进任务的更快地学习。
在一些实施方式中,卷积LSTM神经网络可以被配置为将特征图附加到堆栈中的卷积LSTM层的卷积算子的输入,该特征图将输入张量的边界指派给卷积算子。当观察包括图像并且边界限定出图像的边缘时,这可能促进系统学习以执行任务。
在一些实施方式中,动作选择单元可以进一步包括时间步长的表示。
神经网络系统可以进一步包括编码器神经网络,该编码器神经网络被配置为在多个时间步长中的每一个时间步长处,处理表征该时间步长处的环境的状态的观察,以生成该时间步长的观察的表示。观察可以包括环境的图像,并且编码器神经网络可以包括一个或多个卷积层。动作选择神经网络包括一个或多个全连接层。
在一些实施方式中,表示包括H×W×C张量。卷积LSTM神经网络的状态和最终LSTM隐藏状态输出可以保存表示的空间维度。
描述了一种控制与环境交互的代理的方法。方法可以包括以下内容:在多个时间步长中的每一个时间步长处,获得表征该时间步长处的环境的状态的观察的表示。方法可以进一步包括:在每个时间步长处,使用卷积长短期记忆(LSTM)神经网络来处理表示,该LSTM神经网络包括多个卷积LSTM神经网络层,该多个卷积LSTM神经网络层一个接一个地设置在堆栈中。卷积LSTM神经网络可以被配置为接收表征环境在该时间步长处的状态的观察的表示并且处理(i)表示和(ii)卷积LSTM神经网络的直到该时间步长为止的状态,以(iii)生成该时间步长的最终LSTM隐藏状态输出并且(iv)更新卷积LSTM神经网络在该时间步长处的状态。方法可以进一步包括:在每个时间步长处,使用动作选择神经网络来处理动作选择输入,该动作选择输入包括该时间步长的最终LSTM隐藏状态输出,该动作选择神经网络被配置为接收动作选择输入,并且被配置为处理动作选择输入,以根据动作选择策略生成动作选择输出,该动作选择输出定义在该时间步长处要由代理执行的动作。方法可以进一步包括:在每个时间步长处,根据动作选择策略从动作选择输出中选择在该时间步长处要由代理执行的动作。方法可以进一步包括使代理在每个时间步长处执行所选择的动作。
方法的进一步的特征可以与控制神经网络系统的前述特征对应。
本说明书中所描述的主题的特定实施例可以实施以便实现以下优点中的一个或多个。
所描述的神经网络系统具有高容量和支持迭代计算的架构。这种架构所提供的增加的容量先前被认为是不利于实现强化学习任务的高性能,因为这种神经网络被认为是难以训练和更倾向于对训练数据进行过拟合,并且简单地记忆经验,从而导致训练后的不良泛化。因此,这种架构到目前为止已经被弃用于涉及控制代理的强化学习任务。
然而,由于所描述的神经网络系统通过convLSTM神经网络层的堆栈在2D空间中采用递归,并且该递归在给定时间步长内的迭代(通过处理该时间步长内的多个瞬间)的方式,所描述的系统表现出高性能,特别是需要计划、具有有限数量的训练数据或者两者的任务。另外,在(每个都有固定的计算成本)内,所描述的系统在每个都有固定的计算成本的多个步长内表现出“学习的思考”并且分摊困难的决定,即困难的动作选择。更一般地说,与本领域技术人员先前的预期相反,所描述的神经网络系统的“过度灵活性”(或高计算性质)不会导致较差的性能(例如过拟合或难以优化),而是导致对几个不同的代理控制任务的现有技术性能。
本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其它特征、方面和优点将变得显而易见。
附图说明
图1示出示例的强化学习系统。
图2示出控制神经网络在两个时间步长处的处理的示例。
图3是用于选择动作的示例过程的流程图。
图4示出在需要计划的任务上所描述的系统的性能相对于其他常规系统的性能。
在各个附图中,相同的附图标记和名称表示相同的元件。
具体实施方式
本说明书描述了一种强化学习系统,该强化学习系统通过在多个时间步长中的每一个时间步长处,处理表征环境在该时间步长处的当前状态的数据(即“观察”)以选择由代理执行的动作,来控制与环境交互的代理。
在每个时间步长处,环境在该时间步长处的状态都取决于环境在前一时间步长处的状态和由代理在前一时间步长处执行的动作。
在一些实施方式中,环境是现实环境,并且代理是与现实环境交互的机械代理,例如通过环境导航的机器人或自主或半自主的陆地、空中或海上车辆。
在这些实施方式中,例如,观察可以包括以下项中的一个或多个:图像、对象方位数据和在代理与环境交互时捕获观察的传感器数据,例如来自图像、距离或方位传感器或来自致动器的传感器数据。
例如,在机器人的情况下,观察可以包括表征机器人的当前状态的数据,例如以下项中的一个或多个:关节方位、关节速度、关节力、扭矩或加速度,例如重力补偿扭矩反馈、以及机器人所持的物体的全局或相对姿态。
在机器人或其他机械代理或车辆的情况下,观察同样可以包括方位、线性或角速度、力、扭矩或加速度和代理的一个或多个部分的全局或相对姿态中的一个或多个。观察可以被限定为1维、2维或3维,并且可以是绝对的观察和/或相对的观察。
例如,观察还可以包括感测到的电子信号,诸如电机电流或温度信号;和/或例如来自摄像头或LIDAR传感器的图像或视频数据,例如来自代理的传感器的数据或来自被定位为与环境中的代理分开的传感器的数据。
在这些实施方式中,动作可以是用于控制机器人的控制输入,例如用于机器人或更高级控制命令,或者关节或自主或半自主陆地、空中、海上车辆的扭矩,例如用于车辆的控制表面或其他控制元件或更高级控制命令的扭矩。
换言之,例如,动作可以包括机器人的一个或多个关节或另一个机械代理的部分的方位、速度或力/扭矩/加速度数据。动作数据可以附加地或可替代地包括电子控制数据,诸如电机控制数据,或更一般地是用于控制环境内的一个或多个电子装置的数据,对这些电子装置的控制会对环境的观察状态产生影响。例如,在自主或半自主的陆地或空气或海上车辆的情况下,动作可以包括用于控制导航的动作(例如转向)以及移动,例如车辆的制动和/或加速。
在电子代理的情况下,观察可以包括用于监测工厂或服务设施的一部分的一个或多个传感器的数据,诸如电流、电压、功率、温度和表示设备的电子和/或机械项目的功能的其他传感器信号和/或电子信号。例如,现实环境可能是制造工厂或服务设施,观察可能与工厂或设施的操作有关,例如与资源的使用(诸如电力消耗)有关,并且代理可以控制工厂/设施中的动作或操作,例如以减少资源使用。在一些其他实施方式中,现实环境可能是再生能源工厂,观察可能与工厂的操作有关,例如以最大化当前或未来计划的发电,并且代理可以控制工厂的动作或操作来实现这一点。
在一些其他应用中,代理可以控制包括设备的项目的现实环境的动作,例如在数据中心中、在功率/水分配系统中或在制造工厂或服务设施中。观察然后可以与工厂或设施的操作有关。例如,观察可以包括对设备所使用的功率或水的观察、或对发电或配电控制的观察或对资源的使用或废物产生的观察。动作可以包括控制或强加操作条件到工厂/设施的设备的项目上、和/或导致到工厂/设施的操作中的设置改变,例如以调整或打开/关闭工厂/设施的组件的动作。
作为另一个示例,环境可以是化学合成或蛋白质折叠环境,使得每一种状态都是蛋白质链或一种或多种中间体或前体化学品的相应状态,并且代理是用于确定如何折叠蛋白质链或合成化学品的计算机系统。在该示例中,动作是用于折叠蛋白质链的可能的折叠动作或用于组装前体化学品/中间体的动作,并且例如,要达到的结果可能包括折叠蛋白质,使得蛋白质稳定,并且使得它实现特定的生物功能或为化学品提供有效的合成途径。作为另一个示例,代理可以是机械代理,该机械代理执行或控制由系统自动选择的蛋白质折叠动作或化学合成步骤,而无需人类相互作用。观察可以包括对蛋白质或化学品/中间体/前体的状态的直接或间接观察和/或可以通过模拟导出。
在一些实施方式中,环境可以是模拟环境,并且代理可以实施为与模拟环境交互的一个或多个计算机。
模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且代理可以是通过运动模拟导航的模拟车辆。在这些实施方式中,动作可以是用于控制模拟用户或模拟车辆的控制输入。
在一些实施方式中,模拟环境可以是对特定现实环境的模拟。例如,系统可以在控制神经网络的训练或评估期间被用来选择模拟环境中的动作,并且在完成训练或评估或两者之后,可以被用于控制由模拟环境模拟的现实环境中的现实代理。这可以避免对现实环境或现实代理造成不必要的磨损和损坏,并且可以允许在现实环境中很少发生或难以重新创建的情况下对控制神经网络进行训练和评估。
通常,在模拟环境的情况下,观察可以包括先前观察或观察类型中的一个或多个的模拟版本,并且动作可以包括一个或多个先前描述的动作或动作的类型中的一个或多个的模拟版本。
图1示出了示例强化学习系统100。该强化学习系统100是实施为在一个或多个位置的一个或多个计算机上的计算机程序的系统的示例,在该一个或多个位置中,实施了下面所描述的系统、组件和技术。
系统100通过选择要由代理102执行的动作106并且然后使代理102执行所选的动作106,来控制与环境104交互的代理102。
代理102对所选择的动作106的执行,通常会使环境104转换到新的状态。通过重复使代理102在环境104中起作用,系统100可以控制代理102来完成指定任务。
系统100包括控制神经网络系统110、训练引擎150和存储控制神经网络110的一组模型参数118的一个或多个存储器。
在多个时间步长中的每一个时间步长处,控制神经网络110被配置为根据模型参数118处理包括表征环境104的当前状态的当前观察120的输入,以生成动作选择输出122。
系统100使用动作选择输出122来控制代理,即根据动作选择策略在当前时间步长处选择要由代理执行的动作106。
接下来描述使用动作选择输出122来选择要由代理执行的动作106的几个示例。
在一个示例中,动作选择输出122定义要由代理执行的可能的动作的概率分布。例如,动作选择输出可以包括可以由代理执行以与环境交互的一组可能的动作中的每个动作的相应动作概率。在另一个示例中,动作选择输出122可以包括一组可能的动作的分布的参数。系统100可以基于动作选择输出122使用各种动作选择策略中的任何一种选择要由代理执行的动作,例如通过根据动作的概率值对动作进行采样或通过选择有最高概率值的动作。
在另一个示例中,动作选择输出122从要由代理响应于观察执行的一组可能的动作中识别出最佳动作。例如,在控制机械代理的情况下,动作选择输出可以识别要应用于机械代理的一个或多个关节的扭矩。系统100可以基于动作选择输出122使用各种动作选择策略中的任何一种,选择要由代理执行的动作,例如通过选择识别到的最佳动作或通过将噪声添加到最佳动作以支持探索并且选择添加了噪声的动作。
在另一个示例中,动作选择输出122可以包括可以由代理执行的一组可能的动作中的每个动作的相应Q值。
动作的Q值是对“回报”的估计,该“回报”是将由代理响应于当前观察120执行动作并且之后根据控制神经网络参数的当前值选择由代理102执行的未来动作而产生的。
回报指的是由代理接收到的“奖励”124的累计度量,例如奖励的时间折扣总和。代理可以在每个时间步长处接收相应的奖励124,其中,奖励124由标量数值指定,并且表征例如代理朝向完成指定任务的进度。
系统100可以基于动作选择输出122使用各种动作选择策略中的任何一种,选择要由代理执行的动作,例如通过选择有最高Q值的动作或通过将Q值映射到概率并且根据概率对动作进行采样。
在一些情况下,系统100可以根据探索策略选择要由代理执行的动作。例如,探索策略可以是∈-贪心探索策略,其中,系统100根据的动作选择输出122以概率1-∈选择要由代理执行的动作,并且以概率∈随机选择动作。在该示例中,∈是0到1之间的标量值。
在一些情况下,除了上述任何一个,动作选择输出122还可以包括值函数输出,该值函数输出是对值的估计,即在预测回报方面,处于由观察表征成功完成任务的当前状态。
控制神经网络110至少包括卷积长短期记忆(convLSTM)神经网络114和动作选择神经网络116。
convLSTM神经网络114包括多个convLSTM神经网络层,该多个convLSTM神经网络层一个接一个地设置在堆栈中。convLSTM神经网络层是LSTM层,该LSTM层在LSTM单元的每个门处都用卷积运算代替矩阵乘法。因此,convLSTM层的输入、单元状态和convLSTM layer的隐藏状态可以各自被表示为三维张量。
LSTM层可以包括LSTM单元,每个单元各自具有一个或多个门和存储器单元。存在多个LSTM变型,但是在广义上,一个或多个门在控制一个或多个信息在下一个时间步长内输入LSTM单元、被保留在LSTM单元中和离开LSTM单元或在相同的时间步长处到达另一个神经网络部件。LSTM层可以学习控制门的操作的权重矩阵,例如用于修改门的输入以生成输出的输入权重矩阵。在convLSTM中,权重矩阵被用于卷积运算的内核替代。因此,convLSTM层可以是神经网络层,该神经网络层包括convLSTM单元,每个convLSTM单元各自都有一个或多个门和用于处理层输入以生成输出的存储器单元,其中,一个或多个门各自都被配置为对门的输入执行卷积运算,以确定从用于生成输出的门的输出。
在代理102的控制期间的每个时间步长处,convLSTM神经网络114都被配置为接收表征环境104在该时间步长处的观察120的表示,并且处理(i)表示和(ii)convLSTM神经网络的直到该时间步长为止的状态,以(iii)生成该时间步长的最终LSTM隐藏状态并且(iv)更新该时间步长的convLSTM神经网络的状态。
如下面更详细地描述的,在一些实施方式中,convLSTM神经网络114针对每个时间步长多个“瞬间(tick)”进行处理,以生成该时间步长的最终LSTM隐藏状态输出,并且(iv)更新该时间步长的convLSTM神经网络的状态。在本说明书中所使用的瞬间是在给定时间步长处发生的处理的迭代。当convLSTM神经网络114在每个时间步长处的多个瞬间进行处理时,处理的多次迭代发生在系统响应于该时间步长处的观察而选择要由代理执行的动作之前。这可以允许convLSTM神经网络114在多次迭代中分摊计划决定,每次迭代都有固定的计算成本。换言之,与在每个时间步长处维持内部状态并且单次更新此内部状态作为控制代理的一部分的一些传统系统不同,convLSTM神经网络114在为时间步长生成动作选择输出之前在任何给定时间步长处多次更新状态(即在多个瞬间中的每个瞬间更新一次)。
下面参照图2和图3更详细地描述convLSTM神经网络114的操作。
动作选择神经网络116被配置为在时间步长中的每一个时间步长处,接收包括该时间步长的最终LSTM隐藏状态的动作选择输入,并且处理动作选择输入,以生成动作选择输出122,该动作选择输出122定义在时间步长处要由代理102执行的动作106。作为特定示例,动作选择神经网络116可以是全连接神经网络,即具有一个或多个全连接神经网络层,该全连接神经网络适用于生成输出,该输出具有正生成的动作选择输出的类型所需的维度数。
在一些实施方式中,存在从convLSTM神经网络114的输入到动作选择神经网络116的输入的剩余连接。换言之,在这些实施方式中,动作选择输入还包括由convLSTM神经网络114处理的观察120的表示。
在一些实施方式中,由convLSTM神经网络114接收的观察120的表示是观察120。
在其他实施方式中,控制神经网络110包括编码器神经网络112,该编码器神经网络112处理观察120,以生成作为输入被提供给convLSTM神经网络114的表示。例如,编码器神经网络112可以是卷积神经网络,该卷积神经网络处理观察,以生成固定大小的H×W×C张量,该张量是作为输入被提供给convLSTM神经网络114的表示。
训练引擎150被配置为通过基于代理与环境的交互重复更新控制神经网络110的模型参数118(即编码器神经网络112、convLSTM神经网络114和动作选择神经网络116的参数)来训练控制神经网络110。
特别地,训练引擎150使用强化学习来训练控制神经网络110,该强化学习使用因为在训练期间代理与环境交互而生成的观察120和奖励124。
通常,训练引擎150可以训练控制神经网络110,以增加通过代理使用任何适当的强化学习技术而接收到的回报(即奖励的累计度量)。训练引擎150可以用来训练控制神经网络110的技术的一个示例是KA3C技术,该KA3C技术在Mnih,V.、Badia,A.P.、Mirza,M.、Graves,A.、Lillicrap,T.、Harley,T.、Silver,D.和Kavukcuoglu的Asynchronous methodsfor deep reinforcement learning(深度强化学习的异步方法)中被描述。在2016年的机器学习的国际会议上,在第1928页到1937页。训练引擎150可以用来训练控制神经网络110的技术的另一个示例是IMPALA V跟踪技术,该IMPALA V跟踪技术在Espeholt,L.、Soyer,H.、Munos,R.、Simonyan,K.、Mnih,V.、Ward,T.、Doron,Y.、Firoiu,V.、Harley,T.、Dunning,I.等人的Impala:Scalable distributed deep-rl with importance weighted actor-learner architectures(Impala:具有重要性加权的角色-学习者架构的可扩展分布式深度-rl,arXiv预印本网站:1802.01561,2018。在一些情况下,系统100在训练过程中使用分布式框架,在训练中,多个代理与同一环境的不同副本交互。
图2示出了控制神经网络110在两个时间步长处的处理的示例。具体地,图2示出了控制神经网络110在时间步长t-1和时间步长t内如何生成动作选择输出。
在图2的示例中,控制神经网络110包括编码器神经网络112(还被指示为e)、convLSTM神经网络114和动作选择神经网络116。
进一步地,在图2的示例中,convLSTM神经网络114包括两个convLSTM层202和204(还分别被指示为θ1和θ2)。即,convLSTM层的堆栈的深度D为2。
ConvLSTM神经网络114在每个时间步长处的N=3个瞬间进行处理。即,convLSTM神经网络114在向动作选择网络116提供最终输出之前在每个时间步长处执行三次迭代。
因此,convLSTM神经网络114可以由参数D和N表征,这些参数可以根据要被学习的任务来选择。例如,D和N中的每一个都可以在1到10的范围内,例如,D和N中的每一个都可以等于3或D可以等于2并且N可以等于3或D可以等于4并且N可以等于2。
在时间步长t-1,控制神经网络110接收观察xt-1作为输入,并且处理观察xt-1,以生成观察xt-1的表示。
控制神经网络110然后使用convLSTM层202和204来处理表示,以生成时间步长的最终LSTM隐藏状态输出。如图2所示,最终LSTM隐藏状态输出是在时间步长t-1的第N个瞬间之后堆栈中的最后一层(即convLSTM层204)的更新后的隐藏状态。
动作选择神经网络116接收包括最终LSTM隐藏状态输出的输入,并且处理输入以生成时间步长t-1的动作选择输出。在图2的示例中,动作选择输出包括值输出Vt-1和策略输出πt-1,该策略输出定义可以由代理执行的一组动作的概率分布。系统然后可以根据动作选择策略使用策略输出来选择动作,并且然后使代理执行所选择的动作。
在时间步长t处,控制神经网络110接收观察xt作为输入,并且处理观察xt,以生成观察xt的表示。
控制神经网络110然后使用convLSTM层202和204来处理表示,以生成时间步长的最终LSTM隐藏状态输出。如图2所示,最终LSTM隐藏状态输出是在时间步长t的第N个瞬间之后堆栈中的最后一层(即convLSTM层204)的更新隐藏状态。
动作选择神经网络116接收包括最终LSTM隐藏状态输出的输入,并且处理输入以生成时间步t长的动作选择输出,即生成值输出Vt和策略输出πt,该策略输出定义可以由代理执行的一组动作的概率分布。系统然后可以根据动作选择策略使用策略输出来选择动作,并且然后使代理执行所选择的动作。
将参考在时间步长t处发生的处理来描述convLSTM神经网络中的convLSTM层的操作。然而,应当理解的是,相似的处理将在每个时间步长处发生,在该时间步长处,正使用控制神经网络110来控制代理。
在时间步长t处,convLSTM神经网络114被配置为接收观察xt的表示,并且处理(i)表示和到时间步长t为止的convLSTM神经网络114的状态,以(iii)生成该时间步长t的最终LSTM隐藏状态输出并且(iv)更新convLSTM神经网络114在时间步长t的状态。对于控制代理的第一时间步长,即任务小集(episode)中的第一时间步长,直到时间步长为止convLSTM神经网络114的状态可以是预先确定的或学习到的初始状态。对于控制代理的所有其他时间步长,到时间步长为止convLSTM神经网络114的状态是前一时间步长的convLSTM神经网络114的更新后的状态,即时间步长t-1之后convLSTM神经网络114的最终状态。
convLSTM神经网络114的状态通常包括堆栈中的每个convLSTM层的相应单元状态和相应隐藏状态。即,convLSTM层202和204各自维持相应的单元状态和相应的隐藏状态。因为层202和层204是convLSTM层,所以单元状态和隐藏状态是与矢量相反的三维张量。
时间步长的最终LSTM隐藏状态输出是该时间步长的更新后的状态下堆栈中的最后一个convLSTM层的隐藏状态,即convLSTM层204的更新隐藏状态。
如上所述,在一些实施方式中,convLSTM神经网络被配置为在每个时间步长的N个瞬间进行处理,其中,N是大于1的整数。特别地,在图2所示的示例中,N等于3。
在这些实施方式中,在N个瞬间中的每一个瞬间处,convLSTM神经网络处理(i)观察xt的表示和(ii)直到该瞬间为止convLSTM神经网络的状态,以更新convLSTM神经网络在瞬间的状态。
ConvLSTM神经网络然后使用最后一个瞬间之后的convLSTM神经网络的更新后的状态作为时间步长的更新后的状态,并且因此使用最后一个瞬间之后堆栈中的最后一个convLSTM层的隐藏状态。
通常,当在时间步长t的瞬间n处理给定输入时,堆栈中的第d个convLSTM层执行以下操作,以生成第n个瞬间
Figure BDA0002840994560000181
的层的更新后的单元状态和第n个瞬间
Figure BDA0002840994560000182
的层的更新后的隐藏状态:
Figure BDA0002840994560000183
其中it是时间步长t处的表示,
Figure BDA0002840994560000184
是前一瞬间之后层的单元状态,
Figure BDA0002840994560000185
是前一瞬间之后层的隐藏状态,并且
Figure BDA0002840994560000186
是第n个瞬间的层d-1(堆栈中的层d下面的层)的隐藏状态。这些量可以被共同称为第n个瞬间处的convLSTM层的层输入。
对于时间步长t处的n个瞬间中的第一个瞬间,系统从前一时间步长(即时间步长t-1)使用隐藏状态和单元状态。
在一些实施方式中,对于堆栈中的第一层,系统使用预先确定的固定隐藏状态来代替堆栈中的层d下面的层的隐藏状态,即,因为堆栈中的第一层下面没有层。
然而,在一些其他实施方式中,堆栈中的第一层的瞬间的层输入包括前一瞬间的堆栈中的最后一层的更新后的隐藏状态,来代替堆栈中的层d下面的层的隐藏状态。这可以允许更一般的计算,即,因为信息现在可以通过堆栈向下流动,而不是只向上流动,并且可以在不添加任何计算开销的情况下提高一些任务的网络性能。
在一些情况下,convLSTM层的层输入还可以包括每个瞬间的附加信息,即,it不仅可以指示表示,而且可以指示表示和层的附加输入的组合,例如深度连结。
例如,堆栈中的每一层的层输入可以包括前一瞬间的层的总结张量,或如果瞬间是时间步长的第一瞬间,则包括前一时间步长的第N个瞬间的层的总结张量。
通常,给定瞬间的层的总结张量是前一瞬间之后层的隐藏状态的池化版本。特别地,为了生成瞬间的总结张量,对于时间步长的层的更新隐藏状态的每个通道维度,convLSTM神经网络可以针对时间步长的层的更新后的隐藏状态,将一个或多个池化操作空间地应用于通道维度,以生成通道维度的一个或多个池化输出,即,沿空间维度聚集隐藏状态。即,系统可以为每个通道生成对应的池化矢量,该池化矢量是正被应用的每种池化操作(即最大池化、平均池化或最大池化和平均池化两者)的输出的连结。系统然后可以使用与convLSTM层对应的线性层来投影池化输出,即相应的池化矢量,以生成投影输出,并且然后在空间上平铺投影输出以生成总结张量,该总结张量具有与层数据中的其他张量相同的空间维度。
在给定瞬间的层输入中包括这种总结张量,可以允许信息在空间维度上比在convLSTM层的卷积内核的大小上传播得更快。例如,这可以允许控制神经网络的训练收敛得更快,并且减少训练过程中所消耗的计算资源的量。
更具体地,堆栈中的第d个convLSTM层在第n个瞬间执行以下操作以生成
Figure BDA0002840994560000191
Figure BDA0002840994560000192
Figure BDA0002840994560000193
Figure BDA0002840994560000194
Figure BDA0002840994560000195
Figure BDA0002840994560000196
Figure BDA0002840994560000197
其中,*指示卷积,⊙指示逐点乘法,
Figure BDA0002840994560000198
是convLSTM层的忘记门,
Figure BDA0002840994560000199
是convLSTM层的输入门,
Figure BDA00028409945600001910
是convLSTM层的输出门,每个W都是convLSTM层的相应卷积内核,并且每个b都是相应的偏差矢量。
在一些情况下,convLSTM神经网络可以被配置为将特征图附加到堆栈中的convLSTM层的卷积算子的输入,该特征图将输入张量的边界指派给卷积算子。即,因为卷积算子是平移不变的,所以网络可以将特征图附加到卷积算子的输入,该输入在边界具有1并且在内部具有0,以向显式识别边界的卷积算子提供信息。
在一些实施方式中,convLSTM神经网络的状态和最终LSTM隐藏状态输出保存观察的表示的空间维度。即,如果表示是H×W×C张量,则convLSTM神经网络的状态和最终LSTM隐藏状态输出也将具有与表示相同的空间维度(H×W)。
图3是在时间步长处选择动作的示例过程300的流程图。为了方便起见,将过程300描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,被适当地编程的强化学习系统(例如图1的强化学习系统100)可以执行过程300。
系统可以跨越多个时间步长重复执行过程300,以控制代理,即使代理与环境交互以执行任务。
系统接收观察(步骤302)。
系统使用convLSTM神经网络来处理观察的表示(步骤304)。
如上所述,在一些实施方式中,观察的表示是观察,而在其他实施方式中,系统使用编码器神经网络处理观察,以生成作为输入被提供到convLSTM神经网络的表示。
ConvLSTM神经网络被配置为接收表示,并且处理(i)表示和(ii)convLSTM神经网络的直到时间步长为止的状态,以(iii)生成该时间步长的最终LSTM隐藏状态输出并且(iv)更新该时间步长的convLSTM神经网络的状态。对于控制代理的第一时间步长,即任务小集中的第一时间步长,直到该时间步长为止convLSTM的状态可以是预先确定或学习到的初始状态。对于控制代理的所有其他时间步长,直到时间步长为止convLSTM的状态是前一时间步长的convLSTM神经网络的更新后的状态。
ConvLSTM神经网络的状态通常包括堆栈中的每个convLSTM层的相应单元状态和相应隐藏状态,并且时间步长的最终LSTM隐藏状态输出是该时间步长的更新后的状态下堆栈中的最后一个convLSTM层的隐藏状态。即,convLSTM通过更新每个convLSTM层的单元状态和隐藏状态来更新convLSTM神经网络的状态,并且使用堆栈中的最后一个convLSTM层的更新隐藏状态作为最终LSTM隐藏状态输出。
如上所述,在一些实施方式中,convLSTM神经网络被配置为在每个时间步长的N个瞬间进行处理,其中,N是大于1的整数。在这些实施方式中,在N个瞬间中的每一个瞬间处,convLSTM神经网络处理(i)表示和(ii)convLSTM神经网络的直到该瞬间为止的状态,以更新该瞬间的convLSTM神经网络的状态。ConvLSTM神经网络然后使用最后一个瞬间之后的convLSTM神经网络的更新后的状态作为时间步长的更新后的状态,并且因此使用最后一个瞬间之后的堆栈中的最后一个convLSTM层的隐藏状态作为时间步长的最终LSTM隐藏状态输出。
系统使用动作选择神经网络处理包括时间步长的最终LSTM隐藏状态的动作选择输入,以生成动作选择输出(步骤306)。如上所述,动作选择神经网络可以被配置为根据动作选择策略生成各种动作选择输出中的任何一个,这些动作选择输出可以被用来控制代理。
系统根据动作选择策略在时间步长从动作选择输出中选择要由代理执行的动作(步骤308)。
系统使代理执行所选择的动作(步骤310),例如,通过将使控制系统控制代理的指令发送到代理的控制系统或通过直接控制代理,例如将扭矩直接应用于代理的关节。
图4示出了在需要计划的任务上所描述的系统的性能相对于其他卷积系统的性能。特别地,对于多个系统中的每一个系统,图4绘制了作为数字训练步长的函数(在x轴上)的求解层级的分数(在y轴上)。特别地,图4所示的任务是需要代理将对象(例如箱)移动到指定位置的任务,并且还包括将对象移动到不正确的位置将导致任务无法完成的属性。图中涉及的“层级”是不同的环境配置,即不同数量的箱、障碍、目标位置和不同的错误位置,并且求解该层级指的是在环境处于对应配置中时成功完成任务。因此,因为将物体移动到错误位置会导致代理任务失败,所以需要动作计划来向正确的位置前进,同时避免导致对象向错误位置移动的动作。曲线402示出了所描述的系统的(3,3)版本的性能,即在3个瞬间内进行处理的3个convLSTM层,并且曲线404示出了系统的按缩小比例的(1,1)版本。曲线的剩余部分示出了传统系统,例如使用非卷积LSTM或ResNet(即具有剩余框的卷积神经网络)来生成动作选择神经网络所消耗的输出。如能够从图4中看到的,相对于传统系统,所描述的系统用非常少的训练步骤实现了高性能。这可以归因于本说明书中所描述的convLSTM神经网络的各个方面,这使得系统在不需要环境的显式模型的情况下进行计划成为可能。
本说明书结合系统和计算机程序组件使用术语“配置”。对于一个或多个要被配置为执行特定操作或动作的计算机的系统,意味着该系统已在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使所述系统执行这些操作或动作。对于要被配置为执行特定操作或动作的一个或多个计算机程序,意味着该一个或多个程序包括指令,该指令在由数据处理装置执行时使该装置执行该操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件中(包括在本说明书中公开的结构及其等同结构)、或它们中的一种或多种的组合中实施。本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即,在有形的非暂时性存储介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基质、随机或串行访问存储设备或它们中的一种或多种的组合。可替代地或另外地,所述程序指令可以被编码在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上,该传播信号被生成以对信息进行编码以传输到合适的接收器装置,以由数据处理装置来执行。
术语“数据处理装置”是指数据处理硬件,并且包括用于处理数据的各种装置、设备和机器,例如,包括可编程处理器、计算机或多个处理器或计算机。该装置还可以是或进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,该装置可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一种或多种的组合的代码。
可以以任何形式的编程语言(包括编译或解释语言、声明性或过程性语言)来编写计算机程序,所述计算机程序也可以被称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码;它可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其它单元进行部署。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本,存储在专用于所讨论的程序的单个文件中或存储在多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以部署计算机程序以在一个计算机或位于一个站点上或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”被广泛地用于指代任何数据集合:该数据不需要以任何特定的方式来构造,或者根本不需要被构造,并且可以被存储在一个或多个位置的存储设备中。因此,例如,索引数据库可以包括多个数据集合,每个数据集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”广泛用于指代被编程以执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实施为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将专用于特定引擎;在其它情况下,可以在相同的一个或多个计算机上安装并运行多个引擎。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机来执行,该一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。所述过程和逻辑流程还可以由专用逻辑电路(例如,FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者基于任何其它种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件是用于行使或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。所述中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁性、磁光盘或光盘),或可操作地耦合一个或多个大容量存储设备(例如,磁性、磁光盘或光盘),以从所述一个或多个大容量存储设备接收数据或将数据传输到上述一个或多个大容量存储设备,或两者。但是,计算机不是必须具有此类设备。此外,计算机可以被嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM光盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有显示设备以及键盘和指向设备的计算机上实施,该显示设备例如是CRT(阴极射线管)或LCD(液晶显示器)监视器,用于向用户显示信息;所述键盘和指向设备例如是鼠标或轨迹球,用户可以通过所述键盘和指向设备向计算机提供输入。其它种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应从web浏览器收到的请求,将网页发送到用户设备上的web浏览器。而且,计算机可以通过将文本消息或其它形式的消息发送到个人设备(例如,运行消息收发应用的智能手机)并且进而从用户接收响应消息来与用户交互。
用于实施机器学习模型的数据处理设备还可以包括例如专用硬件加速器单元,该专用硬件加速器单元用于处理机器学习训练或生产(即,推断、工作负载)的公共部分和计算密集部分。
可以使用机器学习框架(例如,TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架)来实施和部署机器学习模型。
本说明书中描述的主题的实施例可以在计算系统中实施,所述计算系统包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有图形用户界面、web浏览器或应用的客户端计算机,用户可通过所述图形用户界面、网络浏览器或应用与本说明书中描述的主题的实施方案进行交互)、或者包括一个或多个此类后端、中间件或前端组件的任意组合。所述系统的组件可以通过数字数据通信的任何形式或媒介(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系借助于在相应计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器向用户设备发送数据(例如,HTML页面)例如,用于向与充当客户端的设备交互的用户显示数据并从该用户接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
尽管本说明书包含许多特定的实施细节,但是这些细节不应被解释为对任何发明的范围或所要求保护的内容的范围的限制,而应解释为对特定于特定发明的特定实施例的特征的描述。在分开的实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地实施,或以任何合适的子组合来实施。而且,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从该组合中去除所要求保护的组合中的一个或多个特征,并且可以将所要求保护的组合指向子组合或子组合的变体。
类似地,尽管以特定次序在附图中描绘了操作并在权利要求中对其进行了叙述,但这不应理解为要求以所示的特定次序或以顺序次序执行这些操作,或者要求执行所有图示的操作,以获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。而且,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以被一起集成在单个软件产品中,或封装到多个软件产品中。
已经描述了主题的特定实施例。其它实施例处于以下权利要求的范围内。例如,权利要求中叙述的动作可以以不同的次序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定次序或顺序次序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。
权利要求如前所述。

Claims (39)

1.一种用于控制与环境交互的代理的系统,所述系统包括一个或多个计算机和一个或多个存储设备,所述存储设备存储指令,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机实施控制神经网络系统,所述控制神经网络系统包括:
卷积长短期记忆LSTM神经网络,所述LSTM神经网络包括多个卷积LSTM神经网络层,所述多个卷积LSTM神经网络层一个接一个地被布置在堆栈中,
其中,所述卷积LSTM神经网络被配置为在多个时间步长中的每一个时间步长处,接收表征所述环境在所述时间步长处的状态的观察的表示,并且处理(i)所述表示和(ii)所述卷积LSTM神经网络的直到所述时间步长为止的状态,以(iii)生成所述时间步长的最终LSTM隐藏状态输出并且(iv)更新所述时间步长的所述卷积LSTM神经网络的所述状态;以及
动作选择神经网络,所述动作选择神经网络被配置为在所述多个时间步长中的每一个时间步长处接收动作选择输入,所述动作选择输入包括所述时间步长的所述最终LSTM隐藏状态输出,并且处理所述动作选择输入,以根据动作选择策略生成动作选择输出,所述动作选择输出定义在所述时间步长处要由所述代理执行的动作。
2.根据任意前述权利要求所述的系统,其中,直到所述时间步长为止的所述状态包括所述堆栈中的每个卷积LSTM层的相应单元状态和相应隐藏状态,并且其中,所述时间步长的所述最终LSTM隐藏状态输出是所述时间步长的更新后的状态下所述堆栈中的最后一个卷积LSTM层的隐藏状态。
3.根据权利要求2所述的系统,其中,所述卷积LSTM神经网络被配置为针对每个时间步长的N个瞬间进行处理,其中,N大于1,并且其中,所述处理包括,对于所述N个瞬间中的每一个瞬间:
处理(i)所述表示和(ii)所述卷积LSTM神经网络的直到所述瞬间为止的状态,以更新所述瞬间的所述卷积LSTM神经网络的所述状态。
4.根据权利要求3所述的系统,其中,所述时间步长的所述最终LSTM隐藏状态输出是在所述时间步长的第N个瞬间之后的所述堆栈中的所述最后一个卷积LSTM层的所述隐藏状态,并且其中,所述时间步长的所述卷积LSTM神经网络的更新后的状态是在所述时间步长的所述第N个瞬间之后的所述卷积LSTM神经网络的更新后的状态。
5.根据权利要求3或者4中的任一项所述的系统,其中,直到所述时间步长的所述N个瞬间中的第一个瞬间为止的所述卷积LSTM神经网络的状态是前一时间步长的所述卷积LSTM神经网络的更新后的状态。
6.根据权利要求3-5中的任一项所述的系统,其中,所述堆栈中的每个卷积LSTM神经网络层被配置为在所述N个瞬间中的每一个瞬间处:
处理所述瞬间的层输入,以更新所述卷积LSTM神经网络层的直到所述瞬间为止的所述单元状态和所述隐藏状态。
7.根据权利要求6所述的系统,其中,除了所述堆栈中的所述第一层之外的每个特定卷积LSTM神经网络层的所述瞬间的所述层输入包括紧接在所述堆栈中的所述特定层之前的层的瞬间的更新后的隐藏状态。
8.根据权利要求6或者7中的任一项所述的系统,其中,所述堆栈中的每一层的瞬间的层输入包括所述时间步长的所述表示。
9.根据权利要求6-8中的任一项所述的系统,其中,对于所述N个瞬间中的除了所述第一个瞬间之外的每个瞬间,所述堆栈中的所述第一层的所述瞬间的所述层输入包括前一瞬间的所述堆栈中的最后一层的更新后的隐藏状态。
10.根据权利要求9所述的系统,其中,对于所述N个瞬间中的所述第一个瞬间,所述堆栈中的所述第一层的所述瞬间的所述层输入包括前一时间步长的所述堆栈中的最后一层的更新后的隐藏状态。
11.根据权利要求6-10中的任一项所述的系统,其中,所述卷积LSTM神经网络进一步被配置为对于每个瞬间并且对于每个卷积LSTM层:
对于所述时间步长的所述层的更新后的隐藏状态的每个通道维度:
空间地应用一个或多个池化操作,以生成所述通道维度的一个或多个池化输出,
使用与所述卷积LSTM层对应的线性层来投影所述池化输出,以生成投影输出;以及
在空间上平铺所述投影输出以生成总结张量,
其中,所述瞬间的所述堆栈中的每一层的层输入包括前一瞬间的层的总结张量,或如果所述瞬间是所述时间步长的所述第一瞬间,则包括前一时间步长的第N个瞬间的层的总结张量。
12.根据权利要求11所述的系统,其中,所述一个或多个池化操作包括最大池化操作、平均池化操作或两者。
13.根据任意前述权利要求所述的系统,其中,所述卷积LSTM神经网络被配置为将特征图附加到所述堆栈中的所述卷积LSTM层的卷积算子的输入,所述特征图将输入张量的边界指派到所述卷积算子。
14.根据任意前述权利要求所述的系统,其中,所述动作选择输入进一步包括所述时间步长的所述表示。
15.根据任意前述权利要求所述的系统,其中,所述神经网络系统进一步包括:
编码器神经网络,所述编码器神经网络被配置为在所述多个时间步长中的每一个时间步长处,处理表征所述环境在所述时间步长处的所述状态的所述观察,以生成所述时间步长的所述观察的所述表示。
16.根据权利要求15所述的系统,其中,所述观察包括所述环境的图像,并且其中,所述编码器神经网络包括一个或多个卷积层。
17.根据任意前述权利要求所述的系统,其中,所述动作选择神经网络包括一个或多个全连接层。
18.一个或多个存储指令的计算机可读存储介质,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机实现根据权利要求1-17和38中的任一项所述的控制神经网络系统。
19.一种用于控制与环境交互的代理的方法,所述方法包括,在多个时间步长中的每一个时间步长处:
获得表征所述环境在所述时间步长处的状态的观察的表示;
使用卷积长短期记忆LSTM神经网络来处理所述表示,所述LSTM神经网络包括多个卷积LSTM神经网络层,所述多个卷积LSTM神经网络层一个接一个地被布置在堆栈中,
其中,所述卷积LSTM神经网络被配置为接收表征所述环境在所述时间步长处的状态的所述观察的所述表示,并且处理(i)所述表示和(ii)所述卷积LSTM神经网络的直到所述时间步长为止的状态,以(iii)生成所述时间步长的最终LSTM隐藏状态输出并且(iv)更新所述时间步长的所述卷积LSTM神经网络的所述状态;
使用动作选择神经网络来处理动作选择输入,所述动作选择输入包括所述时间步长的所述最终LSTM隐藏状态输出,所述动作选择神经网络被配置为接收所述动作选择输入,并且处理所述动作选择输入,以根据动作选择策略生成动作选择输出,所述动作选择输出定义在所述时间步长处要由所述代理执行的动作;
根据所述动作选择策略从所述动作选择输出中选择在所述时间步长处要由所述代理执行的所述动作;以及
使所述代理执行所选择的动作。
20.根据任意前述权利要求所述的方法,其中,直到所述时间步长为止的所述状态包括所述堆栈中的每个卷积LSTM层的相应单元状态和相应隐藏状态,并且其中,所述时间步长的所述最终LSTM隐藏状态输出是所述时间步长的更新后的状态下所述堆栈中的最后一个卷积LSTM层的隐藏状态。
21.根据权利要求20所述的方法,其中,所述卷积LSTM神经网络被配置为针对每个时间步长的N个瞬间进行处理,其中,N大于1,并且其中,所述处理包括,对于所述N个瞬间中的每一个瞬间:
处理(i)所述表示和(ii)所述卷积LSTM神经网络的直到所述瞬间为止的状态,以更新所述瞬间的所述卷积LSTM神经网络的所述状态。
22.根据权利要求21所述的方法,其中,所述时间步长的所述最终LSTM隐藏状态输出是在所述时间步长的所述第N个瞬间之后的所述堆栈中的最后一个卷积LSTM层的所述隐藏状态,并且其中,所述时间步长的所述卷积LSTM神经网络的更新后的状态是在所述时间步长的所述第N个瞬间之后的所述卷积LSTM神经网络的更新后的状态。
23.根据权利要求21或者22中的任一项所述的方法,其中,直到所述时间步长的所述N个瞬间中的第一个瞬间为止的所述卷积LSTM神经网络的所述状态是前一时间步长的所述卷积LSTM神经网络的更新后的状态。
24.根据权利要求21-23中的任一项所述的方法,其中,所述堆栈中的每个卷积LSTM神经网络层被配置为在所述N个瞬间中的每一个瞬间处:
处理所述瞬间的层输入,以更新所述卷积LSTM神经网络层的直到所述瞬间为止的所述单元状态和所述隐藏状态。
25.根据权利要求24所述的方法,其中,除了所述堆栈中的所述第一层之外的每个特定卷积LSTM神经网络层的所述瞬间的所述层输入包括紧接在所述堆栈中的所述特定层之前的层的瞬间的更新后的隐藏状态。
26.根据权利要求24或者25中的任一项所述的方法,其中,所述堆栈中的每一层的瞬间的层输入包括所述时间步长的所述表示。
27.根据权利要求24-26中的任一项所述的方法,其中,对于所述N个瞬间中的除了所述第一个瞬间之外的每个瞬间,所述堆栈中的所述第一层的所述瞬间的所述层输入包括前一瞬间的所述堆栈中的最后一层的更新后的隐藏状态。
28.根据权利要求27所述的方法,其中,对于所述N个瞬间中的所述第一个瞬间,所述堆栈中的所述第一层的所述瞬间的所述层输入包括前一时间步长的所述堆栈中的最后一层的更新后的隐藏状态。
29.根据权利要求24-28中的任一项所述的方法,其中,所述卷积LSTM神经网络进一步被配置为对于每个瞬间并且对于每个卷积LSTM层:
对于所述时间步长的所述层的更新后的隐藏状态的每个通道维度:
空间地应用一个或多个池化操作,以生成所述通道维度的一个或多个池化输出,
使用与所述卷积LSTM层对应的线性层来投影所述池化输出,以生成投影输出;以及
在空间上平铺所述投影输出以生成总结张量,
其中,所述瞬间的所述堆栈中的每一层的所述层输入包括前一瞬间的层的总结张量,或如果所述瞬间是所述时间步长的所述第一瞬间,则包括前一时间步长的第N个瞬间的层的总结张量。
30.根据权利要求29所述的方法,其中,所述一个或多个池化操作包括最大池化操作、平均池化操作或两者。
31.根据任意前述权利要求所述的方法,其中,所述卷积LSTM神经网络被配置为将特征图附加到所述堆栈中的所述卷积LSTM层的卷积算子的输入,所述特征图将输入张量的边界指派到所述卷积算子。
32.根据任意前述权利要求所述的方法,其中,所述动作选择输入进一步包括所述时间步长的所述表示。
33.根据任意前述权利要求所述的方法,其中,获得所述表示包括:
使用编码器神经网络处理所述观察,所述编码器神经网络被配置为处理表征所述环境在所述时间步长处的所述状态的所述观察,以生成所述时间步长的所述观察的所述表示。
34.根据权利要求33所述的方法,其中,所述观察包括所述环境的图像,并且其中,所述编码器神经网络包括一个或多个卷积层。
35.根据任意前述权利要求所述的方法,其中,所述动作选择神经网络包括一个或多个全连接层。
36.一个或多个存储指令的计算机可读存储介质,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求19-35和39中的任一项所述方法的相应操作。
37.一种系统,所述系统包括一个或多个计算机和一个或多个存储设备,所述存储设备存储指令,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求19-35和39中的任一项所述方法的相应操作。
38.根据任意前述权利要求所述的系统,其中,所述表示是H x W x C张量,并且其中,所述卷积LSTM神经网络的所述状态和所述最终LSTM隐藏状态输出保存所述表示的空间维度。
39.根据任意前述权利要求所述的方法,其中,所述表示是H x W x C张量,并且其中,所述卷积LSTM神经网络的所述状态和所述最终LSTM隐藏状态输出保存所述表示的空间维度。
CN201980040637.4A 2018-09-27 2019-09-27 用于无模型强化学习的堆叠的卷积长短期记忆 Pending CN112313672A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862737821P 2018-09-27 2018-09-27
US62/737,821 2018-09-27
PCT/EP2019/076213 WO2020065024A1 (en) 2018-09-27 2019-09-27 Stacked convolutional long short-term memory for model-free reinforcement learning

Publications (1)

Publication Number Publication Date
CN112313672A true CN112313672A (zh) 2021-02-02

Family

ID=68136369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980040637.4A Pending CN112313672A (zh) 2018-09-27 2019-09-27 用于无模型强化学习的堆叠的卷积长短期记忆

Country Status (6)

Country Link
US (1) US10860927B2 (zh)
EP (1) EP3788549B1 (zh)
JP (1) JP7160957B2 (zh)
KR (1) KR20210011422A (zh)
CN (1) CN112313672A (zh)
WO (1) WO2020065024A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113156958A (zh) * 2021-04-27 2021-07-23 东莞理工学院 基于卷积长短期记忆网络的自主移动机器人自监督学习及导航方法
CN113156958B (zh) * 2021-04-27 2024-05-31 东莞理工学院 基于卷积长短期记忆网络的自主移动机器人自监督学习及导航方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110088775B (zh) * 2016-11-04 2023-11-07 渊慧科技有限公司 使用加强学习的环境预测
WO2019241145A1 (en) 2018-06-12 2019-12-19 Intergraph Corporation Artificial intelligence applications for computer-aided dispatch systems
US11645518B2 (en) * 2019-10-07 2023-05-09 Waymo Llc Multi-agent simulations
CN111582439B (zh) * 2020-04-14 2021-08-10 清华大学 状态部分可观测强化学习算法的高效采样更新方法及装置
KR20230025430A (ko) 2020-06-16 2023-02-21 인투이셀 에이비 컴퓨터로 구현되거나 하드웨어로 구현되는 엔티티 식별 방법, 컴퓨터 프로그램 제품 및 엔티티 식별을 위한 장치
CN112379601A (zh) * 2020-12-01 2021-02-19 华东理工大学 基于工业过程的mfa控制系统设计方法
US20220188625A1 (en) * 2020-12-11 2022-06-16 Poyen Hsieh Method and computer implemented system for generating layout plan using neural network
CN112652296B (zh) * 2020-12-23 2023-07-04 北京华宇信息技术有限公司 流式语音端点检测方法、装置及设备
CN113011555B (zh) * 2021-02-09 2023-01-31 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
WO2023167623A1 (en) * 2022-03-02 2023-09-07 IntuiCell AB A method of providing a representation of temporal dynamics of a first system, middleware systems, a controller system, computer program products and non-transitory computer-readable storage media

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106056213A (zh) * 2015-04-06 2016-10-26 谷歌公司 使用目标和观察来选择强化学习动作
WO2017132288A1 (en) * 2016-01-25 2017-08-03 Google Inc. Generating images using neural networks
US20170334066A1 (en) * 2016-05-20 2017-11-23 Google Inc. Machine learning methods and apparatus related to predicting motion(s) of object(s) in a robot's environment based on image(s) capturing the object(s) and based on parameter(s) for future robot movement in the environment
WO2018153807A1 (en) * 2017-02-24 2018-08-30 Deepmind Technologies Limited Action selection for reinforcement learning using neural networks

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130054021A1 (en) * 2011-08-26 2013-02-28 Disney Enterprises, Inc. Robotic controller that realizes human-like responses to unexpected disturbances
JP6875513B2 (ja) * 2016-10-10 2021-05-26 ディープマインド テクノロジーズ リミテッド ロボットエージェントによって実行されるべきアクションを選択するためのニューラルネットワーク
JP6926203B2 (ja) * 2016-11-04 2021-08-25 ディープマインド テクノロジーズ リミテッド 補助タスクを伴う強化学習
US11010948B2 (en) * 2017-02-09 2021-05-18 Google Llc Agent navigation using visual inputs
US20190325294A1 (en) * 2018-04-18 2019-10-24 Qualcomm Incorporated Recurrent neural network model compaction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106056213A (zh) * 2015-04-06 2016-10-26 谷歌公司 使用目标和观察来选择强化学习动作
WO2017132288A1 (en) * 2016-01-25 2017-08-03 Google Inc. Generating images using neural networks
US20170334066A1 (en) * 2016-05-20 2017-11-23 Google Inc. Machine learning methods and apparatus related to predicting motion(s) of object(s) in a robot's environment based on image(s) capturing the object(s) and based on parameter(s) for future robot movement in the environment
WO2018153807A1 (en) * 2017-02-24 2018-08-30 Deepmind Technologies Limited Action selection for reinforcement learning using neural networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUANDONG TIAN ET AL.: "ELF: An Extensive, Lightweight and Flexible Research Platform for Real-time Strategy Games", 《ARXIV.ORG》, pages 1 - 14 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113156958A (zh) * 2021-04-27 2021-07-23 东莞理工学院 基于卷积长短期记忆网络的自主移动机器人自监督学习及导航方法
CN113156958B (zh) * 2021-04-27 2024-05-31 东莞理工学院 基于卷积长短期记忆网络的自主移动机器人自监督学习及导航方法

Also Published As

Publication number Publication date
WO2020065024A1 (en) 2020-04-02
EP3788549B1 (en) 2023-09-06
US20200104709A1 (en) 2020-04-02
KR20210011422A (ko) 2021-02-01
EP3788549A1 (en) 2021-03-10
US10860927B2 (en) 2020-12-08
JP7160957B2 (ja) 2022-10-25
JP2021530025A (ja) 2021-11-04

Similar Documents

Publication Publication Date Title
CN112313672A (zh) 用于无模型强化学习的堆叠的卷积长短期记忆
US11868894B2 (en) Distributed training using actor-critic reinforcement learning with off-policy correction factors
JP7335434B2 (ja) 後知恵モデリングを用いた行動選択ニューラルネットワークの訓練
US20240062035A1 (en) Data-efficient reinforcement learning for continuous control tasks
CN112154461A (zh) 用于多代理环境中的行为预测和强化学习的图神经网络系统
CN112119404A (zh) 样本高效的强化学习
CN110114784B (zh) 递归环境预测器及其方法
US20220366247A1 (en) Training action selection neural networks using q-learning combined with look ahead search
CN112106073A (zh) 使用网格代码执行导航任务
JP7139524B2 (ja) 時間的価値移送を使用した長いタイムスケールにわたるエージェントの制御
US20200082227A1 (en) Imagination-based agent neural networks
JP7354460B2 (ja) ブートストラップされた潜在性の予測を使用するエージェント制御のための学習環境表現
CN112930541A (zh) 通过最小化妄想影响来确定控制策略
CN116324818A (zh) 使用增强时间差异学习训练强化学习智能体
CN114521262A (zh) 使用因果正确环境模型来控制智能体
CN115066686A (zh) 使用对规划嵌入的注意操作生成在环境中实现目标的隐式规划
EP3788554B1 (en) Imitation learning using a generative predecessor neural network
US20240185083A1 (en) Learning diverse skills for tasks using sequential latent variables for environment dynamics

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