《强化学习数学原理》学习笔记7——从贝尔曼最优方程得到最优策略

下面求解贝尔曼最优方程,从而得到最优状态价值 v ∗ v^* v∗ 和最优策略 π ∗ \pi^* π∗。

一、求解最优状态价值 v ∗ v^* v∗

若 v ∗ v^* v∗ 是贝尔曼最优方程的解,那么它满足:
v ∗ = max ⁡ π ∈ Π ( r π + γ P π v ∗ ) (1) v^* = \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v^*) \tag{1} v∗=π∈Πmax(rπ+γPπv∗)(1)

显然, v ∗ v^* v∗ 是一个不动点,因为 v ∗ = f ( v ∗ ) v^* = f(v^*) v∗=f(v∗)(这里 f ( v ) = max ⁡ π ∈ Π ( r π + γ P π v ) f(v) = \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v) f(v)=maxπ∈Π(rπ+γPπv))。结合压缩映射定理,我们有以下结论。

存在性、唯一性与算法 :对于贝尔曼最优方程 v = f ( v ) = max ⁡ π ∈ Π ( r π + γ P π v ) v = f(v) = \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v) v=f(v)=maxπ∈Π(rπ+γPπv),始终存在唯一的解 v ∗ v^* v∗,可以通过迭代法求解:
v k + 1 = f ( v k ) = max ⁡ π ∈ Π ( r π + γ P π v k ) , k = 0 , 1 , 2 , ... (2) v_{k + 1} = f(v_k) = \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v_k), \quad k = 0, 1, 2, \dots \tag{2} vk+1=f(vk)=π∈Πmax(rπ+γPπvk),k=0,1,2,...(2)

对于任意初始给定的 v 0 v_0 v0,当 k → ∞ k \to \infty k→∞ 时, v k v_k vk 会以指数速度快速收敛到 v ∗ v^* v∗。

由于 f ( v ) f(v) f(v) 是压缩映射,该定理的证明可直接由压缩映射定理得到。这个定理很重要,因为它回答了一些基本问题:

  • v ∗ v^* v∗ 的存在性:贝尔曼最优方程的解始终存在。
  • v ∗ v^* v∗ 的唯一性 :贝尔曼最优方程的解 v ∗ v^* v∗ 始终是唯一的。
  • 求解 v ∗ v^* v∗ 的算法 : v ∗ v^* v∗ 可以通过式(2)给出的迭代算法求解。这种迭代算法有一个特定的名称,叫做值迭代

二、求解最优策略 π ∗ \pi^* π∗

一旦得到 v ∗ v^* v∗ 的值,我们可以通过求解下式轻松得到 π ∗ \pi^* π∗:
π ∗ = arg ⁡ max ⁡ π ∈ Π ( r π + γ P π v ∗ ) (3) \pi^* = \arg\max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v^*) \tag{3} π∗=argπ∈Πmax(rπ+γPπv∗)(3)

将式(3)代入贝尔曼最优方程可得:
v ∗ = r π ∗ + γ P π ∗ v ∗ (4) v^* = r_{\pi^*} + \gamma P_{\pi^*} v^* \tag{4} v∗=rπ∗+γPπ∗v∗(4)

因此, v ∗ = v π ∗ v^* = v_{\pi^*} v∗=vπ∗ 是 π ∗ \pi^* π∗ 的状态价值,且贝尔曼最优方程是一个特殊的贝尔曼方程,其对应的策略是 π ∗ \pi^* π∗。

此时,尽管我们可以求解 v ∗ v^* v∗ 和 π ∗ \pi^* π∗,但仍不清楚这个解是否是最优的。下面的定理揭示了解的最优性。

v ∗ v^* v∗ 和 π ∗ \pi^* π∗ 的最优性 :解 v ∗ v^* v∗ 是最优状态价值, π ∗ \pi^* π∗ 是最优策略。即,对于任意策略 π \pi π,有
v ∗ = v π ∗ ≥ v π (5) v^* = v_{\pi^*} \geq v_{\pi} \tag{5} v∗=vπ∗≥vπ(5)

