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

Posted

技术标签:

【中文标题】如何将强化学习应用于连续动作空间?【英文标题】:How can I apply reinforcement learning to continuous action spaces? 【发布时间】:2011-10-29 05:49:55 【问题描述】:

我正在尝试让代理学习在强化学习设置中最好地执行某些任务所需的鼠标移动(即奖励信号是学习的唯一反馈)。

我希望使用 Q-learning 技术,但虽然我找到了 a way to extend this method to continuous state spaces,但我似乎无法弄清楚如何解决连续动作空间的问题。

我可以强制所有鼠标移动具有一定的幅度并且仅在一定数量的不同方向上,但是任何使动作离散的合理方法都会产生巨大的动作空间。由于标准 Q-learning 要求智能体评估所有可能的动作,因此这种近似并不能解决任何实际意义上的问题。

【问题讨论】:

【参考方案1】:

处理此问题的常用方法是使用actor-critic methods。这些自然延伸到连续的行动空间。使用近似值时基本 Q-learning 可能会出现偏差,但是,如果您仍想使用它,您可以尝试将其与自组织映射组合,如 "Applications of the self-organising map to reinforcement learning" 中所做的那样。该论文还包含一些您可能会觉得有用的进一步参考资料。

【讨论】:

哦,哇,这两个听起来都恰到好处。如果它们按预期工作,我会对其进行测试并接受您的回答。 @Gulzar 我可以访问这两个链接。【参考方案2】:

快进到今年,DeepMind 的人们提出了一种深度强化学习 actor-critic 方法来处理连续状态和动作空间。它基于一种称为确定性策略梯度的技术。请参阅论文Continuous control with deep reinforcement learning 和一些implementations。

【讨论】:

是的,他们确实普及了强化学习——现在有很多方法可以处理连续动作!我认为最相关的是具有归一化优势函数的 Q 学习,因为它的核心是相同的 q 学习算法。它只是将动作值强制为二次形式,从中您可以分析得出贪婪动作。 arxiv.org/pdf/1603.00748.pdf 您还需要查看 Atari 论文 cs.toronto.edu/~vmnih/docs/dqn.pdf 为了快速参考,@zergylord 提供链接的论文中的方法称为 NAF(标准化优势函数)【参考方案3】:

有许多方法可以将强化学习扩展到连续动作。一种方法是使用actor-critic 方法。另一种方法是使用策略梯度方法。

可以在以下论文中找到对不同方法的相当广泛的解释,该论文可在线获得: Reinforcement Learning in Continuous State and Action Spaces(Hado van Hasselt 和 Marco A. Wiering)。

【讨论】:

Actor-critic 方法是一种策略梯度方法。参数化的actor实现策略,参数向actor表现的梯度方向移动,由critic估计。【参考方案4】:

对于您正在做的事情,我认为您不需要在连续的行动空间中工作。尽管物理鼠标在连续空间中移动,但在内部,光标仅以离散的步长移动(通常在像素级别),因此获得高于此阈值的任何精度似乎不会对代理的性能产生任何影响。状态空间仍然很大,但它是有限且离散的。

【讨论】:

这引入了我提到的关于离散近似的问题(尽管我意识到我的域从技术上讲是离散的),即不可能将每个可能的坐标对都视为可能的动作。 我同意@templatetypedef。您可以使用具有连续状态空间的离散动作。离散动作更好用。【参考方案5】:

我知道这篇文章有些陈旧,但在 2016 年,提出了一种应用于连续动作空间的 Q-learning 变体,作为演员批评方法的替代方案。它被称为归一化优势函数(NAF)。这是论文:Continuous Deep Q-Learning with Model-based Acceleration

【讨论】:

【参考方案6】:

另一篇上榜的论文来自基于价值的学校,是Input Convex Neural Networks。这个想法是要求 Q(s,a) 在动作中是凸的(不一定在状态中)。然后,求解 argmax Q 推断被简化为使用凸性找到全局最优值,比穷举扫描要快得多,并且比其他基于值的方法更容易实现。然而,与通常的前馈或卷积神经网络相比,可能会以降低表示能力为代价。

【讨论】:

以上是关于如何将强化学习应用于连续动作空间?的主要内容,如果未能解决你的问题,请参考以下文章

强化学习—— 离散与连续动作空间(随机策略梯度与确定策略梯度)

深度强化学习的实操 动作空间状态空间回报函数的设计以及算法选择训练调试和性能冲刺

深度强化学习的实操 动作空间状态空间回报函数的设计以及算法选择训练调试和性能冲刺

强化学习 Reinforcement Learning

深度强化学习技术概述

机器学习工程师 - Udacity 强化学习 Part Three