近年來,多智能體強化學習成爲了人工智能的熱門研究方向。不同於圍棋和星際爭霸這類單智能體任務。多智能體系統中包含多個智能體,它們共享一個環境,每個智能體的行爲都會對共同的環境產生影響。如何讓多個智能體學會協同合作解決問題一直困擾着諸多研究人員。

由OpenAI組織研發「OpenAI Five」是人工智能界2018年的一大亮點。它以MOBA類多人對抗遊戲Dota2作爲背景,使用深度學習和強化學習訓練多智能體系統,在短時間內就擊敗了遊戲內置AI和業餘玩家組成的戰隊。Dota 2是世界上最流行和最複雜的多人電子競技遊戲,同時也是一個典型的AI難題。同圍棋一樣,AI每時每刻都要進行長期規劃;同星際爭霸一樣,AI面對的是不完全信息博弈,在不確定的情況下進行推理和規劃。與二者不同的是,Dota2是5v5的團隊遊戲,需要多個智能體協作完成複雜的任務。多智能體博弈已經成爲了人工智能研究的新方向。因此,攻克Dota2將會是一個里程碑式的成就。

Ti8首秀

DOTA2國際邀請賽,The International DOTA2 Championships,是每年一次在夏季舉行DOTA2最大規模和最高獎金額度的國際性高水準比賽。今年的TI8的獎金高達2500萬美金以上,是全世界獎金最高的電競賽事。爲了挑戰更強的對手,OpenAIFive在Ti8上與職業選手交手。

OpenAIFive第一場比賽的對手是來自南美的paiN Gaming戰隊,它們是來參加本屆Ti的十八支頂尖戰隊之一。在開局不久後,paiN戰隊選手w33帶隊拿下一血(首次擊殺對方英雄),paiN衆人的表情都十分輕鬆,似乎已經勝券在握。在隨後的比賽中,OpenAI始終沒有在團戰中落入下風,相反是美如畫的技能combo和堅定的執行力幫助經濟並不領先的OpenAI將局勢緊緊攥在手裏。paiN衆人的表情逐漸凝重,彷彿意識到了危險,並逐漸開始挽回局勢。最終,認真起來的paiN戰隊還是戰勝了OpenAI Five。

第二天,OpenAI Five經過調整後再次亮相。在一場長達 45 分鐘的比賽中,AI 輸給了中國Dota 2 名人堂五位選手組成的戰隊。AI在50多分鐘的鏖戰中,從牢牢掌控局面到被人類一點點消磨到崩盤。相似的情節再次上演。人類選手在對線上略微有點喫虧,但是意識、出裝依然能看出當年專業的水平,而且人類隊打的其實還比較輕鬆,看上去沒有特別緊張。

總的來看,這個版本的OpenAI Five在小操作和團戰上勝過人類選手,也能在團戰中看出他們的一些技能配合。但是它在很多細節處理上讓人大跌眼鏡,比如把多個偵察守衛放置在一起、經常迷路到BOSS位置、陣亡之後立刻選擇買活等。每到中後期便逐漸疲軟這一明顯的弱點,暴露了它只注重眼前利益而缺少對任務的長期規劃。

OG戰隊:王者歸來

2018年8月26日,在Ti8總決賽的精彩對決中,OG更勝一籌,以3:2的比分戰勝了中國戰隊PSG.LGD。他們擊敗了來自世界各地的頂尖戰隊,在全世界面前捧起了冠軍盾,拿下了DOTA2無與倫比的最高榮耀。隊員Notail與JerAx成功拿下四大聯賽大滿貫,教練7ckngMad親自登場並且率隊創造了歷史。

遙想開賽之前,因爲在17-18賽年成績不佳,即便他們在重組後拿下了歐洲區預選賽的冠軍,OG在正賽開始前也並沒有被看好。在這一年裏,作爲一支有着穩定贊助、穩定陣容的傳統強隊,OG在DPC賽季中糟糕的成績辜負了粉絲們的期待,甚至連建隊元老都選擇攜手出走。然而就在一切崩盤的時候,他們卻用一次神奇的轉會,讓我們看到了這支隊伍不爲人知的一面,更是在全世界面前捧起了TI冠軍盾,拿下了DOTA2無與倫比的榮耀。霸主歸來,OG一路從海選賽打出重圍到TI正賽的一往無前,再到擊敗PSG.LGD拿下TI8冠軍,對於他們實屬不易。拋除隊員個人技術和隊伍的戰術打法不談,OG戰隊最恐怖的實力就是:韌性,尤其是面對逆風局時的韌性,而這也正是冠軍隊伍必備的品質之一,值得我們每一個人學習。回顧OG戰隊在Ti8上的所有比賽,不論處於多大劣勢,他們從來都沒有放棄,即便是失敗也會撐到基地爆炸,很少提前放棄比賽,這也使得他們在正賽開始後,一路從勝者組走到了決賽,最終拿下冠軍。

捲土重來,挑戰王者

