Reading

贝尔曼最优方程(Bellman Optimality Equation

最优策略(Optimal Policy )

之前在 贝尔曼方程中说过,状态值可以用来评估一个策略是好是坏,这里给出正式的概念:

那么此时”更好“

  • 最优状态值(Optimal State Value)
  • 最优策略(Optimal Policy)
  • 性质
    为了说明上述性质, 我们研究贝尔曼最优方程 Bellman optimality equation(BOE)

贝尔曼最优方程(BOE)

定义

分析最优策略和最优状态值的工具是贝尔曼最优方程(BOE)。通过求解此方程,我们可以获得最优策略和最优状态值。

对于每个,BOE 的element-wise表达式为:

其中, 是待求解的未知变量, 表示状态 的策略,而 所有可能策略的集合。此时有,

最大化 BOE 右侧

这里我们讨论如何解决 BOE。在实践中,我们需要处理矩阵-向量形式,因为这是我们面临的问题。但是,由于矩阵中的每一行实际上是一个逐元素形式的向量,所以我们从元素形式开始。

实际上,我们可以将问题转化为“在右侧求解最优的 ”。让我们先看一个例子:

💡 例. 给定实数 ,我们要找到最优值 使得以下表达式最大

受上面示例的启发,BOE 右侧的最大化问题。BOE(element-wise)可以写成:

受上述示例的启发,考虑到,我们有

,当且仅当

时达到最优,其中

现在我们知道 BOE 的解是最大化右侧,我们也知道如何做到这一点——只需选择具有最大动作值的动作。但我们目前不知道动作值或状态值,所以这种方法不起作用。

实际上,BOE 的解来源于矩阵-向量形式的巴拿赫不动点定理(又称为压缩映射原理, contraction mapping theorem)。那是一种迭代方法(见后文)

所以为什么在这里引入(2)** **?原因是在每次迭代期间,对于每个状态 ,动作值已经已知,因此我们可以使用 (2) 来获取最大化的右侧,这就是最大化的

BOE 矩阵形式

利用巴拿赫不动点定理,我们将矩阵-向量形式表示为

由于 ** 的最优值由 决定,BOE(矩阵-向量形式)的右侧是 的函数,记为**

其中 且对 按元素进行操作。 的结构与普通贝尔曼方程的矩阵-向量形式相同:

然后,BOE 可以简洁地表示为

Contraction mapping theorem

现在将矩阵-向量形式表示为非线性方程 ,接下来我们引入Contraction mapping theorem来分析它。

Fixed point and Contraction mapping

  • Fixed point: 对于函数 , 其中, , **,**为一个的不动点,如果满足
  • Contraction mapping (or contractive function): 对于任意 是一个Contraction mapping 如果存在一个 满足:
    💡 我们通过三个例子来演示不动点和压缩映射的概念。

Contraction Mapping Theorem

不动点与压缩映射性质之间的关系由以下经典定理刻画。

对于任何具有形式 的方程,如果 是压缩映射,那么

证明参考:《Mathematical Foundations of Reinforcement Learning》Box 3.1

Contraction property of BOE

(3) 中是一个压缩映射,满足

,其中 是折扣率, 是最大范数,即向量元素的绝对值最大值。

证明参考:《Mathematical Foundations of Reinforcement Learning》Box 3.2

BOE方程求解

求解最优状态值 ** **

贝尔曼最优方程可以表示为:

是 BOE 的解,同时也是一个不动点,即满足

方程右侧是一个收缩映射,根据收缩映射定理,就会得到下面的结论

定理 **(存在性、唯一性与算法),对于BOE , 总存在唯一**BOE 的解 总是存在, 并且可以通过迭代算法求解, 即

  • 初始值 可以是任意的状态值向量。
  • 迭代过程会快速收敛到唯一的不动点
  • 收敛速度是指数级的,即误差 随迭代次数 指数级减小。
  • 该方法称为值迭代算法(Value Iteration)

**求解最优策略 **

一旦求得最优状态值 ,最优策略 可以通过以下公式计算:

(4) 式 最优策略带入BOE 就可以得到,

这表明:

  1. * 是最优策略 * 的状态值
  2. BOE 是一个特殊的贝尔曼方程,其对应的策略是最优的。

最优状态值的最优性

**定理 **(最优性): 是最优状态值,并且 是最优策略, 满足:

🧾 证明思路:

由于 ,说明对于任意策略 ,最优值函数 总是大于等于策略值函数 。这表明最优策略的性能优于或等于任何其他策略。

定理(贪婪最优策略):对于任意状态 ,以下贪婪策略是最优的:

🧾 最优策略的矩阵-向量形式为:

解的唯一性

  • 虽然最优状态值 * 是唯一的,但最优策略 * 可能不唯一。
  • 不同的策略可能对应相同的最优状态值。例如,某些状态可能有多个动作具有相同的

影响最优策略的因素

折扣因子 ** 的影响**

  • 长远性与短视性
  • 状态值的空间分布

奖励值 ** 的影响**

  • 奖励值的绝对大小
  • 奖励值的仿射变换

避免无意义绕路的避免

如果我们希望最优策略在到达目标之前能够避免无意义的弯路,那么我们是不是应该在每一步都增加一个负奖励,让Agent尽快到达目标呢? 回答是不需要,

  • 首先,每一步都引入额外的负奖励是奖励的仿射变换,不会改变最优策略。
  • 其次,折扣率 可以自动鼓励代理尽快达到目标。 这是因为无意义的弯路会增加轨迹长度并减少折扣的回报。

Reference

🔖 https://github.com/MathFoundationRL/Book-Mathematical-Foundation-of-Reinforcement-Learning/blob/main/3%20-%20Chapter%203%20Optimal%20State%20Values%20and%20Bellman%20Optimality%20Equation.pdf

🔖 https://lyk-love.cn/2024/01/07/bellman-optimality-equation/