在《我的世界》里挖钻石把 ai 难哭了,deepmind 最新算法终于扳回颜面 -j9九游会登陆入口

  • 2023-01-23 13:13

又一个 ai 老大难问题,被 deepmind 攻克了:

一只名叫 dreamerv3 的 ai,在啥也不知道的情况下被丢进《我的世界》(minecraft)里,摸爬滚打 17 天,还真就学会了如何从 0 开始挖钻石。

就是从撸树开始的那种

要知道,之前为了攻克这个问题,cmu、微软、deepmind 和 openai 还联手在 neurips 上拉了个比赛,叫 minerl。

结果搞了三四年,ai 们也没能在不参考人类经验的情况下,完成挖钻石任务。

此前表现最好的 vpt 选手,为了达成这一成就,可是狂看了 70000 小时《我的世界》游戏视频,并且用上了 720 个 v100……

这不 deepmind 的最新结果一出,研究人员都开心坏了。

minerl 的发起人之一、前 openai 研究科学家 william guss 就第一时间跑来发表贺电:

4 年了,“钻石挑战”终于被攻克了!

今年刚拿到了 neurips 杰出数据集和基准论文奖的 minedojo 作者、英伟达 ai 科学家范麟熙则表示:

ai 玩转 minecraft 背后,有个莫拉维克悖论:一些任务对于人类而言很困难(比如围棋),但对 ai 来说很简单。但像 minecraft 这样人类高玩无数的游戏,情况却相反。

dreamerv3 能在没有任何人工数据辅助的情况下收集钻石,这让我感到非常兴奋。

如何做到

所以,这个 0 基础挖钻石任务,到底有啥难点?

首先,在《我的世界》里,初始世界是完全随机生成的。

即使是人类玩家,想要快速挖到钻石,也得有相当丰富的经验。比如,知道怎么推算钻石的位置、掌握一些挖掘窍门(如鱼骨挖矿法)等。

排除掉经验的因素,对于 ai 来说,这个挖钻石的过程也挺复杂,至少得要 7 个步骤

第一步,玩家在空手进入《我的世界》中时,需要先撸树来获取木块:

第二步,得用木块用来合成工作台:

第三步,在工作台上合成木镐,用来挖圆石:

第四步,获得圆石之后,需要合成一个石镐,用来快速挖铁矿:

第五步,为了将铁矿合成铁锭,还需要做一个熔炉来烧铁:

第六步,合成铁镐,用来挖钻石:

第七步,寻找钻石,然后用铁镐挖出钻石:

p.s. 有玩家测试过,在 ai 知道钻石等各种资源坐标的情况下(开外挂),也需要 2-3 分钟才能搞定。

这也就意味着,ai 必须在有限时间里,做出大量决策。

那么既然不能参考人类高手的经验,自然就需要强化学习(reinforcement learning)出马。

具体而言,deepmind 的研究人员提出了一种基于世界模型的通用算法

在整体架构上,dreamerv3 由 3 个神经网络组成:世界模型、评委(critic)和演员(actor)。

世界模型要做的,是把环境输入编码为离散的表征,并通过预测来指导下一步要执行的操作。

而评委和演员则会根据抽象出来的表征进行学习。其中,评委网络会输出一个标量值来代表行动价值,从而帮助演员网络选择最优的行动。

这里面的一个核心点在于,deepmind 的研究人员希望 dreamerv3 不仅仅能处理同类型的问题,还可以用固定超参数,掌握跨领域任务

因此,研究人员需要系统地解决世界模型、评委和演员等各个组件中信号大小不同,以及稳定平衡目标的问题。

研究人员发现:

以前的世界模型,需要根据复杂 3d 环境的视觉输入,对表征损失进行不同的缩放,在训练过程中还得调整不少超参数,但这里面其实有许多没必要的细节。

而如果把自由比特(free bits)和 kl 平衡(kl balancing)结合起来,就可以在不调整超参数的情况下让 dreamerv3 在不同领域中学习。

kl 平衡是上一代 dreamerv2 中提出的一项新技术。能够使预测向表征移动的速度比表征向预测移动的速度更快,带来更精确的预测。

自由比特避免了简单环境下的过度拟合。

dreamerv3 的三大块都用上了固定超参数,具体如下:

实验结果

也就是说,dreamerv3 如今成了世界上第一个纯靠自己摸索,就能在《我的世界》里速挖钻石的 ai。

并且 dreamerv3 的本事可不只是玩 mc。

在另外 7 项基准测试中,dreamerv3 都取得了成功,并且在 bsuite、crafter 上达到了 sota。

值得一提的是,在这些任务中,训练智能体所用到的 gpu 资源都仅为 1 块 v100。研究人员表示,这意味着有更多的实验室能跑得动这一模型。

另外,在需要时空推理的三维空间中,dreamerv3 也能快速进行学习。

在 deepmind 为强化学习专门打造的 3d 平台 dmlab 上,dreamerv3 在任务中使用的交互次数仅为 impala 的 1/130。

目前,dreamerv3 的代码是 coming soon 的状态。

感兴趣的小伙伴可以蹲一波~

参考链接:

  • [1]https://danijar.com/project/dreamerv3/

  • [2]https://twitter.com/deepmind/status/1613159943040811010

本文来自微信公众号:,作者:鱼羊 alex

文章价值:分
人打分
有价值还可以无价值
置顶评论
热门评论
全部评论
一大波评论正在路上
取消发送
软媒旗下人气应用

如点击保存海报无效,请长按图片进行保存分享

网站地图