GROOT:Learning to Follow Instructions by Watching Gameplay Viedos.作者为北京大学梁一韬所在的Team CraftJarvis,发表时间为2023
Background
在开放世界下开发类人级别的具身智能体以解决开放式任务一直是人工智能领域长期以来追求的目标。随着 ChatGPT 的流行,近年来涌现了一批利用大语言模型(LLM)的规划推理能力来解决「我的世界」中复杂长期任务的尝试,如 DEPS、Voyager、GITM 等工作。然而,与理想的通用智能体相比,这些基于 LLM 的工作主要强调发掘语言模型的潜力而忽略了提升底层控制器(low-level controller)的重要性。事实上,底层控制器负责将 LLM 规划出来的 plan 映射到具体动作空间(键盘与鼠标操作),并与环境直接进行交互。因此,其掌握的技能库中技能的数量和质量决定了智能体能力上限。该团队的此项研究旨在构建具备指令理解能力的基础决策大模型。通过将技能库从有限推广至无限,实现了由封闭式指令向开放式指令理解的迈进。
Motivation
该研究的核心目标是探索能否摆脱文本数据的标注以及与环境的在线交互,而是仅通过观看游戏视频的方式来教会智能体理解世界、遵循指令,进而在开放世界下解决无穷的任务。
-
自监督预训练范式促进大规模任务学习
- 自监督预训练范式已经相继在自然语言处理(NLP)和计算机视觉(CV)领域展现出了极强的泛化能力,大有统一深度学习的趋势。然而,在强化学习(RL)和决策控制领域的相关研究则相对滞后。本文作者认为预训练的学习范式对于构建决策大模型来说至关重要。考虑到任务的多样性,为每个任务单独定义一套奖励函数并让智能体在与环境交互的方式中学习是非常昂贵且不安全的。因此,利用网上的海量视频数据对智能体进行自监督预训练使其大规模“领悟”技能的道路则非常有前景。
-
“视频”做指令表达能力强,数据易收集
- 为了使预训练出来智能体能够理解人类的指令并执行相应的任务,必须对指令空间的形式进行定义。目前主流的指令形式主要包括「任务指示器」、「未来的结果」(又分为「未来的状态」、「预期的累计奖励」等)、「自然语言」。本文作者认为,尽管在这些指令形式下智能体容易使用“后见经验重放”之类的技巧学习,然而指令的表达能力却十分有限。以「未来的状态」举例,一张房屋的照片并不能告诉智能体房子是如何被建造出来的,因为其缺乏细致的过程性描述。此外,这种指令也存在很强的歧义性,例如一张站在房屋前的图片并不能让智能体区分是要构建这样一座房屋还是找到这样一座房屋。尽管对于过程描述足够细致的自然语言指令可以规避上述所说的问题,然而互联网上并不存在如此多高质量的“视频-文本”数据对可供训练。
- 观察到主流指令形式的局限性之后,研究团队旨在找到指令的表达能力与智能体学习的成本之间的平衡。作者发现视频形式的指令则可以同时兼顾这两个要求。一方面,一段“参考”视频可以描述完成任务所需的所有细节信息,具备极强的表达能力;另一方面,视频模态数据大规模分布在互联网上,因此训练数据十分易于收集。
Related Work
-
VPT,2022 OpenAI
VPT(Baker 等人,2022),一种经过标准行为克隆训练的 Minecraft 基础模型。它建立在 Transformer-XL(Dai 等人,2019)的基础上,可以利用长期历史状态并根据当前观察结果预测下一步行动。然而,vanilla VPT架构不支持指令输入 -
Flamingo: A vision language model for few shot learning,Deepmind,NIPS2022
Flamingo (Alayrac et al., 2022),即将门控交叉注意力密集层插入到每个 Transformer-XL 块中。这些层中的键和值是从目标嵌入中获得的,而查询则来自环境状态。
Flamingo是仅使用少量带注释的示例即可构建可以快速适应新任务的模型。关键架构创新:(i) 连接强大的预训练纯视觉和纯语言模型,(ii) 处理任意交错的视觉和文本数据序列,以及 (iii) 无缝摄取图像或视频作为输入。在众多基准测试中,Flamingo 的性能优于根据数千倍的特定任务数据进行微调的模型。
模型架构
Approach- Vision processing and the Perceiver Resampler
Vision Encoder:from pixels to features.视觉编码器是预训练并且参数冻结的Normalizer-Free Resnet(NFNet),这里用的是F6 model.
Perceiver Resampler:from varying-size large feature maps to few visual tokens.它将来自视觉编码器的可变数量的图像或视频特征作为输入,并产生固定数量的视觉输出(64),从而降低了视觉文本交叉注意力的计算复杂性。 - Conditioning frozen language models on visual representations.根据视觉表示调节冻结的语言模型
Gated cross-attention dense blocks:
- Vision processing and the Perceiver Resampler
-
Transformer-XL
Transformer-xl: Attentive language models beyond a fixed-length context.ACL 2019
Transformer-XL 使学习依赖性超过固定长度而不破坏时间连贯性(450% longer than vanilla Transformers).它由段级递归机制和新颖的位置编码方案组成.
详见随笔【论文阅读】(Transformer-XL)link
Theory-Methods
又由于
此处常数项C与学习目标(Goal space和Goal-conditioned policy)无关,故省略,合并上面两个式子得到:
其中\(q_\phi (.|s_{0:T})\)由video encoder实现,将整个状态序列映射到潜在目标空间。\(p_{\theta} (.|s_{0:\tau +1})\)通常是预训练逆动态模型(Inverse dynamic model),其功能是在已知过去和未来的状态序列下预测此刻所需采取的action。因此该目标函数可以解释为通过在简洁目标空间约束下的行为克隆来共同学习视频编码器和目标控制器策略。
Architecture Design
Video Encoder
-
CNN Backbone中的可学习嵌入(或称为总结token),由\({c_{1:N}}\)表示以捕捉视频中的语义信息
\[x_{1:T} \longleftarrow Backbone(s_{1:T}) \]\[\hat{c}_{1:N} \longleftarrow Transformer([x_{1:T},c_{1:N}]) \]
启发来源:Bert、VIT -
假设目标空间服从高斯分布,使用两个全连接网络\(\mu (.)\)和\(\sigma (.)\)来生成分布的平均值和标准差。训练阶段目标嵌入为\(g_t \sim N(\mu(\hat{c}_t),\sigma (\hat{c}_t))\);推理执行阶段,\(g_t \longleftarrow \mu (\hat{c}_t)\)
启发来源:VAE
Decoder as Policy
由于VPT是基于Transformer-XL,不支持指令输入。因此本文借鉴了Flamingo论文中的想法,将gated cross-attention dense layers插入每一个Transformer-XL block,这样这些层中key和value来自goal embeddings,query由环境状态推出:
其中策略复用videdo encoder提取的视觉嵌入,如\(x^{(0)}_{1:t}=x_{1:t}\),策略包含M个transformer blocks,\(\theta _l\)是第l个block的参数,\(\hat{a}_t\)是预测的action.
由于我们的目标空间包含有关如何完成比以前的语言条件策略更丰富的任务的信息(Cai et al., 2023; Lifshitz et al., 2023),因此交叉注意机制是必要的。它允许G ROO T根据过去的状态从指令信息中查询任务进度,然后执行相应的行为来完成剩余的进度
训练和推理
- 数据集包括Minecraft游玩视频,离线轨迹
- 对于没有标注action的视频,使用Vpt提出的逆动力学模型来估计相应的action
- 最终数据集:\(D={(x_{1:T},a_{1:T})}_M\),其中M代表trajectory的数量
我们以完全自监督的方式训练G ROO T,训练过程可以看作是自我模仿,即使用行为克隆和KL散度损失联合训练GROOT
损失函数:
其中\(\lambda _{BC}\)、\(\lambda _{KL}\)是平衡系数,\(q_{\phi}\)是后验视觉编码器,\(p_{\theta}\)是用于相同架构的先验视觉编码器,\(g \sim q_{\phi} (.|s_{0:T})\)
实验
实验基准
团队提出的Minecraft SkillForge,该benchmark包括了资源收集、生存维持、物品制作、自由探索、工具使用和结构建造6大类别共30个基础任务
以下为部分图片展示:
结构建造:
生存维持:
物品制作:
「挖三填一」是 「我的世界」 中安全度过黑夜的有效方法,它描述了构建一个简易庇护所所需的步骤:垂直向下挖掘 3 个泥土,抬头将 1 个泥土放置在上方做成封闭空间。
「蜘蛛进行搏斗」指玩家需要在保证生存的情况下使用钻石剑击杀尽可能多的蜘蛛。
「收集水草」任务指的是玩家需要跳进海中,潜泳游到海底破坏水草方块。
该评测基准既包含一些常见的任务(如收集木头、羊毛、草),也包含一些十分罕见的任务(如挖三填一、建造雪傀儡、切割石块)。因此该基准可以充分反应模型的泛化能力,对未来 「我的世界」 下多任务智能体的研究也有较大的意义
实验结果
-
天梯系统与人工评测
-
程序性任务评测结果
上右图展示了 GROOT 和基线方法在 9 种代表性任务上的成功率对比。GROOT 除了在所有任务上都取得领先优势之外,也是唯一一个在「装备附魔」、「挖三填一」、「建造雪傀儡」任务上取得非零成功率的智能体。 -
指令空间t-SNE 可视化结果
为了直观了解指令空间的学习情况,研究团队额外展示了训练前后指令空间在 7 种类别任务视频上的编码效果。可以发现,经过自监督训练之后,指令空间的表达能力得到了极大的提升。在没有任何语义标签辅助下,仅通过自监督预训练就可以较好地提取视频中存在的语义信息。 -
组合多个指令解决复杂长期任务
「我的世界」 中存在很多任务需要串行执行多个指令才可以解决,其中最经典的就是「钻石挑战」。钻石稀疏地分布于 「我的世界」 地下 7-12 层的位置。为了方便展现 GROOT 在解决「钻石挑战」上的表现,作者通过给智能体一把铁镐简化了钻石挑战任务,即省略了制作铁镐的过程。现在智能体只需向下挖掘到指定层数,再水平挖掘(可能需要很久)挖到
标签:视频,训练,Watching,任务,Viedos,智能,GROOT,指令 From: https://www.cnblogs.com/FrostDust/p/18675124