为什么《星际争霸》是测试人工智能的理想战场

现实世界充满了复杂的问题。 幻想领域正在训练计算机来解决它们。

Posted in 星际争霸 onDecember 03, 2019

为什么《星际争霸》是测试人工智能的理想战场

谷歌母公司的分支DeepMind在1月份首次推出了一种计算机程序,该程序可以击败世界上最艰难的视频游戏之一中的专业玩家。 《星际争霸》是一部军事科幻小说系列,坐落在充满冲突的宇宙中,在那里,众多对手对峙成为最强大的对手。 DeepMind的名为AlphaStar的程序达到了星际争霸II的最高级别-大师级。根据十月份发表在《自然》杂志上的一项研究,它可以击败99.8%的人类玩家。

《星际争霸》是世界上最受欢迎,最困难的电子运动之一。这种地位刺激了许多代码编写者将其用作人工智能的训练场。也不仅仅是像DeepMind这样的企业研究小组对《星际争霸》进行了测试。业余游戏玩家和学者们也面临着尝试用自动机器人击败人类《星际争霸》玩家的挑战。

但是为什么要《星际争霸》呢?从表面上看,视频游戏具有其幻想对手的标准特征:在世界末日后的世界中进行斗争,一场使自己成为最强大对手的比赛以及一场击败敌人的战斗。但是,与像Halo或Overwatch这样的游戏中一样,玩家无需控制单个第一人称射击游戏代理商,而是管理着建设者,战斗机和防御系统的整个经济体系,这些体系可以共生地运作,以防止他们遭受损失。

尽管在本质上是梦幻般的,但《星际争霸》的多面世界创造了与我们自己相似的复杂性。使用游戏作为培养计算机的孵化器可以帮助研究人员构建具有真实效果的更好的机器人。

小心身后
训练AI算法以赢得对抗人类的游戏已有悠久的历史。甚至在计算机不存在之前,人们就创造了虚幻的“机器人”,可以在象棋等游戏中击败玩家。 1997年,IBM的Deep Blue击败了世界象棋冠军,DeepMind的AlphaZero和AlphaGo等其他强大的计算机算法也效仿了人类棋盘游戏大师。

但是视频游戏将复杂性提升到了新的水平。在《星际争霸》中,玩家作为三种种族之一参加比赛-人族,神族或虫族-每个种族都有各自的优势和劣势。例如,神族是强大的战士,但不会很快产生。另一方面,虫族产生最快,但不是强壮的战士,因此它们的力量是众多的。

除了简单地选择种族优势和劣势之外,您还可以控制多个方面:收集资源的工人,建立防御系统的建造者以及攻击敌人的战士。您必须注意自己的单位,同时确保其他玩家不会利用您的劣势。

研究人员从这些方面研究了某些技术如何导致最有效的游戏玩法。 2011年,纽芬兰纪念大学的计算机科学家大卫·丘吉尔(David Churchill)与他人合着了《星际争霸2》中有关构建顺序的论文,研究了资源构建的优先顺序如何影响游戏的成功。

丘吉尔说,这项研究使我们对算法如何解决模拟环境中的问题有了更清晰的了解。

丘吉尔说:“游戏AI具有一定的吸引力,可以被大众消化。”游戏还提供了一种测试算法“智能”的方法,即算法自动学习,计算和执行命令的能力。

超越董事会
在《星际争霸》问世之前,丘吉尔开始修补旨在打败棋盘游戏的算法。他为博士论文构建的程序旨在赢得Ataxx游戏,这是一个在虚拟板上玩的1990年代街机风格的战略游戏。这是他第一次创建一个程序,可以比他玩的更好。

此后,丘吉尔的研究一直集中在视频游戏AI上,而《星际争霸》一直是最受欢迎的游戏。将棋盘游戏AI与视频游戏AI分开的一个要素看似简单:玩家能够一次看到整个景观。

与Ataxx不同,如果不滚动就无法在StarCraft中看到整个地图,这使您更难注意所有资源。这也使查看敌人的阴谋变得更加困难,或者正如丘吉尔所说的那样,使您陷入“战争迷雾”。

他说:“只有站在敌人旁边,你才知道敌人在做什么。”它更贴近现实生活;在大多数情况下,您对问题的了解都不是无所不知的。

而且跳棋或国际象棋等游戏不是实时发生的-玩家做出举动后,对手就没有时间进行举棋了。但是,正如丘吉尔所说,“在星际争霸中,如果我不射击你,那你就是在射击我。”

他甚至把它比作看似简单的足球。如果您站在场地上,球员将继续踢球,进球将继续得分,比赛将继续进行。 《星际争霸》也是如此-不管您是紧紧维持部队还是积极与敌人作战,无论有没有干预,游戏都会继续进行。

进行诸如《星际争霸》之类的复杂游戏可以帮助科学家训练算法,以在具有许多变量的环境中学习新技能。丘吉尔说,视频游戏可以成为通向教学机器的门户,以更好地进行图像识别,搜索建议或必须帮助人类做出决定的任何算法。

