首页> 中国专利> 使用生成式前导神经网络的模仿学习

使用生成式前导神经网络的模仿学习

摘要

用于训练动作选择策略神经网络的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。在一个方面,一种方法包括:获得专家观察;使用生成式神经网络系统处理专家观察以生成给定观察‑给定动作对,其中,生成式神经网络系统已被训练成如果响应于特定观察执行特定动作更有可能导致环境稍后到达目标观察表征的状态,则更有可能生成特定观察‑特定动作对;使用动作选择策略神经网络处理给定观察,以生成针对给定动作的给定动作得分;以及调整动作选择策略神经网络参数的当前值,以增加针对给定动作的给定动作得分。

著录项

  • 公开/公告号CN112334914A

    专利类型发明专利

  • 公开/公告日2021-02-05

    原文格式PDF

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

    申请/专利号CN201980041205.5

  • 发明设计人 M.维塞里克;Y.施罗克;K.J.肖尔兹;

    申请日2019-09-25

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

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人金玉洁

  • 地址 英国伦敦

  • 入库时间 2023-06-19 09:47:53

说明书

背景技术

本说明书涉及使用机器学习模型来处理数据,并且特别地涉及生成用于基于表征环境的状态的数据(“观察”)控制与环境交互的智能体的控制系统。

机器学习模型接收输入,并基于接收的输入生成输出,例如,预测输出。一些机器学习模型是参数模型,并基于接收的输入和模型的参数的值生成输出。

一些机器学习模型是深度模型,其使用模型的多个层来针对接收的输入生成输出。例如,深度神经网络是深度机器学习模型,包括输出层和一个或多个隐藏层,每个隐藏层将非线性变换应用于接收的输入以生成输出。

发明内容

本说明书描述了训练动作选择神经网络的系统,该系统被实现为在一个或多个位置的一个或多个计算机上的计算机程序。动作选择网络通过选择要由智能体执行的使智能体能够完成任务的动作来控制与环境交互的智能体。

根据第一方面,提供了一种用于训练动作选择策略神经网络的方法。该动作选择策略神经网络具有动作选择策略神经网络参数集合。该动作选择策略神经网络被配置为根据动作选择策略神经网络参数的值来处理表征环境的状态的观察,以生成动作选择策略输出。该动作选择策略输出包括针对可能动作的预定集合中的每个动作的相应动作得分。动作选择策略输出用于选择要由与环境交互的智能体执行的动作。

该方法包括获得专家观察,该专家观察表征环境的被分类为与完成特定任务相关的状态。使用生成式神经网络系统处理专家观察,以生成给定观察-给定动作对。给定观察-给定动作对包括:(i)表征环境的状态的给定观察,和(ii)来自可能动作的预定集合的给定动作。生成式神经网络系统被配置为处理目标观察,以生成观察-动作对,其中,生成式神经网络系统已被训练成如果响应于特定观察执行特定动作更有可能导致环境稍后到达目标观察表征的状态,则更有可能生成特定观察-特定动作对。根据动作选择策略神经网络参数的当前值,使用动作选择策略神经网络处理给定观察,以生成针对给定动作的给定动作得分。调整动作选择策略神经网络参数的当前值,以增加针对给定动作由动作选择策略神经网络通过处理给定观察而生成的给定动作得分。

在一些实施方式中,生成式神经网络系统包括生成式自回归神经网络。

在一些实施方式中,生成式自回归神经网络是掩蔽自回归流。

在一些实施方式中,使用生成式神经网络系统处理专家观察以生成给定观察-给定动作对包括:使用第一生成式神经网络处理专家观察以生成给定观察;和使用第二生成式神经网络处理专家观察和给定观察,以生成给定动作。

在一些实施方式中,该方法进一步包括从包括轨迹集合的回放缓冲区中获得轨迹,其中,该轨迹包括表征在智能体通过执行根据动作选择神经网络参数的值选择的动作而与环境交互时环境的相应状态的一系列观察-动作对。从轨迹选择特定观察-特定动作对和将来观察,其中,将来观察被包括在轨迹中在特定观察-特定动作对之后的观察-动作对中。根据生成式神经网络系统参数的当前值,使用生成式神经网络系统处理将来观察,以生成预测观察-预测动作对。基于以下两者之间的差确定损失:(i)特定观察-特定动作对,和(ii)预测观察-预测动作对。基于损失调整生成式神经网络系统参数的当前值。

