AI被人類選手“虐殺”!DOTA2頂級職業賽人類戰勝AI

今天,DOTA2全球頂級賽事Ti8(The International DOTA2 Championships)淘汰賽進入到第三日,除了惋惜中國戰隊VG遺憾出局之外,之後舉行的 OpenAIFive大戰Pain戰隊則成了一大亮點,

不同於上次 OpenAI大敗Dendi,這一次 OpenAIFive首場以敗北告終,似乎意味著人工智能在遊戲領域的統治能力仍有待於提升。

AI被人類選手“虐殺”!DOTA2頂級職業賽人類戰勝AI

圖丨OpenAIFive開發團隊

這是一場BO1的比賽,也就是一局定勝負。OpenAIFive所對陣的是來自南美賽區的PainGaming(PG)。這支隊伍是本次TI18支隊伍中,首個被淘汰的隊伍。

OpenAIFive的對戰規則是:沒有Ban選回合,兩邊陣容已經決定好,通過猜硬幣來決定哪一邊。機器的操作反應時間是在0.2秒之後,這是因為人類有反射弧,但是機器沒有。加入延遲操作後,比賽會更加公平。

本場比賽對於OpenAIFive來說,是首次在DOTA2最高級比賽上以5對5的形式對陣人類職業選手。OpenAI選擇的陣容是直升機、巫妖、死亡先知、寒冰室女、潮汐獵人;PG的陣容是惡魔巫師、瘟疫法師、巫醫、狙擊手、斧王。

AI被人類選手“虐殺”!DOTA2頂級職業賽人類戰勝AI

圖丨PainGaming(PG)戰隊

比賽剛剛開始,PG通過使用詭計之霧拿到了潮汐獵人的第一滴血。這還不算完,OpenAIFive在自己的下路一塔旁邊插了一個真眼,實際上防禦塔是自帶真實視野的,OpenAIFive的做法無異於浪費團隊資源。

在2分鐘左右的時候,OpenAIFive中單的潮汐獵人在滿狀態的情況下回家補給自己的狀態。4分鐘左右,OpenAIFive的直升機與PG的巫醫發生衝突,導致雙方均陣亡。通過這次交鋒可以看出,OpenAIFive在計算傷害方面非常精準,直升機最後一擊剛剛夠殺死巫醫。

6分鐘的時候,潮汐獵人身上購買了一個顯影之塵。這是一件為了識破隱身的消耗品,不過PG的陣容沒有一個英雄會使用隱身技能。

OpenAIFive在8分鐘時下路集結了三個人,完成了對瘟疫法師的擊殺。最神奇的事情,直升機對對方攻擊力的把握非常準確,在自己僅剩7滴血的時候殺死了對方。

10分鐘的時候,雙方人頭扳平。狙擊手的經濟為4500,全場第一。並列第二名是PG的斧王和OpenAIFive的死亡先知。

從前期來看,OpenAIFive非常注重擊殺,而經濟發育方面落後了不少。從13分鐘開始,OpenAIFive選擇5人集合從中路推進,並且選擇使用詭計之霧對PG的隊員進行追擊。前者從中路一直追到了下路,並完成了一次1換3。

15分鐘時,OpenAIFive再次集合5人進行推進,這次他們的目標是下路一塔。這次推進的結果超過了預期,OpenAIFive不僅奪下了下路二塔,還擊殺掉了對方的狙擊手和斧王。

OpenAIFive會給出雙方的獲勝幾率,從現場的圖表上來看,電腦在比賽全程的勝率都是將近100%。

比賽20分鐘的時候,巫妖在中路把大招施放給了落單的狙擊手。可是巫妖的大招要在人多的時候才能發揮作用。過了兩分鐘後,PG的斧王使用閃爍匕首進行偷襲,就算是給電腦設定了0.2秒的反應時間,這種人類根本不可能反應過來的操作還是被電腦躲開了。

AI被人類選手“虐殺”!DOTA2頂級職業賽人類戰勝AI

圖丨截止至比賽中段,PG一直處於經濟領先

諷刺的是,作為OpenAIFive2號位的潮汐獵人,此時的經濟成為了全隊倒數第二。

在視野方面,OpenAIFive存在嚴重的BUG。除了上文提到的防禦塔下插真眼外,機器還把真眼和假眼插到了主基地的旁邊,而在這旁邊就是兩支擁有真視視野的防禦塔。

30分鐘的時候,OpenAIFive再次擊殺了肉山。不過拿走復活盾和奶酪的人是經濟排在全場第6的巫妖。一般來說,復活盾和奶酪會放在隊伍1號位和2號位手裡。

在比賽進入中後階段,OpenAIFive突然改變了自己的作戰風格。前期他們非常喜歡擊殺對方英雄,而現在OpenAIFive開始全場補兵和清理野區。33分鐘時,中路的死亡先知在沒有對方視野的情況下釋放了大招。

