天天看點

強化學習怎樣在探索和利用之間找到平衡?OpenAI 推出了大型多智能體遊戲環境 Neural MMO

雷鋒網(公衆号:雷鋒網) AI 科技評論按:OpenAI 于今日釋出了 Neural MMO,它是一個為強化學習智能體建立的大型多智能體遊戲環境。該平台支援在一個持久、開放的任務中使用大規模且數量可變的智能體。将更多的智能體和物種囊括到環境中可以更好地執行探索任務,促進多種生态位的形成,進而增強系統整體的能力。

強化學習怎樣在探索和利用之間找到平衡?OpenAI 推出了大型多智能體遊戲環境 Neural MMO

近年來,多智能體環境已經成為深度強化學習的一個有效的研究平台。雖然該領域目前已經取得了一定的研究進展,但是多智能體強化學習仍存在兩大主要挑戰:目前的強化學習環境要麼足夠複雜但是限制條件太多,普适性不強;要麼限制條件很少但是過于簡單。因而我們需要建立具有高複雜度上限的開放式任務,其中,持久性和大的種群規模等屬性是需要讨論的關鍵因素。但同時,我們還需要更多的基準測試環境,來量化對于持久性和大的種群規模這些屬性的學習進展。大型多人線上遊戲(MMO)類型的遊戲模拟了一個規模龐大的生态系統,其中數量不斷變化的玩家在持久、廣闊的環境下對戰。

為了應對這些挑戰,OpenAI 開發了 Neural MMO,它滿足以下的标準:

(1)持久性:在不對環境進行重置的情況下,智能體可以在其它智能體也正在學習的情況下同時進行學習。政策必須考慮到長遠的規劃,并适應其他智能體可能發生快速變化的行為。

(2)規模:該環境支援大規模且數量可變的實體。本實驗考慮了在 100 個并發伺服器中,每個伺服器中的 128 個并發的智能體長達 100M 的生命周期。

(3)效率:計算的準入門檻很低。我們可以在一塊桌面級 CPU 上訓練有效的政策。

(4)擴充性:與現有的大型多人線上遊戲類似,我們設計的 Neural MMO 旨在更新新的内容。它目前的核心功能包括程式化的基于拼接地塊的地形生成,尋找食物和水資源的系統以及戰略戰鬥系統。在未來,該系統有機會進行開源驅動的擴充。

環境

玩家(智能體)可以加入到任何可用的伺服器(環境)中,每個伺服器都會包含一個可配置大小的自動生成的基于地塊的遊戲地圖。一些諸如上面放有食物的森林地塊和草地地塊是可以穿越的;其他的諸如水、實心岩石的地塊則無法穿越。

智能體在沿着環境邊緣随機分布的位置誕生。為了維持生存的狀态,他們需要擷取食物和水,同時還要避免與其他智能體進行戰鬥受到的傷害。通過踩在森林地塊上或站在水地塊的旁邊,智能體可以分别給自己補充一部分食物和水供應。然而,森林地塊中的食物供應有限,食物會随着時間的推移緩慢地再生。這意味着智能體必須為争奪食品塊而戰,并同時定期從無限的水形地塊中補充水源。玩家可以使用三種戰鬥風格進行戰鬥,分别為近戰、遠端攻擊及法術攻擊。

輸入:智能體觀察以其目前位置為中心的方形農作物地塊。輸入包括地塊的地形類型和目前智能體選中的屬性(生命值、食物、水和位置)。

輸出:智能體為下一個遊戲時鐘刻度(時間步)輸出動作選項。該動作由一次移動和一次攻擊組成。 

強化學習怎樣在探索和利用之間找到平衡?OpenAI 推出了大型多智能體遊戲環境 Neural MMO

該平台提供了一個程式化的環境生成器以及「值函數、地圖地塊的通路分布、在學習到的政策中智能體與智能體之間的依賴關系」的可視化工具。用以對比的基線模型是在 100 個世界中訓練出來的政策梯度方法。

模型

OpenAI 研究人員使用 vanilla 政策梯度算法、僅對價值函數基線和獎勵折扣進行了強化,訓練了一個小型的、全連接配接的架構作為一個簡單的基線。智能體實作最優化以獲得獎勵僅僅是為了維持自身的生命周期(軌迹長度),而不是為了實作特定的目标:他們得每獲得 1 個獎勵,生命周期就會延長一個時鐘刻度。同時,他們通過計算出所有玩家獲得獎勵的最大值,将長度可變的觀測結果(例如周圍玩家的清單)轉換為一個定長的向量(OpenAI Five 也采用了這個技巧)。本項目釋出的源代碼包含了基于 PyTorch 和 Ray 的完整的分布式訓練實作。

模型評估結果

強化學習怎樣在探索和利用之間找到平衡?OpenAI 推出了大型多智能體遊戲環境 Neural MMO

訓練時的最大種群規模在(16,32,64,128)的範圍内變化。為了提高效率,每組中的 16 個智能體會共享政策。在測試時,我們會合并在成對的實驗中學到的種群,并評估固定規模的種群的生命周期。由于戰鬥政策更加難于直接對比,我們僅僅評估覓食行為。在大規模種群上訓練出來的智能體往往表現得更好。

OpenAI 研究人員從大量種群中均勻采樣得到智能體的政策,發現不同種群中的智能體會共享網絡架構,但隻有同一種群中的智能體才會共享權重。初步的實驗結果表明,随着多智能體互動的增多,智能體的能力也會攀升。提高共存玩家數量的上限可以擴大探索範圍,而增加種群的數量則會擴大生态位的形成結構——也就是說,擴大了種群在地圖上的不同區域擴散和覓食的趨勢。

