OpenAI剛剛開源了一個(gè)大規(guī)模多智能體游戲環(huán)境,這是一個(gè)大規(guī)模強(qiáng)化學(xué)習(xí)模擬器,支持大量智能體同時(shí)在線,而訓(xùn)練只需一個(gè)桌面CPU。
OpenAI今天重磅發(fā)布Neural MMO,這是一個(gè)“大規(guī)模多智能體”虛擬訓(xùn)練平臺(tái),它將AI智能體扔進(jìn)一個(gè)類似RPG的世界——一個(gè)擁有資源收集機(jī)制和玩家對(duì)戰(zhàn)機(jī)制的完整游戲世界!
OpenAI在最新博客文章中寫道:“大型多人在線游戲(Massively Multiplayer Online Games, MMOs)這個(gè)游戲類型模擬了一個(gè)龐大的生態(tài)系統(tǒng),其中有數(shù)量不等的玩家在持續(xù)而廣闊的環(huán)境中進(jìn)行競(jìng)爭(zhēng)?!?/p>
“包含許多智能體和物種能夠帶來(lái)更好的探索、迥異的生態(tài)位形成,以及更強(qiáng)的整體能力?!?/p>
AI智能體在Neural MMO環(huán)境中隨機(jī)生成,Neural MMO環(huán)境中還包含自動(dòng)生成的預(yù)定大小的瓦片地圖(tile maps)。其中一些tile是可穿越的,如“森林”(里邊有食物),其他則不能穿越(如水和石頭)。
agent觀察以各自位置為中心的方塊tile,在每個(gè) timestamp 進(jìn)行一次移動(dòng)和一次攻擊,解決諸如尋找有限的“食物”和“水”資源的任務(wù)(通過(guò)踩到forest tile或走到water tile旁邊),以及與其他 agent 戰(zhàn)斗(“近戰(zhàn),” “遠(yuǎn)攻”, “法術(shù)”等)。
OpenAI使用Neural MMO訓(xùn)練了一個(gè)AI系統(tǒng),通過(guò)獎(jiǎng)勵(lì)agent的lifetime (即agent能夠維持活著的時(shí)間)來(lái)實(shí)現(xiàn)。
他們發(fā)現(xiàn),智能體之間彼此交互的時(shí)間越長(zhǎng),它們?cè)谀承┤蝿?wù)中的表現(xiàn)就越好,并且增加同時(shí)存在的智能體的最大數(shù)量有助于“放大”它們的探索。
有趣的是,他們還發(fā)現(xiàn),增加智能體的種群規(guī)??梢源偈顾鼈兎稚⒌降貓D的不同區(qū)域,而在較大環(huán)境中訓(xùn)練的智能體“始終”優(yōu)于在較小環(huán)境中訓(xùn)練的智能體。
OpenAI在GitHub上發(fā)布了Neural MMO,它的設(shè)計(jì)支持大量智能體(100臺(tái)并行服務(wù)器每臺(tái)最多支持128個(gè)智能體)。Neural MMO封裝在基線中(在100多個(gè)世界中訓(xùn)練),可以比較agent的性能,并且計(jì)算開銷相對(duì)較低——訓(xùn)練只需要單個(gè)桌面CPU。
OpenAI 在博客文章中詳細(xì)介紹了Neural MMO 強(qiáng)化學(xué)習(xí)環(huán)境的技術(shù)細(xì)節(jié):
多智能體強(qiáng)化學(xué)習(xí)兩大挑戰(zhàn)
近年來(lái),多智能體設(shè)置已經(jīng)成為深入強(qiáng)化學(xué)習(xí)研究的一個(gè)有效平臺(tái)。盡管取得了許多進(jìn)展,多智能體強(qiáng)化學(xué)習(xí)仍然面臨兩個(gè)主要挑戰(zhàn)。
我們需要?jiǎng)?chuàng)建具有高度復(fù)雜性上限的開放式任務(wù):當(dāng)前的環(huán)境要么雖然復(fù)雜但過(guò)于狹窄,要么雖然開放但過(guò)于簡(jiǎn)單。持續(xù)性和大規(guī)模等屬性也很關(guān)鍵,但是我們還需要更多的基準(zhǔn)環(huán)境(benchmark environments)來(lái)量化在具有大規(guī)模和持續(xù)性條件下的學(xué)習(xí)進(jìn)度。
大型多人在線游戲(Massively Multiplayer Online Games, MMOs)這個(gè)游戲類型模擬了一個(gè)大型生態(tài)系統(tǒng),該系統(tǒng)由數(shù)量不等的玩家在持續(xù)且廣闊的環(huán)境中進(jìn)行競(jìng)爭(zhēng)。
為了應(yīng)對(duì)這些挑戰(zhàn),我們構(gòu)建了Neural MMO,它符合以下標(biāo)準(zhǔn):
持續(xù)性(Persistence):在沒有環(huán)境重置的情況下,agent可以在其他學(xué)習(xí)agent存在的情況下同時(shí)學(xué)習(xí)。策略必須考慮長(zhǎng)期范圍,并適應(yīng)其他agent行為中潛在的快速變化。
規(guī)模(Scale):環(huán)境支持大量且可變數(shù)量的實(shí)體。我們的實(shí)驗(yàn)考慮了在100個(gè)并行服務(wù)器中,每個(gè)服務(wù)器128個(gè)并行智能體的長(zhǎng)達(dá)100M的lifetimes。
效率(Efficiency):進(jìn)入Neural MMO的計(jì)算障礙很低。我們可以在單個(gè)桌面CPU上訓(xùn)練有效的策略。
擴(kuò)展(Expansion):與現(xiàn)有MMO類似,Neural MMO的設(shè)計(jì)旨在更新新內(nèi)容。目前的核心功能包括tile-based地形的程序化生成、食物和水的覓食系統(tǒng),以及戰(zhàn)略作戰(zhàn)系統(tǒng)。未來(lái)有機(jī)會(huì)進(jìn)行開源的擴(kuò)展。
Neural MMO環(huán)境
玩家(智能體)可以加入任何可用的服務(wù)器(環(huán)境),每個(gè)服務(wù)器(環(huán)境)都包含一個(gè)自動(dòng)生成的可配置大小的tile-based游戲地圖。有些tile,如生長(zhǎng)食物的森林瓦片和草地瓦片,是可穿越的。其他的,如水和固體石頭,則不能穿越。
智能體在環(huán)境邊緣的隨機(jī)位置生成。它們必須獲得食物和水,并避免被其他智能體打倒,以維持生命。踩在森林瓦片上或靠近水的地方,分別會(huì)重新補(bǔ)充食物供應(yīng)或水供應(yīng)。
然而,森林瓦片的食物供應(yīng)有限,隨著時(shí)間的推移,食物會(huì)緩慢再生。這意味著智能體們必須競(jìng)爭(zhēng)食物瓦片,同時(shí)周期性地從無(wú)限的水瓦片中補(bǔ)充水的供應(yīng)。
玩家在戰(zhàn)斗中使用三種戰(zhàn)斗風(fēng)格,分別是近戰(zhàn)(Melee),遠(yuǎn)攻(Range)和法術(shù)(Mage)。
輸入:智能體觀察以當(dāng)前位置為中心的方形瓦片地圖,包括瓦片地形類型和入侵者的屬性(健康、食物、水和位置)。
輸出:智能體為下一個(gè)timestep輸出動(dòng)作選項(xiàng),動(dòng)作包括一次移動(dòng)和一次攻擊。

