Voyager闯入游戏,AI玩家震惊人类!

534 阅读5分钟

最近,英伟达首席科学家Jim Fan等人把GPT-4整进了「我的世界」(Minecraft)——提出了一个全新的AI智能体Voyager。

详细的技术介绍可以参考:这篇公众号文章

阅读完文章了解了技术后,发到朋友圈,有些朋友告诉我“看不懂,但是感觉很厉害。”

虽然整篇文章没有太难的技术细节,但是对于不了解技术的人确实不好搞懂发生了什么,那今天我就以AI的视角来书写一下发生了什么。(ps.处于可读性考虑,本文所有AI的想法均进行了人工夸张化描写,也就是说AI只是执行命令)

我们先声明两个AI玩家, 小明:用传统的强化学习和模仿学习训练出来的AI玩家; mmexport1685348186680.png Voyager:用最新的gpt技术训练出来的AI玩家。 mmexport1685348379000.png

现在进入游戏,出生在森林。

小明:呀,这个场景好熟悉,这不是我爸爸(工程师)天天带我玩的地方嘛。(也就是说森林这个场景作为过小明的训练数据)

Voyager:没来过,不了解,但是可以根据我已有的世界观和技能树先分析一下。(预训练中没有森林这种具体场景的训练集,但是有关于它的世界观,了解很多大概的知识)

小明:我记得森林的某个角落有个快熄灭的篝火堆,可以生火。

Voyager:周围有堆树枝,可以烤火。先试一下。(这里Voyager实际上是通过代码编写一个“生火”程序)不行,分析后是因为没有打火石,寻找打火石,再度尝试。(这里通过错误反馈,AI重新通过代码编写“生火2.0”程序)。

小明:生完了火,不知道要干嘛了,坐着吧。(由于缺乏驱动机制,不会主动探索)

Voyager:已经生完火了,我的目标是尽量探索这个世界,收集物品,那现在就去探索一下这个世界。(通过prompt的目标来自我驱动探索世界)

ps.橙色的是Voyager探索的区域,其他颜色是其他训练结果的AI探索区域,差距还是相当大的

---来到新世界--- 这次是沙漠

小明:完蛋了呀,没来过这里,等死了…(训练集没有包括相关场景,在测试集表现效果差)

Voyager:没来过,但是没关系,我先探索一下周围。(泛化能力好,可以结合实际场景进行分析)

小明:这周围怎么没有树枝啊,怎么生火啊,摆烂了…

Voyager:这里是沙漠,通过已有的世界观分析,沙漠优先考虑收集沙子和仙人掌,优先考虑的是如何找水源而不是生火。(通过预训练的世界观,结合实际场景进行分析,并提出合理任务)

通过以上例子就可以很清晰了解到gpt驱动的ai比往常强太多了 它和人类玩家有类似的特点:

  1. 根据其当前的技能水平和世界状态提出适当的任务,例如,如果它发现自己是在沙漠而不是森林中,就会在学习收集铁之前学习收集沙子和仙人掌

  2. 基于环境反馈来完善技能,并将掌握的技能记入记忆,以便在类似情况下重复使用(例如,与僵尸战斗与与蜘蛛战斗类似)

  3. 持续探索世界,以自我驱动的方式寻找新的任务。

几个可能的疑问:

1.为什么Voyager可以找到新的任务。 在开放模式下会遇到各种不同复杂程度的目标环境。自动课程这个组件为开放式探索提供了许多好处,实现了具有挑战性但可管理的学习过程,培养了好奇心驱动的内在动机。

自动课程组件利用互联网规模的知识,通过促使 GPT-4 提供源源不断的新任务或挑战,提供非常强大的适应性和响应能力。自动课程会根据探索进度和智能体的状态使探索最大化。该课程由 GPT-4 基于「发现尽可能多的不同事物」的总体目标生成。

2.为什么Voyager能够感知周围的环境 目前是通过Mineflayer的API进行感知,即对周围环境进行文本观察。作者也说未来会提供更多的多模态感知。

3.Voyager能不能积攒经验? 可以。 随着自动课程不断提出越来越复杂的任务,VOYAGER 需要有一个技能库,作为学习和进化的基础。受程序的通用性、可解释性和普遍性的启发,研究团队用可执行代码表示每项技能,这些代码支持临时扩展,以完成自动课程提出的特定任务。

具体来说,技能库的顶部用于添加新技能。每个技能都通过其描述的嵌入进行索引,将来可以在类似情况下检索到。

技能库的底部是技能检索。当自动课程提出新任务时,技能库会执行查询以确定最相关的 5 项技能。复杂的技能可以通过编写更简单的程序来合成。这种做法让 VOYAGER 的能力随着时间的推移迅速增强,并缓解了「灾难性遗忘」问题。

目前开发者提出还有更多可以优化的地方,让我们拭目以待,未来的AI玩家掀起惊涛骇浪。

,本文收集资料+创作共计2小时左右,如果对你有启发有收获,还请多多点赞和关注呀。

注:本文部分内容来自互联网。