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

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

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的功能。

星际争霸 相关文章推荐
星际争霸, 教主第一视角, ZvT经典龙蛇演义
Mar 02 星际争霸
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
Jan 18 星际争霸
常用星际术语索引(新手指南)
Mar 04 星际争霸
星际争霸秘籍
Mar 04 星际争霸
星际RPG字典
Mar 04 星际争霸
星际流派综述
Mar 04 星际争霸
农民C键的运用技巧
Mar 04 星际争霸
Terran剧情介绍
Mar 14 星际争霸
合作指挥官:孟斯克
Mar 16 星际争霸
星际争霸:毕姥爷vs解冻03
Apr 01 星际争霸
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
Apr 01 星际争霸
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
饭制《星际争霸》Mod:优化游戏机制 增加新单位
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
玩家交还《星际争霸》原始码光盘 暴雪报以厚礼
造势之举?韩国总统候选人发布《星际争霸》地图
《星际争霸》各版本雷兽特点图文解析 雷兽不同形态一览
《星际争霸重制版》兵种对比图鉴
You might like
yii2超好用的日期组件和时间组件
2016/05/05 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
PHP echo()函数讲解
2019/02/15 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
Jquery作者John Resig自己封装的javascript 常用函数
2009/11/09 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
基于node+vue实现简单的WebSocket聊天功能
2020/02/01 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
如何使用Python调整图像大小
2020/09/26 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
js实现弹框效果
2021/03/24 Javascript
大二学生学习个人自我评价
2014/01/19 职场文书
退休感言
2014/01/28 职场文书
班级道德讲堂实施方案
2014/02/24 职场文书
有创意的广告词
2014/03/18 职场文书
教师节宣传方案
2014/05/23 职场文书
企业口号大全
2014/06/12 职场文书
赔偿协议书范本
2014/09/12 职场文书
民主生活会发言材料
2014/10/20 职场文书
新郎答谢词
2015/01/04 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
2019年最新借条范本!
2019/07/08 职场文书