34分鐘時,死亡先知利用Eul的神聖法杖躲過了斧王的戰鬥怒吼。這讓解說們認為,操作遲應該更長一些,現在看起來還是不太平衡。36分鐘時,OpenAIFive被PG團滅,死亡先知、潮汐獵人均陣亡。

PG選擇在此時進攻對方高地,潮汐獵人在此時選擇買活,死亡先知再一次在視野內沒有任何敵人的時候釋放了大招。

截止至40分鐘,OpenAIFive的信使已經被擊殺了兩次。隨後雙方爆發了一場團戰,斧王的技能依然被對方利用裝備和技能躲掉了,現場的解說再一次吐槽了這個0.2秒延遲。

40分鐘時,OpenAIFive選擇進攻肉山。死亡先知雖然購買了大勳章裝備,但是並未對肉山使用。隨後機器在自己的遠古野區連續插了兩個假眼,每個視野道具的視野都不能疊加,因此這兩個假眼等於一個。

43分鐘時,死亡先知第三次在沒有任何敵人的時候釋放大招。

AI被人類選手“虐殺”!DOTA2頂級職業賽人類戰勝AI

圖丨OpenAIFive擊殺數領先

44分鐘時,OpenAIFive的擊殺數領先對方11個,但是經濟落後更多。現場解說認為,OpenAIFive主要贏在操作上,瞬間反應的操作讓斧王、惡魔巫師等擁有施法時間的英雄毫無作用,因此操作延遲設定為0.2秒一事有待商權。

46分鐘時,寒冰室女在上路停止了操作,被路過的斧王單殺。48分鐘,買活的飛機再次被擊殺,復活時間為115秒。此時OpenAIFive判定,PG的勝率為75%。

51分鐘時,OpenAIFive的三路高地被破,且四人在無法買活的情況下陣亡。52分鐘時,PG獲得了勝利。

比賽的後期局勢終於掌握在了人類手裡,成型的火槍無人能夠制裁,在失去了對AI的試探之後比賽的觀賞性也隨之降低,AI雖然表現出來了不少亮點,但距離人類頂級選手的差距依然不可忽視。

值得注意的是,整場比賽中人類方的NEC和斧王前期也都出現了計算失誤大招沒能收掉對方的問題,跳刀先手更是被對方頂著驚人的延遲躲掉。如果這樣無懈可擊的操作交給人類選手的意識和局勢判斷能力來駕馭,不再那麼隨意的交掉關鍵性技能,那麼人類選手可能將毫無機會。

根據大數據預測分析多數時間都給了AI方90%以上的勝率,隨後高地一波降到了70%,50分鐘的時候給出了30%的反水結果。而最終結果是經歷了53分鐘的鏖戰之後,人類拿下本場比賽的勝利。

AI被人類選手“虐殺”!DOTA2頂級職業賽人類戰勝AI

DOTA2是一個高難度遊戲。它要求選手在比賽中展現出團隊精神、戰略思維和極快的反應能力。OpenAI已經花了較長一段時間來探索如何“攻克”DOTA2,並於2017年8月在TI7上首次登場,在中單SOLO模式用影魔打敗了Navi的職業選手Dendi,進而引發了大量的關注。不過在當時,OpenAI雖然打敗了職業選手Dendi,但那場比賽設置非常有限,因此不能代表真實的比賽。

但今年,在完善和調整了機器學習系統所需的硬件和運算量後,OpenAI已經突破了許多限制,從而縮短了人與機器之間的競爭差距。

AI被人類選手“虐殺”!DOTA2頂級職業賽人類戰勝AI

圖丨OpenAI今年8月6日的比賽現場(來源:OpenAI官方博客)

2018年6月,OpenAI開發的AI已經能夠組隊在5V5對戰中戰勝DOTA2業餘玩家,這些玩家的平均天梯分數超過4200分。匹茲堡卡內基梅隆大學的研究員NoamBrown曾表示:“DOTA2是一個極其複雜的遊戲,能打敗強大的業餘玩家就已經很不容易了,而且,處理DOTA2這種大型遊戲中的隱藏信息是一個很大的挑戰。

AI被人類選手“虐殺”!DOTA2頂級職業賽人類戰勝AI

圖丨今年6月,OpenAI的AI團隊擊敗了OpenAI的員工團隊(來源:麻省理工科技評論)

到了今年8月初,OpenAI迎來一個新的巔峰:其Five系統以2:1的成績戰勝了人類隊伍。而這場比賽的人類選手——Blitz、Cap、Fogged、Merlini和MoonMeander,平均水平超過了99.95%的DOTA玩家,其中的四人都參加過職業比賽。值得一提的是,在當時的第三局比賽中,觀眾故意針對Five選擇了較差的陣容,但OpenAI同樣在比賽中展示了團隊的初步成果,比如Five對遊戲的理解、對形勢的判斷以及對獲勝概率的預測,某些預測甚至出乎意料。

