首页> 中国专利> 使用因果正确环境模型来控制智能体

使用因果正确环境模型来控制智能体

摘要

方法、系统和装置,包括编码在计算机存储介质上的计算机程序,用于使用环境模型来模拟由使用策略神经网络控制的智能体与其交互的环境的状态转换。方法中的一个包括在当前时间点初始化环境状态的内部表示;重复执行以下操作:接收智能体要执行的动作;基于内部表示生成预测的潜在表示,该预测的潜在表示是本将由策略神经网络通过处理表征与内部表示相对应的环境状态的观测而生成的潜在表示的预测;并且通过使用环境模型处理预测的潜在表示和接收到的动作,更新内部表示以模拟由执行接收到的动作的智能体引起的状态转换。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-20

    公开

    国际专利申请公布

说明书

相关申请的交叉引用

本申请要求在2019年9月25日提交的美国临时申请第62/906,083号的优先权。该在先申请的公开内容被认为是本申请公开内容的一部分,并以引用的方式并入本申请的公开内容中。

技术领域

本说明书涉及强化学习。

背景技术

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

一些强化学习系统根据神经网络的输出选择要由智能体响应于接收到给定观测而执行的动作。

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

发明内容

本说明书描述了一种强化学习系统,该系统通过在多个时间步骤中的每一个时间步骤处理表征当前时间步骤的环境状态的数据(即“观测”)来控制与环境交互的智能体,以选择要由智能体从动作的集合中执行的动作。

在每个时间步骤,该时间步骤处的环境状态取决于在上一个时间步骤的环境状态和智能体在上一个时间步骤执行的动作。

可以构建环境模型,使得环境模型在因果上是正确的。环境模型可以在强化学习系统中用作规划子系统的一部分,用于确定智能体要执行的动作,例如,实现特定任务或目标。通常,这样的系统可以接收当前观测并执行多个规划迭代。然后系统可以基于规划迭代的结果选择响应于当前观测要执行的动作。在每次规划迭代中,系统可以生成动作的序列,其从当前观测所代表的状态开始,将环境推进到新状态。

与传统系统不同,该系统不需要使用环境的完整模拟器来执行规划迭代,即,不使用环境模拟器来确定由于在给定的状态执行给定动作导致环境将转换为哪个状态。相反,系统使用一个环境模型,该模型被配置为接收从动作的集合中选择的输入动作,并更新其隐藏状态以模拟预测的下一个环境状态,在环境处于输入环境状态时,如果智能体执行输入动作,则环境将转换到该预测的下一个环境状态。也就是说,环境模型不需要对环境进行完全建模,只需要对于对规划有影响的必要部分建模,同时仍然满足因果正确性的条件。每个隐藏状态可以是观测的低维表示。环境模型被配置为基于从隐藏状态计算的潜在表示更新其隐藏状态。更新可能不需要处理对环境状态的观测。因此,系统可以只使用这些隐藏状态来执行规划,而无需重建环境的完整状态,甚至不需要完整的表征状态的观测。

根据一个方面,提供了一种使用环境模型来模拟由使用策略神经网络控制的智能体与之交互的环境的状态转换的计算机实现方法。策略神经网络被配置为接收表征环境状态的观测,更新环境状态的信念(belief)表示,从信念表示生成潜在表示,并从潜在表示生成指定要由智能体执行的动作的输出。该方法包括在当前时间点初始化环境状态的内部表示。该方法还包括重复执行以下操作:接收智能体要执行的动作;基于内部表示生成预测的潜在表示,该预测的潜在表示是通过处理表征与内部表示相对应的环境状态的观测而由策略神经网络生成的潜在表示的预测;且通过使用环境模型处理预测的潜在表示和接收到的动作,更新内部表示以模拟由执行接收到的动作的智能体引起的状态转换。

在策略神经网络中输出的信念表示和动作之间的中间潜在表示的使用和环境模型对于预测的潜在表示的使用确保因果正确性,因为潜在表示提供了一个变量来阻止如果环境模型没有捕获环境的所有方面则可能会出现的混杂变量的影响。在给定潜在表示的情况下,智能体执行的动作有条件地独立于状态。

该方法还可以包括从环境状态的内部表示生成要提供用于控制智能体的目标。该目标可以是奖励和/或预期回报。

