rlu_control_suite

  • 説明:

RL Unplugged は、オフライン強化学習のベンチマーク スイートです。 RL Unplugged は、次の考慮事項に基づいて設計されています。使いやすさを促進するために、一般的なパイプラインが確立されると、実践者がスイート内のすべてのデータを簡単に操作できるようにする統合 API をデータセットに提供します。

データセットはRLDS 形式に従って、ステップとエピソードを表します。

DeepMind Control Suite Tassa et al., 2018は、MuJoCo Todorov et al., 2012で実装された一連の制御タスクです。幅広い困難をカバーするスイートで提供されるタスクのサブセットを検討します。

このドメインのデータセットのほとんどは、D4PG を使用して生成されます。マニピュレーター インサート ボールとマニピュレーター インサート ペグの環境では、D4PG ではこれらのタスクを解決できないため、V-MPO Song et al., 2020を使用してデータを生成します。 9 つのコントロール スイート タスクのデータセットをリリースします。データセットの生成方法の詳細については、論文を参照してください。

DeepMind Control Suite は、従来の連続アクション RL ベンチマークです。特に、他の最先端のオフライン RL メソッドとの比較に関心がある場合は、DeepMind Control Suite でアプローチをテストすることをお勧めします。

@inproceedings{gulcehre2020rl,
 title = {RL Unplugged: A Suite of Benchmarks for Offline Reinforcement Learning},
 author = {Gulcehre, Caglar and Wang, Ziyu and Novikov, Alexander and Paine, Thomas and G'{o}mez, Sergio and Zolna, Konrad and Agarwal, Rishabh and Merel, Josh S and Mankowitz, Daniel J and Paduraru, Cosmin and Dulac-Arnold, Gabriel and Li, Jerry and Norouzi, Mohammad and Hoffman, Matthew and Heess, Nicolas and de Freitas, Nando},
 booktitle = {Advances in Neural Information Processing Systems},
 pages = {7248--7259},
 volume = {33},
 year = {2020}
}

rlu_control_suite/cartpole_swingup (デフォルト設定)

  • データセットサイズ: 2.12 MiB

  • 自動キャッシュ(ドキュメント): はい

  • スプリット:

スプリット
'train' 40
  • 機能構造:
FeaturesDict({
    'episode_id': int64,
    'steps': Dataset({
        'action': Tensor(shape=(1,), dtype=float32),
        'discount': float32,
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'observation': FeaturesDict({
            'position': Tensor(shape=(3,), dtype=float32),
            'velocity': Tensor(shape=(2,), dtype=float32),
        }),
        'reward': float32,
    }),
    'timestamp': int64,
})
  • 機能のドキュメント:
特徴クラスDtype説明
特徴辞書
episode_idテンソルint64
ステップデータセット
ステップ/アクションテンソル(1) float32
ステップ/割引テンソルfloat32
ステップ/is_firstテンソルブール
ステップ/is_lastテンソルブール
ステップ/is_terminalテンソルブール
ステップ/観察特徴辞書
歩数/観察/位置テンソル(3) float32
ステップ/観察/速度テンソル(2) float32
ステップ/報酬テンソルfloat32
タイムスタンプテンソルint64

rlu_control_suite/cheetah_run

  • データセットのサイズ: 36.58 MiB

  • 自動キャッシュ(ドキュメント): はい

  • スプリット:

スプリット
'train' 300
  • 機能構造:
FeaturesDict({
    'episode_id': int64,
    'steps': Dataset({
        'action': Tensor(shape=(6,), dtype=float32),
        'discount': float32,
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'observation': FeaturesDict({
            'position': Tensor(shape=(8,), dtype=float32),
            'velocity': Tensor(shape=(9,), dtype=float32),
        }),
        'reward': float32,
    }),
    'timestamp': int64,
})
  • 機能のドキュメント:
特徴クラスDtype説明
特徴辞書
episode_idテンソルint64
ステップデータセット
ステップ/アクションテンソル(6,) float32
ステップ/割引テンソルfloat32
ステップ/is_firstテンソルブール
ステップ/is_lastテンソルブール
ステップ/is_terminalテンソルブール
ステップ/観察特徴辞書
歩数/観察/位置テンソル(8) float32
ステップ/観察/速度テンソル(9) float32
ステップ/報酬テンソルfloat32
タイムスタンプテンソルint64

rlu_control_suite/finger_turn_hard

  • データセットサイズ: 47.61 MiB

  • 自動キャッシュ(ドキュメント): はい

  • スプリット:

スプリット
'train' 500
  • 機能構造:
FeaturesDict({
    'episode_id': int64,
    'steps': Dataset({
        'action': Tensor(shape=(2,), dtype=float32),
        'discount': float32,
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'observation': FeaturesDict({
            'dist_to_target': Tensor(shape=(1,), dtype=float32),
            'position': Tensor(shape=(4,), dtype=float32),
            'target_position': Tensor(shape=(2,), dtype=float32),
            'velocity': Tensor(shape=(3,), dtype=float32),
        }),
        'reward': float32,
    }),
    'timestamp': int64,
})
  • 機能のドキュメント:
特徴クラスDtype説明
特徴辞書
episode_idテンソルint64
ステップデータセット
ステップ/アクションテンソル(2) float32
ステップ/割引テンソルfloat32
ステップ/is_firstテンソルブール
ステップ/is_lastテンソルブール
ステップ/is_terminalテンソルブール
ステップ/観察特徴辞書
ステップ/観察/dist_to_targetテンソル(1) float32
歩数/観察/位置テンソル(4) float32
steps/observation/target_positionテンソル(2) float32
ステップ/観察/速度テンソル(3) float32
ステップ/報酬テンソルfloat32
タイムスタンプテンソルint64

rlu_control_suite/fish_swim

  • データセットサイズ: 32.81 MiB

  • 自動キャッシュ(ドキュメント): はい

  • スプリット:

スプリット
'train' 200
  • 機能構造:
FeaturesDict({
    'episode_id': int64,
    'steps': Dataset({
        'action': Tensor(shape=(5,), dtype=float32),
        'discount': float32,
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'observation': FeaturesDict({
            'joint_angles': Tensor(shape=(7,), dtype=float32),
            'target': Tensor(shape=(3,), dtype=float32),
            'upright': Tensor(shape=(1,), dtype=float32),
            'velocity': Tensor(shape=(13,), dtype=float32),
        }),
        'reward': float32,
    }),
    'timestamp': int64,
})
  • 機能のドキュメント:
特徴クラスDtype説明
特徴辞書
episode_idテンソルint64
ステップデータセット
ステップ/アクションテンソル(5,) float32
ステップ/割引テンソルfloat32
ステップ/is_firstテンソルブール
ステップ/is_lastテンソルブール
ステップ/is_terminalテンソルブール
ステップ/観察特徴辞書
ステップ/観察/ジョイント_角度テンソル(7、) float32
ステップ/観察/ターゲットテンソル(3) float32
ステップ/観察/直立テンソル(1) float32
ステップ/観察/速度テンソル(13) float32
ステップ/報酬テンソルfloat32
タイムスタンプテンソルint64

rlu_control_suite/humanoid_run

  • データセットサイズ: 1.21 GiB

  • 自動キャッシュ(ドキュメント): いいえ

  • スプリット:

スプリット
'train' 3,000
  • 機能構造:
FeaturesDict({
    'episode_id': int64,
    'steps': Dataset({
        'action': Tensor(shape=(21,), dtype=float32),
        'discount': float32,
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'observation': FeaturesDict({
            'com_velocity': Tensor(shape=(3,), dtype=float32),
            'extremities': Tensor(shape=(12,), dtype=float32),
            'head_height': Tensor(shape=(1,), dtype=float32),
            'joint_angles': Tensor(shape=(21,), dtype=float32),
            'torso_vertical': Tensor(shape=(3,), dtype=float32),
            'velocity': Tensor(shape=(27,), dtype=float32),
        }),
        'reward': float32,
    }),
    'timestamp': int64,
})
  • 機能のドキュメント:
特徴クラスDtype説明
特徴辞書
episode_idテンソルint64
ステップデータセット
ステップ/アクションテンソル(21) float32
ステップ/割引テンソルfloat32
ステップ/is_firstテンソルブール
ステップ/is_lastテンソルブール
ステップ/is_terminalテンソルブール
ステップ/観察特徴辞書
ステップ/観測/com_velocityテンソル(3) float32
ステップ/観察/四肢テンソル(12) float32
ステップ/観察/head_heightテンソル(1) float32
ステップ/観察/ジョイント_角度テンソル(21) float32
steps/observation/torso_verticalテンソル(3) float32
ステップ/観察/速度テンソル(27) float32
ステップ/報酬テンソルfloat32
タイムスタンプテンソルint64

rlu_control_suite/manipulator_insert_ball

  • データセットサイズ: 385.41 MiB

  • 自動キャッシュ(ドキュメント): いいえ

  • スプリット:

スプリット
'train' 1,500
  • 機能構造:
FeaturesDict({
    'episode_id': int64,
    'steps': Dataset({
        'action': Tensor(shape=(5,), dtype=float32),
        'discount': float32,
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'observation': FeaturesDict({
            'arm_pos': Tensor(shape=(16,), dtype=float32),
            'arm_vel': Tensor(shape=(8,), dtype=float32),
            'hand_pos': Tensor(shape=(4,), dtype=float32),
            'object_pos': Tensor(shape=(4,), dtype=float32),
            'object_vel': Tensor(shape=(3,), dtype=float32),
            'target_pos': Tensor(shape=(4,), dtype=float32),
            'touch': Tensor(shape=(5,), dtype=float32),
        }),
        'reward': float32,
    }),
    'timestamp': int64,
})
  • 機能のドキュメント:
特徴クラスDtype説明
特徴辞書
episode_idテンソルint64
ステップデータセット
ステップ/アクションテンソル(5,) float32
ステップ/割引テンソルfloat32
ステップ/is_firstテンソルブール
ステップ/is_lastテンソルブール
ステップ/is_terminalテンソルブール
ステップ/観察特徴辞書
ステップ/観察/arm_posテンソル(16) float32
ステップ/観察/arm_velテンソル(8) float32
steps/observation/hand_posテンソル(4) float32
ステップ/観察/object_posテンソル(4) float32
ステップ/観察/object_velテンソル(3) float32
ステップ/観察/target_posテンソル(4) float32
歩み/観察/タッチテンソル(5,) float32
ステップ/報酬テンソルfloat32
タイムスタンプテンソルint64

rlu_control_suite/manipulator_insert_peg

  • データセットのサイズ: 385.73 MiB

  • 自動キャッシュ(ドキュメント): いいえ

  • スプリット:

スプリット
'train' 1,500
  • 機能構造:
FeaturesDict({
    'episode_id': int64,
    'steps': Dataset({
        'action': Tensor(shape=(5,), dtype=float32),
        'discount': float32,
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'observation': FeaturesDict({
            'arm_pos': Tensor(shape=(16,), dtype=float32),
            'arm_vel': Tensor(shape=(8,), dtype=float32),
            'hand_pos': Tensor(shape=(4,), dtype=float32),
            'object_pos': Tensor(shape=(4,), dtype=float32),
            'object_vel': Tensor(shape=(3,), dtype=float32),
            'target_pos': Tensor(shape=(4,), dtype=float32),
            'touch': Tensor(shape=(5,), dtype=float32),
        }),
        'reward': float32,
    }),
    'timestamp': int64,
})
  • 機能のドキュメント:
特徴クラスDtype説明
特徴辞書
episode_idテンソルint64
ステップデータセット
ステップ/アクションテンソル(5,) float32
ステップ/割引テンソルfloat32
ステップ/is_firstテンソルブール
ステップ/is_lastテンソルブール
ステップ/is_terminalテンソルブール
ステップ/観察特徴辞書
ステップ/観察/arm_posテンソル(16) float32
ステップ/観察/arm_velテンソル(8) float32
steps/observation/hand_posテンソル(4) float32
ステップ/観察/object_posテンソル(4) float32
ステップ/観察/object_velテンソル(3) float32
ステップ/観察/target_posテンソル(4) float32
歩み/観察/タッチテンソル(5,) float32
ステップ/報酬テンソルfloat32
タイムスタンプテンソルint64

rlu_control_suite/walker_stand

  • データセットのサイズ: 31.78 MiB

  • 自動キャッシュ(ドキュメント): はい

  • スプリット:

スプリット
'train' 200
  • 機能構造:
FeaturesDict({
    'episode_id': int64,
    'steps': Dataset({
        'action': Tensor(shape=(6,), dtype=float32),
        'discount': float32,
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'observation': FeaturesDict({
            'height': Tensor(shape=(1,), dtype=float32),
            'orientations': Tensor(shape=(14,), dtype=float32),
            'velocity': Tensor(shape=(9,), dtype=float32),
        }),
        'reward': float32,
    }),
    'timestamp': int64,
})
  • 機能のドキュメント:
特徴クラスDtype説明
特徴辞書
episode_idテンソルint64
ステップデータセット
ステップ/アクションテンソル(6,) float32
ステップ/割引テンソルfloat32
ステップ/is_firstテンソルブール
ステップ/is_lastテンソルブール
ステップ/is_terminalテンソルブール
ステップ/観察特徴辞書
歩数/観察/高さテンソル(1) float32
手順/観察/向きテンソル(14) float32
ステップ/観察/速度テンソル(9) float32
ステップ/報酬テンソルfloat32
タイムスタンプテンソルint64

rlu_control_suite/walker_walk

  • データセットのサイズ: 31.78 MiB

  • 自動キャッシュ(ドキュメント): はい

  • スプリット:

スプリット
'train' 200
  • 機能構造:
FeaturesDict({
    'episode_id': int64,
    'steps': Dataset({
        'action': Tensor(shape=(6,), dtype=float32),
        'discount': float32,
        'is_first': bool,
        'is_last': bool,
        'is_terminal': bool,
        'observation': FeaturesDict({
            'height': Tensor(shape=(1,), dtype=float32),
            'orientations': Tensor(shape=(14,), dtype=float32),
            'velocity': Tensor(shape=(9,), dtype=float32),
        }),
        'reward': float32,
    }),
    'timestamp': int64,
})
  • 機能のドキュメント:
特徴クラスDtype説明
特徴辞書
episode_idテンソルint64
ステップデータセット
ステップ/アクションテンソル(6,) float32
ステップ/割引テンソルfloat32
ステップ/is_firstテンソルブール
ステップ/is_lastテンソルブール
ステップ/is_terminalテンソルブール
ステップ/観察特徴辞書
歩数/観察/高さテンソル(1) float32
手順/観察/向きテンソル(14) float32
ステップ/観察/速度テンソル(9) float32
ステップ/報酬テンソルfloat32
タイムスタンプテンソルint64