這些結果都表明,OpenAIFive是邁向可以處理現實世界的複雜性和不確定性的高級AI系統。

AI被人類選手“虐殺”!DOTA2頂級職業賽人類戰勝AI

圖丨8月6日的比賽中,Five僅耗時14分鐘就贏下了比賽,而平均一場完整DOTA比賽耗時45分鐘左右(來源:OpenAI官方博客)

根據OpenAI此前的介紹,OpenAIFive由五個單人模式、1024單元的長短期記憶(LSTM)網絡,每個網絡的大小與螞蟻的大腦大小相當。它通過參加大量的比賽來熟悉DOTA2的相關技能,並在訓練期間每天都能獲得高達180年的遊戲經驗,代表了五個AI共900年的經驗,這是人類團隊永遠無法實現的。

OpenAI創建人工智能時使用的是機器學習的一種方法——強化學習。這種技術看似簡單,但是能讓AI習得非常複雜的行為。讓AI學習的過程是,把AI放到虛擬環境中,並通過自我嘗試學會實現目標。開發者可以設定獎勵機制(比方說在AI殺掉敵人後獎勵機器系統),然後讓AI一遍遍進行遊戲。

這些DOTA機器人的自我訓練量驚人,並且會連續訓練幾個月。研究人員說:“它開始時在地圖上亂走,但是,幾個小時後,它開始具備基本技能。如果一個人需要花1.2萬到2萬小時才能成為專業遊戲玩家,那AI的速度要快得多,

因為每天積累的遊戲經驗是一個人一生積累經驗的100倍。”

OpenAI通常的開發流程是從頭開始訓練系統的每個版本。但是,OpenAIFive自6月9日以來,已經經過六個大版本修正,每個新版本系統都使用前一個版本的參數進行初始化,然後再進行訓練。具體而言,OpenAI團隊在一種迭代訓練工具(稱為“手術”)上投入了大量資源,從而實現模型能夠將舊的參數映射到新的網絡架構上。

例如,當第一次訓練插眼(Dota術語)時,共用了一個actionhead來決定英雄的移動方向和插眼位置。但是Five往往會把眼插在它試圖前進的方向上,於是團隊推測這主要是因為OpenAIFive將其大部分運算力分配在了移動上。隨後團隊利用“手術”工具讓將一個actionhead分為完全相同的兩個,並使用相同參數進行初始化。

AI被人類選手“虐殺”!DOTA2頂級職業賽人類戰勝AI

圖丨可視化模塊顯示每個英雄被選中後OpenAIFive的預期獲勝概率

6月下旬,OpenAI團隊開始在系統中添加了一個獲勝概率的輸出,使得OpenAIFive能夠反饋和修正預測的內容。當後來考慮徵召模式時,團隊意識到可以用這一概率來估計任一陣容的獲勝概率——僅在比賽最開始看一下雙方選的陣容就可以了。在接下來的一週內,OpenAI團隊自行模擬了1100多萬個可能的英雄陣容的畫面輸入給Five系統,並寫了一個搜索樹(數據結構)來尋找OpenAIFive的最佳陣容選擇策略。

從6月擊敗4000分到8月碾壓7000分,OpenAI還通過一種名為近端策略優化(
ProximalPolicyOptimization)的強化學習算法進行訓練。在六月的比賽中,該系統更是通過GoogleCloud消耗了驚人的128,000個CPU內核和256個NvidiaP100GPU。

據估計,訓練這一DOTA 系統需要的資源如下(注:1petaflop/s-days是指一天執行每秒1015次神經網絡操作,或總計1020次操作):

1v1模型l:8petaflop/s-days

6月6日的模型:40petaflop/s-days

8月5日的模型:190petaflop/s-days

AI被人類選手“虐殺”!DOTA2頂級職業賽人類戰勝AI

圖丨8月6日的最新網絡架構(來源:OpenAI官方博客)

據OpenAI官方博客介紹,8月份的新模型中,輸出可以預測英雄在未來一段時間的預計位置。

除此之外,還可以訓練輸出來預測各種其他統計數據,比如補刀數、推塔數等。

自開發專注DOTA2的AI以來,OpenAI的團隊一直以參加此次的TI8為目標,團隊也曾經表示,“我們不知道它是否可以實現,但是我們相信通過自身的努力(和運氣),機會還是很大的”。而在這次的TI8中,眾所周知,如今頂尖職業選手的天梯分普遍在9000分上下,從碾壓7000分後,按照此前的學習速率來計算,OpenAI取得如此成績,或許真的是運氣和努力兼備。


分享到:


相關文章: