游戲是人工智能研究的完美實驗環境。在游戲環境中,可用于訓練人工智能模型的數據是近乎無限、低成本、可復制,相比現實世界的經驗更容易獲得。這些特點正幫助 Facebook 人工智能實驗室(FAIR)探索一些短期目標,如復雜游戲環境中多個人工智能的能力;以及長期目標:讓人工智能應對現實世界的挑戰。游戲研究可以幫助我們構建能夠進行計劃、具有理性、自我導航、解決問題、合作與交流的人工智能。
盡管使用游戲進行訓練能夠帶來多種好處,但研究者們在游戲環境中進行探索可能會遇到很多困難。由于目前機器學習算法的諸多限制,訓練需要成百上千的游戲局數,這需要大量的計算資源,如配備大量 CPU、GPU 或定制硬件的高性能計算平臺。此外,這些算法是復雜而難以進行微調的。而隨著訓練環境中增加更多的人工智能代理,這些變量將更加難以控制。
為了解決這些問題,讓所有人都能參與人工智能的研究。FAIR 團隊創造了 ELF:一個大范圍、輕量級且易于使用的游戲研究平臺。ELF 可以讓研究者們在不同的游戲環境中測試他們的算法,其中包括桌游、Atari 游戲(通過 Arcade Learning Environment),以及定制的即時戰略游戲(RTS)。它們可以運行在帶有 GPU 的筆記本電腦上,而且支持在更為復雜的游戲環境中訓練 AI,例如即時戰略游戲——僅僅使用 6 塊 CPU,一塊 GPU,花上一天時間。
FAIR 的研究者們將 ELF 的界面設計得易于使用:ELF 在 C/C++界面中運行所有游戲,自動處理并發問題如多線程/多任務。另外,ELF 還有一個純凈的 Python 用戶界面,提供了一批可供訓練的游戲狀態。ELF 也支持游戲以外的用途,它包括物理引擎等組件,可以模擬現實世界的環境。
目前,ELF 平臺已經開源,開發者和研究者們可以在 GitHub 中找到它:
https://github.com/facebookresearch/ELF
相關論文也已發表在 arXiv 中:https://arxiv.org/abs/1707.01067
架構
ELF 的架構相對簡單,它包含一個能夠主持多個在 C++端運行并發游戲示例的模擬器,同時在 Python 端與 AI 模型(深度學習、強化學習等)溝通。
與其他在一個界面包含單個游戲的 AI 平臺不同,ELF 能把一批游戲包括進一個 Python 界面。這使得模型和強化學習算法能夠在每次迭代中包含一批游戲狀態,降低了訓練模型所需的時間。
我們也在游戲推斷和參與者模型(actor model) 之間建立配對靈活性。使用該框架,非常容易用一個參與者模型配對特定的游戲示例,或者一個示例配對許多參與者模型,或者許多示例配對一個參與者模型。這樣的靈活性能夠快速的構建算法原型,幫助研究員更快地理解哪個模型有更好的表現。
在 FAIR 早期的實驗中,ELF 能進行更快的模擬,使用同樣數量的 CPU 和 GPU 相比于 OpenAI Gym 玩 Atari 游戲可以提高 30% 的訓練速度。當增加更多的核心之后,ELF 每核的幀率保持穩定。
Mini-RTS:實時策略游戲進行研究
ELF 平臺包括一個名為 Mini-RTS 的實時策略引擎與環境。我們寫 Mini-RTS 是為了幫助測試 ELF,它非常的快,在 Macbook Pro 上每核每秒運行 4 萬幀。它能捕捉實時策略游戲的關鍵動態:兩個玩家同時收集資源、建立設施、探索未知領地,并嘗試控制地圖上的領地。此外,該引擎能夠加速人工智能研究:完美的保存、加載、回放,完全可接入其游戲內部狀態,多個內建式角色 AI,調試可視化、人類-AI 界面,等等。作為基準,我們在 Mini-RTS 上訓練的人工智能展現出了驚人的結果,它可以在 70% 的對局中擊敗內建式 AI。這些結果顯示,訓練人工智能完成任務,并在相對復雜的策略環境中優先排序行為是可能的。
有了 ELF 平臺,我們期待它能幫助計算機處理指數級行為空間、長期延時獎勵和不完美信息。
論文:ELF: An Extensive, Lightweight and Flexible Research Platform for Real-time Strategy Games
摘要:在本論文中,我們提出了 ELF,一個大范圍、輕量級且易于使用的強化學習研究平臺。在 ELF 中,我們可以通過高度定制化的即時戰略游戲(RTS)引擎,實現三種游戲環境(Mini-RTS、奪旗游戲和塔防游戲)。Mini-RTS 是簡化版的《星際爭霸》,捕捉游戲動態,并可以在 MacBook Pro 筆記本上以每核心 40K 幀率(FPS)的速度運行。結合現代強化學習的方法,該系統可以在一天內使用 6 塊 CPU 和 1 塊 GPU 對內置 AI 進行端到端的訓練。
此外,我們的平臺在環境代理通信拓撲、強化學習方法選擇、游戲參數調整等方面上是靈活的,而且可以承載現有的 C/C++游戲環境如 Arcade Learning Environment。通過 ELF,我們徹底探索了訓練環境,并展示了 Leaky ReLU 和 Batch Normalization 與長期訓練和漸進式課程體系的結合超過了基于規則的內建 AI,在超過 70% 的 Mini-RTS 游戲中獲得了勝利。它在其他兩種游戲中也能達到相似的水平。在游戲的 Replay 中,我們可以看到人工智能代理展示了有趣的策略。ELF 和它的強化學習平臺將會開源。
(審核編輯: 林靜)
分享