在一些实施方式中,根据动作选择神经网络参数的当前值来选择轨迹的动作。

在一些实施方式中,从轨迹选择:(i)特定观察-特定动作对和(ii)将来观察包括:选择特定观察-特定动作对;从概率分布采样非负整数值n;和从轨迹中在轨迹中的特定观察-特定动作对之后并与特定观察-特定动作对分离轨迹中n个中间观察-动作对的观察-动作对中选择将来观察。

在一些实施方式中,概率分布是几何分布。

在一些实施方式中,专家观察包括在专家轨迹中,其中,该专家轨迹是表征在给定智能体通过执行完成特定任务的一系列专家动作而与环境交互时环境的相应状态的一系列专家观察。

在一些实施方式中,专家轨迹包括与每个专家观察对应的专家动作,该方法还包括:获得与所获得的专家观察对应的专家动作;和调整动作选择策略神经网络参数的当前值,以增加针对专家动作由动作选择策略神经网络通过处理专家观察而生成的特定动作得分。

在一些实施方式中,调整动作选择策略神经网络参数的当前值,以增加针对专家动作由动作选择策略神经网络通过处理专家观察而生成的特定动作得分包括:确定针对专家动作的特定动作得分关于动作选择策略神经网络参数的对数的梯度;和使用梯度调整动作选择策略神经网络参数的当前值。

在一些实施方式中,调整动作选择策略神经网络参数的当前值,以增加针对专家动作由动作选择策略神经网络通过处理专家观察而生成的特定动作得分包括:确定针对给定动作的给定动作得分关于动作选择策略神经网络参数的对数的梯度;和使用梯度调整动作选择策略神经网络参数的当前值。

在一些实施方式中,专家观察表征在控制智能体与环境交互以完成特定任务之时环境的状态。

根据另一方面,提供了一种控制与环境交互的智能体的方法,其中,该方法包括通过第一方面的方法来训练动作选择策略神经网络,并且在多个相继时间中的每个时间:获得表征环境在该时间的状态的观察,将观察输入动作选择策略神经网络以从动作选择策略神经网络获得控制数据,以及将控制数据发送到智能体以使智能体执行动作。

在一些实施方式中,环境是现实世界环境,并且观察作为被配置为感测现实世界环境的一个或多个传感器设备的输出而获得。

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

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

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

本说明书中描述的系统通过模仿“专家”(即,通过使用任务的专家演示集合来训练动作选择网络以匹配专家的行为)训练动作选择网络以选择使智能体能够执行任务的动作。当动作选择网络控制智能体时,在小差错将智能体引导到观察空间的专家尚未探索的一些部分(即,未包括在专家演示集合中的一些部分)时,容易发生错误和与演示的专家行为的偏差。因此,在本说明书中描述的系统训练动作选择网络以选择可能使环境转变回到专家演示的状态的动作,从而减少错误的累积并使智能体能够从差错恢复。与例如不训练动作选择网络以从差错恢复的一些常规训练系统相比,该系统可以通过较少的训练迭代并使用较少的专家观察来训练动作选择网络以达到可接受的性能水平。这是一个显著的优势,因为对于许多现实世界中的控制问题来说,生成专家观察既成本高又费时。特别地,本说明书中描述的系统与一些常规训练系统相比可以消耗更少的计算资源。这使得实施例特别适合在具有有限处理和/或存储能力的计算机系统(诸如移动设备或作为设置在充当智能体的机电设备内的处理器)上实现。它还暗示,对于给定数量的计算机资源和/或专家观察,与那些常规训练系统相比,实施例能够提供对智能体的优越控制。

此外,本说明书中描述的系统可以使用专家观察来训练动作选择网络,而无需知道响应于专家观察而执行的对应专家动作。在特定示例中,即使为完成任务而执行的特定动作是未知的,但是本说明书中描述的系统也可以基于描绘正在完成的任务的视频来训练机器人智能体完成特定的任务。这使得本说明书中描述的系统比需要专家观察和专家动作两者的训练系统可更广泛地应用。特别地,对于许多任务,可以使用远比“标记的”专家演示(即指定专家动作的专家演示)多的“未标记的”专家演示(即未指定专家动作的专家演示)。即使没有任务的标记的专家演示可用,本说明书中描述的系统也可以训练动作选择网络来选择动作以执行任务。

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

