CN110235149B - 神经情节控制 - Google Patents
神经情节控制 Download PDFInfo
- Publication number
- CN110235149B CN110235149B CN201880008758.6A CN201880008758A CN110235149B CN 110235149 B CN110235149 B CN 110235149B CN 201880008758 A CN201880008758 A CN 201880008758A CN 110235149 B CN110235149 B CN 110235149B
- Authority
- CN
- China
- Prior art keywords
- action
- key
- current
- return
- value
- 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/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/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/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
-
- 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/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
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种方法包括维护多个动作中的每一个的相应的情节存储器数据;接收表征代理正在与之交互的环境的当前状态的当前观察;根据嵌入神经网络的参数的当前值,使用嵌入神经网络处理当前观察以生成当前观察的当前键嵌入;对于多个动作中的每个动作:根据距离度量确定动作的情节存储器数据中距当前键嵌入最近的p个键嵌入,并且从由动作的情节存储器数据中的最近的p个键嵌入映射到的返回估计确定动作的Q值;以及,使用动作的Q值从多个动作中选择一个动作作为要由代理执行的动作。
Description
相关申请的交叉引用
本申请要求2017年2月24日提交的美国临时申请序列号62/463,558的优先权。在先申请的公开内容被认为是本申请的公开内容的一部分,并且通过引用并入本申请的公开内容中。
技术领域
本说明书涉及强化学习。
背景技术
在强化学习系统中,代理响应于接收到表征环境的当前状态的观察,通过执行由强化学习系统选择的动作与环境交互。
一些强化学习系统根据神经网络的输出,选择要由代理响应于接收到给定的观察而执行的动作。
神经网络是采用一层或多层非线性单元来预测接收到的输入的输出的机器学习模型。一些神经网络是除了输出层之外还包括一个或多个隐藏层的深度神经网络。每个隐藏层的输出用作网络中下一层(即,下一隐藏层或输出层)的输入。网络中的每一层根据相应参数集合的当前值从接收到的输入生成输出。
发明内容
该说明书描述了在一个或多个位置处的一个或多个计算机上实施为计算机程序的系统如何使用由系统维护的情节存储器数据来从动作的集合中选择要由与环境交互的代理执行的动作。
通常,本说明书中描述的主题的一个创新方面可以体现在计算机实施的方法中,所述方法包括由一个或多个计算机维护多个动作中的每个动作的相应的情节存储器数据。每个动作的情节存储器数据将相应的多个键嵌入中的每一个映射到相应的返回估计。所述方法包括由所述一个或多个计算机接收表征代理正与之交互的环境的当前状态的当前观察。所述方法包括由一个或多个计算机根据嵌入神经网络的参数的当前值,使用嵌入神经网络处理当前观察以生成当前观察的当前键嵌入。对于多个动作中的每个动作,所述方法包括由一个或多个计算机根据距离度量确定动作的情节存储器数据中距当前键嵌入最近的p个键嵌入,并且由一个或多个计算机从由动作的情节存储器数据中的最近的p个键嵌入映射到的返回估计确定动作的Q值。动作的Q值是可能由代理响应于当前观察执行动作而产生的预测返回。所述方法还包括由一个或多个计算机使用动作的Q值从多个动作中选择一个动作作为要由代理响应于当前观察而执行的动作。
前述和其他实施例可以各自可选地单独或组合地包括一个或多个以下特征。
选择要执行的动作可以包括:选择具有最高Q值的动作作为要执行的动作。选择要执行的动作可以包括:以概率ε选择具有最高Q值的动作作为要执行的动作,并且以概率1-ε从预定动作的集合中选择随机动作。
从由动作的情节存储器数据中的最近的p个键嵌入映射到的返回估计确定动作的Q值包括:根据距离度量,从最近的p个键嵌入与当前键嵌入之间的距离确定动作的情节存储器数据中的最近的p个键嵌入中的每一个的相应权重;以及,对于动作的情节存储器数据中的最近的p个键嵌入中的每一个,由键嵌入的权重对映射到键嵌入的估计返回进行加权,以确定相应的加权估计返回。
确定动作的Q值可以包括:对动作的加权估计返回进行求和;以及,将求和的加权估计返回用作Q值。
确定动作的Q值可以包括:对动作的加权估计返回进行求和;以及,根据返回神经网络的参数的当前值,通过返回神经网络处理包括求和的加权估计返回的网络输入以生成Q值。
确定动作的Q值可以包括:根据返回神经网络的参数的当前值,通过返回神经网络处理包括加权估计返回的网络输入以生成Q值。
网络输入还可以包括当前观察。嵌入神经网络可以是卷积神经网络。嵌入神经网络可以包括一个或多个递归神经网络层。
所述方法还可以包括:确定由代理响应于当前观察执行所选的动作而产生的当前返回。该当前返回稍后称为当前自举返回,因为它用于确定取决于存储在情节存储器中的数据的Q值,并且该Q值本身用于更新存储在情节存储器中的数据,特别是键嵌入和相应的返回估计。
所述方法还可以包括确定当前键嵌入是否与动作的情节存储器数据中的任何键嵌入匹配。在当前键嵌入与动作的情节存储器数据中的任何键嵌入都不匹配时:所述方法可以包括把将当前键嵌入映射到当前(自举)返回的数据添加到动作的情节存储器数据。在当前键嵌入与动作的情节存储器数据中的键嵌入匹配时,所述方法可以包括更新情节存储器数据以将匹配的键嵌入映射到当前(自举)返回和由匹配的键嵌入当前映射到的返回估计的加权平均值。
所述方法还可以包括:生成包括当前观察、所选的动作和当前(自举)返回的新元组;以及,将新元组添加到重放存储器中。所述方法还可以包括:从重放存储器中采样训练元组,所述训练元组包括训练观察、训练所选的动作和训练返回;使用上述的相应方法,根据训练观察确定训练所选的动作的Q值;并且反向传播训练所选的动作的Q值和训练返回之间的误差梯度,以更新键嵌入、估计返回和嵌入神经网络的参数的当前值。与当前返回类似,训练返回稍后称为训练自举返回。
本说明书中描述的主题可以在具体实施例中实施,以便实现以下优点中的一个或多个。通过结合存储器,即,如本说明书中所描述的那样使用的情节存储器数据(其包括每个动作的相应的情节存储器模块),系统可以更好地执行各种强化学习任务。这是因为本说明书中描述的情节存储器架构可以快速地集成最近的经验-状态表示和相应的返回值估计,因此存储器被适当地描述为情节。情节存储器使这些信息能够迅速融入强化学习代理的未来行为中,并改善未来行为。因此,在一些实施方式中,与先前系统相比,系统可以从与环境的交互更少的量级学习任务。情节存储器架构可以进一步允许更小的神经网络,即,系统可以具有更少数量的网络参数,同时仍然实现相当的或更好的性能。另外,系统的组件是完全可微分的,并且由于情节存储器写入和读取的方式,可以在更短的时间内训练组件,减少了系统在给定强化学习任务上达到高性能水平所需的计算资源,例如,存储器和处理能力。
具体地,本说明书中描述的情节存储器将键嵌入映射到Q值,并且在键嵌入上使用基于上下文的查找以在动作选择过程中检索有用的Q值。通常,对于给定动作,键嵌入是观察的情节存储器数据中嵌入,其中,代理响应于观察执行该给定动作。通过嵌入神经网络提供的缓慢变化的稳定表示,存储在情节存储器中的键嵌入保持相对稳定,从而允许稳定的训练。与用于强化学习的其他神经存储器架构相比,从情节存储器中检索的Q值可以更快地更新,这有助于减轻应用于整个网络的随机梯度下降的通常缓慢的权重更新。例如,在训练期间,更低的学习速率可用于更新嵌入神经网络,而不是用于更新存储在可微分的情节存储器中的关键嵌入-返回估计对。在一些实施方式中,系统使用N步Q值函数来估计Q值,该N步Q值函数在蒙特卡洛值估计和备份的非策略估计之间进行插值,其提供奖励传播速度和最优性之间的折衷。更一般地,返回估计可以包括与由键嵌入表示的环境状态相关联的值函数的估计。在训练期间,在训练期的每个时间步骤中,可以将这样的键值对插入到情节存储器中。
此外,与诸如LSTM的其他存储器架构不同,这里描述的情节存储器不会试图学习何时写入存储器,因为这可能学习的慢并且花费大量时间。相反,系统选择将所有经验写入情节存储器(直到达到存储器的最大容量),并且与现有存储器架构相比允许存储器变得非常大。系统可以通过使用快速近似最近邻算法(例如,基于kd树的最近邻算法)从该大存储器中高效地读取。存储在情节存储器中的数据可以持续跨越多个训练期,其中训练期可以包括训练直到任务结束或完成。
在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。根据说明书、附图、和权利要求,本主题的其他特征、方面、和优点将变得显而易见。
附图说明
图1示出了示例强化学习系统。
图2是用于确定动作的Q值的示例过程的框图。
图3是用于更新情节存储器数据并将新元组添加到重放存储器的示例过程的流程图。
图4是使用来自重放存储器的训练元组训练神经情节控制器的示例过程的流程图。
各附图中相同的附图标记和名称表示相同的元件。
具体实施方式
本说明书总体上描述了一种强化学习系统,其使用神经情节控制器从动作集合中选择要由与环境交互的强化学习代理执行的动作。
为了与环境交互,代理接收表征环境的当前状态的数据,并响应于接收到的数据执行来自动作空间的动作。表征环境状态的数据将在本说明书中称为观察。
在一些实施方式中,环境是模拟环境,并且代理被实施为与模拟环境交互的一个或多个计算机。例如,模拟环境可以是视频游戏,并且代理可以是玩该视频游戏的模拟用户。
在其他一些实施方式中,环境是真实世界环境,并且代理是与真实世界环境交互的机械代理。例如,代理可以是与环境交互以完成特定任务的机器人。作为另一个示例,代理可以是在环境中导航的自主或半自主车辆。在这些情况下,观察可以是由机械代理的一个或多个传感器(例如,相机、激光雷达传感器、温度传感器等)在它与环境交互时捕获的数据。
在其他一些实施方式中,环境是真实世界环境,并且代理管理设施(例如,数据中心)的操作。在这些实施方式中,动作可以是导致设施操作中的各种设置发生改变的动作(例如,打开/关闭某些组件以及调整各种组件的设置)。
在其他一些实施方式中,环境是真实世界环境,并且代理管理跨计算资源(例如,在移动设备上或在数据中心中)的任务分配。在这些实施方式中,动作可以是将任务分配给特定的计算资源。
图1示出了示例强化学习系统100。强化学习系统100是在一个或多个位置处的一个或多个计算机上实施为计算机程序的系统的示例,其中实施了下面描述的系统、组件、和技术。
强化学习系统100选择要由与环境104交互的强化学习代理102执行的动作。也就是说,强化学习系统100接收观察,其中,每个观察表征环境104的相应状态,并且,响应于每个观察,从动作空间中选择要由强化学习代理102响应于观察而执行的动作。在代理102执行所选的动作之后,环境104转换到新状态,并且系统100接收表征环境104的下一状态的另一观察和奖励。奖励可以是由于代理102执行所选的动作而由系统100或代理102从环境104接收的数值。
强化学习系统100使用神经情节控制器110,选择要由代理102响应于观察而执行的动作。神经情节控制器110包括嵌入神经网络106、情节存储器数据108和Q值引擎112。
为了训练神经情节控制器110,系统100维护应答存储器114。应答存储器114存储训练元组。每个训练元组包括训练观察、训练所选的动作、和训练自举返回。下面参考图3更详细地描述自举返回。
神经情节控制器110维护情节存储器数据108,情节存储器数据108包括可以由代理102响应于观察而执行的可能动作的集合A中的每个动作a的相应情节存储器模块。
通常,对于给定动作,给定动作的情节存储器模块将多个键嵌入中的每一个映射到该键嵌入的相应返回估计。给定动作的情节存储器模块中的键嵌入是观察的键嵌入,其中代理响应于观察执行该给定动作。由给定观察的键嵌入映射到的相应返回估计可以是在代理102响应于观察而执行给定动作之后由系统100或代理102接收到的奖励的时间折扣组合(例如,总和或平均值)的估计。
具体地,对于每个动作a∈A,相应的情节存储器模块可以表示为Ma=(Ka,Va),其中Ka和Va是矢量阵列,各自包括相同数量的矢量。阵列Ka和Va的大小可以动态变化。情节存储器模块将键嵌入hi映射到对应的返回估计Qi,其中,键嵌入hi是阵列Ka的第i个元素,返回估计Qi是阵列Va的第i个元素。在情节存储器模块上可能有两个操作:查找和写入,这将在下面更详细地描述。
当系统100接收到表征由代理102正与之交互的环境104的当前状态的当前观察s时,神经情节控制器110使用嵌入神经网络106处理当前观察s以生成当前观察s的当前键嵌入h。根据嵌入神经网络106的参数的当前值处理当前观察s。在一些实施方式中,嵌入神经网络106是卷积神经网络。在一些实施方式中,嵌入神经网络106包括一个或多个递归神经网络层。
在一些实施方式中,嵌入神经网络106包括一个或多个卷积神经网络层,后面是一个或多个完全连接的层。Mnih等人的“Human-level control through deepreinforcement learning.”Nature,518(7540):529–533,2015中描述了这种神经网络的示例架构。
然后,神经情节控制器110使用当前键嵌入h在每个动作a∈A的相应情节存储器模块上执行查找。具体地,神经情节控制器110根据距离度量(例如,使用核函数计算的距离)针对每个动作a∈A确定相应的情节存储器模块Ma=(Ka,Va)中距当前键嵌入h最近的p个键嵌入。p可以是大于1的整数,例如十、二十五、五十、或一百。在某些情况下,p可以是固定的。在其他一些情况下,p可以是变化的(例如,对于每次观察,或对于每几次观察)。
在一些实施方式中,为了使对非常大的情节存储器模块的查询可伸缩,神经情节控制器110可以使用近似最近邻算法来执行查找,例如,基于kd树的最近邻算法。在Bentley,Jon Louis“Multidimensional binary search trees used for associativesearching.”Commun.ACM,18(9):509–517,1975年9月中描述了基于Kd树的最近邻算法。情节存储器模块可以进一步将最近的p个嵌入的数量减少到较小的数量,例如p=25或p=50,以确保可以有效地访问情节存储器模块。
在一些实施方式中,在查找了情节存储器模块Ma之后,神经情节控制器110将新的键嵌入及其相关的返回估计写入情节存储器模块Ma。要写入的键嵌入对应于所查找的键嵌入h。要写入的相关返回估计是当前自举返回,其可以基于下面参考图3详细描述的过程来确定。
神经情节控制器110通过将新的键嵌入和相关的返回估计分别附加到Ka和Va的末端,来将它们写入情节存储器模块。如果在情节存储器模块中已经存在键嵌入,则其相关的返回估计被更新而不是在情节存储器模块中被复制。下面参考图3更详细地描述更新情节存储器模块。
在动作的相应情节存储器模块Ma中确定最近的p个键嵌入之后,神经情节控制器110使用Q值引擎112来确定该动作的Q值。Q值是由代理102响应于当前观察s执行动作a而产生的预测返回。Q值引擎112被配置为根据由动作a的情节存储器模块Ma中的最近的p个键嵌入映射到的返回估计来确定动作a的Q值。下面参考图2更详细地描述确定动作的Q值。
在已经确定了可能动作的集合A中的动作的Q值之后,神经情节控制器110使用所确定的Q值,从可能动作的集合A中选择一个动作作为要由代理102响应于当前观察s而执行的动作。
在一些实施方式中,在代理102执行所选的动作之后,系统100确定由代理102响应于当前观察s执行所选的动作而产生的当前自举返回。然后,系统100生成包括当前观察、所选的动作和自举返回的新元组。系统将新元组添加到重放存储器114。下面参考图3更详细地描述确定当前自举返回和更新重放存储器的过程。
系统100可以使用从应答存储器114中采样的训练元组来训练嵌入神经网络106以更新嵌入神经网络106的参数值。具体地,可以对训练元组进行采样以形成用于训练的小批量。然后,系统100可以更新嵌入神经网络106的参数值,以最小化给定训练动作的预测Q值与对来自应答存储器114的小批量的自举返回估计之间的损失。因为神经情节控制器的架构是完全可微分的,所以系统100可以通过使用梯度下降方法来最小化损失。下面参考图4更详细地描述训练嵌入神经网络106。
图2是示出神经情节控制器(例如,图1的神经情节控制器110)如何确定动作的Q值的框图。
神经情节控制器110的嵌入神经网络106接收表征环境的当前状态的观察s(202)。例如,观察202是由机器人代理捕获的图像。然后,嵌入神经网络根据嵌入神经网络的参数的当前值处理图像,以生成图像的键嵌入h。
对于每个动作a∈A,神经情节控制器110使用当前键嵌入h在动作a的相应情节存储器模块204上执行查找。动作a的情节存储器模块204可以表示为Ma=(Ka,Va),其中Ka和Va是矢量阵列,各自包括相同数量的矢量。阵列Ka和Va的大小可以动态变化。情节存储器模块将键嵌入hi映射到对应的返回估计Qi,其中,键嵌入hi是阵列Ka的第i个元素,返回估计Qi是阵列Va的第i个元素。
具体地,神经情节控制器110根据距离度量(例如,核函数)确定情节存储器模块204中距当前键嵌入h最近的p个键嵌入。例如,神经情节控制器110可以使用以下核函数计算当前键嵌入h与情节存储器模块204中的每个键嵌入hi之间的距离:
其中,δ是预定常数,例如,δ=10-3。神经情节控制器110可以根据核函数选择情节存储器模块204中与当前键嵌入h具有最短距离的p个键嵌入。
在已经确定了动作a的情节存储器模块204中的最近的p个键嵌入之后,Q值引擎112被配置为根据以上距离度量,从最近的p个键嵌入与当前键嵌入h之间的距离确定最近的p个键嵌入中的每一个的相应权重。具体地,最近的p个键嵌入的集合中的每个键嵌入hi的相应权重wi可以确定如下:
对于最近的p个键嵌入中的每个键嵌入hi,Q值引擎被配置为将映射到键嵌入hi的估计返回Qi与键嵌入hi的权重wi相乘,以获得相应的加权估计返回Yi=wiQi。
在一些实施方式中,Q值引擎112被配置为对动作a的加权估计返回求和,并且使用求和的加权估计返回作为当前观察s和动作a的Q值,如下:
在一些其它实施方式中,神经情节控制器110可以使用返回神经网络(例如,包括一个或多个完全连接的层的网络)来处理最近的p个嵌入和估计返回,以生成Q值。
例如,在一些情况下,神经情节控制器110根据返回神经网络的参数的当前值,通过返回神经网络处理包括加权估计返回的总和的网络输入以生成Q值。在一些其他情况下,神经情节控制器110根据返回神经网络的参数的当前值,通过返回神经网络处理包括加权估计返回的网络输入以生成Q值。
图3是用于更新情节存储器数据并将新元组添加到重放存储器的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置处的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的强化学习系统(例如,图1的强化学习系统100),可以执行过程300。
系统在时间步骤t确定由代理响应于当前观察st执行所选的动作a而产生的当前自举返回(步骤302)。系统在当前时间步骤i之后的N-1个时间步骤通过对系统接收到的N-1个时间折扣奖励求和来确定第一项。系统确定第二项,第二项是在时间步骤t+N的观察st+N的时间折扣最大Q值。为了找到观察st+N的最大Q值,系统查询每个动作a的所有情节存储器模块Ma,并选择最高的估计Q值。系统对第一项和第二项求和,以确定当前自举返回。
具体地,可以使用以下N步Q值估计公式计算当前自举返回:
其中,γj和γN是折扣率,a'是在时间步骤t+N产生观察st+N的最高估计Q值的动作。N是预定整数,例如,N可以是五十、一百、或二百。
系统确定当前键嵌入是否与动作的情节存储器数据(即,情节存储器模块)中的任何键嵌入匹配(步骤304)。
在当前键嵌入与动作的情节存储器数据中的键嵌入匹配时,系统更新情节存储器数据以将匹配的键嵌入映射到当前自举返回和由匹配的键嵌入当前映射到的返回估计的加权平均值(步骤306)。
具体地,假设当前键嵌入h与键嵌入hi匹配,系统更新情节存储器数据以将匹配的键嵌入hi映射到
Qi+α(Q(N)(s,a)-Qi),
其中,QN(s,a)是当前自举返回,Qi是由匹配的键嵌入hi当前映射到的返回估计,并且α是Q更新的学习速率。学习速率α可以改变。例如,在一些情况下,学习速率可以取高值以允许具有稳定表示的重复访问状态快速更新其Q值估计。
在当前键嵌入与动作的情节存储器数据中的任何键嵌入不匹配时,系统把将当前键嵌入映射到当前自举返回的数据添加到动作的情节存储器数据(步骤308)。
可选地,系统可以生成包括当前观察、所选的动作和自举返回的新元组(步骤310)。
然后,系统可以将新元组添加到重放存储器(步骤312)。
图4是使用来自重放存储器的训练元组训练神经情节控制器的示例过程400的流程图。为方便起见,过程400将被描述为由位于一个或多个位置处的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的强化学习系统(例如,图1的强化学习系统100),可以执行过程400。
系统从重放存储器中采样训练元组(步骤402)。
在某些情况下,系统从应答存储器中随机采样小批量的训练元组,以更有效地训练神经情节控制器。
每个训练元组包括训练观察、训练所选的动作和训练自举返回。
对于每个训练元组,系统根据训练观察确定训练所选的动作的Q值(步骤404)。系统通过遵循上面参考图2详细描述的过程来确定训练所选的动作的Q值。
系统反向传播训练所选的动作的Q值和训练自举返回之间的误差梯度,以(i)更新键嵌入和情节存储器数据中的估计返回,以及(ii)更新嵌入神经网络的参数的当前值(步骤406)。在训练期间,系统在查询情节存储器数据之后可以使用低于用于更新情节存储器数据的速率的学习速率。
本说明书使用与系统和计算机程序组件相关的术语“配置”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已在其上安装了软件、固件、硬件、或它们的组合,其在操作中使系统执行操作或动作。对于要被配置为执行特定操作或动作的一个或多个计算机程序,意味着该一个或多个程序包括当由数据处理装置执行时使装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形实施的计算机软件或固件中、在包括本说明书中公开的结构及其结构等同物的计算机硬件、或者他们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置执行或控制数据的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。可替代地或另外地,程序指令可以在被生成以对信息进行编码以便传输到合适的接收器设备以由数据处理装置执行的人工生成的传播信号(例如,机器生成的电、光、或电磁信号)上编码。
术语“数据处理装置”指的是数据处理硬件并且包括用于处理数据的所有类型的装置、设备、和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。装置还可以为或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置可选地还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。
也可以被称为或描述为程序、软件、软件应用、应用程序、模块、软件模块、脚本、或代码的计算机程序,可以用任何形式的编程语言编写,包括编译或解释性语言,或声明性或程序性语言;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序、或适用于计算环境的其他单元。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、存储在专用于所讨论的程序的单个文件中、或者存储在多个协调文件中,例如,存储一个或多个模块、子程序、或代码部分的文件。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如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 (15)
1.一种强化学习方法,包括:
由一个或多个计算机维护多个动作中的每个动作的相应的情节存储器数据,其中,每个动作的情节存储器数据将相应的多个键嵌入中的每一个映射到相应的返回估计;
由一个或多个计算机接收表征代理正与之交互的环境的当前状态的当前观察;
由一个或多个计算机根据嵌入神经网络的参数的当前值,使用嵌入神经网络处理当前观察,以生成当前观察的当前键嵌入;
对于多个动作中的每个动作:
由一个或多个计算机根据距离度量确定动作的情节存储器数据中距当前键嵌入最近的p个键嵌入,并且
由一个或多个计算机从由动作的情节存储器数据中的最近的p个键嵌入映射到的返回估计确定动作的Q值,其中,所述动作的Q值是由代理响应于当前观察执行动作而产生的预测返回;以及,
由一个或多个计算机使用动作的Q值,从多个动作中选择一个动作作为要由代理响应于当前观察而执行的动作;
确定由代理响应于当前观察执行所选的动作而产生的当前返回;
确定当前键嵌入是否与所选的动作的情节存储器数据中的任何键嵌入匹配;以及
在当前键嵌入与所选的动作的情节存储器数据中的键嵌入匹配时,更新情节存储器数据以将匹配的键嵌入映射到基于当前返回、由匹配的键嵌入当前映射到的返回估计和学习速率计算的新的返回估计,
其中,在联合训练嵌入神经网络和情节存储器模块期间,更新情节存储器模块的学习速率大于更新嵌入神经网络的参数的当前值的嵌入神经网络学习速率。
2.如权利要求1所述的方法,其中,选择要执行的动作包括:
选择具有最高Q值的动作作为要执行的动作。
3.如权利要求1所述的方法,其中,选择要执行的动作包括:
以概率ε选择具有最高Q值的动作作为要执行的动作,并且以概率1-ε从预定的动作集合中选择随机动作。
4.如权利要求1所述的方法,其中,从由动作的情节存储器数据中的最近的p个键嵌入映射到的返回估计确定动作的Q值包括:
根据距离度量,从最近的p个键嵌入与当前键嵌入之间的距离确定动作的情节存储器数据中的最近的p个键嵌入中的每一个的相应权重;并且
对于动作的情节存储器数据中的最近的p个键嵌入中的每一个,由键嵌入的权重对映射到键嵌入的估计返回进行加权,以确定相应的加权估计返回。
5.如权利要求4所述的方法,其中,确定所述动作的Q值包括:
对动作的加权估计返回进行求和;以及
将求和的加权估计返回用作Q值。
6.如权利要求4所述的方法,其中,确定所述动作的Q值包括:
对动作的加权估计返回进行求和;以及
根据返回神经网络的参数的当前值,通过返回神经网络处理包括求和的加权估计返回的网络输入以生成Q值。
7.如权利要求4所述的方法,其中,确定所述动作的Q值包括:
根据返回神经网络的参数的当前值,通过返回神经网络处理包括加权估计返回的网络输入以生成Q值。
8.如权利要求6或7中任一项所述的方法,其中,所述网络输入还包括当前观察。
9.如权利要求1-7中任一项所述的方法,其中,所述嵌入神经网络是卷积神经网络。
10.如权利要求1-7中任一项所述的方法,其中,所述嵌入神经网络包括一个或多个递归神经网络层。
11.如权利要求1所述的方法,还包括:
在当前键嵌入与所选的动作的情节存储器数据中的任何键嵌入都不匹配时:
把将当前键嵌入映射到当前返回的数据添加到所选的动作的情节存储器数据。
12.如权利要求1所述的方法,还包括:
从重放存储器中采样训练元组,所述训练元组包括训练观察、训练所选的动作和训练返回;
根据训练观察确定训练所选的动作的Q值;并且
反向传播训练所选的动作的Q值和训练返回之间的误差梯度,以更新键嵌入、估计返回和嵌入神经网络的参数的当前值。
13.如权利要求12所述的方法,还包括:
生成包括当前观察、所选的动作和自举返回的新元组;以及
将新元组添加到重放存储器中。
14.一种强化学习系统,包括一个或多个计算机和存储可操作指令的一个或多个存储设备,所述指令在由所述一个或多个计算机运行时使所述一个或多个计算机执行权利要求1-13中任一项所述的相应方法的操作。
15.一种编码有指令的计算机存储介质,所述指令在由一个或多个计算机运行时使所述一个或多个计算机执行权利要求1-13中任一项所述的相应方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762463558P | 2017-02-24 | 2017-02-24 | |
US62/463,558 | 2017-02-24 | ||
PCT/EP2018/054624 WO2018154100A1 (en) | 2017-02-24 | 2018-02-26 | Neural episodic control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110235149A CN110235149A (zh) | 2019-09-13 |
CN110235149B true CN110235149B (zh) | 2023-07-07 |
Family
ID=61386852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880008758.6A Active CN110235149B (zh) | 2017-02-24 | 2018-02-26 | 神经情节控制 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10664753B2 (zh) |
EP (2) | EP4057189A1 (zh) |
JP (2) | JP6817456B2 (zh) |
CN (1) | CN110235149B (zh) |
DK (1) | DK3552156T3 (zh) |
WO (1) | WO2018154100A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6728495B2 (ja) * | 2016-11-04 | 2020-07-22 | ディープマインド テクノロジーズ リミテッド | 強化学習を用いた環境予測 |
EP3807823A1 (en) | 2018-06-12 | 2021-04-21 | 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 |
EP3877911A1 (en) * | 2018-12-21 | 2021-09-15 | Waymo LLC | Searching an autonomous vehicle sensor data repository |
CN112476424A (zh) * | 2020-11-13 | 2021-03-12 | 腾讯科技(深圳)有限公司 | 机器人控制方法、装置、设备及计算机存储介质 |
US20220308581A1 (en) * | 2021-03-23 | 2022-09-29 | Honda Motor Co., Ltd. | System and method for completing continual multi-agent trajectory forecasting |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189409B2 (en) * | 2013-02-19 | 2015-11-17 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Reducing writes to solid state drive cache memories of storage controllers |
US9679258B2 (en) * | 2013-10-08 | 2017-06-13 | Google Inc. | Methods and apparatus for reinforcement learning |
US10977551B2 (en) * | 2016-12-14 | 2021-04-13 | Microsoft Technology Licensing, Llc | Hybrid reward architecture for reinforcement learning |
-
2018
- 2018-02-26 CN CN201880008758.6A patent/CN110235149B/zh active Active
- 2018-02-26 EP EP22170944.7A patent/EP4057189A1/en active Pending
- 2018-02-26 JP JP2019546227A patent/JP6817456B2/ja active Active
- 2018-02-26 WO PCT/EP2018/054624 patent/WO2018154100A1/en active Search and Examination
- 2018-02-26 DK DK18707703.7T patent/DK3552156T3/da active
- 2018-02-26 EP EP18707703.7A patent/EP3552156B8/en active Active
-
2019
- 2019-06-19 US US16/445,523 patent/US10664753B2/en active Active
-
2020
- 2020-04-23 US US16/856,527 patent/US11720796B2/en active Active
- 2020-12-23 JP JP2020213556A patent/JP7038790B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Non-Patent Citations (3)
Title |
---|
"Matching Networks for One Shot Learning";Oriol等;《arXiv》;20160613;第1-12页 * |
"Model-Free Episodic Control";Charles等;《arXiv》;20160614;第1-12页 * |
"Scaling Memory-Augmented Neural Networks with Sparse Reads and Writes";Jack等;《arXiv》;20161027;第1-17页 * |
Also Published As
Publication number | Publication date |
---|---|
EP4057189A1 (en) | 2022-09-14 |
CN110235149A (zh) | 2019-09-13 |
JP6817456B2 (ja) | 2021-01-20 |
US11720796B2 (en) | 2023-08-08 |
EP3552156B8 (en) | 2022-08-03 |
WO2018154100A1 (en) | 2018-08-30 |
JP7038790B2 (ja) | 2022-03-18 |
JP2021064387A (ja) | 2021-04-22 |
US10664753B2 (en) | 2020-05-26 |
EP3552156B1 (en) | 2022-06-22 |
DK3552156T3 (da) | 2022-08-22 |
EP3552156A1 (en) | 2019-10-16 |
US20200265317A1 (en) | 2020-08-20 |
JP2020508527A (ja) | 2020-03-19 |
US20190303764A1 (en) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110235149B (zh) | 神经情节控制 | |
US20220284266A1 (en) | Reinforcement learning using advantage estimates | |
CN108027897B (zh) | 利用深度强化学习的连续控制 | |
CN110546653B (zh) | 使用管理者和工作者神经网络的用于强化学习的动作选择 | |
US11625604B2 (en) | Reinforcement learning using distributed prioritized replay | |
CN107851216B (zh) | 一种用于选择待由与环境进行交互的强化学习代理执行的动作的方法 | |
JP6591672B2 (ja) | デュエリングディープニューラルネットワーク | |
US20240062035A1 (en) | Data-efficient reinforcement learning for continuous control tasks | |
CN110520868B (zh) | 用于分布式强化学习的方法、程序产品和存储介质 | |
US11797839B2 (en) | Training neural networks using priority queues | |
CN110114784B (zh) | 递归环境预测器及其方法 | |
CN111652378B (zh) | 学习来选择类别特征的词汇 | |
US10860895B2 (en) | Imagination-based agent neural networks | |
JP2019517074A (ja) | 疑似カウントを使用する強化学習 | |
US20190205757A1 (en) | Model-free control for reinforcement learning agents | |
CN117795527A (zh) | 使用自回归语言模型神经网络评估输出序列 | |
CN111406267B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |