价值迭代和策略迭代的区别是什么?

在强化学习中,策略迭代值迭代有什么不同?

据我所知,在价值迭代中,你使用贝尔曼方程来求解最优策略,而在策略迭代中,你随机选择一个策略 π,然后找到该策略的回报。

我的疑问是,如果你在 PI 中选择一个随机策略 π,即使我们选择了几个随机策略,如何保证它是最优策略。

95850 次浏览

策略迭代算法中,您从一个随机策略开始,然后找到该策略的值函数(策略评估步骤) ,然后根据以前的值函数找到一个新的(改进的)策略,依此类推。在这个过程中,每个策略都保证是对前一个策略的严格改进(除非它已经是最优的)。给定一个策略,可以使用 行李员接线员获得它的值函数。

值迭代中,您从一个随机值函数开始,然后在迭代过程中找到一个新的(改进的)值函数,直到达到最优值函数。注意,您可以很容易地从最优值函数派生出最优策略。这个过程是基于 最优贝尔曼算子的。

在某种意义上,两种算法共享相同的工作原理,它们可以被看作是 广义策略迭代的两种情况。然而,最优 Bellman 算子包含一个 Max算子,它是非线性的,因此,它具有不同的特征。此外,在纯值迭代和纯策略迭代之间可以使用混合方法。

让我们一起来看看。突出显示了比较的关键部分。数据来自萨顿和巴托的书: 强化学习: 简介

enter image description here 要点:

  1. 策略迭代 包括: 政策评估 + 政策改善,并且两者迭代直到策略收敛。
  2. 值迭代 包括: 求最优值函数求最优值函数 + 1 政策提取。两者不会重复,因为一旦值函数是最优的,那么它的策略也应该是最优的(即收敛的)。
  3. 寻找最优值函数 也可以看作是策略改进(由于最大值)和截断策略评估(无论收敛性如何,仅仅一次扫描所有状态后重新分配 v _ (s))的组合。
  4. 政策评估求最优值函数求最优值函数的算法非常相似,除了一个最大操作(突出显示)
  5. 类似地,政策改善政策提取的关键步骤是相同的,除了前者涉及稳定性检查。

根据我的经验,策略迭代值迭代快,因为策略比值函数收敛得更快。我记得这也是书中所描述的。

我想这种困惑主要来自于这些有点类似的术语,这些术语以前也曾让我困惑。

就我个人而言,与@zyxue 的观点相反,VI 通常是 快多了而不是 PI。

原因很简单,正如你们已经知道的,贝尔曼方程是用来求解给定策略的值函数的。因为我们可以求解 最佳状态策略 直接的值函数,所以求解 目前策略的值函数显然是浪费时间。

至于你关于 PI 收敛性的问题,我认为你可能忽略了一个事实,如果你改进了每个信息状态的策略,那么你就改进了整个博弈的策略。这也很容易证明,如果你熟悉反事实遗憾最小化——每个信息状态的遗憾总和已经形成了整体遗憾的上限,因此每个状态的遗憾最小化将使整体遗憾最小化,从而导致最优策略。

最基本的区别是-

政策迭代中,你随机选择一个策略并找到与之相对应的值函数,然后根据先前的值函数找到一个新的(改进的)策略,等等,这将导致最优策略。

价值迭代中,你随机选择一个值函数,然后在迭代过程中找到一个新的(改进的)值函数,直到达到最优值函数,然后从该最优值函数导出最优策略。

政策迭代按照“政策评估ーー > 政策改进”的原则进行。

价值迭代的原理是“最优价值函数ーー > 最优策略”。

速度上的主要差异是由于值迭代(VI)的每次迭代中的最大运算所致。

在 VI 中,每个状态只使用一个动作(带有最大效用值)来计算更新后的效用值,但是它首先必须计算所有可能的动作的值,以便通过贝尔曼方程找到这个动作。

在策略迭代(PI)中,通过遵循中间策略来选择操作,在步骤1(策略评估)中省略了这个最大操作。

如果有 N 个可能的操作,VI 必须计算每个状态的贝尔曼方程 N 次,然后取最大值,而 PI 只计算一次(对于当前策略所述的操作)。

然而在 PI 中,有一个策略改进步骤仍然使用 max 操作符,并且和 VI 中的步骤一样慢,但是由于 PI 在较少的迭代中收敛,这个步骤不会像 VI 中那样经常发生。