附图说明

图1示出了用于使用动作选择神经网络在多个时间步的每一个处选择要由与环境交互的智能体执行以完成任务的动作的示例数据流。

图2A示出了示例训练系统。

图2B示出了从智能体轨迹生成用于训练生成式前导神经网络系统的训练样例的示例。

图3是用于训练动作选择策略神经网络的示例过程的流程图。

图4是用于训练生成式前导神经网络系统的示例过程的流程图。

在各个附图中,相似的附图标号和标记指示相似的元件。

具体实施方式

本说明书描述了用于训练动作选择神经网络的训练系统,该动作选择神经网络用于通过选择要由与环境交互的智能体执行的动作来控制该智能体完成任务。训练系统可以通过模仿“专家”即,通过使用任务的专家演示集合来训练动作选择网络以尽可能接近地匹配专家的行为,来训练动作选择网络以执行任务。例如,训练系统可以训练动作选择网络响应于对环境的观察而选择动作,该动作与专家响应于相同的观察而执行的动作匹配(“观察”是指表征环境的状态的数据)。但是,当动作选择网络控制智能体时,在小差错将智能体引导到观察空间的专家尚未探索的一些部分(即,未包括在专家演示集合中的一些部分)时,容易发生错误和与演示的专家行为的偏差。因此,在本说明书中描述的训练系统训练动作选择网络以选择可能最终将智能体引导到专家演示的环境状态的动作,从而减少错误的累积并使智能体能够从错误恢复。将在下面更详细地描述这些特征和其他特征。

图1示出了用于使用动作选择神经网络102在多个时间步的每一个处选择要由与环境108交互的智能体106执行以完成任务的动作104的示例数据流100。在每个时间步,动作选择网络102处理表征环境108的当前状态的观察110以生成动作得分112,该动作得分112用于选择响应于该观察要由智能体106执行的动作104。在每个时间步,环境108(以及可选地,智能体本身)在该时间步的状态(由观察110表征)取决于环境108在前一时间步的状态以及智能体106在前一时间步执行的动作104。

在一些实施方式中,环境是现实世界环境,并且智能体是与现实世界环境交互的机械智能体。例如,智能体可以是与环境交互(例如,以定位环境中的感兴趣对象、将感兴趣的对象移动到环境中的指定位置、以物理方式在环境中操纵感兴趣的对象或导航到环境中的指定目的地)的机器人;或者智能体可以是导航通过环境到达环境中的指定目的地的自主或半自主的陆地、空中或海洋载具。

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

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

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

观察还可以包括例如由感测现实环境的多个传感器设备之一获得的数据;例如,感测的电子信号,诸如电动机电流或温度信号;和/或例如来自相机或LIDAR传感器的图像或视频数据,例如来自智能体的传感器的数据或来自在环境中与智能体分离地定位的传感器的数据。

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

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

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

在一些实施方式中,环境是模拟环境,并且智能体被实现为与模拟环境交互的一个或多个计算机。

例如,模拟环境可以是机器人或载具的模拟,并且可以在该模拟上训练动作选择网络。例如,模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且智能体可以是导航通过该运动模拟的模拟载具。在这些实施方式中,动作可以是控制模拟用户或模拟载具的控制输入。

在另一示例中,模拟环境可以是视频游戏,并且智能体可以是玩视频游戏的模拟用户。

在另外的示例中,环境可以是蛋白质折叠环境,使得每个状态是蛋白质链的相应状态,并且智能体是用于确定如何折叠蛋白质链的计算机系统。在该示例中,动作是用于折叠蛋白质链的可能的折叠动作,并且要实现的结果可以包括例如折叠蛋白质以使蛋白质稳定并从而它实现特定的生物学功能。作为另一示例,智能体可以是机械智能体,其在没有人类交互的情况下自动执行或控制由系统选择的蛋白质折叠动作。观察可以包括蛋白质的状态的直接或间接观察和/或可从模拟得出。

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

