OpenAI發布強化學習環境Gym Retro:支持千種遊戲

2020-12-03 機器之心Pro

Gym 是 OpenAI 發布的用於開發和比較強化學習算法的工具包。使用它我們可以讓 AI 智能體做很多事情,比如行走、跑動,以及進行多種遊戲。目前,它運行在支持 Python 3.5 和 3.6 的 Linux、macOS 和 Windows 系統上。

項目連結:https://github.com/openai/retro/tree/develop

OpenAI 近日發布了完整版遊戲強化學習研究平臺——Gym Retro。在本次發布之後,OpenAI 公開發布的遊戲數量將從大約 70 個雅達利和 30 個世嘉遊戲增加到了 1000 多個遊戲,其中包括對任天堂 Game boy 等各種模擬器的支持。此外,OpenAI 還將發布用於向 Gym 平臺添加新遊戲的工具。

OpenAI 利用 Gym Retro 對強化學習算法及學習能力的泛化進行了研究。RL 領域之前的研究主要集中在優化智能體以完成單個任務上。Gym Retro 可以幫助研究在概念相似但外觀不同的遊戲之間進行泛化的能力。

此版本包括來自世嘉 Genesis 和世嘉 Master System 的遊戲,以及任天堂的 NES、SNES 和 Game Boy 控制臺,還包括對世嘉 Game Gear、任天堂 Game Boy Color、任天堂 Game Boy Advance 及 NEC TurboGrafx 的初步支持。一些已發布的遊戲集成,包括 Gym Retro data/experimental 文件夾中的那些遊戲,都處於測試狀態——如果試用中遇到任何 bug,可以聯繫 OpenAI。由於所涉及的變更規模很大,代碼暫時只能在 Branch(https://github.com/openai/retro/tree/develop)上使用。為了避免破壞參賽者的代碼,在比賽結束之前,OpenAI 將不會合併 Branch。

正在進行的 Retro Contest(幾周後結束!)及 OpenAI 最近的技術報告(https://arxiv.org/abs/1804.03720)集中討論了在同一遊戲(Sonic The Hedgehog)的不同級別之間進行泛化的比較容易的問題。完整的 Gym Retro 數據集進一步完善了這一問題,並使研究不同遊戲之間更難的泛化問題成為可能。數據集的規模和單個遊戲的難度使其成為一個巨大的挑戰,OpenAI 希望在明年分享自己的研究進展。他們還希望 Retro Contest 參與者開發的一些解決方案能夠得到擴展並應用到整個 Gym Retro 數據集。

集成工具

OpenAI 還將發布用於集成新遊戲的工具。如果你有遊戲 ROM,此工具可以幫你輕鬆創建儲存狀態、尋找內存位置以及設計強化學習智能體可以實施的方案。OpenAI 已經為希望增加新遊戲支持的人編寫了一個集成器指南(https://github.com/openai/retro/blob/master/IntegratorsGuide.md)。

集成工具還支持錄製、播放將所有按鈕輸入保存到遊戲中的視頻文件。這些文件很小,因為它們只需要存儲按鈕按下的開始狀態和順序,而不是輸出的每一幀。像這樣的視頻文件對於可視化增強學習智能體正在執行的操作以及存儲用作訓練數據的人工輸入非常有用。

Farming 獎勵

在開發 Gym Retro 時,OpenAI 的研究人員發現很多 AI 智能體學會了 farm 獎勵(只專注於遊戲得分),而忽略了完成隱藏的真正任務。如上圖所示,進行 Cheese Cat-Astrophe(左)和 Blades of Vengeance(右)遊戲的智能體都陷入了瘋狂得分的死循環。這是 OpenAI 之前討論過的一種現象(https://blog.openai.com/faulty-reward-functions/):當我們只給強化學習算法一個簡單的獎勵函數時(如最大化遊戲得分),可能會導致智能體出現錯誤的行為。

對於密集獎勵(頻繁和增量)遊戲而言,最難的地方在於需要進行快速反應,像 PPO 這樣的強化學習算法可以很好地應對這種挑戰。

在 Gradius 這樣的遊戲中(上圖右側),你會在每次擊中敵人之後得到獎勵點數,這意味著開始機器學習的速度會很快。在這樣的遊戲中生存下來需要你具備躲避敵人攻擊的能力:這對於強化學習算法而言並不困難,因為它們玩遊戲是逐幀進行的。

對於只有稀疏獎勵,或需要計劃超過未來數秒策略的遊戲,目前的算法還很難應對。Gym Retro 數據集中的許多遊戲都是稀疏獎勵或需要計劃的,因此,處理整個數據集中的內容可能需要開發者找到全新技術。

相關焦點

  • Huskarl 最近進展:已支持與 OpenAI Gym 環境無縫結合!
    該框架除了輕鬆地跨多個 CPU 內核並行計算環境動態外,還已經成功實現與 OpenAI Gym 環境的無縫結合。TensorFlow 發布了相應的文章來報導此研究成果,雷鋒網 AI 科技評論將其編譯如下。背景概述深度學習革命在計算機視覺和自然語言處理等領域取得了許多最新的進展和突破。
  • OpenAI開源機器人仿真軟體Roboschool:已整合OpenAI Gym
    Roboschool 項目地址:https://github.com/openai/roboschoolOpenAI Gym 項目地址:https://github.com/openai/gymRoboschool 提供了模擬控制機器人的 OpenAI Gym 新環境。這些環境中的 8 個作為 MuJoCo 預存而實現自由替換,再調試就可以生成更多的逼真動作。
  • 【強化學習實戰】基於gym和tensorflow的強化學習算法實現
    1新智元推薦【新智元導讀】知乎專欄強化學習大講堂作者郭憲博士開講《強化學習從入門到進階》,我們為您節選了其中的第二節《基於gym和tensorflow的強化學習算法實現》,希望對您有所幫助。同時,由郭憲博士等擔任授課教師的深度強化學習國慶集訓營也將於 10 月 2 日— 6 日在北京舉辦。
  • DRL:強化學習——實例
    強化學習是學習該如何去做(learning what to do)即學習如何從一個狀態映射到某一個行為,來最大化某一個數值的獎勵信號。強化學習算法主體是智能體,環境是老師,老師僅僅是評分,不告訴智能體為什麼錯,為什麼對?智能體不斷的試錯,不斷的嘗試,累計經驗,學習經驗。記住高分的行為,避免低分的行為。
  • OpenAI「約束強化學習」:AI安全探索要從娃娃抓起! | 獵雲網
    人類可以在外界的多重信息環境下判斷一輛車的軌跡變化亦或者會決策到其是否會撞上自己,相比之下,算法這方面的能力邊略顯低下。而強化學習智能體需要不斷的探索他們所處的環境來學習新規範,達到最佳理想行為:他們會在反覆試驗的情況下來判斷是良性行為還是不良行為,然後基於大量的嘗試增加其良性行為的可能性並同時減少不良行為的可能性。
  • 資料| Python強化學習實戰:應用OpenAI Gym和TensorFlow精通強化...
    內容簡介 · · · · · ·強化學習是一種重要的機器學習方法,在智能體及分析預測等領域有許多應用。《Python強化學習實戰:應用OpenAI Gym和TensorFlow精通強化學習和深度強化學習》共13章,主要包括強化學習的各種要素,即智能體、環境、策略和模型以及相應平臺和庫;Anaconda、Docker、OpenAIGym、Universe和TensorFlow等安裝配置;馬爾可夫鏈和馬爾可夫過程及其與強化學習問題建模之間的關係,動態規劃的基本概念;蒙特卡羅方法以及不同類型的蒙特卡羅預測和控制方法
  • OpenAI Gym 玩遊戲達到人類水平
    這款ATARI遊戲為例,利用強大的策略梯度算法,顛覆上述認知。本文總結了深度強化學習為何意義重大、怎樣開發,並展望了深度強化學習推動人工智慧的發展,在複雜機器人環境中的應用以及解決實際問題。          文/Kar Pathy)這是一篇關於強化學習(Reinforcement Learning,LR)遲來已久的文章。RL非常熱門!
  • 馬斯克的AI野心——OpenAI Gym系統深度解析
    分析最近發布的OpenAI Gym,可以找出他的真正動機。OpenAI Gym是一款用於研發和比較強化學習算法的工具包,它支持訓練智能體(agent)做任何事——從行走到玩Pong或圍棋之類的遊戲,都在範圍中。本文其中一位作者是OpenAI內部研究員,你想知道關於這個系統的一切,他都寫在這裡了。
  • 專題| 深度強化學習綜述:從AlphaGo背後的力量到學習資源分享(附...
    該概述的大綱如下:第二節,深度學習及強化學習的背景知識及對測試平臺的介紹;第三節,對深度 Q 網絡及其拓展的介紹;第四節,異步放法的介紹;第五節,策略優化;第六節,獎勵;第七節,規劃;第八節,注意和記憶機制,特別是對可微分神經計算機(DNC)的介紹;第九節,非監督學習;第十節;學習去學習(learning to learn);第十一節,遊戲/博弈,包括棋類遊戲、視頻遊戲及非完美信息博弈
  • ...深度強化學習綜述:從AlphaGo背後的力量到學習資源分享(附論文)
    該概述的大綱如下:第二節,深度學習及強化學習的背景知識及對測試平臺的介紹;第三節,對深度 Q 網絡及其拓展的介紹;第四節,異步放法的介紹;第五節,策略優化;第六節,獎勵;第七節,規劃;第八節,注意和記憶機制,特別是對可微分神經計算機(DNC)的介紹;第九節,非監督學習;第十節;學習去學習(learning to learn);第十一節,遊戲/博弈,包括棋類遊戲、視頻遊戲及非完美信息博弈
  • AI學會「以牙還牙」,OpenAI發布多智能體深度強化學習新算法LOLA
    編者按:本文由新智元編譯,來源:OpenAI,編譯:文強,劉小芹;36氪經授權發布。OpenAI和牛津大學等研究人員合作,提出了一種新的算法LOLA,讓深度強化學習智能體在更新自己策略的同時,考慮到他人的學習過程,甚至實現雙贏。每個LOLA智能體都調整自己的策略,以便用有利的方式塑造其他智能體的學習過程。
  • 跟著Sutton經典教材學強化學習中的蒙特卡羅方法
    本文部分內容取自Sutton的經典教材《強化學習》,並提供了額外的解釋和例子。初探蒙特卡羅蒙特卡羅模擬以摩納哥的著名賭場命名,因為機會和隨機結果是建模技術的核心,它們與輪盤賭,骰子和老虎機等遊戲非常相似。
  • OpenAI發布基於Bullet物理引擎集成Gym的機器人仿真開發環境Robo...
    Roboschool作為新的OpenAI 訓練場(OpenAI Gym)開發環境為機器人仿真控制提供了可能。其中八個開發環境可以免費替代現有預設的MuJoCo環境,它們可以重新調整以產生更逼真的運動。此外,我們還包括幾個全新的更具有挑戰性的環境。   Roboschool的發布也使得在同一個環境中同時訓練多個機器人變得容易。
  • 從星際2深度學習環境到神經機器翻譯,上手機器學習這些開源項目必...
    算法:如何處理和分析數據機器學習算法可利用數據執行特定的任務,最常見的機器學習算法有如下幾種:1.監督學習。監督學習使用以及標註過的和結構化的數據,通過制定一組輸入數據集合所需的輸出,機器可以學習如何識別目標並且映射到其他的學習任務上。
  • 「句子級」的深度強化學習方法難以求解器空間
    這些方法似乎無一不推動了整個機器學習發展,深度學習從不是真正的機器學習。近期,湧現出不少rl方面的工作,如mnietal.我們知道sgd(累積梯度法)常作為近期的優化方法,其提供了基本的優化方法,如回溯算法、梯度爆炸、梯度消失等問題;但是對深度rl方法來說,顯然該方法和深度強化學習無關,這也導致了這兩項工作的roi難以定義,幾乎都存在其局限性。傳統rl採用rnn進行action建模,由於rnn結構問題無法擴展到無限長的時間序列,導致只能靠前饋網絡拓展傳統rl的訓練長度。
  • 手把手 | OpenAI開發可拓展元學習算法Reptile,能快速學習
    MAML元學習算法:http://bair.berkeley.edu/blog/2017/07/18/learning-to-learn/元學習是學習如何學習的過程。此算法接受大量各種的任務進行訓練,每項任務都是一個學習問題,然後產生一個快速的學習器,並且能夠通過少量的樣本進行泛化。
  • B站學強化學習?港中文周博磊變身up主,中文課程已上線
    在基本概念部分,周老師介紹了強化學習的定義、重要性、與監督學習的區別等內容。這裡對強化學習的定義引用了一個 Sutton 的經典表述。強化學習用於描述和解決智能體在與環境的交互過程中如何最大化獎賞值的問題。在強化學習中,智能體(agent)與環境(environment)是其兩個重要組成部分。
  • OpenAI提出Reptile:可擴展的元學習算法
    近日,OpenAI發布了簡單元學習算法Reptile,該算法對一項任務進行重複採樣,執行隨機梯度下降,更新初始參數直到習得最終參數。該方法的性能可與MAML(一種廣泛應用的元學習算法)媲美,且比後者更易實現,計算效率更高。
  • 用於深度強化學習的結構化控制網絡(ICML 論文講解)
    這項工作是我在Apple AI Research實習時完成的,是我實習工作的一部分,擊敗了眾多強化學習控制環境中最先進的技術,包括MuJoCo,Roboschool,Atari,OpenAI Gym,甚至自動駕駛。 我們計劃將這項工作擴展到包含機器人環境和高級操作。 以下是該論文的一些結果。
  • ICML論文|阿爾法狗CTO講座: AI如何用新型強化學習玩轉圍棋撲克遊戲
    在此,我們為大家分享David Silver的論文《不完美信息遊戲中的深度強化學習自我對戰》。本篇論文主要以撲克進行實驗,探討深度強化學習與普通強化學習相比的優勢。研究此類遊戲不只是可以讓程序打贏人類大師,還可以幫助開發算法,應用於更複雜的真實世界環境中,例如機場和網絡安全、金融和能源貿易、交通管制和疏導,幫助人們在不完美的信息和高維度信息狀態空間中進行決策。