跳转至

3.5-影响最优策略的因素

贝尔曼最优方程是一种用于分析最优策略的强大工具。接下来,我们将应用贝尔曼最优方程来研究哪些因素会影响最优策略。贝尔曼最优方程的元素展开形式是:

\[v(s)=\max_{\pi(s)\in\Pi(s)}\sum_{a\in\mathcal{A}}\pi(a|s)\left(\sum_{r\in\mathcal{R}}p(r|s,a)r+\gamma\sum_{s^{\prime}\in\mathcal{S}}p(s^{\prime}|s,a)v(s^{\prime})\right),\quad s\in\mathcal{S}.\]

这里的未知量\(v^*\)\(\pi^*\),已知量包括即时奖励\(r\)、折扣因子\(\gamma\)、系统模型 \(p(s'|s,a), p(r|s,a)\)。显然这里的未知量(最优状态值和最优策略)是由这些已知量决定的。如果系统模型是给定的,那么最优策略会受到\(r\)\(\gamma\)的影响。下面我们讨论当改变\(r\)\(\gamma\)时最优策略会如何变化。本节中所展示的所有最优策略都是由定理\(3.3\)中的算法获得的,具体计算过程不再给出,该算法的实现细节将在第\(4\)章中给出。本章主要关注最优策略的基本性质。

基准示例

考虑图\(3.4\)中的示例。奖励设置为 \(r_{boundary} = r_{forbidden} = −1,r_{target} = 1\)。此外智能体都每移动一步都会获得\(r_{other}=0\)的奖励。折扣因子选择为\(\gamma= 0.9\)

如图\(3.4(a)\)给出了在上述参数下的最优策略和最优状态值。有趣的是,此时的最优策略会选择穿过禁区以到达目标区域。例如,从状态(行=4,列=1)开始,智能体有两种策略到达目标区域。第一种选项是绕开所有禁区,长途跋涉到达目标区域;第二种选项是穿过禁区,走较短的路程到达目标区域,尽管智能体进入禁区时会获得负奖励,但是其总的折扣回报更高,反而优于第一种策略。实际上,由于\(\gamma\)值相对较大,因此最优策略是具有远见性,智能体愿意“冒险”。

折扣因子的影响

如果我们把折扣因子从\(\gamma= 0.9\)变为\(\gamma= 0.5\)并保持其他参数不变,最优策略将转变为图\(3.4(b)\)所示的策略。有趣的是,智能体不再敢于冒险,而是绕行很长的路同时避开所有禁区到达目标。这是因为由于\(\gamma\)的值相对较小,最优策略变得目光短浅。

在极端情况下,当\(\gamma= 0\)时,相应的最优策略如图\(3.4(c)\)所示。此时智能体甚至无法到达目标区域。这因为每个状态下的最优策略是非常短视的,它仅仅选择具有最大即时奖励的动作,而不是选择具有最大总奖励的动作。

此外,图\(3.4\)中所有最优状态值的空间分布也呈现出一种有趣的现象:靠近目标的状态具有更高的状态值,而远离目标的状态则具有较低的值。这种现象可以用折扣因子来解释:如果某个状态需要沿着更长的轨迹才能到达目标,由于折扣因子的原因,得到的回报会较小。

\(3.4\): 给定不同参数值时的最优策略和最优状态值。

奖励值的影响

我们可以通过调整奖励值来改变最优策略。例如,如果我们希望禁止智能体进入禁区,可以增加其进入禁区所受到的惩罚。例如,当\(r_{forbidden}\)\(-1\)\(-10\),那么得到的最优策略可以避免所有禁区(见图\(3.4(d)\))。

然而,改变奖励并不总会导致不同的最优策略。一个重要的性质是:最优策略对奖励的仿射变换是保持不变的。换句话说,如果我们对所有奖励进行等比例缩放或加减相同的值,那么最优策略仍然会保持不变。下面的定理严格刻画了这个性质:

Note

定理3.6 (最优策略不变性). 考虑一个马尔可夫决策过程,其最优状态值为\(v^∗\in \mathbb{R}^{|\mathcal{S}|}\),满足\(v^∗ = max_{\pi\in\Pi}(r_\pi + \gamma P_\pi v^∗)\)。如果每个奖励\(r\in \mathcal{R}\),经过仿射变换变为 \(\alpha r + \beta\),其中 \(\alpha,\beta\in \mathbb{R}\)\(α\geq 0\),则相应的最优状态值\(v^\prime\)也是\(v^*\)的仿射变换:

\[v^\prime=av^*+\frac{\beta}{1-\gamma}\mathbf{1},\tag{3.8}\]

这里\(\gamma\in(0,1)\)是折现率并且\(\mathbb{1}=[1,\cdots,1]^T\)。因此,从\(v^\prime\)导出的最优策略对奖励值的仿射变换是不变的。

定理\(3.6\)告诉我们:真正决定最优策略的不是奖励的绝对值,而是奖励的相对值。该定理的证明在Box\(3.5\)中给出,感兴趣的读者可以阅读。

避免无意义的绕路

在奖励设置中,智能体在每个行动后都会获得奖励\(r_{other} = 0\)(除非它进入了禁区、目标区域,或试图超出边界)。由于零奖励并不是惩罚,那么最优策略是否会在到达目标之前采取毫无意义的绕道行为?我们是否应该将\(r_{other}\)设置为负值,以鼓励智能体尽快到达目标?经过前面小节的讨论,我们已经知道如果仅仅对每一步都增加一个负奖励,这实际上是对奖励做了一个仿射变换,那么最后所对应的最优策略是不变的。所以加或者不加这个负奖励所得到的策略是没有区别的。

那么,如何才能使智能体避免无意义的绕路呢?答案是:最优策略已经学会了避免绕路,而不需要人为做额外的设置。例如,图\(3.5(a)\)给出的就是最优策略。此时虽然在白色区域之间移动的奖励为\(0\),但是最优策略并不会进行无意义的绕路。

为什么没有对每一步的惩罚也会使得智能体避免绕路而尽快到达目标呢?答案在于折扣因子\(\gamma\)。例如从右上角的状态出发,图\(3.5(b)\)中的策略在到达目标区域之前绕了一个远路。如果我们考虑折扣回报,那么绕远路会降低折扣回报。具体来说,此时的折扣回报为

\[\mathrm{return}=0+\gamma0+\gamma^21+\gamma^31+\cdots=\gamma^2/(1-\gamma)=8.1.\]

相比之下,采用图\(3.5(a)\)中的策略,其折现回报为:

\[\mathrm{return}=1+\gamma1+\gamma^21+\cdots=1/(1-\gamma)=10.\]

很明显,到达目标区域的轨迹越短,折扣回报就越大。因此,最优策略会自然避免选择这样的轨迹。

初学者可能会产生一个误解,即为了鼓励智能体尽快到达目标,需要在每次行动所获得的奖励基础上额外添加一个负奖励(例如\(-1\))。这种理解是错误的,因为将相同的奖励加到所有奖励之上是一种仿射变换,这种变换不会改变最优策略。此外,即使绕道可能不会立即获得任何负奖励,最优策略也不会因为折现率而采取毫无意义的绕道。

\(3.5\):有绕路和无绕路的策略及其对应的状态值。在右上角的状态,两种策略是不同的。这个例子中,右下角的蓝色单元格代表目标区域。进入目标区域会获得\(+1\)的奖励,在白色区域之间移动的奖励为\(0\)


评论