經過了一年的學習和提升後,OpenAI Five捲土重來。2019年3月26日,OpenAI宣佈於2019年4月13日舉辦最後一場挑戰賽,對手是世界冠軍,王者OG戰隊。這一消息發佈後,隨即成爲了國內外各大論壇的熱門話題。人們的看法各不相同,但都對這場比賽抱有很大的期待。大部分人依舊不看好它,畢竟先前在Ti8上大敗而歸,況且這次對手還是世界冠軍,結果必然凶多吉少。也有小部分人持樂觀態度,認爲AI這次有很大希望戰勝人類。據研究人員稱,OpenAI Five學習一年相當於人類學習四萬年!相信它一定能超越人類十餘年來積累的成果。

比賽在Dota2 7.21版本上進行,採用三局兩勝制。

不同於傳統的比賽,人機對抗在遊戲規則上有所限制:

英雄池僅包含17個英雄,:斧王、水晶室女、死亡先知、撼地神牛、矮人直升機、巫妖、惡魔巫師、死靈法師、痛苦女王、剃刀、隱刺、影魔、斯拉克、矮人火槍手、斯溫、潮汐獵人、冥界亞龍、巫醫。這些英雄沒有召喚單位和幻象技能。能夠召喚單位或是製造幻象的物品也被禁止:分身斧、死靈書和支配頭盔。

第一局雙方選擇的陣容如下:

OpenAIFive作爲天輝方,選擇了火槍、飛機、冰女、死亡先知、斯溫;

OG戰隊作爲夜魘方,選擇了小牛、巫醫、毒龍、隱刺、影魔。

確定陣容後,OpenAI Five給出的勝率預測是67.6%。這一樂觀數值的來源尚未可知,筆者猜測是因爲選到了在訓練過程中勝率較高的幾名英雄,所以有較大的把握取勝。

剛剛開局,雙方的偵察小隊就在野外遭遇,OpenAIFive率先拿到巫醫的第一滴血, OG衆人也還以顏色,擊殺了對方冰女。一波激烈的交火後,雙方都不敢再深入,便各自散去。在對線期,雙方的擊殺數一直不相上下,AI一方依靠良好的對線操作,在團隊經濟上取得了一些小優勢。雙方從資源分配方式上已經有了明顯的區別:

雖然總體經濟落後,OG戰隊的三名核心英雄卻高於AI方的核心英雄。這就是人類比賽中常用的3核心+2輔助戰術,犧牲2名英雄的經濟保證另外3名英雄的發育。而AI這邊的經濟分配較爲平均,最低冰女和最高的死亡先知僅僅差了1700。

比賽進行到17分鐘時,OG雙線發難,拿到了雙倍攻擊神符的隱形刺客帶領牛頭人入侵對手野區,擊殺了正在打野的飛機。AI第一時間選擇了買活,震驚了在場的所有人。買活是一種用經濟換取時間的方式,它允許玩家在陣亡後無需等待數十秒的復活時間,直接回到戰場。除了需要大量的現有金錢外,還會降低買活後的經濟收入。當我們還在思考AI選擇買活的原因時,落單的死亡先知和斯溫也陸續被OG衆人擊殺。這一次,AI還是選擇了買活並集合所有英雄進攻中路。

19分鐘,第一波大團戰在中路打響。AI方依靠精彩的操作和配合擊殺了對方所有英雄,而己方無任何損失。這波大勝直接使得OG戰隊中路高地告破,經濟拉開了六千的差距。同時也導致聖壇被摧毀,高地之外幾乎全部落入天輝方(OpenAI Five)的掌控。接下來OG只能選擇防守反擊,而AI方則是穩中求勝,逐步擴大優勢。

35分鐘,OG的核心裝備成型,主動出擊並在天輝遠古野處抓到落單的冰女擊殺。但是,AI的另外四人火速增援,擊殺了OG四名英雄。買活的毒龍獨木難支,OG順利攻破上路和下路並有序撤退。

最終,OpenAI Five拿下了第一場比賽。現場也是一片掌聲。這場比賽中,AI展現了清奇的思路:出門裝就選擇兩個大藥,後續的裝備也更傾向於買補給品,而不是提高自身屬性。

第二局比賽雙方的陣容如下:

OpenAIFive作爲天輝方,選擇了冰女、飛機、斯溫、巫醫、毒龍

OG戰隊作爲夜魘方,選擇了火槍、小牛、死亡先知、小魚人、萊恩

陣容確定後,AI對自身勝率的預測是60.8%,略低於上一局。

比賽前兩分鐘,OG戰隊中單Topson使用的火槍手被毒龍單殺,送出了一血。在對線過程中,AI各路開花,冰女和巫醫帶動了全場節奏。十分鐘,比分就已經來到了11:3,OG接近崩盤。面對如此大劣,OG並沒有選擇猥瑣發育,而是繼續強行打團戰,結果就是劣勢越來越打,三核心的經濟全面落後,完全看不到翻盤的希望。

