1. 程式人生 > >Open AI Gym簡介

Open AI Gym簡介

通用 tro cimage href monitor ogl 文檔 部分 www

介紹

OpenAI Gym是一款用於研發和比較強化學習算法的工具包,它支持訓練智能體(agent)做任何事——從行走到玩Pong或圍棋之類的遊戲都在範圍中。

OpenAI Gym 是一個用於開發和比較RL 算法的工具包,與其他的數值計算庫兼容,如tensorflow 或者theano 庫。現在主要支持的是python 語言,以後將支持其他語言。官方提供的gym文檔

OpenAI Gym包含兩部分:

  • gym 開源 包含一個測試問題集,每個問題成為環境(environment),可以用於自己的強化學習算法開發,這些環境有共享的接口,允許用戶設計通用的算法,例如:Atari、CartPole等。

  • OpenAI Gym 服務
    提供一個站點和api ,允許用戶對自己訓練的算法進行性能比較。

強化學習介紹

強化學習是機器學習的一個分支,目的是開發出智能體(Agent)做出決策和控制。

  • RL涵蓋了所有涉及制定一系列決策的問題,如控制機器人的動作,玩遊戲 video games , board games
    RL甚至可以應用於序列與結構化輸出的問題上。
  • RL已經有很長的歷史,隨著深度學習的出現近些年已經在許多復雜的問題上有著很好的表現,比如DeepMind’s Atari results, BRETT from Pieter Abbeel’s group, and AlphaGo,這些工作沒有對環境做過多的假設,都運用了RL。

但是,RL也面臨以下挑戰:

  • 更好的benchmarks
    :在監督學習中有ImageNet,而強化學習只有龐大的環境集合。但是目前這些環境還是缺少多樣性。
  • 缺少標準化的環境 :環境中很小的差異將大大改變問題的難度,因此發表過的研究工作無法重現和比較。

然後——OpenAI Gym出現了。


OpenAI Gym 環境

OpenAI Gym提供了多種多樣的環境,從簡單到困難,並涉及到許多不同類型的數據:

技術分享圖片

  • Classic control and toy text:
    提供了一些RL相關論文中的一些小問題,開始學習Gym從這開始!
  • Algorithmic:
    提供了學習算法的環境,比如翻轉序列這樣的問題,雖然能很容易用直接編程實現,但是單純用例子來訓練RL模型有難度的。這些問題有一個很好的特性: 能夠通過改變序列長度改變難度
  • Atari:
    這裏提供了一些小遊戲,比如我們小時候玩過的小蜜蜂,彈珠等等。這些問題對RL研究有著很大影響!
  • Board games:
    提供了Go這樣一個簡單的下棋遊戲,由於這個問題是多人遊戲,Gym提供有opponent與你訓練的agent進行對抗。
  • 2D and 3D robots:
    機器人控制環境。 這些問題用
    MuJoCo 作為物理引擎。
  • 當然還有很多好玩的問題,比如CNN的自動調參、Minecraft等。

    OpenAI Gym 評估平臺

    用戶可以記錄和上傳算法在環境中的表現,生成評估報告。

    • 用戶可以使用Monitor Wrapper包裝自己的代碼環境,Gym記錄算法的性能。
    • 用戶上傳自己模型的Gist,可以生成評估報告,還能錄制模型玩遊戲的小視頻。

    在每個環境下都有一個排行榜,用來比較大家的模型表現。

    Open AI Gym簡介