具有多个“连续动作”的深度强化学习

时间:2021-03-01 07:39:03

标签: python-3.x reinforcement-learning openai-gym

下面是一个高级图,展示了我的 Agent 应该是什么样子,以便能够与我制作的自定义健身房环境进行交互。

enter image description here

状态和动作

环境有三个状态 [s1, s2, s3] 和六个动作 [a1, a2, a3, a4, a5, a6] 状态和动作可以是 0 到 1 之间的任何值

问题:

哪些算法适合我的问题?我知道有些算法擅长处理连续动作空间,如(DDPG、PPO 等),但我看不出它们在每个时间步输出多个动作时会如何操作。 最后,是否有任何健身房环境具有所描述的属性(多个动作),并且是否有用于解决这些特定环境的任何 Python 实现?

1 个答案:

答案 0 :(得分:1)

正如您在问题中提到的,PPO、DDPG、TRPO、SAC 等确实适合处理强化学习问题的连续动作空间。 这些算法会给出一个大小等于你的动作维度的向量,这个向量中的每个元素都是实数而不是离散值。请注意,像 PPO 这样的随机算法会给出一个多元概率分布,您可以从中采样动作。

Mujoco-pyPyBulletRobosuite 等中的大多数机器人环境都是具有多个连续动作空间的环境。这里的动作空间可以是 [torque_for_joint_1, torque_for_join_2, ..., torque_for_joint_n] 形式,其中,torque_for_joint_i 可以是一个实数值,由关节移动多少决定。

关于解决这些环境的实现,robosuite 确实提供了示例解决方案,用于使用不同算法对环境进行基准测试。您还可以查找 stable-baselines 或标准 RL 库之一。