OpenAI最新工作Dota2遊戲5V5人機大戰
本文部分翻譯來自谷歌翻譯。
昨天,OpenAI最新工作顯示,五個神經網路OpenAI Five團隊已經開始擊敗Dota 2的業餘人員隊伍。根據官網信息來看,他們的目標是在八月份擊敗國際頂級專業團隊,但只限於一組有限的英雄。Dota 2是世界上最流行和最複雜的電子競技遊戲之一,擁有富有創造力和積極性的專業人員,他們全年都會獲得Dota年度4000萬美元獎金(任何電子競技遊戲中最大的獎金)的一部分。
OpenAI Five每天都會玩180年的遊戲,通過自我學習來學習(原理同AlphaGo,每天都在進行自我博弈,提升自己的遊戲水平存儲更多可能的概率以應對真正的博弈)。 它使用在256個GPU和128,000個CPU內核上運行的擴展版PPO演算法(Proximal Policy Optimization,經典連續動作訓練演算法原理簡單來說就是將一個目標函數的訓練過程分成許多小的epoch進行訓練更新,節省時間和空間,並可以存儲更多的採樣結果,在之後的進程中如有需要可隨時取用)進行訓練 - 這是OpenAI去年發布的遊戲更簡單的獨奏變體的更大規模版本的系統。 對每個英雄使用單獨的LSTM(Long Short Term Memory networks,一種經典的RNN網路,通常用來做長期預測,但是也有很多人對這種方法並不認可,原因其實也是強化學習演算法目前相對不穩定且對硬體的依賴程度高)並且不使用人類數據,它學習可識別的策略。 這表明,強化學習可以產生大規模但可實現的規模的長期規劃 - 沒有根本的進展,這與我們開始項目時的預期背道而馳。
Dota 2是一款實時戰略遊戲,由兩名玩家組成,每個玩家控制一個稱為「英雄」的角色。 玩Dota的AI必須掌握以下幾點:
很長的時間Dota遊戲以每秒30幀的速度運行,平均時間為45分鐘,每場遊戲的成績為80,000次。大多數行為(例如命令英雄移動到某個位置)單獨產生較小的影響,但城鎮門戶使用等一些個別行為可能會在戰略上影響遊戲;一些策略可以在整個遊戲中播放。 OpenAI Five每四幀觀察一次,產生20,000次移動。國際象棋通常在40次移動之前結束,在150次移動之前移動,幾乎每一次移動都是戰略性的。
部分觀察狀態單位和建築物只能看到他們周圍的區域。地圖的其他部分隱藏在霧中隱藏的敵人和他們的戰略。強有力的比賽需要根據不完整的數據進行推斷,並且需要建立對手的最佳狀態。象棋和圍棋都是全信息遊戲。
高度連續的動作空間在Dota中,每個英雄可以採取數十個動作,許多動作都是針對另一個單位或地面上的某個位置。我們將每個英雄的空間分割成170,000個可能的行動(並非每個蜱都有效,例如使用冷卻時間的法術);不計算連續部分,每個滴答平均有大約1000次有效操作。國際象棋中的平均動作數為35;在Go中,250。
高維度,連續的觀察空間Dota在包含十個英雄,數十個建築物,幾十個NPC單位以及諸如符文,樹木和病房等遊戲特徵的長尾巴的大型連續地圖上播放。我們的模型通過Valve的Bot API觀察Dota遊戲的狀態,其中20,000(大多是浮點)數字表示允許人類訪問的所有信息。國際象棋棋盤自然表現為大約70個枚舉值(一個8x8的棋子類型和小的歷史信息);一個Go棋盤作為約400個枚舉值(一個19x19的棋子類型加上Ko)。
系統使用PPO(Proximal Policy Optimization,最新,最經典且有效的連續動作演算法)的大規模版本進行學習。 OpenAI Five和我們早期的1v1機器人都完全從自我學習中學習。 他們從隨機參數開始,不使用來自人類回放的搜索或引導。
RL研究人員(包括OpenAI自己)一般認為,長時間視野需要從根本上取得新的進展,如分層強化學習。 結果表明,目前並沒有給今天的演算法足夠的信用 - 至少當它們以足夠的規模和合理的探索方式運行時。
OpenAI現在的成績是好的,因為他對於連續動作的演算法做出來很好的展示,但同時也是有一些問題存在,比如LSTM可能不適用於長期預測與記憶問題,並且目前只可以進行單個英雄的訓練與對決,英雄之間的輔助及通訊和聯繫並沒有做好,未來會是一個非常主要的發展方向。目前的強化學習演算法和深度學習演算法來說對於配置要求特別的高,硬體的發展決定了演算法的發展,我們是否可以考慮將人工智慧輕量化,最近聽說在無人駕駛技術中有人在FPGA中實現小型的神經網路模型,對此小編認為是一個好的開端,未來還需大家的努力,鑽研技術而不是趕熱潮。
TAG:DRL學習 |