其中 v π v_{\pi} vπ 是 π \pi π 的状态价值, ≥ \geq ≥ 是按元素比较。上述定理的证明如下:

对于任意策略 π \pi π,有
v π = r π + γ P π v π (6) v_{\pi} = r_{\pi} + \gamma P_{\pi} v_{\pi} \tag{6} vπ=rπ+γPπvπ(6)

因为
v ∗ = max ⁡ π ( r π + γ P π v ∗ ) = r π ∗ + γ P π ∗ v ∗ ≥ r π + γ P π v ∗ (7) v^* = \max_{\pi} (r_{\pi} + \gamma P_{\pi} v^*) = r_{\pi^*} + \gamma P_{\pi^*} v^* \geq r_{\pi} + \gamma P_{\pi} v^* \tag{7} v∗=πmax(rπ+γPπv∗)=rπ∗+γPπ∗v∗≥rπ+γPπv∗(7)

所以我们有
v ∗ − v π ≥ ( r π + γ P π v ∗ ) − ( r π + γ P π v π ) = γ P π ( v ∗ − v π ) (8) v^* - v_{\pi} \geq (r_{\pi} + \gamma P_{\pi} v^*) - (r_{\pi} + \gamma P_{\pi} v_{\pi}) = \gamma P_{\pi} (v^* - v_{\pi}) \tag{8} v∗−vπ≥(rπ+γPπv∗)−(rπ+γPπvπ)=γPπ(v∗−vπ)(8)

重复应用上述不等式可得 v ∗ − v π ≥ γ P π ( v ∗ − v π ) ≥ γ 2 P π 2 ( v ∗ − v π ) ≥ ⋯ ≥ γ n P π n ( v ∗ − v π ) v^* - v_{\pi} \geq \gamma P_{\pi} (v^* - v_{\pi}) \geq \gamma^2 P_{\pi}^2 (v^* - v_{\pi}) \geq \dots \geq \gamma^n P_{\pi}^n (v^* - v_{\pi}) v∗−vπ≥γPπ(v∗−vπ)≥γ2Pπ2(v∗−vπ)≥⋯≥γnPπn(v∗−vπ)。由此可得
v ∗ − v π ≥ lim ⁡ n → ∞ γ n P π n ( v ∗ − v π ) = 0 (9) v^* - v_{\pi} \geq \lim_{n \to \infty} \gamma^n P_{\pi}^n (v^* - v_{\pi}) = 0 \tag{9} v∗−vπ≥n→∞limγnPπn(v∗−vπ)=0(9)

最后一个等式成立是因为 γ < 1 \gamma < 1 γ<1,且 P π n P_{\pi}^n Pπn 是一个非负矩阵,其所有元素都小于或等于 1(因为 P π n 1 = 1 P_{\pi}^n \mathbf{1} = \mathbf{1} Pπn1=1)。因此,对于任意 π \pi π,有 v ∗ ≥ v π v^* \geq v_{\pi} v∗≥vπ。

接下来,我们更仔细地研究式(3)中的 π ∗ \pi^* π∗。具体来说,下面的定理表明,始终存在一个确定性的贪婪策略是最优的。

贪婪最优策略证明

