买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】训练动作选择神经网络_渊慧科技有限公司_201780067832.7 

申请/专利权人:渊慧科技有限公司

申请日:2017-11-03

公开(公告)日:2024-03-19

公开(公告)号:CN110235148B

主分类号:G06N3/092

分类号:G06N3/092;G06N3/094;G06N3/084;G06N3/047

优先权:["20161103 US 62/417,235"]

专利状态码:有效-授权

法律状态:2024.03.19#授权;2019.10.15#实质审查的生效;2019.09.13#公开

摘要:用于训练动作选择神经网络的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。所述方法的一种包括维持回放存储器,该回放存储器存储由于代理与环境的交互而生成的轨迹;并且训练具有关于回放存储器中的轨迹的策略参数的动作选择神经网络,其中,训练动作选择神经网络包括:从回放存储器中采样轨迹;并且通过使用离线策略行动器评判强化学习技术在轨迹上训练动作选择神经网络来调整策略参数的当前值。

主权项:1.一种用于训练动作选择神经网络的计算机实现的方法,所述方法包括:维持回放存储器,所述回放存储器存储由于代理与环境的交互而生成的轨迹,每个轨迹包括在多个时间步中的每个时间步的相应动作选择数据,其中,动作被定义在连续动作空间中并且包括用于控制所述代理的控制输入,在每个时间步的所述动作选择数据识别:i表征所述环境的状态的观察,ii由所述代理响应于所述观察而执行的动作,iii响应于所述代理执行所述动作而接收到的奖励,以及iv至少在响应于所述观察而确定执行哪个动作时分配给所执行的动作的动作选择分值;以及训练具有关于所述回放存储器中的所述轨迹的策略参数的动作选择神经网络,其中,所述策略参数是所述动作选择神经网络的参数,并且其中,所述动作选择神经网络被配置为:接收表征所述环境的状态的观察;以及处理所述观察以生成网络输出,所述网络输出包括能够由所述代理响应于所述观察而执行的可能动作上的一个或多个连续分布的参数,以及其中,训练所述动作选择神经网络包括:从所述回放存储器中采样轨迹;以及通过使用离线策略行动器评判强化学习技术在所述轨迹上训练所述动作选择神经网络来使用主梯度调整所述策略参数的当前值;其中,能够通过所述代理响应于所述观察而执行的可能动作被表示为所述连续动作空间中的点,并且其中,使用主梯度调整所述策略参数的当前值包括:对于从所述轨迹中的最后时间步到所述轨迹中的初始时间步的所述轨迹中的每个时间步:使用所述动作选择神经网络处理所述观察以定义主分值分布;使用随机对抗神经网络处理所述观察,所述随机对抗神经网络被配置为:处理所述观察以生成用于所执行的动作的确定性值估计和随机Q值,其中所述随机Q值是通过所述随机对抗神经网络从在所述可能动作上的分值分布对动作进行采样来确定的;从所述主分值分布对替代动作进行采样;从所述Q值、所述确定性值估计、所述随机Q值、所述主分值分布和所采样的替代动作确定用于所述时间步的主梯度。

