騰訊AI擊敗王者榮耀職業隊,全靠自學,一天訓練量為人類440年
本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。
王者峽谷,風云突變。
一場激烈的對戰正在進行,左側是五位人類職業電競高手組成的賽區聯隊,另一方是……嗯?他們的對手沒有出場?五個座椅空空蕩蕩?
不。他們的對手都在。
這是昨晚的吉隆坡,王者榮耀最高規格電競賽事——世界冠軍杯半決賽正在進行,期間有一場特殊的對決上演:五位電競職業選手組成的賽區聯隊,對陣騰訊王者榮耀AI絕悟。
最終這場5v5的大戰中,思路與人類迥異的AI戰隊耗時16分15秒,團滅電競職業高手戰隊,推掉全部9塔和高地水晶。
這意味著,騰訊AI絕悟的能力,已經精進到王者榮耀電競職業水平。
當然,對非職業玩家更是砍瓜切菜。
同日上海的ChinaJoy,絕悟向頂級業余玩家開放為期四天的1v1體驗測試。首日的504場測試中,絕悟測試勝率為99.8%,僅輸1場(對方為王者榮耀國服第一后羿)。
首次擊敗電競職業隊
這場比賽,五位電競職業高手組成賽區聯隊。他們選擇的陣容是:曹操(ESTARPRO.XIXI)、娜可露露(EMC.SUN)、武則天(NOVA.SEEK)、狄仁杰(KZ.NIGHT)、張飛(M8HEXA.MIKE)。
騰訊AI絕悟(Wukong)選擇的陣容是:達摩(AI_001)、雅典娜(AI_011)、王昭君(AI_100)、虞姬(AI_000)、牛魔(AI_010)。
比賽開始,人類戰隊的水晶在左下角。

開局時,絕悟沒選擇傳統人類對線走位策略,而是先放掉上路,由雙C位英雄虞姬和王昭君先一起清理中路第一波兵線,壓制敵方中輔。之后又轉上路壓制曹操血線。

這種分配,沒有經濟傾斜。兩人吃線,經濟收益最大化,每個人都能獲得80%。現場解說表示,AI對中路搶線權理解的很透徹。
開局2分鐘,絕悟率先推掉了賽區聯隊的上路1塔,擴大經濟優勢到5.1k:4.3k。開局2分半,賽區聯隊曹操擊殺絕悟AI虞姬拿下一血,雙方經濟打平同為6.4k。

4分24秒,絕悟四人追擊娜可露露,達摩一腳將娜可露露反踢入AI中群毆,最終達摩拿下AI首個人頭。

這段時間,絕悟的雅典娜單帶,而另外四個AI一直抱團。7分20秒,雅典娜反藍成功,此時絕悟拿下3塔4人頭20.9k經濟,賽區聯隊拿下2塔3人頭19.7k經濟。
現場解說認為絕悟的效率和團隊協作方面,都表現出色。“在4-1轉線方面,幾乎是做得完美。”
雙方隨即進入一段激烈交鋒的階段。
8分48秒,絕悟一波團戰0換2,并在全員殘血的情況下,主動追殺賽區聯隊血量健康的曹操。不過絕悟也損失了血量最少的達摩,1換1。接著絕悟順勢開主宰。隨后復活的賽區聯隊玩家趕來,團滅了絕悟戰隊,并拔掉中路2塔、反藍成功。
現場解說指出,AI的策略是“不想回家,打到彈盡糧絕。”這種方法,讓帶線效率更高。
9分48秒,絕悟拿下5塔8人頭28.2k經濟,賽區聯隊拿下4塔8人頭28.9k經濟。
又一分鐘之后,絕悟連續拿下4個人頭。其中包括10分25秒,賽區聯隊曹操在上路被殘血的AI虞姬反殺。展現出絕悟1v1時良好的即時策略能力。

又一分鐘,絕悟推掉賽區聯隊中路高地塔。然而,賽區聯隊曹操繞后,緊接著來了一撥反打,收掉絕悟四個人頭,AI戰隊僅剩雅典娜脫逃。
但,賽區聯隊這一時間沒能繼續推塔,也沒有拿下主宰。
14分鐘,反讓絕悟擊殺主宰。此時,絕悟拿下7塔13人頭45.1k經濟,賽區聯隊拿下6塔12人頭43.3k經濟。接著,絕悟開始不斷的清理各路兵線,
15分20秒,絕悟四人上路抱團,在主宰先鋒的支持下,強開高地塔。雙方爆發激烈團戰,在AI王昭君和牛魔大招的加持下,絕悟最終打出一波1換5,賽區聯隊團滅。


