CN110546653B - 使用管理者和工作者神经网络的用于强化学习的动作选择 - Google Patents
使用管理者和工作者神经网络的用于强化学习的动作选择 Download PDFInfo
- Publication number
- CN110546653B CN110546653B CN201880013632.8A CN201880013632A CN110546653B CN 110546653 B CN110546653 B CN 110546653B CN 201880013632 A CN201880013632 A CN 201880013632A CN 110546653 B CN110546653 B CN 110546653B
- Authority
- CN
- China
- Prior art keywords
- neural network
- action
- time step
- network
- 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
- 230000009471 action Effects 0.000 title claims abstract description 200
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 140
- 230000002787 reinforcement Effects 0.000 title description 11
- 239000013598 vector Substances 0.000 claims abstract description 133
- 238000000034 method Methods 0.000 claims abstract description 65
- 239000003795 chemical substances by application Substances 0.000 claims abstract description 53
- 238000003860 storage Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 53
- 230000000306 recurrent effect Effects 0.000 claims description 46
- 238000012545 processing Methods 0.000 claims description 23
- 230000033001 locomotion Effects 0.000 claims description 18
- 238000011176 pooling Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 230000015654 memory Effects 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 4
- 230000002349 favourable effect Effects 0.000 claims description 4
- 238000012935 Averaging Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 abstract description 17
- 238000012549 training Methods 0.000 description 23
- 230000007774 longterm Effects 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 9
- 125000004122 cyclic group Chemical group 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000026676 system process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 241000668842 Lepidosaphes gloverii Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- 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/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/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/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/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward 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
- 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
- G06N3/092—Reinforcement learning
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
- General Factory Administration (AREA)
Abstract
公开了方法、系统、和装置,包括在计算机存储介质上编码的计算机程序,用于被配置为选择要由与环境交互的代理执行的动作的系统。系统包括管理者神经网络子系统和工作者神经网络子系统。管理者子系统被配置为在多个时间步中的每一个时间步处生成时间步的最终目标向量。工作者子系统被配置为在多个时间步中的每一个时间步处,使用由管理者子系统生成的最终目标向量来为预定动作集中的每个动作生成相应的动作得分。
Description
技术领域
本说明书涉及强化学习。
背景技术
在强化学习系统中,代理(agent)通过响应于接收到表征环境的当前状态的观察而执行由强化学习系统选择的动作来与环境交互。
一些强化学习系统根据神经网络的输出来选择由代理响应于接收到给定观察而要执行的动作。
神经网络是采用一个或多个非线性单元层来预测对接收输入的输出的机器学习模型。一些神经网络是深度神经网络,其除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层(即,下一隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值根据接收的输入生成输出。
发明内容
本说明书总体上描述了一种动作选择系统,其选择要由与环境交互的强化学习代理执行的动作。
在第一方面,提供了一种动作选择系统,用于选择要由代理执行的动作,其中代理通过执行来自预定的动作集的动作来与环境交互,系统包括:管理者神经网络子系统,被配置为,在多个时间步中的每一个时间步处:接收环境在时间步处的当前状态的中间表示,将中间表示映射到潜在状态空间中的当前状态的潜在表示,使用目标循环(recurrent)神经网络处理潜在表示,其中目标循环神经网络被配置为接收潜在表示并根据目标循环神经网络的当前隐藏状态处理潜在表示,以生成所述时间步的目标空间中的初始目标向量并更新目标循环神经网络的内部状态,以及池化时间步的初始目标向量和一个或多个先前时间步的初始目标向量,以生成所述时间步的最终目标向量;工作者神经网络子系统,其被配置为在多个时间步中的每一个时间步处:接收环境在时间步处的当前状态的中间表示,将中间表示映射到预定动作集中的每个动作的嵌入空间中的相应动作嵌入向量,将时间步的最终目标向量从目标空间投影到嵌入空间以生成目标嵌入向量,并通过目标嵌入向量调制每个动作的相应动作嵌入向量以生成预定动作集中的每个动作的相应动作得分;以及动作选择子系统,其中动作选择子系统被配置为,在多个时间步中的每一个时间步处:接收表征环境在时间步处的当前状态的观察,从观察生成中间表示,提供中间表示作为管理者神经网络的输入以生成时间步的最终目标向量,提供中间表示和最终目标向量作为工作者神经网络的输入以生成动作得分,并使用动作得分从预定的动作集中选择要由代理响应于观察执行的动作。
在一些实施方式中,选择动作包括选择具有最高动作得分的动作。
在一些实施方式中,从观察中生成中间表示包括使用卷积神经网络处理观察。
在一些实施方式中,,将中间表示映射到预定动作集中的每个动作的嵌入空间中的相应动作嵌入向量包括:使用动作得分循环神经网络处理中间表示,其中动作得分循环神经网络被配置为接收中间表示并根据动作得分循环神经网络的当前隐藏状态处理中间表示,以生成动作嵌入向量并更新动作得分神经网络的隐藏状态。
在一些实施方式中,将中间表示映射到当前状态的潜在表示包括使用前馈神经网络处理中间表示。
在一些实施方式中,目标空间比嵌入空间具有更高的维度。
在一些实施方式中,目标空间的维度比嵌入空间的维度高至少十倍。
在一些实施方式中,工作者神经网络子系统已经被训练为生成最大化奖励的时间折扣组合的动作得分,其中每个奖励是作为代理执行所选动作的结果而接收的外部奖励与取决于管理者神经网络子系统生成的目标向量的内在奖励的组合。
在一些实施方式中,管理者神经网络子系统已经被训练为生成引起鼓励选择在潜在状态空间中的有利方向上移动代理的动作的动作得分的初始目标向量。
在一些实施方式中,目标循环神经网络是扩张的长短期记忆(long short-termmemory,LSTM)神经网络。
在第二方面,提供了一种实施方式扩张的LSTM神经网络的系统,其中扩张的LSTM神经网络被配置为维持被划分为r个子状态的内部状态,其中r是大于1的整数,并且其中扩张的LSTM神经网络被配置为在时间步序列中的每个时间步处:接收时间步的网络输入;从r个子状态中选择子状态;以及使用LSTM神经网络处理所选子状态的当前值和所述时间步的网络输入,以更新所选子状态的当前值以及根据LSTM网络参数集的当前值生成所述时间步的网络输出。
在一些实施方式中,扩张的LSTM神经网络还被配置为,对于时间步中的每个时间步:池化时间步的网络输出和达预定数量的先前时间步的网络输出池化,以生成所述时间步的最终的网络输出。
在一些实施方式中,池化网络输出包括对网络输出求和。
在一些实施方式中,池化网络输出包括对网络输出取平均。
在一些实施方式中,池化网络输出包括选择最高的网络输出。
在一些实施方式中,时间步序列中的时间步被索引为从序列中的第一时间步的1开始到序列中的最后时间步的T,其中每个子状态被分配范围从1到r的索引,并且其中从r个子状态中选择子状态包括:选择具有等于时间步的索引模r的索引的子状态。
在一些实施方式中,LSTM神经网络包括多个LSTM层。
在一些实施方式中,使用LSTM神经网络处理所选子状态的当前值和所述时间步的网络输入以更新所选子状态的当前值以及根据LSTM网络参数集的当前值生成所述时间步的网络输出包括:将LSTM神经网络的内部状态设置为所选子状态的当前值,以便在所述时间步处理网络输入。
以上方面可以以任何方便的形式实施。例如,各个方面和实施方式可以由可以承载在适当的载体介质上的适当的计算机程序实施,该载体介质可以是有形载体介质(例如磁盘)或无形载体介质(例如通信信号)。各个方面也可以使用可以采用运行计算机程序的可编程计算机的形式的合适的装置来实施。
可以实施本说明书中描述的主题的具体实施例,以便实施以下优点中的一个或多个。本说明书中描述的动作选择系统的结构(包括解耦的管理者-工作者系统结构和扩张的LSTM网络中的一个或两个)使得系统能够被有效地训练以执行长时间尺度的信用分配(即,识别许多先前的时间步上的先前的状态和动作对接收到的奖励的影响)。具体地,动作选择系统的结构实现了响应于在给定时间步处接收的奖励而反向传播通过系统的梯度(根据强化学习算法)从而在调整系统的参数时考虑许多先前时间步上的状态和动作。因为动作选择系统的结构促进了长时间尺度的信用分配,所以训练本说明书中描述的动作选择系统可以比训练具有不同结构的其他动作选择系统消耗更少的计算资源(例如,存储器和计算力)。具体地,本说明书中描述的动作选择系统可能比具有不同结构的另一系统需要更少的训练迭代来以某个性能(例如,代理在执行任务时接收的长期时间折扣奖励)执行任务。
此外,本说明书中描述的动作选择系统的管理者系统生成工作者系统的方向目标而不是绝对目标。特别地,工作者系统被训练以生成使得管理者系统的潜在状态表示在潜在状态空间中的有利方向上移动而不是被训练成明确地使潜在状态表示在潜在状态空间中接近绝对目标的动作。工作者系统可以生成使得管理者系统的潜在状态表示在潜在状态空间中的特定方向上移动比其可以生成使得潜在状态表示在潜在状态空间中接近绝对目标的动作更有效。因此,通过使用方向性目标而不是绝对目标,本说明书中描述的动作选择系统可以比使用绝对目标的系统实现更优的性能(例如,由代理接收的更高的长期时间折扣奖励)和更快的训练(从而消耗更少的计算资源)。
如本说明书中所描述的扩张的长短期记忆(LSTM)神经网络可以在大量时间步上有效地保持其内部记忆,同时仍然能够在每个时间步生成输出并从每个输入学习。因此,扩张的LSTM神经网络能够生成序列的输出,其中给定输出可以取决于输入序列中早得多的输入。因此,将扩张的LSTM网络纳入本说明书中描述的动作选择系统可以基于动作选择系统选择的动作来改善代理与环境交互的性能(例如,通过改善代理在特定任务上的性能,如代理在执行特定任务时接收到的长期时间折扣奖励的增加所反映的那样)。
在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。根据描述、附图、和权利要求,本主题的其他特征、方面、和优点将变得显而易见。
附图说明
图1是示例动作选择系统的图示。
图2是用于使用动作选择系统从预定动作集中选择动作的示例过程的流程图。
图3是用于使用管理者系统生成时间步的最终目标向量的示例过程的流程图。
图4是用于使用工作者系统生成时间步的动作得分的示例过程的流程图。
图5是用于训练动作选择系统的示例过程的流程图。
图6是用于使用扩张的长短期记忆(LSTM)网络生成网络输出的示例过程的流程图。
各附图中相同的附图标记和名称表示相同的元件。
具体实施方式
图1示出了示例动作选择系统100。动作选择系统100是实施为一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中实施下面描述的系统、组件、和技术。
动作选择系统100选择要由与环境140交互的代理142在多个时间步中的每一个处执行的动作144。为了使代理142与环境140交互,系统100接收表征环境140的当前状态的观察136,并选择由代理142响应于所接收的观察136而执行的动作144。
在一些实施方式中,环境140是模拟环境,并且代理142被实施为通过导航通过模拟环境与模拟环境交互的一个或多个计算机程序。例如,模拟环境可以是视频游戏,并且代理142可以是通过导航通过模拟环境来玩视频游戏的模拟用户。作为另一示例,模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且代理142是导航通过运动模拟环境的模拟车辆。在这些情况下,动作144可以是控制模拟用户或模拟车辆的控制输入。
在一些其他实施方式中,环境140是真实世界环境,并且代理142是与真实世界环境交互的机械代理。例如,代理142可以是与环境140交互以完成特定任务的机器人。作为另一示例,代理142可以是导航通过环境的自主或半自主车辆。在这些情况下,动作144可以是控制机器人或自主车辆的控制输入。
在这些实施方式中的一些中,观察136可以由代理142的传感器生成或从其导出。例如,观察136可以是由代理142的相机捕获的RGB图像。作为另一示例,观察136可以根据从代理142的激光传感器捕获的数据导出。作为另一示例,观察136可以是由代理142的高光谱传感器捕获的高光谱图像。
在每个时间步处,系统100在时间步处基于环境140的当前状态和代理142的动作144接收外部奖励138。通常,外部奖励是反映执行动作144对代理142完成具体任务的效果的数值。例如,系统100可以基于朝向代理142实现一个或多个目标的进展来接收给定时间步的外部奖励138。例如,代理的目标可以是导航到环境140中的目标位置。
系统100包括编码神经网络120,其被配置为接收时间步的观察136,根据编码神经网络参数集的当前值处理观察,以及生成时间步的观察136的中间表示118作为输出。中间表示118可以是数值的有序集合(例如,向量或矩阵),其在中间状态空间(例如,中间表示118所属的欧几里德空间)中表示时间步的观察136。特别是当观察136是图像时,编码神经网络120可以是卷积神经网络。
系统100包括管理者系统102和工作者系统116。在每个时间步,管理者系统102被配置为生成抽象目标(即,初始目标向量110)。在每个时间步,工作者系统116被配置为生成动作得分132,该动作得分使得代理142执行针对实施由管理者系统102生成的抽象目标的动作。
系统100提供所述时间步的中间表示118作为管理者系统102的输入,该管理者系统102被配置为接收时间步的中间表示118作为输入,根据管理者系统参数集的当前值处理中间表示,以及生成时间步的最终目标向量114作为输出。
管理者系统包括潜在表示神经网络104,该被配置为接收时间步的中间表示118作为输入,根据潜在表示神经网络参数集的当前值处理中间表示,以及生成时间步的潜在表示106作为输出。潜在表示106是数值的有序集合(例如,向量或矩阵),该集合在潜在状态空间(例如,潜在表示106所属的欧几里德空间)中表示中间表示118并且(间接地)表示时间步的观察136。在一些实施方式中,潜在表示神经网络104是前馈神经网络(例如,多层感知器)。因此,管理者系统可以通过例如使用潜在表示神经网络应用操作(fMspace)将中间表示映射到潜在状态空间中的当前状态的潜在表示,以便管理者系统然后可以使用潜在状态空间表示来定义目标。目标可以由根据定义可以被称为目标空间的内容中的目标向量表示。在一些实施方式中,可以学习潜在状态空间,如稍后所述。使用这种潜在表示可以有助于设置更高级别的目标,并且因此可以促进学习复杂、涉及子目标和/或具有延迟奖励的任务。
管理者系统102包括目标循环神经网络108,该目标循环神经网络被配置为处理时间步的潜在表示106以及时间步的目标循环神经网络108的内部状态。目标循环神经网络108更新目标循环神经网络108的内部状态,并生成时间步的初始目标向量110作为输出。时间步的初始目标向量110是逻辑上排列成向量的数值的有序集合。目标循环神经网络108可以实施为任何适当的循环神经网络模型。在一些实施方式中,目标循环神经网络108是LSTM网络。在一些实施方式中,目标循环神经网络108是扩张的LSTM网络。扩张的LSTM网络是对于每个时间步而言生成网络输出但仅处理和更新其内部状态的子集的LSTM网络。参考图6描述了用于使用扩张的LSTM网络生成网络输出(例如,初始目标向量110)的示例过程。
管理者系统102包括目标池化引擎112,该池化引擎池化(即组合)时间步的初始目标向量110和一个或多个先前时间步的初始目标向量以生成时间步的最终目标向量114。时间步的最终目标向量114是逻辑上排列成向量的数值的有序集合。由于由目标池化引擎112执行的池化操作,最终目标向量114在时间步之间平滑地变化。参考图3描述了用于使用管理者系统生成时间步的最终目标向量的示例过程。
系统100提供时间步的中间表示118和时间步的最终目标向量114(如由管理者系统102所生成的)作为对工作者系统116的输入。
工作者系统116被配置为根据工作者系统参数集的当前值处理输入以生成动作得分132作为输出。系统使用动作得分132来选择要由代理142针对时间步执行的动作144。
动作得分132包括预定动作集(即,代理142可以采取的动作)中的每个动作的单独得分。在一些实施方式中,系统100根据动作得分132把要由代理142执行的动作144选择为具有最高对应得分的动作。在一些其他实施方式中,系统通过softmax函数处理动作得分132来确定预定动作集中的每个动作的概率。在这些实施方式中,系统可以通过从基于动作得分132确定的预定动作集中的概率分布中抽样来选择要由代理执行的动作144。
工作者系统116包括动作得分循环神经网络122,该动作得分循环神经网络被配置为处理时间步的中间表示118和时间步的动作得分循环神经网络122的内部状态。动作得分循环神经网络122更新动作得分循环神经网络122的内部状态,并生成时间步的动作嵌入向量集124作为输出。动作嵌入向量集124包括预定动作集中的每个动作的嵌入向量。动作嵌入向量是在嵌入空间(根据定义)中排列成向量的数值的有序集合。因此,在由工作者系统的动作得分循环神经网络进行的实施方式中,中间表示可以由工作者系统映射到嵌入空间。动作得分循环神经网络122可以实施为任何适当的循环神经网络模型。在一些在实施方式中,动作得分循环神经网络122被实施为LSTM网络。在一些实施方式中,动作得分循环神经网络122被实施为扩张的LSTM。
工作者系统116包括投影引擎126,该投影引擎被配置为接收由管理者系统102生成的时间步的最终目标向量114,根据投影引擎参数集的当前值处理时间步的最终目标向量114,以及生成嵌入空间中的目标嵌入向量130作为输出。目标嵌入向量130是排列成向量的数值的有序集合。通常,目标嵌入向量130比最终目标向量114具有更低的维度。在一些实施方式中,目标嵌入向量130的维度可以比最终目标向量114的维度低十倍或更多倍(即,低一阶或量级或更多)。
工作者系统116包括调制引擎128,该调制引擎被配置为接收时间步的动作嵌入向量124和时间步的目标嵌入向量130作为输入并且生成动作得分132作为输出。因此,动作嵌入向量由目标嵌入向量例如使用目标嵌入向量来对动作嵌入向量加权来进行调制,即根据目标嵌入向量的值修改。参考图4描述了用于使用工作者系统生成时间步的动作得分的示例过程。
系统基于由工作者系统116生成的动作得分132选择要由代理142执行的动作144。参考图2描述了用于使用动作选择系统从预定动作集中选择动作的示例过程。
系统100包括训练引擎134,该训练引擎被配置为通过调整系统100的参数(包括管理者系统102、工作者系统116、和编码神经网络120的参数)来根据强化学习训练方法训练系统100。
通常,训练引擎134训练工作者系统116以生成动作得分132,该动作得分最大化作为代理142执行所选动作144的结果而接收的外部奖励138和由训练引擎134确定的内在奖励的长期时间折扣组合。训练引擎134基于由工作者系统116生成的动作得分132如何良好地使得潜在表示106在由管理者系统102生成的初始目标向量110给出的潜在状态空间中的方向上移动来确定内在奖励。训练引擎134训练管理者系统102以生成引起动作得分132的初始目标向量110,该动作得分132鼓励选择使得潜在表示106在潜在状态空间中的有利方向(例如,引起接收更大的长期时间折扣外部奖励138的方向)上移动的动作144。参考图5描述了用于训练动作选择系统的示例过程。
图2是使用动作选择系统从预定动作集中选择动作的示例过程的流程图。为方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的动作选择系统,例如图1的动作选择系统100,可以执行过程200。
系统接收表征环境的当前状态的观察(202)。在一些实施方式中,环境是模拟环境,并且代理被实施为通过导航通过模拟环境与模拟环境交互的一个或多个计算机程序。在一些其他实施方式中,环境是真实世界环境,并且代理是与真实世界环境交互的机械代理。在一些实施方式中,观察可以由代理的传感器生成或从其导出。
系统生成时间步的观察的中间表示(204)。特别地,系统提供观察作为编码神经网络的输入,该编码神经网络被配置为根据编码神经网络参数集的当前值处理观察,以及生成时间步的观察的中间表示作为输出。中间表示是表示的在中间状态空间中时间步的观察的数值的有序集合(例如,向量或矩阵)。特别是当观察是图像时,编码神经网络可以是卷积神经网络。在由训练引擎训练系统期间确定编码神经网络参数集的值。
系统向管理者系统提供时间步的中间表示,并且管理者系统处理时间步的中间表示以生成时间步的最终目标向量作为输出(206)。下面参考图3描述用于使用管理者系统生成时间步的最终目标向量的示例过程。
系统提供时间步的中间表示和时间步的最终目标向量(如由管理者系统所生成的)作为工作者系统的输入。工作者系统处理时间步的输入以生成时间步的动作得分作为输出(208)。参考图4描述用于使用工作者系统生成时间步的动作得分的示例过程。
系统基于由工作者系统生成的动作得分从预定的动作集中选择动作(210)。动作得分包括预定动作集中的每个动作的单独得分。在一些实施方式中,系统根据动作得分将要由代理执行的动作选择为具有最高对应得分的动作。在一些其他实施方式中,系统通过softmax函数处理动作得分来确定预定动作集中的每个动作的概率。在这些实施方式中,系统可以通过从基于动作得分确定的预定动作集的概率分布中抽样来选择代理要执行的动作。
图3是使用管理者系统生成时间步的最终目标向量的示例过程的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的管理者系统,例如图1的管理者系统102,可以执行过程300。
系统接收时间步的环境的当前状态的中间表示(302)。通常,环境的当前状态的中间表示由编码神经网络生成。
系统通过提供时间步的中间表示作为潜在表示神经网络的输入来生成时间步的潜在表示(304)。潜在表示神经网络被配置为根据潜在表示神经网络参数集的当前值来处理时间步的中间表示,以生成时间步的潜在表示作为输出。在一些实施方式中,潜在表示神经网络是前馈神经网络(例如,多层感知器)。时间步的潜在表示是数值的有序集合(例如,向量或矩阵),该集合在潜在状态空间中表示中间表示和(间接地)表示时间步的观察。在由训练引擎训练系统期间确定潜在神经网络参数集的值。
系统生成时间步的初始目标向量(306)。特别地,系统向目标循环神经网络提供由潜在表示神经网络生成的时间步的潜在表示。目标循环神经网络被配置为处理时间步的潜在表示和时间步的目标循环神经网络的内部状态。目标循环神经网络更新目标循环神经网络的内部状态,并生成时间步的初始目标向量作为输出,即:
其中是目标循环神经网络的更新的内部状态(即,目标循环神经网络用于下一时间步的内部状态),/>是时间步的目标循环神经网络在内部状态,St是时间步的潜在表示,gt是时间步的初始目标向量,且fMrnn是目标循环神经网络根据目标循环神经网络参数集的当前值执行的操作。时间步的初始目标向量是逻辑上排列成向量的数值的有序集合。在一些实施方式中,系统将时间步的初始目标向量归一化成具有单位长度(例如,相对于欧几里德范数)。目标循环神经网络可以实施为任何适当的循环神经网络模型。在一些实施方式中,目标循环神经网络是LSTM网络。在一些实施方式中,目标循环神经网络是扩张的LSTM网络。在由训练引擎训练系统期间确定目标循环神经网络参数集的值。参考图6描述用于使用扩张的LSTM网络生成网络输出(例如,初始目标向量)的示例过程。
系统通过池化由目标循环神经网络为时间步生成的初始目标向量和由目标循环神经网络为一个或多个先前时间步生成的初始目标向量来生成时间步的最终目标向量(308)。在一些实施方式中,系统通过对初始目标向量(即,为当前时间步和一个或多个先前时间步生成的初始目标向量)求和来池化它们。然而,目标向量可以以许多其他方式组合。时间步的最终目标向量是排列成向量的数值的有序集合。由于池化操作,最终目标向量在时间步之间平滑变化。
图4是用于使用工作者系统生成时间步的动作得分的示例过程的流程图。为方便起见,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的工作者系统,例如图1的工作者系统116,可以执行过程400。
系统接收环境的当前状态的中间表示和时间步的最终目标向量(402)。通常,环境的当前状态的中间表示由编码神经网络生成,并且时间步的最终目标向量由管理者系统生成。
系统生成时间步的动作嵌入向量(404)。特别地,系统将由编码神经网络生成的时间步的中间表示提供给动作得分循环神经网络。动作得分循环神经网络被配置为处理时间步的中间表示和时间步的动作得分循环神经网络的内部状态。动作得分循环神经网络更新动作得分循环神经网络的内部状态,并生成时间步的动作嵌入向量作为输出,即:
其中是动作得分循环神经网络的更新的内部状态(即,下一时间步的动作得分循环神经网络的内部状态),/>是时间步的动作得分循环神经网络的内部状态,Zt是时间步的中间表示,Ut是排列成矩阵(其中每一行对应一个不同的动作嵌入向量)的时间步的动作嵌入向量集,以及fWrnn是由动作得分循环神经网络根据动作得分循环神经网络参数集的当前值执行的操作。动作得分循环神经网络可以实施方式为任何适当的循环神经网络模型。例如,动作得分循环神经网络可以实施为LSTM网络或扩张的LSTM网络。
系统基于时间步的最终目标向量生成时间步的目标嵌入向量(406)。特别地,系统向投影引擎提供时间步的最终目标向量,该投影引擎被配置为接收时间步的最终目标向量,根据投影引擎参数集的当前值处理时间步的最终目标向量,以及生成时间步的目标嵌入向量作为输出。通常,目标嵌入向量比最终目标向量具有更低的维度。在一些实施方式中,目标嵌入向量的维度可以比最终目标向量的维度低十倍或更多倍(即,低一阶或量级或更多)。在一些实施方式中,投影引擎的操作可以通过以下给出:
wt=φGt,
其中当前时间步为t,wt为时间步的目标嵌入向量,Gt为时间步的最终目标向量,φ为投影矩阵(即,具有与向量Gt的维数具有相同列数且具有与目标嵌入向量wt的维度相同的行数的矩阵),并且通过对针对当前时间步和先前的c个时间步生成的初始目标向量求和来(例如,由308中的管理者系统)确定时间步的最终目标向量,其中c是正整数。
系统生成时间步的动作得分(408)。特别地,系统提供时间步的目标嵌入向量和时间步的动作嵌入向量作为调制引擎的输入,该调制引擎被配置为组合输入以生成时间步的动作得分作为输出。在一些实施方式中,调制引擎被配置为通过矩阵向量乘法来组合时间步的目标嵌入向量和时间步的动作嵌入向量,即:
πt=Utwt,
其中Ut是矩阵,其中矩阵的每一行是时间步的动作嵌入向量,wt是时间步的目标嵌入向量,且πt是时间步的动作得分向量。
图5是用于训练动作选择系统的示例过程的流程图。为方便起见,过程500将被描述为由包括位于一个或多个位置的一个或多个计算机的引擎执行。例如,根据本说明书适当编程的训练引擎,例如图1的训练引擎134,可以执行过程500。
引擎接收时间步的外部奖励(502)。接收到的外部奖励是基于环境的当前状态和代理在时间步处的动作。通常,外部奖励是反映执行动作对代理完成具体任务的效果的数值。在一些情况下,引擎可以基于朝向代理实现一个或多个目标的进展来接收给定时间步的外部奖励。例如,代理的目标可以是导航到环境中的目标位置。
引擎确定时间步的内在奖励(504)。通常,引擎基于由工作者系统生成的动作得分在多大程度上使得潜在表示(例如,由管理者系统在304中生成)在由管理者系统(例如,在306中)生成的初始目标向量给出的潜在状态空间中的方向上移动来确定内在奖励。例如,引擎可以通过以下等式确定时间步t的内在奖励:
其中是时间步t的内在奖励,c是正整数,dcos是两个向量之间的余弦相似度(即,dcos=αTβ/(|α||β|)),st是时间步t的潜在表示,st-i是时间步t-i的潜在表示,以及gt-i是时间步t-i的初始目标向量。因此,内在奖励可以取决于时间步的目标向量与表示从该时间步到下一个时间步的潜在表示的变化的向量之间的方向的差异。
引擎基于外部奖励和内在奖励来调整工作者系统的参数(506)。特别地,引擎调整调制引擎、投影引擎、动作得分循环神经网络和编码神经网络的参数,以使工作者系统生成最大化作为代理执行所选动作的结果而接收的外部奖励和由训练引擎确定的内在奖励的长期时间折扣组合的动作得分。例如,长期时间折扣组合可以通过以下等式给出:
其中γ和γI是0和1之间的折扣因子(通常可能不同),rt+k+1是在时间步t+k+1接收到的外部奖励,是在时间步t+k+1接收到的内在奖励,α是调节内在奖励的影响并且可以通过任何适当的方法(例如,任意地或通过交叉验证)确定的常数。引擎可以通过任何适当的强化学习方法训练工作者系统的参数。例如,引擎可以使用优势动作评价强化学习方法来训练工作者系统的参数(例如,其中内在和外部奖励的值函数估计由神经网络生成,诸如多层感知器,该神经网络接收动作得分循环神经网络的内部状态作为输入)。在一些实施方式中,引擎独立于管理者系统训练工作者系统(即,引擎不后向传播来自工作者系统和管理者系统的梯度,使得目标不仅仅是单一系统的内部变量)。这很有用,因为它基于外在奖励,有助于开发管理者系统的目标,基于内在奖励,有助于与工作者系统实现目标分开。
引擎基于外部奖励更新管理者系统的参数(508)。特别地,引擎调整目标循环神经网络、潜在表示神经网络和编码神经网络的参数。对管理者系统的参数的调整使得管理者系统生成初始目标向量,该初始目标向量引起鼓励选择使得管理者系统的潜在表示在潜在状态空间中的有利方向上移动的动作的动作得分。如果例如潜在表示在一方向上移动引起接收更大的长期时间折扣外部奖励,则认为潜在状态空间中的该方向是有利的。在一些实施方式中,管理者系统的参数可以通过梯度上升来更新,其中时间步t+c处的梯度由下式给出:
其中θ指的是管理者系统的参数,指的是关于参数θ的导数,c是正整数,称为定义管理系统的时间分辨率的范围(horizon),dcos是两个向量之间的余弦相似度(如上所述),st+c是时间t+c处的潜在表示,st是时间t处的潜在表示,gt(θ)是时间步t的初始目标向量(其中记号法明确表示对参数θ的依赖性),/>被称为管理者系统的优势函数,并且VM(xt,θ)是基于参数θ和时间步t的观察xt计算的值函数估计(即,从环境的观察由xt给出的时间步开始的预期的长期时间折扣外部奖励)。使用接收目标循环神经网络的内部状态作为输入并且被训练(例如,通过梯度反向传播)以生成预期的长期时间折扣外部奖励的准确估计的神经网络(例如,多层感知器)来确定值函数估计VM(xt,θ)。在这些实施方式中,引擎反向传播梯度以在每c个时间步之后调整管理者系统的参数。
图6是用于使用扩张的LSTM网络生成网络输出的示例过程的流程图。为方便起见,过程600将被描述为由包括位于一个或多个位置的一个或多个计算机的神经网络执行。例如,根据本说明书适当编程的神经网络,例如,图1的目标循环神经网络108,可以执行过程600。
通常,扩张的LSTM网络是包括一个或多个LSTM网络层的序列的LSTM网络,每个LSTM网络层维持被划分为多个不相交的子状态的内部状态。LSTM网络层的内部状态是数值的有序集合(例如,表示为向量或矩阵)。LSTM网络层的内部状态的子状态是内部状态的数值的有序集合的子集。
网络接收时间步的网络输入(602)。通常,网络按时间步顺序接收每个时间步的相应网络输入。例如,时间步的网络输入可以是由潜在表示神经网络生成的时间步的潜在表示。
每个LSTM网络层为时间步选择子状态(604)。时间步序列中的时间步可以被索引为从序列中的第一时间步的1开始到序列中的最后时间步的T,并且对于具体的LSTM网络层,LSTM网络层的每个子状态可以被分配范围为从1到r的索引。具体LSTM网络层可以为时间步选择具有等于时间步的索引模r的子状态索引的子状态。例如,如果为每个时间步分配了从1到10的索引,并且为每个子状态分配了从1到3的索引,则为分配了索引1的时间步选择的子状态将是分配了索引1的子状态,并且为分配了索引5的时间步选择的子状态将是分配了索引2的子状态。
子状态的当前值可以包括由子状态所索引的(多个)LSTM网络层的节点的输出值。对于每个LSTM网络层,LSTM网络层根据LSTM网络层参数集处理为时间步选择的子状态的当前值和时间步的输入,以更新为时间步选择的子状态的当前值并生成时间步的输出(606)。序列中的第一个LSTM网络层接收时间步的网络输入。每个后续LSTM网络层接收时间步的序列中的先前LSTM网络层的输出,作为时间步的输入。每个LSTM网络层可以执行以下操作:
其中t是当前时间步,r是LSTM网络层的子状态数,%指的是模运算,是指由t%r所索引的LSTM网络层的子状态的更新的值(即,由t%r所索引的子状态在时间步t+1处的值),/>指的是由t%r所索引的LSTM网络层的子状态在时间步t处的值,gt指的是时间步的LSTM网络层输出,st指的是时间步的LSTM网络层输入,θLSTM指的是LSTM网络层参数集,并且LSTM指的是LSTM网络层根据LSTM网络层参数集θLSTM执行的操作。通常,每个LSTM网络层用于处理输入的LSTM网络层参数集θLSTM不依赖于为时间步选择的子状态。不同的LSTM网络层可以具有不同的LSTM网络层参数值。扩张的LSTM网络的完整状态可以被指定为/>并且r个子状态或子状态组中的每一个可以被认为是扩张的LSTM网络的单独的“核心”。
网络确定时间步的网络输出(608)。在一些在实施方式中,网络将时间步的网络输出确定为时间步的最终LSTM网络层的输出。在一些其它实施方式中,网络通过池化(即组合)时间步的最终LSTM网络层的输出和多达预定数量的先前时间步的输出来确定时间步的网络输出。网络可以通过对它们求和、通过对它们求平均、通过选择具有最高范数的最终LSTM网络层输出、或者通过任何其他适当的池化方法来池化最终LSTM网络层输出。这有利于扩张的LSTM网络在更长的时间段内保留记忆。
本说明书使用与系统和计算机程序组件相关的术语“被配置”。对于被配置为执行具体操作或动作的一个或多个计算机的系统,意味着系统已在其上安装了软件、固件、硬件或它们的组合,其在操作中使系统执行操作或动作。对于被配置为执行具体操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形实施的计算机软件或固件中、在包括本说明书中公开的结构及其结构等同物的计算机硬件中、或者在他们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即,编码被有形非暂时性存储介质上用于由数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。可替代地或另外地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光、或电磁信号,其被生成以对信息进行编码以便传输到合适的接收器装置以由数据处理装置执行。
术语“数据处理装置”指的是数据处理硬件并且包括用于处理数据的所有类型的装置、设备、和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。装置还可以是或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者他们中的一个或多个的组合的代码。
也可以被称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本、或代码的计算机程序,可以用任何形式的编程语言编写,包括编译或解释性语言,或声明性或过程性语言;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、或适于计算环境中使用的其他单元。程序可以,但不必,对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分中、存储在专用于所讨论的程序的单个文件中、或者存储在多个协调的文件中(例如,存储一个或多个模块、子程序、或代码部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“引擎”广泛用于指代被编程为执行一个或多个特定功能的基于软件的系统、子系统、或过程。通常,引擎将被实施为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一台或多台计算机将专用于特定的引擎;在其他情况下,可以在相同的一台计算机或多台计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)或专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘、或光盘)或可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或将数据传输到用于存储数据的一个或多个大容量存储设备。但是,计算机不必具有这样的设备。此外,计算机可以嵌入在另一设备中,仅举几例,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM、和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其来向计算机提供输入的键盘和指示设备(例如鼠标或跟踪球)的计算机上实施。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈、或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音、或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器。此外,计算机可以通过向个人设备(例如,运行消息应用的智能电话)发送文本消息或其他形式的消息以及从用户接收响应消息作为回报来与用户交互。
用于实施机器学习模型的数据处理装置还可以包括,例如,专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推断,工作负载。
可以使用机器学习框架来实施和部署机器学习模型,例如TensorFlow框架、Microsoft认知工具包框架、Apache Singa框架、或Apache MXNet框架。
本说明书中描述的主题的实施例可以在包括后端组件,或者包括中间件组件,或者包括前端组件,或者一个或多个这样的后端、中间件、或前端组件的任何组合的计算系统中实施,该后端组件例如作为数据服务器,该中间件组件例如应用服务器,该前端组件例如具有用户可以通过其来与本说明书中描述的主题的实施方式进行交互的图形用户界面、web浏览器、或应用的客户端计算机。系统的组件可以通过任何形式或数字数据通信介质(例如通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从用户接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体的实施方式细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是作为可以特定于具体发明的具体实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实施。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下可以从组合中切除来自要求保护的组合的一个或多个特征,并且要求保护的组合可以涉及子组合或子组合的变化。
类似地,虽然以具体顺序在附图中描绘并且在权利要求中叙述了操作,但是这不应该被理解为要求以所示的具体顺序或以顺次的顺序执行这些操作,或者执行所有示出的操作,以达到期望的效果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包到多个软件产品。
已经描述了主题的具体实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的具体顺序或连续顺序来实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。
Claims (19)
1.一种用于选择要由代理执行的动作的系统,所述代理通过执行来自预定动作集的动作来与环境交互,所述系统包括:
管理者神经网络子系统,被配置为在多个时间步中的每一个时间步处:
接收环境在时间步处的当前状态的中间表示,
将所述中间表示映射到潜在状态空间中当前状态的潜在表示,
使用目标循环神经网络处理潜在表示,其中所述目标循环神经网络被配置为接收潜在表示并根据所述目标循环神经网络的当前隐藏状态处理潜在表示,以生成时间步的在目标空间中的初始目标向量以及更新所述目标循环神经网络的内部状态,以及
池化时间步的初始目标向量和一个或多个先前时间步的初始目标向量以生成时间步的最终目标向量;
工作者神经网络子系统,被配置为在所述多个时间步中的每一个时间步处:
接收环境在时间步处的当前状态的中间表示,
将所述中间表示映射到预定动作集中的每个动作的嵌入空间中的相应动作嵌入向量,
将时间步的最终目标向量从目标空间投影到嵌入空间以生成目标嵌入向量,以及
通过目标嵌入向量调制每个动作的相应动作嵌入向量以生成预定动作集中的每个动作的相应动作得分;以及
动作选择子系统,其中所述动作选择子系统被配置为在所述多个时间步中的每一个时间步处:
接收表征环境在时间步处的当前状态的观察,
从观察生成中间表示,
提供中间表示作为管理者神经网络的输入以生成时间步的最终目标向量,
提供中间表示和最终目标向量作为工作者神经网络的输入以生成动作得分,以及
使用动作得分从预定的动作集中选择代理响应于观察要执行的动作。
2.如权利要求1所述的系统,其中选择动作包括选择具有最高动作得分的动作。
3.如权利要求1或2所述的系统,其中从观察生成中间表示包括使用卷积神经网络处理观察。
4.如权利要求1或2所述的系统,其中,将所述中间表示映射到所述预定动作集中的每个动作的嵌入空间中的相应动作嵌入向量包括:
使用动作得分循环神经网络处理所述中间表示,其中所述动作得分循环神经网络被配置为接收所述中间表示并根据动作得分循环神经网络的当前隐藏状态处理所述中间表示以生成动作嵌入向量以及更新动作得分神经网络的隐藏状态。
5.如权利要求1或2所述的系统,其中将所述中间表示映射到当前状态的潜在表示包括使用前馈神经网络处理所述中间表示。
6.如权利要求1或2所述的系统,其中,所述目标空间具有比所述嵌入空间更高的维度。
7.如权利要求6所述的系统,其中,所述目标空间的维度比所述嵌入空间的维度高至少十倍。
8.如权利要求1或2所述的系统,其中,所述工作者神经网络子系统已被训练以生成最大化奖励的时间折扣的组合的动作得分,其中每个奖励是作为所述代理执行所选动作的结果而接收的外部奖励和依赖于由管理者神经网络子系统生成的目标向量的内在奖励的组合。
9.如权利要求8所述的系统,其中所述管理者神经网络子系统已被训练以生成引起鼓励选择在潜在状态空间中的有利方向上移动代理的动作的动作得分的初始目标向量。
10.如权利要求1或2所述的系统,其中所述目标循环神经网络是扩张的长短期记忆LSTM神经网络,其中所述扩张的LSTM神经网络被配置为维持被划分为r个子状态的内部状态,其中r是大于1的整数,并且其中所述扩张的LSTM神经网络被配置为在所述多个时间步中的每个时间步处:
接收所述时间步的网络输入;
从r个子状态中选择子状态;以及
使用LSTM神经网络处理所选子状态的当前值和所述时间步的网络输入,以更新所选子状态的当前值以及根据LSTM网络参数集的当前值生成所述时间步的网络输出。
11.如权利要求10所述的系统,其中,扩张的LSTM神经网络还被配置为,对于时间步中的每个时间步:
池化所述时间步的网络输出和达预定数量的先前时间步的网络输出,以生成所述时间步的最终的网络输出。
12.如权利要求10所述的系统,其中池化所述网络输出包括对所述网络输出求和。
13.如权利要求10所述的系统,其中池化所述网络输出包括对所述网络输出取平均。
14.如权利要求10所述的系统,其中池化所述网络输出包括选择最高网络输出。
15.如权利要求10所述的系统,其中,所述多个时间步中的时间步被索引为从所述多个时间步中的第一时间步的1开始到所述多个时间步中最后一个时间步的T,其中每个子状态被分配范围为从1到r的索引,并且其中从r个子状态中选择子状态包括:
选择具有等于时间步的索引模r的索引的子状态。
16.如权利要求10所述的系统,其中,所述LSTM神经网络包括多个LSTM层。
17.如权利要求10所述的系统,其中使用LSTM神经网络处理所选子状态的当前值和所述时间步的网络输入以更新所选子状态的当前值以及根据LSTM网络参数集的当前值生成所述时间步的网络输出包括:
将LSTM神经网络的内部状态设置为所选子状态的当前值,以便在所述时间步处理网络输入。
18.存储指令的一个或多个计算机存储介质,所述指令当由一个或多个计算机执行时,使得所述一个或多个计算机实现如权利要求1-17中任一项所述的系统。
19.一种用于选择要由代理执行的动作的方法,所述代理通过执行来自预定动作集的动作来与环境交互,所述方法包括由如权利要求1-17中任一项所述的系统中的所述动作选择子系统执行的相应操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310839049.5A CN116796791A (zh) | 2017-02-24 | 2018-02-19 | 使用管理者和工作者神经网络的用于强化学习的动作选择 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762463532P | 2017-02-24 | 2017-02-24 | |
US62/463,532 | 2017-02-24 | ||
PCT/EP2018/054002 WO2018153807A1 (en) | 2017-02-24 | 2018-02-19 | Action selection for reinforcement learning using neural networks |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310839049.5A Division CN116796791A (zh) | 2017-02-24 | 2018-02-19 | 使用管理者和工作者神经网络的用于强化学习的动作选择 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110546653A CN110546653A (zh) | 2019-12-06 |
CN110546653B true CN110546653B (zh) | 2023-06-20 |
Family
ID=61244626
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880013632.8A Active CN110546653B (zh) | 2017-02-24 | 2018-02-19 | 使用管理者和工作者神经网络的用于强化学习的动作选择 |
CN202310839049.5A Pending CN116796791A (zh) | 2017-02-24 | 2018-02-19 | 使用管理者和工作者神经网络的用于强化学习的动作选择 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310839049.5A Pending CN116796791A (zh) | 2017-02-24 | 2018-02-19 | 使用管理者和工作者神经网络的用于强化学习的动作选择 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10679126B2 (zh) |
EP (1) | EP3568810B1 (zh) |
JP (3) | JP6926218B2 (zh) |
CN (2) | CN110546653B (zh) |
DK (1) | DK3568810T3 (zh) |
WO (1) | WO2018153807A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3807823A1 (en) | 2018-06-12 | 2021-04-21 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
WO2020065024A1 (en) * | 2018-09-27 | 2020-04-02 | Deepmind Technologies Limited | Stacked convolutional long short-term memory for model-free reinforcement learning |
US11455530B2 (en) * | 2018-11-20 | 2022-09-27 | Google Llc | Controlling agents using scene memory data |
US10381006B1 (en) * | 2018-11-26 | 2019-08-13 | Accenture Global Solutions Limited | Dialog management system for using multiple artificial intelligence service providers |
KR102611938B1 (ko) | 2018-12-04 | 2023-12-08 | 구글 엘엘씨 | 신경망을 사용한 통합 회로 플로어 플랜 생성 |
US11636347B2 (en) | 2019-01-23 | 2023-04-25 | Deepmind Technologies Limited | Action selection using interaction history graphs |
KR20210016828A (ko) * | 2019-08-05 | 2021-02-17 | 주식회사 엘지화학 | 배터리 관리 장치, 배터리 관리 방법 및 배터리 팩 |
SE1950924A1 (en) * | 2019-08-13 | 2021-02-14 | Kaaberg Johard Leonard | Improved machine learning for technical systems |
US20210089910A1 (en) * | 2019-09-25 | 2021-03-25 | Deepmind Technologies Limited | Reinforcement learning using meta-learned intrinsic rewards |
CN111245008B (zh) * | 2020-01-14 | 2021-07-16 | 香港中文大学(深圳) | 一种风场协同控制方法及装置 |
CN111487863B (zh) * | 2020-04-14 | 2022-06-17 | 东南大学 | 一种基于深度q神经网络的主动悬架强化学习控制方法 |
CN113011555B (zh) * | 2021-02-09 | 2023-01-31 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
US20220321879A1 (en) * | 2021-03-30 | 2022-10-06 | Isize Limited | Processing image data |
US20230161635A1 (en) * | 2021-11-22 | 2023-05-25 | Vmware, Inc. | Reinforcement-learning-based distributed-application controller incorporating transfer learning |
WO2023217868A1 (en) * | 2022-05-11 | 2023-11-16 | Deepmind Technologies Limited | Negotiating contracts for agent cooperation in multi-agent systems |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056185A (ja) * | 2003-08-05 | 2005-03-03 | Techno Face:Kk | 階層型エージェント学習方法およびシステム |
US20150356199A1 (en) * | 2014-06-06 | 2015-12-10 | Microsoft Corporation | Click-through-based cross-view learning for internet searches |
US10181098B2 (en) * | 2014-06-06 | 2019-01-15 | Google Llc | Generating representations of input sequences using neural networks |
FR3025344B1 (fr) * | 2014-08-28 | 2017-11-24 | Commissariat Energie Atomique | Reseau de neurones convolutionnels |
US10101786B2 (en) * | 2014-12-22 | 2018-10-16 | Intel Corporation | Holistic global performance and power management |
AU2016297852C1 (en) * | 2015-07-24 | 2019-12-05 | Deepmind Technologies Limited | Continuous control with deep reinforcement learning |
DE202016004628U1 (de) * | 2016-07-27 | 2016-09-23 | Google Inc. | Durchqueren einer Umgebungsstatusstruktur unter Verwendung neuronaler Netze |
US20180247199A1 (en) * | 2017-02-24 | 2018-08-30 | Qualcomm Incorporated | Method and apparatus for multi-dimensional sequence prediction |
-
2018
- 2018-02-19 CN CN201880013632.8A patent/CN110546653B/zh active Active
- 2018-02-19 EP EP18705929.0A patent/EP3568810B1/en active Active
- 2018-02-19 CN CN202310839049.5A patent/CN116796791A/zh active Pending
- 2018-02-19 WO PCT/EP2018/054002 patent/WO2018153807A1/en unknown
- 2018-02-19 DK DK18705929.0T patent/DK3568810T3/da active
- 2018-02-19 JP JP2019546129A patent/JP6926218B2/ja active Active
-
2019
- 2019-07-15 US US16/511,571 patent/US10679126B2/en active Active
-
2020
- 2020-05-05 US US16/866,753 patent/US11537887B2/en active Active
-
2021
- 2021-08-03 JP JP2021127574A patent/JP7258965B2/ja active Active
-
2022
- 2022-11-30 US US18/072,175 patent/US20230090824A1/en active Pending
-
2023
- 2023-04-04 JP JP2023060824A patent/JP2023093525A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Non-Patent Citations (1)
Title |
---|
《Learning and Transfer of Modulated Locomotor Controllers》;Nicolas Heess等;《https://arxiv.org/abs/1610.05182v1》;20161017;1-13 * |
Also Published As
Publication number | Publication date |
---|---|
CN110546653A (zh) | 2019-12-06 |
US10679126B2 (en) | 2020-06-09 |
EP3568810B1 (en) | 2023-08-16 |
US20230090824A1 (en) | 2023-03-23 |
JP2023093525A (ja) | 2023-07-04 |
JP2021185493A (ja) | 2021-12-09 |
JP7258965B2 (ja) | 2023-04-17 |
US11537887B2 (en) | 2022-12-27 |
WO2018153807A1 (en) | 2018-08-30 |
EP3568810A1 (en) | 2019-11-20 |
DK3568810T3 (da) | 2023-11-13 |
JP2020508524A (ja) | 2020-03-19 |
US20190340509A1 (en) | 2019-11-07 |
CN116796791A (zh) | 2023-09-22 |
JP6926218B2 (ja) | 2021-08-25 |
US20200265313A1 (en) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110546653B (zh) | 使用管理者和工作者神经网络的用于强化学习的动作选择 | |
CN110326004B (zh) | 使用路径一致性学习训练策略神经网络 | |
CN110088774B (zh) | 使用强化学习的环境导航 | |
US20230252288A1 (en) | Reinforcement learning using distributed prioritized replay | |
CN110114783B (zh) | 利用辅助任务的强化学习 | |
US20240220774A1 (en) | Deep reinforcement learning with fast updating recurrent neural networks and slow updating recurrent neural networks | |
CN110520868B (zh) | 用于分布式强化学习的方法、程序产品和存储介质 | |
EP3688675B1 (en) | Distributional reinforcement learning for continuous control tasks | |
US20240062035A1 (en) | Data-efficient reinforcement learning for continuous control tasks | |
US12067491B2 (en) | Multi-agent reinforcement learning with matchmaking policies | |
CN110088775B (zh) | 使用加强学习的环境预测 | |
US20210201156A1 (en) | Sample-efficient reinforcement learning | |
US11200482B2 (en) | Recurrent environment predictors | |
US20210158162A1 (en) | Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space | |
CN110447041B (zh) | 噪声神经网络层 | |
WO2020065024A1 (en) | Stacked convolutional long short-term memory for model-free reinforcement learning | |
US20240086703A1 (en) | Controlling agents using state associative learning for long-term credit assignment | |
CN115315708A (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 |