该方法还可以包括:基于重复执行操作的结果,选择智能体在当前时间点在环境中要执行的动作。目标可用于选择智能体要执行的动作。该方法还可以包括控制智能体执行选择的动作。

初始化当前时间点的环境状态的内部表示可以包括:由策略神经网络接收表征当前时间点的环境状态的观测。初始化还可以包括通过策略神经网络基于处理接收到的观测来更新环境状态的信念表示。初始化可以进一步包括基于环境状态的信念表示来初始化内部表示。

更新内部表示可能不包括处理表征环境状态的要提供给策略神经网络的观测。更新内部表示可以基于环境状态的初始表示、一个或多个过去动作和接收到的动作。例如,更新可能不需要处理由过去动作引起的内部表示的过去状态。因此,更新内部表示可以仅基于环境状态的初始表示、一个或多个过去动作和接收到的动作。

该方法可以进一步包括:由策略神经网络处理环境状态的信念表示和智能体执行的动作以更新在当前时间点之后的未来时间点处的环境状态的信念表示。更新在未来时间点处的环境状态的信念表示可以进一步包括处理表征在未来时间点处的环境状态的观测。

在更新环境状态的信念表示之后,潜在表示可以对应于策略神经网络的一层或多层。在更新环境状态的信念表示之后,一个或多个层可以包括策略神经网络的输入层。信念表示可以是策略神经网络的内部状态。

潜在表示可以对应于由策略神经网络生成的用于控制智能体执行不同动作的相应概率。

潜在表示可以对应于智能体在按照探索选择动作之前要执行的预期动作。也就是说,可以使用探索技术(例如,epsilon-贪婪探索)将预期动作更改为不同的动作,以使智能体探索其他动作以获得更多关于环境的信息。因此,在这方面,执行的动作可能与预期的动作不同。策略神经网络可以是循环神经网络。应当理解,策略神经网络具有多个网络参数。

环境模型可以包括具有多个网络参数的神经网络。环境模型可以包括循环神经网络。环境模型还可以包括以循环神经网络的状态为条件以生成要被提供用于控制智能体的目标的生成模型。生成模型可以包括一个或多个神经网络层。

在环境状态的潜在表示中指定的环境可以对应于智能体与之交互的环境的部分视图。例如,部分视图可以包括表征环境的完整数据的子集。部分视图可以基于过去的观测和/或过去的动作。

从信念表示生成潜在表示可以包括从描述潜在表示的多个变量的分布中采样,该分布由策略神经网络生成并且以信念表示为条件。生成预测的潜在表示可以包括从描述潜在表示的多个变量的分布中采样,所述预测的潜在表示作为潜在表示的预测,该分布由环境模型生成并且以内部表示为条件。

该方法还可以包括在训练数据上迭代地训练环境模型以确定模型参数的训练值,其中,训练数据包括智能体在与环境交互期间接收到的观测。

训练环境模型可以包括:在每次训练迭代时由环境模型生成训练预测的潜在表示;评估一个目标函数,该函数测量在训练预测的潜在表示与由策略神经网络生成的实际潜在表示之间的差异;且,基于目标函数的计算梯度更新环境模型参数的对应值。

根据另一方面,提供了一种系统,包括一个或多个计算机和一个或多个存储指令的存储设备,这些指令当由一个或多个计算机执行时,可操作以使一个或多个计算机执行上述方法方面的操作。

根据另一方面,提供了一种编码有指令的计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行该方法方面的操作。

应当理解,在一个方面的上下文中描述的特征可以与在另一方面的上下文中描述的特征组合。

可以实施本说明书中描述的主题的特定实施例以实现以下优点中的一个或多个。

通常,在预测正由智能体与之交互的环境的状态转换时,由于与不正确的因果推理相关的问题,环境模型无法做出正确的预测。也就是说,环境模型错误地将智能体收到的奖励的至少一部分归因于智能体执行的动作。

然而,本说明书中描述的技术为环境模型提供了从潜在表示导出的附加信息,这些信息对应于因果推理中的前门或后门变量(参见Pearl et al.,Causal inference instatistics:A primer.John Wiley&Sons,2016(Pearl等人,统计中的因果推断:入门。约翰威利父子公司,2016),在此通过引用将其整体并入,以获取有关前门和后门变量的详细信息)。这允许环境模型生成因果正确的模拟,并且对在选择智能体要执行的动作时遵循的策略变化是鲁棒的。这提高了强化学习算法的有效性,并且可以避免由于环境模型未准确考虑环境中的随机性或其他外部因素而导致的危险或其他风险情况。作为一个示例,这些技术允许系统控制在环境中导航的智能体,以避免采取有希望立即奖励但从长远来看基本上是负面惩罚的路径。

