CN114467092A - 使用后见之明建模来训练动作选择神经网络 - Google Patents
使用后见之明建模来训练动作选择神经网络 Download PDFInfo
- Publication number
- CN114467092A CN114467092A CN202080066633.6A CN202080066633A CN114467092A CN 114467092 A CN114467092 A CN 114467092A CN 202080066633 A CN202080066633 A CN 202080066633A CN 114467092 A CN114467092 A CN 114467092A
- Authority
- CN
- China
- Prior art keywords
- neural network
- environment
- action
- state
- model
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
- G06F18/295—Markov models or related models, e.g. semi-Markov models; Markov random fields; Networks embedding Markov models
-
- 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
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural 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/044—Recurrent networks, e.g. Hopfield networks
Abstract
一种强化学习方法和系统,所述强化学习方法和系统选择要由与环境交互的强化学习智能体执行的动作。因果模型由后见之明模型神经网络实施并且使用后见之明,即使用未来环境状态轨迹进行训练。由于所述方法和系统在选择动作时无法访问这种未来信息,因此使用所述后见之明模型神经网络来训练模型神经网络,所述模型神经网络以来自当前观测的数据为条件,所述模型神经网络学习预测所述后见之明模型神经网络的输出。
Description
背景技术
本说明书涉及强化学习。
在强化学习系统中,智能体(agent)通过执行动作来与环境交互,所述动作由强化学习系统响应于接收到表征环境的当前状态的观测而进行选择。
根据神经网络的输出,一些强化学习系统响应于接收到给定观测而选择要由智能体执行的动作。
神经网络是采用一个或多个非线性单元层来预测接收到的输入的输出的机器学习模型。一些神经网络是包括除了输出层之外的一个或多个隐藏层的深度神经网络。每个隐藏层的输出用作网络中的下一层(即下一隐藏层或输出层)的输入。网络的每一层根据相应参数集的当前值从接收到的输入中生成输出。
发明内容
本说明书大体上描述一种强化学习方法和系统,所述强化学习方法和系统选择要由与环境交互的强化学习智能体执行的动作。所描述的方法和系统的一些实施方案旨在使用后见之明(hindsight)来学习因果模型。这样会引导动作选择,特别是将模型专注于在环境方面,这些方面对于估计环境的当前状态值非常有用。在整个说明书中,对状态值的引用可以包括与动作相结合的状态值。
在一个方面中,描述一种强化学习的方法。所述方法可以包括训练动作选择神经网络系统,以选择要由在环境中执行任务的智能体来执行的动作。动作选择神经网络系统可以被配置成从表征环境的当前状态的观测中接收数据。动作选择神经网络系统还可以被配置成从模型神经网络的输出接收数据。动作选择神经网络系统可以根据动作选择神经网络系统参数处理输入数据以生成动作选择输出,用于选择要由智能体执行的动作。
模型神经网络可以被配置成接收来自表征环境的当前状态的观测(从其获得)的输入。模型神经网络的输出可以表征预测的状态轨迹,包括从当前状态开始的环境的一系列k个预测的未来状态。
所述方法可以包括训练后见之明模型神经网络,所述后见之明模型神经网络具有表征状态轨迹的输出,所述状态轨迹包括从时间步t处的环境的状态开始的环境的一系列k个状态。训练可以包括:线上或线下地处理来自一个或多个观测(例如,一系列观测)的数据,所述一个或多个观测表征在时间步t处和一系列k个后续时间步处的环境的状态;以及使用时间步t的训练目标调整后见之明模型神经网络的参数。所述方法还可以包括训练模型神经网络的输出,以近似(approximate)后见之明模型神经网络的输出。
在实施方案中,后见之明模型能够从比来自环境的奖励所提供的信息更为丰富的信息流中学习,其中来自环境的奖励通常用于强化学习系统的无模型训练。例如,后见之明模型能够学习来表示状态的轨迹,其中这些状态在适当的时候会产生奖励。
更具体地说,后见之明模型可以学习来表示对于接收奖励很重要的状态轨迹的特定方面。因此,后见之明模型不是学习对观测中的所有细节进行建模,而是具有低维特征向量表示输出,以及可选地相对较短的前向(即,后见之明)时间窗。这些鼓励后见之明模型专注于为对训练目标有用的观测的特定方面(例如,状态值或状态-动作值预测)进行建模,从而加快训练并减少必要的计算。然而,由于此信息只能后见之明地获得,因此模型神经网络被训练为使用后见之明模型从环境的当前状态预测这一点。后见之明模型可以处理固定数量的k个未来状态;在实施方案中,k可以小于50、20或10,例如约为5。
在一些实施方案中,因此可以训练后见之明模型以对观测的各个方面进行建模,所述方面可以有助于提供更好的状态(以及状态-动作对)的值预测,并且因此有用于训练动作选择神经网络。通过这种方式,可以训练模型以专注于环境中对要执行的任务最重要的那些方面。所述模型也可能比其它情况更简单。
在一些实施方案中,时间步t的训练目标可以是与要执行的任务相关的任何目标。
例如,时间步t的训练目标可以包括时间步t的状态值目标,或者可以从时间步t的一个或多个状态-动作值目标得到。例如,时间步t的训练目标可以定义从时间步t处的环境的状态的预期回报,例如由智能体从时间步t处的环境的状态接收到的预期累积奖励。
更具体来说,训练后见之明模型可以包括使用后见之明值神经网络处理后见之明模型神经网络的输出和表征时间步t处的环境的状态的观测,以生成在时间步t处的环境的状态的所估计的后见之明值或状态-动作值。该方法然后可以反向传播取决于在时间步t处的环境的状态的所估计的后见之明值或状态-动作值与时间步t的训练目标之间的差异的目标函数的梯度,以更新后见之明值神经网络的参数以及后见之明模型神经网络的参数。因此,学习后见之明值的过程可以用于训练后见之明模型。
在一些实施方案中,时间步t的训练目标(G)包括时间步t的实际回报(例如,在使用蒙特卡罗学习的情况下);在其它实施方案中,时间步t的训练目标包括时间步t的所估计的回报(例如,在使用时间差TD学习的情况下)。此处,回报是指由智能体接收到的奖励的累积度量的回报,例如奖励的时间折扣总和。例如,时间步t的回报可以包括在时间步t+1处的实际回报和后续时间步的所估计的回报的组合,例如在时间步t+1处的环境的状态的后见之明值减少了折扣因子γ<1(TD(0));或者例如可以使用n步回报,例如TD(λ))。用于训练值神经网络的差值可以包括TD误差差值。
训练模型神经网络的输出以近似后见之明模型神经网络的输出可以包括反向传播取决于(向量值)输出之间(即状态轨迹的特征与预测的状态轨迹的特征之间)的差异的目标函数的梯度。这些特征可以表示轨迹的各个方面,这些方面可用于预测在当前时间步t处的状态-动作值的值。差异可以包括例如L2范数或交叉熵损失。模型神经网络和后见之明模型神经网络可以例如依序地联合或单独训练。
在一些实施方案中,所述方法、所述后见之明模型神经网络被配置成以比动作选择神经网络系统更慢的速率学习(例如,通过选择学习速率参数),以促进模型神经网络的输出学习以近似后见之明模型神经网络的输出。
在实施方案中,后见之明模型神经网络的表征状态轨迹的输出和模型神经网络的表征预测的状态轨迹的输出各自包括环境的一个或多个观测的(多维)降维表示。这可以促进加快或减少对(预测的)状态轨迹的有用表示的计算学习,并且可以有助于鼓励对预测状态值有用的表示。例如,后见之明模型神经网络的表征状态轨迹的输出和模型神经网络的表征预测的状态轨迹的输出各自可以包括维度小于它们的输入的维度或小于20、10或5(但不是标量)的特征向量。
可以线上或线下(例如,离线)执行训练模型神经网络和后见之明模型神经网络。在线上执行训练的情况下,可以提供k状态缓冲区,以便训练可以有效地提供过去的k个状态。
因此,所述方法还可以包括维护存储器,所述存储器存储表示由于智能体与环境的交互而生成的轨迹的数据,每个轨迹包括在一系列时间步中的每个时间步处的数据,每个时间步处的所述数据至少标识表征环境的状态的观测以及表征环境的后续状态的一系列后续观测,以用于训练后见之明模型神经网络。
对于动作选择神经网络系统的离线训练,重放缓冲区可以存储元组,例如元组序列,包括:表征环境的状态的观测、由智能体响应于观测而执行的动作、响应于智能体执行动作而接收到的奖励,以及表征环境的下一状态的观测。
一般来说,训练动作选择神经网络系统可以包括反向传播取决于使用状态值神经网络来确定(估计)的环境的当前状态的状态值或状态-动作值与环境的当前状态的所估计的回报或状态-动作值之间的差异的目标函数的梯度。
动作选择神经网络系统可以使用任何强化学习方法进行训练,包括例如SARSA、Q学习和包括优势演员-评论员技术的演员-评论员技术(其中状态值的学习到的估计用作基线)。动作选择神经网络系统的输出可以直接指示动作,例如连续的动作,或者可以参数化从中选择动作的分布,或者可以直接放置动作分数或Q值,或者可以参数化从中选择动作分数或Q值的分布。强化学习训练方法可以是确定性的或随机的;它可能是一种分布式方法,例如具有多个演员和/或学习器。
因此,本文所描述的技术可以与强化学习系统结合使用,包括例如:基于策略的系统(例如优势演员-评论员(A3C)系统,Mnih等人,2016年,或其变体),所述基于策略的系统直接使策略以及可选地值函数参数化;Q学习系统,例如深度Q学习网络(DQN)系统或Double-DQN系统,其中输出近似动作值函数以及可选地状态值,用于确定动作;连续控制强化学习系统,例如DDPG(Lillicrap等人,2015年)或其变体;或基于分布式演员-评论员或Q值的强化学习系统,例如IMPALA(重要性加权演员-学习器)、Esholt等人,arXiv:1802.01561,或循环重放分布DQN(R2D2)、Kapturowski等人,ICLR,2019年。
在一些实施方案中,动作选择神经网络系统可以包括状态值神经网络以生成状态值或状态-动作值(Q值),用于选择或学习选择要由智能体执行的动作。此系统可以具有与模型神经网络相同的参数。在一些实施方案中,动作选择神经网络系统可以包括:策略神经网络(或策略头),所述策略神经网络生成策略输出,所述策略输出定义在可能动作上的概率分布(例如预定集合的每个动作的相应分数),以用于选择动作;以及值神经网络(或值头),所述值神经网络生成表示状态值的输出(例如,由智能体从由输入观测表征的状态开始收到的估计的长期奖励)。
例如,在一些实施方案中,动作选择神经网络系统可以包括或接收来自一个或多个循环神经网络(RNN)层的输入。这些可以由动作选择神经网络系统以及后见之明值神经网络和/或状态值神经网络两者共享。例如,可以将一个或多个RNN层的内部状态或隐藏层表示作为输入提供给动作选择神经网络系统和后见之明值神经网络和/或状态值神经网络中的每一个。所述一个或多个RNN层可以从表征环境的状态的每个观测中接收数据。在实施方案中,RNN层没有使用后见之明进行训练。
在一些实施方案中,动作选择神经网络系统可以实施Q学习过程,其中为离散动作集当中的每一个离散动作确定动作分数或Q值。动作分数可以从动作选择神经网络系统输出,或者可以从由动作选择神经网络系统参数化的分布中采样。然后,后见之明值神经网络和/或状态值神经网络可以被配置成生成对应的动作分数集。时间步t的训练目标可以从该对应的动作分数集当中确定,例如通过确定表示动作分数的单个标量值或通过确定来自动作选择神经网络系统的每个动作分数(或分布)与来自后见之明值神经网络的对应的动作分数(或分布)之间的相应差异。
在一些实施方案中,动作选择神经网络系统可以实施演员-评论员过程,其中动作选择神经网络系统被配置成生成动作选择策略输出和值估计输出(评论员)。值估计表示对回报(例如时间折扣回报)的估计,考虑到环境的当前状态,所述回报从选择由智能体根据动作选择网络参数的当前值执行的未来动作产生。例如,估计的n步前瞻回报可以由下式给出:
其中γ是在0与1之间的折扣因子,rt+i是在时间步t+i处接收到的奖励,并且V(ot+n)是指在时间步t+n处的值估计。时间折扣回报可以用作后见之明值神经网络和状态值神经网络的训练目标。
在动作选择神经网络系统实施基于演员-评论员的方法(或其它方法)的情况下,动作选择神经网络系统可以提供定义状态值和动作选择(策略)的单独输出。在此种系统中,表征环境的当前状态的观测和模型神经网络的输出由动作选择神经网络系统处理,以生成状态值和动作选择(策略)输出。例如,观测可以由一个或多个RNN层处理,然后在一个或多个后续神经网络层中与模型神经网络的输出相结合以生成动作选择输出,例如包括动作选择(策略)输出(以及状态值输出)。
从广义上讲,后见之明值神经网络和状态值神经网络可以各自被配置成生成状态值或状态-动作值(Q值)的向量,这分别取决于后见之明模型神经网络的表征状态轨迹的输出以及模型神经网络的表征预测的状态轨迹的输出。
通常,系统的实施方案中使用的观测可以例如通过卷积或其它神经神经网络进行预处理。
一旦训练了模型神经网络,就可以省略后见之明模型神经网络。也就是说,系统可以用于在不存在后见之明模型神经网络的情况下执行任务。
因此,选择要由在环境中执行任务的智能体来执行的动作的方法可以包括接收表征环境的当前状态的观测。所述方法还可以包括使用模型神经网络处理观测,以生成表征预测的状态轨迹的模型神经网络输出,例如多维特征向量,其中所述预测的状态轨迹包括从当前状态开始的环境的一系列k个预测的未来状态。所述方法还可以包括处理表征环境的当前状态的观测以及模型神经网络输出以生成动作选择输出,以用于选择要由执行任务的智能体来执行的动作。
所述方法的附加特征可能都如先前所描述,但省略后见之明模型神经网络。
还提供一种用于执行任务的神经网络计算机系统,包括(受训练的)动作选择神经网络系统和(受训练的)模型神经网络的组合。
在另一方面中,提供一种强化学习神经网络系统,包括动作选择神经网络系统,以选择要由在环境中执行任务的智能体来执行的动作。动作选择神经网络系统可以被配置成从i)表征环境的当前状态的观测、和或ii)模型神经网络的输出接收输入数据,并且根据动作选择神经网络系统参数处理输入数据,以生成用于选择要由智能体执行的动作的动作选择输出。所述系统还可以包括模型神经网络。模型神经网络可以被配置成从表征环境的当前状态的观测中接收输入。模型神经网络的输出可以表征预测的状态轨迹,所述预测的状态轨迹包括从当前状态开始的环境的一系列k个预测的未来状态。
所述系统可以被配置成通过处理表征在时间步t处和在一系列k个后续时间步处的环境的状态的观测以及使用时间步t的训练目标调整后见之明模型神经网络的参数来训练后见之明模型神经网络,所述后见之明模型神经网络具有表征状态轨迹的输出,其中所述状态轨迹包括从时间步t处的环境的状态开始的环境的一系列k个状态。所述系统还可以被配置成训练模型神经网络的输出,以近似后见之明模型神经网络的输出。
在一些实施方案中,环境是真实世界环境并且智能体是与真实世界环境交互的机械智能体,例如机器人、交通工具或其它机械智能体。环境也可以是真实世界环境的模拟并且智能体可以是机械智能体的模拟,在这种情况下,系统/方法可以在模拟环境中训练,然后可以进行部署以控制真实世界环境中的智能体。
可以在特定实施例中实施在本说明书中描述的主题,以便实现以下优点中的一个或多个。
与以前的技术相比,使用这些技术的强化学习方法和系统可能能够使用更少的计算力更快地且更有效地学习。模型神经网络能够通过后见之明模型神经网络从更丰富的数据集(即轨迹观测)中学习,并且可能能够选择性地学习与估计环境的状态值相关的特征。在模型神经网络学习观测的降维表示时尤其如此。使用降维模型也可以简化学习过程。
从广义上讲,后见之明模型神经网络能够学习对当前状态值预测最有用的未来观测特征,并且将这些特征传递给模型神经网络。因此,与一些其它技术相比,学习速度更快并且需要更少的存储器和计算力。所描述的系统和方法可能能够学习执行其它技术无法执行的任务,或者学习比其它技术更好地执行任务,尤其是在复杂环境中。所描述的系统和方法是通用的,因为它们可以应用于广范围的强化学习任务并且不需要手工设计的辅助奖励。
在附图和以下具体实施方式中阐述本说明书中描述的主题的一个或多个实施方案的细节。主题的其它特征、方面和优点将从具体实施方式、附图和权利要求书变得显而易见。
附图说明
图1示出了实施后见之明建模的强化学习系统。
图2是用于训练图1的强化学习系统的示例过程的流程图。
图3a至图3d示意性地图示了图1的强化学习系统的示例的训练和操作。
图4是根据图3a至图3d的用于训练强化学习系统的示例过程的流程图。
图5a和图5b分别图示了用于演员-评论员强化学习系统或用于Q学习强化学习系统的图1的强化学习系统的示例神经网络架构。
在图中,相似附图标记指示相似元件。
具体实施方式
本说明书描述了一种基于神经网络的强化学习系统和方法。在训练期间,系统/方法对系统操作的环境的那些方面进行建模,根据后见之明了解,那些方面被标识为对于实现预期结果非常重要,如来自环境的奖励信号所指示的。
在实施方案中,系统/方法不是简单地从标量回报中学习,或者尝试确定环境的完整模型,而是学习对少数特征进行建模,这些特征表征来自未来状态轨迹的回报。在训练期间,这种未来轨迹是已知的,因为它已经发生,也就是说,模型使用后见之明。然而,在系统/方法正在控制智能体以采取动作的特定时间处,此未来信息不可用。因此,训练第二模型以近似后见之明模型,但仅使用当前(和过去)信息,并且此第二模型用于选择动作。
在本说明书中,使用后见之明的模型由后见之明模型神经网络实施,并且第二模型由模型神经网络实施。在当前时间步处,后见之明模型神经网络接收来自未来观测的数据作为附加输入,并且学习这些观测的特征,这些特征对于学习训练目标(例如,状态值估计或状态-动作(Q)值估计)是有用的。模型神经网络学习从在当前时间步处可用的一个或多个观测中预测这些特征。
图1示出了强化学习系统100,所述强化学习系统可以在一个或多个位置中的一个或多个计算机上实施为计算机程序。在多个时间步t中的每个时间步处,强化学习系统100选择要由智能体102在环境104中执行的动作at。在每个时间步处,强化学习系统100接收并处理用于选择动作的表征环境的状态的数据,所述数据在本说明中称为观测ot。观测可以包括环境的图像和/或其它传感器数据,或来自环境的输入数据。
强化学习系统100还可以接收由于执行动作at而产生的奖励rt。一般来说,奖励是数值并且可以基于环境的任何事件或方面。例如,奖励rt可以指示智能体106是否已经完成任务(例如,操作任务,或导航到环境中的目标位置)或智能体106朝向完成任务的进展。
在一些实施方案中,环境是真实世界环境,或真实世界环境的模拟。智能体可以包括与真实世界环境交互的机械智能体,或这种机械智能体的模拟,或用于机械智能体的控制系统。
例如,智能体可以包括在环境中导航的自主或半自主交通工具的控制系统。在这些实施方案中,动作可以是控制交通工具的可能控制输入,并且智能体尝试实现的结果是满足交通工具在真实世界环境中导航的目标。例如,目标可以包括一个或多个目标,例如:到达目的地,确保交通工具的任何乘员的安全,使到达目的地所用的能量最小化,使乘员的舒适度最大化。作为另一示例,智能体可以是机器人或其它机械智能体,其与环境交互以实现特定任务,例如在环境中定位感兴趣的对象,或拾取感兴趣的对象或将感兴趣的对象移动到环境中的指定位置。
在这些实施方案中,动作可以是控制机器人(即,控制机器人或交通工具的物理行为)的可能控制输入。例如,动作可以是控制输入,以控制机器人,例如机器人关节的扭矩或更高级别的控制命令;或控制自主或半自主的陆地或空中或海上交通工具,例如到交通工具的控制表面或其它控制元件的扭矩或更高级别的控制命令;或例如马达控制数据。换句话说,动作可以包括例如机器人的一个或多个关节或另一机械智能体的部分的位置、速度,或力/扭矩/加速度数据。动作数据可以包括用于这些动作的数据和/或电子控制数据,例如马达控制数据,或更一般地,用于控制环境内的一个或多个电子装置的数据,对该电子装置的控制对环境的观测到的状态产生影响。例如,在自主或半自主陆地或空中或海上交通工具的情况下,动作可以包括控制导航(例如转向)和移动(例如,交通工具的制动和/或加速)的动作。
一般来说,观测可以包括例如图像、对象位置数据和传感器数据中的一个或多个,以在智能体与环境交互时捕获观测,例如来自图像、距离或位置传感器或来自致动器的传感器数据。在机器人或其它机械智能体或交通工具的情况下,观测可以类似地包括以下项中的一个或多个:位置、线速度或角速度、力、扭矩或加速度以及智能体的一个或多个部分的全局或相对姿态。观测可以在1维、2维或3维中定义,并且可以是绝对和/或相对观测。例如,在机器人的情况下,观测可以包括表征机器人的当前状态的数据,例如以下项中的一个或多个:关节位置、关节速度、关节力、扭矩或加速度,以及机器人的一部分(例如,臂)和/或机器人持有的物品的全局或相对姿态。观测还可以包括例如感测到的电子信号,例如马达电流或温度信号;和/或例如来自相机或激光雷达传感器的图像或视频数据,例如来自智能体的传感器的数据,或来自在环境中与智能体分开定位的传感器的数据。
奖励,即来自环境的外部奖励可以包括例如用于接近或实现一个或多个目标位置、一个或多个目标姿态,或一个或多个其它目标配置的一个或多个奖励。例如,对于机器人,奖励可能取决于关节定向(角度)或速度、末端执行器位置、质心位置,或身体部位组的位置和/或定向。成本(即负奖励)可以类似地进行定义,例如取决于与对象交互时施加的力、能量使用或机器人身体部位的位置。
系统/方法可以用于训练交通工具或机器人以执行例如仓库、物流或工厂自动化任务之类的任务,例如收集、放置或移动储存货物或在制造货物期间收集、放置或移动货物或货物的一部分;或者学习任务可以包括包裹递送控制任务。动作可以包括与转向或其它方向控制动作有关的动作,并且观测可以包括对其它交通工具或机器人的位置或运动的观测。
机器人或交通工具可以在用于真实世界环境之前进行模拟训练。如稍后所描述,一旦训练了系统,就不再需要并且省略后见之明模型神经网络。
在一些实施方案中,真实世界环境可以是制造工厂或服务设施,观测可能与工厂或设施的操作有关,例如与资源使用(诸如电力消耗)有关,并且智能体可以控制工厂/设施中的动作或操作,以例如减少资源使用。
因此,在一些应用中,智能体可以是电子智能体,并且观测可以包括来自监测工厂或服务设施的一部分的一个或多个传感器的数据,例如电流、电压、电力、温度,以及表示设备的电子和/或机械项目的功能的其它传感器和/或电子信号。智能体可以控制在包括设备项目的真实世界环境中的动作,例如设施中的动作,所述设施例如是数据中心、服务器场或电网主电源或水分配系统,或控制在制造工厂或服务设施中的动作,或控制在太阳能或风能发电场等发电设施中的动作。观测可能与工厂或设施的操作有关,例如它们可能包括对设备用电或用水的观测,或对发电或配电控制的观测,或对资源使用或废物产生的观测。动作可以包括控制或施加工厂/设施的设备项目的操作条件的动作,和/或导致工厂/设施的操作设置改变以例如调整或打开/关闭工厂/设施的组件的动作。学习任务可以是具有对应的奖励的控制任务,例如资源使用(例如水或电力)的控制;环境影响控制、电气或其它电力消耗控制;加热、冷却或温度控制,以及设施内的物品的一般控制。奖励可以包括取决于此种控制任务的执行的一个或多个奖励。
在一些其它实施方案中,真实世界环境可以是更新能源工厂,观测可以与工厂的操作有关,例如以最大化当前或未来的计划发电,并且智能体可以控制工厂中的动作或操作以实现这一点。
因此,一般而言,在实施方案中,智能体可以是机械或电子智能体,并且动作可以包括控制输入以控制机械或电子智能体。观测可以从例如图像传感器的传感器得到,和/或它们可以从来自智能体的电气或机械信号得到。
在一些其它实施方案中,环境是真实世界环境,并且智能体是生成输出以呈现给用户的计算机系统。例如,环境可以是患者诊断环境,使得每个状态是患者的相应患者状态,即,如表征患者健康状况的健康状况数据所反映的,并且智能体可以是用于建议给患者的治疗的计算机系统。在此示例中,动作集当中的动作是患者的可能医学治疗,并且要实现的结果可以包括维持患者的当前健康状况、改进患者的当前健康状况、使患者的医疗费用最小化等中的一个或多个。观测可以包括来自例如图像传感器或生物标记传感器的一个或多个传感器的数据,和/或可以包括例如来自医疗记录的处理文本。
作为另一示例,环境可以是化学合成或蛋白质折叠环境,使得每个状态是蛋白质链或一个或多个中间体或前体化学品的相应状态,并且智能体是用于确定如何折叠蛋白质链或合成化学物质的计算机系统。在此示例中,动作是用于折叠蛋白质链的可能折叠动作或用于组装前体化学品/中间体的动作,并且要实现的结果可以包括例如折叠蛋白质,使得蛋白质稳定并且使得蛋白质达到特定的生物学功能,或为化学品提供有效的合成路线。作为另一示例,智能体可以是机械智能体,所述机械智能体在无需人工交互的情况下,执行或控制由系统自动地选择的蛋白质折叠动作或化学合成步骤。观测可以包括对蛋白质或化学品/中间体/前体的状态的直接或间接观测,和/或可以从模拟得到。
在一些应用中,智能体可以是静态或移动软件智能体,即,计算机程序,该计算机程序被配置成自主地操作和/或与其它软件智能体或人一起操作以执行任务。例如,环境可以是集成电路路由环境,并且系统可以被配置成学习执行路由任务以对例如ASIC的集成电路的互连线进行路由。奖励(或成本)随后可能取决于一个或多个路由度量,例如互连电阻、电容、阻抗、损耗、速度或传播延迟、物理线路参数(例如宽度、厚度或几何形状)以及设计规则。观测可以是对组件位置和互连的观测;这些动作可以包括组件放置动作,例如以定义组件位置或定向和/或互连路由动作,例如互连选择和/或布置动作。因此,路由任务可以包括放置组件,即确定集成电路的组件的位置和/或定向,和/或确定组件之间的互连的路由。一旦已完成路由任务,就可以根据确定的布置和/或路由制造例如ASIC的集成电路。
在一些应用中,环境可以是数据包通信网络环境,并且该智能体可以包括路由器以在通信网络上路由数据包。动作可以包括数据包路由动作,并且观测可以包括例如对路由表的观测,所述路由表包括路由度量,例如路由路径长度、带宽、负载、跳数、路径成本、延迟、最大传输单元(MTU)和可靠性的度量。学习任务可以包括具有奖励/成本的分组路由任务,以使一个或多个路由度量最大化或最小化。在一些其它应用中,智能体是软件智能体,所述软件智能体管理跨越计算资源,例如在移动装置上和/或在数据中心中的计算任务分配。在这些实施方案中,观测可以包括对例如计算和/或存储器容量,或互联网可访问的资源的计算资源的观测;并且动作和相关任务可以包括将计算任务分配给特定的计算资源。奖励可能取决于例如计算资源、电力、带宽和计算速度的利用率。
在一些其它应用中,环境是互联网或移动通信环境,并且智能体是为用户管理个性化推荐的软件智能体。观测可以包括用户先前采取的动作(表征所述动作的特征);任务可以包括向用户推荐项目(例如内容项)的动作。奖励可以包括用户将对被推荐的(内容)项目做出积极响应的估计的可能性,或用户接收到的推荐的数量(可选地在一时间跨度内);成本可能取决于一个或多个推荐项目的适用性,推荐的(一个或多个)项目的成本。作为另一示例,动作可以包括呈现广告,观测可以包括广告印象或点击数或点击率,并且奖励可以表征一个或多个用户对项目或内容的先前选择。
在一些其它应用中,环境是网络安全环境。例如,观测可以包括表征计算机网络或分布式计算系统的状态的数据,并且动作可以定义要例如由一个或多个其它智能体执行的,用以保护计算机系统免受网络安全攻击的一个或多个任务。奖励可以包括取决于系统/环境安全性的度量,例如取决于检测到的攻击数的一个或多个奖励。
一般来说,在上述应用中,在环境是真实世界环境的模拟版本的情况下,一旦系统/方法已在模拟中进行训练,它随后就可以应用于真实世界环境(以及可选地省略后见之明模型神经网络)。也就是说,由系统/方法生成的控制信号可以用于控制智能体,以响应于来自真实世界环境的观测而在真实世界环境中执行任务。可选地,系统/方法可以基于来自真实世界环境的一个或多个奖励而继续在真实世界环境中训练。
在一些其它实施方案中,环境是模拟环境,并且将智能体实施为与模拟环境交互的一个或多个计算机程序。例如,模拟环境可以是其中用户与计算机化智能体竞争以实现目标的虚拟环境,并且智能体是计算机化智能体。在此示例中,动作集当中的动作是可以由计算机化智能体执行的可能动作,并且要实现的结果可以是例如赢得与用户的竞争。在一些实施方案中,环境是模拟环境,并且将智能体实施为与模拟环境交互的一个或多个计算机程序。例如,模拟环境可以是视频游戏,并且智能体可以是玩视频游戏的模拟用户。作为另一示例,模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且智能体是在运动模拟中导航的模拟交通工具。在这些实施方案中,动作可以是控制模拟用户或模拟交通工具的控制输入。
可选地,在任一上述实施方案中,在任何给定时间步处的观测可以包括来自可能有利于表征环境的先前时间步处的数据,例如在先前时间步处执行的动作、在先前时间步处接收到的奖励等等。
再次参考图1,强化学习系统100包括后见之明模型神经网络130,所述后见之明模型神经网络接收并处理表征状态轨迹的数据,所述状态轨迹包括从在当前时间步t处的环境的状态开始的环境的一系列k个状态,并且所述后见之明模型神经网络提供对应的特征向量输出φ。接收和处理的数据是从在时间t之后发生的一个或一系列观测得到的,例如ot+1...ot+k,其表示环境的对应的状态。
训练引擎150被配置成使用强化学习系统100的训练目标来调整后见之明模型神经网络的参数。例如,后见之明模型神经网络的输出可以用于确定训练目标的估计,并且可以例如通过反向传播调整后见之明模型神经网络的参数以改进估计。
强化学习系统100还包括模型神经网络120,所述模型神经网络接收从表征环境的当前状态的观测ot得到的输入。训练引擎150被配置成例如基于损失函数(例如平方损失或交叉熵损失)来训练模型神经网络120的特征向量输出以近似后见之明模型神经网络的输出,从而测量以上两个输出之间的差异。
因此,训练模型神经网络120的特征向量输出以表征预测的状态轨迹,所述预测的状态轨迹包括从当前状态开始的环境的一系列k个预测的未来状态。因为使用训练目标训练后见之明模型神经网络,所以模型神经网络120的特征向量输出还学习可用于估计此目标的特征。
在实施方案中,训练目标包括环境的当前状态的状态值或状态-动作值。当遵循强化学习系统100的动作-选择策略时,这可能是从当前状态(状态值)开始或从首先执行的特定动作的当前状态(状态-动作值)开始的时间步t的回报。一般来说,回报是对累积奖励(例如未来奖励的长期时间折扣总和)的估计,如果智能体通过执行由强化学习系统选择的动作与环境交互,则所述累积奖励将从环境接收。
动作选择神经网络系统110可以实施任何强化学习技术,例如Q学习技术或演员-评论员技术。
例如,动作选择输出可以包括Q值向量,一个Q值向量用于可以由智能体执行的可能动作集当中的每个动作。然后可以选择具有最大Q值的动作,或者可以例如使用soft-max函数处理Q值,从而为每个可能的动作生成相应概率值,所述概率值可以用于选择要由智能体执行的动作。
在演员-评论员方法中,动作选择输出可以包括动作选择策略输出,所述动作选择策略输出包括可以由智能体在时间步处执行的可能动作集当中的每个动作的相应数字概率值。然后,可以通过选择具有最高概率值的动作,或通过根据动作的概率值对动作进行采样来确定要由智能体执行的动作。作为另一示例,例如通过索引可以由智能体执行的可能动作集当中的动作,或通过提供定义要由智能体执行的连续有价值动作的值的连续值输出,动作选择策略输出可以直接定义要由智能体执行的动作。在演员-评论员方法中,所估计的状态值用作在训练期间在调整动作选择神经网络系统的参数时使用的评论员。
在图1中,在训练期间仅使用后见之明模型神经网络130,因此该后见之明模型神经网络以及图1中用虚线示出的其它元素可以从受训练的系统/方法省略。
图2是用于训练图1的强化学习系统的示例过程的流程图。过程接收观测和奖励(步骤200)并且使用模型神经网络120处理从当前观测得到的数据(步骤202)。模型神经网络120的输出由动作选择神经网络系统110结合从当前观测得到的数据来处理,以选择要由智能体执行的动作(步骤204)。
从一个或多个未来观测得到且表征k个时间步内的环境的状态的未来轨迹的数据由后见之明模型神经网络130处理(步骤206)。这可以例如通过将当前观测的处理延迟k个时间步来完成。然后,该过程使用当前时间步的训练目标来调整后见之明模型神经网络130的参数(步骤208),并且调整模型神经网络120的参数,使得模型神经网络120提供的输出近似后见之明模型神经网络130的输出(步骤210)。
重复地执行图2的过程,例如直到达到终止标准,例如训练多个时间步或获得指示任务完成的奖励,或无限期地执行所述过程。所述步骤可以按与所示顺序不同的顺序执行。在训练之后,可以省略步骤206至210。
图3a至图3d示意性地图示了图1的强化学习系统100的示例的训练和操作。图3a示意性地图示了强化学习系统的示例架构,并且图3b至图3d图示了训练系统。在图3a至图3d中,节点指示神经网络输出,并且边缘表示可学习的变换,即一个或多个神经网络层,从而导致这些输出。当学习后边缘以粗体显示,并且斜线零表示梯度在反向传播中停止。
图3a至图3d的特定示例与演员-评论员强化学习系统有关并且图示了预测的状态值。Q学习系统的训练和操作类似,但预测状态-动作值。
未在图3a至图3d中明确地示出动作选择神经网络系统。在演员-评论员强化学习系统中,可以包括动作选择神经网络(未示出);这可以与下文所描述的状态值神经网络共享参数。在Q学习系统中,Q值的向量可以用于选择动作。
在图3a至图3d的特定示例,观测ot由一个或多个循环神经网络(RNN)层,例如长短期记忆(LSTM)循环处理。观测可以由一个或多个卷积(CNN)层(未示出)进行预处理。(一个或多个)RNN层基于当前观测以及先前内部状态ht-1提供状态表示ht,所述状态表示ht通常称为内部或隐藏状态表示。当(通常)环境仅部分可观测时,这可能很有用。
在图3a至图3d中,ht和ht+k分别指示在时间t和t+k处的(一个或多个)RNN层的内部状态;φt指示在时间t处的后见之明模型神经网络130的输出,并且指示在时间t处的模型神经网络120的输出。后见之明模型神经网络130处理输入ht+k以确定φt,并且模型神经网络120处理输入ht以确定
在训练期间,系统使用后见之明值神经网络来实施后见之明值函数,以确定在时间步t处的环境的状态的所估计后见之明值由图3a至图3d中的边缘指示的后见之明值神经网络表示为(在图中未标记)并且具有神经网络参数θ1。后见之明值神经网络处理后见之明模型神经网络的特征向量输出φt和来自观测ot的数据(在图3a至图3d中是ht)的组合,以确定如果后见之明模型神经网络具有参数θ2,则可以由下式给出:
系统还具有状态值神经网络,以确定在时间步t处的环境的状态的基于模型的值估计vm。由图3a至图3d中的边缘指示的状态值神经网络表示为(在图中未标记)并且具有神经网络参数η1。在实施方案中,值估计用于训练动作选择神经网络系统(以及具有输入的动作选择神经网络系统)。状态值神经网络处理模型神经网络的特征向量输出和来自观测ot的数据(在图3a至图3d中是ht)的组合,以确定如果模型神经网络具有参数η2,则可以通过下式给出:
虽然从上面的等式中可以看出,除了在ht中之外,在中没有额外信息,但仍然可以提供更佳的训练信号,因为它可以受益于在后见之明中的更丰富的信号上进行训练。此外,所述模型和后见之明模型的使用可以迫使关于未来轨迹的信息穿过未来轨迹的瓶颈表示,使得学习的特征向量标识未来/预测未来的那些特征,这些未来/预测未来的特征在时间t处预测轨迹的回报时最有用。
在实施方案中,因此来自后见之明模型神经网络和模型神经网络的学习的特征向量输出具有比它们的输入低的维度,例如小于20。这样可以促进学习。类似地,对未来观测(即步数k)的有限视野也很有用,系统前瞻可能会限于例如不超过20步,例如约5个时间步。然而,系统似乎对这些超参数的精确值并不特别敏感。
图3b突出了强化学习系统100的用于训练值函数损失的子集。值函数损失可以是值估计与强化学习训练目标之间的差(例如,平方差(均方误差))的任何度量。训练目标可以是从时间步t的回报确定的状态值。例如,在基于IMPALA的强化学习系统(ibid)中,训练目标可以是V-trace目标。
在Q学习强化学习系统中,值函数损失可以是特定动作的状态-动作值估计与强化学习训练目标之间的差(例如,平方差)的任何度量,所述强化学习训练目标可以是从时间步t的回报确定的特定动作的状态-动作值。特定动作可以是从存储经验元组序列的存储器采样的动作(或动作轨迹之一),每个经验元组对应于相应的时间步。对应于时间步t的经验元组可以包括观测ot、选择由智能体在所述时间步处执行的动作at、在智能体执行所选择动作之后接收到的奖励rt,以及后续观测ot+1(当存储元组序列时,可以省略ot+1,例如在R2D2 ibid中那样)。例如,在基于R2D2的强化学习系统(ibid)中,训练目标可以是在Kapturowski等人的论文中定义的n步回报Q目标。
如在图3b中所示,当使用值函数损失训练强化学习系统100时,训练引擎150反向传播损失的梯度,以更新状态值神经网络的神经网络参数η1并且还更新一个或多个RNN层(生成ht)以及一个或多个CNN层(如果存在的话)的神经网络参数。模型神经网络的参数η2不使用值函数损失进行训练,因此仅就状态值神经网络而言,仅为额外输入。用上横符号表示的数量视为不可微分,即梯度停止的位置,这可以概括为
图3c突出了强化学习系统100的用于训练后见之明值函数损失的子集。后见之明值函数损失可以是估计的后见之明值与强化学习训练目标之间的差(例如,平方差)的任何度量。也就是说,相同强化学习训练目标用于值函数损失和后见之明值函数损失因此,估计的后见之明值和值估计旨在估计相同训练目标,但将后见之明用于估计的后见之明值
如在图3c中所示,当使用后见之明值函数损失训练强化学习系统100时,训练引擎150反向传播损失的梯度,以更新后见之明值神经网络的神经网络参数θ1并且还更新后见之明模型神经网络的神经网络参数θ2。在实施方案中,(一个或多个)RNN层的参数不使用后见之明值函数损失进行训练。
因此,后见之明模型神经网络学习使用观测,更具体来说使用如RNN内部状态ht+k所表示的从来自当前时间步t的未来观测轨迹得出的数据,来使用后见之明对可用于估计训练目标,即用于预测状态值(或状态-动作值)的观测的特征进行建模。再次用上横符号,这可以概括为
图3d突出了强化学习系统100的用于训练模型损失的子集。模型损失可以是后见之明模型神经网络130的特征向量输出与模型神经网络120的特征向量输出之间,即φt与之间的差的任何度量。例如,这可以包括φt与的分量之间的平方差(为了清楚起见,省略t相关性),
如图3d中所示,当使用模型损失训练强化学习系统100时,训练引擎150反向传播损失的梯度,以更新模型神经网络的参数η2。可选地,也可以将梯度反向传播到(一个或多个)RNN层,并且在存在(一个或多个)CNN层的情况下,训练模型神经网络的观测编码输入。因此,模型神经网络120学习使用当前观测来预测由后见之明模型神经网络130输出的特征向量。
在动作选择神经网络系统110具有如先前例如在演员-评论员强化学习系统中描述的动作选择策略输出的情况下,组合损失可以包括演员损失,以更新动作选择神经网络的参数,其中所述动作选择神经网络提供动作选择策略输出。例如,关于动作选择神经网络的参数,演员损失可以取决于状态值函数和梯度logπ的乘积,其中π是动作选择策略输出。可选地,还可以包括熵损失(其是负的以减少高熵的成本),例如取决于关于可用动作的-π·logπ的总和或其某一变体,以鼓励探索并降低训练期间过早收敛的风险。图4是根据图3a至图3d的用于训练示例强化学习系统100的示例过程的流程图。图4的步骤对应于图3b至图3d中所示的步骤,并且可以按任何次序执行;可选地,可以在执行另一步骤之前重复一个或多个步骤。例如,无限期地或在达到终止标准之前重复这些步骤。
因此,强化学习系统100接收观测和奖励(步骤400),并且使用(一个或多个)CNN层(如果存在的话)、(一个或多个)RNN层和动作选择神经网络系统110来处理观测,以选择要由智能体执行的动作(步骤402)。强化学习系统100然后确定如上所述的值函数(或状态-值函数)损失,并使用它来训练状态值网络以及(一个或多个)RNN层和CNN层(步骤404)。强化学习系统100还确定如上所述的后见之明值函数(或状态-值函数)损失,并使用它来训练后见之明值神经网络和后见之明模型神经网络(步骤406)。强化学习系统100还确定如上所述的模型损失,并使用它来训练模型神经网络以及可选地(一个或多个)RNN层和(一个或多个)CNN层。可以线下(例如,使用存储的经验元组)执行训练或通过将后见之明值函数(或状态-值函数)损失和模型损失的计算延迟k个时间步来线上执行训练。
一般来说,强化学习系统100可以由任何合适的神经网络架构实施,所述神经网络架构例如包括卷积层、全连接层或循环层中的一个或多个的神经网络架构。
图5a和图5b分别图示了用于演员-评论员强化学习系统100(例如,IMPALA ibid)或用于Q学习强化学习系统100(例如,R2D2 ibid)的示例神经网络架构,其中神经网络由先前使用的符号表示。实际上,神经网络可以共享一些参数。Q学习强化学习系统包括存储经验元组序列以用于训练的存储器502。
对于要配置成执行特定操作或动作的一个或多个计算机的系统,意味着所述系统上已安装在被操作时使系统执行操作或动作的软件、固件、硬件或它们的组合。对于要配置成执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理设备执行时使设备执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路、在有形地实施的计算机软件或固件、在计算机硬件,包括本说明书中所公开的结构以及其结构等效物,或在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即,在有形的非暂时性程序载体上编码以供数据处理设备执行或控制数据处理设备的操作的计算机程序指令的一个或多个模块。可替代地或另外,程序指令可以在例如机器产生的电信号、光信号或电磁信号等人为产生的传播信号上编码,产生所述人为产生的传播信号以对传输到合适接收器设备以供数据处理设备执行的信息进行编码。计算机存储介质可以是机器可读存储装置、机器可读存储基底、随机或串行存取存储器装置,或它们中的一个或多个的组合。然而,计算机存储介质不是传播信号。
术语“数据处理设备”涵盖用于处理数据的所有种类的设备、装置和机器,包括例如可编程处理器、计算机,或多个处理器或计算机。设备可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,设备还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统,或它们中的一个或多个的组合的代码。
计算机程序(也可以称为或描述为程序、软件、软件应用程序、模块、软件模块、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释性语言,或声明性或程序性语言,并且它可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其它单元进行部署。计算机程序可以,但未必对应于文件系统中的文件。程序可以存储在文件的一部分中,所述文件将其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)保存在专用于所讨论的程序的单个文件中,或多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。计算机程序可以被部署为在一个计算机上或在多个计算机上执行,所述多个计算机位于一个位置处或跨越多个位置分布并且通过通信网络互连。
如本说明书中所使用,“引擎”或“软件引擎”是指提供与输入不同的输出的软件实施的输入/输出系统。引擎可以是编码的功能块,例如库、平台、软件开发工具包(“SDK”)或对象。每个引擎都可以在任何适当类型的计算装置上实施,例如服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、PDA、智能手机或包括一个或多个处理器和计算机可读介质的其它固定或便携式装置。另外,两个或更多个引擎可以在相同计算装置上,或在不同计算装置上实施。
本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过在输入数据上操作并且产生输出来执行功能。过程和逻辑流还可以通过专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行并且设备还可以实施为所述专用逻辑电路。例如,过程和逻辑流可以由图形处理单元(GPU)执行并且设备也可以实施为图形处理单元(GPU)。
例如,适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者基于任何其它种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或实施指令的中央处理单元,以及用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置(例如,磁盘、磁光盘或光盘),或可操作地耦合以从所述一个或多个大容量存储装置接收数据或将数据传递到所述一个或多个大容量存储装置,或这两者。然而,计算机不需要具有此类装置。此外,计算机可以嵌入另一装置中,例如,仅举几例,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携式存储装置(例如,通用串行总线(USB)闪存驱动器)。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如,半导体存储器装置,例如,EPROM、EEPROM和闪存装置;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有显示装置,例如,CRT(阴极射线管)或LCD(液晶显示器)监视器的计算机上实施,以将信息显示给用户以及键盘和指向装置,例如,鼠标或轨迹球,用户可以通过所述指向装置将输入提供到计算机。其它种类的装置也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;以及从用户产生的输入可以用任何形式接收,包括声音、语音或触觉输入。另外,通过将文档发送到用户使用的装置以及从所述装置接收文档;例如,通过响应于从网络浏览器接收的请求而将网页发送到用户的客户端装置上的网络浏览器,计算机可以与用户交互。
本说明书中描述的主题的实施例可以在计算系统中实施,所述计算系统包括后端组件,例如作为数据服务器,或包括中间件组件,例如应用程序服务器,或包括前端组件,例如具有图形用户界面或网络浏览器的客户端计算机,用户可以通过所述图形用户界面或网络浏览器与本说明书中描述的主题的实施方案交互,或一个或多个此后端、中间件或前端组件的任何组合。系统的组件可以通过数字数据通信,例如通信网络的任何形式或介质互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常远离彼此并且通常通过通信网络交互。客户端和服务器的关系借助于在相应计算机上运行以及彼此具有客户端-服务器关系的计算机程序产生。
尽管本说明书含有许多特定实施方案细节,但是这些细节不应解释为限制任何发明的范围或可以主张的内容的范围,而是对可能特定于特定发明的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各个特征也可以单独地在多个实施例中或在任何合适的子组合中实施。此外,尽管特征可以在上文描述为在某些组合中起作用且甚至初始地如此主张,但是来自所主张组合的一个或多个特征在一些情况下可以从所述组合中删除,并且所主张组合可以针对子组合或子组合的变体。
类似地,尽管在图中以特定次序描绘操作,但是这不应理解为需要按所示的特定次序或按顺序执行此类操作,或执行所有所图示的操作以实现所需要的结果。在某些情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各个系统模块和组件的分离不应理解为在所有实施例中需要此种分离,并且应理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装成多个软件产品。
已描述主题的特定实施例。其它实施例在所附权利要求书的范围内。例如,权利要求书中叙述的动作可以按不同次序执行并且仍实现所需要的结果。作为另一示例,附图中描绘的过程不一定需要所示的特定次序或连续次序来实现期望的结果。在某些实施方案中,多任务和并行处理可以是有利的。
Claims (19)
1.一种强化学习的计算机实施的方法,包括:
训练动作选择神经网络系统,以选择要由在环境中执行任务的智能体来执行的动作;
其中,所述动作选择神经网络系统被配置成从i)表征所述环境的当前状态的观测、以及ii)模型神经网络的输出接收输入数据,并且根据动作选择神经网络系统参数处理所述输入数据,以生成用于选择要由所述智能体执行的所述动作的动作选择输出;以及
其中,所述模型神经网络被配置成接收从表征所述环境的当前状态的所述观测得到的输入,并且所述模型神经网络的输出表征预测的状态轨迹,所述预测的状态轨迹包括从所述当前状态开始的所述环境的一系列k个预测的未来状态;
其中,所述方法还包括:
通过以下操作来训练具有表征状态轨迹的输出的后见之明模型神经网络,所述状态轨迹包括从时间步t处的所述环境的状态开始的所述环境的一系列k个状态:处理来自表征在所述时间步t处和在一系列k个后续时间步处的所述环境的状态的一个或多个观测的数据、以及使用所述时间步t的训练目标调整所述后见之明模型神经网络的参数;以及
训练所述模型神经网络的输出,以近似所述后见之明模型神经网络的输出。
2.根据权利要求1所述的方法,其中,训练所述后见之明模型包括:使用后见之明值神经网络处理所述后见之明模型神经网络的输出以及处理来自表征所述时间步t处的所述环境的状态的所述观测的数据,以生成在所述时间步t处的所述环境的状态的所估计的后见之明值或状态-动作值,并且反向传播取决于在所述时间步t处的所述环境的状态的所估计的后见之明值或状态-动作值与所述时间步t的所述训练目标之间的差异的目标函数的梯度,以更新所述后见之明值神经网络的参数以及所述后见之明模型神经网络的参数。
3.根据权利要求2所述的方法,其中,所述动作选择神经网络系统包括状态值神经网络,用于选择或学习选择要由所述智能体执行的所述动作。
4.根据权利要求3所述的方法,其中,训练所述动作选择神经网络系统包括:反向传播取决于使用所述状态值神经网络来确定的所述环境的当前状态的状态值或状态-动作值与所述环境的当前状态的所估计的回报或状态-动作值之间的差异的目标函数的梯度。
5.根据权利要求3或4所述的方法,其中,所述动作选择神经网络系统具有与所述模型神经网络相同的参数。
6.根据权利要求2至5中的任一项所述的方法,还包括将从表征所述环境的状态的所述观测接收数据的一个或多个循环神经网络(RNN)层的内部状态作为输入提供到所述动作选择神经网络系统和所述后见之明值神经网络。
7.根据权利要求1至6中的任一项所述的方法,还包括将从表征所述环境的状态的所述观测接收数据的一个或多个循环神经网络(RNN)层的内部状态作为输入提供到所述后见之明模型神经网络和所述模型神经网络。
8.根据前述权利要求中的任一项所述的方法,其中,所述时间步t的所述训练目标包括所述时间步t的状态值或状态-动作值目标。
9.根据前述权利要求中的任一项所述的方法,其中,所述时间步t的所述训练目标包括所述时间步t的所估计的回报。
10.根据前述权利要求中的任一项所述的方法,其中,训练所述模型神经网络的输出以近似所述后见之明模型神经网络的输出包括:反向传播取决于所述后见之明模型神经网络的表征所述状态轨迹的所述输出与所述模型神经网络的表征所述预测的状态轨迹的所述输出之间的差异的目标函数的梯度。
11.根据前述权利要求中的任一项所述的方法,其中,所述后见之明模型神经网络的表征所述状态轨迹的输出和所述模型神经网络的表征所述预测的状态轨迹的输出各自包括所述环境的一个或多个观测的降维表示的特征。
12.根据前述权利要求中的任一项所述的方法,其中,所述后见之明模型神经网络的表征所述状态轨迹的输出和所述模型神经网络的表征所述预测的状态轨迹的输出各自具有的维度小于它们的输入、小于20或小于10。
13.根据前述权利要求中的任一项所述的方法,其中,k小于20。
14.根据权利要求1至13中的任一项所述的方法,还包括维护存储器,所述存储器存储表示由于所述智能体与所述环境的交互而生成的轨迹的数据,每个轨迹包括在一系列时间步中的每个时间步处的数据,每个时间步处的所述数据至少标识表征所述环境的状态的观测以及表征所述环境的后续状态的一系列后续观测,以用于训练所述后见之明模型神经网络。
15.一种选择要由在环境中执行任务的智能体来执行的动作的计算机实施的方法,包括:
接收表征所述环境的当前状态的观测;
使用模型神经网络处理所述观测以生成表征预测的状态轨迹的模型神经网络输出,所述预测的状态轨迹包括从当前状态开始的所述环境的一系列k个预测的未来状态;
处理表征所述环境的当前状态的所述观测和所述模型神经网络输出以生成动作选择输出,以用于选择要由执行所述任务的所述智能体来执行的所述动作。
16.根据前述权利要求中的任一项所述的方法,其中,所述智能体包括机械智能体,并且其中所述环境包括真实世界环境。
17.一种强化学习神经网络系统,包括:
动作选择神经网络系统,用于选择要由在环境中执行任务的智能体来执行的动作,
其中,所述动作选择神经网络系统被配置成从i)表征所述环境的当前状态的观测、以及ii)模型神经网络的输出接收输入数据,并且根据动作选择神经网络系统参数处理所述输入数据,以生成用于选择要由所述智能体执行的所述动作的动作选择输出;以及
模型神经网络,
其中,所述模型神经网络被配置成接收来自表征所述环境的当前状态的所述观测的输入,并且所述模型神经网络的输出表征预测的状态轨迹,所述预测的状态轨迹包括从所述当前状态开始的所述环境的一系列k个预测的未来状态;
其中所述系统被配置成:
通过以下操作来训练具有表征状态轨迹的输出的后见之明模型神经网络,所述状态轨迹包括从时间步t处的所述环境的状态开始的所述环境的一系列k个状态:处理表征在所述时间步t处和一系列k个后续时间步处的所述环境的状态的观测、以及使用所述时间步t的训练目标调整所述后见之明模型神经网络的参数;以及
训练所述模型神经网络的输出,以近似所述后见之明模型神经网络的输出。
18.一种用于执行任务的神经网络计算机系统,包括:
动作选择神经网络系统,用于选择要由在环境中执行任务的智能体来执行的动作,其中所述动作选择神经网络系统被配置成从i)表征所述环境的当前状态的观测、以及ii)模型神经网络的输出接收输入数据,并且根据动作选择神经网络系统参数处理所述输入数据,以生成用于选择要由所述智能体执行的所述动作的动作选择输出;以及
模型神经网络,其中所述模型神经网络被配置成从表征所述环境的当前状态的所述观测接收输入,并且所述模型神经网络的输出表征预测的状态轨迹,所述预测的状态轨迹包括从所述当前状态开始的所述环境的一系列k个预测的未来状态。
19.存储指令的一个或多个计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1至16中的任一项所述的相应方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962905915P | 2019-09-25 | 2019-09-25 | |
US62/905,915 | 2019-09-25 | ||
PCT/EP2020/076604 WO2021058588A1 (en) | 2019-09-25 | 2020-09-23 | Training action selection neural networks using hindsight modelling |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114467092A true CN114467092A (zh) | 2022-05-10 |
Family
ID=72659211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080066633.6A Pending CN114467092A (zh) | 2019-09-25 | 2020-09-23 | 使用后见之明建模来训练动作选择神经网络 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220366245A1 (zh) |
EP (1) | EP4010847A1 (zh) |
JP (1) | JP7335434B2 (zh) |
CN (1) | CN114467092A (zh) |
WO (1) | WO2021058588A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018083667A1 (en) * | 2016-11-04 | 2018-05-11 | Deepmind Technologies Limited | Reinforcement learning systems |
CN113378456B (zh) * | 2021-05-21 | 2023-04-07 | 青海大学 | 多园区综合能源调度方法和系统 |
CN113269315B (zh) * | 2021-06-29 | 2024-04-02 | 安徽寒武纪信息科技有限公司 | 利用深度强化学习执行任务的设备、方法及可读存储介质 |
US20230007564A1 (en) * | 2021-06-30 | 2023-01-05 | Qualcomm Incorporated | Adaptive transmission and transmission path selection based on predicted channel state |
CA3229296A1 (en) * | 2021-08-24 | 2023-03-02 | Scott Ellison REED | Autoregressively generating sequences of data elements defining actions to be performed by an agent |
CN114048834B (zh) * | 2021-11-05 | 2023-01-17 | 哈尔滨工业大学(深圳) | 基于事后回顾和渐进式扩展的持续强化学习非完全信息博弈方法及装置 |
CN114422363B (zh) * | 2022-01-11 | 2023-04-21 | 北京科技大学 | 一种无人机搭载ris辅助通信系统容量优化方法及装置 |
CN114596553B (zh) * | 2022-03-11 | 2023-01-24 | 阿波罗智能技术(北京)有限公司 | 模型训练方法、轨迹预测方法、装置及自动驾驶车辆 |
WO2023177790A1 (en) * | 2022-03-17 | 2023-09-21 | X Development Llc | Planning for agent control using restart-augmented look-ahead search |
WO2024089290A1 (en) * | 2022-10-28 | 2024-05-02 | Deepmind Technologies Limited | Learning a diverse collection of action selection policies by competitive exclusion |
CN116484942B (zh) * | 2023-04-13 | 2024-03-15 | 上海处理器技术创新中心 | 用于多智能体强化学习的方法、系统、设备和存储介质 |
-
2020
- 2020-09-23 US US17/763,901 patent/US20220366245A1/en active Pending
- 2020-09-23 WO PCT/EP2020/076604 patent/WO2021058588A1/en unknown
- 2020-09-23 JP JP2022519019A patent/JP7335434B2/ja active Active
- 2020-09-23 CN CN202080066633.6A patent/CN114467092A/zh active Pending
- 2020-09-23 EP EP20780639.9A patent/EP4010847A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2022549859A (ja) | 2022-11-29 |
EP4010847A1 (en) | 2022-06-15 |
JP7335434B2 (ja) | 2023-08-29 |
WO2021058588A1 (en) | 2021-04-01 |
US20220366245A1 (en) | 2022-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7335434B2 (ja) | 後知恵モデリングを用いた行動選択ニューラルネットワークの訓練 | |
US20220366247A1 (en) | Training action selection neural networks using q-learning combined with look ahead search | |
EP3788549B1 (en) | Stacked convolutional long short-term memory for model-free reinforcement learning | |
CN112292693A (zh) | 强化学习系统训练返回函数的元梯度更新 | |
CN116992917A (zh) | 用于选择动作的系统和方法 | |
JP7436688B2 (ja) | 目的別行動価値関数を使用する多目的強化学習 | |
CN112119409A (zh) | 具有关系存储器的神经网络 | |
CN110447041B (zh) | 噪声神经网络层 | |
JP7448683B2 (ja) | マルチタスク強化学習におけるメタ勾配を用いたアクション選択のための学習オプション | |
KR20220137732A (ko) | 적응형 리턴 계산 방식을 사용한 강화 학습 | |
US20220092456A1 (en) | Controlling an agent to explore an environment using observation likelihoods | |
US11604941B1 (en) | Training action-selection neural networks from demonstrations using multiple losses | |
CN116324818A (zh) | 使用增强时间差异学习训练强化学习智能体 | |
CN115280321A (zh) | 使用自举潜在的预测来学习针对代理控制的环境表示 | |
JP2023545021A (ja) | パレートフロント最適化を使用する制約付き強化学習ニューラルネットワークシステム | |
CN115867918A (zh) | 使用相对熵q学习训练动作选择系统 | |
US20240086703A1 (en) | Controlling agents using state associative learning for long-term credit assignment | |
CN118043824A (zh) | 检索增强强化学习 | |
CN117223011A (zh) | 使用加权策略投影的多目标强化学习 | |
CN116897357A (zh) | 具有不同策略的神经网络强化学习 |
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 |