尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
作者 | 馬超
責編 | 伍杏玲
出品 | CSDN(ID:CSDNnews)
騰訊 AI Lab 與王者榮耀聯合研發的策略協作型AI,「絕悟」首次開放大規模開放:5月1日至4日,玩家從王者榮耀大廳入口,進入「挑戰絕悟」測試,「絕悟」在六個關卡中的能力將不斷提升,用戶可組隊挑戰「絕悟」。這不是騰訊 AI Lab首次大展伸手了,例如去年「中信證券懷」世界智能圍棋公開賽的冠軍就是來自於騰訊AI Lab的「絕藝」。
本次在王者榮耀上線的「絕悟」真的是令人覺悟,筆者做為老的DOTATER,MOBA類遊戲的水平,自認還是相當不錯的,不過親測了幾局,始絡不能在路人匹配的情況下通過第三關。「絕悟」的1v1版本曾在2019年的China Joy上開放,在與頂級業餘玩家的 2100多場,AI勝率為 99.8%,此次是「絕悟」 5v5 版本首次公開。如果以後掛機隊友都能用「絕悟」托管,那估計今後匹配到斷線玩家的隊伍,是做夢都要笑醒吧。
「絕悟」如何「開悟」?
在柯潔等人類頂尖棋手紛紛敗於AlphaGo後,AI已經破解了圍棋的難題,大面積目前多人在線戰術競技類遊戲(MOBA)成為測試和查驗前沿人工智慧的龐雜決策、行動、協作與預測能力的重要平臺。
比如在去年的DOTA頂級賽事TI8上,在OpenAI與世界冠軍OG戰隊之間的一場DOTA2比賽上,AI戰隊以2:0完勝了人類冠軍。雖然筆者認為OG在TI8上奪冠不太有說服力,去年的LGD和Liquid比OG厲害,不過AI在兩場比賽中,尤其在第二場15分鐘就完成戰鬥,展現的強大到碾壓的能力令人驚嘆。
但是到OpenAI的MOBA遊戲的AI模型是有限定條件的,不允許人類選手選擇幻影長矛手及分身斧等幻象、分身類道具,雖然王者榮耀遊戲中不涉及此類情況,但是與棋類遊戲相比,MOBA類遊戲的AI模型至少在以下幾個方面是完全不同的。
一、龐雜度:
王者榮耀的正常遊戲時間大約是20分鐘,一局中大約有20,000幀。在每一幀,玩家有幾十個選項來做決定,包括有24個方向的移動按鈕,和一些相應的釋放位置/方向的技能按鈕。王者峽谷地圖分辨率為130,000×130,000像素,每個單元的直徑為1,000。在每一幀,每個單位可能有不同的狀態,如生命值,級別,黃金。同樣,狀態空間的大小為10^20,000,其決策點要玩大於棋類遊戲。
二、資訊不對稱:
MOBA類遊戲中一般都有視野的範圍,這造成了資訊的對稱,也就是說AI無法像棋類遊戲一樣獲得全部的對局資訊。
三、團隊配合:一般如王者榮耀等MOBA類遊戲都是5V5的集體類遊戲,那麼整個團隊需要有宏觀的策略,也需要微觀的精細執行。
在遊戲的各個階段,玩家對於決策的分配權重是不同的。例如在對線階段,玩家往往更關註自己的兵線而不是支持盟友,在中後期階段,玩家應關註團戰的動態。每個AI玩家對隊友的配合操作納入計算範圍,這將提高計算量。
四、獎勵函數難以制訂:
MOBA類遊戲到比賽的最後時刻存在懸念,不像棋類遊戲中吃子或者提子等獎勵來得那麼直接。這讓MOBA類的AI的獎勵函數非常難以制訂。
走近強化學習
「絕悟」背後是一種名為「強化學習」(reinforcement learning,RL)的AI技術,其思想源自心理學中的行為主義理論,因此該學習方法與人類學習新知識的方式存在一些共通之處。
遊戲作為真實世界的模擬與仿真,一直是查驗和提升 AI 能力的試金石,龐雜遊戲更被業界認為是攻克 AI 終極難題——通用人工智慧(AGI)的關鍵一步。如果在模擬真實世界的虛擬遊戲中,AI 學會跟人一樣快速分析、決策與行動,就能執行更困難龐雜的任務並發揮更大作用。
強化學習做一系列基於時間序列的決策。它先假定每個問題都對應一個Environment,這時每一個Agent在Environment中採取的每一步動作都是一個Action,做出Action之後,Agent從Environment中得到observation與reward,再不斷循環這個過程,以達到總體reward最大化。
從RL的原理中能看出,RL是一種在不確定且龐雜的環境中通過不斷試錯,並根據反饋不斷調整策略,最終完成目標的AI,這和遊戲的實踐場景可謂非常的契合。
雖然目前RL在一些具體的場景中,如控制步進馬達、電子競技方面取得了很多突破性的進展。截止目前「絕悟」的RL框架還沒有開源,不過好在Open AI的gym框架是開源,並提供了RL完整的接口。可以讓我們通過玩遊戲,來了解深度學習的原理。安裝gym十分簡單,只是記得要執行這個命令pip install gym[atari]即可。
其範例代碼如下:
importgymenv=gym.make('UpNDown-ramDeterministic-v4')#初始化環境fori_episodeinrange(900000):observation=env.reset()#重置觀察fortinrange(100):env.render()#渲染環境print(observation)#將觀察值列印出來action=env.action_space.sample()#按照sample進行動化,當然也可以自行實現observation,reward,done,info=env.step(action)print(reward)#將獎勵值列印出來ifdone:print("Episodefinishedafter{}timesteps".format(t+1))breakenv.close()
其運行效果如下:
通關小貼士
如何打敗AI這點上,我們可以參考而三年前李世石戰勝AlphaGo的第四局對弈,其中第78手這一挖,此招一出當時技驚四座,甚至被圍棋界認為是「捍衛了人類智慧文明的瑰寶」。
隨後AlphaGo被李世石的「神之一手」下得陷入混亂,走出了黑93一步常理上的廢棋,導致棋盤右側一大片黑子「全死」。
此後,「阿爾法圍棋」判斷局面對自己不利,每步耗時明顯增長,更首次被李世石拖入讀秒。最終,李世石冷靜收官鎖定勝局。後來通過仔細復盤人們發現這78手並非無解,只是騙到了當時的AlphaGo引發了AI的Bug才使人類能夠贏下一盤。
可以說打敗AI最關鍵的決竅就是,千萬不要在AI的空間和AI鬥,一定不能按照常理出牌。「絕悟」雖強,但目前肯定還不是完全體,正如我們前文所說,MOBA類AI模型的獎勵函數是非常難以制訂的,很可能是因為在開局戰爭迷霧未解開的情況下,入侵野區的收益值不如抱團清線來得高,因此「絕悟」開局大勵套路比較單一。那麼筆者做為一個菜雞玩家,通過上述分析給大家一些建議。
一、選擇強勢入侵陣容,不斷蠶食AI經濟。因為AI一般在明確打不過的情況下就會直接放棄,親測如果人類玩家強勢入侵,那麼AI一般會選擇放棄,不過這個策略對於普通玩家也沒有太大用處,因為即使本方經濟領先,一般的玩家也依然沒法打過AI。
二、偷塔。由於王者榮耀等MOBA類遊戲歸底結底還是推塔的遊戲,從「絕悟」學習成果結果來看,其對於擊殺和遠古生物的給予的獎勵權重明顯更高,這也不難理解,因為在普通的比賽中這兩點的確是勝負的關鍵。
正如上文所說,打敗AI的關鍵點就在於不要按照常理出牌,使用李元芳、米萊迪、周渝這種強勢推塔陣容,趁對面在打暴君、主宰等遠谷生物時趕快偷塔,實測發現尤其在前4分鐘防禦塔有隔擋機制時,「絕悟」對於守塔不太感冒。趁這時趕快偷塔,往往是記得比賽的關鍵。
三、反殺關鍵韌性鞋。王者榮耀中有一個非常特殊的道具韌性鞋,能減少被控制的時間,「絕悟」在進行越塔擊殺,往往借助於延續的控制。筆者在實測中看到人類玩家反殺「絕悟」的情況,基本都是留好韌性鞋的金錢,等待「絕悟」控制技能施法前搖時,瞬間購買,從而避免被控制至死,進而實現反殺大業,最差也能拖慢AI的節奏,為隊友爭取偷塔時間。
後記
我們知道現實生活中的許多真實的問題(如股票)沒有明確的規則,或者規則會變動,需要具體決策需要AI自行摸索,這是強化學習的優勢所在。
長遠來看,AI+遊戲研究將是攻克 AI 終極研究難題——通用人工智慧(AGI)的關鍵一步。不斷讓 AI 從0到1去學習進化,並發展出一套合理的行為模式,這中間的經驗、方法與結論,有望在大範圍內,如醫療、制造、無人駕駛、農業到智慧城市管理等領域帶來更深遠影響。
未來我們還有哪些「絕悟」AI式的驚喜,讓我們拭目以待。
更多精彩推薦
☞新生代的他們,正在續寫「駭客」傳奇
☞2020 年必備的 IT 技能是什麼?
☞視訊 | 你不知道的"開源"60年秘史
☞GitHub標星10,000+,Apache項目ShardingSphere的開源之路
☞阿裡技術專家告訴你,如何畫出優秀的架構圖?
☞加拿大API平臺如何做到30%為中國明星項目?創業老兵這樣說……
你點的每個「在看」,我都認真當成了喜歡