本文发布于 DeepTech 深科技(微信公众号:mit-tr),转载已获得作者授权。
2018 年 1 月 28 日,一位来自谷歌 DeepMind 的科学家在 DT 君主办的 EmTech China 峰会的圆桌讨论环节中透露,基于《星际争霸 2》搭建的 AI 学习环境竟可以被拓展至其他领域,不仅限于其他电子游戏,甚至是无人驾驶和人脸识别。
(Oriol Vinyals 在演讲)
这位科学家正是 Oriol Vinyals,他曾于 2016 年入选麻省理工科技评论 35 岁以下年度创新 35 人,即 TR 35。当然,Oriol 也是《星际争霸 2》AI 学习环境,SC2LE 的开发者。
什么是 SC2LE?
第一篇关于 SC2LE 的论文于 2017 年 8 月发布,该论文讲述了基于《星际争霸 2》的学习环境,AI 如何通过这款游戏去训练自身,最终达到和玩家持平,甚至超越职业选手的水平。
(SC2LE 运行原理)
Oriol 表示,这款游戏对于 DeepMind,或者对于 AI 来说,是一个训练空间,或者可以说是媒介。任何 AI 算法都需要媒介,越真实越好。
谈话间,他在现场播放了两段没有经过真实训练的 AI 机器人运动视频,结果发现,这些机器人只要碰到一些小小的阻碍就会立刻摔倒,还有可能导致系统崩溃。
随后,他又为观众展示了两个虚拟角色跑步的模型,并解释道:“虽然这个训练环境是虚拟的,但它非常真实,包括了所有现实中的物理规则。因此,即使没有经过实际测试,然而其结果也比刚才那则演示更有意义。”
(职业玩家)
实际上,《星际争霸 2》则能很好的提供这样一个环境。Oriol 以游戏中最基本的单位 “SCV” 来举例,一个 “SCV” 可能有四种操作方式:采集资源、建造建筑、侦查、扩张。
然而,仅仅这四种操作方式就包含了无数的变化。Oriol 指出,AI 想要控制一个 SCV,需要先给予控制台一个选中它的指令,再点选目的地。不过,光进行这个操作还不够,还需要另一个控制台同时负责键盘的模拟,才能让一个 SCV 完成动作。
与此同时,Oriol 展示了一位专业玩家的视频。职业玩家快速地敲击键盘,画面来回切换。Oriol 赞叹道,这种游戏模式 “就像表演乐器” 一样。
然而,突然他打断了演示,并告诉在场观众:“这仅仅是 SCV 的操作而已,而《星际争霸 2》中,每个种族都有十余种单位,他们的功能不同、能执行的指令不同。”
Oriol 停顿了一下,他说道:“人类玩家在弹指间所执行的操作,对于 SC2LE 来说要分成两块并且执行很多部,非常繁琐。然而,整场游戏看下来,人类玩家平均要进行 5000 次这样的操作。”
(?DeepMind 创造《星际争霸 2》学习环境)
这也就意味着,若 AI 想要战胜人类,那么它每执行一步策略,就要考虑数千步策略。不过,也正是这种近乎无限的变化空间,给了 DeepMind 一个更好的环境,因为真实的环境要比这复杂许多倍。
基于《星际争霸 2》,但是这并不只是游戏 AI
在圆桌讨论环节,有嘉宾提出,围绕该学习环境最多的问题,莫过于它有什么用处了?Oriol 听到这个问题后笑了笑,说这其实是他走到哪都会被问到的问题。
他表示,《星际争霸 2》是个电子游戏,它终究会被淘汰,这在所难免,但基于这款游戏的学习环境给了 DeepMind 一个适用面更广且可拓展的框架和算法,让开发者可以在别的问题上,用已有的方式来思考解决办法,使其事半功倍。
“同时,这对于我们(DeepMind)来说也是一个能力的训练。《星际争霸 2》的环境非常复杂,一个人类玩家可以轻松解决的问题,对于 AI 来说可能需要调用一整个数据中心的资源才能解决问题,这不是我们想看到的。所以,我们学会了分解问题,把《星际争霸 2》分解为了许多小块,比如刚才说到的,我们通过 60 x 40 的单元格去训练 AI,而不是通过全局游戏去让 AI 理解这个问题。”
(Linux 上的 SC2LE 只有 60 x 40 的单元格,右边则是基于这些单元格的评价)
事实上,一张《星际争霸 2》的地图可能包含了数十万个单元格,但 DeepMind 把这些单元格分解成了许多相同或者相似的小单元格去思考问题。最终简化了步骤,降低了资源的消耗。
也正是因此,Oriol 才在圆桌环节表示,即使《星际争霸 2》因为时间的变迁而衰落,但这个学习环境的架构和理念,可以使其变成其他平台的 AI 技术。不只是游戏,还包括了无人驾驶、人脸识别等等。
AI 能否通过《星际争霸》战胜人类?
自从柯洁和李世石纷纷输给 AlphaGo 之后,人们更关心这样一个问题,“AI 可以打败人类吗?” 尤其是对于谷歌的 AI。
2016 年 10 月的暴雪 Bliizcon 2016 上,DeepMind 宣布和暴雪共同以《星际争霸 2》作为研究环境,来释放 AI 技术的潜能。前者称,游戏是完美的环境之一,使该企业能够快速有效地开发和测试 AI,以此提高算法的灵活性,最终通过游戏分数(胜负)来提供即时反馈。
2017 年 10 月,在第十三届人工智能和交互数字娱乐大会(Conference on Artificial Intelligence and Interactive Digital Entertainment 简称 AIIDE’17)上,社会各界的 AI 研究者们纷纷带着他们的《星际争霸》AI 来参加比赛。其中,使用异虫种族的 ZZZKbot 以 2465 胜 501 负的战绩拿下了冠军。
然而,就在这场比赛的十几天后,韩国上演了一场《星际争霸》人机大战。韩国前职业选手 stork 以 4:0 的巨大优势碾压了 ZZZKbot、TSCMO、MJ 这三个世界上水平最高的《星际争霸》AI。即使这场比赛对于 AI 领域来说,意义非常重大,但一些专业的《星际争霸》选手认为,这场比赛并不好看,因为整个游戏的节奏完全倒向了 stork,AI 毫无取胜的可能性。
(?轻松赢得胜利的 Stork)
AI 在《星际争霸 2》上面临的挑战有增无减,但是对于 Oriol 来说无疑是个特大喜讯。他曾这样评价过基于《星际争霸 2》的学习环境,“这是一个多人互动的多主体(指玩家、单位、建筑)环境,由于地图上的『战争迷雾』,AI 和玩家所获得的信息是不完整的。
《星际争霸 2》不仅有数百个单位的控制空间,还能提供一个从原始特征(画面、缩略地图)获得信息的平面空间。再加上资源分配(水晶和气矿),因此 AI 每做出一步动作,就要思考数千步战略。”
Oriol 在演讲中指出,即使评价系统已经给现在的 SC2LE 做出极高的评价,但是和职业人类玩家相比,简直是小儿科。不过他倒是很开心,因为只有挑战才能给予 DeepMind 前进的动力,也只有战胜问题,才能赋予 AI 更强的能力。
同时,Oriol 指出,AI 存在很大的成长空间。他以 AlphaGo 为例,该 AI 在对战李世石时的能力是对战柯洁时的三分之一。换句话说,短短几个月,AlphaGo 就成长了三倍之多。或许,真的会有一天,SC2LE 会轻松击败职业玩家,正如今天我们轻松击败他们一样。
一切从《星际争霸 2》开始,功在当下,利在千秋
要知道比起 AI,Oriol 更喜欢的是《星际争霸》。他从 15 岁就开始接触这款游戏,更是借助它在西班牙创出了一些名堂。事实上,公开资料显示,Oriol 曾在微软就职,并从事《星际争霸》对战 AI 的开发。用于在玩家无法寻找到对手时,替代人类对手与玩家交战。
也许,正是这件事情给了 Oriol 灵感。他在圆桌讨论时指出,《星际争霸 2》可以用来训练 AI,那么 AI 是否可以训练玩家如何玩《星际争霸 2》呢?以 AlphaGo 为例,它通过对抗,创造了自己的独特的战术,而这个战术可以被人类选手拿来应用于其它棋局。
(Oriol 正在讨论)
《星际争霸 2》相较于围棋来说拥有更多的地图、更多的可能性,SC2LE 极有可能创造出独特的战术。那么,把这种战术用于训练人类玩家,尤其是零基础的玩家,可能会比让新手自己体验游戏高一些。
实际上,时间沉淀技术,《星际争霸 2》这款诞生于过去的游戏,结合当下火热的 AI 技术,二者所塑造的无疑会是未来更自动化的生活。
Oriol 指出,DeepMind 所做的事情是建立平台。 他认为,这就和科学家不能左右他们的研究成果一样,SC2LE 会面向更多的开发者和《星际争霸 2》玩家。Oriol 非常愿意开源这些平台,这是因为他认为 AI 需要创新者,他们能够让 AI 实现更多的功能。
Oriol 所描绘的画面,正是今后的 AI 社会。虽然不知道何时才能到来,但是功在当下,利在千秋。
题图来自《星际争霸 2》