Neural MMO: A Massively Multiagent Game Environment

OpenAI 已推出 Neural MMO,這是一個專為強化學習 (RL) 研究設計的大規模多智能體遊戲環境。該平台允許大量且數量可變的智能體在持久且開放式的任務中進行互動,證明了包含許多智能體和物種可以帶來更好的探索、分化的生態位形成,以及更高的整體能力。

Core Design Principles of Neural MMO

Neural MMO 的設計旨在填補複雜但狹窄的環境與開放但簡單的環境之間的差距。它遵循四個主要標準:

  • Persistence: 智能體在沒有環境重置的情況下進行同步學習。這迫使策略必須考慮長期的時間跨度,並適應其他智能體的演化行為。
  • Scale: 該環境支持大規模的人口。OpenAI 的實驗涉及在 100 個並行伺服器中,每個伺服器有 128 個並行智能體,總計高達 1 億次生命週期。
  • Efficiency: 該平台旨在降低計算門檻,允許在單台桌上型電腦的 CPU 上訓練有效的策略。
  • Expansion: 該環境旨在進行開源擴展。目前的功能包括程序化生成的圖塊式地形、食物與水資源的覓食系統,以及策略性戰鬥系統。

Environment Mechanics and Agent Interaction

智能體在自動生成的、大小可配置的圖塊式地圖上運行。該環境結合了幾種生存與戰鬥機制:

  • Survival: 智能體必須透過獲取食物與水來維持健康。水可以從無限的水域圖塊中獲得,而食物則來自森林圖塊,森林圖塊的供應量有限且會隨時間緩慢再生。
  • Combat: 玩家使用三種不同的風格進行戰鬥:Melee、Range 與 Mage。
  • Input/Output: 智能體接收以其位置為中心的圖塊正方形裁剪區域,包括地形類型以及其他智能體的屬性(健康、食物、水與位置)。在每個遊戲刻 (tick) 中,智能體會輸出一個移動動作與一個攻擊動作。

Model Architecture and Training

OpenAI 使用了一種小型、全連接的架構,並使用 vanilla policy gradients 進行訓練,並利用了價值函數基準 (value function baseline) 與獎勵折扣 (reward discounting)。

智能體並非針對特定目標獲得獎勵,而是僅針對其生命週期 (trajectory length) 進行優化,每存活一個 tick,就會獲得 1 的獎勵。為了處理變長觀測值(例如周圍玩家的數量),模型會計算所有玩家的最大值以建立一個單一長度的向量。

該實作是使用 PyTorch 與 Ray 構建的。

Evaluation Results and Key Findings

OpenAI 使用「伺服器合併錦標賽」(server merge tournaments) 來評估智能體的能力,將來自不同伺服器的玩家基地合併到單一環境中,以比較在不同設定下學習到的策略。

Multiagent Interaction Magnifies Competence

在較大規模的環境中訓練的智能體,其表現始終優於在較小規模環境中訓練的智能體。研究指出,智能體的能力會隨著多智能體互動的程度直接增加。

Population Size Drives Exploration

增加人口規模會激勵智能體向地圖上的不同區域擴散,以避免資源競爭。隨著並行智能體的數量增加,地圖覆蓋率也會隨之增加,這意味著智能體會將探索作為對他人存在的自然反應。

Species Count Drives Niche Formation

增加群體(物種)的數量會導致生態位形成。由於智能體無法在自己的群體內戰勝其他成員(因為他們共享相同的權重),他們會尋找地圖上的不同區域以尋找足夠的資源來維持其群體。這導致不同的群體在不同地圖區域分開,以避免競爭。

Spatial Value Distributions

透過將價值函數視覺化為相對於第二個智能體的位移,OpenAI 發現智能體發展出了複雜的空間依賴關係:

  • Foraging: 智能體很快地學會了「牛眼」式避開地圖,以便更有效地覓食。
  • Combat: 隨著智能體掌握了戰鬥機制,他們學會了根據其他智能體的策略,來評估特定交戰距離與接近角度的價值。

Sources