此外,这些技术可以防止环境模型对环境过于乐观,尤其是在模拟智能体要接收的目标奖励时,这继而又导致提高策略神经网络在用于选择智能体要执行的动作时的性能。

在一些实现中,这些技术使用环境模型来模拟与整个环境的部分视图相对应的环境。这样的部分模型既不以要提供给智能体的可观测数据的全集(通常是非常高维的)为条件也不被配置为生成所述可观测数据的全集。例如,可观测数据可以包括环境的图像。基于图像数据调节环境模型可能需要建模和生成图像。鉴于图像数据的高维性,这种建模计算成本高且可能难以处理。此外,建模可以捕获对于行动规划的目标而言不必要的视觉细节方面。然而,简单地选择不对环境的某些方面进行建模可能会导致环境模型在因果上不正确,因为未建模的方面可能会成为混淆变量。这可能导致智能体采取次优行动。因此,使用如本文所述的因果正确的部分视图环境模型来控制智能体能够在模拟环境(至少其部分视图)中实现高水平的准确度,同时需要比为了执行规划而需要预测高维观测的系统更少的计算资源(例如,存储器、计算能力或两者)。

在附图和以下描述中阐述本说明书中描述的主题的一个或多个实施例的细节。本主题的其他特征、方面和优点将从描述、附图和权利要求中变得显而易见。

附图说明

图1输出了示例强化学习系统。

图2是由强化学习智能体与其交互的环境的动态的示例图示。

图3是用于模拟环境的状态转换的示例过程的流程图。

不同附图中相同的附图标号和标记指示相同的元件。

具体实施方式

本说明书描述了一种强化学习系统,该系统通过在多个时间步骤中的每一个时间步骤处理表征在该时间步骤处环境的当前状态的数据(即“观测”)以选择要由智能体执行的操作来控制与环境交互的智能体。

在每个时间步骤,在该时间步骤处的环境状态取决于在上一个时间步骤处的环境状态和智能体在上一个时间步骤处执行的动作。

在一些实现中,环境是真实世界环境并且智能体是与真实世界环境交互的机械智能体,例如机器人或在环境中导航的自主或半自主陆地、空中或海上载具。

在这些实现中,观测可以包括例如图像、对象位置数据和传感器数据中的一个或多个,以在智能体与环境交互时捕获观测,例如来自图像、距离或位置传感器或来自致动器的传感器数据。

例如,在机器人的情况下,观测可以包括表征机器人当前状态的数据,例如以下中的一项或多项:关节位置、关节速度、关节力、扭矩或加速度——例如重力补偿扭矩反馈——以及机器人持有的项目的全局或相对位姿。

在机器人或其他机械智能体或载具的情况下,观测可以类似地包括智能体的一个或多个部分的位置、线速度或角速度、力、扭矩或加速度以及全局或相对姿势中的一项或多项。观测可以定义为1、2或3维,并且可以是绝对和/或相对观测。

观测还可以包括例如:感测到的电子信号,诸如电机电流或温度信号;和/或例如来自相机或激光雷达传感器的图像或视频数据,例如来自智能体的传感器的数据或来自与环境中的智能体分开定位的传感器的数据。

在电子智能体的情况下,观测可以包括来自监测工厂或服务设施的一部分的一个或多个传感器的数据,诸如电流、电压、功率、温度和其他传感器和/或表示设备的电子和/或机械项目的功能的电子信号。

在这些实现中,动作可以是控制机器人的控制输入,例如,用于机器人关节的扭矩或更高级别的控制命令,或者可以是控制自主或半自主的陆地、空中、海上载具的控制输入,例如,对载具的控制面或其他控制元件的扭矩或更高级别的控制命令。

换言之,动作可以包括例如机器人的一个或多个关节或另一机械智能体的部分的位置、速度或力/扭矩/加速度数据。动作数据可以附加地或替代地包括电子控制数据,诸如马达控制数据,或更一般地,用于控制环境内的一个或多个电子设备(其控制对观测到的环境状态有影响)的数据。例如,在自主或半自主陆地或空中或海上载具的情况下,动作可以包括控制导航——例如转向——和移动——例如载具的制动和/或加速——的动作。