在模拟环境中训练智能体可以使该智能体能够从大量的模拟训练数据中学习,同时避免与在现实世界环境中训练该智能体关联的风险,例如,由于执行不良地选择的动作而对智能体造成的损害。之后,可以在现实世界环境中部署在模拟环境中训练的智能体。

在某些其他应用中,智能体可以在包括装备的物件的现实世界环境中控制动作,例如在数据中心或电网干线电力或水分配系统中,或在制造工厂或服务设施中。然后,观察可以与工厂或设施的操作有关。例如,观察可以包括装备的电力或水使用的观察,或者发电或分配控制的观察,或者资源使用或废物产生的观察。智能体可以在该环境中控制动作,以例如通过减少资源使用来提高效率,和/或例如通过减少废物来减少环境中操作的环境影响。动作可以包括控制工厂/设施的装备的物件或将操作条件强加于工厂/设施的装备的物件的动作,和/或导致对工厂/设施的操作设置改变的动作,例如,以调整或打开/关闭工厂/设施的组件。

可选地,在以上实施方式中的任一个中,在任何给定时间步处的观察可包括可以有利于表征环境的来自先前时间步的数据,例如,在先前时间步处执行的动作。

由动作选择网络102在每个时间步处生成的动作得分112可以包括对于智能体在该时间步处可以执行的可能动作集合中的每个动作的相应数值。可以以多种不同方式中的任一种来使用动作得分112,以确定在一时间步处要由智能体106执行的动作104。例如,每个动作得分112可以表示对于该可能动作集合中的动作的相应概率值。可以通过根据动作的概率值采样动作来确定在该时间步处要由智能体106执行的动作104。作为另一示例,具有最高动作得分112的动作可以被选择为在该时间步处要执行的动作。

动作选择网络102可以用使其能够执行其所描述的功能的任何适当的神经网络架构来实现。在一个示例中,动作选择网络102可以包括输入层(其接收观察),其后是一个或多个卷积层,一个或多个完全连接层以及输出层(其输出动作得分)。

训练系统200被配置为使用以下来训练动作选择网络102以在环境中完成任务:(i)专家轨迹114集合和(ii)回放缓冲区116,接下来将分别对其进行详细描述。

每个专家轨迹114指定在智能体通过执行完成任务的一系列动作(称为“专家”动作)而与环境交互时表征环境的相应状态的一系列观察(称为“专家”观察)。也就是说,每个专家轨迹114提供了可以如何完成任务的“演示”。可选地,专家轨迹114还可以指定与专家轨迹中的每个专家观察对应的专家动作。可以例如通过使人能够通过选择要由智能体执行以完成任务的动作来控制该智能体(或另一智能体)并记录作为结果的环境的专家观察来获得专家轨迹。通常,每个专家观察可以理解为表征环境的被分类为与完成特定任务相关的状态。例如,每个专家观察可以表征在智能体被(例如,由人类用户)控制以与环境交互之时的环境的状态。该时间可以是已被分类为与完成任务相关的时间,例如在智能体被(例如,由人类专家)控制以执行该任务或相关任务(例如,任务的组成部分或通过满足与该任务的相似性标准而与该任务相关的不同任务)的时间。

回放缓冲区116存储智能体轨迹集合,其中,每个智能体轨迹指定在该智能体通过执行由动作选择网络102选择的动作来与环境交互时表征该环境的相应状态的一系列观察。

训练系统200使用回放缓冲区116的智能体轨迹来训练被配置为处理环境的“目标”观察以生成“前导”观察-动作对的生成式神经网络系统(在本文也称为生成式前导神经网络系统,并称为生成式前导系统)。前导观察-动作对具有以下特性:响应于前导观察执行前导动作可能导致环境随后(在一个或多个时间步之后)转变到目标观察表征的状态。

与训练生成式神经网络系统并行,训练系统200使用专家轨迹114通过模仿任务的专家演示来训练动作选择网络102以完成任务。作为训练动作选择网络102的一部分,训练系统200使用生成式神经网络系统来处理专家观察,以生成对应的前导观察-动作对。然后,训练系统200训练动作选择网络,以增加通过处理前导观察由动作选择网络针对前导动作生成的动作得分。(在这种情况下,“增加”前导动作的动作得分涉及增加响应于前导观察将选择前导动作的似然)。通过这种训练,动作选择网络102学习纠正行为,该纠正行为使智能体能够在完成任务的过程中偏离专家行为后恢复。

