用ChatGPT和强化学习玩转《我的世界》,Plan4MC攻克24个复杂任务

简介: 用ChatGPT和强化学习玩转《我的世界》,Plan4MC攻克24个复杂任务


机器之心编辑部

Plan4MC 目前可以完成 24 个复杂多样任务,成功率相比所有的基线方法有巨大提升。

在开放式的环境中学习多种任务是通用智能体的重要能力。《我的世界》(Minecraft)作为一款受欢迎的开放世界游戏,具有无限生成的复杂世界和大量开放的任务,成为近几年开放式学习研究的重要测试环境。

学习 Minecraft 中的复杂任务对当前的强化学习算法是巨大的挑战。一方面,智能体在无限大的世界中通过局部的观测寻找资源,面临探索的困难。另一方面,复杂的任务通常需要很长的执行时间,要求完成许多隐含的子任务。例如,制作一把石镐涉及砍树、制作木镐、挖原石等十余个子任务,需要智能体执行数千步才能完成。智能体只有在任务完成时能够获得奖励,难以通过稀疏奖励学会任务。 

图:Minecraft 中制作石镐的过程。

目前围绕 MineRL 挖钻石竞赛的研究普遍使用专家演示的数据集,而 VPT 等研究使用大量带标签的数据学习策略。在缺少额外数据集的情况下,用强化学习训练 Minecraft 的任务是非常低效的。MineAgent 使用 PPO 算法仅能完成若干个简单任务;基于模型的 SOTA 方法 Dreamer-v3 在简化环境模拟器的情况下,也需要采样 1000 万步学会获得原石。

北京大学和北京智源人工智能研究院的团队提出了在无专家数据的情况下高效解决 Minecraft 多任务的方法 Plan4MC。作者结合强化学习和规划的方法,将解决复杂任务分解为学习基本技能和技能规划两个部分。作者使用内在奖励的强化学习方法训练三类细粒度的基本技能。智能体使用大型语言模型构建技能关系图,通过图上的搜索得到任务规划。实验部分,Plan4MC 目前可以完成 24 个复杂多样任务,成功率相比所有的基线方法有巨大提升。




1、Minecraft 多任务
Minecraft 中玩家通过探索能够获得数百种物品。任务定义为初始条件和目标物品的组合,例如,“初始化


工作台,获得熟牛肉”。解决这个任务包含 “获得牛肉”、“用工作台和原石制作熔炉” 等步骤,这些细分的步骤称为技能。人类在世界中掌握和组合此类技能来完成各种任务,而不是独立地学习每个任务。Plan4MC 的目标是学习策略掌握大量的技能,再通过规划将技能组合成任务。

作者在 MineDojo 模拟器上构建了 24 个测试任务,它们涵盖了多种行为(砍树、挖原石、与动物交互)、多种地形,涉及 37 个基本技能。需要数十步的技能组合和数千步的环境交互来完成各个任务。 

图:24 个任务的设置

2、Plan4MC 方法

 学习技能
由于强化学习在训练中难以让玩家大范围跑动探索世界,许多技能仍不能被掌握。作者提出将探索和寻找的步骤分离出来,将 “砍树” 技能进一步细化为 “找树” 和 “获得木头”。Minecraft 中的所有技能被分为三类细粒度的基本技能:

  • 寻找:给定目标物品,玩家要在世界中探索,找到和接近该物品。
  • 操作:利用现有的工具在附近完成一些任务,如放置工作台、与动物交互、挖方块。
  • 合成:用低级物品合成高级物品。


针对每一类技能,作者设计了强化学习模型和内在奖励进行高效的学习。寻找类技能使用分层的策略,其中上层策略负责给出目标位置、增大探索范围,下层策略负责到达目标位置。操作类技能使用 PPO 算法结合 MineCLIP 模型的内在奖励训练。合成类技能仅使用一个动作完成。在未修改难度的 MineDojo 模拟器上,学习全部技能仅需与环境交互 6.5M 步。 

规划算法
Plan4MC 利用技能之间的依赖关系进行规划,例如获得石镐与获得原石、木棍、放置的工作台等技能间存在如下关系。

 作者通过与大语言模型 ChatGPT 进行交互的方式生成出所有技能之间的关系,构建了技能的有向无环图。规划算法是技能图上的深度优先搜索,如下图所示。

相比 Inner Monologue、DEPS 等与大语言模型交互式规划的方法,Plan4MC 能够有效避免大语言模型规划过程中的错误。

3、实验结果 