在一些实现中,环境是模拟环境并且智能体被实现为与模拟环境交互的一个或多个计算机。在模拟环境中训练智能体可以使智能体能够从大量模拟训练数据中学习,同时避免与在现实世界环境中训练智能体相关联的风险,例如,由于执行选择不良的动作而对智能体造成损害。此后,在模拟环境中训练的智能体可以部署在真实环境中。

模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且智能体可以是导航通过运动模拟的模拟载具。在这些实现中,动作可以是用于控制模拟用户或模拟载具的控制输入。

在另一个示例中,模拟环境可以是视频游戏并且智能体可以是玩视频游戏的模拟用户。通常,在模拟环境的情况下,观测可以包括一个或多个先前描述的观测或观测类型的模拟版本,并且动作可以包括一个或多个先前描述的动作或动作类型的模拟版本。

在另一个示例中,环境可以是化学合成或蛋白质折叠环境,使得每个状态是蛋白质链或一种或多种中间物或前体化学物的相应状态,并且智能体是用于确定如何折叠蛋白质链或合成化学物的计算机系统。在该示例中,动作是用于折叠蛋白质链的可能折叠动作或用于组装前体化学物/中间物的动作,并且要实现的结果可以包括例如折叠蛋白质以使蛋白质稳定并使其达到特定的生物学功能或为该化学物提供有效的合成路线。作为另一个例子,该智能体可以是一种机械智能体,该机械智能体自动执行或控制由系统选择的蛋白质折叠动作,而无需人工交互。观测可以包括对蛋白质状态的直接或间接观测和/或可以源自模拟。

以类似的方式,环境可以是药物设计环境,使得每个状态是潜在医药化学药物的相应状态,并且智能体是用于确定医药化学药物元素和/或医药化学药物的合成途径的计算机系统。可以基于从药物的目标得出的奖励来设计药物/合成,例如在模拟中。作为另一个例子,智能体可以是执行或控制药物合成的机械智能体。

在一些应用中,智能体可以是静态或移动软件智能体,即配置为自主操作和/或与其他软件智能体或人一起操作以执行任务的计算机程序。例如,该环境可以是集成电路布线环境,并且系统可以被配置为学习执行布线任务以对诸如ASIC的集成电路的互连线进行布线。奖励(或成本)然后可能取决于一个或多个布线指标,诸如互连电阻、电容、阻抗、损耗、速度或传播延迟、诸如宽、厚或几何形状的物理线路参数以及设计规则。观测可以是对组件位置和互连的观测;这些动作可以包括组件放置动作,例如以限定组件位置或方向和/或互连布线操作,例如互连选择和/或放置动作。布线任务因此可以包括放置组件,即确定集成电路的组件的位置和/或方向,和/或确定组件之间的互连的布线。一旦布线任务完成,可以根据确定的布置和/或布线来制造集成电路(例如ASIC)。或者,环境可以是数据包通信网络环境,且智能体是路由器,用于根据网络观测在通信网络上路由数据包。

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

在一些其他应用中,智能体可以控制包括设备项目在内的真实世界环境中——例如,在数据中心中、在电力/水分配系统中或在制造工厂或服务设施中——的动作。观测因此可能与工厂或设施的运行有关。例如,观测可以包括对设备的电力或水使用的观测,或对电力生成或电力分配控制的观测,或对资源使用或废物产生的观测。动作可以包括控制工厂/设施的设备项目或对于其施加操作条件的动作,和/或导致改变工厂/设施的操作中的设置的动作,例如,调整或打开/关闭工厂/设施的组件。

在一些进一步的应用中,环境是真实世界的环境,并且智能体管理跨计算资源(例如,在移动设备上和/或在数据中心中)的任务分配。在这些实现中,动作可以包括将任务分配给特定的计算资源。

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

系统100通过使用规划引擎160控制与环境104交互的智能体102,规划引擎160又包括策略神经网络110和环境模型150,以选择由智能体102执行的导致环境状态转换到新的状态的动作106。

系统100包括规划引擎160和用于规划引擎160的组件的模型参数118的集合,包括策略神经网络110的参数和环境模型150的参数。系统100还可以包括训练引擎116。

