使用ChatGPT和强化学习技术,Plan4MC成功完成24项复杂任务——玩转《我的世界》。
来源:51CTO.COM
时间:2023-05-03 13:35:17 104浏览 收藏
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《使用ChatGPT和强化学习技术,Plan4MC成功完成24项复杂任务——玩转《我的世界》。》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。
在开放式的环境中学习多种任务是通用智能体的重要能力。《我的世界》(Minecraft)作为一款受欢迎的开放世界游戏,具有无限生成的复杂世界和大量开放的任务,成为近几年开放式学习研究的重要测试环境。
学习 Minecraft 中的复杂任务对当前的强化学习算法是巨大的挑战。一方面,智能体在无限大的世界中通过局部的观测寻找资源,面临探索的困难。另一方面,复杂的任务通常需要很长的执行时间,要求完成许多隐含的子任务。例如,制作一把石镐涉及砍树、制作木镐、挖原石等十余个子任务,需要智能体执行数千步才能完成。智能体只有在任务完成时能够获得奖励,难以通过稀疏奖励学会任务。
图:Minecraft 中制作石镐的过程。
目前围绕 MineRL 挖钻石竞赛的研究普遍使用专家演示的数据集,而 VPT 等研究使用大量带标签的数据学习策略。在缺少额外数据集的情况下,用强化学习训练 Minecraft 的任务是非常低效的。MineAgent 使用 PPO 算法仅能完成若干个简单任务;基于模型的 SOTA 方法 Dreamer-v3 在简化环境模拟器的情况下,也需要采样 1000 万步学会获得原石。
北京大学和北京智源人工智能研究院的团队提出了在无专家数据的情况下高效解决 Minecraft 多任务的方法 Plan4MC。作者结合强化学习和规划的方法,将解决复杂任务分解为学习基本技能和技能规划两个部分。作者使用内在奖励的强化学习方法训练三类细粒度的基本技能。智能体使用大型语言模型构建技能关系图,通过图上的搜索得到任务规划。实验部分,Plan4MC 目前可以完成 24 个复杂多样任务,成功率相比所有的基线方法有巨大提升。
- 论文链接:https://arxiv.org/abs/2303.16563
- 代码链接:https://github.com/PKU-RL/Plan4MC
- 项目主页:https://sites.google.com/view/plan4mc
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 人类决策模型。
终于介绍完啦!小伙伴们,这篇关于《使用ChatGPT和强化学习技术,Plan4MC成功完成24项复杂任务——玩转《我的世界》。》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布科技周边相关知识,快来关注吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
319 收藏
-
170 收藏
-
410 收藏
-
470 收藏
-
196 收藏
-
461 收藏
-
382 收藏
-
332 收藏
-
391 收藏
-
345 收藏
-
250 收藏
-
475 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习