他说:“(游戏中的)复杂性水平开始接近我们在现实世界中看到的水平。”

机器人战场

自2011年以来,丘吉尔每年组织一次国际活动,称为AIIDE星际争霸AI竞赛,游戏发烧友和专业人士齐聚一堂,共同构建和测试游戏算法。其中的一款游戏是《星际争霸》,尽管它们使用《星际争霸:育雏战争》作为测试平台,而不是《星际争霸II》。

丘吉尔说,但是团队为AIIDE建造的机器人不同于AlphaStar之类的项目。其中一些是“真正的AI”,或者是使用神经网络学习模式并基于过去的知识赢得比赛的机器人。其他人则采用更简单的方法,即采用硬编码规则,如果游戏过程中发生某些特定事件,则指示单位以某种方式移动。

每年,组织者都要执行一项规则,即参赛队必须在比赛后开源其代码。这样,竞争对手就可以基于过去的算法来使自己的机器人更强大,更智能,更强大。

丘吉尔说,即使AlphaStar成为头条新闻,比赛也没有进行。在DeepMind团队吹捧该算法的高成功率的同时,投入到项目中的资源量达到了远远超出普通编码人员能力范围的标准。

丘吉尔说:“这是一项艰巨的任务。”仍然存在的挑战表明,更大并不总是更好。

TPU太多?
当AlphaStar首次亮相时,该算法具有超人的能力。它比人类具有某些优势。例如,计算机可以看到其所有可见单位,而不必平移地图来执行命令,并且比专业玩家单击鼠标更精确地完成了动作。

因此,对于《自然》杂志,DeepMind限制了计算机同时控制其单元的能力。从一开始就对程序的速度和功能进行了其他限制,以使其在更接近人类玩家的水平上竞争。但是即使有界限,AlphaStar仍然有能力击败专业人士。

而且该机器背后的力量比以前创建的任何StarCraft机器人都要强大。 DeepMind创建了多个自动化玩家来专门从事某些种族的比赛,并通过让他们观看人类比赛重放44天来对其进行培训。处理能力得到了Google第三代Tensor处理单元(TPU)的支持,TPU是一种强大的芯片,用于其机器学习程序中,用于Google Translate等应用。

由DeepMind设计以打败棋盘游戏Go的算法AlphaGo使用4个TPU。另一方面,AlphaStar使用高达32。

丘吉尔说:“他们创建的是只有DeepMind可以使用的算法。”对他来说,下一个挑战是研究人员缩减游戏算法的规模,以使他们少消耗一些精力,并且工作得更优雅。

与一对一的战斗相反,团队游戏也可能给无人机器人带来新的挑战。随着算法继续与人类玩家紧密结合,人类和AI有时可能会在同一团队中比赛。

但是就目前而言,像《星际争霸》这样的游戏将继续致力于研究机器学习如何很好地解决复杂问题。对于丘吉尔而言,幻想与现实世界几乎是无法区分的。

丘吉尔说:“所有这些利弊各有优缺点。每个人都有他们想要最大化的东西...您正在玩最大化数字的游戏。这就是我们在游戏中所做的。”

编者注:该故事已从较早的版本进行了更新,以更正AIIDE Starcraft AI大会的名称并阐明DeepMind程序员赋予AlphaStar的功能。

星际争霸 相关文章推荐
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
Jan 18 星际争霸
十大“创意”战术!
Mar 04 星际争霸
星际玩家的三大定律
Mar 04 星际争霸
单位速度在实战中的运用
Mar 04 星际争霸
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
Mar 08 星际争霸
神族 PROTOSS 概述
Mar 14 星际争霸
神族 Protoss 历史背景
Mar 14 星际争霸
虫族 Zerg 魔法科技
Mar 14 星际争霸
虫族 Zerg 历史背景
Mar 14 星际争霸
人族 TERRAN 概述
Mar 14 星际争霸
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
Apr 01 星际争霸
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
Apr 01 星际争霸
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
饭制《星际争霸》Mod:优化游戏机制 增加新单位
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
玩家交还《星际争霸》原始码光盘 暴雪报以厚礼
造势之举?韩国总统候选人发布《星际争霸》地图
《星际争霸》各版本雷兽特点图文解析 雷兽不同形态一览
《星际争霸重制版》兵种对比图鉴
You might like
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
Javascript自定义排序 node运行 实例
2013/06/05 Javascript
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
jQuery简单实现网页选项卡特效
2014/11/24 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
2017/08/16 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
2020/12/23 Javascript
python encode和decode的妙用
2009/09/02 Python
Python多线程爬虫简单示例
2016/03/04 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
python with语句的原理与用法详解
2020/03/30 Python
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
退休感言
2014/01/28 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
财产公证书
2014/04/10 职场文书
小学生学习保证书
2015/02/26 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL