OpenAI強化學習遊戲庫大更新:遊戲上千款,還能自己加

李林 編譯整理

OpenAI強化學習遊戲庫大更新:遊戲上千款,還能自己加

想把一個強化學習Agent訓練成遊戲高手?OpenAI今天推出的完整版Gym Retro必須瞭解一下。

這是一個用遊戲來研究強化學習的平臺,現在上面的遊戲數量已經有1000多款,橫跨各種後端模擬器,再也不是之前那個只能玩70款雅達利+30款世嘉的小平臺了。

除了這1000多款可供AI玩耍的遊戲之外,OpenAI還推出了一個集成工具,讓用戶可以在平臺上添加新遊戲。

跨遊戲泛化

Gym Retro上的遊戲覆蓋了世嘉的創世紀和Master System,任天堂紅白機(NES)、SNES和Game Boy主機。對於世嘉掌機GG(Game Gear)、任天堂Game Boy Color、Game Boy Advance、NEC TurboGrafx上的遊戲,也有初步支持。

這麼多遊戲集中在同一個平臺上,非常適合啟動“跨遊戲泛化”的研究。也就是說,AI把一個遊戲玩輸了之後,能不能把這些能力用到理念相似、表現形式不同的其他遊戲上去?

在研究跨遊戲泛化之前,要先從簡單的起步:同一個遊戲中的跨關卡泛化。上個月,OpenAI就舉辦了一場Retro Contest,讓大家用刺蝟索尼克的部分關卡來訓練AI,再嘗試泛化到另外一些關卡。現在仍在繼續,離結束還有幾周時間。

OpenAI強化學習遊戲庫大更新:遊戲上千款,還能自己加

當時,他們還發布了一篇技術報告來描述任務的基準。

Gotta Learn Fast: A New Benchmark for Generalization in RL

Alex Nichol, Vicki Pfau, Christopher Hesse, Oleg Klimov, John Schulman

https://arxiv.org/abs/1804.03720

現在,Gym Retro有了更多遊戲,在龐大的數據集支撐下,這類泛化的研究可以從“跨關卡”變成“跨遊戲”了。OpenAI自己也在進行這方面的研究,成果預計明年公佈。

關於平臺上的1000多款遊戲,OpenAI溫馨地提醒你:部分遊戲可能有bug。

新遊戲整合工具

如果你對跨遊戲泛化沒什麼興趣,偏偏只想讓AI玩一款平臺上沒有的船新遊戲呢?

OpenAI還隨著Gym Retro正式版,推出了一個新遊戲整合工具。只要你有遊戲ROM,就可以運用這個工具創建保存狀態、尋找內存位置、設計讓強化學習Agent來解決的場景。

這個整合工具還支持錄製和播放回放文件,把打遊戲時所有的按鍵操作都保存下來。回放文件不保存每一幀圖像,而是隻包含初始狀態和每次按鍵得出的結果,因此體積很小。這種回放文件可以用來觀察Agent的動作,也可以用來保存人類輸入製作訓練數據。

AI擅長什麼遊戲?

PPO等強化學習算法最擅長的遊戲有個共同特徵:獎勵密集,以反應速度取勝。比如說宇宙巡航艦(Gradius):

OpenAI強化學習遊戲庫大更新:遊戲上千款,還能自己加

在宇宙巡航艦這個遊戲裡,消滅每一個敵人都能得分,也就是說很容易獲得獎勵;躲避開所有敵人就能活下來,也就是說拼的就是個反應速度。對於按幀來打遊戲的強化學習算法來說,這並不算難。

而對於獎勵稀疏,需要為幾秒之後發生的事做規劃的遊戲,現在的強化學習算法就不太擅長了。

Gym Retro裡就有很多遊戲屬於後者,等著廣大小夥伴努力攻克。

防止AI鑽空子

攻克這些遊戲的過程中,請注意:你的AI可能會鑽空子。

強化學習Agent打遊戲,其實是在積累獎勵,如果獎勵函數只是得分、不考慮完成整個遊戲的話,就可能會發生意想不到的操作。比如說下面的Cheese Cat-Astrophe和復仇之刃,就都被AI玩壞了:

OpenAI強化學習遊戲庫大更新:遊戲上千款,還能自己加

Cheese Cat-Astrophe

OpenAI強化學習遊戲庫大更新:遊戲上千款,還能自己加

復仇之刃

在這兩個遊戲中,AI都為了快速積累獎勵,困在一個關卡之內無限循環。

所以,OpenAI溫馨提示:獎勵函數設置得太簡單,可能導致AI的行為出偏差。

讓AI好好打遊戲,慎重設置你的獎勵函數~

相關地址:

OpenAI博客介紹:https://blog.openai.com/gym-retro/

Gym Retro:https://github.com/openai/retro/tree/develop

— 完 —

誠摯招聘

վ'ᴗ' ի 追蹤AI技術和產品新動態


分享到:


相關文章: