又一个AI老大难问题,被DeepMind攻克了:
一只名叫DreamerV3的AI,在啥也不知道的情况下被丢进《我的世界》(MineCraft)里,摸爬滚打17天,还真就学会了如何从0开始挖钻石。
要知道,之前为了攻克这个问题,CMU、微软、DeepMind和OpenAI还联手在NeurIPS上拉了个比赛,叫MineRL。
结果搞了三四年,AI们也没能在不参考人类经验的情况下,完成挖钻石任务。
此前表现最好的VPT选手,为了达成这一成就,可是狂看了70000+小时《我的世界》游戏视频,并且用上了720个V100……
这不DeepMind的最新结果一出,研究人员都开心坏了。
MineRL的发起人之一、前OpenAI研究科学家William Guss就第一时间跑来发表贺电:
今年刚拿到了NeurIPS杰出数据集和基准论文奖的MineDojo作者、英伟达AI科学家范麟熙则表示:
所以,这个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
“