PPO算法-chapter3-贝尔曼最优方程

[chapter-3]-贝尔曼最优方程

[PPO 算法]-最优策略和贝尔曼最优方程

前言

先介绍之前的例子

image

写出贝尔曼方程并求解状态值(设 ),贝尔曼方程:

求解线性方程组,得到 state-value:

计算状态 的五个动作的动作值

动作值:

策略不好,我们如何改进它?可以根据动作值来改进策略。 特别是,当前策略

观察我们刚刚得到的动作值:

如果我们选择最大的动作值,那么,新策略是

这种新的好的策略如何去评估?如何迭代得到呢?后续介绍

[PPO 算法]-Optimal Policy

公式定义

状态值可以用来评估一个策略是否好:如果

那么 更“好”

定义:如果 对于所有 和任何其他策略 ,那么说这个策略 是最优的,

该定义引出许多问题:

  • 最优策略是否存在?
  • 最优策略是否唯一?
  • 最优策略是随机的还是确定性的?
  • 如何获得最优策略?

为了回答这些问题,下面介绍贝尔曼最优方程。先直接给出数学表达式-贝尔曼最优方程(元素形式):

注:

  • 是已知的。
  • 是未知的,需要计算。
  • 是已知的还是未知的?是未知的,这就成为了一个优化问题

贝尔曼最优方程(矩阵-向量形式):

其中对应于 的元素是

这里 是逐元素进行的:

$$ \max_{\pi} \begin{bmatrix}

  • \ \vdots \

\end{bmatrix}

$$

BOE 是巧妙而优雅的!为什么优雅?它以一种优雅的方式描述了最优策略和最优状态值。为什么复杂?右侧有一个最大化,可能不容易看出如何计算。

后续需要理解以下所有问题:

  • 算法:如何解决这个方程?
  • 存在性:这个方程有解吗?
  • 唯一性:这个方程的解是唯一的吗?
  • 最优性:它与最优策略有什么关系?

基本性质介绍

BOE:元素形式

BOE:矩阵-向量形式

上述矩阵向量形式具有未知量 和未知量 ,一个公式具有两个未知量如何求?

思路:求解以下方程中的两个未知数

为了解这些方程,首先考虑右侧。无论 的值如何,,其中最大化在 时达到。其次,当 时,方程变为 ,这使得 。因此, 是方程的解。

首先固定 并求解

假设 已知。找到 解决

其中

答案:假设 。那么,最优解是 。这是因为对于任何

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

其中最优性在以下情况下达到

其中

写成

先固定定 并求解 ,可以得到

其中

这个方程看起来很简单。如何求解它?

一些概念

  • 不动点: 是函数 的一个固定点,如果

  • Contraction mapping(或收缩函数): 是一个Contraction mapping,如果

其中 。这里就类似于Lipschiz条件的做了约束

  • 必须严格小于 1,以便许多极限如 时成立。
  • 这里 可以是任何向量范数

定理(压缩映射定理)

对于任何形式为 的方程,如果 是压缩映射,则:

  • 存在性:存在一个不动点 满足
  • 唯一性:不动点 是唯一的。
  • 算法:考虑一个序列 ,其中 ,则当 时,。此外,收敛速度是指数级。

求解BOE

考虑到贝尔曼最优方程:

这个方程具有压缩性质,如下

定理(压缩性质)

是一个压缩映射,满足

其中 是折扣因子。

这里不过多介绍,可以进一步得到下面求解算法

定理(存在性、唯一性与算法)

对于BOE ,总是存在一个解 且该解是唯一的。该解可以通过迭代方法求解:

该序列 会以指数速度收敛到 ,给定任意初始猜测 。收敛速度由 决定。

假设 是贝尔曼最优方程的解。它满足

假设

那么

因此, 是一个策略,并且 是对应的状态值。

定理(策略最优性)

假设 的唯一解,并且 是满足 的状态值函数,对于任意给定的策略 ,则

根据这个定理这里就可以确定 是一个最优策略,

最优策略 是什么样的?

定理(贪心最优策略)

对于任意 ,确定性贪心策略

是解决BOE的最优策略。这里,

其中

最优策略性质

哪些因素决定了最优状态值和最优策略?从BOE可以清楚地看到

有三个因素:

  • 系统模型:
  • 奖励设计:
  • 折扣率:

其他是未知且待求解的

定理(最优策略不变性)

考虑一个马尔可夫决策过程,其中 是满足 的最优状态值。如果每个奖励 通过仿射变换 改变,其中 ,那么相应的最优状态值 也是 的仿射变换:

其中 是折扣率,。因此,最优策略对奖励信号的仿射变换是不变的。