简而言之,环境模型150是在给定时间步骤给定信息的情况下能够进行关于至少一个未来时间的预测的模型。如以下将更详细描述的,环境模型150在系统100中用于进行关于在给定时间步骤之后的多个时间步骤的预测。这称为推出(rollout)。假设智能体执行某些动作,它表示在给定时间步骤之后的时间的想象的环境轨迹。

在多个时间步骤的每一个,策略神经网络110被配置为根据模型参数118处理包括表征环境104的当前状态的当前观测120的输入以生成可用于控制智能体的动作选择输出122(“动作选择策略”)。

例如,策略神经网络110可以是循环神经网络,例如LSTM网络,其可以接收包括对环境的观测的输入并根据策略神经网络参数的集合处理输入以生成动作选择输出122,其可用于确定将由智能体102在多个时间步骤的每一个处执行的动作106。

接下来描述动作选择输出122的几个示例。

在一个示例中,动作选择输出122可以包括智能体可以执行的可能动作的集合中的每个动作的相应数字概率值。如果用于控制智能体,系统100可以例如通过下述来选择智能体要执行的动作:根据动作的概率值对动作进行采样,或者选择具有最高概率值的动作。

在另一个示例中,动作选择输出122可以例如通过下述来直接定义要由智能体执行的动作:定义应该施加到机器人智能体的关节的扭矩值。

在另一个示例中,动作选择输出122可以包括智能体可以执行的可能动作的集合中的每个动作的相应Q值。如果用于直接控制智能体,则系统100可以处理Q值(例如,使用soft-max函数)以生成每个可能动作的相应概率值,该概率值可以用于选择要由智能体执行的动作(如前所述)。系统100还可以选择具有最高Q值的动作作为要由智能体执行的动作。

动作的Q值是对“回报”的估计,该回报将源自:智能体响应于当前观测120而执行该动作,且随后根据策略神经网络参数的当前值选择智能体102执行的未来动作。

回报是指智能体收到的“奖励”124的累积量度,例如,按时间折扣的奖励总和。智能体可以在每个时间步骤接收相应的奖励124,其中,奖励124由标量数值指定并且表征例如智能体完成分配的任务的进度。

不是直接使用策略神经网络110来控制智能体106,然而,系统100替代地使用环境模型150来执行多个规划迭代。然后系统基于规划迭代的结果选择响应于当前观测而执行的动作106。在每次规划迭代中,系统100可以生成动作106的序列,其使环境104从当前观测120表示的状态开始进行到新状态。通常,环境模型150用于从当前观测120开始产生多个轨迹。这可以帮助确定更有效的动作选择策略,以最大化智能体102的预期累积奖励。

具体而言,系统100可以将环境模型150与基于MDP的规划算法——例如,基于树的搜索或其他前瞻规划方法——一起使用,以在一系列具有挑战性和视觉复杂的领域中实现高质量的智能体性能,而无需知道它们的潜在动态。例如,基于MDP的规划算法可以是蒙特卡洛树搜索(MCTS)算法。在每个时间步骤,系统100利用动作选择策略、奖励估计以及在相关时由环境模型根据当前模型参数生成的价值估计。在考虑时,每个值估计都指定了处于预测的下一个环境状态的环境到执行任务的值。系统使用这些数据运行MCTS算法来确定动作选择输出,且在某些情况下,还可以确定估计值,基于该估计值可以选择智能体要执行的下一个动作。

在下文中描述了一系列内部规划迭代中的轨迹规划的示例以及如何使用规划迭代来控制智能体:Hafner et al..Learning latent dynamics for planning frompixels.arXiv:1811.04551,2018(Hafner et al等。从像素学习潜在动态规划。arXiv:1811.04551,2018)以及Schrittwieser et al.Mastering Atari,go,chess and shogi byplanning with a learned model.arXiv:1911.08265,2019(Schrittwieser等人。通过学习模型进行规划,掌握Atari、围棋、国际象棋和将棋。arXiv:1911.08265,2019),其每一个都通过引用整体并入本文。

更具体地说,可以首先使用初始动作——例如系统根据当前采用的动作选择策略为给定的环境状态选择的候选动作——以及策略神经网络110的初始隐藏状态来初始化环境模型150。为了从环境的给定状态向前执行多个状态转换的推出,环境模型150然后被配置为在多个时间步骤上接收将由智能体执行的动作,且作为输出生成从系统100可以提供给策略神经网络110的给定环境状态开始的多个轨迹中的每一个轨迹的相应的目标(例如,就智能体在多个时间步骤的每一个接收的奖励而言)。系统100然后使用这些目标选择要由智能体102执行的动作。

