习惯了离散动作状态空间中的Q-Learning
算法后,我想将它扩展到连续的空间。为此,我阅读了萨顿介绍的On-Policy Control with Approximation
章节。在这里,建议使用可线性函数(如线性函数或ANN
)来解决连续动作状态空间的问题。然而,萨顿然后描述了将连续变量映射到离散表示的平铺方法。这总是必要的吗?
尝试理解这些方法我尝试在没有平铺方法和线性基函数Hill Climbing Car
的情况下实现书中q
的示例。由于我的状态空间是二维的,我的动作是一维的,我在这个等式中使用了三维权重向量w
:
当我现在尝试选择最大化输出的动作时,显而易见的答案是a = 1,如果w_2>因此,权重将慢慢收敛到正零,代理人将不会学到任何有用的东西。由于Sutton能够使用平铺来解决问题,我想知道我的问题是由于没有平铺方法还是我做了其他任何错误。 那么:平铺是否总是必要的?
答案 0 :(得分:2)
关于你关于平铺的主要问题,答案是否定的,并非总是有必要使用平铺。
正如您所尝试的那样,为了完全理解这些概念,最好将一些简单的示例实现为 Hill Climbing Car 。然而,在这里,你是一个重要的东西。当本书讨论线性方法时,它在参数中引用线性,这意味着您可以提取一组(非线性)特征并将它们线性组合。这种近似值可以表示比标准线性回归复杂得多的函数。
您提出的参数化不能表示非线性Q函数。考虑到Hill Climbing problem
你想要学习这种风格的Q函数:
你需要比更强大的东西。您的问题的简单解决方案可能是使用径向基函数(RBF)网络。在这种情况下,您使用一组要素(或BF,例如高斯函数)来映射您的状态空间:
此外,如果您的操作空间是离散且小的,最简单的解决方案是为每个操作维护一个独立的RBF网络。要选择操作,只需计算每个操作的Q值,然后选择值较高的操作。通过这种方式,您可以避免在连续函数中选择最佳操作的(复杂)优化问题。
您可以在Busoniu等人身上找到更详细的解释。使用函数逼近器预订强化学习和动态规划,第49-51页。它是免费的here。