Press "Enter" to skip to content

对Lecun新论文解读:大模型之外的数字心识探索

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

来源:Mindverse Research

 

作者:胡鹏博

 

作者:胡鹏博

 

排版:朱思嘉

 

审校:十三维

 

随着人工智能的发展,现有的AI系统已经逐渐达到了瓶颈期,关于「AI未来应该走向哪里」的问题也在近期引起了广泛的讨论。近日,LeCun发表了一篇文章《 A Path Towards Autonomous Machine Intelligence 》,文章详细的描述了他过去几年对于人工智能发展方向的一个思考总结,并提出了一个新的认知框架,该框架通过借鉴于生物大脑,设计了多个可以类比的子功能模块,从而帮助实现具有自主性的人工智能系统。

 

Lecun 坚定的认为纯粹的大模型并非出路,而需要一种「Macro Architecture」(宏观框架)来完成对下一代AI的探索,通过借鉴动物大脑,构建新的AI认知框架,赋予AI系统数字心识则是一条最有希望的路线。而心识宇宙所提出的  心识框架 也是这条路线的践行者,通过心识框架,不仅仅让AI可以完成多样的任务,更重要的是,让他成为 Human-level AI,甚至成为数字生命和我们共存。

 

本文将会对LeCun近期的文章进行一个详细的解读,而在后面,将会发表一篇文章来介绍我们自己的心识框架。

 

 

原文链接

 

https://openreview.net/pdf?id=BZ5a1r-kVsf

 

目 录

 

 

 

背景

 

功能模块

 

 

Configurator 模块

 

Perception 模块

 

World Model 模块

 

Cost 模块

 

Short-term Memory 模块

 

Actor 模块

 

感知动作环路

 

Model-1

 

Model-2

 

技能学习:从Model-2 到Model-1

 

Cost模块驱动行为

 

设计和训练世界模型

 

EBM

 

通过潜变量处理不确定性

 

训练能量模型

 

JEPA架构

 

训练JEPA框架

 

H-JEPA

 

处理不确定性

 

世界模型的架构

 

数据流

 

跟踪世界的状态:记忆模块

 

Configurator

 

总结

 

 

 

机器如何能像人类和动物一样高效的学习?机器是如何学会推理和计划呢?机器如何在多个抽象层次上学习感知和行动计划的表示,使它们能够在多个时间范围内进行推理、预测和规划?LeCun的这篇文章提出了一种构建自主智能系统的体系结构和训练范式。值得注意的是,这篇文章不是一个传统意义上的技术或学术论文,而是作者对未来AI系统的一个思考,因此很多介绍都停留在抽象层面,无法落实到具体实现,而这也留给了大家广泛的思考空间。

 

当前,人工智能研究必须要解决三个主要挑战:

 

 

机器如何学会表征世界,学习预测,并学习主要通过观察来行动?

 

机器如何才能以与基于梯度的学习相兼容的方式进行推理和计划?

 

机器如何学习在多个抽象层次和多个时间尺度上以层次化的方式表示感知和行动规划?

 

 

为了解决上述问题,LeCun提出了一个具有多个功能模块组成的认知框架,如下图所示,在这个框架下,所有子模块都是可微分的,同时大部分模块是可以训练的,这个框架是执行任务的流程大概如下:

 

首先会通过 Configurator 来进行配置,这个模块会对所有的子模块进行调控。之后就可以进入任务执行步骤,Perception模块负责接收世界状态信息,将其传递给Actor模块,Actor 在执行动作输出的时候,分为两种情况: 第一 ,对于简单的机械式任务,Actor 可以直接的输出行为,这也对应于大家经常提到的「系统1」或者「快系统」; 第二 ,对于复杂任务,Actor 会调用世界模型,世界模型首先会通过 Short-term memory 模块读取过去的历史状态信息,同时会使用Cost模块来对未来的预测进行优化,帮助 Actor 做出更优的行为,而这个步骤对应于「系统2」或者「慢系统」。

 

 

功能模块

 

在这部分,会对该认知框架中所有的模块,进行简单的介绍,而在文章后续的部分,会详细介绍如何设计和训练这些功能模块。

 

 

