强化学习的数学原理:最优贝尔曼公式

大纲

贝尔曼最优公式是贝尔曼公式的一个特殊情况,但其也非常重要。

本节课很重要的两个概念和一个工具:

在这里插入图片描述

工具不用多说,就是贝尔曼最优公式,概念则是 optimal state value(最优状态价值) 和 optimal policy(最优策略)。

本节课课程大纲:

在这里插入图片描述

Motivating examples

之前已经举过的例子:

在这里插入图片描述

箭头是策略,也就是 Π,对于这个例子要做的事情其实就是求解贝尔曼公式得到 state value,进而得到 action value,而在这个基础之上呢我们会再介绍一个很有意思的现象。

上图中已经算出了 state value,那么接下来可以根据 state value 来获得 action value:

在这里插入图片描述

那么接下来有一个问题,如果当前这个策略是不太好的,我们怎么去提升它呢?

答案就是依赖 action value:

在这里插入图片描述

从刚刚的计算过程当中不难发现,当采取 action 为 a3 的时候,其 action value 是最大的,那么我们就可以选择 a3 来作为一个新的策略:

在这里插入图片描述

为什么我们刚刚选择 action value 最大的那个 action 就能够得到一个比较好的策略呢?:

在这里插入图片描述

什么时候都能得到最优的 action 吗?显然是肯定的,只要我们不断的去这样做(计算 action value 然后取value 最大的 action),不断地迭代,最后一定会得到一个最优的策略。

也就是说对于每一个状态我们都选择 action value 最大的那个 action,选择完一次后再来一次迭代得到一个新的策略再迭代得到一个新的策略,最后那个策略就会趋向一个最优的策略

而这实际上这个过程已经超出了上图中的这种比较直观的理解,有必要依赖于数学来进行更严格的更透彻的分析,而这个数学的工具就是贝尔曼最优公式

Definition of optimal policy

开始正式的定义 最优策略。

在这里插入图片描述

定义并不麻烦,关键是定义之后需要回答一系列问题,即上图中的问题,而要解决这些问题则可以通过研究贝尔曼最优公式进行解决。

BOE:Introduction

首先直接给出 贝尔曼最优公式,然后再详细分析它的性质。

在这里插入图片描述

最优公式与一般公式其实很相似,就是在策略 Π 前面限定了一个 max Π,此时就嵌套了一个优化问题,我们需要先解决这个优化问题,求解出来这个 Π,然后再把这个 Π 代入到这个式子里面去进行求解。

上图中的一个问题,就是 BOE 中这个 Π 是已知的还是未知的?

对于一个贝尔曼公式来说,其一定是依赖于一个给定的 Π ,但是贝尔曼最优公式是没有给定的,我们必须要去求解这样一个 Π 。

在这里插入图片描述

在这里插入图片描述

BOE:Maximization on the right-hand side

在这里插入图片描述

上图的绿色框中举了一个简单的例子来进行说明如何求解一个表达式中有两个未知数的问题,那么接下来通过从这个例子中获得的启发来解决贝尔曼最优公式中求解最优策略 max Π ,在这儿先要提一点,就是对于公式中的 V 一撇,通常情况下我们会先给一个初始值,所以在给定初始值时那么 V 一撇实际上也是给定的已知项:

在这里插入图片描述

在本课程设定的网格世界中,因为 action 有多个,所以 action value 也会有多个,在 q(s, a) 已知的情况下有q(s, a1)、q(s, a2) … q(s, a5),有这样五个值,那么怎么求解 max Π 呢?

而上图中绿色框部分的内容给了我们一定的启发,即如果 q(s, a) 值确定的话我们怎么样来求解最优的策略 Π :

在这里插入图片描述

BOE:Rewrite as v = f(v)

实际上我们可以把等式右边的这一串式子给写成一个函数:

在这里插入图片描述

因为我们要求解的 max Π 的方法是先固定 v 那么就可以求出来一个 Π,至于这个 Π 是什么样子,最后得到的最优的值是什么其实不用太关心,反正其肯定是关于 v 的一个函数。

因此贝尔曼最优公式就化成了 v = f(v)。

在求解这个式子之前,我们需要先介绍一下 Contraction mapping theorem 。

Contraction mapping theorem(压缩映射定理)

在这里插入图片描述

先来介绍 fixed point 和 contraction mapping 的概念:

在这里插入图片描述

下面是两个例子:

在这里插入图片描述

有了上面两个概念之后就可以引出 contraction mapping theorem(压缩映射定理):

在这里插入图片描述

意思就是对于一个式子:x = f(x),压缩映射定理告诉我们三个重要的结论:

1、existence:我们并不关心函数 f 它的表达式是什么,它只要是一个 contraction mapping,我们就能够确定它一定存在一个 fixed point 满足 f(x*) = x*;

2、uniqueness:我们还能确定这个 fixed point 是唯一存在的;

3、Algorithm:我们还能知道怎么样去解决这样一个 fixed point 。

两个例子再来感受一下这个定理:

在这里插入图片描述

BOE:Solution

在有了压缩映射定理的帮助之后,我们就可以进行 BOE 的求解了。

但是在应用压缩映射定理之前呢,我们需要证明这里面的 f(v) 其是一个 contract mapping:

在这里插入图片描述

在已知 f 是一个 contraction mapping 之后,那么贝尔曼最优公式就可以立刻用 contract mapping theorem 来求解出来:

在这里插入图片描述

由之前的内容可知,贝尔曼最优公式它一定存在一个唯一解,用 v* 来表示,然后可以使用上图中的迭代表达式迭代地求解出来,而这个 Vk 最后会收敛到这个 v*。

BOE:Optimality

分析一下贝尔曼最优公式的解的最优性。

在这里插入图片描述

经过上图的转换,最后能够化成一个贝尔曼公式,而贝尔曼公式一定是对应到一个策略的,那么这个就是对应 Π* 的这样一个贝尔曼公式。自然这里面的 v* 也就是 vΠ* 也就是 Π* 所对应的 state value。

因此贝尔曼最优公式是一种特殊的贝尔曼公式,其对应的策略是比较特殊的,其对应的是一个最优的策略。

对应这个策略是不是最优的,state value 值是不是最大的,是可以使用数学进行严格证明的:

在这里插入图片描述

Π* 的样子:

在这里插入图片描述

Analyzing optimal policies

使用 BOE 来分析一些最优的策略,看看都有哪些有趣的性质。

在这里插入图片描述

系统的模型是很难改变的,因此我们不考虑,只考虑修改 reward 和 γ 折扣率 来看一下这两个因素是怎样影响最优策略的。

下面是一个例子:

先来看看修改折扣率会是个什么样的情况:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

接下来再来看看修改 reward 会造成的影响:

在这里插入图片描述

接下来考虑另一种特殊且重要的情况:

在这里插入图片描述

可以看到如果做了这种线性的变换,最后的最优策略实际上是不会改变的,因为最重要的其实不在于这个 reward 的绝对值是多大,而是在于它们互相之间的这种相关价值(relative value)。

这样的结果同样可以数学证明:

在这里插入图片描述

还有一种情况,就是 meaningless detour 的情况(绕远路),很多人会觉得,agent 每走一步就应该给它一个惩罚,比如说 r = -1,那实际当中这个 r = -1 就代表一种能量的消耗,这样的化 agent 就不会绕远路,就会尽可能的走最短的路径到目标区域。

那如果 r = 0 的话,没有 r = -1 的话那好像它就会绕远路?但实际上不是这样的,因为除了 reward 来约束 agent 不要绕远路之外,我们还有 γ 折扣率来进行约束。因为它越绕远路就越意味着我们得到到达目标的奖励越晚,越晚那时候对应的 γ 的次方就越小,打折会打得越厉害,那么自然其就会找一个最短的路径过去。

Summary

在这里插入图片描述
在这里插入图片描述

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在地球迷路的怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值