本说明书总体上涉及使用神经网络控制代理。
背景技术:
1、神经网络是采用一层或多层非线性单元来预测接收的输入的输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一层(即,下一隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从接收的输入生成输出。
技术实现思路
1、本说明书涉及在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统和方法,用于训练和使用机器学习系统来控制代理执行任务。机器学习代理控制系统使用反事实内部状态来训练,使得它可以提供输出,该输出以因果的方式解释系统的行为,例如,就其环境的方面而言,该环境的方面使得系统为代理选择特定动作。
2、在一个方面,描述了一种训练机器学习代理控制系统(例如,强化学习系统)的计算机实现的方法,该机器学习代理控制系统被配置为监视环境中执行任务的代理的控制。
3、机器学习系统被配置为,对于一系列时间步骤中的每个时间步骤,获得表征当前时间步骤的环境状态的观察。该系统还被配置为使用动作选择子系统来处理机器学习系统在当前时间步骤的内部状态,以生成动作选择策略输出。机器学习系统在当前时间步骤的内部状态取决于当前时间步骤的观察。该系统被配置为使用解码器神经网络处理机器学习系统在当前时间步的内部状态以生成解码器输出。解码器输出描述了机器学习系统在当前时间步骤的内部状态。系统响应于观察使用动作选择策略输出来选择要由代理在当前时间步骤执行的动作,并且使代理执行所选择的动作。系统还提供从当前时间步骤的解码器输出导出的信号作为用于监视环境中的代理的控制的监视信号。
4、该方法包括通过使用内部状态更新子系统处理当前时间步骤的解码器输出、下一时间步骤的观察和反事实内部状态的组合来确定机器学习系统在下一时间步骤的内部状态,从而训练机器学习系统。反事实内部状态不同于机器学习系统在当前时间步骤处的内部状态。
5、在一些实施方式中,反事实内部状态包括机器学习系统在比当前时间步骤更早的时间步骤处的内部状态,例如,机器学习系统在与环境交互的代理的情节的第一时间步骤处的内部状态,在该第一时间步骤期间代理尝试执行任务。
6、在一些实施方式中,机器学习系统已经被训练;例如,上述过程可以用于微调系统。在一些实施方式中,使用先前存储的数据离线执行该过程,而不需要代理与环境进一步交互。
7、因此,在另一方面,一种过程获得训练数据的数据集,该数据集包括定义针对一系列时间步骤中的每个时间步骤的观察和动作的数据,并且使用该数据集并基于一个或多个反事实内部状态来训练机器学习系统。
8、在机器学习(代理控制)系统已经被训练之后,监视信号(例如解码器输出)可以用于监视系统对环境中的代理的控制,以执行任务。例如,监视信号可以用于获得根据系统对环境的信念来解释系统/代理的行为的信息。可选地,可以修改解码器输出,以修改系统关于环境的信念,从而干预代理的控制。
9、本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。
10、所描述的技术可以提供具有输出的机器学习代理控制系统,该输出提供系统行为的因果解释。也即,输出中的信息是系统用于控制代理行为的信息,而不是仅与代理行为相关的信息。在实施方式中,这通过将输出反馈到机器学习系统中并且在训练期间使用反事实内部状态来确保输出被依赖来实现。
11、在实施方式中,输出中的信息在语义上以环境的特征为基础,即,输出可以包括关于环境的特征的描述。输出的形式是灵活的,并且它可以产生各种不同形式的表示,例如类、图形和字符串,特别是自然语言描述。
12、改变描述产生与改变的描述一致的行为,并且因此所描述的技术还使得能够进行干预以允许控制系统的行为,例如出于安全目的。改变的描述也可以是基于语义的方式,即人类可解释的,例如以自然语言的形式。以这种方式,可以引导代理,更具体地控制代理的机器学习系统,或者可以在安全关键应用中施加对代理行为的限制。例如,在机器人的情况下,可以指示系统关于要拾取或操纵的物体的位置,或者在速度限制为例如40mph的自动驾驶车辆的情况下,可以指示系统速度限制应该改为30mph。
13、所描述的技术的一些实施方式使得能够离线分析机器学习代理控制系统的行为(例如,在仿真中)。然后,解释系统行为的输出可以用于可选地自动确定机器学习代理控制系统之后是否应该控制代理执行任务(例如,在现实世界中)。
14、这些技术不限于特定类型的机器学习代理控制系统,并且扩展到具有许多参数的机器学习系统。例如,它们可以与使用模仿学习的机器学习代理控制系统一起使用,例如行为克隆、反向模仿学习或生成对抗模仿学习(gail,arxiv:1606.03476,ho等人),或者与使用基于响应于所执行的动作而接收到的奖励的强化学习的机器学习代理控制系统一起使用。
15、它们可以对机器学习系统的性能具有相对较小的影响,特别是如果离线应用,并且它们可以使得能够在没有许多小时的人工反向工程的情况下解释机器学习系统的行为。
16、在附图和下面的描述中阐述了本说明书的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,主题的其他特征、方面和优点将变得显而易见。
1.一种训练机器学习系统的计算机实现的方法,所述机器学习系统被配置为监视环境中执行任务的代理的控制,其中,所述机器学习系统被配置为,对于一系列时间步骤中的每个时间步骤:
2.根据权利要求1所述的方法,其中,训练所述机器学习系统还包括,对于所述一系列时间步骤中的每个时间步骤:
3.根据权利要求2所述的方法,其中,通过处理所述当前时间步骤的所述解码器输出、所述下一时间步骤的所述观察和所述反事实内部状态的组合来确定所述机器学习系统在所述下一时间步骤处的所述内部状态定义了根据干预时间表执行的干预,其中,所述干预时间表包括随机选择用于所述干预的时间步骤。
4.根据权利要求2或3所述的方法,其中,所述训练包括:对于第一时间步骤之后的多个干预时间步骤中的每一个,通过使用所述内部状态更新子系统处理当前时间步骤的解码器输出、下一时间步骤的观察和反事实内部状态的组合来确定所述机器学习系统在下一时间步骤处的内部状态;并且对于其他时间步骤,
5.根据权利要求1所述的方法,还包括:
6.根据权利要求5所述的方法,其中,所述目标函数取决于所述代理控制系统的内部状态之间的差异,并且其中,通过使用所述内部状态更新子系统处理所述当前时间步骤的解码器输出、所述下一时间步骤的观察和所述反事实内部状态的组合来确定所述代理控制系统在所述下一时间步骤处的内部状态定义了根据干预时间表执行的干预,并且其中,所述干预时间表包括在每个时间步骤处执行所述干预。
7.根据权利要求5所述的方法,其中,所述目标函数取决于所述动作选择策略之间的差异,其中,通过使用所述内部状态更新子系统处理所述当前时间步骤的解码器输出、所述下一时间步骤的观察和所述反事实内部状态的组合来确定所述代理控制系统在所述下一时间步骤处的内部状态定义了根据干预时间表执行的干预,并且其中通过将时间步骤划分为可变持续时间的时间步骤块序列并且在每个时间步骤块处执行所述干预来定义所述干预时间表。
8.根据权利要求5或7所述的方法,其中,所述动作选择策略之间的差异包括由所述动作选择策略输出定义的分布差异的度量。
9.根据权利要求5、7或8所述的方法,其中,所述动作选择策略之间的差异包括在多个时间步骤上的所述动作选择策略之间的差异之和。
10.根据权利要求1-9中任一项所述的方法,其中,所述反事实内部状态包括所述机器学习系统在比所述当前时间步骤更早的时间步骤处的内部状态。
11.根据权利要求10所述的方法,其中,所述反事实内部状态包括所述机器学习系统在第一时间步骤处的内部状态。
12.根据权利要求1-11中任一项所述的方法,其中,所述当前时间步骤的解码器输出包括具有元素的向量,每个元素表示所述机器学习系统的多个离散内部状态中的相应一个。
13.根据权利要求1至12中任一项所述的方法,其中,所述当前时间步骤的解码器输出包括所述机器学习系统的内部状态的自然语言描述。
14.根据权利要求1-13中任一项所述的方法,还包括:
15.根据权利要求14所述的方法,还包括通过以下方式控制所述代理在所述环境中的行为:
16.根据任一前述权利要求所述的方法,其中,所述动作选择子系统包括所述机器学习系统的动作选择策略神经网络。
17.根据任一前述权利要求所述的方法,其中,所述内部状态更新子系统包括递归神经网络。
18.根据任一前述权利要求所述的方法,其中,所述内部状态更新子系统包括变换器神经网络。
19.根据任一前述权利要求所述的方法,还包括通过反向传播解码器训练目标函数的梯度来训练所述解码器神经网络,所述解码器训练目标函数的梯度取决于来自所述解码器输出的所述机器学习系统的内部状态的描述与所述环境的真实描述之间的差异。
20.一种训练代理控制系统的计算机实现的方法,所述代理控制系统用于监视在由所述代理控制系统控制的环境中操作以执行任务的代理的性能,所述方法包括:
21.根据权利要求20所述的方法,其中,所述动作选择策略之间的差异包括由所述动作选择策略输出定义的分布差异的度量。
22.根据权利要求20或21所述的方法,其中,所述动作选择策略之间的差异包括在多个时间步骤上的所述动作选择策略之间的差异之和。
23.一种机器学习系统,被配置为监视环境中执行任务的代理的控制,所述机器学习系统包括:
24.根据权利要求23所述的系统,还包括用于控制所述代理在所述环境中的行为的用户接口;其中,所述系统被配置为:
25.根据权利要求1至22中任一项所述的方法或根据权利要求23或24所述的系统,其中,所述代理是机械代理,所述环境是现实世界环境,所述观察来自感测所述现实世界环境的一个或多个传感器,并且所述动作控制所述机械代理在所述现实世界环境中动作以执行所述任务。
26.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时可操作以使所述一个或多个计算机执行根据权利要求1-22中任一项所述的相应方法的操作。
27.一种编码有指令的计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-22中任一项所述的相应方法的操作。