Configurator 模块

 

主要接收所有模块的输入,然后调节所有模块的参数,从而驱动整个 agent 完成特定的任务,该模块相当于是一个全局调度模块。

 

 

Perception 模块

 

接收所有感官信号,并评估当前世界的状态。对于一个给定的任务,只有一小部分世界状态信息是相关的和有用的,而该模块能够实现提取出对当前任务具有关键任务的信息。同时,该模块可以以多层级的方式表示世界的状态,每个层级代表了不同级别的信息抽象。

 

 

World Model 模块

 

世界模型是该认知框架的核心模块,启发于动物的前额叶皮层。通过世界模型,动物们可以通过很少的试验来学习新 的技能,它们可以预测自己行为的后果,可以推理、计划、探索和想象问题的新解决方案。因此,在这里,世界模型的作用也是如此。

 

从定义上来说,世界模型主要起到两个作用:

 

 

从缺失的信息中,估计世界的状态

 

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

 

 

世界模型可以将其简单的理解为对所处世界的一种「模拟」,理想情况下,世界模型将在多个抽象层次上操作世界状态的表征,允许它在多个时间尺度上进行预测。

 

 

Cost 模块

 

该模块的作用是计算一个 agent 的「不舒适度」,而这个值被称为能量 (energy) 。可以将其类比为强化学习里面的奖励,不同的是,这里的 Cost 可以使用能量模型 (会在后文中介绍) 来对驱动动作行为序列的优化。

 

Cost模块由两个子模块组成:

 

(1)Intrinsic Cost 模块

 

这个模块是预先设定好,并且是不可训练的,他会帮助计算一个称为 Intrinsic engergy 的值,用于衡量即时的「不舒适度」,可以类比为动物的疼痛和饥饿。该模块会接收当前世界的状态,包括从感知模块获取到的当前状态,以及从世界模型所预测的未来状态

 

一个agent的目标是减少 Intrinsic cost, 也就是让自己变得「舒适」

 

(2)Trainable Critic 模块

 

该模块的作用是可以对未来的Intrinsic cost进行预测,是可以训练的。Critic模块会检索存储在联想记忆模块中过去的状态和随后的Intrinsic cost,然后训练自己从过去的状态中,预测后续的Intrinsic cost.

 

 

Short-term Memory 模块

 

负责存储过去,当前和未来的关于世界的状态,以及对应的 Intrinsic cost值。世界模型会在预测未来状态的时候,或者对当前世界状态的丢失信息进行补全的时候,同时对这个记忆模块进行访问和更新操作。

 

作者提到该模块的架构会和 Key-Value Memory Network 比较像,支持记忆存储和读取操作。

 

 

Actor 模块

 

Actor模块的作用是产生一个最优的动作,来帮助agent和环境进行交互。

 

Actor模块包含两个子功能模块:

 

(1) Policy 功能 ,根据世界状态表征的输入,产生一个行为。这个世界状态表征主要来自于感知器模块以及Short-term Momory 模块。

 

(2) 动作序列优化功能 ,帮助产生针对特定任务下更优的动作。

 

感知动作环路

 

对于一个agent来说,最重要的就是通过感知模块接收世界的状态信息,然后通过一系列推理,输出最优动作序列来和世界进行交互,实际上,整个认知框架的目的就是实现这一功能,这里作者将其成为感知动作环路。

 

感知动作环路包含了两个子环路,作者将其称为 Model-1 和 Model-2,实际上可以理解为「系统1」和「系统2」,或者是「快系统」和「慢系统」。Model-1不包含复杂推理,直接通过世界状态来产生行为预测,而Model-2 需要经过复杂的推理和规划(通过世界模型和cost模块)来产生行为预测。

 

 

Model-1

 

Model-1的过程如下,首先,感知模块会通过一个encoder 模块,来提取世界状态的表征 s [0] = Enc(x),之后,Actor模块中的 Policy模块会通过这个提取到的表征来进行行为的预测  a [0] = A( s [0])

 

 

 

Model-2

 

Model-2 的过程会比较复杂,通过推理和规划来的到行为预测,这需要借助世界模型以及Cost模块来实现,其过程如下图所示:

 

 

