[新闻] 暴雪开源接口 AlphaGo能否用于星海争霸

楼主: qweewqq (風一樣的男子)   2017-08-25 13:47:26
Deepmind暴雪开源接口 AlphaGo能否用于星海争霸
来源:观察者网 专栏作者:陈经
  早在2016年3月AlphaGo挑战围棋成功之后,就传出Deepmind下一步计画是在星海争霸
上打败人类。
  人工智能开发者研究算法很喜欢用电脑游戏。一是研究目标清楚,游戏目标定义得
很完善,科研有时最重要的是提出问题。二是最近流行的深度学习需要极多的训练样本,
人类的线上高水准比赛很多能够提供足够的样本。三是问题足够难,进展如何通过人机对
战、线上测试一清二楚,而不是研究者自说自话。
  围棋是“完全资讯博弈”(局面摆明,理论上有确定结论)游戏里最复杂的一个,又
很有艺术性。在围棋上战胜人类,就实现了Deepmind负责人哈萨比斯的说法,机器自我对
弈不断自我学习的方法可以解决一切基于推理的棋类游戏。
  这个自学习的框架,能否在“非完全资讯博弈”上打败人类,令人非常有兴趣,同时
又极有学术价值。星海争霸是一个很合适的测试物件。星海争霸最常见的是两个玩家对战
,各自从一个基地开始发展,没有兵力在附近就看不见对方的动作,对方在干什么自己不
知道,因此是“非完全资讯博弈”。
  1998年暴雪公司推出的星海争霸,经过数次升级到“母巢之战”版本,终于成为一款
平衡性极好的即时战略游戏,人族、神族、虫族三家兵种与科技特色极为鲜明。在不少玩
家的心中,星海争霸具有独特的地位,对战起来战略非常复杂,而且富于变化经常有创新

  韩国人在曹熏铉与李昌镐称霸世界棋坛后掀起了围棋热潮,会下围棋的人比例极高。
同样,韩国人也非常热爱星海争霸,将它变成了一项“国技”,创立了职业联赛,出现了
许多高水准的职业选手,在WCG(世界电子竞技大赛)上多年来一直是垄断地位,竞技水
准比其它国家选手高出一大截。
  韩国选手发明了很多新战术,如“拖把流”、“宇宙天空流”、“神教流”,不断将
星海争霸游戏水准推向新的高峰。玩家们普遍认为,历史最强选手应该是人称“教主”的
人族选手李永浩(网名Flash)。因为Flash的统治力,玩家们认为虽然星海争霸已经很平
衡,但在顶尖水准人族应该稍有优势,神族最吃亏。
 星海争霸有个很大的问题,操作实在是太复杂。除了复杂的对战策略,职业选手们还得
有象抽风一样的手速,APM(每分钟操作)经常上400。对战双方一边要采矿挖气开分基地
发展经济、科技、兵工厂,还得去多线作战,作战时微操很重要。虫族的“拖把流”就是
说前方打得再激烈,还得抽空在后方不断增补农民挖矿发展,这样虫族利用出兵快兵力前
仆后继的优势,弥补了单兵战力的不足,“补农”做的不好的对手后期就败下阵来。
  这样发展下去,身体反应的对抗越来越激烈。韩国职业选手基本都非常年轻,手速反
应跟不上就被淘汰,而且有可能产生职业病。开发商暴雪公司2010年推出了操作简单一些
的星海争霸2,2016年韩国星海争霸1联赛停办,可能都与此有关。
  能够说明星海争霸复杂性的,除了多线操作,还有“侦察”。有一定水准的玩家都会
在很早就从本方基地派出一个农民去探路寻找对方基地(虫族还会让漂浮的房子去碰运气
),跑到对方基地侦察对方的发展动向。如果发展方向被针对了,失败可能就非常大了。
  例如对方在发展空中力量,自己却没有作好防空准备;或者对方放弃经济短期堆积兵
力猛扑过来,自己却农民过多兵力不足防御工事不够,钱多还被打死。侦察经常有运气因
素,如猜错探路方向,很长时间才找到对方基地,反应时间不足吃了亏。所以即使强如教
主,胜率也只有70%。
  通过以上描述,我们能感觉到星海争霸从AI研发角度看,是一个比围棋复杂得多的游
戏。围棋就是去推理出胜率高的选点,而星海争霸要决定很多的行动策略,科技与经济发
展方向、侦察之后针锋相对、战斗的方向与时机、作战单元的微操。
  例如高水准选手都会hit and run(打了就跑)的骚扰战术,甚至上升到战略层面,
如人族的雷车提速骚扰,如何应对很烦人。除了“资讯不完全”这个特性,星海争霸的博
弈决策种类也特别多。而各类决策的影响也长短不一,有的决策要过很长时间才能体现重
要性,水准不高的甚至看不懂。同时,与围棋AI相比,星海争霸的AI具有更高的实用价值
,如果开发成功,军事指挥等决策事务引入人工智能就是很快的事了。
  正因为如此,星海争霸职业选手对AlphaGo征服围棋后转向星海并不服气,职业解说
