[新聞] 暴雪開源介面 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