具体步骤如下:

 

 

感知模块会提取当前世界的状态  s [0] =  P (x) =  Enc (x),同时,Cost模块会立刻计算这个状态的cost

 

Actor模块中的 Policy模块,会通过状态来预测动作  a [0] =  A ( s [0])

 

动作会被送入到世界模型中,来帮助预测下一步的状态  s [ t ] =  Pred ( s [ t −1],  a [ t −1])

 

Actor模块,根据世界模型预测到的状态,来预测新的动作

 

不断循环上述步骤

 

 

过程中,每一个状态都会被送送入到 Cost模块中,然后可以通过下列公式来计算总的cost:

 

最后,通过最小化cost,可以将梯度进行反向传播,使得 Actor模块 可以产生 cost最小的动作序列  â [0], ……,  â [T],当得到了一个低cost的动作序列之后,这个序列的第一个动作会作为最终预测进行输出,行为输出之后,会对 Shot-term Memory 模块 进行更新,其中,输出的这个行为、当前的状态、以及Cost中的 Intrinsic cost 和 Critic cost 都会被存储到 Short-term Memory 模块中。

 

 

技能学习:从 Model-2 到 Model-1

 

作者认为,使用 Model-2 是非常繁重的,需要调动各种模块,由于每个 agent 往往只有一个世界模型的推理引擎,因此每次只能专注于一个任务(类比于人,相当于无法一心二用),而 Model-1 相对来说就没有那幺繁重(类比于人,可以同时处理机械式的任务),由于其只需要使用 Actor 中的 Policy模块进行简单预测即可。

 

因此,学习一项新的技能就等价于将 Model-2任务转换成 Model-1任务,对应于上述过程,也就是说,通过使用 Model-2,会逐渐对 Policy模块  A ( s [ t ]) 进行优化,最终,只需要通过 Model-1 就可以输出最优行为  ~ a[0] =  A ( s [0]),这个时候,相当于 agent 已经学会了这个技能。

 

Cost模块驱动行为

 

作者把 Model-2 中,学习优化的动作序列看做是一种推理过程,而本质上就是最小化cost,而cost本质上在计算 Intrinsic engergy,因此作者认为 推理就是最小化能量的过程

 

 

因此,在这里,行为本质上就是由Cost模块驱动的,这里Cost的定义如上图所示,由两个模块组成,其中IC (Intrinsic Cost) 是预选设置好的,而TC (Trainable Cost or Critic) 是可以通过训练进行学习的。其中,IC和TC又包含了很多子模块,每一个子模块都可以得到一个值,通过加权求和就得到了最终的值,需要注意的是,这里的权重  u i 和  v i 是由Configurator模块调控根据要执行任务的目标进行调控的。

 

作者将IC定义为是控制agent的基础自然行为,对应于人就是本体感知觉的控制,例如疼痛、饥饿或者恐惧等行为,或者一些基础的交互行为,例如行走、站立等等,可以将其类比于哺乳动物的大脑中的杏仁核,为了防止出现坏的行为导致失控,IC是预先设定好的,不会受到学习的影响,从而保证其稳定性。

 

IC还有很多的作用,作者列举了四条:

 

 

当遇到特定的条件的时候,要保证能够输出特定的行为

 

作为一个objective function,来帮助优化行为

 

帮助训练agent通过直接的监督,实际上跟2含义比较相似

 

可以使得agent具有模仿学习的能力,通过观察老师的行为,来直接得到一个更好的objective function,减轻优化成本,从而赋予其模仿学习能力

 

 

TC的目的则是使得 agent 能够根据环境灵活的学习各种行为,因此,TC是可以训练的。从定义上来讲,IC的目的是计算 Intrinsic energy,而TC的目的则是预测未来的 Intrinsic energy。

 

为了实现预测,TC需要使用 Short-term Memory 模块,读取其中保存的Intrinsic cost,作者将其存储形式定义为一个三元组的形式(time, state, intrinsic energy): ( τs τ ,  IC ( s τ )),而对TC的训练则是通过历史的 intrinsic cost 来进行的。

 