黄旭东在2016年3月与古力九段发生争执。围棋的推理深度极深,电脑算法能解决围棋
非常令人震惊了。
  特别是AlphaGo取得突破后短短一年多就迅速战胜李世石、柯洁等所有人类最顶尖选
手,这个发展速度让人印象深刻。AlphaGo的算法原理能不能用在星海争霸上让AI的竞
技能力取得突破,并不容易回答。
  2017年8月10日,Deepmind与暴雪公布了星海争霸2的AI开发接口,合作发了论文《星
海争霸2:对强化学习新的挑战》,对这个问题作出了初步的探索。可以看出来,星海争
霸的复杂度可能超过了Deepmind的想像,他们的进展并不太大。这也部分揭示了,
Deepmind发明的“让机器自己玩游戏不断进步”的流水线开发方法存在一定局限性。同时
,这并不是说人工智能就对星海争霸没有办法了,更厉害的学习框架也许可以开发出来,
Deepmind与暴雪为此准备了完善的研发环境,意义很大。
  Deepmind让AlphaGo不断自我对弈提高棋力,既不去主动写代码告诉机器怎么下棋,
也不去干预机器的自我学习过程。主要的开发就是设计好各类机器学习的过程,找到新的
训练方法提升效率,这是一个很高明的选择。
  AlphaGo算法负责人席尔瓦说,人类棋谱的作用,就是提供一个初始的棋力,之后
就再没有人类棋谱输入了,AlphaGo学习自己的棋谱提升棋力。而腾讯的绝艺开发方法不
太一样,具备了很高棋力以后积极地与顶尖棋手不断实战测试,发现问题后针对棋谱改代
码调试升级。
  绝艺的开发方法多少有些急功近利,近期显得无法突破瓶颈,在2017年8月16、17日
的首届中信证券杯智慧围棋赛中先后负于台湾的CGI与日本的DeepZenGo,出乎预料地连决
赛都没有进。
  绝艺的失利有偶然性,CGI与DeepZenGo也不是太稳定,夺冠的DeepZenGo预赛中输给
了绝艺。这说明高水准围棋AI的开发并不简单,容易进入瓶颈,棋界都在等AlphaGo的新
论文公布。
  因为这个思想,Deepmind坚持让机器自我学习不断打星海争霸去提升实力,认为这种
方法潜力更大。主动去程式设计让AI具备相当的实力,这样前期进展快,但提升潜力不大
。机器的学习有两种,一种是从0知识开始,一种是参考人类的比赛录影。这两种办法,
Deepmind都在星海争霸2上进行了实践,那么结果如何?
  从0知识开始让AI自我学习是Deepmind的拿手好戏。在开发AlphaGo之前,Deepmind就
有一篇2015年的《自然》文章《Human-level control through deep reinforcement
learning》,描述如何在“打砖块”等Atari开发的经典小游戏中,从0知识开始自我学习
达到超过人类的游戏水准。
  开发人员负责给AI定好神经网络结构,AI通过海量试玩,分析游戏结果(如分数)改
变神经网络系数提高分数回报。可以猜测,Deepmind希望用海量的自我对战,引导星海争
霸AI的神经网络结构去自己发展出越来越复杂的战略与战术,甚至与人类玩家抗衡。
  Deepmind也这样对星海争霸2建立了几种神经网络架构,一种训练是用比赛胜负结果
作为“回报”去调整网络系数,另一种是用比赛过程中报告的分数(如钱数、农民数、兵
的个数)作为回报。训练的对手是暴雪内置的AI,这种AI是用主动程式设计的方法做出来
的,前期如何发展,什么时候对玩家发动一波进攻都是写好的。它的目的是让玩家学习操
作,玩得开心,不是为了搞出厉害的AI展示算法能力。
  暴雪的内置AI有十个级别,最厉害的三个是作弊的,AI能得到额外的资源和视野,
Deepmind用的是最容易的那个级别。比赛是人族对人族,如果30分钟没有打完,就是和局

  结果是令人崩溃的!Deepmind训练出来的神经网络没有一局能打胜,甚至没有一个能
打得象回事。表现“最好”的一种神经网络,它“学会”了将人族建筑飘到空中游动躲避
攻击(但就没法搞生产了),然后生存大于30分钟拖成和局。如果是用过程中的分数作为
训练目标(它和比赛胜负是有关联的),这些神经网络们不约而同收敛到了一个策略:让
农民拼命采矿,其它什么也不干,对手来了就任人宰杀。
  暴雪的内置AI是很差的,有些玩家声称能一家打六七个AI,因为AI的策略太简单。这
个结果等于是说,Deepmind并没有做出有操作意义的AI,而是将以前机器从0知识开始不
断试玩Atari小游戏的成功方法跑了一下。结论是,星海争霸远比小游戏复杂,过去的神
经网络结构和训练方法是远远不够的。由于外界对Deepmind的预期很高,这次它报告的结
果可能会让人意想不到,虽然Deepmind自己说这不令人意外。
  为了探索神经网络自学习框架对星海争霸的作用,Deepmind还设计了七个迷你游戏,
