CN110235148B - 训练动作选择神经网络 - Google Patents
训练动作选择神经网络 Download PDFInfo
- Publication number
- CN110235148B CN110235148B CN201780067832.7A CN201780067832A CN110235148B CN 110235148 B CN110235148 B CN 110235148B CN 201780067832 A CN201780067832 A CN 201780067832A CN 110235148 B CN110235148 B CN 110235148B
- Authority
- CN
- China
- Prior art keywords
- neural network
- gradient
- action
- network
- action selection
- 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 257
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 163
- 238000012549 training Methods 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 101
- 230000002787 reinforcement Effects 0.000 claims abstract description 30
- 238000005070 sampling Methods 0.000 claims abstract description 12
- 230000003993 interaction Effects 0.000 claims abstract description 10
- 238000003860 storage Methods 0.000 claims abstract description 8
- 238000009826 distribution Methods 0.000 claims description 85
- 238000012545 processing Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 26
- 230000008485 antagonism Effects 0.000 claims 1
- 238000004590 computer program Methods 0.000 abstract description 15
- 230000008569 process Effects 0.000 description 49
- 239000003795 chemical substances by application Substances 0.000 description 48
- 238000012935 Averaging Methods 0.000 description 14
- 238000011156 evaluation Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012552 review Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000026676 system process Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 2
- 230000003287 optical effect Effects 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
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010248 power generation 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
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/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/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
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)
- User Interface Of Digital Computer (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
用于训练动作选择神经网络的方法、***和装置,包括在计算机存储介质上编码的计算机程序。所述方法的一种包括维持回放存储器,该回放存储器存储由于代理与环境的交互而生成的轨迹;并且训练具有关于回放存储器中的轨迹的策略参数的动作选择神经网络,其中,训练动作选择神经网络包括:从回放存储器中采样轨迹;并且通过使用离线策略行动器评判强化学习技术在轨迹上训练动作选择神经网络来调整策略参数的当前值。
Description
技术领域
本说明书涉及强化学习。
背景技术
在强化学习***中,代理通过响应于接收表征环境的当前状态的观察而执行由强化学习***选择的动作来与环境交互。
一些强化学习***根据神经网络的输出选择由代理响应于接收给定观察而执行的动作。
神经网络是机器学习模型,其采用一层或多层非线性单元来对于接收的输入预测输出。一些神经网络是深度神经网络,其除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层(即,下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从接收的输入生成输出。
发明内容
本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的强化学习***,其选择要由与环境交互的代理执行的动作。通常,***使用动作选择策略神经网络来选择要响应于表征环境的状态的观察而执行的动作。因此,为了动作选择策略神经网络可以有效地用于选择动作,***训练由于代理与环境的交互而生成的轨迹上的动作选择策略神经网络。特别地,***可以从回放存储器中采样轨迹,然后通过使用离线策略(off-policy)行动器评判强化学习技术在采样的轨迹上训练神经网络来调整神经网络的参数的当前值。
因此,在一个方面,一种方法,特别是强化学习的方法,包括维持回放存储器,所述回放存储器存储由于代理与环境的交互而生成的轨迹,每个轨迹包括在多个时间步中的每个时间步的相应动作选择数据。在每个时间步的所述动作选择数据可以识别以下部分中的一个或多个:表征所述环境的状态的观察;由代理响应于所述观察而执行的动作;响应于所述代理执行所述动作而接收到的奖励;以及,至少在响应于所述观察而确定执行哪个动作时分配给所执行的动作的动作选择分值。所述方法然后可以涉及:训练具有关于所述回放存储器中的所述轨迹的策略参数(这里称为策略参数)的动作选择神经网络。所述动作选择神经网络被配置为:接收表征所述环境的状态的观察;以及,处理所述观察以生成网络输出,所述网络输出定义能够由所述代理响应于所述观察而执行的可能动作上的分值分布。训练所述动作选择神经网络可以包括:从所述回放存储器中采样轨迹;以及,通过优选地使用离线策略行动器评判强化学习技术在所述轨迹上训练所述动作选择神经网络来调整所述策略参数的当前值。
动作集合可以是有限的,定义离散的动作空间或已被离散化的连续动作空间,或者可以是连续动作空间中的动作。在动作空间离散或离散化的情况下,分值分布可以是由具有用于可能动作的元素的概率向量定义的分类分布。在动作空间是连续的情况下,分值分布可以由一个或多个连续分布的一个或多个参数定义,例如分布的均值和协方差,例如高斯分布。
从广义上讲,行动器评判技术采用行动器神经网络来提供动作分值,并且使用评判神经网络来提供可由行动器神经网络使用的状态或可能动作的一个或多个值。离线策略学习使用存储的经验来学习策略。稍后将描述一些离线策略性行动器评判强化学习技术的实现。
该方法的实现的一些优点包括更快和更准确的学习。
在能够通过代理响应于观察而执行的可能动作集合是有限的情况下,网络输出可以包括分值分布。然后,使用离线策略行动器评判强化学习技术调整策略参数的当前值可以包括:对于从所述轨迹中的最后时间步到所述轨迹中的初始时间步的所述轨迹中的每个时间步:使用所述动作选择神经网络处理所述观察以确定主分值分布;使用评判神经网络处理所述观察以确定每个所述可能动作的相应Q值;以及,从所述Q值和所述主分值分布确定用于该时间步的主梯度。Q值可以提供观察-动作组合的值,更具体地,未来奖励的估计是响应于观察而要执行的动作。主梯度可用于通过梯度上升或下降(例如,通过动作选择神经网络的反向传播)来调整策略参数的值。主梯度可以单独使用,或者在一些示例中,与如稍后所述的一个或多个附加梯度项组合使用。
在一些实现中,确定主梯度可以包括:从所述Q值和所述主分值分布,确定用于轨迹中的每个时间步的值估计。确定主梯度还可以包括:确定用于所述时间步的回扫估计。概括地说,回扫估计包括用于时间步的目标Q值的估计,特别是评判网络应该通过在所述时间步处理观察而生成的最佳Q值的估计。因此,回扫估计可以包括未来奖励的加权和。可以对奖励进行加权以使用由存储的轨迹表示的代理的行为来校正离线策略采样。加权可以使用从动作选择神经网络和从存储的轨迹确定的动作的可能性的比率来实现一种形式的重要性采样。因此,例如,重要性采样可以采用通过将在主分值分布中的在时间步处执行的动作的分值除以在动作选择分布中的动作选择分值而获得的重要性权重。重要性权重的值可以被例如限制为小于或等于1,以确定截断的重要性权重。这限制了潜在的大的重要性权重值,降低了重要性权重差异。
在一些实现中,可以例如通过下述方式从当前回扫估计和奖励来确定用于时间步的回扫估计:将当前回扫估计缩放等于或小于1的折扣因子并且根据奖励提高结果。然后可以使用主分值分布、Q值、值估计和回扫估计的组合来确定主梯度,从而考虑这些中的每一个。
该方法可以进一步包括从针对所执行的动作的Q值和回扫估计确定评判梯度。然后,该方法可以从评判梯度确定评判神经网络的参数的当前值的更新。然后可以更新回扫估计。
可以在连续动作空间中定义可以由代理响应于观察而执行的一个或多个可能动作。因此,网络输出可以然而包括一个或多个分布参数,其定义连续动作空间中的点上的分值分布。然后,使用离线策略行动器评判强化学习技术来调整策略参数的值的一种方式可以包括:对于从轨迹中的最后时间步到轨迹中的初始时间步的轨迹中的时间步,使用动作选择神经网络来处理观察以定义主分值分布。还可以使用随机对抗神经网络处理观察,以确定用于连续动作空间中的动作的Q值和用于观察的值估计。因此,在时间步,可以针对时间步确定值估计,并且可以针对所执行的动作确定Q值。Q值可以是随机的,其通过从分布(例如,可能动作上的概率分布)中采样来确定。该分布可以由动作选择策略神经网络的输出来定义。因此,随机对抗神经网络可以包括神经网络,该神经网络被配置为处理观察以生成用于所执行的动作的确定性值估计和随机Q值。随机对抗神经网络可以执行评判的角色。
然后,该方法可以进一步包括从主分值分布中采样替代动作。然后可以确定用于替代动作的Q值。替代动作可选地也可以用于确定如前所述的替代重要性权重;替代重要性权重可能会被截断。
可以从Q值、确定性值估计、随机Q值、主分值分布和采样动作来确定用于时间步的主梯度。更具体地,所执行的动作可以用于从随机Q值确定主梯度的第一梯度项,并且替代动作可以用于从用于替代动作的Q值确定主梯度的第二梯度项。可以通过用于所执行的动作的重要性权重来加权第一梯度项;可以通过用于替代动作的重要性权重来加权第二梯度项。如前所述,可以由如稍后所述的一个或多个附加梯度项补充主梯度,。然后可以确定用于通过调整策略参数来更新动作选择神经网络的用于时间步的主梯度。
调整策略参数的当前值可以进一步包括处理观察以生成辅助分值分布。该处理可以使用具有多个平均网络参数的平均神经网络,并且可以根据平均网络参数的当前值。如稍后所述,平均神经网络可以具有表示策略参数的移动平均值的参数值。因此,该方法可以进一步包括确定辅助分值分布和主分值分布之间的差异的度量(例如,Kullback-Leibler散度)的辅助梯度。然后,该方法可以从主梯度和辅助梯度确定最终梯度,然后从最终梯度更新策略参数的当前值。这可以有助于稳定学***均值的值太远。
可以将比例因子应用于主梯度以确定最终梯度,即减小策略参数的梯度或变化率。可以在辅助梯度大于约束的条件下应用比例因子。
在另一方面,一种训练具有多个主网络参数的主神经网络以确定主网络参数的训练值的方法可包括优化目标函数。因此,所述包括的方法可以包括接收包括多个训练示例的一批训练数据。然后,对于批中的多个训练示例中的每一个,该方法可以包括:使用主神经网络根据主网络参数的当前值处理训练示例以生成训练示例的主网络输出;从主网络输出确定目标函数的主梯度;使用具有多个平均网络参数的平均神经网络并根据平均网络参数的当前值,处理训练示例以生成训练示例的平均网络输出;确定平均网络输出和主网络输出之间的差异的度量的辅助梯度;从主梯度和辅助梯度确定最终梯度;并从最终梯度确定对主网络参数的当前值的更新。
在此方法的上下文中也可以采用与先前描述的那些相对应的特征。
可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。本说明书中描述的主题引入了离线策略行动器评判强化学***均网络并使用平均网络来在将梯度应用于策略参数之前缩放梯度,训练过程的稳定性得到改善,导致一旦训练完成,训练时间缩短,并且性能提高。更一般地,所描述的平均网络可用于提高各种不同类型的神经网络中的任何一种的训练的稳定性,导致一旦训练完成就减少训练时间和改进性能。
所描述的方法和***的应用包括强化学习任务,其中,代理是与环境交互以完成任务的机器人代理或者导航通过环境的自动或半自动车辆。或者,代理可以控制在包括设备项的环境中(例如在数据中心或电网电力干线或水分配***中,或在制造工厂中)的动作。因此,观察可以包括通过设备对于功率或水使用的观察,或者对发电或配电控制的观察,或对资源的使用或废物产生的观察。代理可以控制环境中的动作以提高效率和/或减少环境中的操作对环境的影响。
在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出了示例强化学习***。
图2是用于当代理要执行的可能动作集合是有限时训练动作选择策略神经网络的示例过程的流程图。
图3是用于当代理要执行的可能动作集合是有限时确定用于时间步的动作选择参数更新和评判参数更新的示例过程的流程图。
图4是用于当代理要执行的可能动作集合不是有限时训练动作选择策略神经网络的示例过程的流程图。
图5是用于当代理要执行的可能动作集合不是有限时确定用于时间步的动作选择参数更新和评判参数更新的示例过程的流程图。
图6是用于使用平均神经网络来训练主神经网络的示例过程的流程图。
各附图中相同的附图标记和名称表示相同的元件。
具体实施方式
图1示出了示例强化学习***100。强化学习***100是在其中实现下面描述的***、组件和技术的一个或多个位置中的一个或多个计算机上实现为计算机程序的***的示例。
强化学习***100选择要由在多个时间步中的每一个处与环境106交互的代理102执行的动作104。为了使代理102与环境106交互,***100接收表征环境106的当前状态的观察108,并选择由代理102响应于所接收的观察108而执行的动作104。
在一些实现中,环境106是模拟环境,并且代理102被实现为通过导航通过模拟环境与模拟环境交互的一个或多个计算机程序。例如,模拟环境可以是视频游戏,并且代理102可以是通过导航通过模拟环境来玩视频游戏的模拟用户。作为另一示例,模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且代理102是导航通过运动模拟环境的模拟车辆。在这些情况下,动作104可以是用于控制模拟用户或模拟车辆的控制输入,并且观察可以包括模拟环境的图像、表征模拟用户或模拟车辆的状态的特征或两者。
在一些其他实现中,环境106是真实世界环境,并且代理102是与现实世界环境交互的机械代理。例如,代理102可以是导航通过环境的自动或半自动车辆。在这些情况下,动作104可以是用于控制机器人或自动车辆的控制输入,并且观察可以包括由机械代理的传感器捕获的图像、由机械代理的其他传感器捕获的其他传感器数据。
在代理102与环境106交互期间的每个时间步,***100使用动作选择策略神经网络112来选择代理102响应于在时间步的观察108而要执行的动作。
特别地,动作选择策略神经网络112被配置为接收包括观察108的输入并且根据动作选择策略神经网络的参数集合(在本说明书中称为策略参数)来处理输入,生成***100用于确定在时间步由代理102执行的动作104的网络输出。网络输出定义了可以由代理响应观察而执行以与环境交互的可能动作上的分值分布。
在一些情况下,可由代理执行的可能动作集合是有限的,即,***在每个时间步从预定的有限的、离散的动作集合中进行选择。在这些情况下,即,当可以执行的可能动作集合是有限的时,网络输出是可能动作集合上的分值分布。
在其他情况下,可能动作集合不是有限的,例如,动作由连续动作空间中的点表示。例如,动作可以是应用于机械代理的各种关节的扭矩,其可以是某个预定范围内的任何实际值。在可能动作的空间是连续的情况下,网络输出可以是可能动作上的分布的参数,例如均值和协方差参数。
为了使动作选择策略神经网络112有效地用于选择要由代理执行的动作,训练引擎118训练动作选择策略神经网络112以由于代理与环境的交互而生成最大化***100接收的预期累积奖励(例如***100接收的长期时间打折的奖励总和)的策略输出。
具体地,在训练期间,***100在回放存储器150中存储由于代理与环境的交互而生成的轨迹。回放存储器150中的每个轨迹包括在多个时间步中的每一个处的相应动作选择数据。例如,回放存储器150中的每个轨迹可以包括相同的固定数量的时间步。在给定时间步的轨迹数据识别:(i)表征环境的状态的观察,(ii)由代理响应观察而执行的动作,(iii)响应于代理执行动作而接收到的奖励,以及(iv)用于在响应于观察而确定执行哪个动作时的动作集合中的动作的分值分布。该分布在本说明书中称为动作分值分布。
具体地,***100使用动作选择策略神经网络112来选择由代理执行以生成存储在回放存储器150中的轨迹的动作。然而,因为策略参数的值在训练期间改变,在***100从回放存储器150采样轨迹时,***100可能无法重新生成先前由动作选择策略神经网络112针对给定观察生成的相同分值分布。为了使***100跟踪针对先前执行的动作生成的分值,***100将动作分值分布(或定义动作分值分布的参数)存储在回放存储器150中。
为了训练动作选择策略神经网络112,训练引擎118对来自回放存储器150的轨迹进行采样,并使用离线策略行动器评判强化学习技术在采样的轨迹上训练动作选择策略神经网络112。作为行动器评判技术的一部分,训练引擎118与评判神经网络130一起训练动作选择策略神经网络112。
通常,评判神经网络130是具有参数集合(在本说明书中称为评判参数)的神经网络。当动作集合是有限时,评判神经网络被配置为接收观察并处理该观察以生成输出,该输出定义动作集合中的每个动作的相应Q值。给定动作的Q值是如果代理响应于观察执行给定动作将由***100接收的累积奖励的、根据评判参数当前值的估计。
当动作集合是有限时,评判神经网络130和动作选择策略神经网络112可以共享一些参数。例如,评判神经网络130和动作选择策略神经网络112可以是具有两个头的单个神经网络,一个输出动作的Q值,另一个输出分值分布。该神经网络可以包括例如卷积神经网络和/或递归神经网络。
下面参考图2和3更详细地描述当动作集合是有限时训练动作选择策略神经网络112(和评判神经网络130)。
当动作集合不是有限时,例如在连续动作空间中,评判神经网络130可以是随机对抗神经网络。随机对抗神经网络是一种神经网络,其生成用于由输入观察表征的状态的确定性值估计同时还生成随机Q值。特别地,随机对抗神经网络被配置为接收输入观察、感兴趣的动作以及从可能动作集合上的概率分布中采样的n个动作。例如,可以根据由动作选择策略神经网络112的输出定义的概率分布对n个动作进行采样。
随机对抗神经网络被配置为处理观察以生成用于由观察表征的状态的确定性值估计。该值估计是如果使用动作选择策略神经网络112选择要由代理执行的动作,从环境处于由观察表征的状态开始接收的累积奖励的估计。
随机对抗神经网络还被配置为处理观察、感兴趣的动作和从概率分布采样的n个动作,以生成用于每个动作的相应的优势估计。对于给定动作的优势估计是动作的重要性的相对度量,即,如果执行所述动作将接收多少累积奖励相对于如果执行其他动作将接收多少累积奖励。
然后,随机对抗神经网络组合状态的值和优势估计,以生成感兴趣的动作的随机Q值。Q值是随机的,因为在不同的处理迭代期间,被采样的n个动作可能是不同的,导致针对相同的感兴趣的动作生成不同的Q值。特别地,响应于观察xt的感兴趣的动作at的Q值满足:
其中,V(xt)是由观察表征的状态的估计值,A(xt,at)是感兴趣的动作的优势估计,A(xt,ui)是第i个采样的动作的优势估计。
将在下面参考图4和图5更详细地描述当动作集合不是有限的,即可能动作的空间是连续的时的训练动作选择策略神经网络112(和评判神经网络130)。
在一些实现中,为了帮助训练动作选择策略神经网络112,***100维持平均神经网络170。平均神经网络170是生成相同类型的输出并且具有与动作选择策略神经网络112相同的架构但是在动作选择策略神经网络112的训练期间具有与动作选择策略神经网络112的参数值不同的参数值的网络。具体地,在训练期间,***100更新平均网络的参数的值,以便它们代表策略参数的移动平均值。平均神经网络的参数在本说明书中称为“平均网络参数”。下面将参考图2至图6描述在训练期间使用平均网络。
图2是当代理要执行的可能动作集合是有限时用于训练动作选择策略神经网络的示例过程200的流程图。为方便起见,过程200将被描述为由包括位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的强化学习***(例如,图1的强化学习***100)可以执行过程200。
***从回放存储器中采样轨迹(步骤202)。如上所述,轨迹包括在多个时间步中的每一个处的相应动作选择数据。
对于从最后一个时间步开始的轨迹中的每个时间步,***根据策略参数的当前值使用动作选择策略神经网络在时间步处理观察,以生成时间步的主分值分布,并且使用评判神经网络在时间步处处理观察,以生成用于时间步的动作的Q值集合(步骤204)。
如果***使用平均神经网络进行训练,则***还根据平均网络参数的当前值使用平均神经网络在时间步处理观察,以生成时间步的辅助分值分布。
***使用时间步的主分值分布、时间步的Q值集合以及时间步的辅助分值分布(如果生成),确定用于每个时间步的相应的动作选择参数更新和相应的评判参数更新(步骤206)。下面参考图3更详细地描述确定给定时间步的这些更新。
***使用时间步的动作选择参数更新和评判参数更新来更新策略参数的当前值和评判参数的当前值(208),即,通过将每个更新添加到相应的参数集合。
如果***使用平均神经网络,则***使用策略参数的更新值来更新平均网络参数的当前值,以确定平均网络参数的更新值。特别地,平均网络参数的更新值可以是平均网络参数的当前值和策略参数的更新值的更新值的加权和。可以选择用于组合这些值的权重以控制平均神经网络对策略参数的更新的影响,并因此提供“软”更新。
***可以针对从回放存储器采样的不同轨迹重复执行过程200,以训练动作选择策略神经网络,即,从策略参数的初始值确定策略参数的训练值。
图3是用于在代理要执行的可能动作集合是有限时确定用于时间步的动作选择参数更新和评判参数更新的示例过程300的流程图。为方便起见,过程300将被描述为由包括位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的强化学习***(例如,图1的强化学习***100)可以执行过程300。
***从轨迹中的最后时间步开始并持续到轨迹中的第一时间步为止针对轨迹中的每个时间步执行过程300。
***根据在时间步的主分值分布中的时间步处执行的动作的分值以及在时间步的动作选择分布(即时间步的动作选择数据中识别的分布)中的执行的动作的动作选择分值来确定时间步的重要性权重(步骤302)。
具体地,***通过将在主分值分布中的时间步处执行的动作的分值除以动作选择分布中的动作选择分值来确定重要性权重。
***还将时间步的截断重要性权重确定为正常数(例如,1)的最小值和重要性权重。
***根据时间步的Q值和主分值分布确定时间步的值估计(步骤304)。具体地,***确定Q值的加权和,其中,每个Q值由主分值分布中的对应动作的分值加权。
***通过将当前回扫估计乘以折扣因子并将时间步的奖励添加到乘积来确定时间步的回扫估计(步骤306)。当前的回扫估计是在过程300的前一次迭代之后的回扫估计。对于过程的第一次迭代,即,对于轨迹中的最后时间步,***将当前的回扫估计设置为零。通常,回扫估计是时间步的目标Q值的估计,即,应该由评判网络通过在时间步处处理观察而生成的Q值的估计。
***确定基于在时间步处执行的动作的时间步的第一梯度(步骤308)。特别是,第一个梯度项满足:
其中,pi是时间步的截断重要性权重,相对于获取梯度,/>是定义主分值分布的动作策略网络的输出,f是时间步的主分布分值,ai是在时间步处执行的动作,Qret是时间步的回扫估计,Vi是时间步的值估计。
***确定时间步的第二梯度,该第二梯度基于动作集合中的所有动作(步骤310)。通常,第二梯度项可以被视为第一梯度项的校正项。特别是,第二个梯度满足:
其中,总和是有限动作集合中所有动作a的总和,pi(a)是动作a的重要性权重,即动作a在主分值分布中的分值与动作a在动作分值分布中的分值之间的比率,是动作a在主分值分布中的分值,/>是执行的操作的Q值。
***例如通过相加第一梯度项和第二梯度项从第一梯度和第二梯度确定用于时间步的主梯度(步骤312)。
在***使用平均网络的实现中,***确定时间步的辅助分值分布与时间步的主分值分布之间的差异的度量的辅助梯度(步骤314)。特别地,辅助梯度可以等于相对于在(i)辅助分值分布和(ii)主分值分布之间的KL散度的主分布(即,动作策略神经网络的输出)的梯度。
***根据主梯度和辅助梯度确定最终梯度(步骤316)。具体地,***从主梯度和辅助梯度确定主梯度的比例因子,然后将比例因子应用于主梯度以生成最终梯度。例如,比例因子s可以满足:
其中,k是辅助梯度,g是主梯度,δ是常数值。然后,***可以通过从主梯度中减去比例因子来应用比例因子。
***从最终梯度确定对策略参数的当前值的更新(步骤318)。
具体地,***可以通过动作选择策略神经网络反向传播最终梯度,以确定相对于用于更新策略参数的当前值的动作选择策略神经网络的参数的梯度。
在***不使用平均神经网络的实现中,***可以使用主梯度作为最终梯度,或者可以使用一些其他技术(例如,限制对于参数的每步改变的信任区域技术)来缩放主梯度。这种技术的一个例子是在下文中描述的信任区域策略优化(TRPO)技术:Schulman,et al,J.Schulman,S.Levine,P.Abbeel,M.I.Jordan,and P.Moritz.Trust region policyoptimization,in ICML,2015。
***确定对使用回扫估计作为目标Q值的评判参数的当前值的更新(步骤320)。特别是,对于评判参数的更新可以满足:
其中,θ′v是评判参数。
在估计用于过程300的下一次迭代之前,***更新回扫估计(步骤322)。例如,更新的回扫估计可以满足:
其中,是截断重要性权重。
然后,***使用更新的回扫估计作为过程300的下一次迭代的当前估计。
图4是当要由代理执行的可能动作集合不是有限的时,即,当从连续动作空间中选择动作时,用于训练动作选择策略神经网络的示例过程400的流程图。为方便起见,过程400将被描述为由包括位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的强化学习***(例如,图1的强化学习***100)可以执行过程400。
***从回放存储器中采样轨迹(步骤402)。如上所述,轨迹包括在多个时间步中的每一个处的相应动作选择数据。
对于轨迹中的每个时间步,***根据策略参数的当前值使用动作选择策略神经网络在时间步处理观察,以生成时间步的主分值分布的参数(步骤404)。如果***使用平均神经网络进行训练,***还根据平均网络参数的当前值使用平均神经网络在时间步处处理观察,以生成时间步的辅助分值分布的参数。
对于轨迹中的每个时间步,***使用评判神经网络(在这种情况下是随机对抗网络)处理时间步处的观察和时间步处执行的动作,以生成用于执行的动作的随机Q值和用于时间步的值估计(步骤406)。
***使用时间步的主分值分布、时间步的Q值集合以及(如果生成的)时间步的辅助分值分布,确定用于每个时间步的相应的动作选择参数更新和相应的评判参数更新(步骤408)。下面参考图5更详细地描述确定用于给定时间步的这些更新。
***使用时间步的动作选择参数更新和评判参数更新来更新策略参数的当前值和评判参数的当前值(步骤410),即,通过将每个更新添加到对应的参数集合。
如果***使用平均神经网络,则***使用策略参数的更新值来更新平均网络参数的当前值,以确定平均网络参数的更新值。特别地,平均网络参数的更新值是平均网络参数的当前值和策略参数的更新值的加权和。
***可以针对从回放存储器采样的不同轨迹重复执行过程400,以训练动作选择策略神经网络,即,从策略参数的初始值确定策略参数的训练值。
图5是用于当代理要执行的可能动作集合不是有限时确定时间步的动作选择参数更新和评判参数更新的示例过程500的流程图。为方便起见,过程500将被描述为由包括位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的强化学习***(例如,图1的强化学习***100)可以执行过程500。
***从轨迹中的最后时间步开始并持续到轨迹中的第一时间步为止针对轨迹中的每个时间步执行过程500。
***从主分值分布中采样替代动作(步骤502)。也就是说,***从连续动作空间采样替代动作,使得任何给定动作被采样的可能性由该动作在主分值分布中的分值来定义。
***确定时间步的重要性权重和时间步的替代重要性权重(步骤504)。具体地,***通过将(i)在时间步处执行的动作(即在时间步的动作选择数据中识别的动作)在时间步的主分值分布中的分值除以(ii)时间步的动作选择分布中的动作选择分值来确定重要性权重,并通过将(i)替代动作在时间步的主分值分布中的分值除以(ii)替代动作在时间步的动作选择分布中的分值来确定替代重要性权重。
***通过将当前回扫估计乘以折扣因子并将时间步的奖励添加到乘积来确定时间步的回扫估计(步骤506)。当前的回扫估计是在过程500的前一次迭代之后的回扫估计。
***通过将当前离线策略校正(OPC)估计乘以折扣因子并将该时间步的奖励添加到乘积来确定OPC估计(步骤508)。与当前的回扫估计一样,当前OPC估计是在过程500的前一次迭代之后的OPC估计。
对于该过程的第一次迭代,即对于轨迹中的最后时间步,***将当前回扫估计和当前OPC估计都设置为零。
***确定基于在时间步处执行的动作的时间步的第一梯度项(步骤510)。特别地,第一个梯度项满足:
其中,c是常数值,pi是时间步的重要性权重,f是时间步的主分值分布,ai是在时间步处执行的动作,是由动作选择策略网络输出的参数(即,定义时间步的主分值分布的参数),Qopc是时间步的OPC估计,Vi是时间步的值估计。
***确定基于对时间步采样的替代动作的时间步的第二梯度项(512)。特别地,第二个梯度项满足:
其中,p′i是时间步的替代重要性权重,并且是响应于在时间步的观察由随机对抗网络生成的用于替代动作a′i的Q值。
***从第一梯度和第二梯度确定用于时间步的主梯度(步骤514),例如,通过相加第一梯度项和第二梯度项。
在***使用平均网络的实现中,***确定在时间步的辅助分值分布与时间步的主分值分布之间的差异的度量的辅助梯度(步骤516)。特别地,辅助梯度可以等于相对于在(i)辅助分值分布和(ii)主分值分布之间的KL散度的主分布的参数的梯度。
***从主梯度和辅助梯度确定最终梯度(步骤518)。具体地,***从主梯度和辅助梯度确定主梯度的比例因子,然后将比例因子应用于主梯度以生成最终梯度。例如,比例因子s可以满足:
其中,k是辅助梯度,g是主梯度,δ是常数值。然后,***可以通过从主梯度中减去比例因子来应用比例因子。
***从最终梯度确定对策略参数的当前值的更新(步骤520)。
具体地,***可以通过动作选择策略神经网络反向传播最终梯度,以确定相对于用于更新策略参数的当前值的动作选择策略神经网络的参数的梯度。
在***不使用平均神经网络的实现中,***可以使用主梯度作为最终梯度,或者可以使用一些其他技术(例如,限制对于参数的每步改变的信任区域技术)来缩放主梯度。这种技术的一个例子下文中描述的信任区域策略优化(TRPO)技术:Schulman,et al,J.Schulman,S.Levine,P.Abbeel,M.I.Jordan,and P.Moritz.Trust region policyoptimization.In ICML,2015。
***确定对于评判参数的当前值的更新(步骤522)。特别地,对评判参数的更新可以是在目标Q值的方向上移动评判参数的梯度的更新和在目标值估计的方向上移动评判参数的另一梯度的总和。例如,更新可以满足:
其中,θ′v是评判参数。
***在过程500的下一次迭代中使用估计之前更新回扫估计和OPC估计(步骤524)。例如,更新的回扫估计可以满足:
其中,ci等于并且d是常数,例如动作空间的维数。可选的1/d指数可以加快学习速度。更新的OPC估计可以满足:
然后,***使用更新的回扫和OPC估计作为过程500的下一次迭代的当前估计。
以上描述已经将平均网络描述为仅在梯度用于更新动作选择策略网络的参数之前用于调整动作选择策略神经网络的梯度。然而,平均神经网络可用于通过在任何神经网络(称为“主”神经网络)的梯度用于更新主神经网络的参数(称为“主参数”)的更新值之前缩放主神经网络的梯度来改进该主神经网络的训练。
例如,主神经网络可以是上述的动作选择策略神经网络,或者可以是接收不同种类的网络输入并生成不同种类的网络输出的不同神经网络。
通常,***可以通过基于主神经网络的输出和平均神经网络的输出之间的差异的度量来调整梯度来在训练主神经网络期间使用平均神经网络。
主神经网络可以被配置为接收任何类型的数字数据输入并基于输入生成任何类型的分值、分类或回归输出。
例如,如果对主神经网络的输入是从图像中提取的图像或特征,则由主神经网络针对给定图像生成的输出可以是针对对象类别集合中的每一个的分值,其中,每个分值表示图像包含属于该类别的对象的图像的估计可能性。
作为另一示例,如果对主神经网络的输入是因特网资源(例如,网页)、文档、或文档的一部分或者从因特网资源、文档或文档的一部分提取的特征,则由主神经网络对于给定因特网资源、文档或文档的一部分生成的输出可以是主题集合中的每一个的分值,每个分值表示因特网资源、文档或文档部分关于该主题的估计可能性。
作为另一示例,如果对主神经网络的输入是特定广告的印象上下文的特征,则由主神经网络生成的输出可以是表示将点击特定广告的估计可能性的分值。
作为另一示例,如果对主神经网络的输入是针对用户的个性化推荐的特征,例如,表征推荐的上下文的特征,例如,表征用户采取的先前动作的特征,则由主神经网络生成的输出可以是内容项集合中的每一个的分值,每个分值表示用户将有利地响应于被推荐内容项的估计可能性。
作为另一示例,如果对主神经网络的输入是一种语言的文本序列,则由主神经网络生成的输出可以是针对在另一种语言的文本片段集合中的每一个的分值,其中,每个分值表示在另一种语言中的文本片段是输入文本到另一种语言的正确翻译的估计可能性。
作为另一示例,如果对主神经网络的输入是表示说出的话语的序列,则由主神经网络生成的输出可以是针对文本片段集合中的每一个的分值,每个分值表示这段文本是正确的话语抄本的估计可能性。
如上,每当平均神经网络用于训练主神经网络时,平均神经网络具有与主神经网络相同的结构,但在训练期间的任何给定点处具有与主神经网络的参数值不同的参数值。特别地,在训练期间,平均网络参数的当前值表示主网络参数的运行平均值。
图6是用于使用平均神经网络训练主神经网络的示例过程600的流程图。为方便起见,过程600将被描述为由包括位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的强化学习***(例如,图1的强化学习***100)可以执行过程600。
***接收一批训练数据,用于训练主神经网络以优化目标函数(步骤602)。通常,训练数据包括多个训练示例,并且针对每个训练示例指定应该由主神经网络针对训练示例生成的目标输出。对于给定的训练示例,目标函数通常是由主神经网络针对训练示例生成的输出和针对训练示例的目标输出的函数。例如,目标函数可以是交叉熵损失函数或最大似然目标函数。
对于批量的多个训练示例中的每一个,***使用主神经网络并且根据主网络参数的当前值处理训练示例,以生成训练示例的主网络输出(步骤604)。
对于批量的多个训练示例中的每一个,***使用传统的机器学习训练技术从主网络输出确定目标函数的主梯度(步骤606)。
对于批量的多个训练示例中的每一个,***使用平均神经网络并根据平均网络参数的当前值来处理训练示例,以生成训练示例的平均网络输出(步骤608)。
对于批量的多个训练示例中的每一个,***确定在平均网络输出和主网络输出之间的差异的度量的辅助梯度(步骤610)。特别地,辅助梯度是相对于主网络输出的梯度,并且差异的度量是(i)平均网络输出和(ii)主网络输出之间的Kullback-Leibler散度。
对于批量的多个训练示例中的每一个,***从主梯度和辅助梯度确定最终梯度(步骤612)。具体地,***从辅助梯度和主梯度确定主梯度的比例因子,并将比例因子应用于主梯度以确定最终梯度。例如,比例因子s可以满足:
其中,k是辅助梯度,g是主梯度,δ是常数值。***可以通过从主梯度中减去比例因子来将比例因子应用于主梯度。
对于批量的多个训练示例中的每一个,***从最终梯度确定对主网络参数的当前值的更新(步骤614)。例如,***可以通过主神经网络反向传播最终梯度,以确定每个主网络参数的更新。根据所使用的训练技术,***可以直接使用反向传播的梯度作为更新,或者可以修改反向传播的梯度以生成更新,例如,通过将学习速率应用于反向传播的梯度。
***使用批量的训练示例的更新来更新主网络参数的当前值,以确定主网络参数的更新值,例如,通过将更新添加到主网络参数的当前值(步骤616)。
***使用主网络参数的更新值来更新平均网络参数的当前值,以确定平均网络参数的更新值(步骤618)。特别地,平均网络参数的更新值是平均网络参数的当前值和主网络参数的更新值的加权和。
***可以在多个不同批次的训练数据上多次重复过程600以训练主神经网络,即,从参数的初始值确定主网络参数的训练值。
本说明书结合***和计算机程序组件使用术语“被配置”。对于被配置为执行特定操作或动作的一个或多个计算机的***意味着***已经在其上安装了软件、固件、硬件或它们的组合,其在运行中使得***执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以被实现在数字电子电路中、在有形地实施的计算机软件或固件中、在计算机硬件(包括本说明书中公开的结构及其结构等同物)中或在它们的一个或多个的组合中。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。替代地或补充地,程序指令可以编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成以编码信息以便传输到合适的接收器装置以供数据处理装置执行。
术语“数据处理装置”指代数据处理硬件,并且涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。所述装置也可以是或还包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,所述装置可以选用地包括创建用于计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***或它们中的一个或多个的组合的代码。
计算机程序(也称为程序、软件、软件应用、app、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,该任何形式的编程语言包括编译或解释语言或者声明性或过程语言,并且该计算机程序可以以任何形式部署,包括作为独立程序或作为适于在计算环境中使用的模块、组件、子例程或其他单元。程序可以但不需要对应于文件***中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所涉及的程序的单个文件中或者在多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或在位于一个地点或分布在多个地点并通过通信网络互连的多个计算机上执行。
在本说明书中,术语“引擎”广泛用于指代被编程为执行一个或多个特定功能的基于软件的***、子***或过程。通常,引擎将被实现为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一台或多台计算机将专用于特定的引擎;在其他情况下,可以在同一台计算机或多个计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)或专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括或可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备,所述一个或多个大容量存储设替代于存储数据,例如是磁盘、磁光盘或光盘。但是,计算机不需要这样的设备。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),此处仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及,CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和键盘以及指示设备(例如,鼠标或轨迹球)的计算机上实现,用户可以通过显示设备和键盘以及指示设备向计算机提供输入。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过下述方式来与用户交互:向用户使用的设备发送文档和从用户使用的设备接收文档;例如,响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器。此外,计算机可以通过向个人设备(例如,运行消息收发应用的智能电话)发送文本消息或其他形式的消息并且从用户接收响应消息作为回报来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推断、工作负载。
可以使用机器学习框架(例如,TensorFlow框架、Microsoft认知工具包框架、Apache Singa框架或Apache MXNet框架)来实现和部署机器学习模型,
本说明书中描述的主题的实施例可以实现在计算***中,该计算***包括诸如作为数据服务器的后端组件,或者包括诸如应用服务器的中间件组件,或者包括诸如具有图形用户界面、Web浏览器或app的客户端计算机的前端组件,或者包括一个或多个这样的后端、中间件或前端组件的任何组合,用户可以通过该图形用户界面、Web浏览器或app与本说明书中描述的主题的实现交互。***的组件可以通过任何形式或介质的数字数据通信——例如,通信网络——互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)(例如,因特网)。
可以在包括后端组件的计算***中实现,该后端组件例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如,具有图形用户界面,网络浏览器或应用程序的客户端计算机,用户可通过该应用程序与本说明书中描述的主题的实现进行交互,或者一个或多个这样的后端的任何组合,中间件或前端组件。***的组件可以通过任何形式或介质的数字数据通信互连,例如通信网络。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算***可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从用户接收用户输入的目的。可以在服务器处从所述设备接收在用户设备处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多具体的实现细节,但是这些不应被解释为对任何发明的范围或可以要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中切除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中描绘了操作并且以特定顺序在权利要求中叙述了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种***模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和***通常可以集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,在权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。
Claims (13)
1.一种用于训练动作选择神经网络的计算机实现的方法,所述方法包括:
维持回放存储器,所述回放存储器存储由于代理与环境的交互而生成的轨迹,每个轨迹包括在多个时间步中的每个时间步的相应动作选择数据,其中,动作被定义在连续动作空间中并且包括用于控制所述代理的控制输入,在每个时间步的所述动作选择数据识别:
(i)表征所述环境的状态的观察,
(ii)由所述代理响应于所述观察而执行的动作,
(iii)响应于所述代理执行所述动作而接收到的奖励,以及
(iv)至少在响应于所述观察而确定执行哪个动作时分配给所执行的动作的动作选择分值;以及
训练具有关于所述回放存储器中的所述轨迹的策略参数的动作选择神经网络,其中,所述策略参数是所述动作选择神经网络的参数,并且其中,所述动作选择神经网络被配置为:
接收表征所述环境的状态的观察;以及
处理所述观察以生成网络输出,所述网络输出包括能够由所述代理响应于所述观察而执行的可能动作上的一个或多个连续分布的参数,以及
其中,训练所述动作选择神经网络包括:
从所述回放存储器中采样轨迹;以及
通过使用离线策略行动器评判强化学习技术在所述轨迹上训练所述动作选择神经网络来使用主梯度调整所述策略参数的当前值;
其中,能够通过所述代理响应于所述观察而执行的可能动作被表示为所述连续动作空间中的点,并且其中,使用主梯度调整所述策略参数的当前值包括:
对于从所述轨迹中的最后时间步到所述轨迹中的初始时间步的所述轨迹中的每个时间步:
使用所述动作选择神经网络处理所述观察以定义主分值分布;
使用随机对抗神经网络处理所述观察,所述随机对抗神经网络被配置为:
处理所述观察以生成用于所执行的动作的确定性值估计和随机Q值,其中所述随机Q值是通过所述随机对抗神经网络从在所述可能动作上的分值分布对动作进行采样来确定的;
从所述主分值分布对替代动作进行采样;
从所述Q值、所述确定性值估计、所述随机Q值、所述主分值分布和所采样的替代动作确定用于所述时间步的主梯度。
2.根据权利要求1所述的方法,其中,使用主梯度调整所述策略参数的当前值进一步包括:
使用具有多个平均网络参数的平均神经网络并根据所述平均网络参数的当前值,处理所述观察,以生成辅助分值分布;
确定在所述辅助分值分布与所述主分值分布之间的差异的度量的辅助梯度;
从所述主梯度和所述辅助梯度确定最终梯度;以及
从所述最终梯度确定对所述策略参数的所述当前值的更新。
3.根据权利要求2所述的方法,其中,所述差异的所述度量是Kullback-Leibler散度。
4.根据权利要求2或权利要求3所述的方法,其中,从所述主梯度和所述辅助梯度确定所述最终梯度包括:
从所述辅助梯度和所述主梯度确定所述主梯度的比例因子;以及
将所述比例因子应用于所述主梯度以确定所述最终梯度。
5.根据权利要求4所述的方法,其中,所述比例因子s满足:
其中,k是所述辅助梯度,g是所述主梯度,并且δ是常数值。
6.根据权利要求4所述的方法,其中,应用所述比例因子包括从所述主梯度减去所述比例因子。
7.根据权利要求2或权利要求3所述的方法,其中,所述平均网络参数的所述当前值表示在训练所述动作选择神经网络期间所述动作选择网络的所述参数的值的运行平均值。
8.根据权利要求7所述的方法,进一步包括:
使用用于所述轨迹的更新来更新所述策略参数的所述当前值以确定所述策略参数的更新值;以及
使用所述策略参数的所述更新值更新所述平均网络参数的所述当前值,以确定所述平均网络参数的更新值。
9.根据权利要求8所述的方法,其中,所述平均网络参数的所述更新值是所述平均网络参数的所述当前值与主网络参数的所述更新值的加权和。
10.根据权利要求1所述的方法,其中,所述代理是机械代理。
11.根据权利要求1所述的方法,其中,所述环境是真实世界环境。
12.一种用于训练动作选择神经网络的***,所述***包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-11中的任一项所述的相应方法的操作。
13.一个或多个存储指令的计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-11中的任一项所述的相应方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410220856.3A CN118246513A (zh) | 2016-11-03 | 2017-11-03 | 训练动作选择神经网络 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662417235P | 2016-11-03 | 2016-11-03 | |
US62/417,235 | 2016-11-03 | ||
PCT/IB2017/001329 WO2018083532A1 (en) | 2016-11-03 | 2017-11-03 | Training action selection neural networks |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410220856.3A Division CN118246513A (zh) | 2016-11-03 | 2017-11-03 | 训练动作选择神经网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110235148A CN110235148A (zh) | 2019-09-13 |
CN110235148B true CN110235148B (zh) | 2024-03-19 |
Family
ID=60782250
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410220856.3A Pending CN118246513A (zh) | 2016-11-03 | 2017-11-03 | 训练动作选择神经网络 |
CN201780067832.7A Active CN110235148B (zh) | 2016-11-03 | 2017-11-03 | 训练动作选择神经网络 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410220856.3A Pending CN118246513A (zh) | 2016-11-03 | 2017-11-03 | 训练动作选择神经网络 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10706352B2 (zh) |
EP (2) | EP3696737B1 (zh) |
JP (1) | JP6827539B2 (zh) |
CN (2) | CN118246513A (zh) |
WO (1) | WO2018083532A1 (zh) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521725A (zh) * | 2016-11-04 | 2024-02-06 | 渊慧科技有限公司 | 加强学习*** |
US10940587B2 (en) * | 2017-04-28 | 2021-03-09 | Technion Research & Development Foundation Ltd. | Data association aware belief space planning and perception |
EP3593293B1 (en) * | 2017-05-19 | 2024-01-17 | Deepmind Technologies Limited | Imagination-based agent neural networks |
WO2018224695A1 (en) * | 2017-06-09 | 2018-12-13 | Deepmind Technologies Limited | Training action selection neural networks |
US10678241B2 (en) * | 2017-09-06 | 2020-06-09 | GM Global Technology Operations LLC | Unsupervised learning agents for autonomous driving applications |
WO2019127063A1 (en) * | 2017-12-27 | 2019-07-04 | Intel Corporation | Reinforcement learning for human robot interaction |
CN111727442A (zh) | 2018-05-23 | 2020-09-29 | 谷歌有限责任公司 | 使用质量分数来训练序列生成神经网络 |
CA3103470A1 (en) | 2018-06-12 | 2019-12-19 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
US11188035B2 (en) * | 2018-07-19 | 2021-11-30 | International Business Machines Corporation | Continuous control of attention for a deep learning network |
JP6990636B2 (ja) * | 2018-08-30 | 2022-01-12 | 株式会社日立製作所 | 情報処理システム |
WO2020062911A1 (en) * | 2018-09-26 | 2020-04-02 | Huawei Technologies Co., Ltd. | Actor ensemble for continuous control |
US11568207B2 (en) | 2018-09-27 | 2023-01-31 | Deepmind Technologies Limited | Learning observation representations by predicting the future in latent space |
CA3060900A1 (en) | 2018-11-05 | 2020-05-05 | Royal Bank Of Canada | System and method for deep reinforcement learning |
CA3060914A1 (en) * | 2018-11-05 | 2020-05-05 | Royal Bank Of Canada | Opponent modeling with asynchronous methods in deep rl |
US11313950B2 (en) | 2019-01-15 | 2022-04-26 | Image Sensing Systems, Inc. | Machine learning based highway radar vehicle classification across multiple lanes and speeds |
EP3884436A1 (en) * | 2019-02-19 | 2021-09-29 | Google LLC | Controlling agents using latent plans |
KR102267316B1 (ko) * | 2019-03-05 | 2021-06-21 | 네이버랩스 주식회사 | 심층 강화 학습에 기반한 자율주행 에이전트의 학습 방법 및 시스템 |
US11580445B2 (en) | 2019-03-05 | 2023-02-14 | Salesforce.Com, Inc. | Efficient off-policy credit assignment |
EP3921785A4 (en) * | 2019-03-20 | 2022-04-20 | Sony Group Corporation | REINFORCEMENT LEARNING THROUGH A CRITICAL DUAL ACTOR ALGORITHM |
US11587552B2 (en) | 2019-04-30 | 2023-02-21 | Sutherland Global Services Inc. | Real time key conversational metrics prediction and notability |
CN110276139B (zh) * | 2019-06-26 | 2022-10-11 | 安徽大学 | 一种基于深度确信策略梯度算法的感应电机关键参数获取方法 |
US11720792B2 (en) * | 2019-07-31 | 2023-08-08 | Royal Bank Of Canada | Devices and methods for reinforcement learning visualization using immersive environments |
SE1950924A1 (en) * | 2019-08-13 | 2021-02-14 | Kaaberg Johard Leonard | Improved machine learning for technical systems |
JP7354425B2 (ja) * | 2019-09-13 | 2023-10-02 | ディープマインド テクノロジーズ リミテッド | データ駆動型ロボット制御 |
US11571809B1 (en) * | 2019-09-15 | 2023-02-07 | X Development Llc | Robotic control using value distributions |
CN110851699A (zh) * | 2019-09-16 | 2020-02-28 | 中国平安人寿保险股份有限公司 | 基于深度强化学习的信息流推荐方法、装置、设备及介质 |
CN112016678A (zh) * | 2019-09-23 | 2020-12-01 | 南京地平线机器人技术有限公司 | 用于增强学习的策略生成网络的训练方法、装置和电子设备 |
CN111142522B (zh) * | 2019-12-25 | 2023-06-09 | 北京航空航天大学杭州创新研究院 | 一种分层强化学习的智能体控制方法 |
KR20220134619A (ko) * | 2020-02-06 | 2022-10-05 | 딥마인드 테크놀로지스 리미티드 | 부트스트랩된 잠재 예측을 사용한 에이전트 제어를 위한 학습 환경 표현 |
SG11202102364YA (en) * | 2020-04-02 | 2021-04-29 | Alipay Hangzhou Inf Tech Co Ltd | Determining action selection policies of an execution device |
KR102272501B1 (ko) * | 2020-04-24 | 2021-07-01 | 연세대학교 산학협력단 | 분산 강화 학습 장치 및 방법 |
CN111445032B (zh) * | 2020-06-12 | 2020-10-09 | 支付宝(杭州)信息技术有限公司 | 利用业务决策模型进行决策处理的方法及装置 |
CN111766782B (zh) * | 2020-06-28 | 2021-07-13 | 浙江大学 | 基于深度强化学习中Actor-Critic框架的策略选择方法 |
KR20230010746A (ko) | 2020-07-28 | 2023-01-19 | 딥마인드 테크놀로지스 리미티드 | 상대 엔트로피 q-러닝을 사용한 액션 선택 시스템 트레이닝 |
US20220036186A1 (en) * | 2020-07-30 | 2022-02-03 | Waymo Llc | Accelerated deep reinforcement learning of agent control policies |
US20220067504A1 (en) * | 2020-08-26 | 2022-03-03 | Sony Corporation | Training actor-critic algorithms in laboratory settings |
CN113128021B (zh) * | 2021-03-12 | 2022-10-25 | 合肥工业大学 | 多无人平台协同对抗的实时重决策方法和*** |
EP4315162A1 (en) | 2021-04-01 | 2024-02-07 | Bayer Aktiengesellschaft | Reinforced attention |
KR20230027501A (ko) * | 2021-08-19 | 2023-02-28 | 삼성전자주식회사 | 강화 학습을 위한 정보를 제공하는 전자 장치 및 그 동작 방법 |
KR102617418B1 (ko) * | 2021-09-29 | 2023-12-27 | 네이버랩스 주식회사 | 센서 구성과 로봇 형태에 적응 가능한 강화학습 기반 자율주행 방법, 컴퓨터 시스템, 및 컴퓨터 프로그램 |
CN114126021B (zh) * | 2021-11-26 | 2024-04-09 | 福州大学 | 一种基于深度强化学习的绿色认知无线电的功率分配方法 |
CN114596553B (zh) * | 2022-03-11 | 2023-01-24 | 阿波罗智能技术(北京)有限公司 | 模型训练方法、轨迹预测方法、装置及自动驾驶车辆 |
CN114492801A (zh) * | 2022-04-18 | 2022-05-13 | 中国科学院自动化研究所 | 一种神经网络的训练方法、装置及设备 |
CN114980254B (zh) * | 2022-08-02 | 2022-10-25 | 中国人民解放军国防科技大学 | 基于决斗深度循环q网络的动态多信道接入方法和装置 |
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140025613A1 (en) * | 2012-07-20 | 2014-01-23 | Filip Ponulak | Apparatus and methods for reinforcement learning in large populations of artificial spiking neurons |
US10152676B1 (en) * | 2013-11-22 | 2018-12-11 | Amazon Technologies, Inc. | Distributed training of models using stochastic gradient descent |
US10445641B2 (en) * | 2015-02-06 | 2019-10-15 | Deepmind Technologies Limited | Distributed training of reinforcement learning systems |
-
2017
- 2017-11-03 EP EP20168108.7A patent/EP3696737B1/en active Active
- 2017-11-03 CN CN202410220856.3A patent/CN118246513A/zh active Pending
- 2017-11-03 WO PCT/IB2017/001329 patent/WO2018083532A1/en unknown
- 2017-11-03 CN CN201780067832.7A patent/CN110235148B/zh active Active
- 2017-11-03 EP EP17818249.9A patent/EP3516595B1/en active Active
- 2017-11-03 JP JP2019522656A patent/JP6827539B2/ja active Active
-
2019
- 2019-05-03 US US16/402,687 patent/US10706352B2/en active Active
-
2020
- 2020-05-28 US US16/885,918 patent/US20200293862A1/en active Pending
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 (2)
Title |
---|
"Deep Deterministic Policy Gradients in TensorFlow";Patrick Emami;《https://pemami4911.github.io/blog/2016/08/21/ddpg-rl.html》;20160821;第1-20页 * |
"Model Compression";Cristian等;《Research Track Poster》;20060820;第1-7页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3516595A1 (en) | 2019-07-31 |
EP3696737A1 (en) | 2020-08-19 |
US20200293862A1 (en) | 2020-09-17 |
WO2018083532A1 (en) | 2018-05-11 |
JP2019537132A (ja) | 2019-12-19 |
EP3516595B1 (en) | 2020-09-09 |
CN118246513A (zh) | 2024-06-25 |
EP3696737B1 (en) | 2022-08-31 |
CN110235148A (zh) | 2019-09-13 |
JP6827539B2 (ja) | 2021-02-10 |
US20190258918A1 (en) | 2019-08-22 |
US10706352B2 (en) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110235148B (zh) | 训练动作选择神经网络 | |
CN110326004B (zh) | 使用路径一致性学习训练策略神经网络 | |
CN110520868B (zh) | 用于分布式强化学习的方法、程序产品和存储介质 | |
CN110088774B (zh) | 使用强化学习的环境导航 | |
CN107851216B (zh) | 一种用于选择待由与环境进行交互的强化学习代理执行的动作的方法 | |
CN110574048B (zh) | 训练动作选择神经网络 | |
US11948085B2 (en) | Distributional reinforcement learning for continuous control tasks | |
US11625604B2 (en) | Reinforcement learning using distributed prioritized replay | |
US20210201156A1 (en) | Sample-efficient reinforcement learning | |
US20200104680A1 (en) | Action selection neural network training using imitation learning in latent space | |
JP2021185492A (ja) | 補助タスクを伴う強化学習 | |
US11627165B2 (en) | Multi-agent reinforcement learning with matchmaking policies | |
CN110546653B (zh) | 使用管理者和工作者神经网络的用于强化学习的动作选择 | |
US11113605B2 (en) | Reinforcement learning using agent curricula | |
US12008077B1 (en) | Training action-selection neural networks from demonstrations using multiple losses | |
US20220366246A1 (en) | Controlling agents using causally correct environment models | |
CN112334914A (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 |