训练的具体过程如下图所示:本质上来说,就是让  IC ( s τ+δ ) 与预测出来的总体Cost值 C( s τ ) 更加接近,而这里优化的目标为:

 

这个优化方法跟强化学习中的TD方法非常相似,都是时序差分的思想。

 

 

设计和训练世界模型

 

作者认为,世界模型是该认知框架的核心,而设计一个世界模型的架构以及训练它是未来十年的主要挑战,在这里,作何提出了一个世界模型的框架,称为 JEPA,而由于世界模型的主要任务是对未来世界状态进行预测,因此,作者还提出了一个能量模型 EBM,来帮助衡量预测的准确率,在这一部分,将会对世界模型的架构进行详细的介绍。

 

世界模型的主要目的是预测未来世界状态的表征,构建一个世界模型有三个问题需要处理:

 

(1)世界模型的质量依赖于状态序列的多样性,这个问题主要围绕对决策序列的学习

 

(2)世界是不可完全被预测的,因此,世界模型需要能够产生多个看起来合理的预测,并很好的对这些预测进行表征

 

(3)由于人的目标通常是分层级的,高级的目标往往会有几个低级的目标组成,其抽象层级和时间尺度都不一样,因此,世界模型必须能够在不同时间尺度,以及不同抽象层级上进行预测,这个问题会涉及到长程的预测和规划

 

 

EBM

 

作者提出了一个基于能量的模型 Energy-Based Model (EBM),该模型定义了一个函数  F (x, y) 来预测两个输入的相容性 (compatible) ,如果是相容的,则会输出一个较低的值 (energy) ,不然就输出一个高的值 (energy) ,这里的 x 和 y 可以是一个值或者一段信息,也可以是不同的模态。其中 x 定义为可以观测到的输入,而 y 定义为没有被观测到的哪一部分信息。从图片的角度来看,x可以看做是一个mask过之后的图片,y是被mask掉的那部分信息,从时间序列来看,x可以是过去和现在关于序列的观测,y可以是对未来序列观测的预测。

 

 

 

通过潜变量处理不确定性

 

潜变量的定义是,其不是被观测到的,而是通过观测可以推测出来的并隐含在观测中的信息。为了使得世界模型能够产生多个合理的预测,需要使用到潜变量。带有潜变量的能量模型的定义如下:

 

 

其中,

 

也就是那个让能量模型值最小的那个潜变量

 

 

训练能量模型

 

这里的能量模型  F (x, y) 可以看做为一个带有权重  w   的神经网络,基于样本 (x, y) ,训练能量模型就等价于优化一个损失函数  (x, y, F w (x, y)),也可以表达为  (x, y, w)

 

优化这个损失函数是非常容易的,但是这里还要一个问题需要处理,如何让一个不同于 y 的样本 ŷ ,对于能量函数的计算的值高于 y ,也就是 F w (x, y’) >  F w (x, y),如果不特意优化的话,会产生榻缩现象,也就是给不同的 y,其计算得到的能量值会非常的接近。

 

很多类型的架构,都容易出现榻缩现象,如下图所示,除了a以外,其余三种架构都容易出现榻缩现象。

 

 

因此,作者提出了两种方法来避免模型产生榻缩现象,如下图所示:

 

 

1. 过对比学习方法,也就是通过loss来拉进 (x, y) 的距离,同时拉远 (x, ŷ) 的距离,放到能量模型的框架里面分别对应降低能量  F w (x, y) 和提高能量  F w (x, ŷ),这里作者定义了两种对比loss:

 

第一种是 基于距离的hinge loss ,其定义为:

 

这里 [a] +  的作用是,当 a>0 的时候,输出a,当 a<0 的时候,输出0,因此,只有  F w (x, ŷ) 远大于  F w (x, y) 的时候,该损失才为0,不然就是一个正值,通过这种方式,会使得  F w (x, ŷ) >  F w (x, y) ,从而实现优化的目的。

 

第二种是 一个使用多个负样本的损失函数 ,其定义为:

 