平臺(tái)為價(jià)值函數(shù)、地圖瓦片可視化分布和學(xué)習(xí)策略的agent-agent依賴關(guān)系提供了一個(gè)程序環(huán)境生成器(procedural environment generator)和可視化工具。Baseline使用超過(guò)100個(gè)世界的策略梯度進(jìn)行訓(xùn)練。
模型
作為一個(gè)簡(jiǎn)單的baseline,我們使用普通的策略梯度訓(xùn)練了一個(gè)小型的、完全連接的架構(gòu),將值函數(shù)基線和獎(jiǎng)勵(lì)折扣作為唯一的增強(qiáng)。智能體不會(huì)因?yàn)閷?shí)現(xiàn)了特定的目標(biāo)而獲得獎(jiǎng)勵(lì),而是只根據(jù)其lifetime(軌跡長(zhǎng)度)進(jìn)行優(yōu)化:在其lifetime中,每個(gè)tick都會(huì)獲得1的獎(jiǎng)勵(lì)。我們通過(guò)計(jì)算所有玩家的最大值將可變長(zhǎng)度的觀察值(比如周圍玩家的列表)轉(zhuǎn)換為單個(gè)長(zhǎng)度向量(OpenAI Five也使用了這個(gè)技巧)。
GitHub開源的版本包含了完全分布式訓(xùn)練實(shí)現(xiàn),基于PyTorch和Ray。
評(píng)估結(jié)果

訓(xùn)練時(shí)的最大population size在(16、32、64、128)之間。為了提高效率,策略在由16個(gè)智能體組成的組之間共享。在測(cè)試時(shí),我們將在成對(duì)實(shí)驗(yàn)中的populations合并,并在一個(gè)固定的population size下評(píng)估lifetime。我們只對(duì)覓食任務(wù)進(jìn)行評(píng)估,因?yàn)樽鲬?zhàn)策略更難直接比較。結(jié)果顯示,在更大的population中訓(xùn)練出來(lái)的智能體總是表現(xiàn)得更好。
智能體的策略是從多個(gè)群體中均勻采樣的——不同群體的智能體共享架構(gòu),但只有相同群體中的智能體共享權(quán)重。初步實(shí)驗(yàn)表明,隨著多智能體交互作用的增加,智能體的能力逐漸增強(qiáng)。增加同時(shí)存在的玩家的最大數(shù)量能夠放大探索;群體數(shù)量的增加擴(kuò)大了生態(tài)位的形成,也就是說(shuō),擴(kuò)大了群體在地圖不同區(qū)域的擴(kuò)散和覓食的趨勢(shì)。
服務(wù)器合并錦標(biāo)賽:多智能體增強(qiáng)了競(jìng)爭(zhēng)力
MMO之間沒有標(biāo)準(zhǔn)的程序來(lái)評(píng)估跨多個(gè)服務(wù)器的相對(duì)玩家能力。然而,MMO服務(wù)器有時(shí)會(huì)經(jīng)歷合并,即來(lái)自多個(gè)服務(wù)器的玩家基地被放置在單個(gè)服務(wù)器中。我們通過(guò)合并在不同服務(wù)器上訓(xùn)練的玩家基地來(lái)實(shí)現(xiàn)“錦標(biāo)賽”風(fēng)格的評(píng)估。這使我們能夠直接比較在不同實(shí)驗(yàn)環(huán)境中學(xué)習(xí)到的策略。我們改變了測(cè)試時(shí)間范圍,發(fā)現(xiàn)在較大環(huán)境中訓(xùn)練的智能體始終優(yōu)于在較小環(huán)境中訓(xùn)練的智能體。
增大群體規(guī)模擴(kuò)大了探索
Population size的增大擴(kuò)大了探索范圍:智能體會(huì)分散開來(lái),以避免競(jìng)爭(zhēng)。視頻最后幾幀顯示了學(xué)習(xí)值函數(shù)疊加。
在自然界中,動(dòng)物之間的競(jìng)爭(zhēng)可以激勵(lì)它們分散開來(lái),以避免沖突。我們觀察到,隨著同時(shí)存在的智能體數(shù)量的增加,地圖覆蓋率也在增加。智能體學(xué)習(xí)探索僅僅是因?yàn)槠渌悄荏w的存在提供了這樣做的自然動(dòng)機(jī)。
物種數(shù)量的增加擴(kuò)大了生態(tài)位的形成
物種數(shù)量(populations的數(shù)量)放大了生態(tài)位形成(niche formation)。探索地圖覆蓋了游戲地圖;不同的顏色對(duì)應(yīng)不同的物種。訓(xùn)練單一種群往往會(huì)產(chǎn)生單一的深度探索路徑。訓(xùn)練8個(gè)種群會(huì)導(dǎo)致許多更淺的路徑:種群分散以避免物種間的競(jìng)爭(zhēng)。
在一個(gè)足夠大且資源豐富的環(huán)境中,我們發(fā)現(xiàn)不同的智能體種群分布在整個(gè)地圖上,以避免在種群增長(zhǎng)時(shí)與其他智能體競(jìng)爭(zhēng)。由于實(shí)體無(wú)法在競(jìng)爭(zhēng)中勝過(guò)其種群中的其他智能體(即與它們共享權(quán)重),它們傾向于在地圖上尋找包含足夠資源以維持其人口的區(qū)域。DeepMind在并發(fā)多智能體研究中也獨(dú)立觀察到類似的效果。
其他啟發(fā)
每個(gè)方形地圖顯示了位于地圖中心的智能體對(duì)其周圍智能體存在的響應(yīng)。我們展示了初始化和訓(xùn)練早期的覓食地圖,額外的依賴關(guān)系圖對(duì)應(yīng)于不同的覓食和戰(zhàn)斗形式。
我們通過(guò)將智能體固定在假想地圖的中心來(lái)可視化agent-agent依賴關(guān)系。對(duì)于該智能體可見的每個(gè)位置,我們將顯示如果在該位置有第二個(gè)智能體,值函數(shù)將是什么。我們發(fā)現(xiàn),在覓食和戰(zhàn)斗環(huán)境中,agent學(xué)習(xí)依賴于其他agent的策略。當(dāng)智能體學(xué)習(xí)環(huán)境中的戰(zhàn)斗機(jī)制時(shí),它們開始適當(dāng)?shù)卦u(píng)估有效的接近范圍和接近的角度。
下一步的研究
我們的Neural MMO解決了之前基于游戲環(huán)境的兩個(gè)主要限制,但仍有許多問(wèn)題尚未解決。NeuralMMO在環(huán)境復(fù)雜性和人口規(guī)模之間找到了一個(gè)中間地帶。我們?cè)谠O(shè)計(jì)這個(gè)環(huán)境時(shí)考慮到了開源擴(kuò)展,并將其作為研究社區(qū)的基礎(chǔ)。
開源
此存儲(chǔ)庫(kù)包含基于 THREE.js 的主要神經(jīng) MMO 項(xiàng)目的 3D 瀏覽器客戶端。它雖然是用 Javascript 寫的,但讀起來(lái)像 Python。
安裝
你不需要手動(dòng) clone 這個(gè)庫(kù),只需遵循 OpenAI Repo 中的安裝說(shuō)明 (下方鏈接):
https://docs.google.com/document/d/1_76rYTPtPysSh2_cFFz3Mfso-9VL3_tF5ziaIZ8qmS8/edit?usp=sharing
該鏈接將下載 THREE.js。如果你不希望下載整個(gè)源代碼庫(kù),可以手動(dòng)完成此操作。
性能
在高端臺(tái)式機(jī)上大約 50-60 FPS,負(fù)載在 3s 左右,在 Razer 筆記本電腦上大約 30 FPS,負(fù)載在 10s 左右。
已知局限性
客戶端已經(jīng)在 Ubuntu 上用 Firefox 進(jìn)行了測(cè)試。不要使用 Chrome。它應(yīng)該可以在其他 Linux 發(fā)行版和 mac 上運(yùn)行。
如果硬件設(shè)置允許,請(qǐng)使用 Nvidia 驅(qū)動(dòng)程序。唯一真正的需求是支持每個(gè)著色器超過(guò) 16 個(gè)紋理。這只在 Counts visualizer 中需要 —— 如果在切換疊加時(shí)地形圖消失,那么你將知道你的設(shè)置是錯(cuò)誤的。
這是因?yàn)檠芯刊B加層被編寫為原始 glsl 著色器。特別地,計(jì)數(shù)探索可視化器硬編碼對(duì)應(yīng)于探索地圖的八個(gè)紋理。 這超出了允許的紋理數(shù)量。
-
智能體
+關(guān)注
關(guān)注
1文章
387瀏覽量
11520 -
生態(tài)系統(tǒng)
+關(guān)注
關(guān)注
0文章
710瀏覽量
21504 -
強(qiáng)化學(xué)習(xí)
+關(guān)注
關(guān)注
4文章
269瀏覽量
11901
原文標(biāo)題:OpenAI重磅發(fā)布Nueral MMO:一個(gè)CPU支撐大量智能體同時(shí)在線
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
一個(gè)大規(guī)模電路是怎么設(shè)計(jì)出來(lái)的???
5G大規(guī)模多入多出(MIMO)測(cè)試臺(tái):從理論到現(xiàn)實(shí)
大規(guī)模特征構(gòu)建實(shí)踐總結(jié)
大規(guī)模MIMO的利弊
大規(guī)模MIMO的性能
一個(gè)大規(guī)模超文本網(wǎng)絡(luò)搜索引擎剖析(英文版)
一個(gè)大規(guī)模分布式原生XML數(shù)據(jù)庫(kù)原型系統(tǒng)
OpenAI的由5個(gè)神經(jīng)網(wǎng)絡(luò)組成的OpenAI Five,已經(jīng)開始擊敗Dota 2的業(yè)余玩家隊(duì)伍
OpenAI發(fā)布Neural MMO—一個(gè)強(qiáng)化學(xué)習(xí)的大型多智能體游戲環(huán)境
OpenAI發(fā)布了一個(gè)名為“Neural MMO”的大型多智能體游戲環(huán)境
Gambetta:我們的終極目標(biāo)是建造一個(gè)大規(guī)模的量子計(jì)算機(jī)
微軟與OpenAI合作建立一個(gè)超級(jí)計(jì)算機(jī)
一個(gè)簡(jiǎn)單的反射游戲開源項(xiàng)目

OpenAI剛剛開源了一個(gè)大規(guī)模多智能體游戲環(huán)境
評(píng)論