當前位置:
首頁 > 知識 > 2018 AIIDE星際爭霸AI挑戰賽亞軍CherryPi開源TorchCraftAI

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:機器之心 |