14分鐘,領先了1萬經濟的AI攻上了OG高地。OG已然被打亂了陣腳,上演了葫蘆娃救爺爺——一個一個送的“好戲”。

僅僅21分鐘,OG的基地被推掉,OpenAI Five輕鬆拿下第二局。直到比賽結束,OG拿下人頭還是個位數,被AI打成了46:6。

2:0,這一結果出幾乎讓所有人大跌眼鏡。在第一局中,AI前期有略微的劣勢,然後開始發力挽回了局勢,第二局幾乎就是一直碾壓OG。縱觀整個系列賽,OpenAI Five已經改善了此前的大多數弱點,比如:胡亂逛街、空放大招、一旦劣勢便手足無措等。並且體現出了相當強大的局勢控制能力。不過對局過程中還是能看出AI在細節上有一些不足。比如說面對在複雜樹林中繞來繞去的人類,AI就無能爲力。今天的比賽中,Ceb就靠繞樹林救了自己一命。

我們可以毫不誇張地說,這一次,人類方一敗塗地。

技術探究

OpenAI的快速進化是它訓練的成果,也就是不斷自我對局。它們的訓練量遠非人類能及,當然對計算力的需求也無比巨大。OpenAI一共使用了256塊P100 GPU和12.8萬塊CPU核心進行訓練,OpenAIFive每天的訓練量相當於人類180年。

Dota 2 中大概有 170,000 個不同的動作,包括正常的動作,如移動和攻擊,還包括技能施放、物品使用、狀態升級等。在每個時間點上並非所有操作都可以使用——比如可能還沒有學這個技能,或者揹包裏沒有這個裝備。但你仍然可以使用大約 1000 種不同的操作。此外,許多動作都有參數,例如你想要移動到什麼區域或你想要攻擊哪個敵人。OpenAI在博文中也展示了很好的動作空間的可視化,如下圖所示:

右側的遊戲畫面中,智能體控制的英雄水晶室女的動作空間及可選目標如圖左所示,其中可選動作包含了移動、攻擊、使用回城卷軸和使用技能等。不同動作對應的目標也各不相同,目標可以是單位也可以是空地(用座標表示)。

OpenAIFive的五個AI玩家每個人都擁有一個自己的LSTM神經網絡,其中包含1024個神經元。輸入當前遊戲狀態後,該神經網絡會計算出下一步採取的動作。OpenAI使用了自主研發的Rapid通用強化學習訓練系統,並使用近端策略優化算法進行學習。既然是五個智能體組成的戰隊,當然還要讓它們能夠互相配合,各司其職。爲此,OpenAI設計了一個名爲“團隊精神“的參數來控制。這一參數的取值範圍在0到1之間,決定了AI對自身獎勵函數和隊友平均獎勵函數的關注程度的分配。

訓練系統分爲自我訓練的Rollout Workers,它運行一個遊戲副本並用一個智能體收集經驗。修正神經網絡參數的Optimizer在一系列GPU中執行同步梯度下降,更新LSTM神經網絡的參數。評估模型的Eval Workers會與硬編碼的腳本AI、先前版本的AI對戰以評估當前AI的實力。OpenAI Five的自我訓練是從隨機參數開始的,爲了避免“戰略崩潰“,自我訓練被分爲兩部分:80%是和當前版本的自己對戰、20%是和之前版本對戰。經過幾個小時的訓練,帶線、刷錢、抓人等戰略陸續出現。幾天後,它們已經學會了人類的基本戰略,如搶對手的神符、佔線刷錢、抱團推進等。成功的探索自然離不開回報的指引。OpenAI爲Dota2設計的回報機制是基於人類玩家對行爲的具體評判:如團隊作用、技能施放、死亡次數、助攻次數和擊殺次數等。每當智能體做出有利於戰局的行爲,就會獲得一個獎勵信號,從而激勵它在以後趨向於執行類似的行爲。同時,爲了防止智能體鑽漏洞,還需要計算了另一隊的平均獎勵,然後用本隊英雄表現減去這個值來具體評判。

結語

到今天爲止,OpenAI的DotaAI誕生兩年,已經幾次震驚世人。它的進化令人刮目相看。它的勝利贏得了人們的掌聲。我們可以預料的是,人們對於人工智能的探索將不會停止。隨着AI技術的發展,公衆對於它的態度也會更爲包容。

未來可期。

來源:中國科學院軟件研究所

《崛起的超級智能》一書主要闡述當今天人類爲人工智能的春天到來而興奮,爲人工智能是否超越人類而恐慌的時候,一個更爲龐大、遠超人類預期的智能形態正在崛起,種種跡象表明50年來,互聯網正在從網狀結構進化成爲類腦模型,數十億人類智慧與數百億機器智能通過互聯網大腦結構,正在形成自然界前所未有的超級智能形式。這個新的超級智能的崛起正在對人類的科技,產業、經濟,軍事,國家競爭產生重要而深遠的影響。

張亞勤、劉慈欣、周鴻禕、王飛躍、約翰.翰茲聯合推薦

作者:劉鋒

相關文章