多任务强化学习中利用元梯度学习动作选择的选项的制作方法

文档序号:32294682发布日期:2022-11-23 02:39阅读:55来源:国知局
多任务强化学习中利用元梯度学习动作选择的选项的制作方法
多任务强化学习中利用元梯度学习动作选择的选项
1.对相关申请的交叉引用
2.本技术要求于2020年6月5日提交的第63/035,467号美国临时申请的优先权。该在先申请的公开内容被认为是本技术公开内容的一部分,并通过引用被合并于此。


背景技术:

3.本说明书涉及强化学习。
4.在强化学习系统中,代理通过执行由强化学习系统响应于接收表征环境当前状态的观察而选择的动作来与环境交互。
5.一些强化学习系统根据神经网络的输出,响应于接收到给定的观察来选择将由代理执行的动作。
6.神经网络是采用一层或多层非线性单元来预测接收到的输入的输出的机器学习模型。一些神经网络是深度神经网络,除了输出层之外,还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一个层,即下一个隐藏层或输出层,的输入。网络的每一层根据相应参数集合的当前值从接收的输入生成输出。


技术实现要素:

7.本说明书总体上描述了一种用于控制代理在与环境交互的同时执行多个任务的强化学习系统。该系统学习选项,其中选项包括由代理在选项策略神经网络的控制下执行的原始动作(primitive action)的序列。原始动作是由代理在时间步长执行的动作。在实现中,该系统通过元学习,更具体地说,通过在代理与环境交互的同时学习用于训练选项策略神经网络的奖励,来发现对多个不同任务有用的选项。
8.因此,在一个方面中,描述了一种用于控制代理在与环境交互的同时执行多个任务的系统。该系统被配置为在多个时间步长的每一个处理包括表征环境的当前状态的观察的输入,以生成用于选择将由代理执行的动作的输出,该动作例如是预定的可能动作集合中的一个。任务奖励响应于动作被接收;对于一些或许多时间步长,任务奖励可以为零。
9.系统可以包括管理器神经网络和选项策略神经网络集合,每个选项策略神经网络用于根据相应的选项策略来选择将由代理执行的动作序列。管理器神经网络可以被配置为在时间步长,例如在它需要挑选选项或原始动作的每个时间步长,根据管理器神经网络的参数值,处理观察和标识代理当前正在执行的任务中的一个——例如任务嵌入——的数据,以生成用于从管理器动作集合中选择管理器动作的输出。管理器动作集合可以包括能够由代理执行的可能(原始)动作,例如预定的可能动作集合中的每个动作。管理器动作集合可以包括选项选择动作的集合,每个选项选择动作选择选项策略神经网络中的一个。
10.每个选项策略神经网络可以被配置为在一系列时间步长中的每一个(例如,选项被选择时的时间步长),根据由选项策略神经网络的参数值定义的选项策略,处理时间步长的观察,以生成用于选择将由代理执行的动作——即原始动作——的输出。当所选择的管理器动作是选项选择动作时,由管理器动作选择的选项策略神经网络在接连的时间步长生
成其输出,直到满足选项终止准则为止。当所选择的管理器动作是能够由代理执行的可能(原始)动作中的一个时,用于选择动作的输出是所选择的管理器动作。
11.系统可以包括选项奖励神经网络集合,每个选项奖励神经网络用于每个相应的选项策略神经网络。每个选项奖励神经网络可以被配置为根据选项奖励神经网络的参数值在时间步长处理观察,以生成相应选项策略神经网络的选项奖励。选项奖励可以在相应选项被选择的每个时间步长被生成。
12.在实现中,系统被配置为使用任务奖励来训练选项奖励神经网络集合和管理器神经网络。系统也可以被配置为使用相应选项策略神经网络的选项奖励来训练每个选项策略神经网络。
13.各种神经网络和训练可以使用任何基于模型或无模型的强化学习方法,例如随机或确定性策略梯度技术,诸如,仅作为示例,演员-评判家(a-c)方法、信任区域策略优化(trpo)方法、深度确定性策略梯度(ddpg)方法;或者诸如深度q网络(dqn)方法的函数近似技术。一般而言,在本说明书中,当输出被用于选择动作或选项策略神经网络时,该输出可以直接定义动作或选择,或者可以定义动作或选择集合中的每个动作或选择的分数,或者可以例如通过提供一个或多个概率分布的参数来对每个动作或选择分配相应的概率。任务奖励可以表征代理朝向完成所标识的任务的进展。
14.在实现中,系统被配置为在元梯度训练技术中使用任务奖励来训练每个选项奖励神经网络,具体地,在元梯度训练技术中,在相应选项策略神经网络的控制下,在代理与环境的交互期间,即基于该交互,调整选项奖励神经网络的参数值以优化来自环境的回报。在这种情境下,回报可以指由代理接收的任务奖励的累积度量,例如,奖励的时间折扣总和,其中在计算回报时,未来奖励以折扣因子γ进行折扣。
15.例如,在选项选择动作后并且在一系列时间步长中,直到满足终止准则为止,训练可以包括使用任务奖励来更新管理器神经网络的参数值,以及使用相应选项策略神经网络的选项奖励来更新所选择的选项策略神经网络的参数值。在这个阶段,选项奖励神经网络的参数可以是固定的。然后,在满足终止准则后,训练可以包括使用任务奖励更新用于相应的选项策略神经网络的选项奖励神经网络的参数值。
16.任务奖励可以定义管理器(强化学习)目标函数;选项奖励可以定义选项策略(强化学习)目标函数。管理器目标函数和选项策略目标函数的梯度可以各自包括相应的策略梯度。更新管理器神经网络的参数值可以包括反向传播管理器目标函数的梯度;类似地,更新选项策略神经网络的参数值可以包括反向传播选项策略目标函数的梯度。
17.在实现中,更新参数值可以包括生成轨迹以及对应的观察和任务奖励,轨迹包括由先前选择的选项策略神经网络选择的一个或多个动作的序列。可以使用从轨迹获得的任务奖励来更新用于相应选项策略神经网络的选项奖励神经网络的参数值。这可以涉及反向传播基于来自轨迹的任务奖励的选项奖励目标函数的梯度,例如策略梯度目标函数。梯度可以被反向传播通过相应的选项策略神经网络到相应的选项奖励神经网络中,例如通过在其期间选项策略神经网络操作以选择(原始)动作的每个时间步长。
18.在一些实现中,相同形式的估计回报可以例如在策略梯度更新中被使用,用于更新管理器神经网络、选项奖励神经网络以及选项终止神经网络(稍后描述)。
19.在一些实现中,用于更新管理器神经网络、选项奖励神经网络以及选项终止神经
网络(稍后描述)的策略梯度也取决于值估计。相同的值估计可以被用于更新这些神经网络中的每一个。在这种情境下,值估计表示处于当前状态以成功执行标识的任务的环境的值。例如,它可以包括对起因于由观察表征的处于当前状态的环境的所标识的任务的回报的估计。
20.在基于演员-评判家的实现中,管理器神经网络可以例如基于标识任务的数据,为使用任务奖励训练的其他神经网络生成值估计。每个选项策略神经网络可以生成它自己的值估计。在基于演员-评判家的实现中,管理器神经网络和每个选项策略神经网络可以包括神经网络,具有提供对应动作选择数据的策略头和提供值估计的值头。管理者神经网络、选项策略神经网络和选项奖励神经网络中的一个或多个可以基于估计的n步回报,即根据n个动作选择时间步长计算的回报,来更新。
21.系统的一些实现包括选项终止神经网络集合,每个选项终止神经网络用于一个相应的选项策略神经网络。每个选项终止神经网络可以被配置为在每个时间步长根据选项奖励神经网络的参数值处理观察,以生成相应选项策略神经网络的选项终止值。对于每个选项奖励神经网络,选项终止值可以确定是否满足选项终止准则。选项奖励神经网络可以直接或间接地生成选项终止值,例如,它可以参数化概率分布,选项终止值可以从该概率分布中被采样。
22.系统可以被配置为在元梯度训练技术中使用任务奖励来训练选项终止神经网络。这可以是以下技术,在该技术中:在相应的选项策略神经网络的控制下,在代理与环境的交互期间,即基于该交互调整选项终止神经网络的参数值,以优化来自环境的回报。
23.因此,该系统可以被配置为在对于相应的选项策略神经网络满足终止准则之后,通过使用任务奖励来更新用于相应的选项策略神经网络的选项奖励神经网络的参数值,来训练选项终止神经网络集合。这可以包括生成轨迹以及对应的观察和任务奖励,轨迹包括由相应选项策略神经网络选择(即,由选项选择动作选择)的一个或多个动作的序列。然后,可以使用来自轨迹的任务奖励来更新相应选项策略神经网络的选项终止神经网络的参数值。这可以涉及将基于来自轨迹的任务奖励的选项终止目标函数的梯度反向传播通过选项策略神经网络和通过相应的选项终止神经网络。
24.在实现中,系统被配置为当根据管理器神经网络的当前参数值和转换成本选择管理器动作时,取决于包括来自环境的预期任务奖励的估计回报来训练管理器神经网络。转换成本鼓励管理器神经网络选择选项策略神经网络,以鼓励发现被暂时扩展的选项。在实现中,转换成本被配置为在每个时间步长减少用于更新管理器神经网络的参数的任务奖励或回报。它可以包括小的负值。
25.选项策略神经网络集合可以被实现为共享选项策略神经网络主体上的选项策略神经网络头集合。类似地,选项奖励神经网络集合可以包括共享选项奖励神经网络上的选项奖励神经网络头集合,并且选项终止神经网络集合可以包括共享选项终止神经网络体上的选项终止神经网络头集合。
26.在实现中,只有管理器神经网络接收和处理标识正在被执行的任务的数据。
27.在被提供给上述神经网络之前,观察可以被预处理。例如,当观察是图像时,预处理可以使用卷积神经网络层的栈,可选地跟随一个或多个全连接神经网络层和/或一个或多个递归神经网络层,其将观察映射到更紧凑的表示。当观察包括附加特征,例如本体感受
特征时,这些可以作为输入被提供到具有卷积栈输出的一个或多个全连接层。
28.在另一方面,描述了一种训练系统的计算机实现的方法,该系统用于控制代理在与环境交互的同时执行多个任务。系统被配置为在多个时间步长中的每一个处理包括表征环境的当前状态的观察的输入,以生成用于选择将由代理执行的动作的输出,并且接收响应于该动作的任务奖励。
29.该方法可以包括获得观察和标识当前正在由代理执行的任务中的一个的任务标识数据;以及根据管理器神经网络的参数值处理观察和任务标识数据,以生成用于从管理器动作集合中选择管理器动作的输出。管理器动作集合可以包括能够由代理执行的可能动作和选项选择动作集合,每个选项选择动作用于选择选项策略神经网络集合中的一个。当所选择的管理器动作是能够由代理执行的可能动作中的一个时,该方法可以包括使用所选择的管理器动作来生成用于选择将由代理执行的动作的输出。当所选择的管理器动作是选项选择动作时,该方法可以包括选择选项策略神经网络,并且对于一系列时间步长,例如直到满足选项终止准则为止,根据由所选择的选项策略神经网络的参数值定义的选项策略来处理该时间步长的观察,以生成用于选择将由代理执行的动作的输出。
30.该方法还可以包括维护选项奖励神经网络集合,每个选项奖励神经网络用于一个相应的选项策略神经网络。在由所选择的选项策略神经网络在一系列时间步长处理观察期间,即基于由所选择的选项策略神经网络在一系列时间步长处理观察,该方法可以包括使用选项奖励来训练所选择的选项策略神经网络,该选项奖励是通过根据相应选项奖励神经网络的参数值处理观察而生成的;以及使用任务奖励来训练管理器神经网络。训练所选择的选项策略神经网络可以包括使用来自相应选项奖励神经网络的选项奖励来更新所选择的选项策略神经网络的参数值。在由所选择的选项策略神经网络在一系列时间步长处理观察之后,例如在满足终止条件之后,该方法可以使用任务奖励来训练相应的选项奖励神经网络。
31.从广义上讲,该方法实现了一个调用和回报(call-and-return)选项运行模型,在内训练循环中对所学习的选项奖励来训练选项策略神经网络,并且在外训练循环中更新选项奖励神经网络,该外训练循环更新选项奖励神经网络的参数,并且在存在选项终止神经网络的情况下,例如通过内循环更新进行反向传播。
32.该方法可以包括维护选项终止神经网络集合,每个选项终止神经网络用于一个相应的选项策略神经网络,每个选项终止神经网络根据选项终止神经网络的参数值提供选项终止值,该选项终止神经网络确定对于相应的选项策略神经网络是否满足选项终止准则。在由所选择的选项策略神经网络在一系列时间步长处理观察期间,选项终止神经网络(和选项奖励神经网络)的参数值可以是固定的。在由所选择的选项策略神经网络在一系列时间步长处理观察之后,可以使用任务奖励来训练相应的选项终止神经网络。
33.训练选项奖励神经网络可以包括使用(部分)训练的所选择的选项策略神经网络来生成新的轨迹,即响应于一个或多个观察来选择要在环境中执行的一个或多个进一步动作,以接收一个或多个任务奖励。可以使用响应于进一步动作而接收的任务奖励来训练相应的选项奖励神经网络。可以以类似的方式训练相应的选项终止神经网络。
34.在上述系统和方法的一些实现中,任务是多个不同的代理控制任务,即,包括控制相同的机械代理以使代理在相同的真实世界环境中或真实世界环境的模拟版本中完成不
同目标的任务。
35.代理能够是例如机器人或自主或半自主载具。例如,任务能够包括使代理导航到环境中的不同位置、使代理定位不同的对象、使代理拾取不同的对象或将不同的对象移动到一个或多个指定的位置等。选项可以定义与主任务相关的更简单的子任务。
36.更详细地说,在一些应用中,环境是真实世界环境并且代理是与真实世界环境交互的机械代理。例如,代理可以是与环境交互以完成一个或多个特定任务的机器人。作为另一示例,代理可以是在环境中导航的自主或半自主陆地或空中或水上载具。在这些实现中,动作可以是控制机器人或载具的物理行为的控制信号。
37.一般而言,观察可以包括例如图像、对象位置数据和在代理与环境交互时捕捉观察的传感器数据中的一个或多个,例如来自图像、距离或位置传感器或来自致动器的传感器数据。在机器人或其他机械代理或载具的情况下,观察可以类似地包括位置、线速度或角速度、力、扭矩或加速度以及代理的一个或多个部分的全局或相对姿态中的一个或多个。观察可以在1、2或3维度中被定义,并且可以是绝对和/或相对观察。例如,在机器人的情况下,观察可以包括表征机器人当前状态的数据,例如以下一项或多项:关节位置、关节速度、关节力、扭矩或加速度,以及诸如例如手臂和/或机器人持有的物品的机器人的一部分的全局或相对姿态。观察还可以包括,例如,感测的电子信号,诸如电机电流或温度信号;和/或例如来自相机或lidar传感器的图像或视频数据,例如来自代理的传感器的数据或来自与环境中的代理分开放置的传感器的数据。
38.在这些应用中,动作可以是控制机器人——例如机器人关节的扭矩——的控制信号或更高级别的控制命令;或者控制自主或半自主陆地或空中或海上载具——例如载具的控制表面或其他控制元件的扭矩——的控制信号或更高级别的控制命令;或者例如电机控制数据。换句话说,动作能够包括例如机器人的一个或多个关节或另一个机械代理的部件的位置、速度或力/扭矩/加速度数据。动作数据可以包括这些动作的数据和/或电子控制数据,诸如电机控制数据,或者更一般地,用于控制环境中的一个或多个电子设备的数据,对这些电子设备的控制对环境的观察状态有影响。例如,在自主或半自主陆地或空中或海上载具的情况下,动作可以包括控制导航——例如转向——和运动——例如载具的制动和/或加速——的动作。
39.奖励可以包括例如对接近或达到一个或多个目标位置、一个或多个目标姿势或一个或多个其他目标配置的一个或多个奖励。例如,对于机器人,奖励可以取决于关节方位(角度)或速度、末端执行器位置、质心位置或身体部件组的位置和/或方位。成本(即负奖励)可以被类似地定义,例如取决于当与对象交互时施加的力、能量使用或机器人身体部分的位置。
40.系统可以用于训练载具或机器人以执行任务,诸如仓库、物流或工厂自主任务,例如在其制造期间收集、放置或移动存储的货物或货物的一部分;或者所执行的任务可以包括包裹递送控制任务。动作可以包括与转向或其他方向控制动作相关的动作,并且观察可以包括对其他载具或机器人的位置或运动的观察。机器人或载具可以在用于真实世界环境之前进行模拟训练。
41.在一些应用中,代理可以是静态或移动软件代理,即被配置为自主操作和/或与其他软件代理或人一起执行任务的计算机程序。例如,环境可以是集成电路布线环境,并且系
统可以被配置为学习以执行用于对诸如asic的集成电路的互连线进行布线的布线任务。然后奖励(或成本)可以取决于一个或多个布线度量,诸如互连电阻、电容、阻抗、损失、速度或传播延迟、物理线路参数,诸如宽度、厚度或几何形状,以及设计规则。观察可以是组件位置和互连的观察;动作可以包括例如定义元件位置或方位的元件放置动作和/或互连布线动作,例如互连选择和/或放置动作。
42.在一些应用中,代理可以是电子代理并且观察可以包括来自一个或多个传感器的数据,这些传感器监视工厂或服务设施的一部分,诸如电流、电压、功率、温度和其他传感器和/或表示设备的电子和/或机械项目的功能的电子信号。代理可以控制包括设备项目的真实世界环境中的动作,例如在诸如数据中心、服务器场或电网干线电力或水分配系统的设施中的动作,或者在制造工厂或服务设施中的动作,或者在诸如太阳能或风力发电场的发电设施中的动作。然后观察可以与工厂或设施的操作相关,例如,它们可以包括设备的电力或水使用的观察,或者发电或配电控制的观察,或者资源使用或废物产生的观察。动作可以包括对工厂/设施的设备项目控制或施加操作条件的动作,和/或导致工厂/设施的操作中的设置改变的动作,例如调整或打开/关闭工厂/设施的组件。任务可以包括多个不同的控制任务,例如资源使用,例如水或电力控制;环境影响控制、电力或其他功耗控制;加热、冷却或温度控制,以及设施内物品的一般控制。
43.在一些应用中,环境可以是数据分组通信网络环境,并且代理可以包括路由器,以通过通信网络路由数据分组。动作可以包括数据分组路由动作,并且观察可以包括例如路由表的观察,该路由表包括路由度量,诸如路由路径长度、带宽、负载、跳数、路径成本、延迟、最大传输单元(mtu)和可靠性的度量。任务可以包括具有奖励/成本的分组路由任务,以最大化或最小化一个或多个路由度量。
44.在一些其他应用中,代理是软件代理,其管理计算任务在例如移动设备和/或数据中心的计算资源上的分布。在这些实现中,观察可以包括对计算资源或者互联网可访问的资源的观察,计算资源诸如计算和/或存储器容量;并且动作和相关任务可以包括将计算任务分配给特定的计算资源。奖励可以取决于例如计算资源的利用、电功率、带宽和计算速度。
45.在一些其他应用中,环境是互联网或移动通信环境并且代理是为用户管理个性化推荐的软件代理。观察可以包括用户先前采取的动作(表征用户先前采取的动作的特征);任务可以包括向用户推荐诸如内容项目的项目的动作。奖励可以包括用户将对被推荐(内容)项目做出有利响应的估计可能性,或者用户接收的推荐数量(可选地在一个时间跨度内);成本可以取决于一个或多个推荐项目的适合性、推荐项目的成本。
46.在一些进一步的应用中,环境是网络安全环境。例如,观察可以包括表征计算机网络或分布式计算系统的状态的数据,并且动作可以是用于保护计算机系统免受例如一个或多个其他代理的网络安全攻击的任务。
47.本说明书中描述的主题能够在特定实施例中实现,以便实现一个或多个以下优点。
48.这些技术的一些实现能够发现选项,即原始动作序列,这对于多个任务是有用的,包括具有离散动作的任务和连续控制任务。相比之下,手工设计对多于一个任务都有用的动作序列能够是有挑战性的。所描述的技术是通用的,不限于任何特定的应用领域,并且能
够在没有人工监督或特定领域知识的情况下学习选项。
49.在基于模型的强化学习的情境中,所描述的技术能够提高学习的速度和数据效率,因为它们能够提供应用于更长的动作序列的更新。在无模型的强化学习的情境中,它们能够使代理做出有意的动作,包括使得进行更好的探索的动作序列。
50.学习对多个任务有用的选项,而不是例如手工设计选项,有助于降低减慢学习的选项的风险,因为无用的选项会增加动作空间。所描述的技术也能够降低管理器神经网络学习仅使用原始动作来执行任务的风险。该系统的实现能够经由选项终止值来学习选项的时间尺度和选项行为。
51.因此,系统的实现能够以极端稳定和数据高效的方式学习高质量的多任务策略。这使得所描述的技术对于由真实世界的机器人或其他机械代理执行的任务特别有用,因为由于反复与环境交互而导致的磨损和机械故障的风险能够大大降低。与传统技术相比,新的复杂任务能够使用由系统更快地收集的更少的数据来学习,同时消耗更少的计算资源。通过发现和学习有用的选项,知识能够在多个任务之间被有效地共享,以便允许系统有效地控制代理以执行所有的任务。
52.在整个说明书中,例如使用神经网络来处理图像是指使用神经网络来处理与图像的像素相关联的强度值。
53.本说明书中描述的主题的一个或多个实现的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
54.图1示出学习选项的强化学习神经网络系统。
55.图2示出使用图1的系统来执行任务的示例过程。
56.图3示出用于训练图1的系统的内循环过程的示例。
57.图4示出用于训练图1的系统的外循环过程的示例。
58.在附图中,相同的附图标记表示相同的元件。
具体实施方式
59.本说明书描述了一种基于神经网络的强化学习系统和方法,该系统和方法学习发现可跨不同任务被重用的选项,即原始动作序列。在一个特定任务的情境下被学习的选项能够减缓另一不同任务的学习。本文描述的技术使得通用实用的选项能够被发现,促进跨多个不同任务的学习。这是通过学习向指导选项的选项策略神经网络提供什么奖励来实现的,并且在实现中,也学习何时终止选项。
60.在实现中,任务是代理控制任务,通常是涉及控制诸如机器人的相同的机械代理的任务,以在相同的真实世界环境中完成不同的目标。例如,任务可以要求代理拾取环境中的一个或多个对象、移动到特定位置、排列或操纵,或者它们可能需要代理在环境中导航。在一些实现中,系统可以在真实世界环境的模拟版本中被训练,并且然后在真实世界环境中被使用,在真实世界环境中它可以进一步被训练或不训练。任务可以由其目标来指定。一般来说,一次只能执行一项任务。
61.图1示出强化学习神经网络系统100,其可以被实现为在一个或多个位置的一个或
多个计算机上的一个或多个计算机程序。
62.系统100具有向代理102提供控制信号以控制环境104中的代理的动作的输出。通常,当代理执行动作时,环境从当前状态转换到新状态,并且通过重复地使代理102在环境104中动作,系统100能够控制代理102完成指定的任务。代理动作可以是从可能动作集合中选择的离散动作,或者是连续动作,即由诸如电动机转矩等连续变量定义的动作。
63.系统100也具有一个或多个输入以从环境接收数据。这包括来自一个或多个传感器的数据,这些传感器提供表征某一时间t的环境状态s
t
的信息。这些数据被称为观察106。来自环境的数据也包括任务奖励r。通常,任务奖励可以是表征代理朝向任务目标的进展的标量数值。任务奖励可以随着任务的进展或仅在任务结束时被接收,例如以指示任务的成功完成(或其他)。奖励可以是正的或负的,即,如本文所使用的,“奖励”包括成本。
64.通常,系统100接收环境状态的观察,并处理这些观察以向代理提供控制信号,以使得代理执行任务。至少在学习时,系统100使用奖励来学习提供什么控制信号以执行任务。
65.系统100能够学习执行多个不同的任务,并且在一些实现中,包括接收标识要被执行的任务的数据110的输入。标识要被执行的任务的数据可以来自外部源,诸如用户,或者它可以例如由包括系统100的较大系统来自主选择。
66.本文描述的技术不依赖于标识任务的任何特定方式。在一些实现中,任务可以由任务的目标g来标识,例如要由任务实现的最终状态的表示。在一些其他实现中,任务可以简单地由标签来标识(并且所接收的特定奖励可以根据任务而变化)。
67.系统100包括管理器神经网络120、选项策略神经网络集合130、选项奖励神经网络集合140以及可选的,选项终止神经网络集合150。神经网络的功能被描述如下。
68.至少在训练期间,系统100也包括训练引擎160。训练引擎操作以实现训练过程,例如,如下所述,以更新神经网络的参数。
69.训练引擎基于它们相应的奖励,使用强化学习来训练管理器神经网络120和选项策略神经网络130。训练引擎也训练选项奖励神经网络140和选项终止神经网络150。这使用了元梯度方法,因为这些神经网络的参数的变化间接影响了管理器神经网络120和选项策略神经网络130的性能。元梯度方法评估管理器神经网络和选项策略神经网络在多个任务中的表现,并使用该评估来训练选项奖励神经网络和选项终止神经网络。以这种方式,选项奖励神经网络和选项终止神经网络发现在多个任务中有用的选项奖励和终止准则。
70.管理器神经网络120被配置为根据管理器神经网络的参数值来接收和处理观察106和识别当前正在被执行的任务的数据110,以生成管理器神经网络输出(πm)。管理器神经网络输出被配置用于从管理器动作集合中选择管理器动作,管理器动作集合包括可以由代理执行的可能的离散或连续动作以及选项选择动作集合,每个选项选择动作选择选项策略神经网络中的一个。在一些实现中,管理器神经网络输出定义可能的管理器动作的概率分布的一个或多个参数,即,它定义了随机动作选择策略。然后管理器动作可以例如通过从概率分布中采样或者通过选择最高概率动作来选择。训练引擎160被配置为训练管理器神经网络以最大化任务奖励。
71.每个选项策略神经网络130被配置为根据选项策略神经网络的参数值接收和处理观察106,以生成选项策略神经网络输出该输出被配置用于选择能够由代理执行的
可能动作。在一些实现中,选项策略网络输出定义在可能的离散或连续代理动作上的概率分布的一个或多个参数,即它定义随机动作选择策略。当由管理器神经网络120选择时,选项策略神经网络130选择将在直到满足选项终止准则为止的一系列时间步长由代理执行的动作。例如,动作可以通过从概率分布中采样或者通过选择最高概率动作来选择。训练引擎160被配置为训练每个选项策略神经网络,以最大化由相应的选项奖励神经网络140生成的选项奖励。
72.每个选项奖励神经网络140被配置为根据选项奖励神经网络的参数值来接收和处理观察106,以生成用于其相应选项策略神经网络130的选项奖励在实现中,选项奖励是标量数值。
73.每个选项终止神经网络150被配置为根据选项终止神经网络的参数值来接收和处理观察106,以生成用于其相应的选项策略神经网络130的选项终止值选项终止值确定对于其相应的选项策略神经网络130,选项终止准则是否被满足。在实现中,选项终止值是标量值,例如从诸如{0,1}的分类分布中随机采样的值,其中一个值指示终止;或者例如在诸如[0,1]的范围内的标量,其指示终止的概率。
[0074]
选项与任务的学习子目标相对应。下面描述的训练过程能够实现子目标,或对于学习多个不同的任务有用的“选项”。选项中的每一个与选项策略神经网络中的一个相对应。仅仅作为一个示例,一个实现可以具有1-20个选项。
[0075]
如图1所示,选项策略神经网络130、选项奖励神经网络140和选项终止神经网络150中的每一个可以在共享的神经网络主体上包括不同的神经网络头。在一些实现中,每个神经网络主体可以具有本质上相同的架构。然而,在实现中,只有管理器神经网络120接收标识任务的数据110——任务目标;其他神经网络不接收任务目标。这有助于发现对多个任务有用的独立于任务的选项。
[0076]
在图1中未示出,但是在由管理器神经网络120、选项策略神经网络130、选项奖励神经网络140或选项终止神经网络150中的一个或多个进行处理之前,观察106可以被编码和/或诸如图像特征和本体感受特征不同类型的观察特征可以被组合。仅作为示例,对于管理器神经网络120,标识当前正在被执行的任务的数据110可以与包括图像的观察相结合,作为图像的编码版本的额外通道。通常,管理器神经网络120、选项策略神经网络130、选项奖励神经网络140和选项终止神经网络150可以具有任何架构,例如,它们可以包括一个或多个前馈、卷积、递归、批量归一化或层归一化神经网络层。
[0077]
图2示出使用增强学习神经网络系统100来执行任务的示例过程。图2的过程可以由位于一个或多个位置的一个或多个计算机的系统在训练期间和/或之后执行。
[0078]
在步骤200,系统接收并处理在当前时间步长时间t的环境状态的观察s
t
106和标识任务(目标)的数据g 110,并且在步骤202,使用管理器神经网络120对此进行处理,以生成例如定义概率分布的管理器神经网络输出πm。
[0079]
然后,该过程使用管理器神经网络输出来选择管理器动作,管理器动作或者是代理的动作,即原始动作,或者是用于选择选项策略神经网络的选项选择动作(步骤204)。选择管理器动作可以包括从概率分布πm中采样。如果管理器动作是选项选择动作,则所选择的选项策略神经网络用于为代理选择动作(步骤206)。
[0080]
然后,该过程生成输出,以使代理执行所选择的动作,例如控制信号输出(步骤208)。结果,接收到环境的下一个观察,以及可选的任务奖励。
[0081]
用于选择要被执行的动作的输出可以由管理器神经网络120或所选择的选项策略神经网络来生成。在管理器神经网络输出选项选择动作的情况下,该过程继续使用所选择的选项策略神经网络来接收和处理观察,并生成用于选择代理动作的输出,直到满足选项终止准则为止(步骤210)。该过程可以循环回去,再次用管理器神经网络处理最近的观察。
[0082]
在实现中,当与所选择的选项策略神经网络相对应的选项终止神经网络输出指示应该终止选项的选项终止值,诸如分类值或指示终止概率大于阈值的标量值时,选项终止准则被满足。当选项终止准则被满足时,生成新的管理器神经网络输出,以选择新的选项或原始动作。
[0083]
增强学习神经网络系统100执行任务的示例训练过程具有内循环和外循环。内循环更新管理器神经网络120和选项策略神经网络130的参数。外循环更新选项奖励神经网络140和选项终止神经网络150的参数。在训练过程开始时,系统100的神经网络的参数被初始化,例如被随机地初始化。
[0084]
图3示出内循环过程的示例;该过程可以由位于一个或多个位置的一台或多台计算机来执行。该过程通过选择任务开始,例如通过从可能的任务中随机采样(步骤300)。
[0085]
然后环境状态的观察106被获得,并与标识任务的数据110一起由管理器神经网络120处理,以生成管理器神经网络输出。在此示例中,如前所述,进行采样以选择代理动作或“选项”,即选项策略神经网络130中的一个(步骤302)。再次如前所述,如果管理器神经网络选择代理动作,则执行该动作;如果选项被选择,则由所选择的选项策略神经网络选择代理动作。管理器神经网络可以在选择选项之前选择多个代理动作。
[0086]
如果选项被选择,则观察106由所选择的选项策略神经网络、与所选择的选项策略神经网络相对应的选项奖励神经网络和与所选择的选项策略神经网络相对应的选项终止神经网络中的每一个来处理。在如图1所示的实现中,每个神经网络130-150包括共享主体上的多个神经网络头,所有的神经网络可以处理观察。
[0087]
所选择的选项策略神经网络被用于选择代理动作(步骤304)。然后,系统生成输出以控制代理执行所选择的动作(步骤306),环境转变到新的状态,新状态的观察被获得,并且可以从环境接收任务奖励。
[0088]
选项被遵循直到终止,例如由来自相应的选项终止神经网络的选项终止值指示,例如βo=1。因此,步骤304和306被重复。以这种方式,由内循环获得转变的n步轨迹(步骤308)。
[0089]
转变的轨迹包括n个时间步长序列中的每一个的转变(其中n可以是1)。每个转变包括表示观察、所选择的代理动作、任务奖励(如果有的话)和来自与所选择的选项策略神经网络相对应的选项奖励神经网络的选项奖励的数据。转变也可以包括来自相应选项终止神经网络的选项终止值。可选地,轨迹可以包括标识任务的数据和指示所选择的选项的数据。
[0090]
然后,该过程使用任何强化学习技术,使用n步轨迹来训练管理器神经网络120和所选择的选项策略神经网络(步骤310)。具体地,使用任务奖励(或多个)来训练管理器神经网络,并且使用来自与所选择的选项策略神经网络相对应的选项奖励神经网络的选项奖励
来训练所选择的选项策略神经网络。在实现中,管理器神经网络120仅使用转变来训练,其中管理器神经网络输出被用于选择选项(或代理动作)。
[0091]
训练每个神经网络可以包括将取决于该神经网络的奖励(或多个)的强化学习目标函数的梯度反向传播通过神经网络,以更新神经网络的参数。具体地,管理器神经网络可以被训练以最大化任务奖励的时间折扣和,即来自环境的回报,并且所选择的选项策略神经网络可以被训练以最大化选项奖励的时间折扣和。在一些实现中,来自对应的选项终止神经网络的选项终止值可以被用作时间折扣因子(例如,在选项终止值不是分类变量的情况下)。
[0092]
在一个示例实现中,使用了演员-评判家强化学习方法。在这种实现中,管理器神经网络输出和每个选项策略神经网络输出包括定义相应状态值的输出,例如来自单独头的输出。状态值是当使用选项策略神经网络来选择动作时,处于成功执行任务的当前状态的环境的值的估计,例如由当前观察表征的任务从当前状态的估计回报。则在每个时间t对选项策略神经网络的参数值θo的更新能够被确定为:
[0093][0094]
其中πo(a
t
|s
t
)是在给定时间t的环境状态s
t
的情况下用于选择时间t的动作a
t
的选项策略神经网络输出,例如动作a
t
的概率值或分数;vo(s
t
)是状态s
t
的选项策略神经网络状态值输出;κo是超参数,其相对于策略更新对状态值更新进行加权(通常为一阶,例如0.5);是关于选项策略神经网络的参数值采用的梯度;是在时间t用于选择动作的选项策略神经网络输出的目标值或目标,即选项策略目标函数;并且α是学习率。
[0095]
类似地,当选项被采样时,在时间to对管理器神经网络的参数值θm的更新能够被确定为:
[0096][0097]
其中是在给定任务标识g和在时间to的环境状态的情况下用于选择时间to的选项的管理器神经网络输出,例如选项o的概率值或分数;是状态的管理器神经网络状态值输出;km是超参数,其相对于策略更新对状态值更新进行加权(通常为一阶,例如0.5);是相对于管理器神经网络的参数值采用的梯度;是在时间to用于选择选项的管理器神经网络输出的目标值或目标,即管理器目标函数;并且α是上述学习率或另一学习率。
[0098]
选项策略神经网络输出的目标值或目标以及管理器神经网络输出的目标值或目标中的每个都可以是相应的n步回报。当选项终止神经网络指示选项应该结束时,n步回报可以在由内循环获取的n步轨迹上被评估,即在时间to开始并在n个时间步长之后结束的轨迹。使用来自用于选项策略神经网络的选项奖励神经网络的选项奖励来评估选项策略神经网络输出的n步回报。例如,如果选项策略神经网络在时间t的选项终止值被用作时间折扣因子:
[0099][0100]
使用来自环境的任务奖励来评估选项策略神经网络输出的n步回报。例如:
[0101][0102]
其中是γ时间折扣因子;并且-c表示转换成本,该转换成本在选项终止时被添加到管理器神经网络更新的每步奖励中。转换成本是超参数,它鼓励管理器神经网络选择暂时扩展的选项,从而帮助它们的发现。仅作为示例,c可以具有与奖励规模相当但小于奖励规模的值。
[0103]
图4示出外循环过程的示例;同样,该过程可以由位于一个或多个位置的一台或多台计算机来执行。这通过执行一次或多次内循环过程开始(步骤400)。例如,在随后的外循环步骤之前,内循环可以被执行多达10次。
[0104]
一旦内循环被执行,可选地,新的任务可以被选择;这可以但不需要不同于内循环的任务(或多个)(步骤402)。任务如前所述被执行,即使用管理器神经网络来选择选项(或代理动作),然后使用所选择的选项策略神经网络来选择代理动作,直到选项终止为止。在这种情况下,对于例如m个步长执行新任务,以获得新的m步长“验证”轨迹(步骤404)。
[0105]
然后,该过程使用验证轨迹,特别是使用验证轨迹中的任务奖励,训练用于所选择的选项(或多个)的选项奖励神经网络和选项终止神经网络(步骤406)。这可以包括将取决于任务奖励的选项奖励目标函数的梯度反向传播通过所选择的选项策略神经网络并进入相应的选项奖励神经网络,以更新选项奖励神经网络的参数。这可以进一步包括将取决于任务回报的选项终止目标函数的梯度反向传播通过所选择的选项策略神经网络并进入相应的选项终止神经网络,以更新选项终止神经网络的参数。
[0106]
选项奖励目标函数和选项终止目标函数可以是取决于任务奖励或回报的任何类型的强化学习目标函数。相同的目标函数可以被用于选项奖励神经网络中的每一个和选项终止神经网络中的每一个。例如,如果使用演员-评判家强化学习方法,对选项奖励神经网络的参数值和对选项终止神经网络的参数值的更新能够被确定为:
[0107][0108]