然而~對手團滅+兩條主宰先鋒上高地的情況下,絕悟卻沒有選擇直接推水晶,而是秀了一波操作……
絕悟四人,以輪流抗塔的方式,無兵線支持,推掉了還有三分之二血量的最后一座高地塔。現場解說高聲喊:“太絕了。”

16分15秒,絕悟推掉水晶,戰勝賽區聯隊。
最終,絕悟拿下9塔18人頭56.2k經濟,賽區聯隊6塔13人頭48.0k經濟。
雙方的出裝和數據如下:


問答絕悟團隊
在這次歷史性的對抗之后,量子位與絕悟團隊進行了更進一步的交流。
量子位:這次絕悟的對手情況如何?
騰訊絕悟:5v5對戰時最高規格電競賽事——世界冠軍杯半決賽的特設環節,是中國大陸/中國香港/韓國/馬來西亞地區選手組成的賽區聯隊。世冠杯特別環節的水平測試,是5v5版本首次達到職業水平。
1v1版本的研發難度顯著低于5v5版本。ChinaJoy上測試的是1v1版本,為首次公開對外測試,面向的是頂級業余玩家,AI總體實力十分強勁。

量子位:絕悟現在掌握多少英雄?BP也是自己完成么?
騰訊絕悟:5v5版本是此次固定的十個英雄,職業選手可以自由出裝。未來希望能不斷擴大英雄池規模。
量子位:絕悟的操作手速被限制在什么水平上?
騰訊絕悟:設定為跟人類極限手速類似,因為游戲本身普攻和技能都有攻速限制,因此總體是一個相對公平的測試。
量子位:絕悟此次訓練了多久?投入了怎樣的計算資源?
騰訊絕悟:訓練使用384塊GPU,8.5w核CPU,平均每天自對戰局數相當于人類訓練440年的量,訓練周期持續訓練半個月以上。
量子位:比賽過程中,絕悟需要怎樣的網絡和計算資源支持?
騰訊絕悟:網絡解碼不需要太大資源,正常服務器即可。1v1版本已經有手機版本,目前在ChinaJoy對頂尖選手開放測試。
量子位:絕悟有什么弱點?有什么還沒玩家被解決的問題?
騰訊絕悟:有些我們不會稱為弱點,但很有意思的行為。
比如在此次測試中,最后不推水晶,要獎勵最大化?賽事尾聲,人類賽區聯隊團滅后,絕悟并未直接推水晶,而是在計算整體收益后,選擇先推完最后一個高地塔,再推水晶直至勝利。這是人類一般不會做的事情,但這符合 AI 的價值觀設定,就是最大化經濟效益。
量子位:人類對手,尤其是職業玩家怎么評價絕悟?
騰訊絕悟:前期策略上,很早就多個 AI 抱團,甚至愿意犧牲兵線,換取血量優勢;中期超強的兵線運營策略;長期策略是一直保持游戲主動權;團戰的目標選擇和控制銜接也很完美,體現了很強的團隊協作能力。
量子位:團隊介紹一下吧。
騰訊絕悟:是長期致力于游戲AI和多智能體研究的團隊,部分成員來自圍棋AI絕藝的團隊。
絕悟的研發是算法+算力高度結合,需要極致優化的算力平臺和持續改進的優化算法,團隊綜合了AI Lab的科研與工程人才資源,還聯合了我們所在的騰訊技術與工程事業部(TEG)旗下基礎架構平臺部人才。主要工作包括模型、特征、算力、數據的優化,機器虛擬化、搭建和優化數據處理、并行計算和機器學習訓練的平臺。
騰訊AI Lab一直是此類智能體研究的先行者。2016年起,研發的圍棋AI絕藝(Fine Art),現擔任中國國家圍棋隊訓練專用AI;2017年,啟動絕悟研發;2018 年,絕悟達到業余頂尖水平,騰訊還在射擊類頂級 AI 競賽VizDoom奪冠,并在《星際爭霸2》首先研發出擊敗內置AI的智能體。
量子位:普通人怎么能和絕悟交手?
騰訊絕悟:目前絕悟只是實驗階段,沒有在游戲內開放。
1v1版本在特定場合會做非常短期的測試,比如8月2日起在上海舉辦的國際數碼互動娛樂展覽會ChinaJoy,1v1版本會向頂級業余玩家開放為期四天的體驗測試。
絕悟之路
絕悟,是騰訊AI Lab和與王者榮耀共同探索的前沿研究項目:策略協作型AI。
絕悟這個名字,寓意“絕佳領悟力”。這個AI的研發始于2017年12月。2018年12月,絕悟5v5對陣《王者榮耀》王者段位人類玩家,大戰250局,拿下48%的勝率。現在,絕悟已經超越王者段位水準,達到職業電競選手的層次。
這次在吉隆坡和上海發威的絕悟版本,建立了基于“觀察-行動-獎勵”的深度強化學習模型,無需人類數據,從白板學習(Tabula Rasa)開始,讓AI自己與自己對戰。
AI一天的訓練強度高達人類440年。

