杨立昆重磅论文:通往自主机器智能之路(三)

三、 自主智能模型架构

自主智能代理的建议架构如图 2 所示。

它由许多模块组成,其功能如下所述。一些模块可以即时配置,即它们的具体功能由配置器模块确定。配置器的作用是执行控制:给定要执行的任务,它预先配置感知、世界模型、成本和行为模块的当前的任务。配置器调节它输入的模块的参数。

配置器模块从所有其他模块获取输入,并通过调节它们的参数和注意力机制来为当前的任务配置它们。特别是,配置器可以启动感知、世界模型和成本模块来完成一个特定的目标。

感知模块接收来自传感器的信号并估计当前世界的状态。对于给定的任务,只有一小部分感知的世界状态是相关的和有用的。感知模块可以以分层方式表示世界的状态,具有多个抽象级别。配置器启动感知系统以从感知中提取相关信息以用于当前的任务。

世界模型模块构成了架构中最复杂的部分。它有两个主要作用:

(1)估计关于世界状态的缺失信息,而不是由感知提供,

(2)预测世界可能的未来状态。

世界模型可以预测世界的自然变化,或者可以预测由行为模块提出的一系列动作产生的未来的世界状态。世界模型可以预测多个可能的世界状态,将代表世界状态不确定性的隐变量参数化。世界模型是对于真实世界的一种“模拟器”。世界状态与哪些方面相关,取决于当前的任务。配置器配置世界模型来处理当前的情况。预测是在包含与当前任务相关的信息的抽象表示空间内执行的。理想情况下,世界模型将在多个抽象层次上得到世界状态的表示,使其能够在多个时间尺度上进行预测。

一个关键问题是世界模型必须能够表示世界状态的多种可能的预测。自然世界并不是完全可以预测的。如果它包含可能具有对抗性的智能代理,则更是如此。但即使世界只包含无生命的物体,它们的动作也可能是混乱的,或者它们的状态并不能完全观察到,这种情况也常常存在。

在构建所提出的架构时,有两个基本问题需要回答:

  1. 如何让世界模型做出多个合理的预测并表示预测中的不确定性
  2. 如何训练世界模型。

成本模块以称为能量的标量形式测量代理的“不适”程度。能量是由两个子模块计算的两个能量项的总和:内在成本模块和可训练的评估模块。智能体的总体目标是采取动作以保持最小化平均能量的状态。

内在成本模块是硬编码的(不可变的,不可训练的(可以微调——译者注))并计算单个标量,即衡量代理瞬时“不适”的内在能量

思考一下关于疼痛(高内在能量)、快乐(低内在能量)、饥饿等。模块的输入是感知模块产生的世界当前状态,或世界模型预测的潜在未来状态.代理的最终目标是在长时间内最小化内在成本。这是基本的动作驱动力和内在动机的目标。

内在成本模块的设计决定了代理人动作的性质。系统可以在此模块中进行硬编码。这可能包括在各种情况下让智能代理感觉“好”(低能量),例如:当站起来激励有腿的机器人走路时,当影响世界状态以激励代理时,当与人类互动以激励社会行为时,当感知附近人类的快乐以激励同理心时,当有充足的能量供应(饥饿/饱腹感)时,当经历一个激发好奇心和探索的新环境时,当完成一个特定的计划时,等等各种情况。相反,当面对一个痛苦的情况或一个不容易识别的情况时,当遇到危险情况(接近极热、火灾等)时,或使用危险工具时能量会很“高”。内在成本模块可以由配置器调制,可以在不同时间驱动不同的动作。

可训练的评估模块预测未来内在能量的估计。与内在成本一样,它的输入要么是世界的当前状态,要么是世界模型预测的可能的状态。对于训练过程,评估模块检索存储在联想记忆模块中的过去状态和随后的内在成本,并训练自己从前者预测后者。评估模块的功能可以由配置器动态配置,以将系统引导到作为更大任务的一部分的特定的子目标。

因为成本模块的两个子模块都是可微的,所以能量的梯度可以通过其他模块反向传播,特别是世界模型、行为模块和感知模块,用于规划、推理和学习。

短期记忆模块存储有关世界过去、现在和未来状态的相关信息,以及内在成本的相应值。世界模型访问和更新短期记忆,同时在时间上预测世界的未来(或过去)状态,同时在空间上完成缺失的信息或纠正有关当前世界状态的不一致信息。世界模型可以向短期记忆发送查询并接收检索到的值,或者存储新的状态值。可以通过从内存中检索过去的状态和相关的内在成本来训练评估模块。该架构可能类似于 Key-Value Memory Networks (Miller et al., 2016) 的架构。这个模块可以被视为与脊椎动物的海马体扮演着一些相同的角色。

行为模块计算动作序列的提议并将动作输出到效应器。行为模块向世界模型提出一系列动作序列。世界模型根据动作序列预测未来世界的状态序列,并将其反馈给成本。给定由成本定义的目标(由配置器配置),成本计算与提议的动作序列相关的估计的未来能量。由于行为模块可以访问关于提议的动作序列的估计成本的梯度,它可以使用基于梯度的方法计算出一个最小化估计成本的最优动作序列。如果动作空间是离散的,则可以使用动态规划来找到最佳动作序列。优化完成后,行为模块将第一个动作(或一小段动作)输出到效应器。这个过程类似于最优控制中的模型预测控制(Bryson 和 Ho,1969)。

行为模块可以包括两个组件:

  1. 一个策略模块,它直接从感知产生的世界状态估计中产生一个动作,并从短期记忆中检索动作。
  2. 动作优化器,如上所述,用于模型-预测控制。

第一个模式类似于丹尼尔.卡尼曼的“系统一”,而第二个模式类似于“系统二”(丹尼尔.卡尼曼,2011)

在下节中,我们将使用特定符号来表示架构图中的各种组件。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章