OpenAI剛剛開源了一個大規模多智能體游戲環境,這是一個大規模強化學習模擬器,支持大量智能體同時在線,而訓練只需一個桌面CPU。
OpenAI今天重磅發布Neural MMO,這是一個“大規模多智能體”虛擬訓練平臺,它將AI智能體扔進一個類似RPG的世界——一個擁有資源收集機制和玩家對戰機制的完整游戲世界!
OpenAI在最新博客文章中寫道:“大型多人在線游戲(Massively Multiplayer Online Games, MMOs)這個游戲類型模擬了一個龐大的生態系統,其中有數量不等的玩家在持續而廣闊的環境中進行競爭。”
“包含許多智能體和物種能夠帶來更好的探索、迥異的生態位形成,以及更強的整體能力。”
AI智能體在Neural MMO環境中隨機生成,Neural MMO環境中還包含自動生成的預定大小的瓦片地圖(tile maps)。其中一些tile是可穿越的,如“森林”(里邊有食物),其他則不能穿越(如水和石頭)。
agent觀察以各自位置為中心的方塊tile,在每個 timestamp 進行一次移動和一次攻擊,解決諸如尋找有限的“食物”和“水”資源的任務(通過踩到forest tile或走到water tile旁邊),以及與其他 agent 戰斗(“近戰,” “遠攻”, “法術”等)。
OpenAI使用Neural MMO訓練了一個AI系統,通過獎勵agent的lifetime (即agent能夠維持活著的時間)來實現。
他們發現,智能體之間彼此交互的時間越長,它們在某些任務中的表現就越好,并且增加同時存在的智能體的最大數量有助于“放大”它們的探索。
有趣的是,他們還發現,增加智能體的種群規模可以促使它們分散到地圖的不同區域,而在較大環境中訓練的智能體“始終”優于在較小環境中訓練的智能體。
OpenAI在GitHub上發布了Neural MMO,它的設計支持大量智能體(100臺并行服務器每臺最多支持128個智能體)。Neural MMO封裝在基線中(在100多個世界中訓練),可以比較agent的性能,并且計算開銷相對較低——訓練只需要單個桌面CPU。
OpenAI 在博客文章中詳細介紹了Neural MMO 強化學習環境的技術細節:
多智能體強化學習兩大挑戰
近年來,多智能體設置已經成為深入強化學習研究的一個有效平臺。盡管取得了許多進展,多智能體強化學習仍然面臨兩個主要挑戰。
我們需要創建具有高度復雜性上限的開放式任務:當前的環境要么雖然復雜但過于狹窄,要么雖然開放但過于簡單。持續性和大規模等屬性也很關鍵,但是我們還需要更多的基準環境(benchmark environments)來量化在具有大規模和持續性條件下的學習進度。
大型多人在線游戲(Massively Multiplayer Online Games, MMOs)這個游戲類型模擬了一個大型生態系統,該系統由數量不等的玩家在持續且廣闊的環境中進行競爭。
為了應對這些挑戰,我們構建了Neural MMO,它符合以下標準:
持續性(Persistence):在沒有環境重置的情況下,agent可以在其他學習agent存在的情況下同時學習。策略必須考慮長期范圍,并適應其他agent行為中潛在的快速變化。
規模(Scale):環境支持大量且可變數量的實體。我們的實驗考慮了在100個并行服務器中,每個服務器128個并行智能體的長達100M的lifetimes。
效率(Efficiency):進入Neural MMO的計算障礙很低。我們可以在單個桌面CPU上訓練有效的策略。
擴展(Expansion):與現有MMO類似,Neural MMO的設計旨在更新新內容。目前的核心功能包括tile-based地形的程序化生成、食物和水的覓食系統,以及戰略作戰系統。未來有機會進行開源的擴展。
Neural MMO環境
玩家(智能體)可以加入任何可用的服務器(環境),每個服務器(環境)都包含一個自動生成的可配置大小的tile-based游戲地圖。有些tile,如生長食物的森林瓦片和草地瓦片,是可穿越的。其他的,如水和固體石頭,則不能穿越。
智能體在環境邊緣的隨機位置生成。它們必須獲得食物和水,并避免被其他智能體打倒,以維持生命。踩在森林瓦片上或靠近水的地方,分別會重新補充食物供應或水供應。
然而,森林瓦片的食物供應有限,隨著時間的推移,食物會緩慢再生。這意味著智能體們必須競爭食物瓦片,同時周期性地從無限的水瓦片中補充水的供應。
玩家在戰斗中使用三種戰斗風格,分別是近戰(Melee),遠攻(Range)和法術(Mage)。
輸入:智能體觀察以當前位置為中心的方形瓦片地圖,包括瓦片地形類型和入侵者的屬性(健康、食物、水和位置)。
輸出:智能體為下一個timestep輸出動作選項,動作包括一次移動和一次攻擊。
平臺為價值函數、地圖瓦片可視化分布和學習策略的agent-agent依賴關系提供了一個程序環境生成器(procedural environment generator)和可視化工具。Baseline使用超過100個世界的策略梯度進行訓練。
模型
作為一個簡單的baseline,我們使用普通的策略梯度訓練了一個小型的、完全連接的架構,將值函數基線和獎勵折扣作為唯一的增強。智能體不會因為實現了特定的目標而獲得獎勵,而是只根據其lifetime(軌跡長度)進行優化:在其lifetime中,每個tick都會獲得1的獎勵。我們通過計算所有玩家的最大值將可變長度的觀察值(比如周圍玩家的列表)轉換為單個長度向量(OpenAI Five也使用了這個技巧)。
GitHub開源的版本包含了完全分布式訓練實現,基于PyTorch和Ray。
評估結果
訓練時的最大population size在(16、32、64、128)之間。為了提高效率,策略在由16個智能體組成的組之間共享。在測試時,我們將在成對實驗中的populations合并,并在一個固定的population size下評估lifetime。我們只對覓食任務進行評估,因為作戰策略更難直接比較。結果顯示,在更大的population中訓練出來的智能體總是表現得更好。
智能體的策略是從多個群體中均勻采樣的——不同群體的智能體共享架構,但只有相同群體中的智能體共享權重。初步實驗表明,隨著多智能體交互作用的增加,智能體的能力逐漸增強。增加同時存在的玩家的最大數量能夠放大探索;群體數量的增加擴大了生態位的形成,也就是說,擴大了群體在地圖不同區域的擴散和覓食的趨勢。
服務器合并錦標賽:多智能體增強了競爭力
MMO之間沒有標準的程序來評估跨多個服務器的相對玩家能力。然而,MMO服務器有時會經歷合并,即來自多個服務器的玩家基地被放置在單個服務器中。我們通過合并在不同服務器上訓練的玩家基地來實現“錦標賽”風格的評估。這使我們能夠直接比較在不同實驗環境中學習到的策略。我們改變了測試時間范圍,發現在較大環境中訓練的智能體始終優于在較小環境中訓練的智能體。
增大群體規模擴大了探索
Population size的增大擴大了探索范圍:智能體會分散開來,以避免競爭。視頻最后幾幀顯示了學習值函數疊加。
在自然界中,動物之間的競爭可以激勵它們分散開來,以避免沖突。我們觀察到,隨著同時存在的智能體數量的增加,地圖覆蓋率也在增加。智能體學習探索僅僅是因為其他智能體的存在提供了這樣做的自然動機。
物種數量的增加擴大了生態位的形成
物種數量(populations的數量)放大了生態位形成(niche formation)。探索地圖覆蓋了游戲地圖;不同的顏色對應不同的物種。訓練單一種群往往會產生單一的深度探索路徑。訓練8個種群會導致許多更淺的路徑:種群分散以避免物種間的競爭。
在一個足夠大且資源豐富的環境中,我們發現不同的智能體種群分布在整個地圖上,以避免在種群增長時與其他智能體競爭。由于實體無法在競爭中勝過其種群中的其他智能體(即與它們共享權重),它們傾向于在地圖上尋找包含足夠資源以維持其人口的區域。DeepMind在并發多智能體研究中也獨立觀察到類似的效果。
其他啟發
每個方形地圖顯示了位于地圖中心的智能體對其周圍智能體存在的響應。我們展示了初始化和訓練早期的覓食地圖,額外的依賴關系圖對應于不同的覓食和戰斗形式。
我們通過將智能體固定在假想地圖的中心來可視化agent-agent依賴關系。對于該智能體可見的每個位置,我們將顯示如果在該位置有第二個智能體,值函數將是什么。我們發現,在覓食和戰斗環境中,agent學習依賴于其他agent的策略。當智能體學習環境中的戰斗機制時,它們開始適當地評估有效的接近范圍和接近的角度。
下一步的研究
我們的Neural MMO解決了之前基于游戲環境的兩個主要限制,但仍有許多問題尚未解決。NeuralMMO在環境復雜性和人口規模之間找到了一個中間地帶。我們在設計這個環境時考慮到了開源擴展,并將其作為研究社區的基礎。
開源
此存儲庫包含基于 THREE.js 的主要神經 MMO 項目的 3D 瀏覽器客戶端。它雖然是用 Javascript 寫的,但讀起來像 Python。
安裝
你不需要手動 clone 這個庫,只需遵循 OpenAI Repo 中的安裝說明 (下方鏈接):
https://docs.google.com/document/d/1_76rYTPtPysSh2_cFFz3Mfso-9VL3_tF5ziaIZ8qmS8/edit?usp=sharing
該鏈接將下載 THREE.js。如果你不希望下載整個源代碼庫,可以手動完成此操作。
性能
在高端臺式機上大約 50-60 FPS,負載在 3s 左右,在 Razer 筆記本電腦上大約 30 FPS,負載在 10s 左右。
已知局限性
客戶端已經在 Ubuntu 上用 Firefox 進行了測試。不要使用 Chrome。它應該可以在其他 Linux 發行版和 mac 上運行。
如果硬件設置允許,請使用 Nvidia 驅動程序。唯一真正的需求是支持每個著色器超過 16 個紋理。這只在 Counts visualizer 中需要 —— 如果在切換疊加時地形圖消失,那么你將知道你的設置是錯誤的。
這是因為研究疊加層被編寫為原始 glsl 著色器。特別地,計數探索可視化器硬編碼對應于探索地圖的八個紋理。 這超出了允許的紋理數量。
-
智能體
+關注
關注
1文章
166瀏覽量
10615 -
生態系統
+關注
關注
0文章
704瀏覽量
20784 -
強化學習
+關注
關注
4文章
268瀏覽量
11305
原文標題:OpenAI重磅發布Nueral MMO:一個CPU支撐大量智能體同時在線
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
一個大規模電路是怎么設計出來的???
5G大規模多入多出(MIMO)測試臺:從理論到現實
大規模特征構建實踐總結
大規模MIMO的利弊
面向大規模地震體的多切片實時交互繪制優化
![面向<b class='flag-5'>大規模</b>地震<b class='flag-5'>體</b>的<b class='flag-5'>多</b>切片實時交互繪制優化](https://file.elecfans.com/web2/M00/49/6A/poYBAGKhwLCAc2vPAAAWRoA2fko897.jpg)
一個大規模分布式原生XML數據庫原型系統
![<b class='flag-5'>一</b><b class='flag-5'>個大規模</b>分布式原生XML數據庫原型系統](https://file.elecfans.com/web1/M00/45/FC/pIYBAFp9VfOAfM2VAABiQPEDn-g899.jpg)
評論