本文转自“腾讯AI实验室”
本文将介绍「绝悟」AI夺冠NeurIPS MineRL竞赛的详细技术方案。
《Minecraft》(中文译名《我的世界》) 是全球最知名的开放世界游戏。小朋友只需观看十分钟的教学视频,就能学会在游戏中寻找稀有的钻石——而这是AI无法企及的高度。随机生成的开放地图、自由灵活的玩法、多线程长链条任务,给AI研究带来了极大挑战。
针对Minecraft的复杂环境,卡内基·梅隆大学、微软、DeepMind、OpenAI,联合机器学习顶级会议NeurIPS共同举办了MineRL (Sample Efficient RL Competition) 赛事,邀请全球程序员在4天时间内用一台计算机训练AI找到游戏中的钻石,今年已是第三个年头。
这一极富挑战性的赛题持续吸引全球开发者关注。今年赛事共有59支团队、近500名选手投身其中,其中不乏世界顶级学府和研究机构的科研强队。竞赛的研究主题是:训练样本高效的Minecraft AI智能体。
12月8日,第三届MineRL竞赛主赛道 (research track) 发布成绩,AI 的“钻石之梦”向前踏进了一大步:腾讯AI Lab研发的“绝悟”AI以76.970分的绝对优势夺冠。研究成果已发布在Arxiv上,算法框架可复用于其他复杂决策环境。
论文地址:https://arxiv.org/abs/2112.04907
因在比赛中展示出极强的性能,绝悟团队被特邀参加微软2021研究者峰会,让人类玩家与绝悟AI在MineCraft世界中共同交互,吸引了大量参会者关注。
“绝悟”以压倒性优势获得历史最高分。完整榜单详见:
https://www.aicrowd.com/challenges/neurips-2021-minerl-diamond-competition/leaderboards
“绝悟”由腾讯AI Lab研发,先后于2019年达到王者荣耀职业电竞水平,于2020年获得Kaggle足球AI竞赛冠军,2021年掌握王者荣耀全英雄,同时攻克FPS、RTS等类型游戏,并将其能力应用于游戏研发及运营环节。如今它又再探索开放世界游戏,证明其在充满不确定性的复杂环境中游刃有余,未来应用于现实环境中,也能在多种环境中与人类更好地交互。
赛题解析:10分钟内完成复杂决策
在MineRL竞赛中,与每个真人玩家一样,AI 会从《我的世界》游戏里一个随机世界的随机位置出生,从没有任何工具的初始状态开始,完成一系列任务,最终找到钻石。
这个任务听上去清晰明了,却难倒了无数挑战者。官方基于成熟算法的baseline只能获得2分——让AI徒手采集原木并合成出第一块木板,这离获得钻石还有非常远的距离。
具体来说,这个挑战主要有三个难点:
首先,是极度多样的环境。不同于绝悟先前学习的游戏,MineCraft最大的难度就在于3D的开放世界。游戏没有固定的地图,完全靠随机种子生成;树木、铁矿、钻石等资源的刷新位置也没有固定的规律。因此,AI见到的每一局游戏都是崭新的。它不能死记硬背,而要从64×64像素的“高糊视角”中真正理解这个无限开放的世界。
赛事游戏环境截图,分辨率 64×64
其次,是长决策序列与复杂的技能。为了在10分钟游戏时间内拿到钻石,AI 需要厘清最高效的行动顺序,并抓紧时间掌握多个技能。
首先,它需要徒手采集原木,合成木板、木棍与木镐等初级工具,以及用于照亮地底的火把;在矿井和山洞里探索过程中,它需要采集到铁矿,并且学会熔炼、用提前准备好的熔炉与燃料打造挖钻石的高级工具。万事俱备后,AI才能深入地底、寻找钻石。在这个过程中,AI还要同时避免落入岩浆或悬崖、并与不期而遇的怪物战斗。
从木头到钻石,要经过12道流程
最后,是由高自由度玩法带来的海量策略偏好。赛事主办方收集了玩家的近6000万个动作样本,提供了约1000小时的行为记录,供AI学习模仿。但这些样本来自不同玩家,策略差异极大。比如为了获取钻石,有人喜欢矿洞探险,有人选择向下掘地三尺,甚至还有人直接洗劫村庄房屋里的物品箱。从如此复杂多样的数据中学习、并最终形成自己的一套策略,这对于AI无疑是极大的挑战。
除了以上难点,竞赛方还制定了严苛的规则,给AI的挑战“雪上加霜”。
为了将目光聚焦于算法本身,主办方禁止参赛者编写规则、也禁止AI利用任何游戏知识。不仅如此,游戏环境甚至将背包信息与动作空间加密——AI无法直接感知包里有几颗原木、也无法直接指定下一帧动作的含义。因此,人类“教练”们只能为AI搭一个框架,让它从零开始,在玩家视频与自身探索中逐渐变强。
挖钻石的全流程,后半程要深入黑暗的地下
此外,主办方不允许玩家自定义奖励函数,研究人员必须迎难而上、正面突破。从零开始完全采用强化学习的方式来训练MineCraft AI相当困难,与MOBA游戏中不断有经济、血量、经验等实时信号不同,MineRL竞赛的奖励信号非常稀疏,只有第一次获得每种关键物品才会产生reward,这种稀疏性也一直是强化学习的主要难题。
算力方面,规则同样做了严格限制。赛事不允许使用预训练模型,每个参赛队伍只能使用 6 核 CPU 与半张 NVIDIA K80 显卡训练 4 天——这个配置是几乎所有高校实验室与个人研究者都可以负担的。
这次比赛的目的在于促进样本高效 (high sample-efficiency) 游戏AI算法的发展。目前流行的强化学习算法一般需要多达成百上千万次的试错来寻找最优流程,耗费大量的时间和计算资源。而纯靠人类数据的模仿学习算法虽然更快,但性能上往往不尽如人意。如何将两种方法的优势结合、又快又好地完成任务,也是赛题的另一个目标所在。
方案解析
为了解决如此复杂的问题,“绝悟”团队通过分层强化学习(Hierarchical Reinforcement Learning)、表示学习(Representation)、自模仿学习(Self-imitation learning)、集成行为克隆(Ensemble Behavior Cloning)等四项关键技术,实现了优于其他竞争队伍的效果。
- 分层强化学习 Hierarchical Reinforcement Learning
首先,为了尽可能提高样本利用率与训练效率,智能体的框架采用了分层强化学习 (Hierarcichal RL)。由于数据处理阶段禁止引入MineCraft游戏的先验知识,研究人员实现了一套自动的数据切分算法,先基于reward delay切分子阶段,再利用统计数据确定各阶段边界。在游戏推进中,上层控制器会实时选定一个子策略,由该策略与环境交互。
分层强化学习结构
数据分析表明,上层控制器的预测准确率可以达到99.95%,也就是说,AI从人类数据中学到了一套几乎永不出错的宏观策略,每时每刻都清晰地知道自己下一步的正确动向。
- 表示学习 Representation Learning
在状态空间表征上,MineCraft游戏遇到的最大挑战在于如何表征复杂且多样的3D开放式地图。
首先被选中的是近年来热门的表示学习方法 (representation learning)。但研究人员很快发现,已有方法只适用于2D场景,在MineCraft游戏环境里效果很差。于是他们设计了一种“基于动作感知”的新颖算法,用来捕捉每个动作对环境产生的影响,形成注意力机制。这种方法可以显著减小状态空间,提升学习效率。
实验表明,这种算法可以显著提升智能体获得资源的能力与效率。
左图执行“攻击”动作后会变为右图。此时模型只会关注红框区域
不同动作的可视化结果,AI学会了关注当前图像中的关键区域
- 自模仿学习 Self-imitation Learning
随着游戏进程推进,智能体与人类的策略出现了很大的分歧。此时,人类数据已经很难用于指导AI。因此,如何从极有限的交互次数中学到一个优秀的策略成为了新的难题。为此,绝悟使用了自模仿学习 (self-imitation learning)的思想。通过基于鉴别器的自模仿算法,智能体可以从自身过往的成功与失败中获得经验与教训,并在察觉到当前状况不妙的时候,主动往更好的方向修正。
对比实验证明,在加入自模仿策略后,智能体探索到的行为更加一致,也可以显著降低进入危险区域的概率。
相比于PPO和SIL,DSIL可以更高效地捕捉到历史的成功策略,从而降低不必要的探索
表示学习与自模仿学习流程
- 集成行为克隆 Ensemble Behavior Cloning
对于合成物品等需要长链条的动作序列,研究人员也做了细致的优化。通过动作序列一致性过滤 (consistency filtering) 与基于投票的集成学习 (ensemble learning),模型在合成物品阶段的成功率从35%提升到96%,一举将最薄弱的链条扭转为了最稳定的制胜点。
效果演示:流畅砍下原木
赛事之外:离复杂的现实世界更近一步
近年,越来越多AI研究团队将目光投向电子游戏,利用高度复杂、高度定制化的游戏场景,为AI提供实验场景和成长驱动力。业界期望通过越来越复杂的游戏训练,AI最终能够解决现实生活中的问题。
作为AI游戏研究先行者,腾讯 AI Lab 的深度强化学习智能体正不断走近现实。棋牌游戏 AI “绝艺”从围棋棋盘逐步走向象棋、麻将,“绝悟”从MOBA走向FPS、RTS、再到如今的3D开放世界MineCraft。它们迈向全新挑战的每一步,都让AI离解决现实问题、科技向善的大目标更近了一步。
随着虚实集成世界逐步变成现实,这些研究的经验、方法与结论,将在真实世界创造更大的实用价值。