第二节——贝尔曼公式
1.State Value
G t G_t Gt为一个轨迹的discounted return,则State value就是 G t G_t Gt的期望值Expectation
(简单来说,就是从一点到终点所有轨迹的return的平均值)
v
π
(
s
)
=
E
[
G
t
∣
S
t
=
s
]
v
表示当前的
v
a
l
u
e
π
表示当前策略
p
o
l
i
c
y
v_\pi(s) = \mathbb{E}[G_t|S_t = s] \\ v表示当前的value \\ \pi表示当前策略policy
vπ(s)=E[Gt∣St=s]v表示当前的valueπ表示当前策略policy
state value与return的区别
- state value是多个trajectory的return的平均值
- return是单个trajectory的结果
2.贝尔曼公式
t时刻的价值函数为
v
π
(
s
)
=
E
[
G
t
∣
S
t
=
s
]
v_\pi(s) = \mathbb{E}[G_t|S_t = s]
vπ(s)=E[Gt∣St=s]
返回值
G
t
G_t
Gt等于
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
…
…
=
R
t
+
1
+
γ
(
R
t
+
2
+
γ
R
t
+
3
+
…
…
)
=
R
t
+
1
+
γ
G
t
+
1
\begin{aligned} G_t &= R_{t+1}+\gamma R_{t+2} + \gamma^2 R_{t+3} + …… \\ &= R_{t+1}+\gamma (R_{t+2} + \gamma R_{t+3} + ……) \\ &= R_{t+1} + \gamma G_{t+1} \end{aligned}
Gt=Rt+1+γRt+2+γ2Rt+3+……=Rt+1+γ(Rt+2+γRt+3+……)=Rt+1+γGt+1
则价值函数可分为
v
π
(
s
)
=
E
[
G
t
∣
S
t
=
s
]
=
E
[
R
t
+
1
+
γ
G
t
+
1
∣
S
t
=
s
]
=
E
[
R
t
+
1
∣
S
t
=
s
]
①
+
γ
E
[
G
t
+
1
∣
S
t
=
s
]
②
\begin{aligned} v_\pi(s) &= \mathbb{E}[G_t|S_t = s] \\ &= \mathbb{E}[R_{t+1}+\gamma G_{t+1}|S_t=s] \\ &= \mathbb{E}[R_{t+1}|S_t=s]① +\gamma\mathbb{E}[G_{t+1}|S_t=s]② \end{aligned}
vπ(s)=E[Gt∣St=s]=E[Rt+1+γGt+1∣St=s]=E[Rt+1∣St=s]①+γE[Gt+1∣St=s]②
其中
-
①式表示当前奖励的均值,用全概率公式分解
E [ G t ∣ S t = s ] = ∑ a π ( a ∣ s ) E [ R t + 1 ∣ S t = s , A t = a ] = ∑ a π ( a ∣ s ) ∑ r π ( r ∣ s , a ) r \begin{aligned} \mathbb{E}[G_t|S_t = s] &= \sum_{a}\pi(a|s)\mathbb{E}[R_{t+1}|S_t=s,A_t=a] \\ &= \sum_{a}\pi(a|s)\sum_{r}\pi(r|s,a)r \\ \end{aligned} E[Gt∣St=s]=a∑π(a∣s)E[Rt+1∣St=s,At=a]=a∑π(a∣s)r∑π(r∣s,a)r
其中 π ( a ∣ s ) \pi(a|s) π(a∣s)表示采取采用策略 π \pi π动作a的概率, E [ R t + 1 ∣ S t = s , A t = a ] \mathbb{E}[R_{t+1}|S_t=s,A_t=a] E[Rt+1∣St=s,At=a]由期望的定义分解为 ∑ r π ( r ∣ s , a ) r \sum_{r}\pi(r|s,a)r ∑rπ(r∣s,a)r -
②式表示未来奖励的均值
E [ G t + 1 ∣ S t = s ] = ∑ s ′ E [ G t + 1 ∣ S t = s , S t + 1 = s ′ ] p ( s ′ ∣ s ) 由于马尔可夫性质,即后面状态与前面无关,则 = ∑ s ′ E [ G t + 1 ∣ S t + 1 = s ′ ] p ( s ′ ∣ s ) = ∑ s ′ v π ( s ′ ) p ( s ′ ∣ s ) = ∑ s ′ v π ( s ′ ) ∑ a p ( s ′ ∣ s , a ) π ( a ∣ s ) \begin{aligned} \mathbb{E}[G_{t+1}|S_t=s] &= \sum_{s'}\mathbb{E}[G_{t+1}|S_t=s,S_{t+1}=s']p(s'|s) \\ & 由于马尔可夫性质,即后面状态与前面无关,则\\ &= \sum_{s'}\mathbb{E}[G_{t+1}|S_{t+1}=s']p(s'|s) \\ &= \sum_{s'}v_\pi(s')p(s'|s) \\ &= \sum_{s'}v_\pi(s')\sum_{a}p(s' | s,a)\pi(a|s) \end{aligned} E[Gt+1∣St=s]=s′∑E[Gt+1∣St=s,St+1=s′]p(s′∣s)由于马尔可夫性质,即后面状态与前面无关,则=s′∑E[Gt+1∣St+1=s′]p(s′∣s)=s′∑vπ(s′)p(s′∣s)=s′∑vπ(s′)a∑p(s′∣s,a)π(a∣s)
a为动作集
故贝尔曼公式为
v
π
(
s
)
=
E
[
R
t
+
1
∣
S
t
=
s
]
+
γ
E
[
G
t
+
1
∣
S
t
=
s
]
,
=
∑
a
π
(
a
∣
s
)
∑
r
p
(
r
∣
s
,
a
)
r
⏟
当前奖励的平均值
+
γ
∑
a
π
(
a
∣
s
)
∑
s
′
p
(
s
′
∣
s
,
a
)
v
π
(
s
′
)
⏟
未来奖励的平均值
=
∑
a
π
(
a
∣
s
)
[
∑
r
p
(
r
∣
s
,
a
)
r
+
γ
∑
s
′
p
(
s
’
∣
s
,
a
)
v
π
(
s
′
)
]
,
∀
s
∈
S
.
\begin{aligned} v_\pi(s) &= \mathbb{E}[R_{t+1}|S_t=s] +\gamma\mathbb{E}[G_{t+1}|S_t=s], \\ &= \underbrace{\sum_{a}\pi(a|s)\sum_r p(r|s,a)r}_{当前奖励的平均值} +\underbrace{\gamma \sum_a \pi(a|s)\sum_{s'}p(s'|s,a)v_{\pi}(s')}_{未来奖励的平均值}\\ &= \sum_{a}\pi(a|s) \left[ \sum_{r}p(r|s,a)r+\gamma\sum_{s'}p(s’|s,a)v_{\pi}(s') \right], \forall s\in S. \end{aligned}
vπ(s)=E[Rt+1∣St=s]+γE[Gt+1∣St=s],=当前奖励的平均值
a∑π(a∣s)r∑p(r∣s,a)r+未来奖励的平均值
γa∑π(a∣s)s′∑p(s′∣s,a)vπ(s′)=a∑π(a∣s)[r∑p(r∣s,a)r+γs′∑p(s’∣s,a)vπ(s′)],∀s∈S.
描述了不同状态值之间的关系,对于所有状态都成立,即一个状态对应一个式子
矩阵形式
v π ( s i ) = r π ( s i ) + γ ∑ s j p π ( s j ∣ s i ) v π ( s j ) v_{\pi}(s_i)=r_{\pi}(s_i)+\gamma \sum_{s_j}p_{\pi}(s_j|s_i)v_{\pi}(s_j) vπ(si)=rπ(si)+γsj∑pπ(sj∣si)vπ(sj)
例子
3.Action value
定义
q
π
(
s
,
a
)
=
E
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
q_\pi(s,a) = \mathbb{E}[G_t|S_t=s, A_t=a]
qπ(s,a)=E[Gt∣St=s,At=a]
表示从当前状态s出发,进行行动a后所得到return的平均值,依赖于策略
π
\pi
π
有贝尔曼公式可得
q
π
(
s
,
a
)
=
E
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
∑
r
p
(
r
∣
s
,
a
)
r
+
γ
∑
s
′
p
(
s
’
∣
s
,
a
)
v
π
(
s
′
)
\begin{aligned} q_\pi(s,a) &= \mathbb{E}[G_t|S_t=s, A_t=a] \\ &= \sum_{r}p(r|s,a)r+\gamma\sum_{s'}p(s’|s,a)v_{\pi}(s') \end{aligned}
qπ(s,a)=E[Gt∣St=s,At=a]=r∑p(r∣s,a)r+γs′∑p(s’∣s,a)vπ(s′)
state value 与 action value的区别
状态值
v
π
(
s
)
v_{\pi}(s)
vπ(s)与动作值
q
π
q_{\pi}
qπ计算关系
v
π
(
s
)
=
∑
a
π
(
a
∣
s
)
q
π
(
s
,
a
)
v_{\pi}(s)=\sum_{a}\pi(a|s)q_{\pi}(s,a)
vπ(s)=a∑π(a∣s)qπ(s,a)
- state value: 从一个状态出发得到的平均返回值
- action value:从一个状态出发,采取一种行动后,得到的平均返回值
4.贝尔曼最优公式
- 贝尔曼公式用于 评估策略,你给出一个策略,它就计算该策略的价值。
- 贝尔曼最优公式用于 寻找最优策略,你给出一个游戏环境,它就找到在这个环境下最优的策略。
v π ( s ) = max π ∑ a π ( a ∣ s ) [ ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ’ ∣ s , a ) v π ( s ′ ) ] = max π ∑ a π ( a ∣ s ) q ( s , a ) , ∀ s ∈ S . = max π ( r π + γ P π v ) (向量表示) \begin{aligned} v_\pi(s) &= \max_{\pi} \sum_{a}\pi(a|s) \left[ \sum_{r}p(r|s,a)r+\gamma\sum_{s'}p(s’|s,a)v_{\pi}(s') \right] \\ &= \max_{\pi}\sum_{a}\pi(a|s)q(s,a) , \forall s\in S. \\ &= \max_{\pi}(r_{\pi} + \gamma P_{\pi}v) (向量表示) \end{aligned} vπ(s)=πmaxa∑π(a∣s)[r∑p(r∣s,a)r+γs′∑p(s’∣s,a)vπ(s′)]=πmaxa∑π(a∣s)q(s,a),∀s∈S.=πmax(rπ+γPπv)(向量表示)
其中 p ( r ∣ s , a ) , p ( s ′ ∣ s , a ) , r , γ p(r|s,a), p(s'|s, a), r, \gamma p(r∣s,a),p(s′∣s,a),r,γ已知,求解 v ( s ) , v ( s ′ ) , π ( a ∣ s ) v(s),v(s'),\pi(a|s) v(s),v(s′),π(a∣s)
当有最优策略
π
∗
\pi^*
π∗,则
v
∗
=
r
π
∗
+
γ
P
π
v
∗
v^*= r_{\pi^*} + \gamma P_{\pi}v^*
v∗=rπ∗+γPπv∗
v
∗
v^*
v∗为最优解且唯一,
π
∗
\pi ^*
π∗不一定唯一
5.压缩映射定理
不动点
若存在映射 f : X → X , 且 x ∈ X f:X \to X, 且x \in X f:X→X,且x∈X, 有 f ( x ) = x f(x) = x f(x)=x,则称 x x x为不动点
压缩映射(压缩函数)
若映射 f f f满足 ∣ ∣ f ( x 1 ) − f ( x 2 ) ∣ ∣ ≤ γ ∣ ∣ x 1 − x 2 ∣ ∣ , γ ∈ ( 0 , 1 ) ||f(x_1) - f(x_2)|| \le \gamma ||x_1 - x_2||, \gamma \in (0,1) ∣∣f(x1)−f(x2)∣∣≤γ∣∣x1−x2∣∣,γ∈(0,1), 映射 f f f就称为压缩映射
压缩映射定理性质
若有 压缩映射 f ,且 x = f ( x ) 压缩映射f,且x = f(x) 压缩映射f,且x=f(x),则有
- 存在性:必定有一个不动点 x ∗ x^* x∗满足 f ( x ∗ ) = x ∗ f(x^*) = x^* f(x∗)=x∗
- 唯一性:不动点唯一
- 可求性(有一种算法能求):有序列 { x k } \{x_k\} {xk}且 X k + 1 = f ( x k ) X_{k+1} = f(x_k) Xk+1=f(xk), 当 k → ∞ k\to \infty k→∞则 $x_k \to x^* $,收敛越来越块