2. 对比学习有一个问题就是,需要生成负样本,当维度很高的时候,生成合适的负样本也是非常有挑战的,因此,作者提出了另外一个方法,称为 正则化方法 (Regularized method) ,该方法构造一个损失函数,该函数会压低训练样本的能量,同时最小化模型与低能量相关联的y空间的体积,通俗来讲,就是将函数的分布进行「收紧」,从而让更少的负样本落在低能量的空间中,从而使得模型在预测负样本的时候,输出一个较高的能量值。正则化方法需要搭配模型的架构来进行设计,因此,作者提出了一个架构称为 JEPA,接下来本文会对 JEPA 进行详细的介绍。

 

 

JEPA (Joint Embedding Predictive Architecture) 架构

 

JEPA架构是世界模型的核心,由简单的双流架构构成,作用是对 x 和 y 的依赖关系进行捕捉,其架构如下图所示:

 

 

首先,x 和 y 会被分别送入到两个Encoder中,并得到关于它们的表征 s x  和 s y ,而这里会有一个预测模块,通过 x 的表征 s x  来预测 y 的表征 s y , 在预测的过程中,还会使用一个潜变量 (上文中介绍过) ,之后会使用能量模型,计算预测之后的表征  ~ S y 和原始表征 S y  的能量值,其定义为

 

E w  (x,y,z) =  (s y ,  Pred (s x ,z))

 

注意这里:

 

 

而最终的能量模型为:

 

需要注意的是,这里的Encoder模块不仅仅是对x和y进行表征,同时还起到了抽取关键信息的作用,也就是会过滤掉一些与当前任务无关的信息,举个例子,如果 x 是一段视频,其内容为一个汽车接近一个分叉路口,那幺 S x 和 S y 可能代表过去和未来的位置、方向、速度和汽车的特征,忽略无关的细节,如路边的树木或人行道的纹理等。

 

此外,潜变量则代表了一种状态改变的可能性取值,例如,上述的例子,汽车可能向左和向右拐,而潜变量 z=0 或者 z=1,就代表这两种可能性,而上述能量模型  F w (x, y) 计算的时候,会选择一个使能能量最低的 z。

 

 

训练JEPA框架

 

这里的训练方法被称为 非对比学习方法 (non-contrastive method) ,也就是上文中提到的正则化方法,这种方法可以「收紧」低能量空间的体积。为了实现这一目的,作者提出了四个步骤:

 

 

最大化信息量 (Information Content) ,关于x,也就是  S x   能够最大化的表征 x 中与当前任务相关的信息

 

最大化信息量 (Information Content) ,关于y,也就是 S y  能够最大化的表征 y 中与当前任务相关的信息

 

最小化预测偏差,也就是要让模型更加容易从 S x  中预测 S y

 

最大化信息量 (Information Content ) ,关于潜变量 z,也就是说,找到与任务更加适合的那个潜变量

 

 

 

其中,第1和2步可以防止能量空间变得「平坦」,也就是减缓榻缩现象,因为最大化信息内容会迫使 Encoder学习更加丰富多变的表征,从而保证空间不是那幺的「平坦」。第3步是通过最小化能量模型来实现的,也就是最小化  D (s y ,  ~ s y ),这会使得模型对于未来的预测更加准确。

 

第4步在预防榻缩现象中起到了关键作用,如何设置不好,会导致严重的榻缩。实际为了防止这一现象,好在已有的大量相关工作证明(例如VAE,VQ-VAE等),只需要将 z 设置成低维离散的向量,即可有效的防止榻缩现象,这里则使用了一个正则项:

 

也就是L1正则,可以驱动最终的 ˇz 变得离散。

 

有了上述的基础就可以进行训练了,这里作者使用的是VICReg方法,这是一种维度对比的方法 (dimension-contrastive method) ,这个方法会对 s x 和 s y 做一些约定:(1)表征必须是一个非常量;(2)每个表征内部的子模块必须是相互独立的,这个可以通过如图中的步骤得到,首先将 s x  和 s y  映射到高维表征空间 v x 和 v y ,这个映射可以通过一个神经网络完成,之后使用一个包含了两个子项的loss来进行优化 (作者并未详细介绍) ,loss的主要作用是在一个batch上进行,目的是让高维度表征的协方差矩阵向一个单位矩阵逼近,这样会迫使每个表征的子成分变得更加独立。

 

 

 

