首页> 中国专利> 通过最小化妄想影响来确定控制策略

通过最小化妄想影响来确定控制策略

摘要

本发明涉及用于确定用于与环境交互的代理的控制策略的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法之一包括通过使用Q学习而使用策略一致的备份来更新控制策略。为了确定策略一致的备份,所述系统确定在当前观察‑当前动作对的用于控制策略的策略一致的备份,包括:针对代理能够执行的可能动作集中的多个动作中的每个动作,标识由控制策略分配给控制策略的下一观察‑动作对并且由信息集中的至少一个来证明的Q值;从所标识的Q值中修剪仅由不是策略类一致的信息集证明的任何Q值;以及从所述奖励和仅未被修剪的所标识的Q值来确定所述策略一致的备份。

著录项

  • 公开/公告号CN112930541A

    专利类型发明专利

  • 公开/公告日2021-06-08

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN201980070743.7

  • 申请日2019-10-29

  • 分类号G06N3/00(20060101);G06N3/08(20060101);

  • 代理机构11219 中原信达知识产权代理有限责任公司;

  • 代理人周亚荣;邓聪惠

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 11:17:41

说明书

相关申请的交叉引用

本申请要求申请日为2018年10月29日、申请序列号为62/752,306的美国申请的优先权权益,其全部内容通过引用并入本文。

技术领域

本说明书涉及强化学习。

背景技术

在强化学习系统中,代理通过执行由强化学习系统响应于接收到用于表征环境当前状态的观察而选择的动作来与环境交互。

一些强化学习系统响应于接收到给定观察,根据神经网络的输出来选择待由代理执行的动作。

神经网络是一种机器学习模型,其采用一层或多层非线性单元来预测针对所接收输入的输出。一些神经网络是深度神经网络,除了包括输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作所述网络中下一层的输入,即下一隐藏层或输出层。网络的每个层根据相应参数集的当前值从所接收的输入生成输出。

发明内容

本说明书总体上描述一种增强学习系统,该系统控制与环境交互的代理,并且特别是确定用于控制所述代理的控制策略。

能够实施本说明书所述主题的特定实施例,以便实现以下优点中的一个或多个。

使用Q学习来学习用于代理的控制策略的常规系统可能通过使用从基础策略类中无法实现的动作选择中导出的备份值估计来更新策略。也就是说,在常规的Q学习中,通过使用max运算符而独立地选择在对应的下一状态处的动作,即,通过当在下一状态处选择argmax动作时使用用于所述argmax动作的Q值来生成目标Q值,来生成状态-动作对的备份。这假定独立选择的最大值是可行的,即,选择在下一状态处得出最大Q值的动作是与为到达下一状态所采取的其他动作选择相一致的。换而言之,这假定存在一种控制策略,该控制策略既会选择在下一状态下得出最大Q值的动作,又会作出为到达下一状态所采取的其他动作选择。

当违反这一假设时,其可能时常如此,这会导致控制策略学习过程出现问题。特别地,违反这些假设(如在实施常规Q学习变型模式的系统中所发生的)可能导致学习过程出现分歧,可能导致待学习的控制策略在任务上不能很好地执行,或者导致学习过程运行过量的迭代。另一方面,所描述的技术避免违反这一假设或尽量减少违反这一假设,从而改进的针对代理所学习的控制策略,这又会提高代理在期望任务上的性能。附加地,能够以更少的迭代来学习控制策略,以减少由所述学习过程消耗的计算资源。

特别地,所描述的技术通过使用多种技术来确定对控制策略的更新(和备份),所述多种技术避免了显式地违反这一假设,例如,通过维持信息集并仅用策略一致的Q值来更新这些信息集,或者通过采用启发法(其减少了违反所述假设的似然率),例如通过选择在一批训练元组内局部一致的下一动作。

所描述的技术在与真实世界环境和诸如机械代理/机器人或工厂/服务设施的代理结合使用时,能够导致对为控制所述代理所学习的控制策略的改进,例如对通过使用经学习的控制策略来执行任务的能量效率、准确性、速度和/或输出改进。

在附图以及下面的描述中阐明在本说明书中所述主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得更为清楚。

附图说明

图1A示出示例的强化学习系统。

图1B示出易受“妄想偏见”(“delusional bias”)的示例环境。

图2是用于通过使用Q学习以及策略一致的备份来学习控制策略的示例过程的流程图。

