我该如何将强化学习应用于连续动作空间?

51
我正在尝试让一个代理学习在强化学习环境下最佳执行某些任务所需的鼠标移动方式(即奖励信号是学习的唯一反馈)。
我希望使用Q学习技术,但虽然我已经找到了将此方法扩展到连续状态空间的方法,但似乎无法解决连续动作空间的问题。
我可以强制所有鼠标移动都具有一定的大小和方向,但任何合理的使动作离散化的方法都会产生巨大的动作空间。由于标准的Q学习要求代理评估所有可能的动作,因此这种近似并不能在实际意义上解决问题。
6个回答

32

哇,这两个听起来都很合适。我会测试一下,如果它们能像我期望的那样工作,我就会接受你的答案。 - zergylord
@Gulzar 我可以访问这两个链接。 - Vivek Payasi
1
SOM的想法很巧妙,本质上是将状态空间和动作空间都离散化为SOM的节点(每个空间一个节点)。离散化并不是均匀的,因此更重要的状态会被SOM更密集地表示。 - Yan King Yin

27

4
是的,他们确实推广了强化学习--现在有很多处理连续动作的方法!我认为最相关的是带归一化优势函数的Q学习,因为它的核心是相同的Q学习算法。它只是迫使动作价值成为一个二次形式,从中可以解析地得到贪婪动作。https://arxiv.org/pdf/1603.00748.pdf - zergylord
你还需要查看Atari论文 https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf - Shaun
为了快速参考,@zergylord 提供链接的论文中的方法被称为NAF(归一化优势函数)。 - Chiffa

17

有许多方法可以将强化学习扩展到连续动作中。一种方法是使用演员-评论家方法。另一种方法是使用策略梯度方法。

在以下在线论文中可以找到对不同方法的相当详尽的解释: Reinforcement Learning in Continuous State and Action Spaces(由 Hado van Hasselt 和 Marco A. Wiering 撰写)。


6
Actor-critic方法是一种策略梯度方法。演员是参数化的,实现策略,其参数沿着演员性能的梯度方向进行调整,该性能由评论家估计。 - HelloGoodbye

7

针对你正在做的事情,我认为不需要使用连续动作空间。尽管实际鼠标移动在连续的空间中,但内部光标只在离散步长(通常为像素级别)处移动,因此超过此阈值的任何精度似乎都不会影响您的代理性能。状态空间仍然相当大,但它是有限和离散的。


这里介绍了我提到的离散逼近问题(虽然我意识到我的领域从一开始就是离散的),它的问题在于,想象每一个可能的坐标对作为可能的行动是不可行的。 - zergylord
我同意@templatetypedef的观点。您可以在连续状态空间中使用离散动作。离散动作更易于处理。 - danelliottster
对于我的问题,实际上问题并不在于连续性,而是离散动作空间太大,无法表示为表格,也不能由神经网络输出有限维向量。因此,我需要一种替代方法来处理动作空间。 - Yan King Yin

2
另一篇值基学派的论文被列入了清单,它是关于输入凸神经网络的。这个想法是要求Q(s,a)在行为上是凸的(不一定在状态上)。然后,使用凸性解决argmax Q推理问题可以通过快速找到全局最优解来实现,比详尽搜索更快且比其他价值型方法更易于实现。然而,可能会以牺牲较传统前馈或卷积神经网络的表示能力为代价。

谢谢,但是凸性对于许多问题来说太过限制了 ;) - Yan King Yin

2

我知道这篇文章有点旧了,但在2016年,一种应用于连续动作空间的Q-learning变体被提出,作为演员评论方法的替代方案。它被称为归一化优势函数(NAF)。以下是论文:具有基于模型的加速的连续深度Q学习


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接