下面参考图2-3更详细地描述使用环境模型150模拟由智能体与其交互的环境的状态转换。

环境模型150的确切架构可能不同,但通常,环境模型150可以是循环神经网络,其被配置为接收智能体执行的动作作为输入,且根据环境模型参数的集合处理输入来生成目标作为输出(例如,就作为执行动作的结果由智能体接收的奖励而言),且更新其隐藏状态以模拟由动作引起的环境的状态转换。例如,环境模型150的架构可以包括一个或多个层(例如,卷积层或全连接层)的序列,随后是一个或多个循环层(例如,长短期记忆(LSTM)层))和输出层,该输出层生成包括观测在内的环境模型输出。

因为环境模型150被具体配置为预测用于动作选择的目标奖励,即,代替表征整个环境的可观测数据的全集,它可以被称为部分环境模型。环境模型的输出数据通常比系统在智能体与环境交互期间可能已经接收到的实际观测数据具有更低的维度、更简单的模态或两者兼而有之。

图2是强化学习智能体与之交互的环境的动态的示例说明。环境使用多个状态e

在图2A的例子中,在每个步骤t,系统可以使用环境模型150来输出当前目标y

特别地,可以通过环境模型150的给定层——例如,输入层或中间层——的输出或环境模型150的多个层的输出的组合来参数化给定分布p(z

从p(z

图2B示出了使用策略神经网络110选择要由智能体执行的动作的示例。在图2B的示例中,在每个时间步骤t,策略神经网络110接收观测y

计算潜在表示z

例如,策略神经网络的隐藏状态可以用作参数化从其确定潜在表示z

作为另一个示例,动作选择概率可以用作参数化从其确定潜在表示z

训练引擎116通过使用强化学习技术来训练策略神经网络110和环境模型150,以基于智能体与环境的交互来迭代地调整策略神经网络110和环境模型150的参数的集合的值。在下文中描述了合适的强化学习技术的例子:Espeholt,Lasse,et al.″IMPALA:Scalable Distributed Deep-RL with Importance Weighted Actor-LearnerArchitectures.″ICML.2018(埃斯佩霍尔特、拉塞等人。“IMPALA:具有重要性加权的操作者-学习者架构的可扩展分布式深度强化学习”。ICML。2018)。

特别地,在训练期间,作为智能体与环境交互的结果而生成的轨迹被存储在轨迹缓冲器114中。每个轨迹可以包括:(i)由智能体接收的表征环境的相应状态和指定环境向智能体发出的相应奖励的观测y的序列,以及(ii)智能体响应于观测而执行的动作a的序列。

训练引擎116更新策略神经网络110的参数以鼓励它生成最大化系统100接收到的预期累积奖励的策略输出。训练引擎116更新环境模型150的模型参数以鼓励它更准确地模拟由智能体将执行的动作引起的环境的状态转换,包括预测这些动作的准确目标奖励。更具体地,训练引擎116可以鼓励环境模型150生成效仿由策略神经网络生成的实际潜在表示的预测的潜在表示。例如,在每次训练迭代:训练引擎116可以使用环境模型150来生成环境状态的训练预测的潜在表示,评估测量在训练预测的潜在表示和由策略神经网络110为相同的环境状态生成的实际潜在表示之间的差异的目标函数,并基于目标函数的计算梯度确定对环境模型参数的当前值的更新。

在轨迹数据上与策略神经网络150一起训练环境模型150调整策略神经网络110的参数的集合的值,以使策略神经网络110从有助于环境内的状态转换的因果推理和长期轨迹规划的观测120中得出更多有用的信息,并使策略神经网络110确定更有效的策略输出以最大化预期累积奖励,例如系统100接收的长期时间折扣奖励总和,即使观测120没有准确地解释环境104内的随机性或其他外部因素。

一旦被训练,系统100例如可以用于选择要由智能体102执行的动作106。例如,如果奖励124包括对智能体102与环境104交互成功评价的值,例如表示智能体从环境的当前状态开始完成任务所花费的时间量的值,则智能体102的动作106可以被选择为由系统100预测的动作,即,作为多次规划迭代的结果,以优化与该值对应的奖励124的分量。

图3是用于模拟环境的状态转换的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,经过适当编程的强化学习系统,例如图1的强化学习系统100,可以执行过程300。

系统可以重复执行过程300以生成多个轨迹,包括由智能体将执行的动作引起的模拟状态转换,其例如可以用作系统的训练数据。

系统初始化环境模型的隐藏状态(302)。一般来说,环境模型的每个隐藏状态都可以通过处理下述来生成:(i)前面的环境模型隐藏状态h

如果动作是轨迹中的第一动作,则对应的隐藏状态可以是通过执行以下步骤304-308计算的初始隐藏状态。

系统接收表征在当前时间点的环境状态的观测(304)。该观测可以是在轨迹中包括的观测序列中的第一观测。

系统更新策略神经网络的隐藏状态(306)。即,系统使用策略神经网络处理包含接收到的第一观测的策略网络输入,以确定初始策略网络隐藏状态,并输出系统可以使用来选择智能体在轨迹开始时要执行的第一动作a

系统基于策略神经网络的初始隐藏状态和选择的第一动作初始化环境模型隐藏状态(308)。例如,返回参考图2A的示例,系统可以使用初始策略网络隐藏状态和动作来评估预定初始化函数h

然后系统重复执行过程300的步骤310-314以模拟环境内的多个状态转换。换言之,系统在从第一步骤向前的多个未来轨迹步骤中的每一个处执行步骤310-314。为方便起见,步骤310-314中的每一个将被描述为在“当前”轨迹步骤处执行。

系统接收要由智能体在当前轨迹步骤执行(310)的动作。一般而言,动作可以是通过使用策略神经网络或实现多种动作选择策略的任何一个的系统的另一个动作选择组件来选择的任意动作。

例如,系统可以根据给定的动作选择策略并基于预测的潜在表示(如在步骤312生成的)以及可选的环境模型隐藏状态来选择要由智能体执行的动作。

该系统基于环境模型的当前隐藏状态生成预测的潜在表示(312)。预测的潜在表示z

可选地,系统还使用环境模型基于系统可以在规划期间用于动作选择的当前隐藏状态h

系统更新环境模型隐藏状态(314)以模拟由智能体执行接收到的动作引起的状态转换。系统可以通过使用环境模型并根据环境模型参数的当前值处理下述来确定对当前环境模型隐藏状态的更新,即修改环境模型的当前隐藏状态以转换到后续隐藏状态:(i)当前环境模型隐藏状态h

不同于可以以过度冗余或因果错误的方式预测环境中动作序列的结果的传统的RL规划技术(例如使用自回归生成模型的动作条件预测或使用值预测网络的选项条件预测),模拟由智能体执行上述各种动作引起的状态转换仅以确保因果正确性最少所需量的信息为条件,并且因此依赖于所述信息。特别是,系统可以通过以动作和最少所需的信息量为条件来更新环境模型隐藏状态以重现模型训练数据中的动作分布。给定这样的信息,动作独立于其他输入,因此模型不太可能被环境模型在模拟实际(例如真实世界)环境时未考虑或顾及的观测中的任何信息混淆。通过使用这样的环境模型,系统可以模拟因果正确的状态转换,同时受动作选择策略变化的影响较小,并且当用于训练策略神经网络时,可以帮助学习最优动作选择策略,系统可以使用所述最优动作选择策略来控制智能体,以通过学习鲁棒且因果正确的动作选择策略来最大化智能体收到的预期累积奖励。

下面显示了在给定动作选择策略ψ下使用环境模型生成模拟轨迹的示例算法。

在上面显示的示例算法中,在每个轨迹步骤中,系统使用环境模型来确定用于规划的当前目标y

本说明书结合系统和计算机程序组件使用术语“被配置”。对于被配置为执行特定操作或动作的一个或多个计算机的系统意味着系统已经在其上安装了软件、固件、硬件或它们的组合,其在运行中使得系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使装置执行操作或动作的指令。

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

术语“数据处理装置”指代数据处理硬件,并且涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。所述装置也可以是或还包括专用逻辑电路,例如,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”)(例如,因特网)。

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

虽然本说明书包含许多具体的实现细节,但是这些不应被解释为对任何发明的范围或可以要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中切除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。

类似地,虽然在附图中描绘了操作并且以特定顺序在权利要求中叙述了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号