课程笔记 →
Bellman Optimal Equation (BOE)
根据2.贝尔曼公式中介绍的 action value,我们可以得出一种直观的优化策略的方式:
选择当前 action value 高的动作。
但这样做有一个问题:
当前的 action value 高,不一定代表这个动作就是更优的。因为 action value 的计算依赖于后续的策略,而后续策略可能不是最优的,导致当前“贪心”的选择也不是最优的。
不过,后续我们会看到,只要迭代多轮,策略会自动收敛到最优情况。其原理类似 Dijkstra 的松弛操作。
Optimality#
“更优性”定义:如果存在两个策略 π1,π2,满足对任何状态 s∈S,都有 vπ1(s)≥vπ2(s),(其中 v(s) 为 s 的 state value,)则称 π1 优于 π2.
“最优性”定义:如果策略 π∗ 满足对任何策略 π,都有 π∗ 优于 π,则称 π∗ 是最优的。
这个定义引出了一系列问题:
- 最优策略是否一定存在?
- 最优策略存在时,是否唯一?
- 最优策略是 stochastic 还是 deterministic?
- 如何得到最优策略?
这些问题可以通过研究 BOE 得到回答。
Definition#
v(s)=πmaxa∑π(a∣s)(r∑p(r∣s,a)r+γs′∑p(s′∣s,a)v(s′)),∀s∈S≜πmaxa∑π(a∣s)q(s,a),s∈S
以上是贝尔曼最优公式的 elementwise 形式。它和贝尔曼公式的联系就是:将 vπ 替换为 v,然后对所有 π 取一个最大值。(将 vπ 替换为 v,保证了最优性的递归。)
在 BOE 中,v(s) 不再与 π 有关,而只与状态 s、状态转移模型、奖励模型有关。
通过定义一些符号,我们可以写出 BOE 的 matrix-vector 形式:
v=πmax(rπ+γPπv)
其中 [rπ]s≜∑aπ(a∣s)∑rp(r∣s,a)r,[Pπ]s,s′=p(s′∣s)≜∑aπ(a∣s)∑s′p(s′∣s,a).
关于向量
max:最优策略为什么一定存在
这里读者可能对向量的 max 感到疑惑。毕竟向量是不可比较大小的,除非采用范数大小来间接比较。
但是,多亏了 Markov Decision Process 中策略的「逐状态可分性(state-wise separability)」,我们可以把 max 定义为逐状态的。换句话说,就是每个分量单独考虑最大值,结果的分量不必来自同一个向量。
这源于策略在不同状态的可组合性。假如策略 π1 在状态 s1 是最优的,策略 π2 在状态 s2 是最优的,那么可以构造策略 π3,在 s1 时采取 π1 的行动,在 s2 时采取 π2 的行动。这个 π3 是完全合法的,因而也存在于状态空间中。
也就是说,最优策略 π∗ 必然存在。
更深层次地,这反映了策略空间的类似笛卡尔积的结构,即各个分量之间的独立性。
值得指出的是,v∗ 是唯一存在的,但 π∗ 可能有多种。
Analysis#
由于上述不动点方程 v=maxπ(rπ+γPπv) 右侧是一个压缩映射,根据压缩映射定理,解存在且唯一,并可以通过迭代算法收敛求解。
证明:
f(v)=maxπ(rπ+γPπv) 是一个压缩映射
只需证明 ∥f(v1)−f(v2)∥∞≤γ∥v1−v2∥∞,∣γ∣<1,∀v1,v2∈R∣S∣.
此处范数任取,因为有限维空间的范数等价(详见 ChatGPT - 理解范数等价 ↗),而取 L∞ 将会简化证明。
记 π1=argmaxπ(rπ+γPπv1), π2=argmaxπ(rπ+γPπv2),则有:
f(v1)=rπ1+γPπ1v1≥rπ2+γPπ2v1f(v2)=rπ2+γPπ2v2≥rπ1+γPπ1v2其中 ≥ 是逐元素比较算子。于是:
f(v1)−f(v2)=rπ1+γPπ1v1−(rπ2+γPπ2v2)≤rπ1+γPπ1v1−(rπ1+γPπ1v2)=γPπ1(v1−v2)同理可得 f(v2)−f(v1)≤γPπ2(v2−v1). 结合起来即:
γPπ2(v1−v2)≤f(v1)−f(v2)≤γPπ1(v1−v2)不妨定义
z=max{∣γPπ1(v1−v2)∣,∣γPπ2(v1−v2)∣}∈R∣S∣以上 ≤, max, ∣⋅∣ 均为逐元素算符。
已知 z>0,并且一方面,
−z≤f(v1)−f(v2)≤z即
∣f(v1)−f(v2)∣≤z这就导致了
∥f(v1)−f(v2)∥∞≤∥z∥∞另一方面,记 piT, qiT 分别是 Pπ1,Pπ2 的第 i 行,zi 为 z 的第 i 个分量。
则有
zi=max{∣γpiT(v1−v2)∣,∣γqiT(v1−v2)∣}注意到 pi 的元素均非负且和为 1,有
∣γpiT(v1−v2)∣ ≤ γpiT∣v1−v2∣ ≤ γ∥v1−v2∥∞同理可得 ∣γqiT(v1−v2)∣ ≤ γ∥v1−v2∥∞,于是引出
∥z∥∞ = imax∣zi∣ ≤ γ∥v1−v2∥∞这就证明了
∥f(v1)−f(v2)∥∞ ≤ γ∥v1−v2∥∞也即,f(v) 是压缩映射。
Solution#
使用迭代法求解 v:
vt+1(s)=πmaxa∑π(a∣s)qt(s,a),s∈S
其中 qt(s,a)=r∑p(r∣s,a)r+γs′∑p(s′∣s,a)vt(s′).
迭代时,等式右侧的 qt 已知,只需要确定 π 的取值。
而 ∀s∈S,∑aπ(a∣s)=1,因此使得 ∑aπ(a∣s)qt(s,a) 最大的 π 的形式一定是:
π(a∣s)={1,0,a=argmaxaqt(s,a),otherwise.
这被称为 Greedy Optimal Policy.
该结论指出,实际求解时,我们不需要真正枚举所有 π,而只需要对每个状态依次计算最佳动作(逐状态可分)。且必然存在 deterministic 的最佳动作。
Proof of Optimality#
可以证明,BOE 的解 v∗,以及其对应的 π∗,满足 ∀π, v∗=vπ∗≥vπ.
这就是说,通过 BOE 求解出来的 v∗ 及 π∗,确实是最优的策略。
下面证明:
对任何 policy π,有 vπ=rπ+γPπvπ.
与此同时,对于 BOE 的解,有:
v∗=πmax(rπ+γPπv∗)=rπ∗+γPπ∗v∗≥rπ+γPπv∗
因此,
v∗−vπ≥γPπ(v∗−vπ)
由于 γ>0,且 Pπn (∀n∈N+) 为元素均不大于 1 的非负矩阵,故可两边同时左乘 γPπ,得到不等式链:
v∗−vπ≥γPπ(v∗−vπ)≥γ2Pπ2(v∗−vπ)≥⋯≥γnPπn(v∗−vπ)
∀x∈Rd, limn→∞Anx=0 的条件
对于一般地 ∀x∈Rd, limn→∞Anx=0,其充要条件为 A 的所有特征值模长 ρ(A)≤1.
但是对于 stochastic 矩阵 Pπn,更简单地证明方法是使用 L∞ 范数。
这就可以导出:
v∗−vπ=n→∞lim(v∗−vπ) ≥ n→∞limγnPπn(v∗−vπ)=0
Optimal Policy Invariance#
考虑 MDP,其最优 state value 已求出:v∗=maxπ∈Π(rπ+γPπv∗). 如果将所有奖励 r 应用同一个仿射变换 r′=αr+β, α,β∈R, α>0,则新的最优 state value v′ 也将由 v∗ 的一个仿射变换确定:
v′=αv∗+1−γβ1
由此可见,最优策略 π∗ 对仿射变换不敏感,变换前后最优策略还是最优策略。
直观理解较为简单,第一项表示「reward 增大几倍,state value 就增大几倍」;第二项表示「reward 统一增大一个数,state value 就统一增大其 discounted 之后的量」。
证明
新的 BOE 变为
v′=πmax(rπ′+γPπv′)=πmax(αrπ+β1+γPπv′)接下来先猜测 v′=αv+c1 的形式,并尝试进行正向变换或者直接带入化简。此处以正向变换为例。
αv′αv′αv′−1−γ1αβ1=πmax(rπ+αβ1+γPπαv′)=πmax(rπ+(1−γ1−1−γγ)αβ1+γPπαv′)=πmax(rπ+γ(Pπαv′−1−γ1αβ1))又由于 Pπ1=1,故
αv′−1−γ1αβ1=πmax(rπ+γPπ(αv′−1−γ1αβ1))这就是说,
v∗=αv′−1−γ1αβ1即
v′=αv∗+1−γβ1最后,由于仿射变换不改变相对大小,适用于 v∗ 的最佳策略也适用于 v′,因此最佳策略不变。
BOE 的目标和 RL 的目标有所区别。具体来说,
RL Objective: 最大化初始状态(或者初始状态分布)下的 expected return;
Bellman Optimality: 求所有状态下的 v∗.
可以看到,BOE 的讨论更加一般化,并且最优策略的存在性有保证,因此理论上往往研究 BOE.
此外,目前为止涉及的 MDP 方法,是高度理想的模型,更像是随机过程 + 动态规划 + 线性代数。其假设状态空间、策略空间均有限,转移概率和奖励能被精确估计。这种条件下,问题的核心是解 Bellman 方程。