全文数据:训练动作选择神经网络技术领域本说明书涉及强化学习。背景技术在强化学习系统中,代理通过响应于接收表征环境的当前状态的观察而执行由强化学习系统选择的动作来与环境交互。一些强化学习系统根据神经网络的输出选择由代理响应于接收给定观察而执行的动作。神经网络是机器学习模型,其采用一层或多层非线性单元来对于接收的输入预测输出。一些神经网络是深度神经网络,其除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层即,下一个隐藏层或输出层的输入。网络的每个层根据相应参数集的当前值从接收的输入生成输出。发明内容本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的强化学习系统,其选择要由与环境交互的代理执行的动作。通常,系统使用动作选择策略神经网络来选择要响应于表征环境的状态的观察而执行的动作。因此,为了动作选择策略神经网络可以有效地用于选择动作,系统训练由于代理与环境的交互而生成的轨迹上的动作选择策略神经网络。特别地,系统可以从回放存储器中采样轨迹,然后通过使用离线策略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值满足:其中,Vxt是由观察表征的状态的估计值,Axt,at是感兴趣的动作的优势估计,Axt,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的总和,pia是动作a的重要性权重,即动作a在主分值分布中的分值与动作a在动作分值分布中的分值之间的比率,是动作a在主分值分布中的分值,是执行的操作的Q值。系统例如通过相加第一梯度项和第二梯度项从第一梯度和第二梯度确定用于时间步的主梯度步骤312。在系统使用平均网络的实现中,系统确定时间步的辅助分值分布与时间步的主分值分布之间的差异的度量的辅助梯度步骤314。特别地,辅助梯度可以等于相对于在i辅助分值分布和ii主分值分布之间的KL散度的主分布即,动作策略神经网络的输出的梯度。系统根据主梯度和辅助梯度确定最终梯度步骤316。具体地,系统从主梯度和辅助梯度确定主梯度的比例因子,然后将比例因子应用于主梯度以生成最终梯度。例如,比例因子s可以满足:其中,k是辅助梯度,g是主梯度,δ是常数值。然后,系统可以通过从主梯度中减去比例因子来应用比例因子。系统从最终梯度确定对策略参数的当前值的更新步骤318。具体地,系统可以通过动作选择策略神经网络反向传播最终梯度,以确定相对于用于更新策略参数的当前值的动作选择策略神经网络的参数的梯度。在系统不使用平均神经网络的实现中,系统可以使用主梯度作为最终梯度,或者可以使用一些其他技术例如,限制对于参数的每步改变的信任区域技术来缩放主梯度。这种技术的一个例子是在下文中描述的信任区域策略优化TRPO技术:Schulman,etal,J.Schulman,S.Levine,P.Abbeel,M.I.Jordan,andP.Moritz.Trustregionpolicyoptimization,inICML,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,etal,J.Schulman,S.Levine,P.Abbeel,M.I.Jordan,andP.Moritz.Trustregionpolicyoptimization.InICML,2015。系统确定对于评判参数的当前值的更新步骤522。特别地,对评判参数的更新可以是在目标Q值的方向上移动评判参数的梯度的更新和在目标值估计的方向上移动评判参数的另一梯度的总和。例如,更新可以满足:其中,θ′v是评判参数。系统在过程500的下一次迭代中使用估计之前更新回扫估计和OPC估计步骤524。例如,更新的回扫估计可以满足:其中,ci等于并且d是常数,例如动作空间的维数。可选的1d指数可以加快学习速度。更新的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和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及,CDROM和DVD-ROM盘。为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备例如,CRT阴极射线管或LCD液晶显示器监视器和键盘以及指示设备例如,鼠标或轨迹球的计算机上实现,用户可以通过显示设备和键盘以及指示设备向计算机提供输入。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过下述方式来与用户交互:向用户使用的设备发送文档和从用户使用的设备接收文档;例如,响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器。此外,计算机可以通过向个人设备例如,运行消息收发应用的智能电话发送文本消息或其他形式的消息并且从用户接收响应消息作为回报来与用户交互。用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的公共和计算密集部分,即推断、工作负载。可以使用机器学习框架例如,TensorFlow框架、Microsoft认知工具包框架、ApacheSinga框架或ApacheMXNet框架来实现和部署机器学习模型,本说明书中描述的主题的实施例可以实现在计算系统中,该计算系统包括诸如作为数据服务器的后端组件,或者包括诸如应用服务器的中间件组件,或者包括诸如具有图形用户界面、Web浏览器或app的客户端计算机的前端组件,或者包括一个或多个这样的后端、中间件或前端组件的任何组合,用户可以通过该图形用户界面、Web浏览器或app与本说明书中描述的主题的实现交互。系统的组件可以通过任何形式或介质的数字数据通信——例如,通信网络——互连。通信网络的示例包括局域网“LAN”和广域网“WAN”例如,因特网。可以在包括后端组件的计算系统中实现,该后端组件例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如,具有图形用户界面,网络浏览器或应用程序的客户端计算机,用户可通过该应用程序与本说明书中描述的主题的实现进行交互,或者一个或多个这样的后端的任何组合,中间件或前端组件。系统的组件可以通过任何形式或介质的数字数据通信互连,例如通信网络。通信网络的示例包括局域网LAN和广域网WAN,例如因特网。计算系统可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据例如,HTML页面发送到用户设备,例如,用于向与作为客户端的设备交互的用户显示数据和从用户接收用户输入的目的。可以在服务器处从所述设备接收在用户设备处生成的数据,例如,用户交互的结果。虽然本说明书包含许多具体的实现细节,但是这些不应被解释为对任何发明的范围或可以要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中切除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。类似地,虽然在附图中描绘了操作并且以特定顺序在权利要求中叙述了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,在权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。