伺服器合并錦标賽:多智能體能力增強

對于大型多智能體線上遊戲來說,并沒有跨伺服器評估玩家相對戰鬥力的标準方法。然而,大型多智能體線上遊戲的伺服器有時會出現合并的情況,此時多個伺服器上的玩家資料會被放入同一個伺服器。通過合并在不同伺服器中訓練的玩家資料,OpenAI 研究人員實作了「錦标賽」式的模型評估,這讓他們能夠直接比較智能體在不同實驗環境下學習到的政策。另外,通過改變測試時的環境規模,他們發現在較大的環境中訓練的智能體一緻地比在較小的環境中訓練的智能體表現更好。

種群規模的增加擴大了探索範圍

強化學習怎樣在探索和利用之間找到平衡?OpenAI 推出了大型多智能體遊戲環境 Neural MMO

種群數量的增加擴大了搜尋範圍:智能體分散開來進而避免對戰。最後幾幀顯示的是學習到的價值函數的重疊情況。要想檢視更多的圖示資訊,請參閱:「Neural MMO: A Massively Multiagent Game Environment for Training and Evaluating Intelligent Agents」(https://arxiv.org/pdf/1903.00784.pdf)。

在自然界中,動物之間的競争可以激勵它們分散開來以避免沖突。研究人員觀察到,智能體在地圖上的覆寫率随共存智能體數量的增加而增加。智能體之是以會學着去探索,隻是因為其他智能體的存在為它們提供了這樣做的自然動機。

種群數量的增加擴大了生态位的形成

強化學習怎樣在探索和利用之間找到平衡?OpenAI 推出了大型多智能體遊戲環境 Neural MMO

物種數量(種群數量)的增加擴大了生态位(種群在自然生态系統中,在時間、空間上所占據的位置及其與相關種群之間的功能關系和作用)的形成。可視化的地圖漸漸覆寫了遊戲的地圖,不同的顔色對應不同的物種。對單個種群的訓練往往會促使系統産生一個深入的探索路徑。而訓練八個種群則會導緻産生很多較淺的探索路徑:種群會分散以避免物種之間的競争。

給定一個足夠大的資源豐富的環境,他們發現當智能體的種群數量增加時,不同種群會分散地遍布在地圖上以避免與其他種群的競争。由于實體無法在競争中勝過同一個種群中的其它智能體(即與之共享權重的智能體),它們傾向于尋找地圖上包含足夠多用于維持種群規模的資源的區域。DeepMind 在共生多智能體研究中也獨立觀察到了類似的效果(https://arxiv.org/abs/1812.07019)。

另外的一些思考

強化學習怎樣在探索和利用之間找到平衡?OpenAI 推出了大型多智能體遊戲環境 Neural MMO

每個方形地圖顯示了位于方塊中心的智能體對其周圍智能體的響應。我們展示出了初始化階段和訓練早期的覓食地圖,以及額外的對應于不同的覓食和戰鬥形式的依賴關系圖。

OpenAI 研究人員通過将智能體固定在假設的地圖地塊的中心,來可視化智能體與智能體之間的依賴關系。針對對該智能體可見的每個位置,我們的實驗顯示了,假如在該位置有第二個智能體,價值函數将會變成什麼。同時,他們發現,在覓食和戰鬥環境中,智能體學習的政策會依賴于其他智能體的政策。經過了僅僅幾分鐘的訓練後,智能體就能學會「正中靶心」的正确回避路線,進而開始更有效地覓食。當智能體學習環境中的戰鬥機制時,它們會開始适當地評估有效的接近範圍和角度。

下一步的工作

OpenAI 的 Neural MMO 解決了之前基于遊戲的環境的兩個主要局限性,但仍有許多問題尚未解決。Neural MMO 在環境複雜性和種群規模之間找到了一個中間地帶。同時,他們在設計這個環境時還考慮到了開源擴充,并計劃将其作為建立研究社群的基礎。

總結:強化學習中的「探索-利用」問題

強化學習是一種試錯學習方式:最開始的時候不清楚環境的工作方式,不清楚執行什麼樣的動作是對的,什麼樣的動作是錯的。因而智能體需要從不斷嘗試的經驗中發現一個好的決策,進而在這個過程中擷取更多的獎勵。

是以,對于強化學習研究來說,需要在探索(未知領域)和利用(現有知識)之間找到平衡。實際上,探索和利用是一對相對來說較為沖突的概念,利用是做出目前資訊下的最佳決策,探索則是嘗試不同的行為繼而收集更多的資訊、期望得到更好的決策。最好的長期戰略通常包含一些犧牲短期利益舉措。通過搜集更多或者說足夠多的資訊使得個體能夠達到宏觀上的最佳政策。

實際上,OpenAI 擴大種群規模和種群數量,使智能體趨向于分散,也正是希望能夠擴大探索的範圍,找到能夠使智能體能力更強、種群更穩定的決策方式。從單個伺服器上看,這種做法背後隐藏着最大熵的思想;而從整體來看,他們依托于 OpenAI 強大的計算資源,将探索任務用分而治之的方式配置設定到各個伺服器上分别進行決策,最後再進行合并。

via https://blog.openai.com/neural-mmo/ 雷鋒網 AI 科技評論編譯 雷鋒網

繼續閱讀