等于是相当于Atari小游戏难度的子任务。这七个迷你游戏跑出了一些有意义的结果。
作者: kevin860320 (安安)   2017-08-25 14:02:00
推 讲的好详细
作者: abc0922001 (中士abc)   2017-08-25 14:34:00
给AI玩星海大师
作者: shasen1235 (Ssin)   2017-08-25 15:11:00
敢与老仙争执,古力和俨然已是一具尸体(茶
作者: jyunwei (jyunwei)   2017-08-25 15:30:00
好文
作者: kuoll (kuoll)   2017-08-25 15:42:00
这篇比较清楚Deepmind的实力到底在哪里
作者: win4104 (BB)   2017-08-25 16:10:00
这篇讲了个重要资讯 Deepmind的星海AI APM限制是180
作者: z1288 (阿邦)   2017-08-25 16:55:00
重点是电脑自己会开图阿...已经是作弊了很难设定战争迷雾未开的防御跟攻击阿...
作者: win4104 (BB)   2017-08-25 17:02:00
电脑什么时候开图了?
作者: kira925 (1 2 3 4 疾风炭)   2017-08-25 17:09:00
SC没有 其他AI会
作者: jyunwei (jyunwei)   2017-08-25 17:33:00
都已经第N篇讨论,内文也说那么清楚了,还在开图作弊
作者: Sechslee (キタ━━(゚∀゚)━━!!)   2017-08-25 17:41:00
推推
作者: warex14 (航)   2017-08-25 18:00:00
这篇真的很清楚,推啊!
作者: monkjohnny (Why so serious.)   2017-08-25 18:28:00
APM 180,至少打到钻石到大师不是问题,可是现在应该是连铜牌都很困难......
作者: win4104 (BB)   2017-08-25 18:28:00
现在连正常打游戏都没办法 最简单AI都打不赢了
作者: LUOZISHANG (LUOZISHANG)   2017-08-25 18:29:00
根本在玩IA养成计画
作者: boy21603 (身无长物)   2017-08-25 19:48:00
他可以打游戏就代表要突飞猛进了
作者: aegis43210 (宇宙)   2017-08-25 19:58:00
DM是想做出不用开图,APM限制180,能赢世界冠军的AI
作者: KMSNY (MSN+KY)   2017-08-25 21:10:00
现在连基本目标都还在学习 根本就是叫三岁小孩打星海的程度
作者: lovinlover (Lovin Lover)   2017-08-25 21:14:00
现在的问题是找不到清楚的指标可以定义胜率农民多 兵多 建筑多 攻防高 阵形好 这几个都交互影响
作者: kira925 (1 2 3 4 疾风炭)   2017-08-25 21:17:00
DeepMind定不出一个奖励分数 很傻很天真地拿BZ的分数根本没有意义(那个盖一个水晶100经验值那个)
作者: Baneling (爆炸一哥)   2017-08-25 21:27:00
果然挖矿才是王道? XD
作者: kira925 (1 2 3 4 疾风炭)   2017-08-25 21:47:00
就跟论文里面讲的一样 Deepmind定不出奖励分数采矿比较快所以就变采矿王
作者: Timba (踢音霸)   2017-08-25 22:25:00
推 LUOZISHANG: 根本在玩IA养成计画
作者: ilohoo (ilohoo)   2017-08-25 23:14:00
教主胜率“只有”70%,看来神对“只有”的定义不太一样
作者: ernova831   2017-08-26 06:38:00
星海基础的获胜条件不就是拆光对方建筑吗?怎么会变成采矿去了 AI也懂$$$$$$的威力?
作者: kira925 (1 2 3 4 疾风炭)   2017-08-26 08:54:00
因为BZ的分数里面采矿有分数XD
作者: shefu120 (hsu2402)   2017-08-26 09:29:00
估计就算做出来了 我们家has都能暴打ai一顿www
作者: winnietslock (老皮)   2017-08-26 11:20:00
deep mind 搞不好连对方有没有主堡都不知道
作者: Sechslee (キタ━━(゚∀゚)━━!!)   2017-08-27 02:44:00
以阿法狗的统治力来说70%真的只是只有啊
作者: dispatchadv (ArtJobs)   2017-08-27 14:57:00
APM 500 的采矿和飞主堡保平,对于结局是一样的
作者: tasin (Ringo)   2017-08-27 15:11:00
那我想ai有朝一日应该会领悟到星海的最高精随 换家
作者: teren (blank)   2017-08-27 16:28:00
光是要让ai领悟获胜条件就超困难了
作者: aaddaaddjack (天气冷)   2017-08-27 20:17:00
采矿 造兵 攻打 这个目标deepmind还没有办法做出来
作者: Alwen (凤梨)   2017-08-27 21:41:00
真的能做出来能打星海的AI....真的会很恐怖
作者: fragmentwing (片翼碎梦)   2017-08-28 18:51:00
alpha starcraft:do you have 400?(flying)
作者: capitalofz   2017-08-30 21:08:00
就AI还没有智慧 都还在跑等式而已
作者: ben1357956 (QQ鸡腿)   2017-09-02 00:06:00

Links booklink

Contact Us: admin [ a t ] ucptt.com