Q-Learning 算法是否有一些基于模型的变体,它在 3D SxAxS 表而不是 2D SxA 表上学习?

数据挖掘 强化学习 q学习
2022-01-31 10:17:23

Q-learning 使用 Q 值的 2D SxA 表,其中 S 是当前状态,A 是采取的行动。是否有一些基于模型的 Q 学习(或 SARSA)变体使用 3D SxAxS' 表来存储 Q 值,其中 S' 是结果状态?

类似的表可用于学习离散环境中的模型,但在这种情况下,您不存储 Q 值,而是计数。

我找不到这样的东西,要么是因为我不知道要搜索的正确术语,要么是因为它不存在。有没有用对我来说无所谓,我只需要知道它是否存在,如果存在,它是如何调用的。

2个回答

状态-动作值的概念Q是表示处于特定状态并根据预期的未来奖励执行特定动作的程度。根据我从您的问题中了解到的情况,您对模型不确定性问题(系统动力学的不确定性)感兴趣。换句话说,我们的人工代理在未知环境中进行交互(过渡动态T(s,a,s)和奖励动态R(s,a)或者R(s,a,s)是未知的)。

您应该看看的框架是基于贝叶斯模型的 RL。我概述了一种方法,以便您有一个想法:

建模过渡

首先假设我们对环境的转变有不确定性T(s,a,s). 为了解决这个问题,我们将假设我们的代理在可能的转换中保持分布。在不涉及理论数学的情况下,我将使用一个简单的 Dirchlet-Multinomial 模型来说明这一点:

状态是从多项似然中采样的sMult(pssa)并且我们假设转换的先验pssDir(α), 在哪里α设定为1/|S|, 哪里S是状态空间。由于似然分布和先验分布的共轭,后验过度转换也将是狄利克雷。要更新这样的后验,您需要执行简单的代数计算并维护每个转换的计数。

算法

代理执行两个过程:

  • (模拟或规划阶段)从后验过渡中对 MDP 进行采样(在第一次迭代中,您从先验分布中采样)。拥有一个“固定的转换表”可以解决采样的 MDP(例如,使用值迭代)并选择最佳操作。
  • (现实世界交互阶段)在现实世界中,你观察你的行为的回报和环境的新状态。您更新后验计数。

最终,如果您为您的域选择了合适的分布,代理将适应未知环境。当然,具有非共轭的更丰富的先验将导致 MCMC 采样方法。我向您推荐这篇论文以了解问题的概述:基于模型的贝叶斯探索和相当先进的:贝叶斯自适应 MDP,以进行进一步的研究和探索。

您可以查看拟合的 Q 迭代(这里是 pdf),这是一种基于模型的 Q 学习。我不确定这是否正是您正在寻找的。