乾明 岳排槐 发自 凹非寺
量子位 出品
要出大事了。
刚刚,DeepMind和暴雪联合宣布,北京时间周五凌晨2点,公开展示AI打《星际争霸II》(下称星际2)的新进展!
届时,将会在星际的Twitch频道和DeepMind的Youtube频道进行直播。
DeepMind CEO哈萨比斯说,星际2是一款复杂的实时战略游戏,对AI来说是一个长期的巨大挑战。我们将展示我们的进步!你肯定不想错过直播! :-)
消息一经放出,便在推特上引发了近千条转发,以及激烈的讨论。
不少网友都纷纷表示,要看!哪怕是上了一天班之后,熬夜也要看!绝对不容错过。
甚至在Reddit论坛上给自己设提醒:两天后提醒我!42小时后提醒我!
更有网友当场“深情表白”:当DeepMind宣布他们开始打星际的时候,我也开始玩了,只是为了更好地欣赏这种深奥的技术。
在一些人看来,这是一个时代的结束。最初,它们是为了我们的象棋&围棋,现在是为了我们的星际争霸。
怎样迎接这样的一个时代?有人说自己已经感觉到恐惧了。也有人为DeepMind的发展制定了规划:第一步,精通星际;第二步,精通魔兽世界;第三步,精通企业战略咨询。
也不乏有好事者评论道,它跟OpenAI打Dota的AI相比怎么样?放一起“干架”肯定很精彩。
好事者问道:2019年DeepMInd和OpenAI会来一场吗?
不过,也有一些网友不服,表示如果DeepMind能够打赢职业选手,当场吃鞋!还引发了其他网友的附和。
还有专业的网友,在猜测DeepMind攻克星际2究竟用了什么技术。大家也可以一起来猜一猜,下面是他列出的选项:
PPO?
蒙特卡洛树搜索?
生成模型?
分布式强化学习?
明确层级强化学习(Explicit Hierarchical RL)?
用RNN搞定长距离依赖?
上面这些混合一下?
AI打星际2难在哪里
2016年11月暴雪嘉年华上,DeepMind工程师宣布了训练AI打星际2的计划。算起来到现在已经两年多了。
DeepMind与暴雪合作的目标之一,就是开发一套足够好的人工智能系统,使之可以击败星际2人类选手。就像AlphaGo击败李世乭、柯洁一样。
然而,最终的目标是将其中使用的技术应用到现实世界,而不是让它始终停留在游戏里面。
“我们正在试图理解人类以及我们大脑的工作方式。”暴雪首席软件工程师Jacob Repp此前说,“如果我们能够得到这种高质量的数据流——人类玩游戏时的原始输入以及由此产生的结果——那就能成为研究人们行为的有用数据。”
对人工智能研究人员来说,星际2是个颇为有趣的挑战。
与国际象棋或围棋不同,星际玩家面对的是不完美信息博弈。“战争迷雾”意味着玩家的规划、决策、行动,要一段时间后才能看到结果。
DeepMind团队负责人Oriol Vinyals说,在星际2里一个玩家可能看到对手的侦察兵,然后又消失在视野中。对人工智能来说,记住他们遇到的东西,并且理解这可能表明敌人正在某个地方修建基地,这种记忆不仅需要保存,还要在未来针对某个信息调取出来。
“在星际2中,这非常重要,但却很微妙,可以将未来与过去联系起来。”他说,“很难建立因果关系,因为游戏中会发生很多事情。”
连著名的AlphaGo“人肉臂”黄士杰,也已经转到星际2的项目中。很多人认为在即时战略游戏中,AI的反应速度会成为极大的优势,但事实并非如此。
黄士杰此前解释称,围棋只有361个落子点,对AI来说全部游戏内容都是可见的。但星际2游戏有大量全黑的地图,玩家需要探索地图以及侦查对手动向,才能制定相应的策略。
几乎每次鼠标移动,都能视为一次落子。这种不确定性让星际2对AI来说,难度比围棋要高很多。
这有一段6分钟的视频,配好了中文字幕,能更直观一点的解释AI打星际2到底是怎么回事。
其中重点提到了AI打星际的三大难题:
1、不完美信息博弈
2、需要同时控制上百个单位
3、最难的是,需要制定长期策略
星际2的AI大战进展
为了教AI打星际2,暴雪和DeepMind在2017年8月,发布了星际2中加速AI研究的工具SC2LE。GitHub的传送门在这里:https://github.com/Blizzard/s2client-proto
工具包推出同时,他们还开源了一套星际2的迷你游戏,是星际2部分操作的抽象产物,AI能从中练习移动、采矿、建造单位等等技能。
到2018年6月,DeepMInd终于宣布,用关系性深度强化学习搞定了这些小游戏,在六个小游戏中达到了当前最优水平,其中4个还超过了大师级人类玩家。
想更深入了解可以阅读这篇论文:
Relational Deep Reinforcement Learning
https://arxiv.org/abs/1806.01830
不过,在星际2上有野心的不止DeepMind。
去年9月,腾讯AI Lab发布论文称,他们构建的AI首次在完整的虫族VS虫族比赛中击败了星际2的内置机器人Bot。虽然不是严格意义上的“自学”,AI还高度依赖人为归纳的信息,但迄今为止,这是我们在星际2项目上见到的最有建树的成果之一。
腾讯实际上开发了两个AI,基于扁平化动作结构的深度强化学习智能体TStarBots1,和基于分层动作结构规则控制器的智能体TStarBots2。
这两个AI都能在完整对战中击败等级1~10的游戏内置机器人(1v1虫族对抗,地图:深海暗礁),其中等级8、等级9和等级10的机器人都是作弊级AI,它们享有额外的视野和晶体矿、气矿资源。
TStarBots1拥有一系列扁平化的大型操作,在这个基础上,它用强化学习训练智能体采取策略;而TStarBots2的操作控制也是人为编码的,但它有可以自行组合的大型、小型混合层次化操作集。
另外去年11月,塔尔图大学也开源发布了星际2深度强化学习(DRL)智能体Reaver。这种模块化的框架主要用于训练星际2的各种任务,提供比大多数开源解决方案更快的单机环境并行化能力。
Reaver可适应多种环境,除了用于星际2的SC2LE外,还支持其他强化学习任务上常用的Gym、Atari和Mujoco。它用简单的Keras模型来定义神经网络,配置和共享配置也非常方便。
最重要的是,Reaver的训练规模亲民到爆炸。在普通的4核CPU的笔记本电脑上,每秒采样率可以达到5K,10秒内就能学会那个立杆子的游戏CartPole-0。
实际上,还有一批人在研究如何用AI攻克星际(不是星际2)。
如果你感兴趣,可以看看我们此前的报道,这里不赘述了。
最后,附上直播地址,别忘了定闹钟哦~
Twitch上的星际频道:
https://www.twitch.tv/starcraft
DeepMind的YouTube:
https://www.youtube.com/c/deepmind
作者系网易新闻·网易号“各有态度”签约作者
— 完 —