文章目录
1. 简介
(1)贝尔曼方程是寻找马尔科夫决策过程的最优策略的理论基础
(2)贝尔曼方程是强化学习的基石
(3)几乎所有的强化学习算法(动态规划、蒙特卡诺、时序差分等)都是以贝尔曼方程为基础求解最优策略
2.贝尔曼方程的类别
{ 贝尔曼期望方程:为策略迭代算法提供理论支撑 贝尔曼最优方程:为值迭代算法提供理论支撑 \begin{cases} 贝尔曼期望方程:为策略迭代算法提供理论支撑\\ 贝尔曼最优方程:为值迭代算法提供理论支撑 \end{cases} {贝尔曼期望方程:为策略迭代算法提供理论支撑贝尔曼最优方程:为值迭代算法提供理论支撑
3 贝尔曼方程的意义
为各类以迭代方式求解最优策略开启了大门
4 贝尔曼方程的最初形式
4.1 状态值函数
V π ( s ) = E π [ G t ∣ S t = s ] = E π [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ ∣ S t = s ] = E π [ R t + 1 + γ ( R t + 2 + γ R t + 3 + ⋯ ) ∣ S t = s ] = E π [ R t + 1 + γ G t + 1 ∣ S t = s ] = E π [ R t + 1 + γ V π ( S t + 1 ) ∣ S t = s ] V π ( s ) − 状态为 s 时遵循策略 π 时的价值 R t + 1 − 策略为 π , 状态为 s 时的立即回报 γ V π ( S t + 1 ) − 状态为 s 时,下一时刻状态值函数的折扣期望 \begin{align*} V_\pi (s)&=E_\pi[G_t|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma (R_{t+2}+\gamma R_{t+3}+\cdots)|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma G_{t+1}|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma V_\pi(S_{t+1})|S_t=s]\\ V_\pi(s)&-状态为s时遵循策略\pi 时的价值\\ R_{t+1}&-策略为\pi ,状态为s时的立即回报\\ \gamma V_\pi(S_{t+1})&-状态为s时,下一时刻状态值函数的折扣期望 \end{align*} Vπ(s)Vπ(s)Rt+1γVπ(St+1)=Eπ[Gt∣St=s]=Eπ[Rt+1+γRt+2+γ2Rt+3+⋯∣St=s]=Eπ[Rt+1+γ(Rt+2+γRt+3+⋯)∣St=s]=Eπ[Rt+1+γGt+1∣St=s]=Eπ[Rt+1+γVπ(St+1)∣St=s]−状态为s时遵循策略π时的价值−策略为π,状态为s时的立即回报−状态为s时,下一时刻状态值函数的折扣期望
4.2 行为值函数
Q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] = E π [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ ∣ S t = s , A t = a ] = E π [ R t + 1 + γ ( R t + 2 + γ R t + 3 + ⋯ ) ∣ S t = s , A t = a ] = E π [ R t + 1 + γ Q π ( S t + 1 , A t + 1 ) ∣ S t = s , A t = a ] \begin{align*} Q_\pi(s,a)&=E_\pi[G_t|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma(R_{t+2}+\gamma R_{t+3}+\cdots)|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma Q_\pi(S_{t+1},A_{t+1})|S_t=s,A_t=a] \end{align*} Qπ(s,a)=Eπ[Gt∣St=s,At=a]=Eπ[Rt+1+γRt+2+γ2Rt+3+⋯∣St=s,At=a]=Eπ[Rt+1+γ(Rt+2+γRt+3+⋯)∣St=s,At=a]=Eπ[Rt+1+γQπ(St+1,At+1)∣St=s,At=a]
3.贝尔曼期望方程
具有四种表达形式
3.1 Q → V Q\to V Q→V
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) V_\pi(s)=\sum_{a\in A}\pi(a|s)Q_\pi(s,a) Vπ(s)=a∈A∑π(a∣s)Qπ(s,a)
3.2 V → Q V\to Q V→Q
Q π ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a V π ( s ′ ) Q_\pi(s,a)=R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV_\pi(s') Qπ(s,a)=Rsa+γs′∈S∑Pss′aVπ(s′)
3.3 V ′ → V V'\to V V′→V
V π ( s ) = ∑ a ∈ A [ π ( a ∣ s ) ( R s a + γ ∑ s ′ ∈ S P s s ′ a V π ( s ′ ) ) ] V_\pi(s)=\sum_{a\in A}\left[\pi(a|s)\left( R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV_\pi(s') \right)\right] Vπ(s)=a∈A∑[π(a∣s)(Rsa+γs′∈S∑Pss′aVπ(s′))]
3.4 Q ′ → Q Q'\to Q Q′→Q
Q π ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) Q_\pi(s,a)=R_s^a+\gamma\sum_{s'\in S}P_{ss'}^a\sum_{a'\in A}\pi(a'|s')Q_\pi(s',a') Qπ(s,a)=Rsa+γs′∈S∑Pss′aa′∈A∑π(a′∣s′)Qπ(s′,a′)
3.5 贝尔曼方程的矩阵形式
V
π
=
R
π
+
γ
P
π
V
π
[
V
π
(
1
)
V
π
(
2
)
⋮
V
π
(
n
)
]
=
[
R
1
π
R
2
π
⋮
R
n
π
]
+
γ
[
P
11
π
P
12
π
⋯
P
1
n
π
P
21
π
P
22
π
⋯
P
2
n
π
⋮
⋮
⋱
⋮
P
n
1
π
P
n
2
π
⋯
P
n
n
π
]
[
V
π
(
1
)
V
π
(
2
)
⋮
V
π
(
n
)
]
\mathbf{V_\pi}=\mathbf{R_\pi}+\gamma\mathbf{P_\pi}\mathbf{V_\pi}\\ \begin{bmatrix} V_\pi(1)\\ V_\pi(2)\\ \vdots \\ V_\pi(n) \end{bmatrix}=\begin{bmatrix} R_1^\pi \\ R_2^\pi\\\vdots\\R_n^\pi \end{bmatrix}+\gamma\begin{bmatrix} P_{11}^\pi & P_{12}^\pi & \cdots & P_{1n}^\pi \\ P_{21}^\pi & P_{22}^\pi & \cdots & P_{2n}^\pi \\ \vdots & \vdots & \ddots & \vdots \\ P_{n1}^\pi & P_{n2}^\pi & \cdots & P_{nn}^\pi \\ \end{bmatrix}\begin{bmatrix} V_\pi (1)\\ V_\pi(2)\\\vdots\\ V_\pi(n) \end{bmatrix}
Vπ=Rπ+γPπVπ
Vπ(1)Vπ(2)⋮Vπ(n)
=
R1πR2π⋮Rnπ
+γ
P11πP21π⋮Pn1πP12πP22π⋮Pn2π⋯⋯⋱⋯P1nπP2nπ⋮Pnnπ
Vπ(1)Vπ(2)⋮Vπ(n)
当
(
I
−
γ
P
π
)
\mathbf(I-\gamma P_\pi)
(I−γPπ)可逆时,
V
π
=
(
I
−
γ
P
π
)
−
1
R
π
V_\pi =(I-\gamma P_\pi)^{-1}R_\pi
Vπ=(I−γPπ)−1Rπ
当状态空间较小时,可使用上述式子求解值函数,若状态空间很大,则需要用迭代法求解,如动态规划、蒙特卡诺、时序差分。
4. 什么是最优状态值函数
对
∀
s
∈
S
\forall s\in S
∀s∈S,若存在
V
∗
(
s
)
V^*(s)
V∗(s),满足:
V
∗
(
s
)
=
max
π
V
π
(
s
)
V^*(s)=\max_\pi V_\pi(s)
V∗(s)=πmaxVπ(s)
则称
V
∗
(
s
)
为最优状态值函数
V^*(s)为最优状态值函数
V∗(s)为最优状态值函数
推论:最优状态值函数
V
∗
(
s
)
V^*(s)
V∗(s)对应的策略也是最优策略。
5 什么是最优行为值函数
对
∀
s
∈
S
,
∀
a
∈
A
\forall s\in S,\forall a\in A
∀s∈S,∀a∈A,若存在
Q
∗
(
s
,
a
)
Q^*(s,a)
Q∗(s,a),满足:
Q
∗
(
s
,
a
)
=
max
π
Q
π
(
s
,
a
)
Q^*(s,a)=\max_\pi Q_\pi(s,a)
Q∗(s,a)=πmaxQπ(s,a)
则称
Q
∗
(
s
,
a
)
Q^*(s,a)
Q∗(s,a)为最优行为值函数。
推论:最优行为值函数对应的策略也是最优策略。
6. 贝尔曼最优方程
6.1 Q ∗ → V ∗ Q^*\to V^* Q∗→V∗
V
∗
(
s
)
=
max
a
Q
∗
(
s
,
a
)
V^*(s)=\max_aQ^*(s,a)
V∗(s)=amaxQ∗(s,a)
这个式子表明:状态s的最优值函数,等于当选取动作a使得最优动作值函数取得最大值时对应的动作值函数
6.2 V ∗ → Q ∗ V^*\to Q^* V∗→Q∗
Q
∗
(
s
,
a
)
=
R
s
a
+
γ
∑
s
′
∈
S
P
s
s
′
a
V
∗
(
s
′
)
Q^*(s,a)=R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV^*(s')
Q∗(s,a)=Rsa+γs′∈S∑Pss′aV∗(s′)
这里的s’是s的后继状态,也就是说,利用后继状态最优值函数、状态转移概率及当前奖励,可以计算当前最优行为值函数。
6.3 V ′ ∗ → V ∗ V^{'*}\to V^* V′∗→V∗
V ∗ ( s ) = max a [ R s a + γ ∑ s ′ ∈ S P s s ′ a V ∗ ( s ′ ) ] V^*(s)=\max_a\left[ R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV^*(s') \right] V∗(s)=amax[Rsa+γs′∈S∑Pss′aV∗(s′)]
6.4 Q ′ ∗ → Q ∗ Q^{'*}\to Q^* Q′∗→Q∗
Q ∗ ( s , a ) = R s a + γ ∑ s ′ ∈ S max a ′ Q ∗ ( s ′ , a ′ ) Q^*(s,a)=R_s^a+\gamma\sum_{s'\in S}\max_{a'}Q^*(s',a') Q∗(s,a)=Rsa+γs′∈S∑a′maxQ∗(s′,a′)