连续状态和动作空间的强化学习

数据挖掘 机器学习 Python 强化学习
2021-09-28 11:50:23

问题

我的目标是应用强化学习来预测物体在 3D 环境中在已知力下的下一个状态(该方法将简化为监督学习、离线学习)。

我的方法的细节

当前状态是表示对象在环境中的位置(3 维)和对象的速度(3 维)的向量。起始位置在环境中随机初始化,起始速度也是如此。

动作是表示从状态t到状态t+1的移动的向量。

奖励只是预测的下一个状态和真实的下一个状态(我已经有了目标位置)之间的欧几里得距离。

到目前为止我做了什么?

我一直在寻找很多方法来做到这一点。Deep Deterministic Policy Gradients适用于连续的动作空间,但在我的例子中,我也有一个连续的状态空间。如果你对这种方法感兴趣,这里是 DeepMind 的原始论文:http: //proceedings.mlr.press/v32/silver14.pdf

Actor-Critic方法应该有效,但它通常(或总是)应用于离散和低维状态空间。

Q-LearningDeep-Q Learning无法处理高维状态空间,因此即使将状态空间离散化,我的配置也不起作用。

当找到奖励函数比找到策略函数更复杂时,逆强化学习(模仿学习的一个实例,具有行为克隆直接策略学习)近似奖励函数。有趣的方法,但我还没有看到任何实现,在我的例子中,奖励函数非常简单。是否有一种方法可以处理我尚未探索的配置?

1个回答

正如您所说,策略梯度方法比具有连续动作空间的基于值的方法(如 DQN)更有效。

您的问题似乎与MountainCarContinuous环境非常相似。如果您查看排行榜,您可以看到最高分如何使用 A2C。您可以在以下笔记本中找到相同算法的清晰实现(使用相同的环境):Continuous MountainCar Actor Critic Solution.ipynb

在这里,您还可以找到策略梯度算法的集合。例如,PPO已被证明在您所描述的环境中非常成功。

TL;DR 寻找策略梯度方法。