《强化学习数学原理》学习笔记4——贝尔曼最优方程推理过程
贝尔曼最优方程(Bellman Optimality Equation, BOE)推理详解
在强化学习中,贝尔曼最优方程(BOE)是分析最优策略和最优状态价值的核心工具。通过求解这个方程,我们能得到最优策略与最优状态价值。接下来,我们一步步深入理解它。
一、贝尔曼最优方程的元素形式
对于每个状态 s∈Ss \in \mathcal{S}s∈S,贝尔曼最优方程的元素形式为:
v(s)=maxπ(s)∈Π(s)∑a∈Aπ(a∣s)(∑r∈Rp(r∣s,a)r+γ∑s′∈Sp(s′∣s,a)v(s′))=maxπ(s)∈Π(s)∑a∈Aπ(a∣s)q(s,a)
\begin{align*}
v(s) &= \max_{\pi(s) \in \Pi(s)} \sum_{a \in \mathcal{A}} \pi(a|s) \left( \sum_{r \in \mathcal{R}} p(r|s,a)r + \gamma \sum_{s' \in \mathcal{S}} p(s'|s,a)v(s') \right) \\
&= \max_{\pi(s) \in \Pi(s)} \sum_{a \in \mathcal{A}} \pi(a|s) q(s,a) \tag{1}
\end{align*}
v(s)=π(s)∈Π(s)maxa∈A∑π(a∣s)(r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)v(s′))=π(s)∈Π(s)maxa∈A∑π(a∣s)q(s,a)(1)
其中 v(s)v(s)v(s)、v(s′)v(s')v(s′) 是待求解的未知变量,且 q(s,a)≜∑r∈Rp(r∣s,a)r+γ∑s′∈Sp(s′∣s,a)v(s′)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')q(s,a)≜∑r∈Rp(r∣s,a)r+γ∑s′∈Sp(s′∣s,a)v(s′)。这里 π(s)\pi(s)π(s) 表示状态 sss 下的策略,Π(s)\Pi(s)Π(s) 是状态 sss 下所有可能策略的集合。
初次看到这个方程,可能会有疑惑:一个方程里有 v(s)v(s)v(s) 和 π(a∣s)\pi(a|s)π(a∣s) 两个未知量,该怎么解呢?别担心,我们可以依次求解这两个未知量,下面通过例子来理解。
二、从简单例子看多未知量方程的求解思路
先看一个简单的例子,理解如何处理这种存在多个未知量的方程。
例子 3.1:考虑两个未知变量 x,y∈Rx,y \in \mathbb{R}x,y∈R,满足 x=maxy∈R(2x−1−y2)x = \max_{y \in \mathbb{R}} (2x - 1 - y^2)x=maxy∈R(2x−1−y2)。
- 第一步:求解右侧的 yyy
不管 xxx 取何值,maxy(2x−1−y2)=2x−1\max_{y}(2x - 1 - y^2) = 2x - 1maxy(2x−1−y2)=2x−1,当 y=0y = 0y=0 时取得最大值。 - 第二步:求解 xxx
当 y=0y = 0y=0 时,方程变为 x=2x−1x = 2x - 1x=2x−1,解得 x=1x = 1x=1。
所以,方程的解是 y=0y = 0y=0,x=1x = 1x=1。
这个例子给我们的启发是:面对有多个未知量的方程,可以逐个求解未知量。接下来,我们把这个思路应用到贝尔曼最优方程上。
三、贝尔曼最优方程右侧的最大化问题求解
回到贝尔曼最优方程,式(1)可以简洁地写成 v(s)=maxπ(s)∈Π(s)∑a∈Aπ(a∣s)q(s,a), s∈Sv(s) = \max_{\pi(s) \in \Pi(s)} \sum_{a \in \mathcal{A}} \pi(a|s) q(s,a),\ s \in \mathcal{S}v(s)=maxπ(s)∈Π(s)∑a∈Aπ(a∣s)q(s,a), s∈S。我们借鉴例子 3.1 的思路,先求解右侧最优的 π\piπ 值。
(一)再看一个辅助例子
例子 3.2:已知 q1,q2,q3∈Rq_1,q_2,q_3 \in \mathbb{R}q1,q2,q3∈R,要找到 c1,c2,c3c_1,c_2,c_3c1,c2,c3 的最优值,使得 ∑i=13ciqi=c1q1+c2q2+c3q3\sum_{i=1}^3 c_i q_i = c_1 q_1 + c_2 q_2 + c_3 q_3∑i=13ciqi=c1q1+c2q2+c3q3 最大化,其中 c1+c2+c3=1c_1 + c_2 + c_3 = 1c1+c2+c3=1 且 c1,c2,c3≥0c_1,c_2,c_3 \geq 0c1,c2,c3≥0(此处的 ccc 对应概率 π(a∣s)\pi(a|s)π(a∣s) )。
不妨假设 q3≥q1,q2q_3 \geq q_1,q_2q3≥q1,q2,那么最优解是 c3∗=1c_3^* = 1c3∗=1,c1∗=c2∗=0c_1^* = c_2^* = 0c1∗=c2∗=0。这是因为:
q3=(c1+c2+c3)q3=c1q3+c2q3+c3q3≥c1q1+c2q2+c3q3(2)
q_3 = (c_1 + c_2 + c_3)q_3 = c_1 q_3 + c_2 q_3 + c_3 q_3 \geq c_1 q_1 + c_2 q_2 + c_3 q_3 \tag{2}
q3=(c1+c2+c3)q3=c1q3+c2q3+c3q3≥c1q1+c2q2+c3q3(2)
对任意 c1,c2,c3c_1,c_2,c_3c1,c2,c3 都成立。
(二)应用到贝尔曼最优方程
受例子 3.2 启发,因为 ∑aπ(a∣s)=1\sum_{a} \pi(a|s) = 1∑aπ(a∣s)=1,所以有:
v(s)=∑a∈Aπ(a∣s)q(s,a)≤∑a∈Aπ(a∣s)maxa∈Aq(s,a)=maxa∈Aq(s,a)(3)
v(s)=\sum_{a \in \mathcal{A}} \pi(a|s) q(s,a) \leq \sum_{a \in \mathcal{A}} \pi(a|s) \max_{a \in \mathcal{A}} q(s,a) = \max_{a \in \mathcal{A}} q(s,a) \tag{3}
v(s)=a∈A∑π(a∣s)q(s,a)≤a∈A∑π(a∣s)a∈Amaxq(s,a)=a∈Amaxq(s,a)(3)
当且仅当 π(a∣s)={1,a=a∗0,a≠a∗\pi(a|s) = \begin{cases} 1, & a = a^* \\ 0, & a \neq a^* \end{cases}π(a∣s)={1,0,a=a∗a=a∗ 时,等号成立,其中 a∗=argmaxaq(s,a)a^* = \arg\max_{a} q(s,a)a∗=argmaxaq(s,a)。
总结一下,最优策略 π(s)\pi(s)π(s) 是选择能使 q(s,a)q(s,a)q(s,a) 取值最大的动作的策略。
四、贝尔曼最优方程的矩阵 - 向量形式
贝尔曼最优方程是针对所有状态定义的一组方程。如果把这些方程结合起来,能得到简洁的矩阵 - 向量形式。
(一)矩阵 - 向量形式的表达式
贝尔曼最优方程的矩阵 - 向量形式为:
v=maxπ∈Π(rπ+γPπv)(4)
v = \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v) \tag{4}
v=π∈Πmax(rπ+γPπv)(4)
其中 v∈R∣S∣v \in \mathbb{R}^{|\mathcal{S}|}v∈R∣S∣,maxπ\max_{\pi}maxπ 是逐元素执行的。rπr_{\pi}rπ 和 PπP_{\pi}Pπ 的结构与普通贝尔曼方程的矩阵 - 向量形式中的结构相同:
[rπ]s≜∑a∈Aπ(a∣s)∑r∈Rp(r∣s,a)r,[Pπ]s,s′=p(s′∣s)≜∑a∈Aπ(a∣s)p(s′∣s,a)(5)
[r_{\pi}]_s \triangleq \sum_{a \in \mathcal{A}} \pi(a|s) \sum_{r \in \mathcal{R}} p(r|s,a)r, \quad [P_{\pi}]_{s,s'} = p(s'|s) \triangleq \sum_{a \in \mathcal{A}} \pi(a|s) p(s'|s,a) \tag{5}
[rπ]s≜a∈A∑π(a∣s)r∈R∑p(r∣s,a)r,[Pπ]s,s′=p(s′∣s)≜a∈A∑π(a∣s)p(s′∣s,a)(5)
(二)简化形式
由于 π\piπ 的最优值由 vvv 决定,式 (4) 的右侧是 vvv 的函数,记为 f(v)≜maxπ∈Π(rπ+γPπv)f(v) \triangleq \max_{\pi \in \Pi} (r_{\pi} + \gamma P_{\pi} v)f(v)≜maxπ∈Π(rπ+γPπv)。
于是,贝尔曼最优方程可以更简洁地表示为:
v=f(v)(6)
v = f(v) \tag{6}
v=f(v)(6)
通过以上步骤,我们从贝尔曼最优方程的基本形式出发,借助简单例子理解多未知量的求解思路,进而推导出其矩阵 - 向量形式。