讓AI學會打王者,有什么用?
11月28日,NeurIPS 2022正式開幕。
作為目前全球最負盛名的人工智能盛會之一,NeurIPS在每年年末都是計算機科學領域矚目的焦點。被NeurIPS接收的論文,代表著當今神經科學和人工智能研究的最高水平,也反映著行業趨勢的變化。
有趣的是,這屆「參賽選手」們的研究似乎都對「游戲」情有獨鐘。
比如,李飛飛團隊基于Minecraft游戲環境的MineDojo,就拿下了最佳數據集和基準論文獎。依托游戲的開放性,研究人員可以在MineDojo中通過各種類型的任務對智能體進行訓練,從而讓AI具有更加通用的能力。
而通過嚴苛的錄取率,同樣是在游戲領域收錄的另一篇論文,可能跟很多游戲玩家都相關。
畢竟,誰沒玩過王者呢。
論文《<王者榮耀>競技場:競爭強化學習的泛化環境》
地址:https://openreview.net/pdf?id=7e6W6LEOBg3
文中,研究人員提出了一個基于MOBA游戲《王者榮耀》的測試環境。目的嘛,其實和MineDojo類似——訓練AI。
為何MOBA類游戲環境被青睞?
自DeepMind推出AlphaGo開始,游戲作為擁有高自由度、高復雜性的擬真環境,早已成為了AI研究和實驗的重要選擇。
然而,相比于能夠不斷從開放式任務中學習的人類,在較低復雜度的游戲里訓練出的智能體,并不能將自己的能力泛化到特定的任務之外。簡單來說就是,這些AI只能下下棋,或者打打古早的雅達利游戲。
為了開發出能夠更加「泛用」的AI,學界的研究重心也開始逐漸從棋盤類游戲轉向了更復雜的游戲,包括非完美信息博弈游戲(比如撲克)以及策略類游戲(比如MOBA和RTS游戲)。
同時,正如李飛飛團隊在獲獎論文里所言,想要讓智能體能夠泛化到更多的任務之中,訓練環境還需要能提供足夠多的任務。
憑借著AlphaGo及其衍生版AlphaZero打遍圍棋圈無敵手的DeepMind,很快也意識到了這一點。
2016年,DeepMind便聯合暴雪,基于空間復雜度為10的1685次方的《星際爭霸 II》,推出了「星際爭霸 II 學習環境」(StarCraft II Learning Environment,SC2LE),為研究人員提供了智能體的行動和獎勵規范,以及一個開源的Python界面,用于與游戲引擎進行通信。
而在國內也有一個資質極佳的「AI訓練場」——
作為知名的MOBA游戲,玩家在《王者榮耀》中的動作狀態空間高達10的20000次方,遠遠大于圍棋及其他游戲,甚至超過整個宇宙的原子總數(10的80次方)。
和DeepMind一樣,騰訊的AI Lab也聯合《王者榮耀》,共同開發了更加適合進行AI研究的「王者榮耀AI開放研究環境」。
目前,「王者榮耀AI開放研究環境」包含了1v1對戰環境與baseline算法模型,并支持20位英雄的鏡像對戰任務以及非鏡像類對戰任務。
具體來說,「王者榮耀AI開放研究環境」在只考慮雙方英雄選擇條件下,可以支持20×20=400對戰子任務。如果算上召喚師技能,將會有40000種子任務。
為了讓大家更好地理解智能體在「王者榮耀AI開放研究環境」中接受的泛化性挑戰,我們可以利用論文中的兩個測試,對其進行驗證:
首先制作一個行為樹AI(BT),其水平為入門級的「黃金」。與之相對的是就是由強化學習算法訓練出來的智能體(RL)。
在第一個實驗中,只讓貂蟬(RL)和貂蟬(BT)進行對戰,然后再拿訓練好的RL(貂蟬)去挑戰不同英雄(BT)。
經過98輪測試后的結果如下圖所示:
當對手英雄發生變化時,同一訓練的策略的性能急劇下降。因為對手英雄的變化使測試環境與訓練環境不同,因此現有方法學到的策略缺乏泛化性。
圖1 跨對手的泛化挑戰
在第二個實驗中,依然只讓貂蟬(RL)和貂蟬(BT)進行對戰,然后拿訓練好的RL模型控制其他英雄去挑戰貂蟬(BT)。
經過98輪測試后的結果如下圖所示:
當模型控制的目標從貂蟬變成其他英雄時,相同的訓練策略的性能急劇下降。因為目標英雄的變化使行動的意義與訓練環境中貂蟬的行動不同。
圖2 跨目標的泛化挑戰
造成這個結果的原因很簡單,每個英雄本身都有自己獨特的操作技巧,經過單一訓練的智能體在拿到新的英雄之后,并不知道如何使用,就只能兩眼一抹黑了。
人類玩家也是類似,能在中路「亂殺」的選手,換了打野之后,也未必能打出不錯的KDA。
不難看出,這其實就回到了我們一開始提出的問題,簡單的環境難以訓練出「通用」的AI。而復雜度高的MOBA類游戲,正好提供了一個便于測試模型泛化性的環境。
當然,游戲并不能直接拿來訓練AI,于是經過特別優化的「訓練場」應運而生。
由此,研究人員就可以在諸如「星際爭霸 II 學習環境」和「王者榮耀AI開放研究環境」中,測試和訓練自己的模型了。
國內研究人員如何接入合適的平臺資源?
DeepMind的發展,離不開實力雄厚的谷歌托底。李飛飛團隊提出的MineDojo,不僅用上了斯坦福這個頂級名校的資源,還有來自英偉達的大力支持。
而國內現階段的人工智能行業在基礎設施層面仍然不夠扎實,尤其對于普通公司和高校來說,正面臨著研發資源短缺的問題。
為了讓更多研究者參與進來,騰訊于今年11月21日正式將「王者榮耀AI開放研究環境」面向大眾開放。
用戶只需在開悟平臺官網注冊賬號、提交資料并通過平臺審核,即可免費下載。
網站鏈接:https://aiarena.tencent.com/aiarena/zh/open-gamecore
值得一提的是,為了更好地支持學者和算法開發者進行研究,開悟平臺不僅對「王者榮耀AI開放研究環境」進行了易用性封裝,還提供標準代碼與訓練框架。
接下來,我們就來「淺淺」地體驗一下,如何在開悟平臺開始一個AI訓練項目吧!
既然要讓AI「玩」《王者榮耀》,那么我們要做的第一件事就是,把用來操控英雄的「智能體」做出來。
聽起來好像有些復雜?不過,在「王者榮耀AI開放研究環境」中,這其實非常簡單。
首先,啟動gamecore服務器:
安裝hok_env包:
并運行測試腳本:
現在,就可以導入hok,并調用 hok.HoK1v1.load_game創建環境了:
緊接著,我們通過重置環境從智能體那里獲得我們的第一個觀察結果:
obs是一個NumPy數組的列表,描述了代理對環境的觀察。
reward是一個浮點標量的列表,描述了從環境中獲得的即時獎勵。
done是一個布爾列表,描述了游戲的狀態。
infos變量是一個字典的元組,其長度為智能體的數量。
然后在環境中執行操作,直到時間用完或者智能體被干掉。
此處,只需采用env.step方法即可。
和「星際爭霸 II 學習環境」一樣,在「王者榮耀AI開放研究環境」中同樣可以利用可視化工具來查看智能體的回放。
至此,你的第一個智能體就已經創建完畢。
接下來,就可以拉著「她/他」去進行各種各樣的訓練了!
說到這,想必大家也不難發現,「王者榮耀AI開放研究環境」并不只是單純地拋出來一個可以訓練AI的環境,而是通過熟悉的操作和豐富的文檔,使整個流程都變得簡單易懂。
如此一來,也就讓更多有志于進入AI領域的人輕松上手了。
游戲+AI,還有哪些可能?
看到這,其實還有一個問題沒有回答——騰訊開悟平臺作為一個由企業主導的研究平臺,為何要選擇大范圍開放?
今年8月,成都市人工智能產業生態聯盟聯合智庫雨前顧問,共同發布了全國首個游戲AI報告。從報告中不難看出,游戲是促進人工智能發展的關鍵點之一,具體來說,游戲可以從三個方面提升AI的落地應用。
首先,游戲是AI極佳的訓練測試場。
- 迭代快速:游戲可以隨便交互、隨便試錯,沒有任何真實成本,同時存在明顯的獎勵機制,能讓算法的有效性充分訓練展現出來。
- 任務豐富:游戲種類繁多,難度和復雜性也很多樣,人工智能必須采用復雜的策略來應對,攻克不同類型的游戲反映了算法水平的提升。
- 成敗標準清晰:通過游戲得分標定人工智能的能力,便于進一步對人工智能進行優化。
其次,游戲能夠訓練AI的不同能力,牽引不同應用。
比如,棋類游戲訓練AI序列決策,獲得長線推演能力;牌類游戲訓練AI動態自適應,獲得隨機應變能力;即時戰略游戲訓練了AI的機器記憶能力、長期規劃能力、多智能體協作能力、動作連貫性。
另外,游戲還能打破環境制約,推動決策智能落地。
比如,游戲可以推動虛擬仿真實時渲染和虛擬仿真信息同步,升級虛擬仿真交互終端。
而開悟平臺依托騰訊AI Lab和王者榮耀在算法、算力、復雜場景等方面的優勢,開放之后,可以為游戲與AI發展之間搭建一座有效合作的橋梁,鏈接高校學科建設、競賽組織、行業人才孵化。當人才儲備足夠了,科研的進步和商業應用的落地都將如雨后春筍般冒頭。
過去兩年,開悟平臺在產學研領域的布局舉措就很多:舉辦了「開悟多智能體強化學習大賽」,引來包括清北這樣的TOP2名校在內的一片頂尖高校團隊參加;組建了高校科教聯合體,北大信息科學技術學院爆火的選修課《游戲AI中的算法》,課后作業便是用王者榮耀1V1的環境做實驗……
展望未來,可以期待:借助「開悟」平臺走出去的這些人才,將輻射到AI產業的各個領域,實現平臺上下游生態的全面開花。