在SARSA中纳入过渡概率

时间:2016-12-20 12:25:24

标签: machine-learning reinforcement-learning sarsa

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

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

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

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

2 个答案:

答案 0 :(得分:2)

动态规划(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)对一组状态进行采样似乎更安全,但可能你的状态空间的很大一部分与找到最佳的pocliy无关。在这种情况下,对一组轨迹(RL)进行采样可能在计算上更有效。无论如何,如果两种方法都得到了正确的应用,那么应该采取类似的解决方案。

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

答案 1 :(得分:0)

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

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