CN110651279B - 利用学徒来训练动作选择神经网络 - Google Patents
利用学徒来训练动作选择神经网络 Download PDFInfo
- Publication number
- CN110651279B CN110651279B CN201880028844.3A CN201880028844A CN110651279B CN 110651279 B CN110651279 B CN 110651279B CN 201880028844 A CN201880028844 A CN 201880028844A CN 110651279 B CN110651279 B CN 110651279B
- Authority
- CN
- China
- Prior art keywords
- data
- neural network
- reviewer
- participant
- environment
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 153
- 230000009471 action Effects 0.000 title claims abstract description 133
- 238000012549 training Methods 0.000 title claims description 63
- 230000007704 transition Effects 0.000 claims abstract description 116
- 239000003795 chemical substances by application Substances 0.000 claims abstract description 72
- 230000002787 reinforcement Effects 0.000 claims abstract description 58
- 239000000872 buffer Substances 0.000 claims abstract description 52
- 230000006870 function Effects 0.000 claims abstract description 19
- 230000007613 environmental effect Effects 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 59
- 238000005070 sampling Methods 0.000 claims description 22
- 230000033001 locomotion Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004088 simulation Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 11
- 230000000717 retained effect Effects 0.000 claims 3
- 238000013507 mapping Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 24
- 238000012545 processing Methods 0.000 description 14
- 230000003993 interaction Effects 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000011217 control strategy Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000764238 Isis Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 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
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/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/092—Reinforcement 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)
- Manipulator (AREA)
Abstract
一种离策略强化学习参与者‑评论者(actor‑critic)神经网络系统,被配置为从连续动作空间中选择与环境交互的代理将执行的动作以执行任务。观察定义了环境状态数据和奖励数据。系统具有参与者神经网络,学习将状态数据映射到动作数据的策略函数。评论者神经网络学习动作值(Q)函数。重放缓冲器存储状态数据,动作数据,奖励数据和新状态数据的元组。重放缓冲器还包括演示转变数据,包括来自环境中的任务的演示的元组的集合。神经网络系统被配置为使用来自重放缓冲器的存储元组来训练参与者神经网络和评论者神经网络离策略,所述重放缓冲器包括来自系统的操作和来自演示转变数据的元组。
Description
相关申请的交叉引用
本申请是非临时申请,并且要求2017年6月28日提交的美国临时专利申请第62/526,290号的优先权,其全部内容通过引用合并于此。
背景技术
本说明书涉及强化学习。
在强化学习系统中,代理通过执行由强化学习系统响应于接收到表征环境当前状态的观察而选择的动作来与环境交互。
一些强化学习系统根据神经网络的输出来选择将由代理响应于接收到给定观察而执行的动作。
神经网络是机器学习模型,其使用一层或多层非线性单元来预测对于接收的输入的输出。一些神经网络是深度神经网络,其除了输出层外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层(即下一隐藏层或输出层)的输入。网络的每一层根据相应的参数集合的当前值从接收的输入生成输出。
发明内容
本说明书通常描述一种强化学习(RL)系统,其选择与环境交互的强化学习代理将执行的动作。为了使代理与环境交互,系统接收表征环境当前状态的数据,并响应于接收的数据选择将由代理将执行的动作。在本说明书中,将表征环境状态的数据称为观察。
在一些实现方式中,环境是模拟环境,代理被实现为与模拟环境交互的一个或多个计算机程序。例如,模拟环境可以是视频游戏,并且代理可以是玩视频游戏的模拟用户。作为另一示例,模拟环境可以是运动模拟环境,例如,驾驶模拟或飞行模拟,并且代理是在运动模拟中导航的模拟车辆。在这些实现方式中,动作可以是控制输入以控制模拟用户或模拟车辆。
在其他一些实现方式中,环境是真实环境,并且代理是与真实环境交互的机械代理。例如,代理可以是与环境交互以完成特定任务的机器人。作为另一示例,代理可以是在环境中导航的自主或半自主车辆。在这些实现方式中,动作可以是控制输入以控制机器人或自主车辆。
在一个方面,训练强化学习系统以选择将由与环境交互的代理执行的动作以实现任务的方法包括从环境中的任务的演示来捕获训练数据。还提供了相应的系统。
更详细地,描述了一种离策略(off-policy)强化学习参与者-评论者(actor-critic)神经网络系统,用于选择将由与环境交互的代理执行的动作以执行任务。所述系统包括:第一输入,用于接收观察,所述观察包括表征环境状态的状态数据,以及表示来自在环境中利用动作进行操作而获得的奖励的奖励数据。系统还可以包括至少一个参与者神经网络,用于耦合以接收状态数据并被配置为定义将状态数据映射到定义动作的动作数据的策略函数。至少一个参与者神经网络可以具有输出以提供动作数据用于代理执行动作。环境可以响应于动作而转变到新状态。系统还可以包括至少一个评论者神经网络,用于耦合以接收动作数据、状态数据以及从奖励数据得到的回报数据。评论者神经网络可以被配置为定义用于误差信号的值函数,更具体地,用于生成误差信号的值函数。所述系统还可以包括重放缓冲器,用于存储强化学习转变,所述强化学习转变包括来自系统的操作的操作转变数据。所述操作转变数据可以包括状态数据、动作数据、奖励数据和表示新状态的新状态数据的元组。所述系统还可以包括第二输入,用于接收定义演示转变数据的训练数据,所述演示转变数据包括来自环境中任务的演示的元组的集合。存储在重放缓冲器中的强化学习转变还可以包括演示转变数据。神经网络系统可以被配置为使用误差信号并使用来自重放缓冲器的存储元组来训练至少一个参与者神经网络和至少一个评论者神经网络离策略,所述重放缓冲器包括来自操作转变数据和演示转变数据的元组。
所述奖励可以是稀疏奖励,所述稀疏奖励具有取决于环境状态的多个离散值。仅环境状态的少数子集可以提供奖励。
强化学习系统可以包括采样选择系统或采样模块,用于根据采样概率对强化学习转变进行采样。在实现方式中,采样概率优先对演示转变数据元组进行采样。
回报数据可以包括奖励数据和来自评论者神经网络的值的组合,所述评论者神经网络的值是从使用参与者神经网络选择的动作的(n-1)步向前展示(rollout)而获得的。系统可以被配置为采用至少两个不同的n值来训练网络。更具体地,系统可以被配置为使用包括1步和n步回报的混合的回报数据来训练评论者神经网络。
系统可以包括学习和目标参与者神经网络以及学习和目标评论者神经网络。神经网络系统可以被配置为使用误差信号更新学习评论者神经网络离策略。可以从目标评论者神经网络、目标参与者神经网络以及操作转变数据和演示转变数据的存储的元组得到误差信号。系统可以被配置为使用确定性策略梯度来更新学习参与者神经网络,所述确定性策略梯度包括使用操作转变数据和演示转变数据两者的存储的元组评估的、学习评论者神经网络的输出的梯度与学习参与者神经网络的输出的梯度的乘积。系统可以被配置为按照一定间隔使用学习参与者神经网络更新目标参与者神经网络的权重,并使用学习评论者神经网络来更新目标评论者神经网络的权重。按照一定间隔更新可以包括缓慢地跟踪学习参与者和评论者神经网络的权重的、目标参与者和评论者神经网络的权重。
在一些实现方式中,训练数据可以包括来自机械系统的操纵的运动学教导数据。运动学教导数据可以从使用代理或使用代理和/或环境的版本(version)或副本或模拟与环境进行物理交互的人而得到。在一些实现方式中,系统包括安全控制器,用于对动作数据施加安全性或其他约束。
还描述了一种训练强化学习系统以选择将由与环境交互的代理执行的动作以执行任务的方法。所述方法可以包括:从环境中的任务的演示中捕获训练数据。所述训练数据可以定义用于一系列演示转变的演示转变数据。每个转变可以包括表征环境状态的状态数据、定义执行的动作的动作数据,表示来自动作的奖励的奖励数据、以及表示环境响应于动作而转变到的新状态的新状态数据。将演示转变数据存储在重放缓冲器中,典型地是有限大小的高速缓存。所述方法还包括使用参与者-评论者系统(在一些实现方式中,神经网络系统)对环境进行操作,以生成用于强化学习转变的操作转变数据。操作转变数据可以包括状态数据、动作数据、奖励数据和新状态数据的操作示例。将操作转变数据也存储在重放缓冲器中。所述方法从重放缓冲器中采样以训练参与者-评论者系统。
在一些实现方式中,所述方法对重放缓冲器中的演示转变数据和操作转变数据两者进行采样;采样演示转变数据可以优先于采样操作转变数据。在学习处理开始时,演示数据可以比之后更优先。
可选地,重放缓冲器还可以存储参与者-评论者误差信号(诸如时间差分(TD)误差信号),其中,操作转变允许通过TD误差或“意外”进一步优先化重放。当新的转变在系统操作过程中变为可用时,可以从重放缓冲器中丢弃转变,例如先丢弃最早的转变。然而,在实现方式中,在整个训练中,部分或全部演示转变都保留在重放缓冲器中。任务演示可以在系统的RL训练之前执行。提供大重放缓冲器有助于使用不相关采样转变进行离策略训练。
该方法特别适合于奖励是稀疏奖励的应用。与例如在状态空间上连续变化的奖励相比,这种稀疏奖励通常在采样的经历(转变)中仅不频繁地出现。因此,稀疏奖励可以具有取决于环境状态的离散值集合,例如仅两个离散值。在极限中,可以奖励仅单个状态或状态组,例如那些达到目标的状态,诸如机械控制任务的目标或自由环境中的某些奖励点。然而,通过将演示转变存储和保留在重放缓冲器中,可以提高通过训练对这些状态进行采样的频率。
可以使用估计的n步回报来训练参与者-评论者系统,尤其是参与者-评论者系统的评论者神经网络。因此,可以从奖励数据和打折奖励的组合得到回报数据,该打折奖励来自从环境的当前状态向前的n-1个转变的预测的演替(succession)或展示。该方法可以改变n,例如,根据选择演示转变还是操作转变而在n=1和n>1之间选择。通过允许稀疏奖励影响更多的状态-动作对,特别是n个先前的状态-动作对的值,这使得该方法可以在演示轨迹(demonstration trajectories)比操作转变更长时进行调整。
在实现方式中,该方法可以对每个环境转变(状态-动作-新状态更新)执行参与者-评论者系统的多个训练步骤,即多个权重更新步骤。这有助于促进从系统的操作中收集到的数据的有效利用,这往往比处理时间要昂贵。在实现方式中,该方法可以将环境中的操作和训练分开到不同的时间间隔或片段,以促进系统的实时操作。
在一些实现方式中,参与者-评论者系统包括至少一个参与者神经网络和至少一个评论者神经网络。尽管在实践中被描述为单独的网络,但是它们可以在公共网络部分上包括单独的头(head),共享一些参数。在该技术的实现方式中,这两个网络都使用基于任务演示的监督学习进行了部分训练。
从广义上讲,评论者神经网络接收状态、动作和奖励/回报数据,并为误差信号(尤其是TD误差信号)定义值函数,用于训练参与者和评论者神经网络。参与者神经网络接收状态数据,并具有定义连续动作空间中一个或多个动作的动作数据输出。参与者-评论者系统可以以异步、多线程的方式实现,包括每个具有单独的线程的工作人员代理的集合、环境和经验的副本以及用于更新全局网络的各个网络参数。
更详细地,一些实现方式使用一对参与者神经网络和一对评论者神经网络。一对中的一个网络,即学习网络,实现学习算法;另一个是目标网络,为学习算法生成目标。通过按照一定间隔复制学习网络来生成目标网络;在实践中,不是精确复制学习网络的权重,而是可以将学习网络的权重的小部分(fiction)按照混合因子定义的比例混合到目标网络中。这有助于稳定学习。
在实现方式中,误差信号从目标参与者和评论者网络的回报/奖励值和输出中得到,并且可以被用于更新学习评论者网络的权重。误差信号可以用于基于从重放缓冲器获取的采样或小批量(minibatch),也就是说,使用操作转变数据和演示转变数据,来确定用于更新权重的损失。
可以使用确定性策略梯度来更新学习参与者网络,因为行为策略基于状态是确定性的,所以仅对状态空间而不是对状态空间和动作空间两者求积分(取平均)。该策略梯度定义了将状态数据映射到动作数据的策略功能的性能。策略梯度可以从(学习)评论者神经网络的输出相对于动作的梯度与(学习)参与者神经网络的输出相对于其权重的梯度的乘积近似得出。可以再次从重放缓冲器中获取的采样或小批量估计这些梯度。
演示任务的系统的输入数据可以是任何方便的形式,例如,一个或多个接合处(joints),致动器或其他运动部件的一维、二维或三维运动和/或力数据。这样的数据可以例如作为笛卡尔或极坐标和/或接合角(joint angle)等提供。可选地,可以采用批量标准化。例如,在一些应用中,训练数据包括来自诸如机器人的机械系统的操纵的运动学教导数据。附加地或替代地,可以操纵模拟,例如模拟机器人。原则上,任何人工或机械输入都可以用来提供演示数据。可选地,用于控制将由机器人或其他机械设备执行的动作的动作数据输出可以设置有接口模块,以对动作数据施加安全性或其他约束。
在其他应用中,可以从鼠标、轨迹球或其他定点设备和/或模拟中得到输入数据,并且环境可以是虚拟环境或模拟。例如,可以在迷宫或开放虚拟环境中控制代理,以使代理获得奖励,诸如识别出口或收集物体。如果利用处理来识别运动/动作,则可以从视频得到潜在输入数据。
在另一方面,离策略、强化学习、参与者-评论者神经网络系统选择将由与环境交互的代理执行的动作以执行任务,试图达到指定结果。
系统可以包括第一输入,用于接收观察,该观察包括表征系统在其中操作的环境的状态的状态数据,以及表示环境中用动作进行操作而获得的奖励的奖励数据。至少一个参与者神经网络可以接收状态数据并定义将状态数据映射到动作数据的策略函数。输出可以提供用于代理执行动作以将环境转变为新状态的动作数据。至少一个评论者神经网络可以接收动作数据、状态数据以及从奖励数据得到的回报数据,并定义用于误差信号的值函数。至少一个参与者和评论者神经网络可以共享一些参数(权重)。重放缓冲器存储包括来自系统的操作的操作转变数据的强化学习转变。操作转变数据可以包括包含状态数据、动作数据、奖励数据和表示新状态的新状态数据的元组(即数据组)。第二输入(可以是与第一输入相同的输入)接收训练数据,该训练数据定义了用于演示转变的演示转变数据。演示转变数据可以包括来自环境中的任务(例如,控制任务)的演示的元组集合。因此,存储在重放缓冲器中的强化学习转变包括演示转变数据。神经网络系统可以被配置为训练至少一个参与者神经网络和至少一个评论者神经网络离策略。离策略训练可以使用误差信号和来自重放缓冲器的存储元组,重放缓冲器包括来自操作转变数据和演示转变数据的元组。
本说明书中描述的主题可以在特定实施例中实现,以实现以下优点中的一个或多个。
该系统的实现方式有利于强化学习系统的改进训练,特别是在奖励是稀疏的时促进训练。由于方便的奖励通常是二进制的,例如定义为任务成功/失败,并且定义有用的连续奖励可能并不简单,因此这表示机器人技术和其他领域中一类重要的实际问题。该系统的实现方式使用演示来促进以特定方式识别具有稀疏奖励的一个或多个目标,从而可以使用确定性策略梯度。这进而有助于在高维连续动作空间中实现系统。许多控制任务,例如操纵和腿部运动,都需要连续控制。在该系统的实现方式中,仅需20分钟到30分钟的人工输入即可获得良好的结果。
在一些实现方式中,强化学习系统促进了演示数据的有效使用,进而使得能够实质上更快更有效的训练,因此与可替代方法相比,实质上降低了处理功率,并且在实现中减少了存储器需求。在一些实现方式中,该系统使机器人或其他机械代理能够学习执行包括一定程度的变化或不可预测性的任务。例如,仅通过指定任务的目标,系统就能够以其他技术认为困难的方式进行适应,从而可以在减少计算需求的同时实现更快更好的学习。
所描述的方法和系统的应用包括强化学习任务,其中代理是与环境交互以完成任务的机器人代理,或者是在环境中导航的自主或半自主的陆地、空中或水上交通工具。一般而言,代理可以是机械或电子代理,并且动作可以包括控制输入以控制机械或电子代理。观察可以从传感器(例如与代理相关的状态、力或图像传感器)得到,和/或它们可以从来自代理的电或机械信号中得到。
在一些其他应用中,代理可以在包括设备项目的环境中控制动作,例如在数据中心或电网电力或供水系统中,或在制造工厂中。然后,观察可以包括对设备的电力或水的使用的观察,或者对发电或分配控制的观察,或者对资源的使用或废物产生的观察。代理可以控制环境中的动作以提高效率(例如通过减少资源使用),和/或减少环境中操作的环境影响(例如通过减少浪费)。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书,附图和权利要求书,本主题的其他特征,方面和优点将变得显而易见。
附图说明
图1示出示例强化学习系统。
图2示出用于训练图1的强化学习系统选择将由与环境交互的代理执行的动作的程序。
图3a和3b示出用于在图1的强化学习系统的重放缓冲器中存储演示和学习交互数据的程序。
图4示出图2的训练程序的细节。
在各个附图中,相同的附图标记和标号表示相同的元件。
具体实施方式
本说明书通常描述了一种强化学习系统,被实现为在一个或多个位置的一个或多个计算机上的计算机程序,其通过使用神经网络来选择将由与环境交互的强化学习代理执行的动作。本说明书还描述了这样的系统如何调整神经网络的参数。
系统具有的优点是:代理(诸如机器人、自主或半自主车辆)可以基于例如由人的演示来学习执行任务。然而,与机器人仅学习脚本轨迹的系统不同,该系统可以基于任务的期望目标来学习,这允许系统响应中更大的灵活性。例如,考虑将线(wire)插入连接器的任务:预定义或脚本化的动作发现难以处理线的形状和刚度的变化,而基于目标的系统则可能更容易适应。
强化学习系统可以提供这种灵活性。目标可以通过奖励来定义。在前述示例中,例如,基于线与连接器(connector)的距离,可以平滑地塑造成随着目标接近逐渐增加奖励。然而,这种奖励塑造在实践中是困难的,并且可能导致奇怪的行为。使用稀疏奖励函数(诸如+1用于正确完成任务,否则使用0)可以解决此问题,但是可能会使系统难以学习,因为在代理进行的控制空间的随机探索(即动作)过程中很少会遇到奖励。将强化学习应用于实际系统的另一个问题是:在学习过程中可能需要成千上万的动作来探索动作空间并学习获得奖励的动作控制策略。这会导致机械磨损,并且缓慢且可能不切实际。在强化学习系统的训练过程中保持安全也是一个考虑因素。在模拟环境中学习,然后将所学知识转移到现实世界中,可以提供部分解决方案,但是需要附加方法。特别希望提供一种在连续动作空间中操作的技术,在该连续动作空间中,一个或多个动作是由连续变量而不是离散变量控制的。例如,当控制机器人时,希望能够控制与接合处相关联的连续变量,诸如接合处速度或力/加速度,而不是简单地在多个离散状态(诸如开/关)之间控制接合处。
因此,所描述的强化学习系统的一些实现方式解决了使用演示有效地训练连续控制强化学习系统的问题。这样的快速训练可以例如减少机械代理的机械磨损。在代理是电子的(例如用于制造的控制系统或其他工厂或设施)或机械的情况下,这种训练可以帮助降低代理在探索状态空间过程中选择实际上不希望的配置的风险。强化学习系统的一些示例实现还解决了使用稀疏奖励进行训练的问题以及维护安全性的问题。
广义上讲,为了与其环境交互,代理接收表征环境当前状态的数据,并响应于接收的数据执行来自连续动作空间的动作。例如,代理可以是与环境交互以完成特定任务的机器人,也可以是在环境中导航的自主或半自主车辆。
在本说明书中,将表征环境的状态的数据称为观察。因此,观察可以包括例如图像、对象位置数据和传感器数据中的一个或多个,以在代理与环境交互时捕获观察。例如,在机器人的情况下,观察可以包括以下一个或多个:接合处位置,接合处速度,接合处力,扭矩或加速度(例如重力补偿的扭矩反馈),以及机器人所持物品的整体或相对姿态。在另一机械代理的情况下,观察类似地可以包括以下一个或多个:位置、线速度或角速度、力、扭矩或加速度以及代理的一个或多个部分的整体或相对姿态。可以在1、2或3维中定义观察,并且可以是绝对和/或相对观察。观察还可以包括例如感测的电子信号(诸如电动机电流或温度信号)和/或图像或视频数据(例如来自相机或LIDAR传感器)。在电子代理的情况下,观察可以包括来自监视工厂或服务设施一部分(诸如电流、电压、功率、温度)的一个或多个传感器和其他传感器的数据,和/或表示设备的电子和/或机械项目功能的电子信号。
来自连续动作空间的动作数据可以包括例如用于机器人的一个或多个接合处或另一机械代理的部分的位置、速度或力/转矩/加速度数据。动作数据可以附加地或替代地包括电子控制数据,诸如电机控制数据,或更一般地,用于控制环境中的一个或多个电子设备的数据,该电子设备的控制对观察的环境状态有影响。
在一些实现方式中,环境是模拟环境,并且代理被实现为与模拟环境交互的一个或多个计算机。例如,模拟环境可以是机器人或车辆的模拟,并且可以在该模拟上训练强化学习系统。在模拟环境的情况下,观察可以包括一个或多个先前描述的观察或观察类型的模拟版本,并且动作可以包括一个或多个先前描述的动作或动作类型的模拟版本。
图1示出示例强化学习(RL)系统100。强化学习系统100是被实现为一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,在其中了实现下面描述的系统,组件和技术。
强化学习系统100选择将由与环境104交互作用的强化学习代理102a执行的动作。也就是说,在多个内部时间步骤t中的每一个,强化学习系统100接收表征环境104的各个状态s的观察。响应于观察,强化学习系统100从连续动作空间选择响应于观察将执行的动作a,然后指示或以其他方式使代理102a执行选择的动作。在代理102a执行选择的动作之后,环境104转变到新状态s′,并且系统100接收表征新状态s′的另一观察以及标量奖励r=R(s,a)。奖励可以是由于由代理102a执行任务被完成而产生的数值。
强化学习系统100包括重放缓冲器150,其是将强化学习转变作为操作转变数据来存储的存储器,该强化学习数据被生成作为在RL系统的操作过程中与环境104交互的代理102a的后续结果(consequence)。操作转变数据可以包括经验元组,每个经验元组包括状态数据、动作数据、新状态数据和奖励数据,例如(s,a,s′,r)。存储的经验元组用于训练强化学习系统。
强化学习系统100还被配置为接收将由与环境104交互的演示者102b执行的动作产生的数据。这些动作通常包括由强化学习系统100学习的任务的执行的一个或多个演示。
演示者可以是例如人类演示者或自主或智能代理,诸如另一受过训练的机器学习系统。演示者102b以与代理102a类似的方式与环境交互,也就是说,执行动作将环境从一个状态转变为具有相关联的奖励数据(在任务完成之前可以为零)的另一状态。
因此,与环境104交互的演示者102b生成包括演示转变数据的强化学习转变,其可以类似地包括状态数据、动作数据、新状态数据和奖励数据的演示经验元组,例如(s,a,s′,r)。这些同样存储在重放缓冲器150中,用于训练强化学习系统。存储演示经验元组有助于保存可能包括稀疏奖励的转变,从而有助于在训练过程中传播稀疏奖励。
当重放缓冲器已满时,最早的操作转变数据经验元组可以被丢弃。然而,在一些实现方式中,一些或全部的演示经验元组在RL系统的整个训练中都被保存在重放缓冲器中,优先于演示转变数据而丢弃(例如覆盖)操作转变数据。可以在开始训练RL系统之前执行一个或多个演示。
强化学习系统100使用参与者(actor)神经网络110选择代理102a的动作。参与者神经网络是这样的神经网络:被配置为接收包括代表状态s的状态数据的观察,并且根据由参与者神经网络实现的策略函数定义的控制策略将状态数据(确定性地)映射到下一动作。参与者神经网络110的输出可以是一个或多个连续值,表示将执行的一个或多个相应动作。例如,动作的幅度可以由连续值定义。这种连续值的一个示例是施加到机器人接合处或车辆部件的位置、速度或加速度/扭矩。通过调整参与者神经网络110的参数值以实现执行任务的控制策略,训练强化学习系统100以执行任务。在训练过程中,将噪声添加到参与者神经网络110的输出中,以促进动作探索。
强化学习系统100在区域190内包括其他组件,这些组件在训练RL系统时使用,但是一旦训练了系统便不再需要。这些其他组件包括评论者(critic)神经网络120。评论者神经网络是这样的神经网络:被配置为接收包括表示状态s的状态数据和用于动作a的动作数据(来自参与者神经网络110)的观察,并且提供定义表示状态s下的动作a的值的动作值或Q值的输出。在一些实现方式中,评论者神经网络120可以表示相对于状态s的基线值的、状态s下的动作a的值或预期回报(奖励),这是动作a的优点。基线值可以表示遵循控制策略时来自状态s的预期回报,并且可以从参与者神经网络的单独输出头(head)(例如线性层)得到。在一些实现方式中,参与者和评论者神经网络以及稍后描述的目标参与者和评论者神经网络可以分别被配置为实现批量归一化。
在训练过程中,评论者神经网络的输出用于训练参与者神经网络。还调整了评论者神经网络的参数以学习表示动作值或Q值的动作值函数或Q函数Q(s,a)。评论者神经网络可以使用时间差分(TD)误差进行训练,如稍后进一步所述。TD误差取决于奖励,并且最终会推动评论者和参与者神经网络的训练两者。更详细地,将一个或多个奖励与一个或多个动作值(Q值)组合起来,以提供用于提高动作值(Q值)的TD目标:所述组合与当前动作值(Q值)(即基于当前训练状态的Q值)之间的差确定用于定义训练评论者神经网络的损失的TD误差。来自评论者神经网络的动作值(Q值)的梯度用于训练参与者神经网络。一个或多个奖励与一个或多个Q值的组合可以定义1步回报、n步回报或它们的混合。评论者和参与者神经网络的训练将在后面参照图4进行描述。
强化学习系统100还包括目标参与者神经网络130和目标评论者神经网络140。它们分别模仿参与者神经网络和评论者神经网络,其中按照一定间隔,来自参与者神经网络110和评论者神经网络120的权重被复制到目标参与者和评论者神经网络。目标参与者和评论者神经网络用于确定1步回报和/或n步回报,该1步回报和/或n步回报用于确定用于训练评论者神经网络的TD目标、驱动参与者神经网络的训练的动作值(Q值)。这有助于稳定学习。在实现中,不是将权重复制到目标神经网络,而是根据θ′←τθ(1-τ)θ″,目标神经网络的权重慢慢跟踪学习神经网络,其中,θ′表示目标网络的权重,θ表示对应的学习网络的权重,并且τ<<1。
采样选择系统160从重放缓冲器150中选择经验元组,用在RL系统100的离策略训练中。采样选择系统更频繁地对更重要的经验元组进行采样。采样特定经验元组的概率可以取决于其优先级,该优先级可以部分地由被经验元组表示的转变所计算的最后TD误差确定。优先级可以包括用于演示经验元组的正常数,以增加对这些元组进行采样的概率。对于所有经验元组,优先级还可以包括一个小的正常数,以确保以一定的概率对所有转变进行采样。
训练引擎180控制RL系统100的训练,如稍后所述。
在一些实现方式中,系统包括安全控制器170,以防止机器人或其他机械代理施加过大的力。因此,安全控制器170在将来自参与者神经网络110的代表一个或多个相应动作的一个或多个连续值转发给机器人或其他机械代理之前,使其经受一个或多个安全约束。因此,例如,可以修改动作uagent(诸如目标速度)以根据下式提供控制信号ucontrol
ucontrol=ucontrolka+fappliedkf
其中,ka和kf是调整灵敏度的常数,fapplied是施加的力,例如可以从机器人或其他机械代理中得出。可选地,可以进一步限制ucontrol,例如,限制最大速度或速度增加,其中,uagent表示速度。这可以帮助提高系统的控制稳定性。
现在参照图2,图2示出用于训练强化学习系统100的过程的流程图。该过程可以由强化学习系统100实现。
在步骤202,该过程将演示数据加载到重放缓冲器中。演示数据包括在将由系统执行的一个或多个任务演示过程中收集的演示经验元组。然后,该过程可以仅使用演示数据,使用稍后描述的训练处理、并结合如先前所述的更新目标参与者和评论者神经网络来预训练RL系统(步骤204)。
RL系统然后通过与环境104的交互来学习。因此,RL系统使用参与者神经网络110重复地选择动作并更新重放缓冲器(步骤206),使用目标参与者神经网络和目标评论者神经网络和来自重放缓冲器的数据来更新参与者神经网络和评论者神经网络(步骤208),并如前所述按照一定间隔或通过跟踪学习的网络来更新目标参与者神经网络和目标评论者神经网络(步骤210)。当训练RL系统时,重复执行学习步骤206-210。在一些实现中,对每个环境交互步骤多次执行更新步骤208。尽管有从可能导致不正确的Q值和不稳定的学习的过时的数据中学习的风险,但是这有助于有效地使用存储在重放缓冲器中的数据。在实践中,例如,可以为每个环境交互步骤执行>10个(例如,10-100个)更新步骤。
图3a和图3b更详细地示出步骤202和206。因此,当在多个环境交互步骤中的每个步骤处收集演示数据时,RL系统接收表示环境状态s的当前观察(步骤300),接收表示执行的演示动作的动作数据a(步骤302),并接收表示环境响应于演示动作而转变到的状态s′和奖励r(步骤304)。用演示经验元组(s,a,s′,r)更新重放缓冲器160(步骤306)。然后,该过程循环以从下一演示动作捕获数据。之后,先前的下一观察可以用作下一动作的当前观察。
图3b示出RL系统学习时采用的类似程序。因此,在多个环境交互步骤中的每个步骤,RL系统接收表示环境状态s的当前观察(步骤310),并使用参与者神经网络110处理观察以选择将执行的动作a。可以根据下式选择动作:
a=π(S|θπ)+Nt
其中,θπ是实现函数π()的参与者神经网络110的参数(权重),并且Nt是在对应于环境交互步骤的时间步骤t处的噪声处理的值。然后,RL系统接收表示环境响应于动作a而转变到的状态s′的下一观察和奖励r(步骤314)。然后用包括经验元组(s,a,s′,r)的操作转变数据来更新重放缓冲器160(步骤316)。如果重放缓冲器已满,则该过程可以删除不是演示动作的最早的动作。然后,该过程循环以从下一动作捕获数据;先前的下一观察可以用作下一动作的当前观察。
图4示出RL系统100的示例训练处理的细节。这可以用于图2中的预训练步骤206和更新步骤208中的一个或两个。在步骤400,该过程采样来自重放缓冲器150的小批量NT个转变,即,经验元组。重放缓冲器可以较大以降低采样的转变之间的相关性,以促进学习。可以由采样选择系统160根据可以是均匀的或者可以实现优先采样的分布从重放缓冲器采样小批量。例如,采样特定转变i的概率的示例可以与转变pi的优先级成比例,如稍后进一步描述。
然后,该过程确定用于训练评论者神经网络120的损失。评论者神经网络或动作值函数神经网络提供Q值,该Q值根据参数(权重)θQ表征状态s和动作a的值,Q(s,a|θQ)。可以使用依赖于预测或目标回报的损失来训练评论者神经网络。在一些实现方式中,目标回报包括以不同数量的时间步骤向前看(look ahead)的回报的混合。例如,在一种实现方式中,可以采用1步回报和n步回报的混合。广义上讲,n步回报包括直至n个时间(环境)步骤的水平向(horizon)加上此水平向以外状态的预测值为止的累积奖励。可选地,许多n步回报可以混合在一起。例如,λ-回报为每个回报分配权重,其中权重根据参数λ呈指数衰减。n步回报的好处可能取决于,例如,奖励数据有多嘈杂或多值得信赖。目标回报与来自评论者神经网络的Q值之间的差可以称为TD误差;目标回报本身也取决于一个或多个Q值。
因此,该过程可以根据下式确定1步回报y:
R1=r+γQ′(S′,a′|θQ′)
其中,a′=π′(s′|θπ′),γ是小于一个单位的折扣因子,θQ′和θπ′分别是目标评论者神经网络和目标参与者神经网络的参数。然后可以通过下式确定1步回报损失L1(步骤402):
L1=(R1-Q(S,a|θQ))2
这可以在从小批量采样的转变的集合上取平均值。
该过程还可以例如通过采样来自重放缓冲器的序列或转变或展示(rollout)来确定n步回报,例如根据优先化的重放分布来选择展示的初始转变(步骤404)。可以根据下式确定n步回报:
其中,可以通过下式确定a′n-1=π′(s′n-1|θπ′)和n步回报损失Ln(步骤406):
其中,因数是任意的。可以类似地对小批量取平均。
然后,该过程可以确定用于训练评论者神经网络的总损失LCritic和用于训练参与者神经网络的策略梯度(步骤408)。评论者损失可以包括L1和Ln损失的加权组合,并且可以包括L2正则化损失
其中,λ1和λ2是超参数权重,其权衡这些项的重要性。
可以根据下式确定用于执行训练参与者神经网络的梯度更新步骤的策略梯度
其中,a=π(s∣θπ)。也可以添加L2正则化损失策略梯度可以对小批量取平均。
然后,该过程可以采用梯度更新技术来反向传播用于训练参与者神经网络的策略梯度和用于训练评论者神经网络的评论者损失的梯度(步骤410)。
当实现从重放缓冲器的优先采样时,可以通过下式确定用于采样选择的转变pi的优先级:
其中,δ2=(R1-Q(s,a∣θQ))2,取平方的TD误差λ3是权重,∈是所有采样转变的小的正常数,∈D是用于演示转变的正常数权重。用于确定转变的优先级的TD误差可以是为转变计算的最后的TD误差;可以将其存储在重放缓冲器中。
对于将被配置为执行特定操作或动作的一个或多个计算机的系统,意味着该系统已在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使系统执行这些操作或动作。对于将被配置为执行特定操作或动作的一个或多个计算机程序,意味着该一个或多个程序包括指令,该指令在由数据处理装置执行时使装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中,在有形体现的计算机软件或固件中,在包括本说明书中公开的结构及其等同结构的计算机硬件,或在它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形非暂时性程序载体上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。可选地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置用于通过数据处理装置来执行。计算机存储介质可以是机器可读存储设备,机器可读存储基板,随机或串行访问存储设备或它们中的一个或多个的组合。然而,计算机存储介质不是传播的信号。
术语“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们的一个或多个的组合的代码。
计算机程序(也可以称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以以任何形式的编程语言(包括编译或解释的语言,或声明性或程序语言)编写,并且可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,专用于所讨论程序的单个文件中或多个协调文件(例如,存储一个或多个模块,子程序或部分代码的文件)中。可以部署计算机程序以在位于一个站点上或分布在多个站点上并通过通信网络互连的一个计算机或多个计算机上执行。
如本说明书中所使用的,“引擎”或“软件引擎”是指软件实现的输入/输出系统,提供与输入不同的输出。引擎可以是编码的功能块,诸如库,平台,软件开发工具包(“SDK”)或对象。可以在任何适当类型的计算设备(例如,服务器、移动电话、平板电脑、笔记本计算机、音乐播放器、电子书阅读器、便携式计算机或台式计算机、PDA、智能电话或其他固定或便携式设备)上实现每个引擎,包括一个或多个处理器和计算机可读介质。另外,两个或更多个引擎可以在相同计算设备上或在不同计算设备上实现。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程计算机来执行。处理和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,处理和逻辑流程可以由图形处理单元(GPU)执行并且装置也可以被实现为图形处理单元(GPU)。
例如,适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者基于任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,或可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或将数据传输到用于存储数据的一个或多个大容量存储设备,或两者,例如,磁,磁光盘或光盘。然而,计算机不必具有此类设备。此外,计算机可以被嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备,例如通用串行总线(USB)闪存驱动器,仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器,介质和存储设备,包括例如半导体存储设备(例如,EPROM、EEPROM和闪存设备);磁盘(例如,内部硬盘或可移动磁盘);磁光盘;以及CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以向计算机提供输入的键盘和指示设备(例如鼠标或轨迹球)的计算机上实现本说明书中描述的主题的实施例。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入(包括声音、语音或触觉输入)。另外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应从网页浏览器接收的请求,将网页发送到用户客户端设备上的网页浏览器。
本说明书中描述的主题的实施例可以实现在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过图形用户界面或Web浏览器与本说明书中描述的主题的实现进行交互)或者包括一个或多个这种后端组件,中间件组件或前端组件的任意组合的计算系统中。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如,互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生。
尽管本说明书包含许多特定实现细节,但是这些细节不应被解释为对任何发明或可要求保护的范围的限制,而应解释为对特定发明的特定实施例而言特定的特征的描述。在单独的实施例的上下文中在本说明书中描述的特定特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,尽管上面可以将特征描述为以特定组合起作用并且甚至最初如此宣称,但是在某些情况下,可以从组合中删除所要求保护的组合中的一个或多个特征,并且可以将所要求保护的组合用于子组合或子组合的变型。
类似地,尽管在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。在特定情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的处理不一定需要所示的特定顺序或连续顺序来实现期望的结果。在特定实现方式中,多任务和并行处理可能是有利的。
Claims (20)
1.一种离策略强化学习参与者-评论者神经网络系统,该系统通过在一个或多个位置处的一台或多台计算机上的计算机程序实现,用于选择将由与环境交互的代理执行的动作以执行任务,所述系统包括:
其中,该系统选择将由与环境交互作用的代理执行的动作,其中在多个内部时间步骤中的每一个,该系统接收表征环境的各个状态的观察,响应于该观察,该系统从连续动作空间选择响应于观察将执行的动作,
其中,环境是真实环境并且代理是与真实环境交互的机械代理或控制系统,或者其中环境是运动模拟环境并且代理是在运动模拟中导航的模拟车辆,
第一输入,用于接收观察,所述观察包括表征环境的状态的状态数据,以及表示从在环境中用动作进行操作而获得的奖励的奖励数据;
至少一个参与者神经网络,被耦合以接收状态数据并被配置为定义将状态数据映射到定义动作的动作数据的策略函数,其中,所述至少一个参与者神经网络具有输出以提供动作数据用于代理执行动作,并且其中所述环境响应于动作而转变到新状态;
至少一个评论者神经网络,被耦合以接收动作数据、状态数据以及从奖励数据得到的回报数据,并被配置为定义生成误差信号的值函数;
重放缓冲器,用于存储强化学习转变,所述强化学习转变包括来自系统的操作的操作转变数据,其中,所述操作转变数据包括所述状态数据、所述动作数据、所述奖励数据和表示所述新状态的新状态数据的元组;以及
第二输入,用于接收定义演示转变数据的训练数据,所述演示转变数据包括来自环境中的任务的演示的所述元组的集合,其中,所述演示转变数据包括来自代理的操纵的运动学数据,其中,存储在重放缓冲器中的强化学习转变还包括演示转变数据;以及
其中,所述神经网络系统被配置为使用误差信号并使用来自重放缓冲器的存储元组来训练至少一个参与者神经网络和至少一个评论者神经网络离策略,所述重放缓冲器包括来自操作转变数据和演示转变数据两者的元组,
其中,所述系统还包括采样选择系统,用于根据采样概率对强化学习转变进行采样,其中,所述采样概率优先对演示转变数据元组进行采样,
其中,在整个训练中,部分或全部演示转变数据都保留在重放缓冲器中。
2.根据权利要求1所述的系统,其中,所述奖励包括稀疏奖励,所述稀疏奖励具有取决于环境的状态的多个离散值。
3.根据权利要求1所述的系统,其中,仅环境的状态的少数子集提供奖励。
4.根据权利要求1所述的系统,其中,所述重放缓冲器存储参与者-评论者误差信号,其中参与者-评论者误差信号是时间差分(TD)误差信号,并且其中采样概率进一步根据时间差分(TD)误差信号优先采样。
5.根据权利要求1所述的系统,其中,所述回报数据包括奖励数据和来自评论者神经网络的值的组合,所述评论者神经网络的值是从使用参与者神经网络所选择的动作的(n-1)步向前展示而获得的;并且其中,所述系统被配置为采用至少两个不同的n值来训练网络。
6.根据权利要求所述的系统,被配置为使用包括1步回报和n步回报的混合的回报数据来训练评论者神经网络。
7.根据权利要求1所述的系统,包括学习参与者神经网络和目标参与者神经网络以及学习评论者神经网络和目标评论者神经网络,其中,所述神经网络系统被配置为使用误差信号更新学习评论者神经网络离策略,其中,从目标评论者神经网络、目标参与者神经网络以及操作转变数据和演示转变数据的存储元组得到误差信号;其中,所述系统被配置为使用确定性策略梯度来更新学习参与者神经网络,所述确定性策略梯度包括使用操作转变数据和演示转变数据的存储元组评估的学习评论者神经网络的输出的梯度与学习参与者神经网络的输出的梯度的乘积;并且其中,所述系统被配置为按照一定间隔使用学习参与者神经网络来更新目标参与者神经网络的权重,并使用学习评论者神经网络来更新目标评论者神经网络的权重。
8.根据权利要求1所述的系统,其中,所述训练数据包括来自机械系统的操纵的运动学教导数据。
9.根据权利要求1所述的系统,还包括安全控制器,用于对动作数据施加安全性或其他约束。
10.一种训练任一前述权利要求的系统的方法,该系统通过在一个或多个位置处的一台或多台计算机上的计算机程序实现,所述方法包括:
其中,该系统选择将由与环境交互作用的代理执行的动作,其中在多个内部时间步骤中的每一个,该系统接收表征环境的各个状态的观察,响应于该观察,该系统从连续动作空间选择响应于观察将执行的动作,
其中,环境是真实环境并且代理是与真实环境交互的机械代理或控制系统,或者其中环境是运动模拟环境并且代理是在运动模拟中导航的模拟车辆,
从环境中的任务的所述演示捕获训练数据,所述训练数据定义用于一系列演示转变的演示转变数据,每个转变包括表征环境的状态的状态数据、定义执行的动作的动作数据、表示来自动作的奖励的奖励数据、以及表示新状态的新状态数据,其中,所述动作数据定义连续动作空间中的一个或多个动作,并且所述环境响应于动作而转变到新状态;
将演示转变数据存储在重放缓冲器中;
使用包括至少一个参与者神经网络和至少一个评论者神经网络,参与者-评论者系统对环境进行操作,以生成包括状态数据、动作数据、奖励数据和新状态数据的操作示例的操作转变数据;
将操作转变数据存储在重放缓冲器中;以及
从重放缓冲器中采样以训练参与者-评论者系统,
其中,所述方法还包括根据采样概率对强化学习转变进行采样,其中,所述采样概率优先对演示转变数据元组进行采样,
其中,在整个训练中,部分或全部演示转变数据都保留在重放缓冲器中。
11.根据权利要求10所述的方法,其中,所述重放缓冲器存储参与者-评论者误差信号,其中参与者-评论者误差信号是时间差分(TD)误差信号,并且其中采样概率进一步根据时间差分(TD)误差信号优先采样。
12.根据权利要求10所述的方法,其中,在存储操作转变数据之后,至少一些演示转变数据被保留在重放缓冲器中。
13.根据权利要求10所述的方法,其中,所述奖励是稀疏奖励。
14.根据权利要求10所述的方法,包括:使用从奖励数据和来自从环境的当前状态向前的n-1个转变的预测的演替的打折奖励的组合得到的回报数据来训练参与者-评论者系统,所述方法还包括改变n或对于不同n值来组合回报数据。
15.根据权利要求10所述的方法,包括对每个环境转变执行参与者-评论者系统的多个训练步骤。
16.根据权利要求10所述的方法,包括:在一个或多个操作时间间隔期间对环境进行操作,以及在一个或多个不同的学习时间间隔期间对参与者-评论者系统进行训练。
17.根据权利要求10所述的方法,其中,所述参与者-评论者系统包括学习参与者神经网络和目标参与者神经网络以及学习评论者神经网络和目标评论者神经网络,并且其中,训练参与者-评论者系统包括使用从目标参与者神经网络和目标评论者神经网络确定的误差信号更新学习评论者神经网络的权重,并使用近似策略梯度来更新学习参与者神经网络的权重,所述近似策略梯度定义将状态数据映射到动作数据的策略函数的性能。
18.根据权利要求10所述的方法,其中,所述训练数据包括来自机械系统的操纵的运动学教导数据。
19.一种离策略强化学习参与者-评论者神经网络系统,包括一个或多个计算机和一个或多个存储指令的存储设备,当由一个或多个计算机执行所述指令时,使所述一个或多个计算机执行权利要求10至18中任一项的方法的操作。
20.一个或多个存储指令的计算机存储介质,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机实现权利要求1-9中任一项的系统或执行权利要求10-18中任一项的方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762526290P | 2017-06-28 | 2017-06-28 | |
US62/526,290 | 2017-06-28 | ||
PCT/EP2018/067414 WO2019002465A1 (en) | 2017-06-28 | 2018-06-28 | NEURONAL LEARNING ACTION SELECTION NETWORKS USING APPRENTICESHIP |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110651279A CN110651279A (zh) | 2020-01-03 |
CN110651279B true CN110651279B (zh) | 2023-11-07 |
Family
ID=62784160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880028844.3A Active CN110651279B (zh) | 2017-06-28 | 2018-06-28 | 利用学徒来训练动作选择神经网络 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11868882B2 (zh) |
EP (1) | EP3593294B1 (zh) |
CN (1) | CN110651279B (zh) |
WO (1) | WO2019002465A1 (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019002465A1 (en) * | 2017-06-28 | 2019-01-03 | Deepmind Technologies Limited | NEURONAL LEARNING ACTION SELECTION NETWORKS USING APPRENTICESHIP |
CA3032182A1 (en) * | 2018-01-31 | 2019-07-31 | Royal Bank Of Canada | Pre-training neural netwoks with human demonstrations for deep reinforcement learning |
US11613249B2 (en) * | 2018-04-03 | 2023-03-28 | Ford Global Technologies, Llc | Automatic navigation using deep reinforcement learning |
EP3837641A1 (en) * | 2018-09-14 | 2021-06-23 | Google LLC | Deep reinforcement learning-based techniques for end to end robot navigation |
CN112930541A (zh) * | 2018-10-29 | 2021-06-08 | 谷歌有限责任公司 | 通过最小化妄想影响来确定控制策略 |
US11580445B2 (en) * | 2019-03-05 | 2023-02-14 | Salesforce.Com, Inc. | Efficient off-policy credit assignment |
US11816591B2 (en) | 2019-03-20 | 2023-11-14 | Sony Group Corporation | Reinforcement learning through a double actor critic algorithm |
US11524401B1 (en) | 2019-03-28 | 2022-12-13 | Apple Inc. | Learning skills from video demonstrations |
CN110049315B (zh) * | 2019-04-26 | 2020-04-24 | 山西大学 | 一种提高直播视频系统用户体验质量的方法 |
US11080152B2 (en) * | 2019-05-15 | 2021-08-03 | Western Digital Technologies, Inc. | Optimized neural network data organization |
WO2021021008A1 (en) * | 2019-08-01 | 2021-02-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods for risk management for autonomous devices and related node |
US11907815B1 (en) * | 2019-09-26 | 2024-02-20 | Hrl Laboratories, Llc | System and method for improved generalization from concept constrained dreams |
US11420655B2 (en) * | 2019-09-26 | 2022-08-23 | Hrl Laboratories, Llc | System and method for safety and efficacy override of an autonomous system |
WO2021086532A1 (en) * | 2019-10-29 | 2021-05-06 | Loon Llc | Navigating aerial vehicles using deep reinforcement learning |
US20210143639A1 (en) * | 2019-11-08 | 2021-05-13 | Global Energy Interconnection Research Institute Co. Ltd | Systems and methods of autonomous voltage control in electric power systems |
CN113132765A (zh) * | 2020-01-16 | 2021-07-16 | 北京达佳互联信息技术有限公司 | 码率决策模型训练方法、装置、电子设备及存储介质 |
US11018991B1 (en) * | 2020-02-07 | 2021-05-25 | EMC IP Holding Company LLC | System and method for autonomous and dynamic resource allocation in storage systems |
SG11202102364YA (en) * | 2020-04-02 | 2021-04-29 | Alipay Hangzhou Inf Tech Co Ltd | Determining action selection policies of an execution device |
US12051047B2 (en) * | 2020-04-07 | 2024-07-30 | Dgnss Solutions, Llc | Artificial intelligence monitoring, negotiating, and trading agents for autonomous vehicles |
EP3907663B1 (en) * | 2020-05-06 | 2024-02-21 | Robert Bosch GmbH | Predicting a state of a computer-controlled entity |
US20230213920A1 (en) * | 2020-05-26 | 2023-07-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Sensor control system for controlling a sensor network |
CN111813538B (zh) * | 2020-05-27 | 2024-03-29 | 西安交通大学 | 一种边缘计算资源分配方法 |
US20210390409A1 (en) * | 2020-06-12 | 2021-12-16 | Google Llc | Training reinforcement learning agents using augmented temporal difference learning |
CN115398877B (zh) * | 2020-06-15 | 2024-03-26 | 阿里巴巴集团控股有限公司 | 使用强化学习代理管理存储在缓存中的数据 |
US12057989B1 (en) * | 2020-07-14 | 2024-08-06 | Hrl Laboratories, Llc | Ultra-wide instantaneous bandwidth complex neuromorphic adaptive core processor |
DE102020209685B4 (de) * | 2020-07-31 | 2023-07-06 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung |
CN112069903B (zh) * | 2020-08-07 | 2023-12-22 | 之江实验室 | 基于深度强化学习实现人脸识别端边卸载计算方法及装置 |
EP3961507A1 (en) | 2020-08-28 | 2022-03-02 | Tata Consultancy Services Limited | Optimal policy learning and recommendation for distribution task using deep reinforcement learning model |
CN112149347B (zh) * | 2020-09-16 | 2023-12-26 | 北京交通大学 | 基于深度强化学习的配电网负荷转供方法 |
WO2022068934A1 (en) * | 2020-09-30 | 2022-04-07 | Huawei Technologies Co., Ltd. | Method of neural architecture search using continuous action reinforcement learning |
US11914672B2 (en) | 2021-09-29 | 2024-02-27 | Huawei Technologies Co., Ltd. | Method of neural architecture search using continuous action reinforcement learning |
CN113211441B (zh) * | 2020-11-30 | 2022-09-09 | 湖南太观科技有限公司 | 神经网络训练和机器人控制方法及装置 |
CN112779720B (zh) * | 2020-12-18 | 2022-05-31 | 珠海格力电器股份有限公司 | 洗衣机的控制方法、装置、洗衣机、存储介质及处理器 |
CN112752308B (zh) * | 2020-12-31 | 2022-08-05 | 厦门越人健康技术研发有限公司 | 一种基于深度强化学习的移动预测无线边缘缓存方法 |
CN113033118B (zh) * | 2021-03-10 | 2022-03-25 | 山东大学 | 一种基于示范数据强化学习技术的水下航行器自主上浮控制方法 |
WO2022207443A1 (en) | 2021-04-01 | 2022-10-06 | Bayer Aktiengesellschaft | Reinforced attention |
CN113189983B (zh) * | 2021-04-13 | 2022-05-31 | 中国人民解放军国防科技大学 | 一种面向开放场景的多机器人协同多目标采样方法 |
CN113641099B (zh) * | 2021-07-13 | 2023-02-10 | 西北工业大学 | 一种超越专家演示的阻抗控制模仿学习训练方法 |
CN114745317B (zh) * | 2022-02-09 | 2023-02-07 | 北京邮电大学 | 面向算力网络的计算任务调度方法及相关设备 |
WO2024050712A1 (en) * | 2022-09-07 | 2024-03-14 | Robert Bosch Gmbh | Method and apparatus for guided offline reinforcement learning |
CN116551703B (zh) * | 2023-07-12 | 2023-09-12 | 长春工业大学 | 一种复杂环境下基于机器学习的运动规划方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637540A (zh) * | 2013-10-08 | 2016-06-01 | 谷歌公司 | 用于强化学习的方法和设备 |
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665651B2 (en) | 2001-07-18 | 2003-12-16 | Colorado State University Research Foundation | Control system and technique employing reinforcement learning having stability and learning phases |
WO2014088634A1 (en) * | 2012-12-03 | 2014-06-12 | Hrl Laboratories, Llc | Neural model for reinforcement learning |
WO2017019555A1 (en) * | 2015-07-24 | 2017-02-02 | Google Inc. | Continuous control with deep reinforcement learning |
US10885432B1 (en) * | 2015-12-16 | 2021-01-05 | Deepmind Technologies Limited | Selecting actions from large discrete action sets using reinforcement learning |
EP3400558A1 (en) * | 2016-02-09 | 2018-11-14 | Google LLC | Reinforcement learning using advantage estimates |
US20180165602A1 (en) * | 2016-12-14 | 2018-06-14 | Microsoft Technology Licensing, Llc | Scalability of reinforcement learning by separation of concerns |
WO2019002465A1 (en) * | 2017-06-28 | 2019-01-03 | Deepmind Technologies Limited | NEURONAL LEARNING ACTION SELECTION NETWORKS USING APPRENTICESHIP |
US20210271968A1 (en) * | 2018-02-09 | 2021-09-02 | Deepmind Technologies Limited | Generative neural network systems for generating instruction sequences to control an agent performing a task |
-
2018
- 2018-06-28 WO PCT/EP2018/067414 patent/WO2019002465A1/en unknown
- 2018-06-28 EP EP18735278.6A patent/EP3593294B1/en active Active
- 2018-06-28 CN CN201880028844.3A patent/CN110651279B/zh active Active
- 2018-06-28 US US16/624,245 patent/US11868882B2/en active Active
-
2022
- 2022-10-07 US US17/962,008 patent/US11886997B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637540A (zh) * | 2013-10-08 | 2016-06-01 | 谷歌公司 | 用于强化学习的方法和设备 |
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Non-Patent Citations (1)
Title |
---|
《Data-efficient Deep Reinforcement Learningfor Dexterous Manipulation》;Ivaylo Popov等;《https://arxiv.org/pdf/1704.03073.pdf》;20170411;第1-12页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3593294B1 (en) | 2024-05-29 |
EP3593294A1 (en) | 2020-01-15 |
US20230023189A1 (en) | 2023-01-26 |
US11886997B2 (en) | 2024-01-30 |
CN110651279A (zh) | 2020-01-03 |
US11868882B2 (en) | 2024-01-09 |
WO2019002465A1 (en) | 2019-01-03 |
US20200151562A1 (en) | 2020-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110651279B (zh) | 利用学徒来训练动作选择神经网络 | |
US11663441B2 (en) | Action selection neural network training using imitation learning in latent space | |
US11714996B2 (en) | Learning motor primitives and training a machine learning system using a linear-feedback-stabilized policy | |
CN110383298B (zh) | 用于连续控制任务的数据高效强化学习 | |
US11263531B2 (en) | Unsupervised control using learned rewards | |
EP4357976A1 (en) | Deep reinforcement learning with fast updating recurrent neural networks and slow updating recurrent neural | |
CN112292693A (zh) | 强化学习系统训练返回函数的元梯度更新 | |
CN111971691A (zh) | 表示物理系统的图神经网络 | |
CN111316295A (zh) | 使用分布式优先化回放的强化学习 | |
US20220366246A1 (en) | Controlling agents using causally correct environment models | |
US12008077B1 (en) | Training action-selection neural networks from demonstrations using multiple losses | |
EP4085385B1 (en) | Generating implicit plans for accomplishing goals in an environment using attention operations over planning embeddings | |
JP2024102049A (ja) | 相対エントロピーq学習を使ったアクション選択システムのトレーニング | |
EP3788554B1 (en) | Imitation learning using a generative predecessor neural network | |
US20240185082A1 (en) | Imitation learning based on prediction of outcomes |
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 |