在关于学习技能的研究中,作者引入了不做任务分解的 MineAgent,以及不细分出寻找类技能的消融实验 Plan4MC w/o Find-skill。表 2 表明,Plan4MC 在三组任务上均显著超过基线方法。MineAgent 在挤牛奶、剪羊毛等简单任务上性能接近 Plan4MC,但无法完成探索困难的砍树、挖原石等任务。不做技能细分的方法在所有任务上成功率均低于 Plan4MC。

 图 3 显示了在完成任务的过程中,各方法在寻找目标的阶段均有较大的失败概率、导致成功率曲线下降。而不做技能细分的方法在这些阶段的失败概率明显高于 Plan4MC 的概率。


在关于规划的研究中,作者引入了利用ChatGPT做交互式规划的基线方法Interactive LLM,以及两个消融实验:技能执行失败时不再重新规划的Zero-shot方法和使用一半最大交互步数的1/2-steps方法。表2表明Interactive LLM在与动物交互的任务集上表现接近Plan4MC,而在另两个需要更多规划步骤的任务集上表现不佳。Zero-shot的方法在所有任务上均表现较差。使用一半步数的方法相比Plan4MC成功率下降不多,表面Plan4MC能用较少的步数高效完成任务。

4、总结
作者提出了 Plan4MC,使用强化学习和规划解决 Minecraft 中的多任务。为解决探索困难和样本效率的问题,作者使用内在奖励的强化学习训练基本技能,利用大语言模型构建技能图进行任务规划。作者在大量困难 Minecraft 任务上验证了 Plan4MC 相较包括 ChatGPT 等的各种基线方法的优势。

结束语:强化学习技能 + 大语言模型 + 任务规划有可能实现 Daniel Kahneman 所描述的 System1/2 人类决策模型。

相关文章
|
12月前
|
人工智能 自然语言处理 语音技术
ChatGPT充当大脑,指挥AudioGPT解决语音、音乐、音效等任务
ChatGPT充当大脑,指挥AudioGPT解决语音、音乐、音效等任务
|
12月前
|
人工智能 自然语言处理 安全
多个ChatGPT合作完成指定任务,迷你AGI控制世界要来了?(2)
多个ChatGPT合作完成指定任务,迷你AGI控制世界要来了?
|
12月前
|
人工智能 监控 机器人
多个ChatGPT合作完成指定任务,迷你AGI控制世界要来了?(1)
多个ChatGPT合作完成指定任务,迷你AGI控制世界要来了?
134 0
|
12月前
|
编解码 人工智能 自然语言处理
微软多模态ChatGPT来了?16亿参数搞定看图答题、智商测验等任务
微软多模态ChatGPT来了?16亿参数搞定看图答题、智商测验等任务
119 0
|
存储 人工智能 机器人
任务拆解,悠然自得,自动版本的ChatGPT,AutoGPT自动人工智能AI任务实践(Python3.10)
当我们使用ChatGPT完成某些工作的时候,往往需要多轮对话,比如让ChatGPT分析、翻译、总结一篇网上的文章或者文档,再将总结的结果以文本的形式存储在本地。过程中免不了要和ChatGPT“折冲樽俎”一番,事实上,这个“交涉”的过程也可以自动化,AutoGPT可以帮助我们自动拆解任务,没错,程序能做到的事情,人类绝不亲力亲为。 我们唯一需要做的,就是告诉AutoGPT一个任务目标,AutoGPT会自动根据任务目标将任务拆解成一个个的小任务,并且逐个完成,简单且高效。
|
1月前
|
人工智能 IDE Linux
chatgpt的ai编程工具
该内容是关于两个chatgpt的ai编程工具的安装和使用说明。Copilot的下载步骤包括在IDE的设置中搜索并安装插件,然后重启IDE并登录GitHub账户。使用时,通过写注释触发建议,用快捷键选择建议。启用或禁用Copilot可通过底部状态图标。另一个工具是Alibaba Cloud AI Coding Assistant (Cosy),同样在IDE的插件市场下载安装后重启。其详细使用方法建议参考官网。
31 0
|
2月前
|
人工智能 算法 异构计算
ChatGPT一年电费2亿元,AI咋这么费电?
【2月更文挑战第24天】ChatGPT一年电费2亿元,AI咋这么费电?
44 1
ChatGPT一年电费2亿元,AI咋这么费电?
|
3月前
|
人工智能 机器人 Go
飞书+ChatGPT搭建智能AI助手,无公网ip实现公网访问飞书聊天界面
飞书+ChatGPT搭建智能AI助手,无公网ip实现公网访问飞书聊天界面
159 0
|
4天前
|
机器学习/深度学习 人工智能 大数据
AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀
AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
AI超级个体:ChatGPT与AIGC实战指南
AI超级个体:ChatGPT与AIGC实战指南