H-JEPA

 

上文中提到,一个世界模型,应该能够从多个时间尺度,多个抽象层级对特征进行表征和预测,因此,作者提出了 Hierarchical JEPA (H-JEPA),不同的层级,代表了对表征的不同层级的抽象,同时多层级可以使得其更好的去应对长时程的任务。如下图所示,假设 x 0 , x 1 , x 2  代表了一个观测序列,第一层处理了短时程预测使用了低级别表征,而第二层则处理了长时程预测使用了高层级抽象表征。

 

 

如果世界模型可以进行层级预测,那幺这个层级的预测是不是可以用来进行 Model-2 的层级规划,在这里需要注意的是,高层级的动作不一定要和低层级以一对一,同时,高层级和低层级度需要计算cost。

 

 

 

处理不确定性

 

世界模型需要面临的一个挑战是,真实世界是无法被完全预测的,因此世界模型在预测未来的时候会面临很多不确定性,这个不确定性可以概括为一下几点:

 

这个世界在本质上是随机的

 

这个世界是确定性的,但却是混乱的,因此,如果没有无限精确的感知,就很难预测

 

这个世界是确定性的,但只有部分可以被观测到,或者传感器只能捕捉到关于世界状态的部分信息

 

由感知模块提取的世界状态表征不包含准确预测所需的全部信息

 

由于表征能力的限制,或者训练数据的限制,世界模型有时候是不准确的

 

下图中展示了在不确定性存在的时候,如何去执行层级规划,这里作者认为隐变量是做出准确预测的关键,作者将随机性「塞进」了隐变量中,在做预测的时候,除了上一步的状态,动作,还需要一个隐变量作为输入,这个隐变量可以帮助调控预测,从而帮助得到一个更准确的预测。需要注意的是,这里隐变量是通过多次迭代,学习得到的,迭代的过程,就是在寻找到更优的隐变量,使得cost降低。

 

 

 

世界模型的架构

 

作者认为,最佳的 JEPA 架构需要包含门控以及动态路径的机制,尤其是在长程预测的时候,作者认为使用 Transformer 的架构是比较合适的。

 

 

数据流

 

关于世界知识的学习,都是通过观测学习到的,作者列举了几种agent可以学习世界知识的方式:

 

 

被动观测 (passive observation) ,会持续接收一些信息流,例如声音和视频等

 

主动注视 (active foveation) ,被输入信息流的时候,其注意力的焦点可以被引导

 

被动代理 (passive agency) ,在感觉流中,可以观察到另一种作用于环境的主体,从而能够推断主体行为对环境状态的因果效应。

 

主动活动 (active egomotion) ,agent接收来自真实或虚拟环境的信息流,在该环境中,接收信息流的传感器的的位置可以被移动,同时不显着影响环境

 

主动代理 (active agency) ,可以感知到信息流是如何被agent的行为所影响的。

 

 

其中,2,4,5都是主动学习,agent 会主动收集相关的信息,来帮助更好的理解周围环境,但要做到这一点,可能需要内在的动机模块来驱动注意力、好奇心和对状态空间角落的探索。

 

跟踪世界的状态:记忆模块

 

世界的状态信息被存储在记忆模块中,当一个事件发生的时候,只有被这个事件影响到的状态被改变,其他状态保持不变,这里,作者使用的是 Key-value Memory Network

 

读取记忆的过程如下:

 

 

这里面  k j 是键值,而  v j  是存储的值,查询记忆的过程就是找到与查询向量 q 最相似的一些键值,这个匹配过程是由 Match ( k jq )计算到的,之后会根据相似度加权求和,注意这里的相似度需要经过一个归一化操作,这个操作可以使用一些常见的归一化函数,这里作者提到一个常用的归一化函数:

 

 

存储记忆的过程如下,假设对 r 进行存储,其流程是先做检索,之后,对相应键值的  v j 进行更新,这里作者将更新操作设置为  cr +(1- c ) v ,实际上就是在更新的基础上,还会保留部分原始信息。

 

 

