通过使用时间值传递在长时间尺度上控制代理制造技术

技术编号:28568053 阅读:21 留言:0更新日期:2021-05-25 18:05
本发明专利技术涉及用于训练神经网络系统的方法、系统和装置,包括在计算机存储介质上编码的计算机程序,该神经网络系统用于控制与环境交互的代理执行指定任务。所述方法之一包括:使代理执行任务情节,其中代理尝试执行指定任务;针对序列中的一个或多个特定时间步中的每个时间步:根据(i)在该时间步处的实际奖励,和(ii)在序列中在特定时间步之后多于时间步阈值数目的一个或多个时间步处的值预测,生成针对特定时间步的修改奖励;以及通过强化学习,通过使用至少针对特定时间步的修改奖励来训练所述神经网络系统。

【技术实现步骤摘要】
【国外来华专利技术】通过使用时间值传递在长时间尺度上控制代理
本说明书涉及强化学习。
技术介绍
在强化学习系统中,代理通过执行由强化学习系统响应于接收到用于表征环境的当前状态的观察而选择的动作来与所述环境的交互。一些强化学习系统响应于接收到给定观察,根据神经网络的输出来选择待由代理执行的动作。神经网络是一些机器学习模型,其采用一层或多层非线性单元来预测针对所接收输入的输出。一些神经网络是深度神经网络,其除了包括输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层(即下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从所接收的输入生成输出。
技术实现思路
本说明书总体上描述一种强化学习系统,其训练神经网络系统以控制代理与环境的交互。因此,在一方面,一种训练用于控制与环境交互的代理执行指定任务的神经网络系统的方法包括:使代理执行任务情节,在其中代理尝试执行指定任务。在任务情节期间的时间步序列中的每个时间步处,该方法可以包括:获得用于表征环境的当前状态的观察;根据观察并通过使用神经网络系统,选择待由代理响应于观察而执行的动作;通过使用神经网络系统,生成值预测,该值预测表示环境处于当前状态以成功执行指定任务的值;使代理执行所选择的动作;以及作为响应,接收实际奖励,该实际奖励表征由于代理执行所选择的动作而在环境中取得的进展。针对序列中的一个或多个特定时间步中的每个时间步,该方法还可以包括:根据(i)该时间步处的实际奖励、和(ii)在序列中在特定时间步之后多于时间步阈值数目的一个或多个时间步处的值预测,生成针对该特定时间步的修改奖励。该方法还可以包括:通过强化学习,至少使用针对特定时间步的修改奖励来训练神经网络系统。该方法的实施方式解决了长期信用分配的问题,并且通过这样做可以显著扩展通过计算能够解决的决策问题的范围,例如,基于过去事件来决策在特定时间执行什么动作。修改奖励允许基于过去事件对未来奖励的贡献来重新评估过去事件的重要性。阈值步数可以使得在时间步与稍后的值预测之间所接收的奖励与任务无关,例如,在这两者之间可能存在“干扰任务”;和/或,阈值步数可能大于奖励半衰期(以时间步为单位),即,在未来奖励(在时间步之后)以系数γ来进行折扣的情况下,阈值步数可以是1/(1-γ)。因此,总的来说,该方法的实施方式可以考虑仅在自特定时间步起已经经过长时间段之后才接收到的奖励。该方法可以应用于任何强化学习技术。通常,强化学习技术可以是这样一种技术,即基于所接收的奖励,例如通过使用梯度下降技术来适应用于控制代理的神经网络系统的参数,使得随着时间推移,代理学习执行指定任务。梯度下降技术可以涉及损失函数梯度的反向传播,这取决于所接收的奖励。该方法的实施方式修改通过强化学习技术所看到的奖励,否则该奖励可以其通常方式进行操作。因此,该方法不限于与特殊的强化学习技术或神经网络系统架构一起使用。然而,在一些实施方式中,神经网络系统被配置为通过策略梯度损失函数的梯度的反向传播来学习执行指定任务。一种生成修改奖励的方式涉及在外部存储器中存储相关的信息,例如感知和事件信息。然后可以标识并访问该信息,以评估哪些过去事件对未来奖励有贡献。获知哪些过去事件对未来奖励有贡献,有助于根据与未来奖励相关联的值预测来生成针对过去事件的修改奖励。因此,在一些实施方式中,神经网络系统增设有外部存储器以及一个或多个用于从外部存储器读取数据的读取头。在每个时间步处,可以通过一个或多个读取头中的每一个从外部存储器读取数据,并使用该数据来确定该时间步的(压缩)状态表示,然后将该状态表示写入外部存储器。因此,状态表示可以具有与从外部存储器读取的数据相同的维数。存储器可以按时间索引,例如,它可以具有用于每个时间步的时隙。状态表示可以包括对环境的观察的表示,其可以包括先前动作和奖励的表示;在递归神经网络系统中,它可以包括所述系统在先前时间步处的隐藏状态;它也可以包括在先前时间步处从存储器读取的数据的表示。神经网络系统可以被配置为学习从存储器中检索与在时间步处预测值函数有关的数据。更特别地,神经网络系统可以学习检索与选择待执行动作有关的过去记忆。在一些实施方式中,可以基于在学习的读取键与由时间步索引的一个/多个记忆之间的相似性度量,从存储器读取数据。读取头中的每个可以基于在时间步的相应读取键与一行记忆之间的相似性的相似性度量,在多个记忆位置上执行软读取。所检索的数据可以包括先前存储的状态表示的加权组合。在递归神经网络(RNN)系统中,时间步的状态表示和所检索的数据(针对先前时间步)可以与先前时间步的RNN系统的隐藏状态一起用作递归输入。学习可以由所使用的强化学习技术来驱动,更具体地,可以由强化学习损失函数(诸如策略梯度损失)来驱动。在一些实施方式中,该方法可以包括基于在时间步处针对读取头从外部存储器读取数据的强度,例如以在时间步处针对读取头从外部存储器读取数据的权重,将时间步序列中的一个或多个时间步标识为拼接时间步。强度可以由读取强度参数来确定,该读取强度参数定义以怎样的强度在时间步处从外部存储器读取,例如由神经网络系统来确定或学习。这可以是相似性度量的附加参数。拼接时间步可以包括从中获得用于生成修改奖励的值预测的时间步(在特定的当前时间步之后)。因此,生成修改奖励可以包括:标识在拼接时间步之前多于时间步阈值数目的一个或多个特定时间步;根据在拼接时间步处通过使用从外部存储器读取的数据所生成的值预测,针对每个所标识的时间步生成奖励的修改;以及将修改应用于相应时间步的实际奖励。拼接时间步可以是其中读取强度参数超过阈值的时间步;它可以是在其中所有读取强度参数都超过阈值的时间窗口内具有最高读取强度参数的时间步。在一些实施方式中,确定压缩状态表示可以包括:通过使用解码器神经网络来重建环境观察的表示,可选地包括先前动作和奖励的表示;以及通过使用重建损失来训练包括解码器的神经网络系统。能够实施本说明书所述主题的特定实施例,以便实现以下优点中的一个或多个。许多复杂的任务(例如,机器人任务)需要在一个或多个较早时间步处正确执行某些动作或观察某些信息,然后在一个或多个更晚的时间步处使用观察到的信息或所述动作的结果。是否成功执行了所述动作、或是否成功观察到所需的信息是不清楚的,直到更晚得多的时间步为止。因此,这些任务涉及到在代理的动作与这些动作导致成功完成指定任务之间的长时间延迟。常规的强化学习系统无法成功训练可用于成功使代理执行此类任务的神经网络或其他控制策略。特别地,在训练期间,常规系统只能在相对较短的时间内为给定时间步处的动作分配“信用”,因为奖励仅基于由代理所执行的动作的短期影响。另一方面,所述系统能够通过使用来自久远的未来时间步的值预测修改在某些时间步处的奖励而成功地为久远的过去动作分配信用。这种方法允许所述系统能够成功地控制代理以执行现有系统难以处理的任务。附加地,由于所述方法仅通过使用将在稍后的时间步处已生成的信息来修改奖励,因此能够将其与任何现有的强化学习技术一起使用,而不会大量增加由本文档来自技高网...

【技术保护点】
1.一种训练神经网络系统的方法,所述神经网络系统用于控制与环境的交互的代理以执行指定任务,所述方法包括:/n使所述代理执行任务情节,在所述任务情节中所述代理尝试执行所述指定任务,包括在所述任务情节期间的时间步序列中的每个时间步处:/n获得表征所述环境的当前状态的观察;/n根据所述观察并通过使用所述神经网络系统,选择待由所述代理响应于所述观察而执行的动作;/n通过使用所述神经网络系统,生成值预测,所述值预测表示所述环境处于所述当前状态以成功执行所述指定任务的值;/n使所述代理执行所选择的动作;以及/n作为响应,接收实际奖励,所述实际奖励表征由于所述代理执行所选择的动作而在所述环境中取得的进展;/n针对所述序列中的一个或多个特定时间步中的每个时间步:/n根据(i)所述时间步处的实际奖励,和(ii)在所述序列中在所述特定时间步之后多于时间步阈值数目的一个或多个时间步处的值预测,生成针对所述特定时间步的修改奖励;以及/n通过强化学习,通过使用至少针对所述特定时间步的所述修改奖励来训练所述神经网络系统。/n

【技术特征摘要】
【国外来华专利技术】20181012 US 62/745,2021.一种训练神经网络系统的方法,所述神经网络系统用于控制与环境的交互的代理以执行指定任务,所述方法包括:
使所述代理执行任务情节,在所述任务情节中所述代理尝试执行所述指定任务,包括在所述任务情节期间的时间步序列中的每个时间步处:
获得表征所述环境的当前状态的观察;
根据所述观察并通过使用所述神经网络系统,选择待由所述代理响应于所述观察而执行的动作;
通过使用所述神经网络系统,生成值预测,所述值预测表示所述环境处于所述当前状态以成功执行所述指定任务的值;
使所述代理执行所选择的动作;以及
作为响应,接收实际奖励,所述实际奖励表征由于所述代理执行所选择的动作而在所述环境中取得的进展;
针对所述序列中的一个或多个特定时间步中的每个时间步:
根据(i)所述时间步处的实际奖励,和(ii)在所述序列中在所述特定时间步之后多于时间步阈值数目的一个或多个时间步处的值预测,生成针对所述特定时间步的修改奖励;以及
通过强化学习,通过使用至少针对所述特定时间步的所述修改奖励来训练所述神经网络系统。


2.根据前述权利要求中的任一项所述的方法,
其中,所述神经网络系统增设有外部存储器,
其中,使所述代理执行所述任务情节还包括在所述序列中的每个时间步处:
针对一个或多个读取头中的每一个,从所述外部存储器读取数据,以及
将数据写入所述外部存储器,以及
其中,在每个时间步处选择所述待执行的动作包括:通过使用至少(i)在先前时间步处从所述外部存储器读取的数据或者(ii)在所述时间步处从所述外部存储器读取的数据,来选择所述动作;
其中,在每个时间步处生成所述值预测包括:通过使用至少(i)在先前时间步处从所述外部存储器读取的数据或者(ii)在所述时间步处从所述外部存储器读取的数据,来生成所述值预测。


3.根据权利要求2所述的方法,其中,生成针对一个或多个特定时间步中的每个时间步的修改奖励包括:
针对所述一个或多个读取头中的每一个:
基于在所述时间步处针对所述读取头从所述外部存储器读取数据的强度,将所述时间步序列中的一个或多个时间步标识为拼接时间步;
针对每个拼接时间步:
标识在所述序列中在所述拼接时间步之前多于所述时间步阈值数目的一个或多个特定时间步;以及
根据在所述拼接时间步处通过使用从所述外部存储器读取的数据所生成的值预测,针对每个所标识的时间步生成所述奖励的修改;以及
将所述修改应用于针对对应时间步的实际奖励。


4.根据权利要求3所述的方法,
其中,从所述外部存储器读取数据包括:
针对每个读取头,生成读取强度参数,所述读取强度参数定义在所述时间步处以怎样的强度从所述外部存储器进行读取,以及
其中,基于在所述时间步处针对所述读取头从所述外部存储器读取数据的强度,将所述时间步序列中的一个或多个时间步标识为拼接时间步包括:
将其中针对所述读取...

【专利技术属性】
技术研发人员:格雷戈里·邓肯·韦恩蒂莫西·保罗·利利克拉普洪嘉君乔舒亚·西蒙·阿布拉姆松
申请(专利权)人:渊慧科技有限公司
类型:发明
国别省市:英国;GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1