在每个时间步,智能体106可以基于环境108的当前状态和智能体106在该时间步的动作104接收奖励。通常,奖励是数值。奖励可以指示例如智能体是否已经完成任务,或者智能体106完成任务的进度。除了通过模仿专家演示来训练智能体执行任务之外,训练系统200还可以训练动作选择神经网络102,以控制智能体执行使智能体接收的累积奖励的度量(例如,奖励的长期时间折损总和(the long-term time-discounted sum of rewards))最大化的动作。训练系统200可以使用各种强化学习技术中的任一种来训练智能体以最大化其接收的奖励。

图2A示出了示例训练系统200。训练系统200是被实现为一个或多个位置的一个或多个计算机上的计算机程序的系统的示例,在其中实现下面描述的系统、组件和技术。

训练系统200被配置为训练动作选择网络102以选择使与环境交互的智能体能够完成任务的动作。特别地,训练系统200使用生成式前导系统204来生成训练数据202集合,并且在训练数据202上训练动作选择网络102的模型参数206,这将在下面更详细地描述。训练数据202包括训练样例集合,其中,每个训练样例指定:(i)观察,和(ii)响应于观察而应当选择的动作。

生成式前导系统204被配置为处理目标(输入)观察以生成前导观察-动作对,使得响应于前导观察执行前导动作可能导致环境随后转变到目标观察表征的状态。为了生成用于训练动作选择网络102的训练样例,训练系统200从专家轨迹114获得(例如,随机采样)专家观察,并且使用生成式前导系统204来处理该专家观察(即,将专家观察当做目标观察),以生成对应的前导观察-动作对。此后,与专家观察对应的前导观察-动作对形成训练样例,其中,前导动作指定响应于前导观察而应当选择的动作。

在一些实施方式中,专家轨迹指定与专家观察对应的专家动作(如前所述),并且训练系统200附加地从专家观察和专家动作生成训练样例(其可以包括在训练数据202中)。特别地,训练系统200生成训练样例,其中,专家动作指定响应于对应的专家观察而应当选择的动作。

为了在训练数据202上训练动作选择网络102,训练系统200从训练数据202中选择训练实例的“批次”(集合),并且处理由训练样例指定的观察以生成对应的动作得分。此后,对于每个训练样例,训练系统200调整模型参数206的当前值以增加与由训练样例指定的动作对应的动作得分。例如,训练系统200可以使用以下给定的梯度来调整动作选择网络102的模型参数206的当前值:

其中,B是非负整数值,

生成式前导系统204可以以各种方式中的任一种针对目标观察生成前导观察-动作对。例如,生成式前导系统204可以使用一个或多个生成式神经网络处理包括目标观察的输入,以生成先导观察-动作对上的概率分布。然后,生成式前导系统204可以根据概率分布来采样前导观察-动作对。

在一些情况下,生成式前导系统204可以生成前导观察-动作对上的分解式概率分布(factorized probability distribution)。例如,生成式前导系统可以使用第一生成式神经网络来处理目标观察,以生成前导观察上的概率分布,并根据该概率分布采样前导观察。然后,生成式前导系统可以使用第二生成式神经网络来处理目标观察和前导观察,以生成前导动作上的概率分布,并根据该概率分布采样前导动作。在一个示例中,观察可以是图像,并且在前导图像上的概率分布可以指定在与前导图像的每个像素对应的像素强度上的正态分布的相应的均值和标准差参数。

生成式前导系统204的生成式神经网络可以具有任何适当的架构,例如,参考G.Papamakarios等人的“用于密度估计的掩蔽自回归流(Masked Autoregressive Flowfor Density Estimation)”(神经信息处理系统进展(Advances in Neural InformationProcessing Systems,NeurIPS),(2017年))描述的掩蔽自回归流架构。在自回归网络中,在某个时间段(时间)内神经网络的输出被用作一个或多个相继后续时间段中每个时间段的神经网络输入之一。掩蔽自回归流架构包括自回归模型堆栈,每个自回归模型对堆栈中的下一模型的随机数进行建模。

