用于连续状态,离散动作的强化学习算法

时间:2014-11-19 03:04:25

标签: machine-learning reinforcement-learning

我试图在连续状态(dim。= 20)和离散动作(3种可能的动作)的环境中找到最优策略。并且有一个特定的时刻:对于最优政策,一个动作(称之为"动作0和#34;)应该比其他两个更频繁地选择(大约100倍以上;这两个动作更有风险)。

我尝试过使用NN值函数近似的Q学习。结果相当糟糕:NN学会总是选择"动作0"。我认为政策梯度方法(关于NN权重)可能有所帮助,但不了解如何在离散行动中使用它们。

你能提供一些建议吗? (也许算法,论文要读)。 当状态空间是连续的并且动作空间是离散的时,什么是最先进的RL算法?

感谢。

1 个答案:

答案 0 :(得分:8)

在连续(状态和/或动作)空间中应用Q学习并非易事。当尝试将Q学习与全局函数逼近器(例如NN)相结合时尤其如此(我理解您指的是常见的多层感知器和反向传播算法)。您可以在Rich Sutton's page中阅读更多内容。更好(或至少更简单)的解决方案是使用局部逼近器,例如径向基函数网络(对this paper的4.1节中的原因有很好的解释)。

另一方面,状态空间的维度可能太高而无法使用局部逼近器。因此,我的建议是使用其他算法而不是Q学习。连续状态和离散动作的一种非常有竞争力的算法是Fitted Q Iteration,它通常与树方法结合以逼近Q函数。

最后,一个常见的做法是,当动作的数量很少时,就像你的情况一样,它是为每个动作使用一个独立的近似值,即代替一个唯一的近似值,它将状态 - 动作对作为输入并返回一个Q值,使用三个近似值,每个动作一个,仅作为输入状态。您可以在本书Reinforcement Learning and Dynamic Programming Using Function Approximators

的示例3.1中找到此示例