[0109][0110]
其中和是相对于相应选项奖励神经网络和选项终止神经网络的参数值采用的梯度,并且α
η
是学习率,对于两次更新,学习率可以但不需要相同。
[0111]
在一些实现中,确定对管理器神经网络、选项策略神经网络、选项奖励神经网络和选项终止神经网络的参数值的更新的等式可以包括熵正则化项,以抑制训练期间的过早收敛,例如相对于熵奖励的参数值的梯度,诸如依赖于-logπ(a|s
t
)的梯度的小项。
[0112]
上述梯度和可以被称为元梯度,因为它们更新元参数,即对应的选项奖励神经网络和选项终止神经网络的参数,所述神经网络生成控制所选择的选项策略神经网络动作的选项奖励和选项终止值。
[0113]
在实现中,选项奖励神经网络和选项终止神经网络可以被训练以最大化任务奖励的时间折扣和,即来自环境的回报,例如与在内循环中用于训练管理器神经网络的回报相同。
[0114]
从概念上讲,验证轨迹被用于评估在内循环中学习的选项策略,并更新指导这些策略的学习的选项奖励和终止值。因此,在内循环中,选项奖励神经网络和选项终止神经网络的参数是固定的,并且对管理器神经网络和选项策略神经网络的参数进行更新。然后,在外循环中,确定元梯度,该元梯度取决于外循环目标相对于选项奖励神经网络和选项终止神经网络的参数的变化,并因此取决于对管理器神经网络和选项策略神经网络的更新对外循环目标的影响。对选项奖励神经网络和选项终止神经网络的参数的更新可以由通过内循环更新的反向传播来计算,例如将每个内循环更新的副本存储到所选择的选项策略神经网络的参数中。在实践中,这可以通过倒回选项奖励神经网络的参数的自动微分来实现。
[0115]
外循环被执行多次,直到训练完成为止,例如,直到达到训练时间步长的最大数量为止。虽然外循环可以仅更新与所选择的选项相对应的选项奖励神经网络和选项终止神经网络的参数,但是随着时间的推移,所有选项奖励神经网络和选项终止神经网络的参数都被更新。
[0116]
上述系统和方法的实现能够学习以优化每个选项策略神经网络的不同目标,如由选项奖励神经网络和选项终止神经网络参数化的目标。从发现对多个任务有用的目标的意义上来说,选项是不纠缠的。这能够加快新任务的学习,并有助于在训练中获得更高的奖励。
[0117]
例如,在一些实现中,选项策略神经网络、选项奖励神经网络和选项终止神经网络的参数可以在一些训练之后被固定。然后,管理器神经网络可以被训练以执行新的(以前未见过的)任务,这由学习的选项来促进。在这个阶段,当训练管理器神经网络时,转换成本可以被省略。
[0118]
一般来说,一旦系统被训练,它就可以被用于控制代理在环境中执行一个或多个学习的任务。此外或替代地,经训练的选项策略神经网络、选项奖励神经网络和选项终止神经网络的参数可以被提供给第二类似的系统,使得第二系统的管理器神经网络可以被训练为使用先前学习的选项来执行一个或多个任务,即使用具有所提供的参数的选项策略神经网络、选项奖励神经网络和选项终止神经网络。
[0119]
在这里讨论的系统利用可能包括个人信息的数据的情况下,在该数据被存储或使用之前,该数据可以以一种或多种方式被处理,诸如聚合和匿名化,使得不能从存储或使用的数据中确定这种个人信息。此外,这种信息的使用可以使得不能从使用这种信息的系统的输出中确定个人可识别信息。
[0120]
本说明书结合系统和计算机程序组件使用术语“配置”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使得该系统执行这些操作或动作。一个或多个计算机程序被配置为执行特定的操作或动作意味着一个或多个程序包括指
令,当由数据处理装置执行时,这些指令使得该装置执行这些操作或动作。
[0121]
本说明书中描述的主题和功能操作的实施例能够在数字电子电路、有形体现的计算机软件或固件、计算机硬件中实现,包括本说明书中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施例能够被实现为一个或多个计算机程序,即编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质能够是机器可读存储设备、机器可读存储基底、随机或串行存取存储设备,或者它们中的一个或多个的组合。可替换地或附加地,程序指令能够被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以编码信息,用于传输到合适的接收器装置,以由数据处理装置执行。
[0122]
术语“数据处理装置”指的是数据处理硬件,并且包括用于处理数据的所有种类的装置、设备和机器,例如可编程处理器、计算机或多个处理器或计算机。该装置还能够是或进一步包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置能够可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
[0123]
计算机程序也可以被称为或描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码,能够用任何形式的编程语言编写,包括编译或解释语言,或者声明性或过程性语言;并且它能够以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。程序可以但不需要与文件系统中的文件相对应。程序能够存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本、存储在专用于所讨论的程序的单个文件中,或者存储在多个协作文件中,例如,存储一个或多个模块、子程序或代码部分的文件。计算机程序能够被部署为在一台计算机或位于一个地点或分布在多个地点并通过数据通信网络互连的多台计算机上执行。
[0124]
在本说明书中,术语“引擎”被广泛地用来指被编程来执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置的一台或多台计算机上的一个或多个软件模块或组件。在一些情况下,一台或多台计算机将专用于一个特定的引擎;在其他情况下,能够在同一台或多台计算机上安装和运行多个引擎。
[0125]
本说明书中描述的过程和逻辑流程能够由一个或多个可编程计算机来执行,所述一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也能够由专用逻辑电路来执行,例如fpga或asic,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
[0126]
适于执行计算机程序的计算机能够基于通用或专用微处理器或两者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的中央处理器和用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器能够由专用逻辑电路来补充或并入其中。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,以从该大容量存储设备接收数据或向其传送数据,或两者。然而,计算机不需要有这样的设备。此外,计算机能够嵌入在另一设备中,例如,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备,例如通用串行总线(usb)闪存驱动器,仅举几个示例。
[0127]
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及dvd-rom盘。
[0128]
为了提供与用户的交互,本说明书中描述的主题的实施例能够在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如crt(阴极射线管)或lcd(液晶显示器)监视器,以及用户能够用来向计算机提供输入的键盘和定点设备,例如鼠标或轨迹球。也能够使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机能够通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求,向用户设备上的web浏览器发送网页。此外,计算机能够通过向个人设备,例如运行消息应用程序的智能手机,递送文本消息或其他形式的消息,并接收来自用户的响应消息来与用户交互。
[0129]
用于实现机器学习模型的数据处理装置还能够包括例如专用硬件加速器单元,用于处理机器学习训练或生产,即推理、工作负载的通用和计算密集型部分。
[0130]
机器学习模型能够使用机器学习框架来实现和部署,例如tensorflow框架。
[0131]
本说明书中描述的主题的实施例能够在计算系统中实现,该计算系统包括例如作为数据服务器的后端组件,或者包括例如应用服务器的中间件组件,或者包括例如具有图形用户界面的客户端计算机、web浏览器或用户可以通过其与本说明书中描述的主题的实现交互的应用的前端组件,,或者一个或多个这样的后端、中间件或前端组件的任何组合。该系统的组件能够通过任何形式或介质的数字数据通信来互连,例如通信网络。通信网络的示例包括局域网(lan)和广域网(wan),例如因特网。
[0132]
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在需要的计算机上运行的计算机程序而产生的,并且彼此具有客户端-服务器关系。在一些实施例中,服务器向用户设备发送数据,例如html页面,例如为了向与充当客户端的设备交互的用户显示数据并从该用户接收用户输入。能够在服务器处从设备接收在用户设备处生成的数据,例如用户交互的结果。
[0133]
虽然本说明书包含许多具体的实施细节,但是这些不应该被解释为对任何发明的范围或可能要求保护的范围的限制,而是对特定发明的特定实施例所特有的特征的描述。本说明书中在独立实施例的上下文中描述的某些特征也能够在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也能够在多个实施例中单独或以任何合适的子组合来实现。此外,尽管特征可能在上面被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下能够从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。
[0134]
类似地,尽管在附图中以特定顺序描述了操作,并且在权利要求中以特定顺序叙述了操作,但是这不应该被理解为要求这些操作以所示的特定顺序或顺序来执行,或者要求所有示出的操作都被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应该理解,所描述的程序组件和系统通常能够一起集成在单个软件产品中或者打包成多个软件产品。
[0135]
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中所述的动作能够以不同的顺序来执行,并且仍然获得期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1