为什么策略迭代算法会收敛到最优策略和价值函数?


10

我正在阅读Andrew Ng 关于强化学习的讲义,并且试图理解为什么策略迭代收敛到最优值函数和最优策略。Vπ

召回策略迭代为:

Initialize π randomlyRepeat{Let V:=Vπ \for the current policy, solve bellman's eqn's and set that to the current VLet π(s):=argmaxaAsPsa(s)V(s)}

为什么贪婪算法会导致最优策略和最优价值函数?(我知道贪婪算法并不总是能够保证,或者可能陷入局部最优中,所以我只是想看看它的算法最优性的证明)。

另外,在我看来,策略迭代类似于聚类或梯度下降。要进行聚类,因为使用当前参数设置,我们进行了优化。与梯度下降类似,因为它只是选择一些似乎增加某些功能的值。这两种方法并不总是收敛于最佳最大值,而我试图理解该算法与我前面提到的算法有何不同。


到目前为止,我的想法是:

假设我们从一些策略,然后在第一步之后,对于该固定策略,我们有:π1个

Vπ1个s=[Rs+γsPsπ1个ssVπ1个s

V1个:=Vπ1个s

其中V ^ {(1)}是第一次迭代的值函数。然后,在第二步之后,我们选择一些新策略来增加。现在,使用新策略,如果我们执行算法的第二步,则以下不等式成立:π2Vπ1个sπ2

[Rs+γsPsπ1个ssVπ1个s[Rs+γsPsπ2ssVπ1个s

因为我们在第二步中选择以增加上一步中的值函数(即提高到目前为止,很明显,选择只能增加V ^ {(1)},因为那是我们选择,但是我的困惑出现在重复步骤中,因为一旦我们重复并返回到步骤1,我们实际上就完全改变了事情,因为我们为新策略重新计算了。这使:π2V1个π2π2V2π2

Vπ2s=[Rs+γsPsπ2ssVπ2s

但它不是:

Vπ1个s=[Rs+γsPsπ2ssVπ1个s

这似乎是一个问题,因为选择了来改善而不是这个新的。基本上,问题是可以通过执行来保证提高的当值函数是。但是在重复步骤中,我们将更改为,但是我看不到如何保证每次重复时值函数都单调提高,因为计算是为了改善值函数值函数保持在π2V1个Vπ2p一世2[Rs+γsPsπ1个ssVπ1个sπ2p一世1个Vπ1个Vπ1个Vπ2π2Vπ1个,但第1步将更改为(这很糟糕,因为我仅改进了我们以前使用的值函数)。Vπ1个Vπ2π2


1
请注意:贪婪并不意味着一般而言算法不会找到最佳解决方案。
Regenschein 2015年

1
值迭代是一种动态编程算法,而不是一种贪婪的算法。两者有一些相似之处,但有区别。看看stackoverflow.com/questions/13713572/…
francoisr

@francoisr没有人告诉过我。也许那就是为什么它对我如此(不必要)如此神秘。我非常了解DP。不过谢谢!:)
Pinocchio

Answers:


4

我认为您缺少的部分是得到保证,原因与我们可以订购。这本质上是一种政策优于另一种政策的定义-它的价值函数在所有状态下均大于或等于。您已通过选择最大化动作来保证了这一点-状态值可能不会比以前更糟,并且如果仅一个动作选择已更改为选择更好的最大化动作,则您已经知道(但可能尚未计算)该状态的将高于。Vπ2Vπ1π2π1Vπ2(s)Vπ1(s)

当我们选择最大化结果以生成,我们不知道对于任何状态新的将是什么,但我们确实知道。π2Vπ2(s)s:Vπ2(s)Vπ1(s)

因此,确保循环返回并为新策略计算的值与以前相同或更高,并且当涉及到再次更新策略时,。Vπ2π3π2π1


4

首先让我们看看为什么策略迭代算法起作用。它有两个步骤。

政策评估步骤:

vn=rdn+γPdnvn是线性方程组的一般矢量形式。

在此,项是直接奖励和转移矩阵的相应行。rdn,Pdn

这些条款取决于策略Πn

解决上述方程组,我们可以找到的值vn

政策改善步骤:

假设我们能够找到一个新的政策,使得Πn+1

rdn+1+γPdn+1vnrdn+γPdnvnrdn+1[IγPdn+1]vnsay this is eqn. 1

现在,基于新策略,我们可以找到 ,说这是方程式2。Πn+1vn+1=rdn+1+γPdn+1vn+1

我们将证明 ;vn+1vn

也就是说,从本质上来说,与之前的策略相比,新选择的策略具有更好的价值Πn+1Πn

证明:

根据等式2,我们得到

[IγPdn+1]vn+1=rdn+1

从,我们有1&2

vn+1vn

本质上,这些值随每次迭代单调增加。

了解为什么策略交互不会停留在本地最大值上非常重要。

政策不过是国家行动空间。

在每个策略迭代步骤中,我们尝试找到至少一个在和之间不同的状态操作, 并查看。只有满足条件,我们才会计算新线性方程组的解。Πn+1Πnrdn+1+γPdn+1vnrdn+γPdnvn

假设和分别是全局最优值和局部最优值。ΠΠ#

表示vv#

假设算法停留在局部最优。

如果是这种情况,那么策略改进步骤将不会在局部最优状态操作空间处停止,因为存在至少一个不同于状态操作 并比产生更高的值ΠΠΠvv

或者换句话说,

[一世-γPd]v[一世-γPd]v

[Rd[一世-γPd]v

[Rd+γPdvv

[Rd+γPdv[Rd+γPdv

因此,策略迭代不会在局部最优值处停止

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.