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

070473a438d0fd269b2faaed61c75ae7.gif

©作者 | 机器之心编辑部

来源 | 机器之心

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

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

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

2284264a584ca0b3360c42608fe6d9ec.png

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

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

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

323b39ced95c0146a5253abb0e4e2b59.png

论文链接:

https://arxiv.org/abs/2303.16563

代码链接:

https://github.com/PKU-RL/Plan4MC

项目主页:

https://sites.google.com/view/plan4mc


b83c13a43ee756f4cee6c05c8ced71e4.gif

5f03ecb48b6910f772297a61a5298234.png

Minecraft 多任务

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

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

1deb95ddb26068217a9c831a9fcc75fc.png

▲ 图:24 个任务的设置

6c1b066e972d0e7f05c734c2e367468f.png

Plan4MC 方法

67df3a61403119ebd0e51cfa9f5924d2.png

学习技能

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

  • 寻找:给定目标物品,玩家要在世界中探索,找到和接近该物品。

  • 操作:利用现有的工具在附近完成一些任务,如放置工作台、与动物交互、挖方块。

  • 合成:用低级物品合成高级物品。

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

a1fe606528882c254091cc758fe68b4b.png

规划算法

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

537206bcac39cc4c6e2856163ecf034e.png

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

b131b5e2544f0c4d3a1cc7c2f57607d1.png

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

5b727100eddedbaa7c289fdf8b35b6c4.png

实验结果

13ade3fddb05c71cfb630efb7006c278.png

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

7e3deb3d9693a48bf66144921751bee4.png

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

229b1f88bd33de8a32ba43332c24d4d5.png

在关于规划的研究中,作者引入了利用 ChatGPT 做交互式规划的基线方法Interactive LLM,以及两个消融实验:技能执行失败时不再重新规划的 Zero-shot 方法和使用一半最大交互步数的 1/2-steps 方法。

表 2 表明 Interactive LLM 在与动物交互的任务集上表现接近 Plan4MC,而在另两个需要更多规划步骤的任务集上表现不佳。Zero-shot 的方法在所有任务上均表现较差。使用一半步数的方法相比 Plan4MC 成功率下降不多,表面 Plan4MC 能用较少的步数高效完成任务。

50095f451d6c0fdfc316b7760ffb0071.png

总结

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

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

更多阅读

f3018b772efd6c9b6e836a8ccf95b58c.png

1fb2f817e7761532a4c52a39c21a2561.png

28809327b07c8d11bd902ae11b5703a7.png

653b1d71252ac26bfdc5d379dbc501f7.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

87ec5f01153b39ce0d66cf1a23887017.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

c87a44ee06d6de11b27a5e489f04e028.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21077.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

加工中心CNC编程G代码讲解

加工中心CNC编程G代码讲解 1.功能及目的 依据G02/G03之圆弧补间指令以及平面选择G指令(G17,G18,G19),在选择平面内,可以一边做圆弧补间,一边做第3轴的直线补间。一般而言,螺旋补间的速度被指定为包含第3轴补间成分的切线速度F,如图中的上图所示 无论如何,当圆弧平面…

加工中心计算机编程自学,如何快速学习数控加工中心编程

如何快速学习数控加工中心编程 2018-01-30 | 作者:成海加工中心 何为加工中心的数控编程?通俗来说,编程就是加工中心通过数控系统对设备输入命令,让机床按照您的意思完成工件加工。在整个数控加工过程中编程必不可少,也…

28个数控编程代码大全,众多程序员呕心沥血的私货

28个数控编程代码大全,众多程序员呕心沥血的私货

数控铣床编程实例教程

实例一:毛坯为70㎜70㎜18㎜板材,六面已粗加工过,要求数控铣出如图3-23所示的槽,工件资料为45钢。 1.依据图样要求、毛坯及前道工序加工状况,确认工艺方案及加工道路 1)以已加工过的底面为定位…

掌握了这30个机床编程实例,秒变数控编程高手!

部分案例展示 精车上图所示的零件 工件的加工顺序为: (1) 用 3 号刀切削工件的外轮廓自右向左加工,其加工路线为:倒角>车Φ24mm 外圆> 车锥面Φ车Φ45mm 外圆>车 R55mm 圆弧>车Φ40mm 外圆>车 R44mm 圆弧>车 R20mn 圆…

带你快速入门数控编程

控加工程序编制就是将加工零件的工艺进程、工艺参数、工件尺度、刀具位移的方向及其它辅佐动作(如换刀、冷却、工件的装卸等)按运动次第依照编程格式用指令代码编写程序单的进程。所编写的程序单即加工程序单。 1、机床坐标系和运动方向的承认 机床的直…

