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

cen*_*i0n 7 machine-learning reinforcement-learning

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

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

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

谢谢.

Pab*_* EM 9

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

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

最后,一个常见的做法是,当动作的数量很少时,就像你的情况一样,它是为每个动作使用一个独立的近似值,即代替一个唯一的近似器,它将状态 - 动作对作为输入并返回一个Q值,使用三个近似值,每个动作一个,仅作为输入状态.您可以在" 使用函数逼近器进行强化学习和动态编程 "一书的示例3.1中找到此示例