2018 AIIDE星際爭霸AI挑戰賽亞軍CherryPi開源TorchCraftAI
機器之心報道
作者:路
不久前,2018 AIIDE StarCraft AI 挑戰賽順利結束。27 支隊伍參加比賽,其中三星 SAIDA 獲得冠軍,Facebook 團隊開發的 CherryPi 獲得亞軍,中科院自動化所開發的 CSE 獲得季軍。剛剛,Facebook 研究科學家、CherryPi 作者之一 Gabriel Synnaeve 宣布開源訓練 StarCraft 智能體的 TorchCraftAI 平台,該平台允許構建智能體來(學習)玩《星際爭霸:母巢之戰》遊戲。
TorchCraftAI 地址:https://torchcraft.github.io/TorchCraftAI/
TorchCraftAI 包括以下重要特徵:
用於構建 StarCraft 智能體的模塊化框架,其中的模塊可以接受攻擊,被替換成其他模塊或機器學習/強化學習模型。
CherryPi:在星際爭霸 AI 競賽中取得了不俗的成績,如 SSCAIT 2017-18 冠軍、AIIDE 2018 亞軍。
適用於星際爭霸全場遊戲、小遊戲的強化學習環境,具備模型、訓練循環和教程。
TorchCraft 支持與 StarCraft 和 BWAPI 的 TCP 通信。
支持 Linux、Windows 和 OSX 操作系統。
系統架構
TorchCraftAI 基於兩個現有星際爭霸智能體開源項目:BWAPI 和 TorchCraft。
BWAPI(Brood War API)
BWAPI 是開發《星際爭霸:母巢之戰》競賽智能體時廣泛使用的編程界面。它提供人類玩家可觀察的所有信息,且使得開發人員可以使用編程語言控制遊戲智能體。《星際爭霸:母巢之戰》是一款 Windows 遊戲,BWAPI StarCraft 智能體基於 Windows 開發,通常是 32-bit 動態庫(DLL)或使用 BWAPI 客戶端模式的 32-bit 可執行程序。
TorchCraft
TorchCraft 使用客戶端-伺服器架構實現與 BWAPI 的跨平台連接,從而促進對《星際爭霸:母巢之戰》的機器學習研究。伺服器是 Windows DLL for BWAPI,客戶端程序可以更加靈活地定義,如在 Linux 系統上運行的 C++ 程序或 Python 腳本。其運行模式的理論很簡單:TorchCraft 客戶端向伺服器發送一串遊戲命令,伺服器執行對應的 BWAPI 調用,並回應更新後的遊戲狀態。
TorchCraftAI
TorchCraftAI 封裝了 TorchCraft client C++ 庫,提供遊戲循環和遊戲狀態的抽象。其核心特徵包括:
在一個流程中託管多個客戶端的能力,從而能夠並行玩多個星際爭霸遊戲。
能夠從 TorchCraftAI 程序內部啟動星際爭霸遊戲,從而使得寫訓練循環、測試和場景更加簡便。
分散式強化學習庫。
下圖展示了兩個 TorchCraftAI 智能體互搏的完整圖:
教程
訓練模型造建築(通過強化學習訓練造建築模塊):
地址:https://torchcraft.github.io/TorchCraftAI/docs/bptut-intro.html
訓練模型戰鬥(通過強化學習使智能體掌握微操技能):
地址:https://torchcraft.github.io/TorchCraftAI/docs/microtut-intro.html
本文為機器之心報道,轉載請聯繫本公眾號獲得授權。
------------------------------------------------
※Colab提供了免費TPU,機器之心幫你試了試
※最佳學生論文:EPFL&FAIR提出QuaterNet,更好地解決人類動作建模問題
TAG:機器之心 |