数控g71编程实例带图_数控车床g71怎么编程?请举个例子谢谢了

展开全部 数控车床g71格式为: G71U_ R_ G71P_ Q_ U_ W_ F_ 参数说明 第一行 : U 表示背吃刀量(半径值)32313133353236313431303231363533e59b9ee7ad9431333366303761 R 表示退刀量 第二行 : P表示精加工轨迹中第一个程序段号 Q表示精加工轨迹…

数控NC编程

常用字符 O:程序号 N:断号 G:准备功能 M:辅助功能 T:刀具功能 XYZ:坐标 F:进给速度功能 S:主轴转动功能 H:刀具长度补偿号 D:刀具半径补偿号…

数控机床CNC编程入门【G-code】

如果你的工作或爱好与数控机床(CNC)或 3D 打印机相关,那么了解 G -code是什么以及其工作原理对于你就很重要。在此教程中,我们将学习 G -code语言的基础知识以及常见的 G-code命令,并且解释这些G-code命令的工作原理。…

chatgpt赋能python:用Python轻松转换人民币和美元

用Python轻松转换人民币和美元 作为一名有10年Python编程经验的工程师,我可以告诉你,Python是一种非常强大的编程语言,可以用来完成各种任务,包括转换货币类型。在今天的文章中,我将向您展示如何使用Python来轻松地将…

chatgpt赋能python:使用Python进行人民币兑换-带着您深入了解

使用Python进行人民币兑换 - 带着您深入了解 在当今日益全球化的世界里,进行货币兑换已成为很正常的事情。人民币是世界上最常用的货币之一,而Python作为一种强大的编程语言,可以帮助我们进行人民币兑换计算。本文将介绍如何使用Python进行人…

OpenAI放出了ChatGPT API,成本直降

3月2日凌晨,OpenAI放出了真正的ChatGPT API,不是背后的GPT-3.5大模型,是ChatGPT的本体模型!ChatGPT API价格为1k tokens/$0.002,等于每输出100万个单词,价格才2.7美金(约18元人民币)…

学成在线--课程发布模块

完整版请移步至我的个人博客查看:https://cyborg2077.github.io/ 学成在线–项目环境搭建 学成在线–内容管理模块 学成在线–媒资管理模块 学成在线–课程发布模块 学成在线–认证授权模块 学成在线–选课学习模块 学成在线–项目优化 Git仓库:…

游戏革命2023:AIGC拯救游戏厂商

文明史即工具史,纵观人类社会的演化,每一次的加速迭代,都有赖于关键性的技术突破。 前有蒸汽机到电力普及的生产力大爆发,以及计算机、互联网的诞生打开新世界,如今AIGC将再次推动先进技术工具的变革。 随着ChatGPT的…

ChatGPT ,从入门到精通 18 [提示词入门]

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 今天讲讲提示词(Prompt) 的基础知识。 建议小伙伴按下面我们的举例,一步步找感觉。 一、提示词的作用? 同样是对…

这是我认为目前ChatGPT最最最牛的prompt!

(本文阅读时间:4分钟) 这是国外的一个GPT玩家写的,整个指令的名称叫GigaGuider。 这个prompt的好处目前有几点: 输出的内容上: 充满丰富细节和步骤指导的详细、适用的建议。这些建议不仅具有启发性&#xf…

chatgpt赋能python:Python免费软件:提高工作效率的首选

Python免费软件:提高工作效率的首选 Python作为一种易于上手的编程语言,在业界广为流传。而随着Python的发展,也催生了相应的一些免费软件,这些软件能够让用户更好地利用Python编程语言,提高工作效率,创造…

chatgpt赋能python:PythonWb——一款高效的网络编程框架

Python Wb——一款高效的网络编程框架 在当今互联网时代,快速高效的网络编程越发重要。Python Wb作为一款高效的网络编程框架,在市场上拥有着广泛的用户群体和使用场景。本文将重点介绍Python Wb的优点和应用场景,以及如何运用Python Wb进行…

chatgpt赋能python:Python主机为什么是SEO的最佳选择

Python主机为什么是SEO的最佳选择 在当今的数字世界中,SEO策略对于成功的商业营销至关重要。然而,大多数人往往忽略了选择一个优质的主机对于他们网站的SEO表现带来的影响。在选择一个主机和平台时,Python主机是一个SEO方面的最佳选择。 什…

chatgpt赋能python:Python做数值模拟:优秀的理工科工具

Python做数值模拟:优秀的理工科工具 Python是一种解释性的高级编程语言,由于它的易读性和易学性,使得它成为了科学计算领域中的一个极为强大的工具,特别在数值模拟方面。由于Python的开源特性,为整个科学计算领域提供…