编辑:张倩
当前,人与智能体(比如机器人)的交互是非常直接的,你告诉它「拿一块蓝色的积木」,它就会帮你拿过来。但现实世界的很多信息并非那么直接,比如「扳手可以用来拧紧螺母」、「我们的牛奶喝完了」。这些信息不能直接拿来当成指令,但却蕴含着丰富的世界信息。智能体很难了解这些语言在世界上的含义。
图源:谷歌机器人团队论文「Interactive Language: Talking to Robots in Real Time」。
UC 伯克利 Dynalang 研究的关键思想是,我们可以将语言看作是帮助我们更好地对世界进行预测的工具,比如「我们的牛奶喝完了」→打开冰箱时没有牛奶;「扳手可以用来拧紧螺母」→使用工具时螺母会旋转。Dynalang 在一个模型中结合了语言模型(LM)和世界模型(WM),使得这种范式变成多模态。研究者认为,将语言生成和行动统一在一个智能体架构中是未来研究的一个令人兴奋的方向。
论文概览
人工智能长期以来的目标是开发能够在物理世界中与人类自然交互的智能体。当前的具身智能体可以遵循简单的低层指令,比如「拿一块蓝色的积木」或者「经过电梯,然后向右转」。
然而,要实现自由交流的互动智能体,就需要理解人们在「此时此地」之外使用语言的完整方式,包括:传递知识,比如「左上角的按钮是关掉电视的」;提供情境信息,如「我们的牛奶喝完了」;以及协同,比如跟别人说「我已经吸过客厅了」。我们在文本中阅读的很多内容或者从他人口中听到的信息都在传递有关世界的知识,无论是关于世界如何运行还是关于当前世界状态的知识。
我们如何使智能体能够使用多样化的语言呢?一种训练基于语言的智能体解决任务的方法是强化学习(RL)。然而,目前的基于语言的 RL 方法主要是学习从特定任务指令生成行动,例如将目标描述「拿起蓝色的积木」作为输入,输出一系列运动控制。
然而,当考虑到自然语言在现实世界中所服务的多样功能时,直接将语言映射到最优行动是一个具有挑战性的学习问题。以「我把碗放好了」为例:如果任务是清洗,智能体应该继续进行下一个清洗步骤;而如果是晚餐服务,智能体应该去取碗。当语言不涉及任务时,它只与智能体应该采取的最优行动弱相关。将语言映射到行动,尤其是仅使用任务奖励,对于学会使用多样化语言输入完成任务来说是一个弱学习信号。
不同的是,UC 伯克利的研究者提出,智能体使用语言的一种统一方法是帮助它们预测未来。前面提到的语句「我把碗放好了」有助于智能体更好地预测未来的观察结果(即,如果它采取行动打开橱柜,它将在那里看到碗)。
我们遇到的很多语言可以通过这种方式与视觉体验联系起来。先前的知识,比如「扳手可以用来拧紧螺母」,帮助智能体预测环境变化。诸如「包裹在外面」的陈述有助于智能体预测未来的观察结果。这个框架还将标准指令遵循归入预测范畴:指令帮助智能体预测自己将如何受到奖励。类似于下一个 token 预测允许语言模型形成关于世界知识的内部表示,研究者假设预测未来的表示为智能体理解语言以及它与世界的关系提供了丰富的学习信号。
基于此,他们提出了 Dynalang,一种从在线经验中学习语言和图像世界模型,并利用该模型学习如何行动的智能体。
Dynalang 将学习用语言对世界建模(带有预测目标的监督学习)与学习根据该模型采取行动(带有任务奖励的强化学习)分离开来。该世界模型接收视觉和文本输入作为观察模态,并将它们压缩到潜在空间。研究者通过在线收集的经验训练世界模型,使其能够预测未来的潜在表示,同时智能体在环境中执行任务。他们通过将世界模型的潜在表示作为输入,训练策略来采取最大化任务奖励的行动。由于世界建模与行动分离,Dynalang 可以在没有行动或任务奖励的单模态数据(仅文本或仅视频数据)上进行预训练。
此外,他们的框架还可以统一语言生成:智能体的感知可以影响智能体的语言模型(即其对未来 token 的预测),使其能够通过在动作空间输出语言来描述环境。
论文链接:https://arxiv.org/pdf/2308.01399.pdf项目主页:https://dynalang.github.io/代码链接:https://github.com/jlin816/dynalang
研究者在具有不同类型语言上下文的多样化环境中对 Dynalang 进行了评估。在一个多任务家庭清洁环境中,Dynalang 学会利用关于未来观察、环境动态和修正的语言提示,更高效地完成任务。在 Messenger 基准测试中,Dynalang 可以阅读游戏手册来应对最具挑战性的游戏阶段,优于特定任务的架构。在视觉 - 语言导航中,研究者证明 Dynalang 可以学会在视觉和语言复杂的环境中遵循指令。
Dynalang 学会使用语言来预测未来的(文本 + 图像)观察结果和奖励,从而帮助解决任务。在这里,研究者展示了在 HomeGrid 环境中真实的模型预测结果。智能体在接收环境中的视频和语言观察的同时,探索了各种房间。根据过去的文本「瓶子在客厅」,在时间步 61-65,智能体预测将在客厅的最后一个角落看到瓶子。根据描述任务的文本「拿起瓶子」,智能体预测将因为拿起瓶子而获得奖励。智能体还可以预测未来的文本观察:在时间步 30,给定前半句「盘子在」,并观察到橱柜上的盘子,模型预测下一个最可能的 token 是「厨房」。
研究者考虑了一系列具有视觉输入和多样化语言的环境。HomeGrid 是一个具有指令和多样化提示的具有挑战性的视觉网格世界。Messenger 是一个具有符号输入的基准测试,包含数百个人工编写的游戏手册,需要进行多次推理。Habitat 是一个模拟逼真的 3D 家居环境,用于视觉 - 语言导航,在其中智能体必须在数百个场景中定位物体。LangRoom 是一个简单的视觉网格世界,具有部分可观察性,智能体需要同时生成动作和语言。
详解 Dynalang 工作原理
使用语言来理解世界很自然地符合世界建模范式。这项工作构建在 DreamerV3 的基础之上,DreamerV3 是一种基于模型的强化学习智能体。Dynalang 不断地从经验数据中学习,这些数据是智能体在环境中执行任务时收集到的。
如下图(左)所示,在每个时间步,世界模型将文本和图像压缩成潜在表示。通过这个表示,模型被训练用于重建原始观察结果、预测奖励,并预测下一个时间步的表示。直观地说,世界模型根据它在文本中读到的内容,学习它应该期望在世界中看到什么。
如下图(右)所示,Dynalang 通过在压缩的世界模型表示之上训练策略网络来选择行动。它通过来自世界模型的想象的模拟结果进行训练,并学会采取能够最大化预测奖励的行动。
与之前逐句或逐段消耗文本的多模态模型不同,研究者设计的 Dynalang 将视频和文本作为一个统一的序列来建模,一次处理一帧图像和一个文本 token。直观来说,这类似于人类在现实世界中接收输入的方式 —— 作为一个单一的多模态流,人需要时间来聆听语言。将所有内容建模为一个序列使得模型可以像语言模型一样在文本数据上进行预训练,并提高强化学习的性能。
HomeGrid 中的语言提示
研究者引入了 HomeGrid 来评估一个环境中的智能体。在这个环境中,智能体除了任务指令外还会收到语言提示。
HomeGrid 是一个具有指令和多样化提示的具有挑战性的视觉网格世界。HomeGrid 中的提示模拟了智能体可能从人类那里学到或从文本中获取的知识,提供了对解决任务有帮助但不是必需的信息:
未来观察:描述了智能体未来可能观察到的情况,比如「盘子在厨房里」。
Correction:提供了基于智能体当前行为的交互式反馈,比如「转身」。
Dynamics:描述了环境的动态变化,比如「踩踏板打开垃圾桶」。
HomeGrid 环境将与代码一起发布,以鼓励大家进一步在这个方向上进行研究。
尽管智能体没有明确地接受有关文本对应于什么观察结果的明确监督,但 Dynalang 通过未来预测目标学会了将各种类型的语言与环境相联系。Dynalang 的性能优于基于语言的 IMPALA 和 R2D2,这两种方法在使用不同类型的语言上遇到困难,通常在超出指令范围的语言任务上表现更差。
Messenger 中的游戏手册
研究者在 Messenger 游戏环境中进行评估,以测试智能体如何从更长、更复杂的文本中学习,这需要对文本和视觉观察进行多次推理。智能体必须对描述每个任务动态的文本手册进行推理,并将其与环境中实体的观察结果结合起来,以确定哪些实体应该接收消息,哪些应该避免。Dynalang 的表现优于 IMPALA、R2D2 以及使用专门架构对文本和观察进行推理的任务特定 EMMA 基线,特别是在最困难的第三阶段。
Habitat 中的指令遵循
研究者还展示了 Dynalang 能够处理逼真的视觉观察,并在 Habitat 中执行指令跟随。智能体必须遵循自然语言指令,在家庭逼真扫描中导航到目标位置。在 Dynalang 中,指令遵循可以统一在相同的预测框架中,将其视为未来奖励预测。
基于 LangRoom 的语言生成
就像语言可以影响智能体对将要看到的事物的预测一样,智能体观察到的内容也会影响它对将要听到的语言的期望(例如,关于它所看到的内容的真实陈述)。通过在 LangRoom 中将语言输出到动作空间,研究者展示了 Dynalang 可以生成与环境相关联的语言,从而进行具身问答。LangRoom 是一个简单的视觉网格世界,具有部分可观察性,智能体需要在其中产生运动动作和语言。
文本预训练
由于使用语言进行世界建模与基于世界模型的行动学习解耦,Dynalang 可以使用离线数据进行预训练,而无需行动或奖励标签。这种能力使得 Dynalang 能够从大规模的离线数据集中受益,全部都在单一的模型架构内实现。研究者使用仅包含文本数据的数据对 Dynalang 进行预训练,从零开始学习 token 嵌入。在通用文本数据(TinyStories,2M 个短故事)上预训练模型,提高了模型在 Messenger 上的下游强化学习任务表现,超过了使用预训练的 T5 嵌入的结果。
研究者表示,尽管他们的工作专注于用于在世界中行动的语言理解,但它也可以像一个仅文本语言模型一样从世界模型中生成文本。研究者在潜在空间中对预训练的 TinyStories 模型进行模拟的抽样,然后在每个时间步骤从表示中解码 token 观察。尽管生成的文本质量仍然低于当前语言模型的水平,但模型生成的文本令人惊讶地连贯。他们认为将语言生成和行动统一在一个智能体架构中是未来研究的一个令人兴奋的方向。