在人工智能领域,机器模拟人类智能的过程被称为人工智能(AI)。专家系统、自然语言处理、语音识别、机器学习和机器视觉等都是AI应用的例子。这些任务通常需要不同类型的AI系统来处理。例如,在AI中,基于计算机视觉的模型无法处理与自然语言处理(NLP)相关的任务,反之亦然。同样,机器学习中的文本分类模型也无法处理一些机器翻译问题,反之亦然。但是否曾想过,是否存在一个模型能够无需进一步改变模型架构就能完成所有这些任务?或者一个能够模仿人脑执行多项任务且不受外部世界显著影响的单一模型?如果这么想过,那么就在正确的轨道上,正在思考的是人工通用智能(AGI)。
人工通用智能(AGI)是指智能体理解或学习人类能够执行的任何智力工作的能力。人工智能(AI)的概念是创建一台能够像人类一样思考、行动和学习的机器。人工通用智能(AGI)是一台能够执行人类能够执行的任何认知任务的机器的智能。具有人工通用智能的系统将能够像任何人类一样理解世界,并且学习如何执行广泛的活动。这是当今某些人工智能研究的关键目标,也是科幻和未来学研究中的热门话题。今天发生的大多数AI研究都试图在最终产品中至少获得AGI的最低水平。
最近,DeepMind——Alphabet的英国人工智能子公司,推出了最新且最有希望的AGI模型,即GATO。世界各地的大量数据科学家认为GATO是世界上第一个AGI。在这篇博客中,试图向介绍GATO模型的一些非常基础的有趣细节。
使用单一神经序列模型处理所有任务有很多优势。它消除了为每个领域手工制作具有适当归纳偏差的政策模型的需求。因为序列模型可以消费任何可以序列化为平面序列的数据,它增强了训练数据的数量和多样性。此外,即使在数据、计算和模型规模的最前沿,其性能仍在提高。正如在引言部分提到的,这些能够执行多项任务的神经架构被称为多模型神经网络,这些系统被称为人工通用智能代理。今天有几种多模型架构显示出AGI的最低水平。其中一些是T5和GPT-3模型(有关GPT-3的更多详细信息,请查看先前的文章)。
DeepMind几天前声称已经开发出一种可以执行任何任务的通用AI。谷歌声称它可以完成600个工作,这是在多种环境中接近人类水平表现的最接近之处。DeepMind将Gato实例化为一个单一的、大型的、变换序列模型。另一个重要点是,GATO执行的每个任务都使用相同的权重。Gato可以为照片生成标题,用真实的机器人臂堆叠积木,超越人类在Atari游戏中的表现,在模拟的3D景观中导航,服从指示等等,仅使用一组权重。
GATO训练使用多种数据集,包括代理在模拟和现实世界环境中的经验,以及自然语言和图像数据集。下面的表格描述了用于GATO训练的数据集。
用于训练GATO模型的最终数据集包含的数据在不同领域广泛分布,包括模拟控制任务、视觉和语言、机器人学——RGB堆叠基准(真实和模拟)。
在训练期间,来自各种工作和模态的数据被序列化为平面令牌序列,批量处理,并由变换神经网络处理,其工作方式与大型语言模型相同。由于掩蔽,损失函数仅应用于目标输出,如文本和某些动作。GATO的训练阶段在下图中描述。
GATO的主要设计方法是训练尽可能多的相关数据,如文本、图像和视图,无论是离散数据还是连续数据。为了使训练能够在多种性质的数据中进行,GATO将所有数据序列化为平面令牌序列。这个过程被称为令牌化。有多种方法可以进行令牌化。下面提到了一些方法。
文本通过SentencePiece方法编码;图像最初被转换为非重叠补丁的光栅顺序序列;离散值被压缩成整数序列,按行主序排列;连续值首先被展平为按行主序排列的浮点值序列,然后进行其余处理。他们采用规范的序列排序,在将数据转换为令牌后。文本令牌与原始输入文本的顺序相同;图像补丁的令牌按光栅顺序排列;张量按行主序排列;通过键,嵌套结构按字典顺序排列;代理剧集按时间顺序排列等。
想法是将所有内容以相同的结构组织起来,基于任务的特定顺序,如训练阶段图像中所见。令牌化和序列化后,将根据输入的性质执行以下操作:文本令牌、离散或连续值观察或任何时间步的动作都被嵌入到学习向量嵌入空间中,使用查找表。
为了获得每个补丁的向量,任何时间步的图像补丁令牌都使用单个ResNet块进行嵌入。嵌入向量由12亿变换器生成。Gato使用一个24层、12B参数的仅解码器变换器,嵌入大小为2048,后注意力前馈隐藏大小为8196。模型保持为语言模型,根据序列预测下一个词。模型给出了所有连续值、proprioceptive输入、关节扭矩等作为一组补充子词,映射在文本词汇范围的顶部。
GATO是将强化学习问题转换为条件序列建模问题的方法之一。像GATO这样的模型使用(大)上下文窗口来预测下一个最佳动作,而不是近似状态值函数或学习策略。
GATO是自回归训练的,这意味着它只预测下一个输入将是什么。例如,如果它收到文本,它将尝试猜测下一个陈述。或者在游戏的情况下将发生的动作。模型接收一个嵌入,并根据它进行预测,然后在模拟环境中执行,当前状态被标记化并重新嵌入,然后发送回模型以产生另一个预测。检查下面的图像以了解GATO的预测过程。
可以看到它还有一个固定提示组件,它简单地告诉模型对这组输入的响应类型有什么期望——这导致了模型的多任务行为。这意味着模型被喂入特定任务的先前记录的令牌序列,而不是任务类型ID,从而引导上下文窗口。