Dynalang——一种使用语言学习世界模型的AI新技术

译文 精选
人工智能
人工智能梦寐以求的目标之一是创造出能够通过遵循自然语言指令在现实世界中有效完成任务的智能体。大型语言模型(LLM)在实现这一目标方面取得了重大进展,展示了处理定义明确的任务的令人印象深刻的能力。

译者 | 朱先忠

审校 | 重楼

简介

这篇文章是我们对人工智能最新研究报道的一部分。

人工智能梦寐以求的目标之一是创造出能够通过遵循自然语言指令在现实世界中有效完成任务的智能体。大型语言模型(LLM)在实现这一目标方面取得了重大进展,展示了处理定义明确的任务的令人印象深刻的能力。然而,它们的能力目前还是有限的——在面临需要更广泛了解世界的任务时往往达不到要求。

加州大学伯克利分校科学家的一篇新研究论文提出了应对这一挑战的创新方法。本文介绍了一种名为Dynalang的新技术,旨在设计能够借助自然语言学习世界模型的强化学习代理。这种方法不仅仅是教人工智能执行任务;而且还使得人工智能能够理解其所在环境的上下文,并更有力、更高效地执行任务。

物理世界中的大型语言模型

PaLM-SayCan使用大型语言模型(LLM)使机器人能够用自然语言执行指令(来源:谷歌博客,地址:https://ai.googleblog.com/2023/02/google-research-2022-beyond-robotics.html)。

LLM的最新进展在各个领域引发了一波热潮,包括机器人和现实世界中的任务执行代理。LLM的一个非常有前景的方面是它们能够弥合语言和视觉数据之间的差距,从而产生视觉语言模型(VLM)。

VLM能够将文本映射到视觉数据;反之亦然,这一功能已在不同的应用领域中得到利用,包括文本到图像模型和AI图像搜索领域。这项技术的一个更先进的应用是将自然语言命令映射到现实世界中的动作。这有时被称为“具身语言模型”(Embodied Language Models)。

如今,已经出现一些技术,其将强化学习与VLM相结合,以训练能够执行特定指令的代理。

然而,当前的模型有它们明显的局限性,例如,它们擅长执行非常特定的任务的命令,例如“拿起蓝盒子”。不过,最近的进一步研究成果能够为这些命令添加上一层抽象,使VLM驱动的代理能够理解和执行更复杂的指令,例如“捡起代表灭绝动物的玩具”。

但在现实世界中,命令和话语往往与上下文有关。例如,如果是洗碗或上菜,“我把碗收起来了”这句话对代理来说可能意味着不同的事情。加州大学伯克利分校的研究人员指出,“当语言不谈论任务时,它只与代理应该采取的最佳行动弱相关。”

最近,研究人员提出了一种不同的方法。他们建议,与其训练代理立即完成任务,不如先训练他们在语言指令的帮助下学习世界模型来预测未来。研究人员写道:“与下一个表征预测如何允许语言模型形成世界知识的内部表征类似,我们假设预测未来表征为主体理解语言及其与世界的关系提供了丰富的学习信号。”

这种方法可以帮助人工智能代理了解其环境的上下文,从而更有力、更高效地执行任务。

Dynalang

Dynalang使用语言更好地学习世界模型(来源:GitHub)Dynalang使用语言更好地学习世界模型(来源:GitHub)

加州大学伯克利分校的研究人员提出了一种名为Dynalang的技术,他们将其描述为“一种从在线体验中学习语言和图像世界模型并使用该模型学习如何行动的代理。”这项技术的方法独特,并提供了两种不同的训练模式。

首先,Dynalang学习通过文本和视觉观察来对世界进行建模。研究人员解释说,“我们训练世界模型,当代理在环境中行动时,利用在线收集的经验来预测未来的潜在表征。”这种方法反映了人类用来将环境中的观察结果映射到语言的一种自我监督学习形式。研究人员称之为“语言条件世界模型”。值得注意的是,Dynalang是多模态的,这意味着它不仅预测文本,还支持预测未来的视觉表现。

其次,Dynalang通过对世界模型和任务表征的强化学习来学习其行动策略。研究人员写道:“我们训练政策采取行动,最大限度地提高任务回报,将世界模型的潜在代表性作为输入。”。

从本质上讲,Dynalang旨在通过语言和视觉观察来学习一个世界模型,然后使用这个模型来学习如何在各种环境中有效地行动。这种方法可能会在不同的环境中增强人工智能代理的稳健性和效率。

Dynalang的工作原理

加州大学伯克利分校的研究人员利用不同机器学习技术的巧妙组合开发了Dynalang。Dynalang的核心是一个旨在执行动作的人工智能系统,其结构基于强化学习循环。这个循环由代理、环境、操作、状态和奖励组成。Dynalang的根本目标是培养一个能够最大限度地提高回报的代理。

Dynalang是一个基于模型的强化学习系统,这意味着它可以根据世界模型预测动作和状态。同时,使用过去动作的回放缓冲区作为监督学习流来训练世界模型。根据环境的不同,动作空间可以由电机命令、文本生成和其他类型的动作组成。

Dynalang的一个有趣的特性是,它能够以令牌流形式接收文本指令和描述,同时还可以一起传递图像帧信息。这与在一组任务的开头提供完整的指令文本的其他技术形成了鲜明对比。研究人员解释道,“对于人类来说,阅读、听力和口语会随着时间的推移而延长,在此期间,我们会接收新的视觉输入,并可以执行运动动作。类似地,我们在每个时间步长为我们的代理提供一个视频帧和一个语言令牌,代理产生一个运动动作,在适用的环境中,每个时间步长产生一个语言标记。”

与语言模型的许多应用程序一样,Dynalang可以在原始数据(文本和图像)上进行预训练,在那里它可以学习每个模型的潜在表示。然后,它可以在较小的传感器和动作数据集上进行微调。然而,正如研究人员所指出的,有一点需要注意:“与典型的语言建模目标不同,该模型没有明确地训练为从前缀预测下一个令牌,除非通过在下一时间步长时的预测表示。”

Dynalang的效果如何?

Dynalang支持在不同类型的环境中工作——使用语言提示和指令来更好地学习世界模型(来源:GitHub)。

Dynalang的研究论文目前尚未正式印刷出版,这意味着它还没有经过严格的同行评审。然而,该论文的作者包括人工智能研究领域备受尊敬的人物,例如伯克利机器人学习实验室主任兼伯克利人工智能研究实验室联合主任Pieter Abeel。这为论文中的成果发现提供了一定程度的可信度。

研究人员让Dynalang在各种环境中进行测试,每种环境都有独特的设置和挑战。在可能的情况下,他们将Dynalang的性能与在相同环境中运行的基线强化学习模型进行了比较。

HomeGrid就是这样一个环境,它是一个多任务网格世界,代理在其中接收语言形式的任务规范以及语言提示,这些提示包括对对象的描述,环境中的动力信息以及相关动作的纠正。

研究人员指出,“值得注意的是,代理在HomeGrid中从未接受过关于提示含义的直接监督,而且提示通常与他们所指的对象或观察结果相去甚远。”这意味着,代理必须通过将提示与世界模型观察到的状态相关联来学习提示的含义。实验表明,Dynalang善于利用这些提示,而RL模型则必须通过试错来学习动作分布。

在另一个环境VLN-CE(Vision-and-Language Navigation in Continuous Environments:连续环境中的视觉和语言导航)中,需要代理在3D环境中导航以到达指定的目的地。每一组任务都包括一个环境和自然语言说明,说明如何到达目的地。

实验表明,Dynalang在实现目标方面明显比纯RL方法更有效,因为它学会了将文本指令与环境观察和行动联系起来。

然而,作者警告说,“[Dynalang]还不能与最先进的VLN方法(其中许多方法使用专家演示或专业架构)竞争。”这意味着,虽然Dynalang不如SOTA技术有效,但它也需要更少的手动注释,并且可以从接近原始的数据中学习。

本论文还探讨了另外两个有趣的环境:Messenger游戏环境和LangRoom包含的问答挑战。如果您要想详细分析Dynalang在这些环境中的表现,我建议阅读全文。

本论文的一个关键发现是,在纯文本数据集上对模型进行预训练可以显著提高模型在最终任务中的性能。这表明,模型从文本中学习的能力是其整体有效性的关键因素。

然而,研究人员承认,Dynalang还有相当大的改进空间。他们认为,更好的语言建模技术和架构能够支持长期的操作,可以提高模型的性能。我个人很感兴趣的是,如果它与更先进的转换器模型相结合的话它将如何改进。

此外,这些技术在现实世界中的表现如何还有待观察,而现实世界往往比受控环境更不可预测和复杂。但研究人员对Dynalang的潜力持乐观态度,尤其是在利用网上大量未标记数据方面。研究人员写道,“在没有动作或奖励的情况下对视频和文本进行预训练的能力表明,Dynalang可以扩展到大型网络数据集,为实现与世界上的人类交互的自我改进的多模式代理铺平了道路。”

译者介绍

朱先忠,51CTO社区编辑,51CTO专家博客、讲师,潍坊一所高校计算机教师,自由编程界老兵一枚。

原文标题:New AI technique uses language to learn world models,作者:Ben Dickson



责任编辑:华轩 来源: 51CTO
相关推荐

2023-08-05 13:45:46

模型AI

2020-06-17 09:59:17

人工智能

2010-01-21 16:24:02

C++语言

2022-11-21 14:33:53

大数据数据存储机器学习

2024-01-30 09:00:28

框架BMRL模型

2020-12-09 10:15:34

Pythonweb代码

2015-08-31 09:27:21

语言界面UI

2015-08-03 09:36:01

赛迪翻译

2017-11-15 19:00:49

深度学习SoftmaxRNN语言模型

2010-01-25 15:09:17

C++语言

2020-10-20 09:45:28

Facebook AI翻译

2021-04-08 10:19:39

人工智能机器学习知识图谱

2020-12-23 10:10:23

Pythonweb代码

2022-07-07 10:33:27

Python姿势代码

2022-06-22 09:44:41

Python文件代码

2024-01-29 00:24:07

图像模型预训练

2009-09-04 08:51:33

Java语言

2023-07-18 18:10:04

2012-11-01 13:41:25

编程语言BasicPerl

2016-11-11 14:12:19

R语言
点赞
收藏

51CTO技术栈公众号