【问题标题】:Incorporating Transition Probabilities in SARSA在 SARSA 中加入转移概率
【发布时间】:2016-12-20 12:25:23
【问题描述】:

我正在 C++ 中实现一个 SARSA(lambda) 模型,以克服 DP 模型的一些限制(DP 模型所需的大量时间和空间),这有望减少计算时间(需要几个小时 atm用于类似的研究)和更少的空间将允许为模型添加更多的肤色。

我们确实有明确的转换概率,它们确实会有所作为。那么我们应该如何将它们整合到 SARSA 模型中呢?

简单地根据概率本身选择下一个状态?显然 SARSA 模型并不完全期望你使用概率——或者我可能读错了书。

PS- 有没有办法知道算法是否正确实施?第一次与 SARSA 合作。

【问题讨论】:

  • 那么,当前基于 DP 的方法的问题是您有大量的状态,对吧?在这种情况下,您是否要使用带有函数逼近的 SARSA(lambda)?
  • 好吧,既然 SARSA 不需要 Transiction prob。矩阵,它只是随机访问每个状态的次数,它达到了目的。我使用的是萨顿定义的 SARSA(lambda) 策略控制方法(第 141 页)。不知道我是否回答了你的问题,再次,这个主题的新手:)
  • 我听说了一个叫 SARSA 的东西,有潜力,但找不到太多关于它的信息
  • 事情是,SARSA 默认“计算”它自己的概率,但我有确切的概率(它们只能是 4 个不同的值)
  • 好的,是的,您或多或少已经回答了我的问题。我想知道您是否可以更快地对随机状态进行采样或对所有状态进行采样...

标签: machine-learning reinforcement-learning sarsa


【解决方案1】:

动态规划 (DP) 和强化学习 (RL) 之间的根本区别在于,前者假设环境的动态是已知的(即模型),而后者可以直接从过程中获得的数据中学习,在一组样本、一组过程轨迹或单个轨迹的形式。由于这个特性,当模型难以构建或构建成本高昂时,RL 方法非常有用。但是,应该注意的是,这两种方法共享相同的工作原理(在Sutton's book 中称为广义策略迭代)。

鉴于它们相似,这两种方法也有一些局限性,即维度灾难。来自Busoniu's book(第 3 章是免费的,可能对您有用):

DP 和 RL 领域的一个核心挑战是,在它们原来的 形式(即表格形式),无法实现 DP 和 RL 算法 对于一般问题。它们只能在状态和 动作空间由有限数量的离散元素组成,因为 (除其他原因外)它们需要准确的价值表示 功能或策略,这对于状态空间通常是不可能的 具有无限数量的元素(或者当 状态非常高)。

即使状态和动作取有限多个值,成本 代表价值函数和政策的指数随着 状态变量(以及 Q 函数的动作变量)的数量。 这个问题被称为维度灾难,并且使得 当有许多状态时,经典的 DP 和 RL 算法不切实际 和动作变量。为了解决这些问题,版本 近似表示值函数的经典算法 和/或必须使用政策。由于大多数实际问题 兴趣有大的或连续的状态和动作空间, 在 DP 和 RL 中,逼近是必不可少的。

在您的情况下,您应该使用某种函数逼近似乎很清楚。但是,鉴于您知道转移概率矩阵,您可以选择基于 DP 或 RL 的方法。在 RL 的情况下,转换仅用于计算给定动作的下一个状态。

使用 DP 还是 RL 哪个更好?实际上我不知道答案,最佳方法可能取决于您的具体问题。直观地说,以有计划的方式 (DP) 对一组状态进行采样似乎更安全,但也许您的状态空间的很大一部分与找到最佳策略无关。在这种情况下,对一组轨迹 (RL) 进行采样可能在计算上更有效。无论如何,如果这两种方法都正确应用,应该会得到类似的解决方案。

注意:当采用函数逼近时,收敛特性更脆弱,在迭代过程中发散并不罕见,尤其是当逼近器是非线性的(例如人工神经网络)结合强化学习时。

【讨论】:

  • 对于@Pablo EM 的迟到回复,我深表歉意,我已经看到评论并回复了,一定是连接失败等,并且消息没有发送。谢谢朋友,真的!
  • 没问题!很高兴能提供帮助。如果对您有用,请接受回复。 meta.stackexchange.com/questions/5234/… :)
【解决方案2】:

如果您可以访问转移概率,我建议不要使用基于 Q 值的方法。这将需要额外的抽样以提取您已有的信息。

可能并非总是如此,但如果没有其他信息,我会说modified policy iteration 是解决您的问题的更合适的方法。

【讨论】:

  • 谢谢你的回答 mtk99,有道理,虽然我找不到很多关于这个主题的有坚实基础的文献,这是论文的一部分,因此来源必须可靠。不过会读到它,听起来很有趣!
猜你喜欢
  • 1970-01-01
  • 2019-05-23
  • 1970-01-01
  • 1970-01-01
  • 2019-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-24
相关资源
最近更新 更多