據騰訊介紹,AI從0到1摸索成功經驗,勤學苦練,既學會了如何站位、打野、輔助保護和躲避傷害等游戲常識。而且,AI還探索出了不同于人類常規做法的全新策略。在上面的對戰實況中,我們已經可以感受到絕悟的不同之處。
絕悟的研發團隊還創建One Model模型提升訓練效率,優化通信效率提升AI的團隊協作能力,使用零和獎懲機制讓AI能最大化團隊利益,使其打法果斷,有舍有得。
游戲中測試的難點,是AI要在不完全信息、高度復雜度的情況作出復雜快速的決策。
在龐大且信息不完備的地圖上,10位參與者要在策略規劃、英雄選擇、技能應用、路徑探索及團隊協作上面臨大量、不間斷、即時的選擇,這帶來了極為復雜的局面,預計有高達1020000種操作可能性,而整個宇宙原子總數也只是1080。
如果AI能在如此復雜的環境中,學會人一樣實時感知、分析、理解、推理、決策到行動,就可能在多變、復雜的真實環境中發揮更大作用。
騰訊副總裁姚星表示,“電子競技”將成為策略協作型AI“絕悟”未來短期內的主要應用場景。而長期應用上,絕悟將是騰訊攻克通用人工智能(AGI)的關鍵一步。
此前,騰訊另一個AI絕藝,在圍棋賽場上大殺四方。當然對人工智能來說,王者榮耀是一個比圍棋復雜太多的難題。

絕悟背后的技術
對于這次的絕悟,騰訊AI Lab表示將通過論文等形式進一步分享技術細節,通過開放研究,幫助和啟發更多研究者。
在這我們回顧一下騰訊此前發布了一篇關于王者榮耀的論文。在這篇論文中,騰訊表示絕悟是一個基于學習的分層宏觀策略(Hierarchical Macro Strategy)模型。經過這個模型的熏陶,控制每個英雄的智能體就既能獨立做出決策又不忘與隊友溝通,成為頂尖選手。
名字里的“分層”,指的是這個模型分為注意力層(Attention Layer)和時期層(Phase layer),前者用來預測英雄該去哪兒,后者負責識別游戲進行到了什么階段,是前期、對線還是后期。

我們先看注意力層,也就是AI怎樣判斷它的英雄該去哪兒。
培養這項能力,首先要有合適的訓練數據,而在王者榮耀里,想判斷英雄“到了這兒”,最合適的標準莫過于“在這兒打起來了”。
于是,騰訊在標注訓練數據時,把下一次攻擊發生的地點,定為英雄現在該去的地點。

比如說上圖就以韓信為例,展示了游戲開局時英雄該往哪走。其中左側顯示的是游戲在初始階段s-1時的狀態,中間和右側紅框標出的ys、ys+1顯示的是韓信進行第一、二次攻擊的位置,也就是他在s-1、s兩個階段該去的位置。
AI的目標,就是學會在s-1階段該準備去y位置,在s階段該去ys+1位置。
用這樣的數據訓練注意力層,就能讓AI掌握英雄移動的奧義。
知道了該去哪還不夠,要想上王者,還得會判斷局勢,調整策略。這就是時期層的工作了。
想知道游戲進行到了前期、對線期還是后期,只靠時間當然不夠。好在游戲里主要資源的狀況和階段密不可分。比如說,如果英雄還在以推外塔打暴君(小龍)為目標,那游戲一定剛剛開局;如果打到了敵方家里,那當然是后期了。
所以,教AI判斷局勢,根據的也是對敵方主要資源的打擊狀況,包括塔、暴君、主宰(大龍)和水晶(base)。

上圖顯示的就是時期層關注的敵方主要資源,模型要從中學會的,是根據資源狀況來判斷現在該打擊什么主要資源了,并進一步判斷要完成哪些小目標。
比如下圖顯示的偷藍buff(野怪)、清下路兵線,就都是推一塔這個時期的小目標。

能分析局勢、確定目標,還知道該往哪兒走,剩下的就是隊友之間的溝通配合問題了。
不過要學溝通,真的沒什么人類對戰的數據能拿來訓練。畢竟人類隊友的溝通充滿怨念
于是,騰訊設計了一種全新的跨智能體溝通機制,用隊友的注意力標簽來訓練AI,讓它學會預測隊友要往哪走,并據此做出決策。
就這樣,一支隊伍中的5個智能體就可以協作了,也算是一種“溝通”機制吧。騰訊稱之為模仿跨智能體溝通(Imitated Crossagents Communication)。