OpenAI Roboschool 發布

OpenAI 已發布 Roboschool,一套為強化學習設計的物理環境。透過將現有的 MuJoCo 任務移植到 Bullet 物理引擎並引入新的複雜情境,Roboschool 提供了一個更易於使用且穩健的框架,用於訓練代理以處理互動控制和多代理競爭。

物理環境與 MuJoCo 移植

Roboschool 包含十二個初始環境。這些環境包含先前在 MuJoCo 中可用的任務,已移植到 Bullet 物理引擎並進行修改以變得更真實。除了已移植的任務外,Roboschool 還引入了新的挑戰,包括 Humanoid 行走任務的進階版本以及一個多人 Pong 環境。

為了方便立即使用,OpenAI 在 GitHub 儲存庫的 agent_zoo 資料夾中提供了所有環境的訓練好的策略,並提供了一個 demo_race 腳本,允許使用者模擬三台機器人之間的賽跑。

互動控制與穩健運動

Roboschool 引入了超越簡單前進運動目標的環境,以需要互動控制。儘管先前的 OpenAI Gym 環境常導致脆弱的策略,其中代理學會單一的循環軌跡並在受到推動時失敗,但 Roboschool 新增的 3D 人形環境要求代理導航至一個位置隨時間隨機變化的旗幟。

HumanoidFlagrun

此環境旨在教導機器人如何減速並轉向以到達隨機移動的目標。

HumanoidFlagrunHarder

此環境透過允許機器人跌倒並給予其恢復時間來增加難度。回合可能以機器人直立或躺在地面開始,而代理會不斷受到白色立方體的轟擊,以迫使其偏離軌跡。

OpenAI 指出,這些環境的策略為無內部狀態的多層感知器。因此,研究人員相信在某些情況下,代理會使用其手臂來儲存資訊以維持穩定性和導航。

多代理訓練與對抗動態

Roboschool 支持在同一環境中同時訓練和執行多個代理,起始環境為 RoboschoolPong。

多人訓練允許以下幾種配置:

  • 訓練單一代理與自身對抗。
  • 使用相同算法訓練兩個不同的代理。
  • 訓練兩個不同的算法互相對抗。

OpenAI 識別出對抗訓練中的一個具體挑戰:策略振盪。在應用於 Pong 的策略梯度方法中,研究人員觀察到代理會過度適應於對手當前的策略,而不是學習一個通用解決方案。例如,一個代理可能學會防禦畫面頂部,而另一個代理則學會將球送到底部。當第一個代理適應到底部時,第二個代理又會適應,導致學習曲線出現振盪,使得兩個代理在數小時的訓練後仍未學會有用的通用策略。OpenAI 建議,儘管這種對抗互動具有挑戰性,但它可以提供一種自然的課程來發展複雜的策略。

Sources