通常,更新动作选择策略(即,由模型参数206指定)可以改变响应于观察执行动作(并且然后使用更新的动作选择策略选择动作)将导致环境随后转变为目标状态的似然。因此,除了训练动作选择网络102之外,训练系统200还训练生成式前导系统204以考虑由于训练动作选择网络102而导致的动作选择策略的变化。

训练系统200在从回放缓冲区116的智能体轨迹生成的训练数据208上训练生成式前导系统204。训练数据208包括训练样例集合,其中,每个训练样例指定:(i)目标观察,和(ii)通过处理目标观察而应当由生成式前导系统生成的前导观察-动作对。

为了生成训练样例,训练系统200可以从回放缓冲区116获得智能体轨迹,并从该智能体轨迹中选择目标观察和前导观察-动作对,使得在轨迹中前导观察-动作对在目标观察之前。为了激励动作选择网络102学习快速的纠正行为,训练系统200更有可能选择分离较少时间步的目标观察和前导观察-动作对。例如,训练系统200可以选择(例如,随机采样)目标观察,从几何概率分布采样正整数值,然后选择在目标观察之前由采样的整数值指定的时间步数的前导观察-动作对。在该示例中,几何概率分布在较低的整数值上放置的概率质量大于在较高的整数值上的概率质量,从而使前导观察-动作对将更有可能在目标观察之前较少的时间步。参考图2B示出了生成用于训练生成式前导系统204的训练样例。

为了在训练数据208上训练生成式前导系统204,训练系统200从训练数据208中选择训练样例批次,并使用生成式前导系统204处理由训练样例指定的目标观察。然后,训练系统200基于生成式前导系统204的输出确定损失,确定损失关于生成式前导系统204的模型参数210的梯度,并使用该梯度来调整模型参数210的值。在一个示例中,生成式前导系统204针对每个训练样例生成前导观察-动作对上的相应的概率分布,并且训练系统200基于对应的概率分布下由训练样例指定的前导观察-动作对的似然确定损失。在该示例中,训练系统200可以使用以下给定的梯度来调整生成式前导系统204的模型参数210的当前值:

其中,B是非负整数值,n对训练样例进行索引,每个

训练系统200可以在训练动作选择网络102和生成式前导系统204之间交替。在每次训练生成式前导系统之前,训练系统200可以生成新的智能体轨迹,其中,根据动作选择网络102的模型参数206的当前值选择由智能体执行的动作。然后,训练系统200可以基于新的智能体轨迹为生成式前导系统204生成新的训练数据208,从而使生成式前导系统能够适应当前的动作选择策略。类似地,在每次训练动作选择网络102之前,训练系统200可以根据生成式前导系统204的模型参数210的当前值来生成新的训练数据202。

图2B示出了从智能体轨迹生成用于训练生成式前导系统的训练样例212的示例。智能体轨迹指定一系列观察214和响应于观察214要由智能体执行的对应的一系列动作216。训练样例212指定:(i)目标观察218,和(ii)在轨迹中在目标观察218之前的前导观察-动作对220。响应于前导观察执行前导动作导致环境随后转变为目标观察218表征的状态。在目标观察218在轨迹中是在特定观察-动作对(即前导观察-动作对220)之后的意义上来说,目标观察218可以被认为是“将来观察”。

图3是用于训练动作选择策略神经网络的示例过程300的流程图。为了方便起见,将过程300描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书被适当地编程的训练系统(例如,图2A的训练系统200)可以执行过程300。

系统获得专家观察,该专家观察表征环境的已被分类为与完成特定任务相关的状态(302)。专家观察可以包括在专家轨迹(即,表征在给定智能体通过执行完成任务的专家动作而与环境交互时环境的相应状态的一系列专家观察)中。

该系统使用生成式神经网络系统处理专家观察,以生成前导观察-动作对(304)。前导观察-动作对包括表征环境的状态的前导观察和来自可能动作的预定集合的前导动作。生成式神经网络系统被训练成如果响应于观察执行动作更有可能导致环境稍后到达输入观察表征的状态,则更有可能生成观察-动作对。参考图4描述了用于训练生成式神经网络系统的示例过程。

