NGA閥木部翻譯,轉載請注明出處
前言
8月22日,當一隊穿着印有OpenAI印花T恤的科學家們登上溫哥華羅渣斯會館的主舞台時,在場的觀衆爆發出無比熱情激烈的掌聲。
他們來到這裡是為了能夠将他們研發的人工智能在DOTA2這一開創5V5競技對抗遊戲先河的遊戲中與真人的職業選手來一場正面的比賽交鋒。
這場曆史性的比賽如果談到項目伊始得追溯到2016年的冬季,當時由CTO Greg Brockman帶領的OpenAI研究團隊正在尋找具有公平競技性且具有挑戰性的遊戲環境以便能夠測試他們的人工智能研究技術和人類的專業項目選手的對比差距。要知道遊戲是測試人工智能最好的對象,因為他們有着複雜的計算模式以及豐富的人機交互項,而且最關鍵的是可以在賽後生成大量的可見數據。
作為一家非盈利性的人工智能研究機構,他們的最終目标是創造一個能在所有通用系統中執行多項複雜命令的通用型人工智能(AGI)。而OpenAI的小組認為人工智能如果能在複雜的電腦遊戲環境中達到人類的執行力的話将會是實現AGI的重要的第一步,更别提擊敗真正的人類也是對于人工智能的分析處理能力的最好證明。(這就不得不提到2016年在圍棋大賽中出盡風頭的AlphaGo了,這次比賽中AI的勝利推動了人工智能在遊戲界的發展,而且同時确保了AlphaGo在AI發展曆史上的裡程碑一般的地位)
OpenAI的研究者們在選擇目标之前也調查了Twitch上和Steam上的很多其他遊戲,最終他們選擇了DOTA2的主要原因是因為DOTA2可以在Linux上運行并且本身提供外部程序接口(API),這為他們的開發提供了不小的便利性。
研究起步
然而其實讓AI去像人一樣去理解複雜的局勢是相當困難的,之前的AI隻能通過輸入的指令來改變其戰略,比如如何購買物品、補刀、反補、推塔,這些全部都僅僅是已經錄入的代碼罷了,而且AI也不會根據不同的局勢變更自己的指令。
在2017年初,OpenAI的團隊在創意工坊上架了他們的第一個腳本機器人,作為試水作這個腳本擊敗了大多數的非職業玩家。然而研究人員無法繼續将這個腳本繼續編寫以達到專業比賽級别的高複雜性水準,所以他們隻能抛棄了基于V社提供規則的代碼并且轉而用增強式學習能力(RL)去取代之。
基于RL的AI其實并不是在正常的5V5的環境中接受訓練的,而是被至于遊戲中某個具有簡化的規則和目标的自定義挑戰任務中。
AI的目的性很簡單,就是在一個圓形的地圖上通過操作去擊殺一個人為控制的英雄罷了,然而實現這個看上去很簡單的目标要比預想的難得多,主要的原因在于真人的操作會和按照給AI設定的訓練預測的操作不同。而為了解決這個問題,開發團隊開始在訓練中加入大量随機化的命令從而根據當前的狀态去選擇下一步的動作而不是循規蹈矩,比如英雄會在遇到地形阻礙的時候降速或者改變行動方向。
随機化提高了RL的策略性,并且使得AI能夠在自定義挑戰中已經可以慢慢的去學會如何擊敗當時的研究人員操作的英雄。
當研究團隊将1V1目前表現下的AI技術應用到DOTA2中的中單SOLO機器人腳本中時該腳本的智能取得了飛躍式的增長,而且在2017年的7月時在中路SOLO賽的表演中擊敗了前職業選手William“Blitz”Lee。
雖然說如果将5個這樣的AI揉在一起并且運行相同的算法就已經可以達到正常遊戲5V5的水準。但是開發團隊仍然希望更加進一步強化他們AI的1V1的能力。
在去年在西雅圖的TI7的比賽中,在OpenAI和Dendi的中路SOLO比賽中僅僅隻用了10分鐘就赢得了第一場的勝利,而第二場更是以Dendi在開局後幾分鐘就繳械投降落幕。賽後Dendi反複強調“這個家夥很可怕!”。
在TI7表演賽中擊敗了Dendi後,團隊宣稱該項目的下一部計劃是完整的5V5競技,所以敬請期待2018年的TI8國際邀請賽。
新型人工智能
OpenAI利用循環神經網絡(RNN)中的長短期記憶(LSTM)來構建了AI的大腦核心。它精通長時間的信息儲存記憶以及會自動根據序列進行分類處理和預測數據。其實簡單來說本質就和家長教自己的孩子如何做一些簡單的事情一樣,你得教他們分清楚不同事物的好壞,而且你還得學着怎麼教才能讓他們牢牢的記住。
每一個AI的神經網絡都包含着一個單層1024單元的LSTM,可以記錄遊戲的狀态并且做出适當的動作。比如執行一個釋放技能的操作,AI需要4個指标去判斷(移動、攻擊、釋放技能、使用道具),然後AI還需要捕捉到目标的單位然後判斷和自己的距離(在AI看來這些都是映射在X、Y上的坐标),然後再去判斷技能釋放的操作和時間最後釋放該技能。OpenAI最終将整個遊戲離散化為每個英雄大約170000次可能的動作(相比國際象棋的35點簡直是天文數字,不比較就不會有傷害)
最終新一代的AI開始從自我遊戲中去學習而免去了人類的手把手教學。而為了避免可能會導緻AI的訓練循環的BUG,AI在80%的時間都是在和自己相同的AI對戰,而另外20%的時間則是在和上個版本的自身對戰。
這些AI指令在128000個CPU内核和256個GPU上每天無休的反複運行,平攤到每天遊戲中的訓練量累計大約為正常時間上的180年左右。
OpenAI還引入了一個稱為“團隊精神”的超級複雜的參數,範圍從0到1并且指定權重以确定每個OpenAI Five的英雄應該取自己的功能和在整個團隊功能的平均值。
人工智能的學習能力
OpenAI開發辦公室的老傳統就是每周一的晚上整個團隊會聚在一起玩DOTA2(當然現在改為了和他們的AI對戰)。在今年的5月的某天,AI在一場持續了45分鐘的比賽中首次擊敗了他們。在6月時,研究團隊邀請了一隊天梯分數大約在4000-6000不等的業餘選手到他們的辦公室去打人機大戰,結果AI輕松取得了勝利。
比爾蓋茨在比賽結束後發布了推文“AI在電子遊戲DOTA2中擊敗了人類表現出他們已經有勝利所需的團隊合作能力,同時這也是人工智能發展的一個重要裡程碑”
根據整個研究團隊的調查發現,目前哪怕是全新的AI使用他們的算法中也僅僅隻需要2天的訓練就已經會比辦公室裡的任何人都要強。所以他們帶着他們的AI将目光投向了溫哥華的DOTA2第八屆國際邀請賽,希望它能在那裡擊敗一支真正的勁旅。
AI會作弊嗎
雖然OpenAI的開發團隊态度樂觀但是仍然有很多DOTA2的玩家指責說6月AI獲得的5場勝利屬于作弊行為。他們認為這與正常的5V5遊戲完全不同,比如AI僅有5個可選英雄、沒有魔瓶和神符、沒有Roshan和眼,這種不平衡的非完整性遊戲完全是作弊一樣的行為。而開發小組也很快回應,他們增加了AI可選英雄至18位,加入了Roshan和眼等改動...
談到眼這個道具,它可以在戰争迷霧外提供視野。真正的人類玩家可以由淺到深的去學習如何使用他們,但是AI不行,他們更加傾向于在他們的視野中插眼這樣的行為。
而Roshan作為遊戲中最重要的中立生物,如何與它交手也是一個非常複雜的團隊策略,而且還需要考慮時間和擊殺方法。而AI不會去在遊戲開局招惹Roshan,因為按照他們每個AI的個人的算法來說開局的時候去對抗Roshan的話被擊殺的概率實在是太高了。
OpenAI的團隊已經通過對于AI的指令灌入随機化Roshan的狀态來解決這個問題,雖然表面上看的确有鼓勵AI在裝備不成型之前就去擊殺Roshan的動作,但是現在AI似乎浪費了太多時間在監視Roshan的狀态。
時間不等人
在離溫哥華AI對決前3周的8月5日OpenAI團隊組織了一個對抗前職業MMR排名世界前99.95%選手的一個基準測試。
比賽在舊金山的一個酒吧中舉行,現場觀衆大約有300多人。其中大部分人都在AI身上押注并且表示“雖然在感情上支持真人,但是感覺他們壓根沒有勝算”
在比賽開始之前,MoonMeander發推說自己從未輸給過AI。結果是他們在前兩場比賽中僅僅堅持了20至25分鐘就敲出了GG。
這本來應該以AI的大獲全勝作為收尾,但是為了給第三場比賽加點料開發團隊讓觀衆投票AI可以使用的英雄。結果在比賽開始之前OpenAI Five就預測在這個陣容對抗中自己隻有2.9%的勝率,最終結果也和它預料的一樣在35分47秒後輸掉了比賽。
與此同時離OpenAI Five登場溫哥華的舞台的日子也越來越近了,要知道這回它要面對的可是7000-8000分遠遠超過以前其他交手過的真人的高RANK選手們。而它已經沒有那麼多的訓練時間去升華自己的戰術策略了。
溫哥華:最終大戰
當他們在羅渣斯中心登台後許多當時在場的觀衆都認為OpenAI Five有很大的勝算。畢竟幾乎之前的和人類的交手曆史都是碾壓級的勝利,更别說在去年TI7中1V1中血虐Dendi的故事了。
但是事實并非如此,在第一場比賽中PainGaming在持續了52分鐘的比賽中擊敗了AI。而第二天的5個傳奇的中國老将(430、Xiao8、BurNing、ROTK、SanSheng)僅花了45分鐘就解決了AI。
其實OpenAI Five的整體團隊表現其實已經還算過的去,這歸功于他們的無差錯的微操能力,在兩場比賽中AI的人頭都比人類隊伍的多而且打赢了大多數的遭遇戰和團戰。
但是同時AI也犯了很多低級錯誤,比如在錯誤的地方開團或者沖塔以及很少會有Gank舉動等。
TI8中的結果可能和OpenAI的團隊預料的不一樣,但是也并不代表屬于OpenAI Five的凜冬已至。OpenAI Five将會很快重新開始訓練并且将會在今年下半年或者2019年使用全英雄去參加一場完完整整的DOTA2比賽。
雖然它的确輸掉了這場比賽,但是OpenAI Five和人類的鬥争遠未結束
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!