图3是用于通过使用值迭代以及策略一致的备份来学习控制策略的示例过程的流程图。

图4是用于通过使用局部一致的备份来学习控制策略的示例过程的流程图。

各附图中相同的附图标记和名称表示相同的元件。

具体实施方式

本说明书描述一种强化学习系统,该强化学习系统通过在多个时间步中的每个时间步处,处理用于表征在该时间步处的环境的当前状态的数据(即“观察”(“observation”)),以选择待由代理执行的动作,来控制与环境交互的代理。

在每个时间步处,在该时间步处的环境状态取决于在先前时间步处的环境状态以及由所述代理在先前时间步处执行的动作。

在一些实施方式中,所述环境是现实世界环境,并且所述代理是与现实世界环境交互的机械代理,例如,机器人或者在环境中导航的自主或半自主的陆地、空中或海上交通工具。

在这些实施方式中,所述观察可以例如包括以下一项或多项:图像,对象位置数据,以及用于在代理与环境交互时捕捉观察的传感器数据,例如来自图像、距离或位置传感器或者来自执行器的传感器数据。

例如,在机器人的情况下,所述观察可以包括用于表征机器人当前状态的数据,例如以下一项或多项:关节位置,关节速度,关节力,力矩或加速度(例如重力补偿的力矩反馈),以及机器人所持物品的全局或相对姿势。

在机器人或其他机械代理或交通工具的情况下,所述观察可以类似地包括以下一项或多项:位置,线速度或角速度,力,力矩或加速度,以及代理的一个或多个部分的全局或相对姿势。观察可以定义为1维、2维或3维,并可以是绝对观察和/或相对观察。

所述观察也可以例如包括:感测电子信号,诸如电动机电流或温度信号;和/或例如来自相机或LIDAR传感器的图像或视频数据,例如来自代理的传感器的数据,或来自在环境中与代理分开定位的传感器的数据。

在这些实施方式中,所述动作可以是用于控制机械代理/机器人的控制输入,例如,用于机器人关节的力矩或更高级的控制命令,或者是用于控制自主或半自主的陆地、空中、海上交通工具的控制输入,例如对交通工具的控制面或其他控制元件的力矩,或者更高级的控制命令。

换而言之,动作能够例如包括机器人的一个或多个关节或另一机械代理的部分的位置、速度或力/力矩/加速度数据。动作数据可以附加地或替代地包括电子控制数据,例如电动机控制数据,或更一般地包括用于控制环境中的一个或多个电子设备的数据,控制这样的电子设备会对观察的环境状态存在影响。例如,在自主或半自主的陆地或空中或海上交通工具的情况下,动作可以包括控制交通工具的导航(例如转向)以及运动(例如制动和/或加速度)的动作。

在电子代理的情况下,所述观察可以包括来自用于监视工厂或服务设施一部分的一个或多个传感器(例如电流、电压、功率、温度和其他传感器)的数据和/或用于代表设备的电子和/或机械项目功能的电子信号。例如,现实环境可以是制造工厂或服务设施,所述观察可以有关工厂或设施的操作,例如有关资源使用,诸如功耗,并且代理可以控制工厂/设施中的动作或操作,例如减少资源使用。在一些其他实施方式中,现实环境可以是可再生能源工厂,所述观察可以有关工厂的操作,例如有关使目前或未来计划的发电量最大化,并且代理可以控制工厂中的动作或操作以达成这一目标。

在一些其他应用中,所述代理可以控制在现实世界环境(包括设备项目)中、例如在数据中心中、在电力/水力分配系统中或者在制造工厂或服务设施中的动作。于是,所述观察可以有关工厂或设施的操作。例如,所述观察可以包括对设备使用的电力或水力的观察,或者对发电或配电控制的观察,或者对使用资源或废物产生的观察。所述动作可以包括用于控制或施加操作条件到工厂/服务设施的设备项目的动作,和/或导致工厂/服务设施的操作中更改设置例如以调节或打开/关闭工厂/设施的组件的动作。

作为另一示例,环境可以是化学合成或蛋白质折叠环境,使得每个状态是蛋白质链或一种或多种中间体或前体化学品的各自状态,并且所述代理是用于确定如何折叠蛋白质链或合成化学品的计算机系统。在本示例中,所述动作是用于折叠蛋白质链的可能折叠动作或者用于聚合前体化学品/中间体的动作,并且要实现的结果可以例如包括折叠蛋白质,使得蛋白质稳定并达到特定的生物功能,或者为化学品提供有效的合成途径。作为另一示例,所述代理可以是机械代理,其在无人为干预的情况下自动执行或控制由系统选择的蛋白质折叠动作或化学合成步骤。所述观察可以包括直接地或间接地观察蛋白质或化学品/中间体/前体的状态,和/或可以从模拟中导出。

在一些实施方式中,所述环境可以是模拟环境,并且所述代理可以被实施为与该模拟环境交互的一个或多个计算机。

模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且所述代理可以是通过运动模拟导航的模拟交通工具。在这些实施方式中,所述动作可以是控制模拟用户或模拟交通工具的控制输入。

在一些实施方式中,模拟环境可以是特定现实世界环境的模拟。例如,所述系统可以用于在训练或评估控制神经网络期间选择模拟环境中的动作,并且在完成训练或评估或这两者之后,所述系统可以部署为控制由模拟环境模拟的现实世界环境中的现实世界代理。这样能够避免不必要的磨损以及对现实环境或真实世界代理的损害,并且能够允许控制神经网络对真实世界中鲜少发生或难以再现的情况进行训练和评估。

通常,在模拟环境的情况下,所述观察可以包括一个或多个先前描述的观察或观察类型的模拟版本,并且所述动作可以包括一个或多个先前描述的动作或动作类型的模拟版本。

图1A示出示例强化学习系统100。强化学习系统100是在一个或多个位置中的一个或多个计算机上作为计算机程序实施的系统的示例,其中实施了如下所述的系统、组件和技术。

系统100通过选择待由代理102执行的动作106并且然后使代理102执行所选择的动作106来控制代理102与环境104的交互。

代理102执行所选择的动作106大体上使环境104转换为新的状态。通过重复地使代理102在环境104中进行动作,系统100能够控制代理102以完成指定任务。

系统100包括控制策略110、训练引擎150以及一个或多个用于存储控制策略110的控制策略参数118集合的存储器。

在多个时间步中的每个时间步处,控制策略110根据控制策略参数118将用于表征环境104的当前状态的当前观察120映射到动作106,以生成动作选择输出122。

特别地,控制策略110针对动作集中的每个动作生成相应的Q值,然后选择所述动作中的一个动作。动作的Q值是对“回报”的估计,其将是得自于代理响应于当前观察120而执行所述动作、且此后根据响应于每个观察而选择具有最高Q值的动作的贪婪控制策略而选择由代理102执行的未来动作,即,根据控制策略参数118来生成所述Q值。

回报是指代理所接收的“奖励”124的累积量度,例如奖励总和或奖励的时间折扣总和。代理能够在每个时间步处接收相应的奖励124,其中奖励124由标量数值指定,并例如表征所述代理朝向完成指定任务的进度。

例如,在训练期间,控制策略110能够根据探索策略来选择待由代理执行的动作。例如,探索策略可以是∈-贪婪探索策略,其中系统100以概率1-∈来选择具有最高Q值的动作,并以概率∈来随机地选择动作。在本示例中,∈是在0至1之间的标量值。

在训练之后,控制策略110能够采用贪婪动作选择策略,即,通过始终选择具有最高Q值的动作。

然后,系统100控制代理,即,通过使代理执行由控制策略110选择的动作106。

控制策略110能够通过使用多种技术中的任何一种来将所述观察映射到Q值。

作为一个示例,控制策略110能够维持Q函数的表格表示,该Q函数将(观察-动作)对映射到Q值。在本示例中,在训练期间,系统100直接更新在表格表示中的Q值,即,控制策略参数是在表格表示中的Q值。

作为另一示例,控制策略110能够维持用于逼近Q函数的函数逼近器(approximator)。当所述观察包括例如环境图像的高维数据时,函数逼近器能够例如是神经网络(又称为Q神经网络)。替代地,函数逼近器能够是线性模型或广义线性模型。在这些情况下,在训练期间,系统100学习函数逼近器的参数值,即,控制策略参数是函数逼近器的参数。

训练引擎150被配置为通过重复地更新控制策略110的控制策略参数118(即,函数逼近器的参数或在表格表示中的Q值)来训练控制策略110。

特别地,训练引擎150通过使用增强学习来训练控制策略110,该增强学习使用所述观察120和作为代理在训练期间与环境交互的结果而生成的奖励124。

一般地,训练引擎150能够训练控制策略110以通过使用Q更新(例如,通过使用Q学习或值迭代)来增加代理所接收的回报(即,奖励的累积量度)。

换而言之,训练引擎150使用观察120、响应于这些观察而执行的动作、以及奖励124来重复地更新控制策略参数118。

训练引擎150以消除或减轻“妄想偏见”对学习控制策略参数118的影响的方式来更新控制策略参数118。特别地,每当从在基础策略类中无法实现的动作选择中导出备份值估计时,就会发生“妄想偏见”。换而言之,如果在可容许类中的任何策略都无法联合表达所有过去(隐式)动作选择,则备份值不对应于由任何可表达策略都能实现的Q值。

图1B图示出易受“妄想偏见”影响的环境170。

在图1B的环境中,情节(即在其期间代理尝试执行指定任务的系列交互)以状态s

具体而言,令q=0.1,R(s

此时,考虑用于对状态动作对的特征进行运算的线性函数逼近器f

在图1B的特定示例中,两个状态-动作特征如下:

鉴于这一点,线性函数逼近器不能(i)既将

因此,任何贪婪动作选择策略π均无法同时满足π(s

在本示例中,常规的Q更新无法找到最优的可容许策略π。例如,使用ε贪婪行为策略(ε=0.5)生成的数据的在线Q学习收敛到一个固定点,该固定点给出“折衷的”可容许策略,其在s

本示例显示出妄想偏见如何阻止Q学习达到合理的固定点。

例如,考虑在(s

直观上,这要求θ

结果是Q更新相互竞争,(s

通过修改生成备份的方式(例如,用于Q学习或值迭代),所描述的系统能够获得比常规更新技术更佳的性能,即,与通过使用常规技术所生成的控制策略相比,所生成的控制策略所编译的回报更接近最优回报,且因此导致代理对指定任务执行得更好。

在某些情况下,所述系统维持信息集并在确定用于Q学习的备份时使用这些信息集。也就是说,系统通过使用无模型的Q学习来更新控制策略。下面将参照图2对此过程予以详述。

在其他一些情况下,系统维持转换模型,该转换模型对环境的动态进行建模。该转换模型将观察-动作对映射到针对多个下一状态中每个状态的概率。下一状态的概率表示下一状态将是当代理响应于所述对中的观察而执行所述对中的动作时所述环境转换到的状态的概率。系统能够使用该转换模型和所维持的信息集来通过使用值迭代而确定备份。下面将参照图3对此过程予以详述。

在其他情况下,系统不维持多个信息集,而是确保当执行批量Q学习时通过使用局部一致的Q值来计算备份。下面将参照图4对此过程予以详述。

图2是用于通过使用Q学习与策略一致的备份来学习控制策略的示例过程200的流程图。为方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,适当编程的强化学习系统、例如图1的强化学习系统100能够执行过程200。

系统能够重复地执行过程200以更新控制策略,即,重复地更新控制策略参数。

系统维持用于定义一个或多个信息集的数据(步骤202)。每个信息集对应于相应的策略约束集,并且标识由控制策略在策略约束集下分配给观察-动作对的Q值。

在所述策略使用表格表示的情况下,系统能够针对每个信息集维持另外的Q值表。

在策略使用函数逼近器的情况下,系统能够针对每个信息集维持另外的函数逼近器(或等同地,针对每个信息集的相同函数逼近器的独立的参数或权重集)。

每个策略约束集大体上对应于一些操作-观察对集,并且指定该策略必须能够针对所有相应的动作-观察对来响应于所述对中的观察而选择所述对中的动作。换而言之,每个策略约束集指定了必须能够由所述策略实现的通过所述环境的一个或多个路径。作为特定示例,在图1B的示例中,一个信息集可以将所述策略约束到能够在状态s

然而,在一些情况下,与任何给定的策略约束集相对应的对也能够是基于对代理操作的约束,这些约束影响在给定的环境状态下能够选择哪些动作,例如安全约束或其他操作约束。

特别地,令Θ为用于定义Q函数的参数类。信息集

大体上能够将信息集视为Θ的有限分区,即,一组非空子集P={X1,...,Xk},使得对于所有i≠j,X1∪···∪Xk=Θ,且

附加地,如果对于所有X’∈P’,存在X∈P,使得

所述系统接收用于表征所述环境的当前状态的当前观察、由代理响应于当前观察而执行的当前动作、用于表征所述环境的下一状态的下一观察、以及作为代理执行当前动作的结果而接收的奖励(步骤204)。

换而言之,所述系统接收训练元组以用于确定对控制策略的更新。在某些情况下,例如,当正在按策略计算更新时,根据策略参数的当前值来选择动作。在其他情况下,例如,当正在脱离策略计算更新时,从重播存储器中采样训练元组,并且可能已经通过使用策略参数的不同的旧值来选择动作。

所述系统确定针对控制策略的在当前观察s-当前动作a对的策略一致的Q备份(步骤206)。

特别地,针对代理能够执行的可能动作集中的多个动作中的每个动作,系统标识由控制策略分配给下一观察-动作对并且由信息集中的至少一个来证明的Q值。如果控制策略在信息集所施加的约束下进行操作,当控制策略已将Q值分配给下一观察-动作对时,由信息集来证明Q值。

然后,系统从所标识的Q值中修剪(prune)仅由不是策略类一致的信息集证明的任何Q值。当在由信息集所施加的约束下操作的贪婪策略响应于当前观察而未选择当前动作时,信息集不是策略类一致的。因此,从已标识的Q值的集合中修剪仅由不会导致响应于当前观察而执行当前动作的信息集证明的任何Q值。

然后,系统从所述奖励和仅未被修剪的所标识的Q值来确定策略一致的备份。特别地,策略一致的备份包括针对用于证明未被修剪的Q值的每个信息集的备份,即目标输出。特别地,针对这些信息集中的给定一个,更新能够是基于元组中的奖励以及由该信息证明的所标识的Q值,例如,(i)和(ii)的总和:(i)奖励,(ii)折扣系数与所标识的Q值之积。

系统通过使用Q学习通过使用策略一致的备份来更新针对代理的控制策略(步骤208)。特别地,系统能够通过使用信息集的更新来更新用于证明未被修剪的Q值的每个信息集。

当系统使用Q函数的表格表示时,系统能够通过计算当前Q值与用于所述信息集的备份的加权和来更新用于每个信息集的Q值。

当系统使用函数逼近器来逼近Q函数时,系统能够通过计算基于在当前Q值与用于所述信息集的备份之间的误差梯度(例如,均方误差)的有监督学习更新,来计算对于与信息集相对应的函数逼近器的更新。

因此,从图2的描述可以看出,系统当计算备份时不会独立地标识argmax动作(如在常规Q更新中所做的那样),而是维持信息集并仅通过使用与该信息集一致的Q值来更新每个信息集。

由于信息集施加策略约束,因此信息集的数目随着代理探索环境而增多,因此在复杂的环境中,信息集的总数可能增长过大。在一些实施方式中,系统能够在训练期间修剪信息集,在训练期间合并信息集,或者在满足某些准则时两者兼备。例如,当信息集的数目超过阈值数目时,系统能够修剪具有最低Q值的信息集或者能够组合具有最低Q值的信息集。

一旦训练完成,系统能够选择由其中一个信息集表示的策略参数作为最终的策略参数集。特别地,系统能够选择导致将最高Q值分配给在控制代理的任何给定情节的初始状态下由控制策略所选择的动作的策略参数,作为将被采用以在所述情节中控制所述代理的策略参数。

下面的表格1示出当系统使用Q函数的表格表示时用于通过过程200来学习控制策略的伪代码。特别地,在表格1中,符号如下:

-(s,a,r,s’)是训练元组,

-Q[sa]是表格,使得Q[sa](X)是在s时采取动作a并且然后遵循由θ∈X参数化的贪婪策略的Q值,其中参数θ表示由信息集X施加的约束,

-ConQ[sa]是表格,使得ConQ[sa](X)是在s时采取动作a并且然后遵循由θ∈X参数化的贪婪策略的Q值,其中附加约束为π

-ConQ[s]是由所有在状态s时取动作a的表格ConQ[sa]接连而形成的表格,

-s→a是策略参数集,使得贪婪策略在状态s时选择动作a,

-⊕是交集和,且被定义为使得h=h

-dom(.)是函数的域。

表格1

图3是用于通过使用值迭代与策略一致的备份来学习控制策略的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,适当编程的强化学习系统、例如图1的强化学习系统100能够执行过程300。

如上所述,系统维持一个或多个信息集(步骤302)。

系统获得当前观察,以及响应于该观察而执行的动作,以及奖励(步骤304)。

系统通过使用转换模型来确定针对多个下一状态中的每一个的相应概率(步骤306)。

特别地,系统使用对环境动态建模的转换模型来预测多个下一状态中的每一个的相应概率,该概率表示下一状态是所述环境由于所述代理响应于当前观察而执行所述动作而转换到的状态的似然率。

系统确定针对控制策略的在当前观察s-当前动作a对的策略一致的Bellman备份(步骤308)。

一般地,系统对由转换模型分配了非零概率的每个下一状态独立地执行以下操作,以生成下一状态的Q值集,然后组合结果以生成控制政策的策略一致的Bellman备份。

特别地,针对代理能够执行的可能动作集中的多个动作中的每个动作,以及针对任何给定的下一状态,系统标识由控制策略分配给下一观察-动作对并且由信息集中的至少一个来证明的Q值(其中“下一观察”是用于表征给定下一状态的一个)。

然后,系统通过从所标识的Q值中修剪仅由不是策略类一致的信息集证明的任何Q值,针对下一状态生成Q值集。因此,从下一状态的已标识的Q值的集合中修剪仅由不会导致响应于当前观察而执行当前动作的信息集证明的任何Q值。

策略一致的备份包括用于证明针对任何下一状态未被修剪的Q值的每个信息集的备份,即目标输出。特别地,针对这些信息集中的给定一个,更新能够是基于元组中的奖励,并且针对给定信息集证明未被修剪的Q值的每个下一状态,该更新是基于由信息集证明的Q值和分配给下一状态的概率。例如,为了计算给定信息集的备份,系统能够针对每个下一状态计算分配给下一状态的概率与由下一状态的信息集证明的Q值之积,且然后对这些积求和以确定初始更新。然后,系统能够将信息集的备份计算为(i)和(ii)的总和:(i)奖励,(ii)折扣系数与下一状态的初始备份之积。

系统通过使用Q学习通过使用策略一致的备份来更新代理的控制策略(步骤310)。特别地,系统能够使用信息集的更新来更新证明未被修剪的Q值的每个信息集。在一些情况下,系统也更新未证明任何未被修剪的Q值的信息集,例如,通过仅使用奖励。

当系统使用Q函数的表格表示时,系统能够通过计算当前Q值与信息集的备份的加权和来更新每个信息集的Q值。

当系统使用函数逼近器来逼近Q函数时,系统能够通过计算基于在当前Q值与信息集的备份之间的误差梯度(例如,均方误差)的有监督学习更新,来计算与信息集相对应的函数逼近器的更新。

如上所述,在一些实施方式中,系统能够在训练期间修剪信息集,在训练期间合并信息集,或者在满足某些准则时两者兼备。例如,当信息集的数目超过阈值数目时,系统能够修剪具有最低Q值的信息集或者能够组合具有最低Q值的信息集。

一旦训练完成,系统能够选择由其中一个信息集表示的策略参数作为最终的策略参数集。特别地,系统能够选择导致将最高Q值分配给在控制代理的任何给定情节的初始状态下由控制策略选择的动作的策略参数,作为将被采用以在所述情节中控制所述代理的策略参数。

下面的表格2示出当系统使用Q函数的表格表示时用于通过使用过程300来学习控制策略的伪代码。表格2中使用的符号与上面表格1中使用的符号相同,另外:

-p(s’|s,a)是由转换模型分配给下一状态s’的概率,即下一状态s’是所述环境由于所述代理在当前状态s时执行当前动作a而转换到的状态的概率。

表格2

在过程200和过程300两者中,系统都维持信息集。当动作空间很大时,当可能约束(或可能策略参数)的空间很大时,或者当可用于执行训练过程的计算资源量有限时,系统可以避免采用多个信息集,而是采用单个函数逼近器,用于估计观察-动作对。在这些情况下,系统可以使用用于强制执行局部一致性的更新来减轻妄想偏见对训练过程的影响。

图4是用于通过使用局部一致的备份来学习控制策略的示例过程400的流程图。为方便起见,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,适当编程的强化学习系统、例如图1的强化学习系统100能够执行过程400。

系统接收一批训练元组(步骤402)。如上所述,每个训练元组包括用于表征环境的当前状态的当前观察、由代理响应于当前观察而执行的当前动作、表征环境的下一状态的下一观察、以及作为代理执行当前动作的结果而接收的奖励。

系统针对批次中的每个下一观察选择相应的下一动作(步骤404)。特别地,系统选择相应的下一动作,使得这些下一动作是局部一致的。更具体地,系统不像常规的Q学习中那样针对每个下一观察独立地选择argmax动作,而是基于确保下一动作彼此局部一致的准则来选择下一动作。所述准则指定(i)能够使用相同的控制策略来选择所有下一动作,即,存在某一策略参数集,控制策略将根据这些参数来选择所有下一动作以响应它们相应的下一观察,和(ii)每个下一动作必须与同一元组中的当前动作相一致,即,存在某一策略参数集,控制策略将根据这些参数来选择当前动作以响应当前观察并且选择下一动作以响应下一观察。换而言之,针对每个下一观察,当仅考虑同时满足准则(i)和准则(ii)的动作时,系统选择argmax动作作为下一动作,即,忽略任何不满足(i)、(ii)或这两者的动作。

系统针对一批训练元组中的每一个计算相应目标Q值(步骤406)。特别地,系统从元组中的奖励和由控制策略针对下一次观察–下一动作对所生成的Q值来确定每个元组的目标Q值,且然后基于目标Q值来确定更新,其中下一观察是元组中的下一观察,下一动作是在步骤404中针对元组选择的下一动作。例如,目标Q值能够是奖励和折扣系数与控制策略针对下一观察–下一动作对所生成的Q值之积的总和。

系统使用训练元组的目标Q值来更新控制策略参数(步骤408)。特别地,系统基于在每个元组的当前Q值(即,由函数逼近器针对当前观察-当前动作对当前生成的Q值)与元组的目标Q值之间的误差梯度(例如,均方误差)来计算有监督的学习更新。

本说明书就系统和计算机程序组件使用了术语“被配置”。对于一个或多个计算机的系统而言,被配置为执行特定操作或动作意为:系统具有在其上所安装的在运行中使所述系统执行所述操作或动作的软件、固件、硬件或它们的组合。对于一个或多个计算机程序而言,被配置为执行特定操作或动作意为:一个或多个程序包括指令,这些指令当由数据处理设备执行时使该设备执行这些操作或动作。

本说明书所述主题和函数运算的实施例能够在数字电子电路、有形体现的计算机软件或固件、包括本说明书所公开的结构及其结构等同物的计算机硬件或者其中一个或多个的组合中实施。本说明书中所描述的主题的实施例能够被实施为一个或多个计算机程序,即计算机程序指令的一个或多个模块,这些计算机程序指令编码在用于由数字处理设备执行或控制其操作的有形非暂时性存储介质上。计算机存储介质能够是机器可读的存储装置、机器可读的存储基质、随机或串行存取存储器装置、或者它们中的一个或多个的组合。替代地或附加地,程序指令能够被编码在人工生成的传播信号上,例如编码在机器生成的电、光、或电磁信号上,该传播信号被生成以编码信息,该信息用于传输到合适的接收器设备以供数据处理设备执行。

术语“数据处理设备”指代数据处理硬件并且涵盖用于处理数据的所有类型的设备、装置、和机器,包括例如可编程处理器、计算机或者多个处理器或计算机。该设备还能够是或进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件以外,该设备还能够可选地包括为计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。

计算机程序(其也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)能够以任何形式的编程语言编写来编写,包括编译语言或解释语言或者声明性语言或过程性语言,并且其能够以任何形式来部署,包括作为独立程序或者作为模块、组件、子例程或者适用于计算环境的其他单元。程序可以但不必与文件系统中的文件对应。程序能够被存储在保存其他程序或数据的文件部分中,例如,一个或多个脚本被存储在标记语言文档中、专用于上述程序的单个文件中或者多个协同文件中,例如,用于存储一个或多个模块、子程序或代码部分的文件。计算机程序能够被部署为在一个计算机上或者在位于一个地点或者跨多个地点分布并通过数据通信网络互连的多个计算机上执行。

在本说明书中,术语“数据库”泛指任何数据集合:数据不必以任何特定方式进行结构化或根本不会结构化,并且能够将数据存储在一个或多个位置的存储设备上。因此,例如,索引数据库能够包括多个数据集合,每个数据集合可以被不同地组织和访问。

类似地,在本说明书中,术语“引擎”泛指被编程以执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实施为安装在一个或多个位置的一台或多台计算机上的一个或多个软件模块或组件。在某些情况下,一台或多台计算机将专用于特定引擎;在其他情况下,能够在相同的一台或多台计算机上安装并运行多个引擎。

本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流还能够通过例如FPGA或ASIC的专用逻辑电路来执行,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。

适于执行计算机程序的计算机能够基于通用微处理器或专用微处理器或这两者,或者任何其他种类的中央处理单元。通常,中央处理单元将接收来自只读存储器或随机存取存储器或者这两者的指令和数据。计算机的元件是用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器装置。中央处理单元和存储器能够由专用逻辑电路补充,或者被并入专用逻辑电路。一般地,计算机也将包括用于存储数据的一个或多个大容量存储设备,例如,磁盘、磁光盘或光盘,或者可操作地与其耦合以从其接收数据、向其传送数据或者两者兼具。然而,计算机不是必须具有这样的设备。而且,计算机能够被嵌入另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪盘驱动器,仅举几例。

适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括:半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内置硬盘或可移动盘;磁光盘;以及CDROM盘和DVD-ROM盘。

为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有显示设备的计算机上实施,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,用于向用户和键盘以及指针设备(例如,鼠标或轨迹球)显示信息,用户可通过该设备向计算机提供输入。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机能够通过向用户使用的设备发送文件并自其接收文件而与用户相交互;例如,通过响应于从web浏览器接收到的请求而将web页面发送到用户设备上的web浏览器。而且,计算机能够与用户交互,这是通过向个人设备(例如,运行消息应用的智能电话)发送文本消息或其他形式的消息,并从用户接收响应消息。

用于所述机器学习模型的数据处理设备也能够例如包括专用硬件加速器单元、用于处理机器学习训练或产生(即推理)工作负载的公共且计算密集的部分。

能够通过使用机器学习框架(例如,TensorFlow框架、Microsoft CognitiveToolkit框架、Apache Singa框架或Apache MXNet框架)来实施和部署机器学习模型。

本说明书所述主题的实施例能够在计算系统中实施,该计算系统包括后端组件,例如,作为数据服务器,该计算系统包括中间件组件,例如,应用服务器,或者该计算系统包括前端组件,例如,具有用户能够借以与本说明书所述主题的实施方式相交互的图形用户界面、web浏览器或App的客户端计算机,或者这样的后端组件、中间件组件或前端组件的任意组合。系统的组件能够通过数字数据通信的任何形式或者媒介来互联,例如,通信网络。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,因特网。

计算系统可包括客户端和服务器。客户端与服务器一般彼此远离,并且通常通过通信网络来进行交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)传送到客户端设备,例如,为了向与充当客户端的设备交互的用户显示数据并从该用户接收用户输入的目的。能够在服务器上从设备接收在用户设备处所生成的数据,例如,用户交互的结果。

虽然本说明书包含许多具体实施细节,但这些不应被解释为对任何发明范围或可能要求保护的内容的范围加以限制,而应被理解为可能针对特定发明的特定实施例的特征的描述。还能够将在本说明书中在分开的实施例的场境中描述的某些特征组合在单个实施例中实施。相反地,也能够将在单个实施例的场境中描述的各种特征分开地在多个实施例中实施或在任何合适的子组合中实施。此外,尽管可能在上面将特征描述为在某些组合中进行动作,甚至最初如此要求保护,但是能够在一些情况下将来自所要求保护的组合的一个或多个特征从组合中删去,并且可以将所要求保护的组合指向子组合或者子组合的变型。

类似地,虽然在附图和权利要求中以特定顺序描绘和说明了操作,但是不应当将这理解为需要以所示的特定顺序或者以序列顺序来执行这样的操作、或者需要执行所有图示的操作才能达到期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,不应当将在上述实施例中的各种系统组件的分开理解为在所有实施例中均需要这样的分开,而应当理解的是,通常能够将所描述的程序组件和系统一起集成在单个软件产品中或封装为多个软件产品。

本文描述了所述主题的特定实施例。其他实施例落入所附权利要求的范围内。例如,能够以不同的次序来执行权利要求中记载的动作并且仍达成期望的结果。作为一个示例,附图中描绘的过程并非必然要求所示的特定次序或顺序来达成期望的结果。在一些情况下,多任务和并行处理可能是有利的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号