CN114897156A - 异步深度强化学习 - Google Patents
异步深度强化学习 Download PDFInfo
- Publication number
- CN114897156A CN114897156A CN202210422678.3A CN202210422678A CN114897156A CN 114897156 A CN114897156 A CN 114897156A CN 202210422678 A CN202210422678 A CN 202210422678A CN 114897156 A CN114897156 A CN 114897156A
- Authority
- CN
- China
- Prior art keywords
- neural network
- current
- action
- observation
- deep neural
- 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
- 230000002787 reinforcement Effects 0.000 title claims abstract description 54
- 238000013528 artificial neural network Methods 0.000 claims abstract description 318
- 238000000034 method Methods 0.000 claims abstract description 116
- 238000012549 training Methods 0.000 claims abstract description 68
- 230000009471 action Effects 0.000 claims description 362
- 230000004044 response Effects 0.000 claims description 57
- 230000007774 longterm Effects 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 37
- 230000007613 environmental effect Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 24
- 230000007704 transition Effects 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 abstract description 16
- 230000000694 effects Effects 0.000 abstract description 2
- 239000003795 chemical substances by application Substances 0.000 description 37
- 238000010586 diagram Methods 0.000 description 8
- 238000004088 simulation Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent 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
- 230000026676 system process Effects 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
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/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/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/047—Probabilistic or stochastic 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/098—Distributed learning, e.g. federated learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (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)
- Probability & Statistics with Applications (AREA)
- Feedback Control In General (AREA)
- User Interface Of Digital Computer (AREA)
- General Factory Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及异步深度强化学习。用于异步深度强化学习的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。所述系统之一包括被配置为实现多个工作体的一个或多个计算机,其中每个工作体被配置为独立于每个其它工作体进行操作,并且其中每个工作体与在深度神经网络的训练期间和环境的相应副本进行交互的行动体相关联。本说明书的多个方面具有更快速地训练神经网络和/或降低训练的存储器要求的技术效果。
Description
分案说明
本申请属于申请日为2016年11月11日的中国发明专利申请201680065534.X的分案申请。
技术领域
本说明书涉及异步深度强化学习。
背景技术
在强化学习系统中,智能体(agent)通过响应于接收到表征环境的当前状态的观察而执行该强化学习系统所选择的动作来与该环境进行交互。
一些强化学习系统响应于接收到依据神经网络的输出的给定观察而选择要由智能体执行的动作。
神经网络是采用非线性单元的一个或多个层来针对所接收输入预测输出的机器学习模型。一些神经网络是除了输出层之外还包括一个或多个隐藏层的深度神经网络。每个隐藏层的输出被用作网络中下一层的输入,所述下一层即下一个隐藏层或输出层。该网络的每一层依据相应参数集合的当前值从所接收输入生成输出。
发明内容
本说明书描述了涉及强化学习的技术。具体地,本说明书描述了用于对强化学习系统所使用的深度神经网络进行异步训练以选择智能体在与环境交互时所要执行的动作的技术。本说明书的方面具有更快速地训练神经网络和/或降低训练的存储器要求的技术效果。
对于要被配置为执行特定操作或动作的一个或多个计算机的系统而言,意味着该系统已经在其上安装了在操作中使得该系统执行该操作或动作的软件、固件、硬件或者它们的组合。对于要被配置为执行特定操作或动作的一个或多个计算机程序而言,意味着该一个或多个程序包括在被数据处理装置执行时使得该装置实行该操作或动作的指令。
本说明书所描述的主题能够在特定实施例中实现,从而实现以下优势中的一种或多种。通过使训练并行化,强化学习系统所使用的神经网络能够被更快地训练。更具体地,通过使用在单个机器上独立操作的多个工作体(worker)来使得训练并行化,能够降低由于并行所导致的通信成本。此外,通过去除了在工作体像在包括多个机器上的多个工作体的并行化技术通常所要求的那样在中继存储器或其它存储中存储经验元组的需求,训练的存储器要求能够有所减少并且能够采用on-policy的强化学习方法。
本说明书的主题的一个或多个实施例的细节在以下的附图和描述中给出。本主题的其它方法、特征和优势将根据描述、附图和权利要求书而变得清楚明白。例如,说明书提供了用于实施本文所公开的技术的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。在一些实施例中,一种计算机程序包括指令,所述指令在被计算装置执行时使得其实行本文所公开的任何技术。
附图说明
图1示出了示例神经网络训练系统。
图2是用于训练深度神经网络的示例过程的流程图。
图3是用于执行Q学习技术的迭代的示例过程的流程图。
图4是用于执行SARSA技术的迭代的示例过程的流程图。
图5是用于训练策略神经网络的示例过程的流程图。
各图中相似的附图标记和名称指示相似的元素。
具体实施方式
本说明书总体上描述了用于异步深度强化学习的技术。具体地,本说明书描述了多个工作体能够如何异步训练强化学习系统所使用的深度神经网络,以选择要由与环境交互的智能体所执行的动作。
在一些实施方式中,该环境是仿真环境并且该智能体被实现为与该仿真环境进行交互的一个或多个计算机程序。例如,该仿真环境可以是视频游戏,并且该智能体可以是玩视频游戏的仿真用户。作为另一个示例,该仿真环境可以是运动仿真环境,例如驾驶仿真或飞行仿真,并且该智能体是通过运动仿真进行导航的仿真交通工具。在这些实施方式中,动作可以是用于控制仿真用户或仿真交通工具的控制输入。
在一些其它实施方式中,该环境是真实世界环境并且该智能体是与真实世界环境进行交互的机械智能体。例如,智能体可以是与环境进行交互从而完成特定任务的机器人。作为另一个示例,智能体可以是通过环境导航的自主或半自主交通工具。在这些实施方式中,动作可以是用于控制机器人或自主交通工具的控制输入。
通常,强化学习系统接收表征环境的当前状态的观察,并且使用该观察来选择要由智能体所执行的动作。响应于智能体执行所选择的动作,环境变换为新的状态并且该强化学习系统接收到回馈。该回馈是作为环境状态的函数的数值。在与环境交互的同时,强化学习系统尝试响应于智能体所执行的动作而使得智能体所接收到的长期回馈最大化。
具体地,响应于给定观察,强化学习系统依据深度神经网络所生成的输出来选择要由智能体所执行的动作。
为了允许强化学习系统有效地选择要由智能体所执行的动作,神经网络训练系统对深度神经网络进行训练以将该深度神经网络的参数值从初始参数值进行调节。
具体地,该神经网络训练系统包括通过选择要由与环境副本进行交互的行动体(actor)所执行的动作对深度神经网络进行异步训练的多个工作体。
每个行动体是独立于每个其它实例进行操作的智能体的实例。例如,当智能体是机械智能体时,每个行动体也是单独的机械智能体,它与智能体相同或近似相同并且独立于每个其它行动体进行操作,例如具有与智能体相同或近似相同的性质并且能够执行相同的动作。
图1示出了示例神经网络训练系统100。神经网络训练系统100是被实现为以下所描述的系统、组件和技术在其中实现的一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例。
神经网络训练系统100包括多个工作体102A-N和共享存储器110。工作体102A-N中的每一个与相应的行动体104A-N相关联,所述相应行动体A-1与对应的环境副本106A-N进行交互。例如,工作体102A与行动体104A相关联,所述行动体104A与环境副本106A进行交互。
在一些实施方式中,工作体102A-N中的每一个在相同计算机上实现,但是在该计算机内能够为工作体独立执行计算的单独线程、进程或其他硬件或软件中执行。在这些实施方式中,共享存储器110是该计算机的能够由工作体102A-N中的每一个所访问的存储器。在环境是虚拟环境的实施方式中,与给定工作体相关联的行动体和环境副本在与给定工作体相同的线程或其它硬件或软件中执行。
工作体102A-N中的每一个维持被训练的深度神经网络的实例,并且访问共享存储器110以获得已经存储在共享存储器110中的深度神经网络的当前参数值。然后,每个工作体使用该工作体的深度神经网络的实例依据从共享存储器110所获得的该神经网络的当前参数值来选择要由与该工作体相关联的行动体所执行的动作。
具体地,在训练期间,每个工作体接收表征与该工作体相关联的环境副本的状态的观察,并且响应于每个观察,使用深度神经网络来选择要由与该环境副本相关联的行动体所执行的动作。然后,该工作体接收表征该环境副本的下一个状态的下一个观察以及由于行动体执行了所选择的动作所产生的回馈,所述下一个状态即环境副本由于行动体执行了所选择的动作而转换为的状态。该工作体使用该回馈和下一个观察来确定梯度,并且定期使用该工作体所确定的梯度来更新存储在共享存储器110中的参数值。确定梯度和更新存储在共享存储器中的参数值在下文参考图2更详细地进行描述。
通过工作体102A-102N中的每一个反复且异步地更新存储在共享存储器110中的参数值,工作体102A-102N共同训练深度神经网络以确定该深度神经网络的训练参数值。
图2是用于训练深度神经网络的示例过程200的流程图。为了方便,过程200将被描述为由例如图1的工作体120A-N之一的工作体所执行。
该工作体确定深度神经网络的当前参数值(步骤202)。
在一些实施方式中,该工作体从在所有工作体之间共享的存储器——例如,图1的共享存储器110——获得该当前值。
在一些其它实施方式中,工作体仅在如以下所描述的更新共享存储器之后才从存储器获得当前值并且将它们写入到本地存储器。在这些实施方式中,工作体将当前值确定为本地存储器中所存储的值。
工作体接收表征与该工作体相关联的行动体所交互的环境副本的当前状态的当前观察(步骤204)。
工作体使用深度神经网络选择要由行动体在环境处于当前状态时所执行的当前动作(步骤206)。
具体地,在一些实施方式中,深度神经网络是Q网络,其被配置为接收作为输入的观察和动作,并且依据该Q网络的当前参数值处理该输入以生成神经网络输出。将在本说明书中被称为Q值的神经网络输出是将由于智能体或行动体在环境处于输入观察所表征的状态时执行输入动作所产生的长期回馈的估计。
在这些实施方式中,针对预定动作集合中的每个动作,工作体使用Q网络处理动作和当前观察以针对每个动作生成相应的当前Q值。
然后,工作体使用当前Q至并且依据工作体的动作选择策略来从预定动作集合中选择一个动作以作为要由行动体所执行的当前动作。
通常,给定工作体的动作选择策略不同于每个其它工作体的动作选择策略。例如,在一些实施方式中,每个工作体的动作选择策略是ε-贪婪策略,其中工作体以概率ε随机地从预定动作集合中选择动作,并且以概率1-ε选择具有最高Q值的动作,但是其中ε的值针对每个工作体是不同的。例如,每个工作体能够定期从该工作体的ε的可能值的分布对该工作体的ε的值进行采样,从而确定要在动作选择策略中使用的ε。作为另一个示例,工作体能够通过向Q值应用softmax非线性并且从得到的分布对动作进行采样来选择动作。然后,每个工作体能够在softmax中使用不同的温度参数来确保每个工作体具有不同的动作选择策略。
工作体接收下一个观察和实际回馈(步骤208)。下一个观察表征环境副本的下一个状态,即环境副本由于与该工作体相关联的行动体执行了当前动作而变换为的状态。该实际回馈是由于从当前状态变换为下一个状态而从环境副本所接收到的数值。
工作体使用当前回馈和下一个观察来执行强化学习过程的迭代以确定当前梯度(步骤210)。该梯度是被优化以便训练深度神经网络的损失函数的梯度。
该损失函数以及工作体确定梯度的方式取决于被用来训练深度神经网络的强化学习过程,所述强化学习过程进而取决于该深度神经网络如何配置。
例如,当深度神经网络是Q网络时,工作体可以使用Q学习技术或SARSA技术。下文参考图3描述执行Q学习技术的迭代。下文参考图4描述执行SARSA技术的迭代。
工作体利用当前梯度来更新累加梯度以确定更新的累加梯度(步骤212)。即,工作体将梯度维持在本地存储器中,并且每次计算新的梯度时,利用该新的梯度更新所维持的梯度,例如通过将新的梯度与累加梯度相加。
工作体确定是否满足更新神经网络的当前参数值的标准(步骤214)。例如,更新当前值的标准可以指定:自从工作体最近一次更新参数值起该工作体已经执行了指定数目的强化学习迭代之后更新当前值。作为另一个示例,该标准可以指定:自从所有多个工作体最近一次更新参数值起该工作体所执行的强化学习迭代总数超过指定阈值时,工作体更新当前值。
如果该标准被满足,则工作体使用累加梯度来确定更新的参数值(步骤216),并且将更新的参数值写入到共享存储器(步骤218)。具体地,该工作体从累加梯度确定参数值更新,访问共享存储器中的当前值,并且使用参数值更新来对那些值进行更新。在一些示例中,工作体将累加梯度乘以学习率参数,并且然后对当前参数值和参数值更新求和以确定更新的参数值。在一些其它示例中,工作体使用RMSProp优化程序的异步变形来更新参数值。
在工作体将更新的参数值写入到共享存储器之后,该工作体清空累加梯度,即使得在过程200的下一次迭代发起时并没有梯度被该工作体所维持。
如果该标准并未被满足,则该工作体避免向共享存储器写入任何内容(步骤220),即,该工作体继续执行过程200的另一次迭代而并不更新当前参数值。
多个工作体中的每一个能够以异步方式反复执行过程200以共同确定深度神经网络的参数的训练值。一旦训练值已经被确定,强化学习系统就能够使用该深度神经网络来选择要由与环境交互的智能体所执行的值,即通过依据神经网络参数的训练值使用深度神经网络来处理神经网络输入。在一些其它情况下,该强化学习系统在工作体继续执行过程200的同时使用深度神经网络选择要由智能体所执行的值,即通过定期获得存储在共享存储器中的值并且使用那些值来选择智能体所执行的动作。
在一些情况下,一旦训练值已经被确定,它们就被存储并且然后通过网络传送至另一个系统以供在对深度神经网络的经训练版本进行实例化时使用,即允许智能体在与环境的交互中有效地选择动作。
图3是用于执行Q学习技术的迭代的示例过程300的流程图。为了方便,过程300将被描述为由例如图1的工作体120A-N之一的工作体所执行。
工作体获得当前观察、当前动作、实际回馈、以及下一个观察(步骤302),即如上文参考图2所描述的。
该工作体在环境副本处于下一个观察所表征的状态时确定目标网络的最大输出(步骤304)。该目标网络是与Q网络相同的神经网络,即具有相同的神经网络架构/神经网络形式,但是具有可能不同的参数值。具体地,每个工作体定期将目标网络的参数值与存储在共享存储器中的Q网络的当前参数值进行同步。然而,与工作体更新存储在共享存储器中的参数值相比,工作体较不频繁地同步目标网络的参数值,使得目标网络和Q网络经常将具有不同的参数值。
工作体通过以下来确定目标网络的最大输出:针对预定动作集合中的每个动作,使用目标网络结合下一个观察处理该动作以针对该动作确定目标网络输出。然后,该系统针对预定动作集合中的动作选择目标网络输出的最大值作为目标网络的最大输出。
工作体从目标网络的最大输出、实际回馈、以及先前在环境处于当前状态时针对当前动作所确定的当前Q值来确定误差,所述当前Q值即被用来选择当前动作作为环境处于当前状态时所要执行的动作的当前Q值(步骤306)。在一些实施方式中,误差E满足:
E=r+γmax(Qtarget)-Qcurrent,
其中r是实际回馈,γ是预定折扣因数,max(Qtarget)是目标网络的最大输出,并且Qcurrent是先前在环境处于当前状态时针对当前动作所确定的当前Q值。
工作体使用所确定的误差来确定当前梯度(步骤308)。即,工作体使用反向传播来更新值,其中反向传播误差针对所选动作是所确定的误差而针对所有其它动作为零。
图4是用于执行SARSA技术的迭代的示例过程400的流程图。为了方便,过程400将被描述为由神经网络训练系统中的工作体来执行,例如图1的神经网络训练系统100中的工作体120A-N之一。
工作体接收当前观察、当前动作、实际回馈、和下一个观察(步骤402)。
该工作体选择在环境副本处于下一个状态时要由行动体所执行的下一个动作(步骤404)。工作体如以上参考步骤206所描述的那样选择下一个动作。即,针对预定动作集合中的每个动作,工作体使用Q网络处理该动作和下一个观察从而针对每个动作生成相应的下一个Q值。然后,工作体使用下一个Q至并且依据该工作体的动作选择策略来从预定动作集合中选择一个动作作为要由行动体所执行的下一个动作。
该工作体针对下一个动作确定目标网络输出(步骤406)。即,工作体使用目标网络处理下一个动作和下一个观察来针对下一个动作确定目标网络输出。
工作体从针对下一个动作的目标网络输出、实际回馈以及先前针对当前动作所确定的当前Q值确定误差(步骤406)。在一些实施方式中,误差E满足:
E=r+γQtarget)-Qcurrent
其中r是实际回馈,γ是预定折扣因数,Qtarget是目标网络的最大输出,并且Qcurrent是先前在环境处于当前状态时针对当前动作所确定的当前Q值。
工作体使用所确定的误差确定当前梯度(步骤408)。
当执行过程300或过程400时,工作体还确定是否满足用于将目标网络参数与共享存储器中的参数同步的标准。例如,该标准可以与以上参考步骤216所描述的标准相同,但是其中指定阈值或指定数字大于用于确定是否更新存储在共享存储器中的参数的值或数字。因此,与工作体更新存储在共享存储器中的参数值相比,工作体较不频繁地同步目标网络的参数值,使得目标网络和Q网络经常将具有不同的参数值。
以上描述已经描述了深度神经网络是Q网络的实施方式。然而,在一些其它实施方式中,深度神经网络是策略神经网络,其接收输入观察并且针对预定动作集合中的每个动作输出相应分值,其中该分值均表示对应动作是应当被执行而使长期回馈最大化的动作的可能性,所述长期回馈将来自于处于输入观察所表征的状态的环境。
在这些实施方式中,为了响应于规定观察而选择动作,强化学习系统使用策略神经网络处理给定观察,并且通过依据动作的分值从动作中进行采样来选择要由智能体所执行的动作。
为了确保每个工作体具有不同的动作选择策略,每个工作体在从动作进行采样时能够使用不同的随机种子,或者替选地,每个工作体能够针对动作生成分值的策略神经网络的输出层具有不同温度。
图5是用于训练策略神经网络的示例过程的流程图。为了方便,过程500将被描述为由神经网络训练系统中的工作体来执行,例如图1的神经网络训练系统100中的工作体120A-N之一。
工作体确定策略神经网络的当前参数值(步骤502)。具体地,工作体从在所有工作体之间共享的存储器——例如,图1的共享存储器110——获得当前值。
工作体还从共享存储器获得基线神经网络的当前参数值。该基线神经网络是被配置为接收输入观察并且生成基线分值的神经网络,所述基线分值表示智能体所接收到的、从输入观察所表征的状态开始的估计长期回馈。在一些实施方式中,基线和策略网络共享它们的一些参数。
工作体接收表征环境副本的状态的观察,并且依据策略神经网络的当前参数值来选择要由行动体所执行的动作,直至该环境副本变换为满足特定标准的状态(步骤504)。即,针对每个观察,依据当前值使用策略神经网络处理该观察,并且通过依据动作的分值从动作中进行采样来选择要由智能体所执行的动作。例如,特定标准可以在已经接收到预定数目tmax的观察之后或者直至已经达到预定终止状态时被满足。
具体地,针对每个所接收到的表征环境副本的状态的观察,工作体使用策略神经网络处理观察以依据策略神经网络的当前参数值针对预定动作集合中的每个动作来生成相应分值,并且通过从分布进行采样来选择要由行动体执行的动作。
针对每个所接收到的观察,工作体还依据基线神经网络的当前参数值使用基线神经网络来处理动作和观察以针对观察生成基线分值。
在一些实施方式中,基线神经网络和策略神经网络之一或其二者可以是循环神经网络。
工作体针对每个所接收的观察确定实际长期回馈(步骤506)。
即,针对所接收到的最新观察,该系统将实际长期反馈设置为例如基线神经网络所预测的基线分值。
针对最新观察以外的给定观察,该系统将该给定观察的实际长期回馈设置为在环境副本变换为最新观察所表征的状态时接收到的回馈加上在行动体执行了响应于接收到该给定观察而选择的动作之后接收到的观察的实际长期回馈的折扣总和。
工作体针对每个观察确定策略神经网络的相应梯度更新以及基线神经网络的相应梯度更新(步骤510)。
具体地,针对观察St的策略升级网络的梯度更新满足:
其中π(at|st;θ′)是针对响应于观察St所执行的动作生成的分值,Rt是针对观察St所确定的实际长期回馈,并且bt是观察St的基线分值。
针对观察St的基线神经网络的梯度更新满足:
其中b(st;θ′b)是观察St的基线分值。
例如,通过将每个神经网络的新梯度与该神经网络的累加梯度相加,工作体利用策略神经网络的梯度更新来更新策略神经网络的累加梯度以确定策略神经网络的更新的累加梯度,并且利用基线神经网络的梯度更新来更新基线神经网络的累加梯度以确定基线神经网络的更新的累加梯度(步骤512)。
工作体确定更新基线神经网络和策略神经网络的参数的当前值的标准是否被满足(步骤514)。
例如,更新当前值的标准可以指定:自工作体最近一次更新参数值起该工作体已经执行了步骤504的指定数目的迭代之后该工作体更新当前值。
作为另一个示例,该标准可以指定在自从所有工作体最近一次更新参数值起已经执行的步骤504的迭代总数超过指定阈值时工作体更新当前值。
如果该标准被满足,则工作体使用对应的累加梯度针对基线神经网络和策略神经网络确定更新的参数值(步骤516),并且将该更新的参数值写入到共享存储器(步骤518),例如,如上文参考步骤216和218所描述的。
在工作体将更新的参数值写入到共享存储器之后,该工作体清空累加梯度,即使得在过程500的下一次迭代被发起时并没有梯度被该工作体所维持。
如果该标准并未被满足,则该工作体避免向共享存储器写入任何内容(步骤520),即,该工作体继续执行过程500的另一次迭代而并不更新当前参数值。
本说明书中所描述的主题和功能操作的实施例能够以数字电子电路来实现,或者以有形体现的计算机软件或固件来实现,以包括本说明书中所公开的结构及其结构等同物的计算机硬件来实现,或者以它们中一个或多个的组合来实现。本说明书中所描述主题的实施例能够被实现为一个或多个计算机程序,即在有形非瞬时程序载体上编码以便由数据处理装置执行或者控制其操作的一个或多个计算机程序指令的模块。替选地或除此之外,程序指令可以在人工生成的传播信号上编码,例如机器生成的电、光学或电磁信号,它们被生成以编码信息以供传输至合适的接收器装置而用于由数据处理装置来执行。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储器设备,或者它们中一个或多个的组合。
术语“数据处理装置”指代数据处理硬件并且包含用于处理数据的所有类型的装置、设备和机器,例如包括可编程处理器、计算机、或者多个处理器或计算机。该装置还可以是或进一步包括专用逻辑电路,例如FPGA(现场可编程阵列)或ASIC(专用集成电路)。除了硬件之外,该装置可选地可以包括为计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。
计算机程序(也被称作程序、软件、软件应用、模块、软件模块、脚本或代码)能够以任何形式的编程语言进行编写,包括编译或解释语言,或者声明或过程语言,并且其可以以任何形式被采用,包括作为独立程序或者作为适于在计算环境中使用的模块、组件、子程序或其它单元。计算机程序可以对应于文件系统中的文件,但是并非必需如此。程序可以存储在保存其它程序或数据(例如,标记语言文档中所存储的一个或多个脚本)的文件的一部分之中,存储在专用于所讨论程序的单个文件中,或者存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序能够被部署为在一台计算机上执行或者在位于一个地点或跨多个地点分布并且通过通信网络进行互连的多台计算机上执行。
本说明书中所描述的过程和逻辑流程能够由一个或多个可编程计算机来实现,所述可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来实行功能。所述处理和逻辑流程还能够由例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑电路所实行,并且装置也能够被实施为所述专用逻辑电路。
适于执行计算机程序的计算机例如可以基于通用或专用微处理器或者其二者,或者任何其它类型的中央处理单元。通常,中央处理器将从只读存储器或随机存取存储器或者其二者接收指令和数据。计算机的必要元件为用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的一个或多个大型存储设备,或者与之操作耦合以从其接收和向其传送数据,上述大型存储设备例如磁盘、磁性光盘或光盘。然而,计算机并非需要具有这样的设备。此外,计算机可以被嵌入另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器,或者例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举数例。
适于存储计算机程序指令和数据的计算机可读媒体包括所有形式的非易失性存储器、介质、和存储器设备,例如包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或便携式磁盘;磁性光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器能够被补充以专用逻辑电路或者整合在其中。
为了提供与用户的交互,本说明书中所描述的主题的实施方式能够在计算机上实现,该计算机具有例如CRT(阴极射线管)或LCD(液晶显示器)监视器的用于向用户显示信息的显示设备以及用户能够通过其向计算机提供输入的键盘和例如鼠标或轨迹球的指示设备。也能够使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能够以任何形式被接收,包括声音、语音或触觉输入。此外,计算机能够通过向用户所使用的设备发送文档和从其接收文档而与用户进行交互;例如,通过响应于从用户的客户端设备上的web浏览器所接收到的请求而向该web浏览器发送网页。
本说明书中所描述的主题的实施例能够在计算系统中实现,该计算系统包括例如作为数据服务器的后端组件,或者包括例如应用服务器的中间件组件,或者包括例如客户端计算机的前端组件,或者一个或多个这样的后端、中间件或前端组件的任何组合,上述客户端计算机具有用户能够通过其而与本说明书所描述主题的实施方式进行交互的图形用户界面或Web浏览器。该系统的组件能够通过例如通信网络的任何形式或介质的数字数据通信进行互连。通信网络的示例包括局域网(LAN)和例如互联网的广域网(WAN)。
计算系统能够包括客户端和服务器。客户端和服务器通常互相远离并且典型地通过通信网络进行交互。客户端和服务器的关系源自于在相应计算机上运行并且互相具有客户端-服务器关系的计算机程序。
虽然本说明书包含了许多具体的实施方式细节,但是这些并不应当被理解为是对任何发明或者可以请求保护的范围的限制,而是作为可能对特定发明的特定实施例而言特定的特征的描述。本说明书中以单独实施例为场境(context)所描述的某些特征也能够在单个实施例中组合实现。相反,以单个实施例为场境所描述的各个特征也能够在多个实施例中单独实现或者以任何适当的子组合实现。此外,虽然特征在上文中可以被描述为以某种组合发生作用并且甚至最初如此要求保护,但是来所请求保护的组合的一个或多个特征在一些情况下能够脱离该组合并且所请求保护的组合可以针对子组合或子组合的变化形式。
类似地,虽然操作在图中以特定顺序进行描绘,但是这并不应当被理解为为了实现所期望的结果而要求这样的操作以所示出的特定顺序或以连续顺序来执行,或者执行所有所图示的操作。在某些情况下,多任务和并行处理可能是有利的。此外,以上所说明的各个系统模块和组件的分离并不应当被理解为要求这样的分离,并且应当理解的是,所描述的程序组件和系统一般能够共同集成在单个软件产品中或者被封装为多个软件产品。
已经对该主题的特定实施例进行了描述。其它实施例处于所附权利要求书的范围之内。例如,权利要求书中所记载的动作可以以不同顺序执行并且仍然实现所期望的结果。作为一个示例,附图中所描绘的过程并非必然要求所期望的顺序或连续顺序来实现所期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。
Claims (80)
1.一种用于训练深度神经网络的系统,所述深度神经网络用于选择要由智能体执行的动作,所述智能体通过执行从预定动作集合中选择的动作来与环境进行交互,所述系统包括:
多个工作体中的所有工作体能够访问的共享存储器,其中,所述共享存储器存储所述深度神经网络的参数值;
多个工作体,其中,每个工作体被配置为独立于每个其它工作体进行操作,其中,每个工作体与在所述深度神经网络的训练期间和所述环境的相应副本进行交互的相应行动体相关联,并且其中,每个工作体进一步被配置为重复执行操作,所述操作包括:
确定所述深度神经网络的当前参数值;
接收表征由与该工作体相关联的所述行动体所交互的环境副本的当前状态的当前观察;
根据该工作体的相应动作选择策略使用由所述深度神经网络根据所述当前参数值生成的一个或多个输出来选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的当前动作;
在所述环境副本处于所述当前状态时,识别由于所述行动体执行所述当前动作所产生的实际回馈;
接收表征由与所述行动体所交互的环境副本的下一状态的下一观察,其中,所述环境副本响应于所述行动体执行所述当前动作而从所述当前状态变换到所述下一状态;
执行强化学习技术的迭代以使用所述实际回馈和所述下一观察来确定当前梯度;
利用所述当前梯度来更新累加梯度以确定更新的累加梯度;
确定用于更新存储在所述共享存储器中的深度神经网络的所述参数值的标准是否已经被满足;以及
在用于更新存储在所述共享存储器中的深度神经网络的当前参数值的所述标准已经被满足时:
使用所述更新的累加梯度和存储在所述共享存储器中的深度神经网络的所述参数值来确定所述深度神经网络的更新的参数值;
将所述深度神经网络的所述更新的参数值存储在能够由所述多个工作体中的所有工作体访问的所述共享存储器中。
2.根据权利要求1所述的系统,其中,每个工作体独立于相同计算机上的每个其它工作体来执行。
3.根据权利要求1所述的系统,其中,每个工作体的相应动作选择策略不同于每个其它工作体的相应动作选择策略。
4.根据权利要求1所述的系统,所述操作进一步包括:在更新存储在所述共享存储器中的深度神经网络的所述参数值的所述标准已经被满足时,清除所述更新的累加梯度。
5.根据权利要求1所述的系统,其中,确定用于更新存储在所述共享存储器中的深度神经网络的参数值的所述标准是否已经被满足包括:确定自之前更新存储在所述共享存储器中的深度神经网络的所述参数值起已经执行了指定数目的所述强化学习技术的迭代。
6.根据权利要求1所述的系统,其中,所述深度神经网络是Q网络,所述Q网络被配置为接收表征所述环境的输入状态的输入观察和输入动作,并且生成Q值,所述Q值是在所述环境处于所述输入状态时由于执行所述输入动作所产生的长期回馈的估计,并且其中,选择要所述行动体响应于所述当前观察而执行的所述当前动作包括:
对于所述预定动作集合中的每个动作,使用所述深度神经网络处理所述当前观察和该动作,以根据所述深度神经网络的所述当前参数值生成该动作的Q值;和
根据所述工作体的所述动作选择策略使用所述动作的所述Q值,从所述预定动作集合中选择动作。
7.根据权利要求6所述的系统,其中,所述强化学习技术是Q学习技术,并且其中,执行所述迭代包括:
在所述环境副本处于所述下一状态时,确定所述预定动作集合中的任一个动作的目标网络的最大输出,其中,所述目标网络是与所述Q网络相同但具有可能不同的参数值的神经网络;
根据所述目标网络的所述最大输出、所述实际回馈和所述当前动作的所述Q值确定误差;和
使用所述误差确定所述当前梯度。
8.根据权利要求6所述的系统,其中,所述强化学习技术是SARSA技术,并且其中,执行所述迭代包括:
根据所述工作体的相应动作选择策略,选择要由与所述工作体相关联的所述行动体响应于所述下一观察而执行的下一动作;
使用目标网络处理所述下一动作和所述下一观察,以确定所述下一动作的目标网络输出,其中,所述目标网络是与所述Q网络相同但具有可能不同的参数值的神经网络;
从所述下一动作的所述目标网络输出、所述实际回馈和所述当前动作的所述Q值确定误差;和
使用所述误差确定所述当前梯度。
9.一个或多个存储指令的非暂时性计算机存储介质,所述指令在由一个或多个计算机执行时,使所述一个或多个计算机实现一种用于训练深度神经网络的系统,所述深度神经网络用于选择要由智能体执行的动作,所述智能体通过执行从预定动作集合中选择的动作来与环境进行交互,所述系统包括:
多个工作体中的所有工作体能够访问的共享存储器,其中,所述共享存储器存储所述深度神经网络的参数值;
多个工作体,其中,每个工作体被配置为独立于每个其它工作体进行操作,其中,每个工作体与在所述深度神经网络的训练期间和所述环境的相应副本进行交互的相应行动体相关联,并且其中,每个工作体进一步被配置为重复执行操作,所述操作包括:
确定所述深度神经网络的当前参数值;
接收表征由与该工作体相关联的所述行动体所交互的环境副本的当前状态的当前观察;
根据该工作体的相应动作选择策略使用由所述深度神经网络根据所述当前参数值生成的一个或多个输出来选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的当前动作;
在所述环境副本处于所述当前状态时,识别由于所述行动体执行所述当前动作所产生的实际回馈;
接收表征由与所述行动体所交互的环境副本的下一状态的下一观察,其中,所述环境副本响应于所述行动体执行所述当前动作而从所述当前状态变换到所述下一状态;
执行强化学习技术的迭代以使用所述实际回馈和所述下一观察来确定当前梯度;
利用所述当前梯度来更新累加梯度以确定更新的累加梯度;
确定用于更新存储在所述共享存储器中的深度神经网络的所述参数值的标准是否已经被满足;以及
在用于更新存储在所述共享存储器中的深度神经网络的当前参数值的所述标准已经被满足时:
使用所述更新的累加梯度和存储在所述共享存储器中的深度神经网络的所述参数值来确定所述深度神经网络的更新的参数值;
将所述深度神经网络的所述更新的参数值存储在能够由所述多个工作体中的所有工作体访问的所述共享存储器中。
10.根据权利要求9所述的计算机存储介质,其中,每个工作体独立于相同计算机上的每个其它工作体来执行。
11.根据权利要求9所述的计算机存储介质,其中,每个工作体的相应动作选择策略不同于每个其它工作体的相应动作选择策略。
12.根据权利要求9所述的计算机存储介质,所述操作进一步包括:在更新存储在所述共享存储器中的深度神经网络的所述参数值的所述标准已经被满足时,清除所述更新的累加梯度。
13.根据权利要求9所述的计算机存储介质,其中,确定用于更新存储在所述共享存储器中的深度神经网络的参数值的所述标准是否已经被满足包括:确定自之前更新存储在所述共享存储器中的深度神经网络的所述参数值起已经执行了指定数目的所述强化学习技术的迭代。
14.根据权利要求9所述的计算机存储介质,其中,所述深度神经网络是Q网络,所述Q网络被配置为接收表征所述环境的输入状态的输入观察和输入动作,并且生成Q值,所述Q值是在所述环境处于所述输入状态时由于执行所述输入动作所产生的长期回馈的估计,并且其中,选择要所述行动体响应于所述当前观察而执行的所述当前动作包括:
对于所述预定动作集合中的每个动作,使用所述深度神经网络处理所述当前观察和该动作,以根据所述深度神经网络的所述当前参数值生成该动作的Q值;和
根据所述工作体的所述动作选择策略使用所述动作的所述Q值,从所述预定动作集合中选择动作。
15.根据权利要求14所述的计算机存储介质,其中,所述强化学习技术是Q学习技术,并且其中,执行所述迭代包括:
在所述环境副本处于所述下一状态时,确定所述预定动作集合中的任一个动作的目标网络的最大输出,其中,所述目标网络是与所述Q网络相同但具有可能不同的参数值的神经网络;
根据所述目标网络的所述最大输出、所述实际回馈和所述当前动作的所述Q值确定误差;和
使用所述误差确定所述当前梯度。
16.根据权利要求14所述的计算机存储介质,其中,所述强化学习技术是SARSA技术,并且其中,执行所述迭代包括:
根据所述工作体的相应动作选择策略,选择要由与所述工作体相关联的所述行动体响应于所述下一观察而执行的下一动作;
使用目标网络处理所述下一动作和所述下一观察,以确定所述下一动作的目标网络输出,其中,所述目标网络是与所述Q网络相同但具有可能不同的参数值的神经网络;
从所述下一动作的所述目标网络输出、所述实际回馈和所述当前动作的所述Q值确定误差;和
使用所述误差确定所述当前梯度。
17.一种训练深度神经网络的方法,所述深度神经网络用于选择要由智能体执行的动作,所述智能体通过执行从预定动作集合中选择的动作来与环境进行交互,所述方法包括:
使用多个工作体重复更新所述深度神经网络的参数值,所述参数值存储在所述多个工作体中的所有工作体能够访问的共享存储器中,其中,每个工作体被配置为独立于每个其它工作体进行操作,其中,每个工作体与在所述深度神经网络的训练期间和所述环境的相应副本进行交互的相应行动体相关联,并且其中,每个工作体进一步被配置为重复执行操作,所述操作包括:
确定所述深度神经网络的当前参数值;
接收表征由与该工作体相关联的所述行动体所交互的环境副本的当前状态的当前观察;
根据该工作体的相应动作选择策略使用由所述深度神经网络根据所述当前参数值生成的一个或多个输出来选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的当前动作;
在所述环境副本处于所述当前状态时,识别由于所述行动体执行所述当前动作所产生的实际回馈;
接收表征由与所述行动体所交互的环境副本的下一状态的下一观察,其中,所述环境副本响应于所述行动体执行所述当前动作而从所述当前状态变换到所述下一状态;
执行强化学习技术的迭代以使用所述实际回馈和所述下一观察来确定当前梯度;
利用所述当前梯度来更新累加梯度以确定更新的累加梯度;
确定用于更新存储在所述共享存储器中的深度神经网络的所述参数值的标准是否已经被满足;以及
在用于更新存储在所述共享存储器中的深度神经网络的当前参数值的所述标准已经被满足时:
使用所述更新的累加梯度和存储在所述共享存储器中的深度神经网络的所述参数值来确定所述深度神经网络的更新的参数值;
将所述深度神经网络的所述更新的参数值存储在能够由所述多个工作体中的所有工作体访问的所述共享存储器中。
18.根据权利要求17所述的方法,其中,每个工作体独立于相同计算机上的每个其它工作体来执行。
19.根据权利要求17所述的方法,其中,每个工作体的相应动作选择策略不同于每个其它工作体的相应动作选择策略。
20.根据权利要求17所述的方法,其中,所述深度神经网络是Q网络,所述Q网络被配置为接收表征所述环境的输入状态的输入观察和输入动作,并且生成Q值,所述Q值是在所述环境处于所述输入状态时由于执行所述输入动作所产生的长期回馈的估计,并且其中,选择要所述行动体响应于所述当前观察而执行的所述当前动作包括:
对于所述预定动作集合中的每个动作,使用所述深度神经网络处理所述当前观察和该动作,以根据所述深度神经网络的所述当前参数值生成该动作的Q值;和
根据所述工作体的所述动作选择策略使用所述动作的所述Q值,从所述预定动作集合中选择动作。
21.一种用于训练深度神经网络的系统,所述深度神经网络用于控制通过执行从预定动作集合中选择的动作来与环境进行交互的智能体,所述深度神经网络包括具有多个策略参数的策略神经网络和具有多个基线参数的基线神经网络,并且所述系统包括一个或多个计算机,所述一个或多个计算机被配置为实现:
一个或多个工作体,
其中,每个工作体与在所述深度神经网络的训练期间和所述环境的相应实例进行交互的相应行动体相关联,并且其中,每个工作体进一步被配置为重复执行操作,所述操作包括:
确定所述深度神经网络的当前参数值,包括:
从能够由所述一个或多个工作体中的每个工作体访问的存储器接收所述基线神经网络的所述基线参数的当前值;以及
从所述存储器接收所述策略神经网络的所述策略参数的当前值;
直到与所述工作体相关联的所述行动体所交互的环境实例变换到满足特定标准的状态为止:
接收表征所述环境实例的状态的观察,并且响应于每个观察,根据所述工作体的相应动作选择策略来选择要由与所述工作体相关联的所述行动体响应于该观察而执行的动作,其中,所述选择针对每个观察包括:
使用所述策略神经网络并且根据所述策略神经网络的所述当前参数值来处理所述观察,以根据所述策略神经网络的所述当前参数值来生成针对预定动作集合中的每个动作的相应分值,以及
使用所述相应分值来选择要由所述行动体执行的当前动作;
针对在满足所述特定标准之前接收到的每个观察:
基于所述基线网络的所述当前参数值来生成表示从由该观察表征的状态开始由所述智能体接收到的估计回馈的基线分值;
识别由于所述行动体响应于该观察而执行所选择的动作所产生的实际回馈;
至少根据所述实际回馈和针对表征满足所述特定标准的状态的观察的基线分值来确定实际长期回馈;以及
执行强化学习技术的迭代以基于所述基线分值和所述实际长期回馈来针对所述基线和策略网络确定相应当前梯度;
基于所述相应当前梯度针对所述基线和策略网络更新相应累加梯度以确定相应更新的累加梯度;
确定用于更新所述深度神经网络的所述当前参数值的标准是否已经被满足;以及
当用于更新所述深度神经网络的所述当前参数值的所述标准已经被满足时:
更新所述深度神经网络的所述参数,其中,所述更新包括:
使用所述更新的累加梯度来确定更新的参数值;以及
将所述更新的参数值存储在能够由所述一个或多个工作体中的每一个工作体访问的存储器中。
22.根据权利要求21所述的系统,其中,所述一个或多个工作体中的每个工作体在相同计算机上执行。
23.根据权利要求21所述的系统,所述操作进一步包括:当更新所述深度神经网络的所述当前参数值的所述标准已经被满足时,清除所述更新的累加梯度。
24.根据权利要求21所述的系统,其中,确定更新所述深度神经网络的所述当前参数值的所述标准是否已经被满足包括:确定自之前更新所述深度神经网络的参数值起已经执行了指定数目的所述强化学习技术的迭代。
25.根据权利要求21所述的系统,其中,确定所述实际长期回馈包括:
针对在满足所述标准之前接收到的最新观察,基于针对该观察的所述实际回馈和针对表征满足所述特定标准的状态的观察的所述基线分值来设置所述实际长期回馈;以及
针对在满足所述标准之前接收到的每个其它观察,将针对该观察的所述实际长期回馈设置为所述实际回馈加上针对在该观察之后接收到的观察的实际长期回馈的折扣总和。
28.一个或多个存储指令的非暂时性计算机存储介质,所述指令在由一个或多个计算机执行时,使所述一个或多个计算机实现一种用于训练深度神经网络的系统,所述深度神经网络用于控制通过执行从预定动作集合中选择的动作来与环境进行交互的智能体,所述深度神经网络包括具有多个策略参数的策略神经网络和具有多个基线参数的基线神经网络,并且所述系统包括:
一个或多个工作体,
其中,每个工作体与在所述深度神经网络的训练期间和所述环境的相应实例进行交互的相应行动体相关联,并且其中,每个工作体进一步被配置为重复执行操作,所述操作包括:
确定所述深度神经网络的当前参数值,包括:
从能够由所述一个或多个工作体中的每个工作体访问的存储器接收所述基线神经网络的所述基线参数的当前值;以及
从所述存储器接收所述策略神经网络的所述策略参数的当前值;
直到与所述工作体相关联的所述行动体所交互的环境实例变换到满足特定标准的状态为止:
接收表征所述环境实例的状态的观察,并且响应于每个观察,根据所述工作体的相应动作选择策略来选择要由与所述工作体相关联的所述行动体响应于该观察而执行的动作,其中,所述选择针对每个观察包括:
使用所述策略神经网络并且根据所述策略神经网络的所述当前参数值来处理所述观察,以根据所述策略神经网络的所述当前参数值来生成针对预定动作集合中的每个动作的相应分值,以及
使用所述相应分值来选择要由所述行动体执行的当前动作;
针对在满足所述特定标准之前接收到的每个观察:
基于所述基线网络的所述当前参数值来生成表示从由该观察表征的状态开始由所述智能体接收到的估计回馈的基线分值;
识别由于所述行动体响应于该观察而执行所选择的动作所产生的实际回馈;
至少根据所述实际回馈和针对表征满足所述特定标准的状态的观察的基线分值来确定实际长期回馈;以及
执行强化学习技术的迭代以基于所述基线分值和所述实际长期回馈来针对所述基线和策略网络确定相应当前梯度;
基于所述相应当前梯度针对所述基线和策略网络更新相应累加梯度以确定相应更新的累加梯度;
确定用于更新所述深度神经网络的所述当前参数值的标准是否已经被满足;以及
当用于更新所述深度神经网络的所述当前参数值的所述标准已经被满足时:
更新所述深度神经网络的所述参数,其中,所述更新包括:
使用所述更新的累加梯度来确定更新的参数值;以及
将所述更新的参数值存储在能够由所述一个或多个工作体中的每一个工作体访问的存储器中。
29.根据权利要求28所述的非暂时性计算机存储介质,其中,所述一个或多个工作体中的每个工作体在相同计算机上执行。
30.根据权利要求28所述的非暂时性计算机存储介质,所述操作进一步包括:当更新所述深度神经网络的所述当前参数值的所述标准已经被满足时,清除所述更新的累加梯度。
31.根据权利要求28所述的非暂时性计算机存储介质,其中,确定更新所述深度神经网络的所述当前参数值的所述标准是否已经被满足包括:确定自之前更新所述深度神经网络的参数值起已经执行了指定数目的所述强化学习技术的迭代。
32.根据权利要求28所述的非暂时性计算机存储介质,其中,确定所述实际长期回馈包括:
针对在满足所述标准之前接收到的最新观察,基于针对该观察的所述实际回馈和针对表征满足所述特定标准的状态的观察的所述基线分值来设置所述实际长期回馈;以及
针对在满足所述标准之前接收到的每个其它观察,将针对该观察的所述实际长期回馈设置为所述实际回馈加上针对在该观察之后接收到的观察的实际长期回馈的折扣总和。
35.一种由一个或多个计算机执行的用于训练深度神经网络的方法,所述深度神经网络用于控制通过执行从预定动作集合中选择的动作来与环境进行交互的智能体,所述深度神经网络包括具有多个策略参数的策略神经网络和具有多个基线参数的基线神经网络,并且所述系统包括一个或多个计算机,所述方法包括:
由一个或多个工作体中的第一工作体确定所述深度神经网络的当前参数值,其中,每个工作体与在所述深度神经网络的训练期间和所述环境的相应实例进行交互的相应行动体相关联,所述确定包括:
从能够由所述一个或多个工作体中的每个工作体访问的存储器接收所述基线神经网络的所述基线参数的当前值;以及
从所述存储器接收所述策略神经网络的所述策略参数的当前值;
直到与所述工作体相关联的所述行动体所交互的环境实例变换到满足特定标准的状态为止:
由所述第一工作体接收表征所述环境实例的状态的观察,并且响应于每个观察,根据所述第一工作体的相应动作选择策略来选择要由与所述第一工作体相关联的所述行动体响应于该观察而执行的动作,其中,所述选择针对每个观察包括:
使用所述策略神经网络并且根据所述策略神经网络的所述当前参数值来处理所述观察,以根据所述策略神经网络的所述当前参数值来生成针对预定动作集合中的每个动作的相应分值,以及
使用所述相应分值来选择要由所述行动体执行的当前动作;
针对在满足所述特定标准之前接收到的每个观察:
由所述第一工作体基于所述基线网络的所述当前参数值来生成表示从由该观察表征的状态开始由所述智能体接收到的估计回馈的基线分值;
由所述第一工作体识别由于所述行动体响应于该观察而执行所选择的动作所产生的实际回馈;
由所述第一工作体至少根据所述实际回馈和针对表征满足所述特定标准的状态的观察的基线分值来确定实际长期回馈;以及
由所述第一工作体执行强化学习技术的迭代以基于所述基线分值和所述实际长期回馈来针对所述基线和策略网络确定相应当前梯度;
由所述第一工作体基于所述相应当前梯度针对所述基线和策略网络更新相应累加梯度以确定相应更新的累加梯度;
由所述第一工作体确定用于更新所述深度神经网络的所述当前参数值的标准是否已经被满足;以及
当用于更新所述深度神经网络的所述当前参数值的所述标准已经被满足时:
由所述第一工作体更新所述深度神经网络的所述参数,其中,所述更新包括:
使用所述更新的累加梯度来确定更新的参数值;以及
将所述更新的参数值存储在能够由所述一个或多个工作体中的每一个工作体访问的存储器中。
36.根据权利要求35所述的方法,其中,所述一个或多个工作体中的每个工作体在相同计算机上执行。
37.根据权利要求35所述的方法,所述操作进一步包括:当更新所述深度神经网络的所述当前参数值的所述标准已经被满足时,清除所述更新的累加梯度。
38.根据权利要求35所述的方法,其中,确定更新所述深度神经网络的所述当前参数值的所述标准是否已经被满足包括:确定自之前更新所述深度神经网络的参数值起已经执行了指定数目的所述强化学习技术的迭代。
39.根据权利要求35所述的方法,其中,确定所述实际长期回馈包括:
针对在满足所述标准之前接收到的最新观察,基于针对该观察的所述实际回馈和针对表征满足所述特定标准的状态的观察的所述基线分值来设置所述实际长期回馈;以及
针对在满足所述标准之前接收到的每个其它观察,将针对该观察的所述实际长期回馈设置为所述实际回馈加上针对在该观察之后接收到的观察的实际长期回馈的折扣总和。
41.一种包括一个或多个计算机的系统,其中,所述一个或多个计算机被配置为实现策略神经网络,所述策略神经网络用于控制通过执行从预定动作集合中选择的动作来与环境进行交互的智能体,其中:
所述策略神经网络具有多个策略参数并且被配置为处理表征所述环境的状态的观察以针对所述预定动作集合中的每个动作生成相应分值;
所述策略神经网络已与基线神经网络一起训练,所述基线神经网络具有多个基线参数并且被配置为处理表征所述环境的状态的输入观察以生成基线分值,所述基线分值表示从所述输入观察表征的所述状态开始所述智能体接收的估计长期回馈;和
所述策略神经网络和所述基线神经网络已使用多个工作体训练,其中:
每个工作体被配置为独立于每个其他工作体操作;
每个工作体与在所述训练期间和所述环境的相应副本进行交互的相应行动体相关联;以及
在所述训练期间,每个工作体被配置为重复执行操作,所述操作包括:
从能够由所述工作体中的每个工作体访问的共享存储器接收所述基线神经网络的当前基线参数值以及所述策略神经网络的当前策略参数值;
直到与该工作体相关联的所述行动体所交互的环境副本变换到满足特定标准的状态为止:
接收表征所述环境副本的状态的观察,并且响应于每个观察,根据该工作体的相应动作选择策略来选择要由与该工作体相关联的所述行动体响应于所述观察而执行的动作,其中,所述选择针对每个观察包括:
基于该观察和所述策略神经网络的所述当前参数值来生成针对所述预定动作集合中的每个动作的相应分值,以及
使用所述相应分值来选择要由所述行动体执行的当前动作;
对在与该工作体相关联的所述行动体所交互的环境副本变换到满足所述特定标准的状态之前接收到的每个观察:
基于该观察和所述基线网络的所述当前参数值来生成表示从由该观察表征的状态开始由所述智能体接收到的估计回馈的对应基线分值;
确定与该观察相对应的实际长期回馈;以及
执行强化学习技术的迭代以基于所述基线分值和与该观察相对应的所述实际长期回馈来针对所述基线和策略网络确定相应当前梯度;
基于所述基线和策略网络的所述相应当前梯度来针对所述基线和策略网络更新相应累加梯度;
确定用于更新所述策略神经网络和所述基线神经网络的所述当前参数值的标准是否已经被满足;以及
在所述标准已被满足时:
更新所述策略神经网络和所述基线神经网络的所述当前参数值,其中,所述更新包括:
使用所更新的累加梯度来确定所述策略神经网络和所述基线神经网络的更新的所述参数值;以及
将所述策略神经网络和所述基线神经网络的所述更新的参数值存储在能够由所述多个工作体中的每个工作体访问的所述共享存储器中。
42.根据权利要求41所述的系统,其中,每个工作体独立于相同计算机上的每个其它工作体来执行。
43.根据权利要求41所述的系统,其中,每个工作体的相应动作选择策略不同于每个其它工作体的相应动作选择策略。
44.根据权利要求41所述的系统,其中,由每个工作体执行的所述操作进一步包括:
在更新所述策略神经网络和所述基线神经网络的所述当前参数值的所述标准已被满足时,清除所更新的累加梯度。
45.根据权利要求41所述的系统,其中,确定更新所述策略神经网络和所述基线神经网络的所述当前参数值的所述标准是否已被满足包括:确定自之前更新所述策略神经网络和所述基线神经网络的参数值起已经执行了指定数目的所述强化学习技术的迭代。
46.根据权利要求41所述的系统,其中,确定与所述观察相对应的所述实际长期回馈包括:
识别由于所述行动体响应于所述观察而执行所选择的动作所产生的实际回馈;和
至少根据所述观察的实际回馈和表征满足所述特定标准的状态的所述观察的基线分值,确定与所述观察相对应的所述实际长期回馈。
47.根据权利要求46所述的系统,其中,至少根据所述观察的实际回馈和表征满足所述特定标准的状态的所述观察的基线分值,确定与所述观察相对应的所述实际长期回馈包括:
针对在满足所述标准之前接收到的最新观察,基于针对该观察的所述实际回馈和针对表征满足所述特定标准的状态的观察的所述基线分值来设置所述实际长期回馈;以及
针对在满足所述标准之前接收到的每个其它观察,将针对该观察的所述实际长期回馈设置为所述实际回馈加上针对在该观察之后接收到的观察的实际长期回馈的折扣总和。
50.一个或多个存储指令的非暂时性计算机存储介质,所述指令在由一个或多个计算机执行时,使所述一个或多个计算机实现策略神经网络,所述策略神经网络用于控制通过执行从预定动作集合中选择的动作来与环境进行交互的智能体,其中:
所述策略神经网络具有多个策略参数并且被配置为处理表征所述环境的状态的观察以针对所述预定动作集合中的每个动作生成相应分值;
所述策略神经网络已与基线神经网络一起训练,所述基线神经网络具有多个基线参数并且被配置为处理表征所述环境的状态的输入观察以生成基线分值,所述基线分值表示从所述输入观察表征的所述状态开始所述智能体接收的估计长期回馈;和
所述策略神经网络和所述基线神经网络已使用多个工作体训练,其中:
每个工作体被配置为独立于每个其他工作体操作;
每个工作体与在所述训练期间和所述环境的相应副本进行交互的相应行动体相关联;以及
在所述训练期间,每个工作体被配置为重复执行操作,所述操作包括:
从能够由所述工作体中的每个工作体访问的共享存储器接收所述基线神经网络的当前基线参数值以及所述策略神经网络的当前策略参数值;
直到与该工作体相关联的所述行动体所交互的环境副本变换到满足特定标准的状态为止:
接收表征所述环境副本的状态的观察,并且响应于每个观察,根据该工作体的相应动作选择策略来选择要由与该工作体相关联的所述行动体响应于所述观察而执行的动作,其中,所述选择针对每个观察包括:
基于该观察和所述策略神经网络的所述当前参数值来生成针对所述预定动作集合中的每个动作的相应分值,以及
使用所述相应分值来选择要由所述行动体执行的当前动作;
对在与该工作体相关联的所述行动体所交互的环境副本变换到满足所述特定标准的状态之前接收到的每个观察:
基于该观察和所述基线网络的所述当前参数值来生成表示从由该观察表征的状态开始由所述智能体接收到的估计回馈的对应基线分值;
确定与该观察相对应的实际长期回馈;以及
执行强化学习技术的迭代以基于所述基线分值和与该观察相对应的所述实际长期回馈来针对所述基线和策略网络确定相应当前梯度;
基于所述基线和策略网络的所述相应当前梯度来针对所述基线和策略网络更新相应累加梯度;
确定用于更新所述策略神经网络和所述基线神经网络的所述当前参数值的标准是否已经被满足;以及
在所述标准已被满足时:
更新所述策略神经网络和所述基线神经网络的所述当前参数值,其中,所述更新包括:
使用所更新的累加梯度来确定所述策略神经网络和所述基线神经网络的更新的所述参数值;以及
将所述策略神经网络和所述基线神经网络的所述更新的参数值存储在能够由所述多个工作体中的每个工作体访问的所述共享存储器中。
51.根据权利要求50所述的非暂时性计算机存储介质,其中,每个工作体独立于相同计算机上的每个其它工作体来执行。
52.根据权利要求50所述的非暂时性计算机存储介质,其中,每个工作体的相应动作选择策略不同于每个其它工作体的相应动作选择策略。
53.根据权利要求50所述的非暂时性计算机存储介质,其中,由每个工作体执行的所述操作进一步包括:
在更新所述策略神经网络和所述基线神经网络的所述当前参数值的所述标准已被满足时,清除所更新的累加梯度。
54.根据权利要求50所述的非暂时性计算机存储介质,其中,确定更新所述策略神经网络和所述基线神经网络的所述当前参数值的所述标准是否已被满足包括:确定自之前更新所述策略神经网络和所述基线神经网络的参数值起已经执行了指定数目的所述强化学习技术的迭代。
55.一种由一个或多个数据处理装置执行的方法,用于控制通过执行从预定动作集合中选择的动作来与环境进行交互的智能体,所述方法包括:
使用具有多个策略参数的策略神经网络处理表征所述环境的状态的观察以针对所述预定动作集合中的每个动作生成相应分值;以及
使用针对所述预定动作集合中的每个动作的所述相应分值选择要由所述智能体执行的动作;
其中,所述策略神经网络已与基线神经网络一起训练,所述基线神经网络具有多个基线参数并且被配置为处理表征所述环境的状态的输入观察以生成基线分值,所述基线分值表示从所述输入观察表征的所述状态开始所述智能体接收的估计长期回馈;
其中,所述策略神经网络和所述基线神经网络已使用多个工作体训练,其中:
每个工作体被配置为独立于每个其他工作体操作;
每个工作体与在所述训练期间和所述环境的相应副本进行交互的相应行动体相关联;以及
在所述训练期间,每个工作体被配置为重复执行操作,所述操作包括:
从能够由所述工作体中的每个工作体访问的共享存储器接收所述基线神经网络的当前基线参数值以及所述策略神经网络的当前策略参数值;
直到与该工作体相关联的所述行动体所交互的环境副本变换到满足特定标准的状态为止:
接收表征所述环境副本的状态的观察,并且响应于每个观察,根据该工作体的相应动作选择策略来选择要由与该工作体相关联的所述行动体响应于所述观察而执行的动作,其中,所述选择针对每个观察包括:
基于该观察和所述策略神经网络的所述当前参数值来生成针对所述预定动作集合中的每个动作的相应分值,以及
使用所述相应分值来选择要由所述行动体执行的当前动作;
对在与该工作体相关联的所述行动体所交互的环境副本变换到满足所述特定标准的状态之前接收到的每个观察:
基于该观察和所述基线网络的所述当前参数值来生成表示从由该观察表征的状态开始由所述智能体接收到的估计回馈的对应基线分值;
确定与该观察相对应的实际长期回馈;以及
执行强化学习技术的迭代以基于所述基线分值和与该观察相对应的所述实际长期回馈来针对所述基线和策略网络确定相应当前梯度;
基于所述基线和策略网络的所述相应当前梯度来针对所述基线和策略网络更新相应累加梯度;
确定用于更新所述策略神经网络和所述基线神经网络的所述当前参数值的标准是否已经被满足;以及
在所述标准已被满足时:
更新所述策略神经网络和所述基线神经网络的所述当前参数值,其中,所述更新包括:
使用所更新的累加梯度来确定所述策略神经网络和所述基线神经网络的更新的所述参数值;以及
将所述策略神经网络和所述基线神经网络的所述更新的参数值存储在能够由所述多个工作体中的每个工作体访问的所述共享存储器中。
56.根据权利要求55所述的方法,其中,每个工作体独立于相同计算机上的每个其它工作体来执行。
57.根据权利要求55所述的方法,其中,每个工作体的相应动作选择策略不同于每个其它工作体的相应动作选择策略。
58.根据权利要求55所述的方法,其中,由每个工作体执行的所述操作进一步包括:
在更新所述策略神经网络和所述基线神经网络的所述当前参数值的所述标准已被满足时,清除所更新的累加梯度。
59.根据权利要求55所述的方法,其中,确定更新所述策略神经网络和所述基线神经网络的所述当前参数值的所述标准是否已被满足包括:确定自之前更新所述策略神经网络和所述基线神经网络的参数值起已经执行了指定数目的所述强化学习技术的迭代。
60.根据权利要求55所述的方法,其中,确定与所述观察相对应的所述实际长期回馈包括:
识别由于所述行动体响应于所述观察而执行所选择的动作所产生的实际回馈;和
至少根据所述观察的实际回馈和表征满足所述特定标准的状态的所述观察的基线分值,确定与所述观察相对应的所述实际长期回馈。
61.一种训练具有多个参数的深度神经网络的方法,所述深度神经网络用于选择要由智能体执行的动作,所述智能体通过执行从预定动作集合中选择的动作来与环境进行交互,所述方法包括:
使用多个工作体来生成用于训练所述深度神经网络的所述参数的训练数据,其中,每个工作体被配置为独立于每个其它工作体进行操作,其中,根据与每个其他工作体的探索策略不同的相应探索策略,每个工作体与和所述环境的相应副本进行交互的相应行动体相关联,并且其中,每个工作体进一步被配置为通过重复执行操作来生成训练数据,所述操作包括:
确定所述深度神经网络的当前参数值;
接收表征由与该工作体相关联的所述行动体所交互的环境副本的当前状态的当前观察;
根据该工作体的所述探索策略使用由所述深度神经网络根据所述深度神经网络的所述当前参数值生成的一个或多个输出来选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的当前动作;
在所述环境副本处于所述当前状态时,识别由于所述行动体执行所述当前动作所产生的实际回馈;
接收表征由与所述行动体所交互的环境副本的下一状态的下一观察,其中,所述环境副本响应于所述行动体执行所述当前动作而从所述当前状态变换到所述下一状态;以及
将所述当前动作、所述实际回馈和所述下一观察添加到由该工作体生成的所述训练数据中;
将强化学习技术应用于由所述多个工作体中的每个工作体生成的所述训练数据,以确定一个或多个当前梯度;和
使用所述当前梯度确定所述深度神经网络的更新的参数值。
62.根据权利要求61所述的方法,其中,与每个工作体相关联的所述探索策略是由不同的∈概率参数化的∈-贪婪探索策略,并且其中,对于每个工作体,根据该工作体的所述探索策略并使用由所述深度神经网络根据所述深度神经网络的所述当前参数值生成的一个或多个输出,选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的所述当前动作包括:
以概率∈从所述预定动作集合中随机选择所述当前动作,其中,∈是参数化所述工作体的探索策略的∈概率。
63.根据权利要求62所述的方法,其中,每个工作体执行操作进一步包括:
响应于确定更新与该工作体相关联的探索策略的所述∈概率的标准被满足,从所述∈概率的可能值上的概率分布中采样新的∈概率值。
64.根据权利要求61所述的方法,其中,与每个工作体相关联的所述探索策略由不同的温度参数来参数化,并且其中,对于每一个工作体,根据该工作体的所述探索策略使用由所述深度神经网络根据所述深度神经网络的所述当前参数值生成的一个或多个输出来选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的当前动作包括:
将由该工作体的所述温度参数来参数化的softmax非线性应用于由所述深度神经网络生成的动作分值集合,以确定所述动作集合的概率分布;和
根据所述预定动作集合的所述概率分布,从所述预定动作集合中采样所述当前动作。
65.根据权利要求61所述的方法,其中,将所述强化学习技术应用于由所述多个工作体中的每个工作体生成的所述训练数据,以确定一个或多个当前梯度包括针对每个工作体:
通过由该工作体执行的操作,将所述强化学习技术应用于由该工作体生成的训练数据,以生成一个或多个当前梯度。
66.根据权利要求65所述的方法,其中,使用所述当前梯度确定所述深度神经网络的更新的参数值包括对于每个工作体:
通过由该工作体执行的操作,使用由该工作体生成的所述当前梯度来更新由该工作体维护的累加梯度以确定更新的累加梯度;
通过由该工作体执行的操作,确定用于更新存储在所述工作体中的所有工作体能访问的共享存储器中的所述深度神经网络的参数值的标准是否已经被满足;以及
在用于更新存储在所述共享存储器中的深度神经网络的参数值的所述标准已经被满足时:
通过由该工作体执行的操作,使用所述更新的累加梯度和存储在所述共享存储器中的深度神经网络的所述参数值来确定所述深度神经网络的更新的参数值;
将所述深度神经网络的所述更新的参数值存储在所述共享存储器中。
67.根据权利要求61所述的方法,其中,每个工作体独立于相同计算机上的每个其它工作体来执行。
68.根据权利要求61所述的方法,其中,所述深度神经网络是Q网络,所述Q网络被配置为接收表征所述环境的输入状态的输入观察和输入动作,并且生成Q值,所述Q值是在所述环境处于所述输入状态时由于执行所述输入动作所产生的长期回馈的估计,并且其中,选择要所述行动体响应于所述当前观察而执行的所述当前动作包括:
对于所述预定动作集合中的每个动作,使用所述深度神经网络处理所述当前观察和该动作,以根据所述深度神经网络的所述当前参数值生成该动作的Q值;和
根据所述工作体的所述探索策略使用所述动作的所述Q值,从所述预定动作集合中选择动作。
69.一种系统,包括:
一个或多个计算机;和
通信耦合到所述一个或多个计算机的一个或多个存储设备,其中,所述一个或多个存储设备存储指令,所述指令在由所述一个或多个计算机执行时,使所述一个或多个计算机执行操作,以训练具有多个参数的深度神经网络,所述深度神经网络用于选择要由智能体执行的动作,所述智能体通过执行从预定动作集合中选择的动作来与环境进行交互,所述操作包括:
使用多个工作体来生成用于训练所述深度神经网络的所述参数的训练数据,其中,每个工作体被配置为独立于每个其它工作体进行操作,其中,每个工作体根据与每个其他工作体的探索策略不同的相应探索策略,与和所述环境的相应副本进行交互的相应行动体相关联,并且其中,每个工作体进一步被配置为通过重复执行操作来生成训练数据,所述操作包括:
确定所述深度神经网络的当前参数值;
接收表征由与该工作体相关联的所述行动体所交互的环境副本的当前状态的当前观察;
根据该工作体的所述探索策略使用由所述深度神经网络根据所述深度神经网络的所述当前参数值生成的一个或多个输出来选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的当前动作;
在所述环境副本处于所述当前状态时,识别由于所述行动体执行所述当前动作所产生的实际回馈;
接收表征由与所述行动体所交互的环境副本的下一状态的下一观察,其中,所述环境副本响应于所述行动体执行所述当前动作而从所述当前状态变换到所述下一状态;以及
将所述当前动作、所述实际回馈和所述下一观察添加到由该工作体生成的所述训练数据中;
将强化学习技术应用于由所述多个工作体中的每个工作体生成的所述训练数据,以确定一个或多个当前梯度;和
使用所述当前梯度确定所述深度神经网络的更新的参数值。
70.根据权利要求69所述的系统,其中,与每个工作体相关联的所述探索策略是由不同的∈概率参数化的∈-贪婪探索策略,并且其中,对于每个工作体,根据该工作体的所述探索策略并使用由所述深度神经网络根据所述深度神经网络的所述当前参数值生成的一个或多个输出,选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的所述当前动作包括:
以概率∈从所述预定动作集合中随机选择所述当前动作,其中,∈是参数化所述工作体的探索策略的∈概率。
71.根据权利要求70所述的系统,其中,每个工作体执行操作进一步包括:
响应于确定更新与该工作体相关联的探索策略的所述∈概率的标准被满足,从所述∈概率的可能值上的概率分布中采样新的∈概率值。
72.根据权利要求69所述的系统,其中,与每个工作体相关联的所述探索策略由不同的温度参数来参数化,并且其中,根据该工作体的所述探索策略使用由所述深度神经网络根据所述深度神经网络的所述当前参数值生成的一个或多个输出来选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的当前动作包括:
将由该工作体的所述温度参数来参数化的softmax非线性应用于由所述深度神经网络生成的动作分值集合,以确定所述动作集合的概率分布;和
根据所述预定动作集合的所述概率分布,从所述预定动作集合中采样所述当前动作。
73.根据权利要求69所述的系统,其中,将所述强化学习技术应用于由所述多个工作体中的每个工作体生成的所述训练数据,以确定一个或多个当前梯度包括针对每个工作体:
通过由该工作体执行的操作,将所述强化学习技术应用于由该工作体生成的训练数据,以生成一个或多个当前梯度。
74.根据权利要求73所述的系统,其中,使用所述当前梯度确定所述深度神经网络的更新的参数值包括对于每个工作体:
通过由该工作体执行的操作,使用由该工作体生成的所述当前梯度来更新由该工作体维护的累加梯度以确定更新的累加梯度;
通过由该工作体执行的操作,确定用于更新存储在所述工作体中的所有工作体能访问的共享存储器中的所述深度神经网络的参数值的标准是否已经被满足;以及
在用于更新存储在所述共享存储器中的深度神经网络的参数值的所述标准已经被满足时:
通过由该工作体执行的操作,使用所述更新的累加梯度和存储在所述共享存储器中的深度神经网络的所述参数值来确定所述深度神经网络的更新的参数值;
将所述深度神经网络的所述更新的参数值存储在所述共享存储器中。
75.根据权利要求69所述的系统,其中,每个工作体独立于相同计算机上的每个其它工作体来执行。
76.根据权利要求69所述的系统,其中,所述深度神经网络是Q网络,所述Q网络被配置为接收表征所述环境的输入状态的输入观察和输入动作,并且生成Q值,所述Q值是在所述环境处于所述输入状态时由于执行所述输入动作所产生的长期回馈的估计,并且其中,选择要所述行动体响应于所述当前观察而执行的所述当前动作包括:
对于所述预定动作集合中的每个动作,使用所述深度神经网络处理所述当前观察和该动作,以根据所述深度神经网络的所述当前参数值生成该动作的Q值;和
根据所述工作体的所述探索策略使用所述动作的所述Q值,从所述预定动作集合中选择动作。
77.一个或多个存储指令的非暂时性计算机存储介质,所述指令在由一个或多个计算机执行时,使所述一个或多个计算机执行一种训练具有多个参数的深度神经网络的方法,所述深度神经网络用于选择要由智能体执行的动作,所述智能体通过执行从预定动作集合中选择的动作来与环境进行交互,所述方法包括:
使用多个工作体来生成用于训练所述深度神经网络的所述参数的训练数据,其中,每个工作体被配置为独立于每个其它工作体进行操作,其中,每个工作体根据与每个其他工作体的探索策略不同的相应探索策略,与和所述环境的相应副本进行交互的相应行动体相关联,并且其中,每个工作体进一步被配置为通过重复执行操作来生成训练数据,所述操作包括:
确定所述深度神经网络的当前参数值;
接收表征由与该工作体相关联的所述行动体所交互的环境副本的当前状态的当前观察;
根据该工作体的所述探索策略使用由所述深度神经网络根据所述深度神经网络的所述当前参数值生成的一个或多个输出来选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的当前动作;
在所述环境副本处于所述当前状态时,识别由于所述行动体执行所述当前动作所产生的实际回馈;
接收表征由与所述行动体所交互的环境副本的下一状态的下一观察,其中,所述环境副本响应于所述行动体执行所述当前动作而从所述当前状态变换到所述下一状态;以及
将所述当前动作、所述实际回馈和所述下一观察添加到由该工作体生成的所述训练数据中;
将强化学习技术应用于由所述多个工作体中的每个工作体生成的所述训练数据,以确定一个或多个当前梯度;和
使用所述当前梯度确定所述深度神经网络的更新的参数值。
78.根据权利要求77所述的非暂时性计算机存储介质,其中,与每个工作体相关联的所述探索策略是由不同的∈概率参数化的∈-贪婪探索策略,并且其中,对于每个工作体,根据该工作体的所述探索策略并使用由所述深度神经网络根据所述深度神经网络的所述当前参数值生成的一个或多个输出,选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的所述当前动作包括:
以概率∈从所述预定动作集合中随机选择所述当前动作,其中,∈是参数化所述工作体的探索策略的∈概率。
79.根据权利要求78所述的非暂时性计算机存储介质,其中,每个工作体执行操作进一步包括:
响应于确定更新与该工作体相关联的探索策略的所述∈概率的标准被满足,从所述∈概率的可能值上的概率分布中采样新的∈概率值。
80.根据权利要求77所述的非暂时性计算机存储介质,其中,与每个工作体相关联的所述探索策略由不同的温度参数来参数化,并且其中,根据该工作体的所述探索策略使用由所述深度神经网络根据所述深度神经网络的所述当前参数值生成的一个或多个输出来选择要由与该工作体相关联的所述行动体响应于所述当前观察而执行的当前动作包括:
将由该工作体的所述温度参数来参数化的softmax非线性应用于由所述深度神经网络生成的动作分值集合,以确定所述动作集合的概率分布;和
根据所述预定动作集合的所述概率分布,从所述预定动作集合中采样所述当前动作。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562254701P | 2015-11-12 | 2015-11-12 | |
US62/254,701 | 2015-11-12 | ||
CN201680065534.XA CN108885717B (zh) | 2015-11-12 | 2016-11-11 | 异步深度强化学习 |
PCT/US2016/061698 WO2017083772A1 (en) | 2015-11-12 | 2016-11-11 | Asynchronous deep reinforcement learning |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680065534.XA Division CN108885717B (zh) | 2015-11-12 | 2016-11-11 | 异步深度强化学习 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114897156A true CN114897156A (zh) | 2022-08-12 |
Family
ID=57472034
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210422678.3A Pending CN114897156A (zh) | 2015-11-12 | 2016-11-11 | 异步深度强化学习 |
CN201680065534.XA Active CN108885717B (zh) | 2015-11-12 | 2016-11-11 | 异步深度强化学习 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680065534.XA Active CN108885717B (zh) | 2015-11-12 | 2016-11-11 | 异步深度强化学习 |
Country Status (8)
Country | Link |
---|---|
US (5) | US10936946B2 (zh) |
EP (2) | EP3360085B1 (zh) |
JP (4) | JP6621920B2 (zh) |
KR (1) | KR102156303B1 (zh) |
CN (2) | CN114897156A (zh) |
AU (1) | AU2016354558B2 (zh) |
CA (1) | CA3004885C (zh) |
WO (1) | WO2017083772A1 (zh) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3004885C (en) | 2015-11-12 | 2020-07-14 | Deepmind Technologies Limited | Asynchronous deep reinforcement learning |
US11188821B1 (en) * | 2016-09-15 | 2021-11-30 | X Development Llc | Control policies for collective robot learning |
US11062207B2 (en) * | 2016-11-04 | 2021-07-13 | Raytheon Technologies Corporation | Control systems using deep reinforcement learning |
US10594560B2 (en) * | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
CN110574046A (zh) * | 2017-05-19 | 2019-12-13 | 渊慧科技有限公司 | 各种行为的数据有效模仿 |
US20180351816A1 (en) * | 2017-06-02 | 2018-12-06 | Yan Li | Methods and apparatus for parameter tuning using a cloud service |
CN109204308B (zh) * | 2017-07-03 | 2020-04-07 | 上海汽车集团股份有限公司 | 车道保持算法的确定方法、车道保持的控制方法及系统 |
US11093827B2 (en) * | 2017-09-20 | 2021-08-17 | International Business Machines Corporation | Variable ISA vector-based compaction in distributed training of neural networks |
EP3467717A1 (en) * | 2017-10-04 | 2019-04-10 | Prowler.io Limited | Machine learning system |
US10935982B2 (en) * | 2017-10-04 | 2021-03-02 | Huawei Technologies Co., Ltd. | Method of selection of an action for an object using a neural network |
DE102017123205A1 (de) * | 2017-10-06 | 2019-04-11 | Valeo Schalter Und Sensoren Gmbh | Konfiguration einer Kraftfahrzeug-Fahrerassistenzvorrichtung mit einem neuronalen Netzwerk im laufenden Betrieb |
US11126929B2 (en) | 2017-11-09 | 2021-09-21 | Ciena Corporation | Reinforcement learning for autonomous telecommunications networks |
CN107832836B (zh) * | 2017-11-27 | 2020-04-21 | 清华大学 | 无模型深度增强学习探索方法及装置 |
US10715395B2 (en) | 2017-11-27 | 2020-07-14 | Massachusetts Institute Of Technology | Methods and apparatus for communication network |
CN108052004B (zh) * | 2017-12-06 | 2020-11-10 | 湖北工业大学 | 基于深度增强学习的工业机械臂自动控制方法 |
US11593646B2 (en) | 2018-02-05 | 2023-02-28 | Deepmind Technologies Limited | Distributed training using actor-critic reinforcement learning with off-policy correction factors |
US11086317B2 (en) * | 2018-03-30 | 2021-08-10 | Intel Corporation | Emotional adaptive driving policies for automated driving vehicles |
US11614978B2 (en) * | 2018-04-24 | 2023-03-28 | EMC IP Holding Company LLC | Deep reinforcement learning for workflow optimization using provenance-based simulation |
US11989933B2 (en) * | 2018-04-27 | 2024-05-21 | Carnegie Mellon University | Polynomial convolutional neural network with late fan-out |
DE102018207015B4 (de) * | 2018-05-07 | 2023-08-24 | Audi Ag | Verfahren zum Trainieren selbstlernender Steuerungsalgorithmen für autonom bewegbare Vorrichtungen und autonom bewegbare Vorrichtung |
EP3807823A1 (en) | 2018-06-12 | 2021-04-21 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
EP3864581A1 (en) * | 2018-10-12 | 2021-08-18 | DeepMind Technologies Limited | Controlling agents over long time scales using temporal value transport |
CN109344969B (zh) * | 2018-11-01 | 2022-04-08 | 石家庄创天电子科技有限公司 | 神经网络系统及其训练方法以及计算机可读介质 |
EP3867821A1 (en) * | 2018-11-16 | 2021-08-25 | DeepMind Technologies Limited | Controlling agents using amortized q learning |
KR101990326B1 (ko) | 2018-11-28 | 2019-06-18 | 한국인터넷진흥원 | 감가율 자동 조정 방식의 강화 학습 방법 |
EP3668050A1 (de) * | 2018-12-12 | 2020-06-17 | Siemens Aktiengesellschaft | Anpassen einer software-anwendung, die auf einem gateway ausgeführt wird |
US11416743B2 (en) | 2019-04-25 | 2022-08-16 | International Business Machines Corporation | Swarm fair deep reinforcement learning |
US11176368B2 (en) | 2019-06-13 | 2021-11-16 | International Business Machines Corporation | Visually focused first-person neural network interpretation |
JP7128152B2 (ja) | 2019-06-14 | 2022-08-30 | 株式会社東芝 | 学習方法及びプログラム |
KR20210012730A (ko) | 2019-07-26 | 2021-02-03 | 삼성전자주식회사 | 인공지능 모델의 학습 방법 및 전자 장치 |
SE1950924A1 (en) * | 2019-08-13 | 2021-02-14 | Kaaberg Johard Leonard | Improved machine learning for technical systems |
CN110737529B (zh) * | 2019-09-05 | 2022-02-08 | 北京理工大学 | 一种面向短时多变大数据作业集群调度自适应性配置方法 |
CN114467101A (zh) * | 2019-10-07 | 2022-05-10 | 瑞典爱立信有限公司 | 用于联邦学习的仲裁器 |
CN110809306B (zh) * | 2019-11-04 | 2021-03-16 | 电子科技大学 | 一种基于深度强化学习的终端接入选择方法 |
CN111031387B (zh) * | 2019-11-21 | 2020-12-04 | 南京大学 | 一种监控视频发送端视频编码流速控制的方法 |
CN111461500B (zh) * | 2020-03-12 | 2022-04-05 | 北京航空航天大学 | 一种基于动态电子围栏和强化学习的共享单车系统潮汐现象控制方法 |
SG11202102364YA (en) * | 2020-04-02 | 2021-04-29 | Alipay Hangzhou Inf Tech Co Ltd | Determining action selection policies of an execution device |
US11685605B2 (en) | 2020-05-14 | 2023-06-27 | Intelligrated Headquarters, Llc | Reinforcement learning based conveyoring control |
CN111935724B (zh) * | 2020-07-06 | 2022-05-03 | 天津大学 | 基于异步深度强化学习的无线传感器网络拓扑优化方法 |
TWI741760B (zh) * | 2020-08-27 | 2021-10-01 | 財團法人工業技術研究院 | 學習式生產資源配置方法、學習式生產資源配置系統與使用者介面 |
CN112216124B (zh) * | 2020-09-17 | 2021-07-27 | 浙江工业大学 | 一种基于深度强化学习的交通信号控制方法 |
US20220114439A1 (en) * | 2020-10-08 | 2022-04-14 | Here Global B.V. | Method, apparatus, and system for generating asynchronous learning rules and/architectures |
US20220183748A1 (en) * | 2020-12-16 | 2022-06-16 | Biosense Webster (Israel) Ltd. | Accurate tissue proximity |
US20220215265A1 (en) | 2021-01-04 | 2022-07-07 | Tencent America LLC | Method and apparatus for end-to-end task-oriented latent compression with deep reinforcement learning |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981205A (ja) | 1995-09-11 | 1997-03-28 | Fujitsu Ltd | 学習システム |
JP5152780B2 (ja) * | 2007-09-06 | 2013-02-27 | 国立大学法人 筑波大学 | 関数近似装置、強化学習システム、関数近似システムおよび関数近似プログラム |
WO2010045272A1 (en) * | 2008-10-14 | 2010-04-22 | Honda Motor Co., Ltd. | Smoothed sarsa: reinforcement learning for robot delivery tasks |
WO2013049633A1 (en) * | 2011-09-28 | 2013-04-04 | Causata Inc. | Online asynchronous reinforcement learning from concurrent customer histories |
US8788439B2 (en) | 2012-12-21 | 2014-07-22 | InsideSales.com, Inc. | Instance weighted learning machine learning model |
JP5785589B2 (ja) * | 2013-06-27 | 2015-09-30 | 日本電信電話株式会社 | バースト光信号送信装置及びバースト光信号送信装置の制御方法 |
US9679258B2 (en) * | 2013-10-08 | 2017-06-13 | Google Inc. | Methods and apparatus for reinforcement learning |
KR20150053179A (ko) * | 2013-11-07 | 2015-05-15 | 경희대학교 산학협력단 | 인지 무선 네트워크에서 큐-학습 기법을 이용한 부사용자의 데이터 전송 속도 향상 방법 |
CN113255885A (zh) * | 2014-04-11 | 2021-08-13 | 谷歌有限责任公司 | 使卷积神经网络的训练并行化 |
CN104932267B (zh) * | 2015-06-04 | 2017-10-03 | 曲阜师范大学 | 一种采用资格迹的神经网络学习控制方法 |
CA3004885C (en) | 2015-11-12 | 2020-07-14 | Deepmind Technologies Limited | Asynchronous deep reinforcement learning |
JP6926203B2 (ja) * | 2016-11-04 | 2021-08-25 | ディープマインド テクノロジーズ リミテッド | 補助タスクを伴う強化学習 |
-
2016
- 2016-11-11 CA CA3004885A patent/CA3004885C/en active Active
- 2016-11-11 EP EP16805618.2A patent/EP3360085B1/en active Active
- 2016-11-11 WO PCT/US2016/061698 patent/WO2017083772A1/en active Application Filing
- 2016-11-11 CN CN202210422678.3A patent/CN114897156A/zh active Pending
- 2016-11-11 AU AU2016354558A patent/AU2016354558B2/en active Active
- 2016-11-11 EP EP21167274.6A patent/EP3872715A1/en active Pending
- 2016-11-11 US US15/349,950 patent/US10936946B2/en active Active
- 2016-11-11 KR KR1020187013091A patent/KR102156303B1/ko active IP Right Grant
- 2016-11-11 CN CN201680065534.XA patent/CN108885717B/zh active Active
- 2016-11-11 JP JP2018523817A patent/JP6621920B2/ja active Active
-
2018
- 2018-05-11 US US15/977,923 patent/US10346741B2/en active Active
-
2019
- 2019-05-03 US US16/403,388 patent/US11334792B2/en active Active
- 2019-11-19 JP JP2019208760A patent/JP6911089B2/ja active Active
-
2021
- 2021-02-08 US US17/170,316 patent/US11783182B2/en active Active
- 2021-07-06 JP JP2021112034A patent/JP7247274B2/ja active Active
-
2022
- 2022-04-29 US US17/733,594 patent/US20220261647A1/en active Pending
-
2023
- 2023-03-14 JP JP2023039773A patent/JP2023063445A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3872715A1 (en) | 2021-09-01 |
JP2021170361A (ja) | 2021-10-28 |
US20220261647A1 (en) | 2022-08-18 |
AU2016354558B2 (en) | 2019-11-28 |
KR102156303B1 (ko) | 2020-09-15 |
WO2017083772A1 (en) | 2017-05-18 |
JP2020042837A (ja) | 2020-03-19 |
CN108885717A (zh) | 2018-11-23 |
AU2016354558A1 (en) | 2018-05-10 |
US10346741B2 (en) | 2019-07-09 |
US10936946B2 (en) | 2021-03-02 |
US11783182B2 (en) | 2023-10-10 |
EP3360085A1 (en) | 2018-08-15 |
JP2018537767A (ja) | 2018-12-20 |
CN108885717B (zh) | 2022-05-10 |
CA3004885C (en) | 2020-07-14 |
JP7247274B2 (ja) | 2023-03-28 |
US20180260708A1 (en) | 2018-09-13 |
US20190258929A1 (en) | 2019-08-22 |
JP2023063445A (ja) | 2023-05-09 |
JP6621920B2 (ja) | 2019-12-18 |
US11334792B2 (en) | 2022-05-17 |
US20210166127A1 (en) | 2021-06-03 |
CA3004885A1 (en) | 2017-05-18 |
EP3360085B1 (en) | 2021-05-19 |
JP6911089B2 (ja) | 2021-07-28 |
US20170140270A1 (en) | 2017-05-18 |
KR20180090989A (ko) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108885717B (zh) | 异步深度强化学习 | |
CN107851216B (zh) | 一种用于选择待由与环境进行交互的强化学习代理执行的动作的方法 | |
US20200410351A1 (en) | Continuous control with deep reinforcement learning | |
CN110114784B (zh) | 递归环境预测器及其方法 | |
WO2018142212A1 (en) | Data-efficient reinforcement learning for continuous control tasks |
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 |