权利要求:1.一种方法,包括:维持回放存储器,所述回放存储器存储由于代理与环境的交互而生成的轨迹,每个轨迹包括在多个时间步中的每个时间步的相应动作选择数据,在每个时间步的所述动作选择数据识别:i表征所述环境的状态的观察,ii由所述代理响应于所述观察而执行的动作,iii响应于所述代理执行所述动作而接收到的奖励,以及iv至少在响应于所述观察而确定执行哪个动作时分配给所执行的动作的动作选择分值;以及训练具有关于所述回放存储器中的所述轨迹的策略参数的动作选择神经网络,其中,所述动作选择神经网络被配置为:接收表征所述环境的状态的观察;以及处理所述观察以生成网络输出,所述网络输出定义能够由所述代理响应于所述观察而执行的可能动作上的分值分布,以及其中,训练所述动作选择神经网络包括:从所述回放存储器中采样轨迹;以及通过使用离线策略行动器评判强化学习技术在所述轨迹上训练所述动作选择神经网络来调整所述策略参数的当前值。2.根据权利要求1所述的方法,其中,能够通过所述代理响应于所述观察而执行的可能动作集合是有限的,其中,所述网络输出是所述分值分布,并且其中,使用所述离线策略行动器评判强化学习技术来调整所述策略参数的当前值包括:对于从所述轨迹中的最后时间步到所述轨迹中的初始时间步的所述轨迹中的每个时间步:使用所述动作选择神经网络处理所述观察以确定主分值分布;使用评判神经网络处理所述观察以确定每个可能动作的相应Q值;以及从所述Q值和所述主分值分布确定用于该时间步的主梯度。3.根据权利要求2所述的方法,其中,确定所述主梯度包括:从所述Q值和所述主分值分布确定用于所述时间步的值估计;从所述奖励和当前回扫估计确定用于所述时间步的回扫估计;以及使用所述主分值分布、所述Q值、所述值估计和所述回扫估计来确定所述主梯度。4.根据权利要求3所述的方法,其中,确定所述主梯度包括:从所述主分值分布中的用于所执行的动作的所述分值和在响应于所述观察而确定执行哪个动作时分配给所执行的动作的所述动作选择分值确定截断的重要性权重;以及在确定所述主梯度的第一项时应用所述截断的重要性权重。5.根据权利要求4所述的方法,其中,确定所述主梯度包括:从所述主分值分布中的所述分值和在响应于所述观察而确定执行哪个动作时使用的动作集合中的所述动作的动作选择分值确定校正梯度项。6.根据权利要求3-5中的任一项所述的方法,进一步包括:从用于所执行的动作的Q值和所述回扫估计确定评判梯度;从所述评判梯度确定所述评判神经网络的所述参数的当前值的更新;以及更新所述回扫估计。7.根据权利要求1所述的方法,其中,能够通过所述代理响应于所述观察而执行的可能动作被表示为连续动作空间中的点,其中,所述网络输出包括定义在所述连续动作空间中的所述点上的分值分布的分布参数,并且其中,使用离线策略行动器评判强化学习技术调整所述策略参数的当前值包括:对于从所述轨迹中的最后时间步到所述轨迹中的初始时间步的所述轨迹中的每个时间步:使用所述动作选择神经网络处理所述观察以定义主分值分布;使用随机对抗神经网络处理所述观察,所述随机对抗神经网络被配置为:处理所述观察以生成用于所执行的动作的确定性值估计和随机Q值;从所述主分值分布采样替代动作;以及从所述Q值、所述确定性值估计、所述随机Q值、所述主分值分布和所采样的替代动作确定用于所述时间步的主梯度。8.根据权利要求2-7中的任一项所述的方法,其中,调整所述策略参数的当前值进一步包括:使用具有多个平均网络参数的平均神经网络并根据所述平均网络参数的当前值,处理所述观察,以生成辅助分值分布;确定在所述辅助分值分布与所述主分值分布之间的差异的度量的辅助梯度;从所述主梯度和所述辅助梯度确定最终梯度;以及从所述最终梯度确定对所述策略参数的所述当前值的更新。9.根据权利要求8所述的方法,其中,所述差异的所述度量是Kullback-Leibler散度。10.根据权利要求8或9中的任一项所述的方法,其中,从所述主梯度和所述辅助梯度确定所述最终梯度包括:从所述辅助梯度和所述主梯度确定所述主梯度的比例因子;以及将所述比例因子应用于所述主梯度以确定所述最终梯度。11.根据权利要求10所述的方法,其中,所述比例因子s满足:其中,k是所述辅助梯度,g是所述主梯度,并且δ是常数值。12.根据权利要求10所述的方法,其中,应用所述比例因子包括从所述主梯度减去所述比例因子。13.根据权利要求8-12中的任一项所述的方法,其中,所述平均网络参数的所述当前值表示在所述训练期间所述动作选择网络的所述参数的值的运行平均值。14.根据权利要求13所述的方法,进一步包括:使用用于所述轨迹的所述更新来更新所述策略参数的所述当前值以确定所述策略参数的更新值;以及使用所述策略参数的所述更新值更新所述平均网络参数的所述当前值,以确定所述平均网络参数的更新值。15.根据权利要求14所述的方法,其中,所述平均网络参数的所述更新值是所述平均网络参数的所述当前值与所述主网络参数的所述更新值的加权和。16.一种训练具有多个主网络参数的主神经网络以通过优化目标函数来确定所述主网络参数的训练值的方法,所述方法包括:接收包括多个训练示例的一批训练数据;以及对于所述批中的所述多个训练示例中的每一个:使用所述主神经网络根据所述主网络参数的当前值来处理该训练示例以生成用于该训练示例的主网络输出;从所述主网络输出确定所述目标函数的主梯度;使用具有多个平均网络参数的平均神经网络并根据所述平均网络参数的当前值,处理所述训练示例以生成用于所述训练示例的平均网络输出;确定在所述平均网络输出和所述主网络输出之间的差异的度量的辅助梯度;从所述主梯度和所述辅助梯度确定最终梯度;以及从所述最终梯度确定对所述主网络参数的所述当前值的更新。17.根据权利要求16所述的方法,其中,所述差异的所述辅助度量是Kullback-Leibler散度。18.根据权利要求16或17中的任一项所述的方法,其中,从所述主梯度和所述辅助梯度确定所述最终梯度包括:从所述辅助梯度和所述主梯度确定所述主梯度的比例因子;以及将所述比例因子应用于所述主梯度以确定所述最终梯度。19.根据权利要求18所述的方法,其中,所述比例因子s满足:其中,k是所述辅助梯度,g是所述主梯度,并且δ是常数值。20.根据权利要求19所述的方法,其中,应用所述比例因子包括从所述主梯度减去所述比例因子。21.根据权利要求16-20中的任一项所述的方法,其中,所述平均网络参数的所述当前值表示在所述训练期间所述主网络参数的值的运行平均值。22.根据权利要求21所述的方法,进一步包括:使用所述批中的所述训练示例的所述更新来更新所述主网络参数的所述当前值,以确定所述主网络参数的更新值;以及使用所述主网络参数的所述更新值来更新所述平均网络参数的所述当前值,以确定所述平均网络参数的更新值。23.根据权利要求22所述的方法,其中,所述平均网络参数的所述更新值是所述平均网络参数的所述当前值与所述主网络参数的所述更新值的加权和。24.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-23中的任一项所述的相应方法的操作。25.一个或多个存储指令的计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-23中的任一项所述的相应方法的操作。

百度查询: 渊慧科技有限公司 训练动作选择神经网络

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。