智能体和环境
智能体和环境在离散时间序列的每一步交互:
t
=
0
,
1
,
2
,
3
,
…
t = 0, 1, 2, 3, \dots
t=0,1,2,3,…
借用一下书中的图:
因此,MDP 和智能体一起产生如下的序列:
S
0
,
A
0
,
R
1
,
S
1
,
A
1
,
R
2
,
S
2
,
A
2
,
R
3
,
…
S_0, A_0, R_1, S_1, A_1, R_2, S_2, A_2, R_3, \dots
S0,A0,R1,S1,A1,R2,S2,A2,R3,…
由马尔可夫的时间齐次性:
p
(
s
′
,
r
∣
s
,
a
)
≐
P
r
{
S
t
=
s
′
,
R
t
=
r
∣
S
t
−
1
=
s
,
A
t
−
1
=
a
}
p(s' , r | s, a) \doteq Pr \{ S_t = s' , R_t = r | S_{t-1} = s, A_{t-1} = a \}
p(s′,r∣s,a)≐Pr{St=s′,Rt=r∣St−1=s,At−1=a}
即
t
t
t 时刻的状态和回报仅仅取决于上一时刻所处的状态以及采取的动作
同时,我们有:
∑
s
′
∈
S
∑
r
∈
R
p
(
s
′
,
r
∣
s
,
a
)
=
1
,
∀
s
∈
S
,
a
∈
A
(
s
)
\sum_{s' \in \mathcal{S}} \sum_{r \in \mathcal{R}} p(s', r | s, a) = 1 \ , \quad \forall \ s \in \mathcal{S} \ , \ a \in \mathcal{A}(s)
s′∈S∑r∈R∑p(s′,r∣s,a)=1 ,∀ s∈S , a∈A(s)
也就是说在某一状态采取某一行动后,必定会到达另一状态并收到一份回报
同样的,可以定义:
p
(
s
′
∣
s
,
a
)
≐
∑
r
∈
R
p
(
s
′
,
r
∣
s
,
a
)
p(s' | s, a) \doteq \sum_{r \in \mathcal{R}} p (s', r | s, a)
p(s′∣s,a)≐r∈R∑p(s′,r∣s,a)
表示:从状态
s
s
s,采取动作
a
a
a 后到达状态
s
′
s'
s′ 的概率
用:
r
(
s
,
a
)
≐
E
[
R
t
∣
S
t
−
1
=
s
,
A
t
−
1
=
a
]
=
∑
r
∈
R
r
∑
s
′
∈
S
p
(
s
′
,
r
∣
s
,
a
)
r(s, a) \doteq \mathbb{E} [ R_t | S_{t-1} = s, A_{t-1} = a] = \sum_{r \in \mathcal{R}} r \sum_{s' \in \mathcal{S}} p(s', r | s, a)
r(s,a)≐E[Rt∣St−1=s,At−1=a]=r∈R∑rs′∈S∑p(s′,r∣s,a)
表示:状态
s
s
s 采取动作
a
a
a 的预期收益
用:
r
(
s
,
a
,
s
′
)
≐
E
[
R
t
∣
S
t
−
1
=
s
,
A
t
−
1
=
a
,
S
t
=
s
′
]
=
∑
r
∈
R
r
p
(
s
′
,
r
∣
s
,
a
)
p
(
s
′
∣
s
,
a
)
r(s, a, s') \doteq \mathbb{E} [ R_t | S_{t-1} = s, A_{t-1} = a, S_t = s'] = \sum_{r \in \mathcal{R}} r \dfrac{p(s', r|s, a)}{p(s'|s, a)}
r(s,a,s′)≐E[Rt∣St−1=s,At−1=a,St=s′]=r∈R∑rp(s′∣s,a)p(s′,r∣s,a)
表示:从状态
s
s
s 采取动作
a
a
a 后到达状态
s
′
s'
s′ 的预期收益
目标和奖励
在每一时间我们的智能体会从环境那收到一份奖励,一般情况下,智能体的目标是最大化长期收益
最简单的情况下,可以将收益
G
t
G_t
Gt 定义为:
G
t
≐
R
t
+
1
+
R
t
+
2
+
R
t
+
3
+
⋯
+
R
T
G_t \doteq R_{t+1} + R_{t+2} + R_{t+3} + \cdots + R_{T}
Gt≐Rt+1+Rt+2+Rt+3+⋯+RT
再引入衰减因子的概念:
G
t
≐
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
⋯
=
R
t
+
1
+
γ
G
t
+
1
,
0
⩽
γ
⩽
1
G_t \doteq R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots \\[6pt] = R_{t+1} + \gamma G_{t+1} \ , \quad 0 \leqslant \gamma \leqslant 1
Gt≐Rt+1+γRt+2+γ2Rt+3+⋯=Rt+1+γGt+1 ,0⩽γ⩽1
或者:
G
t
≐
∑
k
=
t
+
1
T
γ
k
−
t
−
1
R
k
G_t \doteq \sum_{k=t+1}^T \gamma^{k-t-1} R_k
Gt≐k=t+1∑Tγk−t−1Rk
γ
\gamma
γ 的选取决定着智能体对待未来奖励的态度,当
γ
\gamma
γ 趋近于 0 时,我们的智能体会变得短视,当
γ
\gamma
γ 趋近于 1 时,智能体变得更有远见
策略和价值函数
策略是从状态到选择每个可能动作的概率的映射
用 π ( a ∣ s ) \pi(a|s) π(a∣s) 表示状态 s s s 采取动作 a a a 的概率
状态-值函数
状态值函数评估智能体在给定状态下的好坏程度
定义从状态
s
s
s 开始并且之后一直遵循策略
π
\pi
π 的预期收益函数为:
v
π
(
s
)
≐
E
π
[
G
t
∣
S
t
=
s
]
=
E
π
[
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
∣
S
t
=
s
]
,
∀
s
∈
S
v_\pi (s) \doteq \mathbb{E}_\pi [ G_t | S_t = s] = \mathbb{E}_\pi \left[ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s \right] \ , \quad \forall s \in \mathcal{S}
vπ(s)≐Eπ[Gt∣St=s]=Eπ[k=0∑∞γkRt+k+1∣St=s] ,∀s∈S
称函数
v
π
v_\pi
vπ 是策略
π
\pi
π 的状态-值函数
动作-值函数
动作值函数评估智能体在给定状态下采取给定行动的好坏程度
同样的,定义从
s
s
s 开始,采取动作
a
a
a,并且之后一直遵循策略
π
\pi
π 的预期收益函数为:
q
π
(
s
,
a
)
≐
E
π
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
E
π
[
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
∣
S
t
=
s
,
A
t
=
a
]
q_\pi (s, a) \doteq \mathbb{E}_\pi [ G_t | S_t = s, A_t = a] = \mathbb{E}_\pi \left[ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s , A_t = a \right]
qπ(s,a)≐Eπ[Gt∣St=s,At=a]=Eπ[k=0∑∞γkRt+k+1∣St=s,At=a]
称函数
q
π
q_\pi
qπ 是策略
π
\pi
π 的动作-值函数
贝尔曼方程
贝尔曼方程给出了状态价值与其后续状态价值的关系
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
]
v_\pi (s) \doteq \mathbb{E}_\pi [ G_t | S_t = s] \\[5pt] = \mathbb{E}_\pi [R_{t+1} + \gamma G_{t+1} | S_t = s ] \\[5pt] = \mathbb{E}_\pi [R_{t+1} | S_t = s] + \gamma \mathbb{E}_\pi [G_{t+1} | S_t = s]
vπ(s)≐Eπ[Gt∣St=s]=Eπ[Rt+1+γGt+1∣St=s]=Eπ[Rt+1∣St=s]+γEπ[Gt+1∣St=s]
注意到第一项:
E
π
[
R
t
+
1
∣
S
t
=
s
]
=
∑
a
π
(
a
∣
s
)
∑
s
′
∑
r
p
(
s
′
,
r
∣
s
,
a
)
r
=
∑
a
π
(
a
∣
s
)
r
(
s
,
a
)
\mathbb{E}_\pi [R_{t+1} | S_t = s] = \sum_a \pi (a | s) \sum_{s'} \sum_r p(s' , r | s, a) \ r \\[5pt] = \sum_a \pi (a | s) \ r(s, a)
Eπ[Rt+1∣St=s]=a∑π(a∣s)s′∑r∑p(s′,r∣s,a) r=a∑π(a∣s) r(s,a)
用在状态 s 下采取行动
a
a
a 的概率乘以状态
s
s
s 采取行动
a
a
a 获得的预期收益,再对所有的
a
a
a 求和,即可得到状态
s
s
s 到达下一步的预期收益
第二项:
γ
E
π
[
G
t
+
1
∣
S
t
=
s
]
=
∑
a
π
(
a
∣
s
)
∑
s
′
∑
r
p
(
s
′
,
r
∣
s
,
a
)
γ
E
π
[
G
t
+
1
∣
S
t
+
1
=
s
′
]
\gamma \mathbb{E}_\pi [G_{t+1} | S_t = s] = \sum_a \pi (a | s) \sum_{s'} \sum_r p(s', r | s, a) \ \gamma \mathbb{E}_\pi [ G_{t+1} | S_{t+1} = s' ]
γEπ[Gt+1∣St=s]=a∑π(a∣s)s′∑r∑p(s′,r∣s,a) γEπ[Gt+1∣St+1=s′]
如果之前的可以看懂,那么这个也不难理解,我们从右往左一个求和一个求和来看:
γ
E
π
[
G
t
+
1
∣
S
t
+
1
=
s
′
]
\gamma \mathbb{E}_\pi [ G_{t+1} | S_{t+1} = s' ]
γEπ[Gt+1∣St+1=s′] 表示从状态
s
′
s'
s′ 开始并且之后一直遵循
π
\pi
π 的预期折扣收益,
p
(
s
′
,
r
∣
s
,
a
)
p(s', r|s, a)
p(s′,r∣s,a) 表示从状态
s
s
s 并采取了动作
a
a
a 后,到达状态
s
′
s'
s′ 并收到回报
r
r
r 的概率
首先对
r
r
r 求和,就得到了从状态
s
s
s 采取动作
a
a
a 后到达状态
s
′
s'
s′ 的概率。再将这两项相乘,得到从状态
s
s
s 并采取动作
a
a
a 到达
s
′
s'
s′ 后一直遵循
π
\pi
π 的预期折扣收益
接着对
s
′
s'
s′ 求和,得到从状态
s
s
s 采取动作
a
a
a 后到达新状态并一直遵循
π
\pi
π 的预期折扣收益
最后,
π
(
a
∣
s
)
\pi (a|s)
π(a∣s) 表示状态
s
s
s 下采取动作
a
a
a 的概率,将它与上面得到的项相乘,再对所有的
a
a
a 求和,最终结果就是状态
s
s
s 进入下一个状态后一直遵循
π
\pi
π 的预期折扣收益,即
γ
E
π
[
G
t
+
1
∣
S
s
=
s
]
\gamma \mathbb{E}_\pi [ G_{t+1} | S_{s} = s ]
γEπ[Gt+1∣Ss=s]
综上,我们有:
v
π
(
s
)
=
∑
a
π
(
a
∣
s
)
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
π
(
s
′
)
]
,
∀
s
∈
S
v_\pi (s) = \sum_a \pi (a | s) \sum_{s', r} p(s' , r | s, a) [ r + \gamma v_\pi (s')] \ , \quad \forall s \in \mathcal{S}
vπ(s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γvπ(s′)] ,∀s∈S
即:
v
π
(
s
)
=
E
π
[
R
t
+
1
+
γ
v
π
(
S
t
+
1
)
∣
S
t
=
s
]
v_\pi(s) = \mathbb{E}_\pi [ R_{t+1} + \gamma v_\pi(S_{t+1}) | S_t = s]
vπ(s)=Eπ[Rt+1+γvπ(St+1)∣St=s]
同样道理:
q
π
(
s
,
a
)
=
E
π
[
R
t
+
1
+
γ
q
π
(
S
t
+
1
,
A
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
q_\pi(s, a) = \mathbb{E}_\pi [ R_{t+1} + \gamma q_\pi (S_{t+1}, A_{t+1}) | S_t = s, A_t = a]
qπ(s,a)=Eπ[Rt+1+γqπ(St+1,At+1)∣St=s,At=a]
最优策略和最优价值函数
定义:
v
∗
(
s
)
≐
max
π
v
π
(
s
)
,
∀
s
∈
S
q
∗
(
s
,
a
)
≐
max
π
q
π
(
s
,
a
)
,
∀
s
∈
S
,
∀
a
∈
A
v_*(s) \doteq \max_\pi v_\pi (s) \ , \quad \forall s \in \mathcal{S} \\[5pt] q_*(s, a) \doteq \max_\pi q_\pi (s, a) \ , \quad \forall s \in \mathcal{S} \ , \ \forall a \in \mathcal{A}
v∗(s)≐πmaxvπ(s) ,∀s∈Sq∗(s,a)≐πmaxqπ(s,a) ,∀s∈S , ∀a∈A
其中
q
∗
(
s
,
a
)
q_*(s,a)
q∗(s,a) 也可以表示为:
q
∗
(
s
,
a
)
=
E
[
R
t
+
1
+
γ
v
∗
(
S
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
q_*(s,a) = \mathbb{E} [ R_{t+1} + \gamma v_*(S_{t+1}) | S_t = s, A_t = a]
q∗(s,a)=E[Rt+1+γv∗(St+1)∣St=s,At=a]
满足条件的
π
\pi
π 即为最优策略,相应的函数为最优价值函数
显然,最优策略下的状态价值等于该状态的最佳行动带来的预期收益:
v
∗
(
s
)
=
max
a
∈
A
(
s
)
q
π
∗
(
s
,
a
)
=
max
a
E
π
∗
[
G
t
∣
S
t
=
s
,
A
t
=
a
]
=
max
a
E
π
∗
[
R
t
+
1
+
γ
G
t
+
1
∣
S
t
=
s
,
A
t
=
a
]
=
max
a
E
[
R
t
+
1
+
γ
v
∗
(
S
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
=
max
a
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
∗
(
s
′
)
]
v_*(s) = \max_{a \in \mathcal{A}(s)} q_{\pi_*} (s, a) \\[5pt] = \max_a \mathbb{E}_{\pi_*} [ G_t | S_t = s, A_t = a] \\[5pt] = \max_a \mathbb{E}_{\pi_*} [R_{t+1} + \gamma G_{t+1} | S_t = s, A_t = a] \\[5pt] = \max_a \mathbb{E} [R_{t+1} + \gamma v_*(S_{t+1}) | S_t = s, A_t = a] \\[5pt] = \max_{a} \sum_{s' , r} p(s', r|s, a)[r + \gamma v_*(s')]
v∗(s)=a∈A(s)maxqπ∗(s,a)=amaxEπ∗[Gt∣St=s,At=a]=amaxEπ∗[Rt+1+γGt+1∣St=s,At=a]=amaxE[Rt+1+γv∗(St+1)∣St=s,At=a]=amaxs′,r∑p(s′,r∣s,a)[r+γv∗(s′)]
同样道理,
q
∗
q_*
q∗ 的贝尔曼最优方程:
q
∗
(
s
,
a
)
=
E
[
R
t
+
1
+
γ
max
a
′
q
∗
(
S
t
+
1
,
a
′
)
∣
S
t
=
s
,
A
t
=
a
]
=
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
max
a
′
q
∗
(
s
′
,
a
′
)
]
q_*(s, a) = \mathbb{E} \left[ R_{t+1} + \gamma \max_{a'} q_* (S_{t+1}, a') | S_t = s, A_t = a \right] \\[5pt] = \sum_{s', r} p(s', r | s, a) \left[ r + \gamma \max_{a'} q_*(s', a') \right]
q∗(s,a)=E[Rt+1+γa′maxq∗(St+1,a′)∣St=s,At=a]=s′,r∑p(s′,r∣s,a)[r+γa′maxq∗(s′,a′)]
参考
《Reinforcement Learning An Introduction》(second edition)