生成式神经网络系统可以包括生成式自回归神经网络,例如,掩蔽自回归流。生成式神经网络系统可以生成前导观察-动作对,例如,通过使用第一生成式神经网络处理专家观察以生成前导观察,然后使用第二生成式神经网络处理专家观察和前导观察,以生成前导动作。

系统使用动作选择策略网络处理前导观察以生成针对前导动作的动作得分(306)。

系统调整动作选择网络参数的当前值,以增加针对前导动作由动作选择网络通过处理前导观察而生成的动作得分(308)。例如,系统可以确定针对前导动作的动作得分关于动作选择策略网络参数的对数的梯度,然后使用该梯度调整动作选择策略网络参数的当前值。在一些情况下,系统获得与专家观察对应的专家动作,并进一步调整动作选择网络参数的当前值,以增加由动作选择策略网络通过处理专家观察而生成的针对专家动作的动作得分。例如,系统可以确定针对专家动作的动作得分关于动作选择网络参数的对数的梯度,然后使用该梯度调整动作选择网络参数的当前值。

在调整动作选择网络参数的当前值之后,系统可以确定是否满足训练终止标准,例如,是否已经执行了步骤302-308的预定最大迭代次数。响应于确定不满足训练终止标准,系统可以返回步骤302。

图4是用于训练生成式前导神经网络系统的示例过程400的流程图。为了方便起见,将把过程400描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书被适当地编程的训练系统(例如,图2A的训练系统200)可以执行过程400。

系统从回放缓冲区获得轨迹(402)。该轨迹包括表征在智能体通过执行根据动作选择网络参数的值(例如,动作选择网络参数的当前值)选择的动作而与环境交互时环境的相应状态的一系列观察-动作对。

该系统从轨迹选择:(i)目标观察,和(ii)前导观察-动作对,使得目标观察被包括在轨迹中在前导观察-动作对之后的观察-动作对中(404)。系统可以例如通过从轨迹随机采样前导观察-动作对来选择该前导观察-动作对。然后,系统可以从概率分布(例如,几何概率分布)采样非负整数值n,并从轨迹中在前导观察-动作对之后并与前导观察-动作对分离n个中间观察-动作对的观察-动作对选择目标观察。

该系统使用生成式前导系统处理目标观察,以生成预测的观察-动作对(406)。

该系统基于以下两者之间的差确定损失:(i)前导观察-动作对,和(ii)预测的观察-动作对,并基于损失调整生成式前导系统参数的当前值(408)。例如,系统可以确定关于生成式前导系统参数的损失的梯度,然后使用该梯度来调整生成式前导系统参数的当前值。

本说明书与系统和计算机程序组件有关地使用术语“被配置”。一个或多个计算机的系统被配置为执行特定操作或动作的意思是系统在其上安装有软件、固件、硬件或其组合,在操作时,软件、固件、硬件或其组合使系统执行操作或动作。一个或多个计算机程序被配置为执行特定操作或动作的意思是一个或多个程序包括指令,该指令当在由数据处理装置运行时使装置执行操作或动作。

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

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

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

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

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

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

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

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

用于实现机器学习模型的数据处理装置还可以包括例如用于处理机器学习训练或产生的一般和计算密集部分(即,推断、工作负荷)的专用硬件加速器单元。

机器学习模型可以使用机器学习框架(例如,TensorFlow框架、微软认知工具包框架(Microsoft Cognitive Toolkit framework)、Apache Singa框架或Apache MXNet框架)来实现和部署。

本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件(例如作为数据服务器)或包括中间件组件(例如应用服务器)或包括前端组件(例如具有图形用户界面、web浏览器或app的客户端计算机,用户可通过其与本说明书中描述的主题的实施方式进行交互),或者一个或多个这样的后端、中间件或前端组件的任意组合。可以通过任意形式或介质的数字数据通信(例如通信网络)将系统的组件互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。

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

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

类似地,尽管操作以特定顺序在附图中描绘并且在权利要求中记载,但是这不应当被理解为需要以示出的特定顺序或以相继的顺序来执行这样的操作或者需要执行所有示意的操作来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。另外,上述实施例中各种系统模块和组件的分离不应当被理解为在所有实施例中都要求这样的分离,而是应当理解,所描述的程序组件和系统可通常在单个软件产品中被集成在一起或者被封装成多个软件产品。

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号