贪婪最优策略 :假设 v ∗ v^* v∗ 是贝尔曼最优方程的最优状态值解。对于任意 s ∈ S s \in \mathcal{S} s∈S,确定性贪婪策略
π ∗ ( a ∣ s ) = { 1 , a = a ∗ ( s ) 0 , a ≠ a ∗ ( s ) (10) \pi^*(a|s) = \begin{cases} 1, & a = a^*(s) \\ 0, & a \neq a^*(s) \end{cases} \tag{10} π∗(a∣s)={1,0,a=a∗(s)a=a∗(s)(10)

是求解贝尔曼最优方程的最优策略。这里,
a ∗ ( s ) = arg ⁡ max ⁡ a q ∗ ( a , s ) (11) a^*(s) = \arg\max_{a} q^*(a, s) \tag{11} a∗(s)=argamaxq∗(a,s)(11)

其中
q ∗ ( s , a ) ≜ ∑ r ∈ R p ( r ∣ s , a ) r + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v ∗ ( s ′ ) (12) q^*(s, a) \triangleq \sum_{r \in \mathcal{R}} p(r|s, a)r + \gamma \sum_{s' \in \mathcal{S}} p(s'|s, a)v^*(s') \tag{12} q∗(s,a)≜r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)v∗(s′)(12)

证明如下:

最优策略的矩阵 - 向量形式是 π ∗ = arg ⁡ max ⁡ π ( r π + γ P π v ∗ ) \pi^* = \arg\max_{\pi} (r_{\pi} + \gamma P_{\pi} v^*) π∗=argmaxπ(rπ+γPπv∗),其元素展开形式为
π ∗ ( s ) = arg ⁡ max ⁡ π ∈ Π ∑ a ∈ A π ( a ∣ s ) ( ∑ r ∈ R p ( r ∣ s , a ) r + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v ∗ ( s ′ ) ) ⏟ q ∗ ( s , a ) , s ∈ S (13) \pi^*(s) = \arg\max_{\pi \in \Pi} \sum_{a \in \mathcal{A}} \pi(a|s) \underbrace{\left( \sum_{r \in \mathcal{R}} p(r|s, a)r + \gamma \sum_{s' \in \mathcal{S}} p(s'|s, a)v^*(s') \right)}_{q^*(s, a)}, \quad s \in \mathcal{S} \tag{13} π∗(s)=argπ∈Πmaxa∈A∑π(a∣s)q∗(s,a) (r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)v∗(s′)),s∈S(13)

显然,如果 π ( s ) \pi(s) π(s) 选择具有最大 q ∗ ( s , a ) q^*(s, a) q∗(s,a) 的动作,那么 ∑ a ∈ A π ( a ∣ s ) q ∗ ( s , a ) \sum_{a \in \mathcal{A}} \pi(a|s) q^*(s, a) ∑a∈Aπ(a∣s)q∗(s,a) 会被最大化。

式(10)中的策略被称为贪婪策略,因为它选择具有最大 q ∗ ( s , a ) q^*(s, a) q∗(s,a) 的动作,它指出总是存在一个确定性的贪婪策略是最优的。最后,我们讨论 π ∗ \pi^* π∗ 的两个重要性质:

  • 最优策略的唯一性 :尽管 v ∗ v^* v∗ 的值是唯一的,但与 v ∗ v^* v∗ 对应的最优策略可能不唯一。
  • 最优策略的随机性:最优策略可以是随机的或确定性的。然而,肯定始终存在一个确定性的最优策略。
相关推荐
报错小能手2 小时前
linux学习笔记(11)fork详解
linux·笔记·学习
我命由我123452 小时前
Photoshop - Photoshop 工具栏(1)移动工具
笔记·学习·ui·职场和发展·求职招聘·职场发展·photoshop
励志不掉头发的内向程序员3 小时前
【Linux系列】并发世界的基石:透彻理解 Linux 进程 — 进程概念
linux·运维·服务器·开发语言·学习
A9better3 小时前
嵌入式开发学习日志30——stm32之定时器中断简单项目练习
stm32·单片机·嵌入式硬件·学习
Thexhy4 小时前
在Centos的Linux中安装Windows10系统
linux·运维·经验分享·学习·centos
聪明的笨猪猪5 小时前
Java 高并发多线程 “基础”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
禁默5 小时前
机器学习基础入门(第三篇):监督学习详解与经典算法
学习·算法·机器学习
敲代码的嘎仔7 小时前
JavaWeb零基础学习Day1——HTML&CSS
java·开发语言·前端·css·学习·html·学习方法
我命由我1234510 小时前
Photoshop - Photoshop 工具从工具栏消失
笔记·学习·ui·职场和发展·职场发展·photoshop·ps