注意这里作者还提到一个增加记忆槽的操作,如果要查询的值 q 和所有键值都不相似,那幺可以增加一个槽,来存储新的记忆对 ( q,r ),上面提到的归一化函数:

 

 

其中的 γ 就可以起到阈值调控的作用。此外,所有的这些操作都是可以微分的,因此可以进行梯度反传操作。

 

针对记忆模块,作者有提到,当前的这种 Key-value Memory Network 还是有限制的,无法很好的应对复杂的规划和控制,因此,提出一个更好的记忆模块也是一个开放的问题。

 

Configurator

 

Configurator是agent的主要控制模块,它会接收所有其他模块的信息,并调节它们的参数和连接图,这个调节可以是激活一个自网络,注意力调整,或者是信号的路径调节等。这里作者并没有对Configurator进行明确的定义,而是只给出了一个功能上的抽象描述。

 

作者提出,configurator模块应该具有两个关键的作用,一个是 硬件重复利用(hardware reuse),一个是知识共享。硬件重复使用的好处是,一些相似的任务,可以共享相同的处理路径。知识共享的好处是,对于一些相似的任务,agent所学习到的技能可以被泛化。

 

Configurator也可以对感知模块进行调整, 对于需要快速检测简单物体的任务,Configurtor可以在卷积体系结构中调制低级层的权重。对于涉及满足对象之间关系的任务(如用螺钉组装两个部件),可以通过调制高级变压器模块中的令牌来执行配置。

 

世界模型的预测器部分必须能够根据手头的任务执行广泛的功能。对于在低抽象水平上执行短期预测的预测器,需要Configurator调节的是动态信号路由,主要是针对门控或者路由环路 。对于更高抽象级别的长期预测,之前有提到这种更适合使用Transformer架构,这个时候,Configurator可以给Transformer输入额外的token来对Transformer的计算进行调节。

 

Configurator的一个很重要的作用就是设置子目标,同时为子目标配置对应的Cost模块,从对实现对任务进行复杂的控制。对Cost模块的调节,作者出了两个方式,一个简单的调节方式就是就是调节Cost模块中子模块线性加权计算中的权重。而更加复杂的调节则是针对于可训练的Critic部分,实际上,作者提到,可以简单的使用Transformer来作为架构,这样就可以像上面提到的那样,通过输入额外的token来调节整个Transformer的计算。

 

至于Configurator如何将复杂的任务,分成子任务,作者目前也没有答案。此外,作者也提到,本文没有说明各种模块的体系结构的细节。例如,预测器很可能在其微体系结构中需要某种动态路由和门控环路。

 

作者设计的认知框架中的大部份模块都可以和动物大脑有一个类比的关系,感知模块对应视觉,听觉和其他感知通路的处理皮层。世界模型对应于前额叶皮层的一些部分高级处理单元。Intrinsic cost模块对应杏仁核。而可训练的Critic对应前额叶皮层中负责奖励预测的部分。Short-term memory模块可以对应到海马。而Configurator对应前额叶皮层的中央控制和注意力调节机制。Actor对应于运动前皮层 (pre-motor cortext) 。

 

对于世界模型,人类大脑中一个单一的、可配置的世界模型引擎的假设可以解释为什幺人类本质上可以一次执行一个单一的「有意识的」推理和计划任务。实际上,虽然文中提到的认知框架也模拟人类大脑,只配置了一个世界模型引擎,但是实际上,也许可以配置多个世界模型引擎来让 agent 同时处理多个复杂任务。

 

对于人类的情感,作者认为,Intrinsic Cost可以对应于调节疼痛,饥饿,舒适等即时情感,而对于那些因为对结果预期会有偏差而产生的情感,例如恐惧等,可以使用 Critic 来类比。对于动物来说 ,情感是驱动行为的核心因素之一,而这里的 Cost模块就是起到了类似的作用。

 

总的来说,认 知框架的设计主要启发于动物大脑,目前来看,不管是整体结构,或者是子功能模块,对于实现真正的自主人工智能系统还有一定的差别,因此,这一方向仍然充满了巨大的挑战。

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。