《我的世界》中挖钻石有多难:NeurIPS 挑战赛没有一个 AI 能在 15 分钟内完成

从 0 开始在《我的世界》 (MineCraft)中挖出一块钻石,需要多长时间?对于熟悉游戏的玩家

从 0 开始在《我的世界》 (MineCraft)中挖出一块钻石,需要多长时间?对于熟悉游戏的玩家来说,可能只需要几分钟的时间:▲ 图源 Youtube@ItzJhief然而对于 AI 来说,15 分钟内可能都挖不出 1 块钻石!为了发掘 AI 的潜力,CMU、微软、DeepMind 和 OpenAI 联手在顶会 NeurIPS 上举办了一个名叫 MineRL 的竞赛,要求参赛队伍在 4 天时间内,训练出一个能在 15 分钟内挖出钻石的 AI“矿工”。从往届表现来看,冠军连 40 分都拿不到,甚至举办方给出的 AI Baselines 只能达到 2 分左右的水准(满分 100 分)。今年,腾讯的绝悟 AI 却以 76.97 分的绝对优势一举夺魁,成功成为挑战赛历史上“挖矿最迅速”的 AI。(不过,这几届的所有 AI,都没能达成 15min 内挖出钻石这一挑战)▲红色为绝悟 AI 分数腾讯 AI Lab 是怎么拿到冠军的?“AI 矿工”为何难以挖出钻石?之所以 AI 难以在竞赛中迅速挖出钻石,主要有两方面的原因。一方面,《我的世界》游戏本身对 AI 有难度。作为开放世界游戏,它的初始世界完全随机生成,而迅速合成钻石又需要比较复杂的步骤:既不能只用一种工具,也不能“一挖到底”。通常来说,从 0 开始挖钻石最快的方法,分为 7 个步骤。第一步,玩家在空手进入《我的世界》中时,需要先找到树上的木头,用来获取木块:第二步,将这些木块用来合成工作台:第三步,在工作台上合成木镐,用来挖原石:第四步,获得原石之后,需要合成一个石镐,用来快速挖铁矿:第五步,为了将铁矿合成铁锭,还需要做一个熔炉来烧铁:第六步,合成铁镐,用来挖出钻石:第七步,寻找钻石,并用铁镐来挖出最终的钻石:看到这里,就知道挖矿对于 AI 来说,已经很复杂了,不仅面临大量决策,还需要考虑时间问题。另一方面,为了增加难度,举办方还特意给“AI 矿工”们增加了不少限制。禁止参赛者编写规则、游戏环境将背包信息与动作空间加密、不允许使用预训练模型、AI 与环境交互不超过 800 万次、只能使用 6 核 CPU + 半张 NVIDIA K80 显卡训练 4 天……当然,这样做是为了让各大高校的学生也有能力参与这次挑战赛,不至于出现硬件上“军备竞赛”的问题。面对来自游戏和举办方的“挑战”,腾讯的绝悟 AI 是如何成为一名优秀矿工的?如何让 AI 更快地挖矿?首先,是整体训练策略的问题。要想让 AI 在短时间、少算力的情况下变得会挖矿,首先就要改变训练策略。这种情况下,不可能再用强化学习对 AI 进行整体训练。因此,腾讯 AI Lab 将强化学习进行了“升级”,提出了一种基于分层强化学习 (Hierarchical Reinforcement Learning)的方法。简单来说,就是将挖出钻石的过程像人一样分成几个具体的步骤,每个步骤都有一个“小目标”,让 AI 在完成一个目标后,能迅速地实施下一个目标。然后,就是三个细节上的问题了。其一,开放地图的理解问题。由于表示学习在《我的世界》这样的 3D 场景中效果很差,腾讯 AI Lab 设计了一种基于动作感知的算法,来捕捉每个动作对环境的影响。这种方法快速地提升了 AI 在开放世界中获取资源的速度。其二,策略选择问题。在游戏进行到一定阶段后,AI 与人的思路会发生一些差异,仅凭人类数据训练,对 AI 的提升作用有限。为此,腾讯 AI Lab 采用了自模仿学习的算法,从自己的实践中获得教训和经验,来降低进入危险区域、做出错误决策的概率。其三,合成物品问题。合成物品对于人类来说非常简单,然而 AI 却总是不容易合成它,成功率一开始甚至只有 35% 左右。为此,腾讯 AI Lab 采用了动作序列一致性过滤(Consistency Filtering)+ 基于投票的集成学习(Ensemble Learning)方法,最终将合成物品的成功率提升到 96%。最终在评分中,绝悟 AI 的分数达到了 76.97 分。事实上,在游戏 AI 上一路向前的“绝悟”,已经历了数次进化。从最初攻克 Atari 游戏开始,到后来的棋牌游戏 AI“绝艺”,掌握一手围棋、象棋、麻将的绝活。再到现在的策略协作型 AI“绝悟”,从 MOBA、FPS 再到开放世界游戏《我的世界》,这个基于强化学习训练的智能体正在变得愈发复杂。这次的《我的世界》版绝悟 AI 论文也已经放出,感兴趣的小伙伴可以冲了~《我的世界》版绝悟 AI 论文地址:https://arxiv.org/abs/2112.04907参考链接:[1]https://www.youtube.com/watch?v=CnKJgA93hyY[2]https://www.aicrowd.com/challenges/neurips-2021-minerl-diamond-competition#team[3]https://www.aicrowd.com/challenges/neurips-2021-minerl-diamond-competition/leaderboards?challenge_round_id=956

作者: 萧箫

为您推荐

返回顶部