OpenAI開源機器人模擬軟體Roboschool
近日,OpenAI 在其官方博客上宣布推出 Roboschool,一款用於機器人模擬的開源軟體,它基於 Bullet 物理引擎,並已實現與 OpenAI 之前發行的 Gym 之間的整合,也使得在同一環境中同時訓練多個智能體變得簡單。機器之心對該文進行了編譯,並在文中附上了 Roboschool 和 OpenAI Gym 的 GitHub 項目地址。官方博客地址請見文末。
我們推出了 Roboschool,一款用於機器人模擬的開源軟體,已與 OpenAI Gym 相整合。
Roboschool 項目地址:https://github.com/openai/roboschool
OpenAI Gym 項目地址:https://github.com/openai/gym
3 個控制策略分別運行在 3 個彼此不同的機器人上,並在 Roboschool 中互相競爭。你可以通過運行 agent_zoo/demo_race1.py 重新演示這一場景。每次你運行這個腳本,會隨機出現一組的機器人。
Roboschool 提供了模擬控制機器人的 OpenAI Gym 新環境。這些環境中的 8 個作為 MuJoCo 預存而實現自由替換,再調試就可以生成更多的逼真動作。我們同樣涵蓋了若干個具有挑戰性的新環境。
Roboschool 也使得在相同環境中同時訓練多個智能體變得簡單。
在我們推出 Gym 之後,很多用戶反饋了這樣一個問題,MuJoCo 組件需要一個付費的許可證(儘管 MuJoCo 最近為個人和課堂教學增加了免費的學生許可證)。Roboschool 不再有這一限制,使得每個人皆可進行研究而無需擔心預算。Roboschool 基於 Bullet Physics Engine(一個開源、受到廣泛許可的物理庫),該庫已用於其他模擬軟體,比如 Gazebo 和 V-REP。
環境
Roboschool 搭載有 12 個環境,其中有 Mujoco 用戶熟悉的任務以及新挑戰,比如類人步行者任務(the Humanoid walker task)的更難版本,多玩家 Pong 環境。我們計劃不斷擴展這一集合,並期待來自更多研究社區的貢獻。
對於現有的 MuJoCo 環境,除了將其移植到 Bullet 之外,我們已經將其修改得更逼真。以下是我們移植的 3 個環境,並解釋它們與其它已有環境的不同之處。
在 GitHub 庫 agent_zoo 文件夾中你可以找到所有環境的訓練策略。你同樣也可以訪問 demo_race 腳本來啟動 3 個機器人之間的競爭。
交互和穩健的控制
在 OpenAI Gym 之前的若干個環境中,其目標是學習一個步行控制器。然而,這些環境包含了問題的一個基本版本,即目標設為簡單地前進。實際上,行走策略將學習一個單循環軌跡,並留下大部分狀態空間。進而,最後的策略將傾向於非常脆弱:很小的一個推動常常導致機器人崩潰並摔倒。
我們已添加了另外兩個 3D 類人環境,這使得運動問題更加有趣、更具挑戰性。這些環境需要互動式控制——機器人必須跑向旗幟,在這一過程中其姿態會隨機變化。
HumanoidFlagrun 被設計用來教機器人減速和轉向。目標是機器人跑向旗幟,其姿態隨機發生變化。
HumanoidFlagrunHarder 允許機器人摔倒,並給它時間重新站立起來。它也以直立或躺在地上的方式開始每一個 episode,並且機器人遭到白色立方體的持續轟擊以使其偏離軌跡。
我們同時為 HumanoidFlagrun 和 HumanoidFlagrunHarder 提供已訓練的策略。雖然智能體行走並不像普通人那樣快速與自然,但這些策略可以從很多情景下恢復,它們也知道如何引導智能體。這種策略本身就是一種多層感知機,其並沒有內部狀態,所以我們相信是智能體在某些情況下會使用它們的手臂儲存信息。
多參與者
Roboschool 能讓你在同一環境下同時運行和訓練多個智能體。我們最開始推出了 RoboschoolPong,但隨後會推出更多的環境。
通過對多參與者的訓練,你可以訓練兩個同樣的智能體互為雙方(所以智能體在和它自己玩),你也可以使用同樣的演算法訓練兩個不同的智能體,或甚至你能為智能體設置兩種不同的演算法。
兩個智能體互為對手學習玩 RoboschoolPong
多智能體設定展示了一些有趣的挑戰。如果你同時訓練兩個玩家,你看到的學習曲線就如下圖所示,該學習曲線由策略梯度法訓練得出:
pong 的學習曲線,其中策略更新與策略梯度演算法同時運行。
下面是對這一學習過程具體的解讀:
智能體 1(綠色)學習到其在頂部有時能擊中球,所以它就移動到頂部。
智能體 2(紫色)發現其對手在頂部,於是它將球擊向底部並適應其他遠處的智能體。
智能體 1 最後發現如果它向底部移去就能擊中球,但現在它開始守在底部,因為智能體 2 現在經常將球擊向底部。
由這種方式,策略就已經震蕩了,且經過幾個小時的訓練,兩個智能體都沒有學到任何有用的信息。對於生成對抗網路來說,對抗性設定是一個很實用的技巧,但我們認為這是一個十分有趣的研究問題,因為這種相互作用即使在簡單的環境中都會產生複雜的策略,其也提供了一種很自然的課程。
研究社區已經為 OpenAI Gym 構建環境付出了很多努力,其中有一些是基於開源物理模擬器。在最近的項目中,研究者構建了一組 OpenAI Gym,其可以通過開源物理模擬器 DART 替代 MuJoCo。這表明甚至可以在兩個物理模擬器 MuJoCo 和 DART 之間轉移策略。
原文鏈接:https://blog.openai.com/roboschool/
點擊閱讀原文,查看全部嘉賓陣容並報名參與機器之心 GMIS 2017
※從新一代TPU到谷歌AI,詳解谷歌IO首日人工智慧五大亮點
※從新一代TPU到谷歌AI,詳解谷歌I/O首日人工智慧五大亮點
※2017年最流行的15個數據科學Python庫
※谷歌I/O開發者大會推出 Cloud TPU:兼顧訓練和推理
※OpenAI推出機器人新系統:可通過VR演示自主學習新任務
TAG:機器之心 |
※開源 Resonance Audio
※FAIR開源Tensor Comprehensions,讓機器學習與數學運算高性能銜接
※FAIR開源Tensor Comprehensions,讓機器學習與數學運算高性能銜接
※Google 的新開源系統 Fuchsia OS 將支持 Android 應用運行
※LinkedIn 開源 TonY:在 Hadoop 上運行 TensorFlow 的框架
※LinkedIn開源TonY:在Hadoop上運行TensorFlow的框架
※Oracle開源GraphPipe:幾行代碼讓你在TensorFlow部署PyTorch模型
※Facebook旗下Oculus VR團隊開源了DeepFocus框架
※Facebook開源Katran負載均衡器並公開Provisioning Tool
※Salesforce開源構建Einstein AI模型的工具
※Mozilla推出開源瀏覽器Firefox Reality,專為VR一體機開發
※Mozilla 推出開源瀏覽器 Firefox Reality,專為 VR 一體機和 AR 頭顯開發
※Oculus VR團隊開源DeepFocus框架
※Facebook 開源 Detectron
※Horovod?Tensor flow?Uber開源分散式深度學習模型
※Facebook宣布開源DeepFocus技術
※Facebook開源適用於VR的動態模糊AI演算法:DeepFocus
※AWS 發布自家版本的開源 Elasticsearch:Open Distro for Elasticsearch
※Facebook開源用於VR的動態模糊演算法DeepFocus
※開源機器學習伺服器——PredictionIO