Chapter 3 Finite Markov Decision
本章正式介绍有限马尔科夫决策过程(finite Markov decision processes, finite MDP), 它包括第二章介绍的评估性反馈和关联(associative)—在不同情景下选择不同的状态。
MDP是序贯决策问题的经典形式化表达,它的动作不仅影响到即时奖励,还会影响后续情景或状态以及其未来的奖励。所以MDP涉及到延迟奖励,并且需要权衡即时奖励和延迟奖励。
在赌博机问题中,对每个动作 a a a 估计其价值 q ∗ ( a ) q_*(a) q∗(a), 在MDP中,我们估计每个动作 a a a在每一个状态 s s s下的价值 q ∗ ( s , a ) q_*(s, a) q∗(s,a),或者估计给定最优动作选择下的每个状态的价值 v ∗ ( s ) v_*(s) v∗(s)。
3.1 The Agent-Environment Interface
MDP 是通过交互式学习来实现目标的理论框架。这个学习或者进行决策的机器被称为智能体agent,agent之外的所有与其交互的事情都被称为环境environment。agent选择动作,环境对动作做出回应并向agent呈现新的状态,这个交互过程持续的进行,环境也会给一个特定的数值类型的奖励,agent尝试通过其动作的选择实现的最大化的奖励。
设在每个离散时刻
t
=
0
,
1
,
2
,
3
,
⋯
t=0,1,2,3,\cdots
t=0,1,2,3,⋯,agent和环境都发生了交互,在每一个时刻
t
t
t, agent收到所在环境的状态的某种表征:
S
t
∈
S
S_t \in \mathcal{S}
St∈S, 并基于该状态选择一个动作:
A
t
∈
A
(
s
)
A_t \in \mathcal{A}(s)
At∈A(s)。下一个时刻,agent收到了一个数值奖励:
R
t
+
1
∈
R
⊂
R
R_{t+1} \in \mathcal{R} \subset \mathbb{R}
Rt+1∈R⊂R,并发现自己处于环境中的新状态
S
t
+
1
S_{t+1}
St+1中, MDP和agent共同给出了类似如下的一个序列或轨迹:
S
0
,
A
0
,
R
1
,
S
1
,
A
1
,
R
2
,
S
2
,
A
2
,
R
3
,
⋯
(
3.1
)
S_0, A_0, R_1, S_1,A_1,R_2,S_2,A_2,R_3,\cdots \qquad (3.1)
S0,A0,R1,S1,A1,R2,S2,A2,R3,⋯(3.1)
在有限MDP中,状态、动作、奖励的集合(
S
\mathcal{S}
S、
A
\mathcal{A}
A、
R
\mathcal{R}
R)都只有有限个元素。当随机变量
R
t
R_t
Rt和
S
t
S_t
St都只依赖于前一个状态和动作的概率分布,也就是对于所有的
s
′
,
s
∈
S
,
r
∈
R
,
a
∈
A
(
s
)
s^{\prime},s \in \mathcal{S}, r\in \mathcal{R}, a \in \mathcal{A}(s)
s′,s∈S,r∈R,a∈A(s), 给定前一个状态和动作的值时,这些随机变量的特定值
s
′
∈
S
s^{\prime} \in \mathcal{S}
s′∈S 和
r
∈
R
r \in \mathcal{R}
r∈R在
t
t
t时刻出现的概率是(公式中的原点表示这是一个定义):
p
(
s
′
,
r
∣
s
,
a
)
=
˙
P
r
{
S
t
=
s
′
,
R
t
=
r
∣
S
t
−
1
=
s
,
A
t
−
1
=
a
}
(
3.2
)
p(s^{\prime},r \mid s, a)\ \dot{=}\ Pr\{S_t=s^{\prime}, R_t=r \mid S_{t-1}=s, A_{t-1}=a \} \qquad (3.2)
p(s′,r∣s,a) =˙ Pr{St=s′,Rt=r∣St−1=s,At−1=a}(3.2)
这里
S
t
S_t
St和
R
t
R_t
Rt的每个可能的值的概率值仅取决于前一个状态
S
t
−
1
S_{t-1}
St−1和前一个动作
A
t
−
1
A_{t-1}
At−1,与更早之前的状态和动作完全无关的性质,就是马尔科夫性(Markov property),马尔科夫性基本贯穿了本书或者强化学习大部分领域。
式3.2中的动态函数
p
:
S
×
R
×
S
×
A
→
[
0
,
1
]
p:\mathcal{S} \times \mathcal{R} \times \mathcal{S} \times \mathcal{A} \rightarrow[0, 1]
p:S×R×S×A→[0,1]是有四个参数的普通的确定性函数, |符号是表示条件概率的,在这也只是提醒我们,函数p为每个s和a的选择都指定了一个概率分布,即:
∑
s
′
∈
S
∑
r
∈
R
p
(
s
′
,
r
∣
s
,
a
)
=
1
,
f
o
r
a
l
l
s
∈
S
,
a
∈
A
(
s
)
(
3.3
)
\sum_{s^{\prime} \in \mathcal{S}} \sum_{r \in \mathcal{R}} p(s^{\prime}, r \mid s, a) = 1,\ for\ all\ s\in \mathcal{S}, a \in \mathcal{A}(s) \qquad (3.3)
s′∈S∑r∈R∑p(s′,r∣s,a)=1, for all s∈S,a∈A(s)(3.3)
从四个参数的动态函数
p
p
p中,我们计算出关于环境的任何其他信息:
-
状态转移概率(state-transition probabilities):将其表示为一个三个参数的函数 p : S × S × A → [ 0 , 1 ] p:\mathcal{S} \times \mathcal{S} \times \mathcal{A} \rightarrow[0, 1] p:S×S×A→[0,1]:
p ( s ′ ∣ s , a ) = ˙ P r { S t = s ′ ∣ S t − 1 = s , A t − 1 = a } = ∑ r ∈ R p ( s ′ , r ∣ s , a ) ( 3.4 ) p(s^{\prime} \mid s, a)\ \dot{=}\ Pr\{S_t=s^{\prime} \mid S_{t-1}=s, A_{t-1}=a \} = \sum_{r \in \mathcal{R}} p(s^{\prime}, r \mid s, a) \qquad (3.4) p(s′∣s,a) =˙ Pr{St=s′∣St−1=s,At−1=a}=r∈R∑p(s′,r∣s,a)(3.4) -
"状态-动作"对的期望奖励: 将其表示为一个两个参数的函数 r : S × A → R r : \mathcal{S} \times \mathcal{A} \rightarrow \mathbb{R} r:S×A→R:
r ( s , a ) = ˙ E [ R t ∣ S t − 1 = s , A t − 1 = a } = ∑ r ∈ R r ∑ s ′ ∈ S p ( s ′ , r ∣ s , a ) ( 3.5 ) r(s, a)\ \dot{=}\ \mathbb{E}[R_t \mid S_{t-1}=s, A_{t-1}=a \} = \sum_{r \in \mathcal{R}} r \sum_{s^{\prime} \in \mathcal{S}} p(s^{\prime}, r \mid s, a) \qquad (3.5) r(s,a) =˙ E[Rt∣St−1=s,At−1=a}=r∈R∑rs′∈S∑p(s′,r∣s,a)(3.5)
- “状态-动作-下一个动作” 三元组的期望奖励:将其表示为一个三个参数的函数
r
:
S
×
A
×
S
→
R
r : \mathcal{S} \times \mathcal{A} \times \mathcal{S} \rightarrow \mathbb{R}
r:S×A×S→R:
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 ) ( 3.6 ) r(s, a, s^{\prime})\ \dot{=}\ \mathbb{E}[R_t \mid S_{t-1}=s, A_{t-1}=a, S_t=s^{\prime}\} = \sum_{r \in \mathcal{R}} r \frac {p(s^{\prime}, r \mid s, a)}{p(s^{\prime} \mid s, a)} \qquad (3.6) 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)(3.6)
3.2 Goals and Rewards
非正式的说,强化学习的目标是最大化它收到的总奖励,也就是说最大化的不仅仅是即时奖励,而是长期的累积奖励,将这个非正式想法可以表述成下述奖励假设(reward hypothesis):
That all of what we mean by goals and purposes can be well thought of as the maximization of the expected value of the cumulative sum of a received scalar signal (called reward).
因为agent总是学习最大化奖励,所以如果我们想让它为我们做某件事,我们设计的奖励必须使agent最大化奖励的同时实现我们的目标。很重要的一点是,我们设计的奖励的方式要能真正表明我们的目标,比如国际象棋agent只有当最终获胜时才能得到奖励,而不是达到某个子目标,比如吃掉对方的子或者控制中心区域。如果实现这些子目标也能得到收益,那么agent可能会以输掉比赛为代价来吃掉对方的子。 所以要记住:奖励信号是你告诉agent你要实现的目标是什么,而不是你要它如何来实现它。
3.3 Returns and Episodes
一般来说,我们寻求的是最大化期望回报(expectied return), 记为 G t G_t Gt, 它被定义为奖励序列的特定函数,最简单的形式下,回报是奖励的和:
G t = R t + 1 + R t + 2 + R t + 3 + ⋯ + R T ( 3.7 ) G_t = {R_{t+1}} + R_{t+2} + R_{t+3}+ \cdots + R_T \qquad (3.7) Gt=Rt+1+Rt+2+Rt+3+⋯+RT(3.7)
上式中的 T T T是最终时刻,当agent与环境的交互被被自然的分成子序列,称为序列(episodes), 比如一局游戏,一次走迷宫的旅程等,每一个episode以一个特殊的被称为最终状态(terminal state)的状态结束,接着又以一个标准开始或起始状态分布中的某个状态开始。 这类任务被称为回合任务(episodic tasks),将不包含最终状态的全部状态集记为 S \mathcal{S} S, 将包含最终状态的全部状态集记为 S + \mathcal{S}^+ S+, 注意每个episode的 T T T 可能是不一样。
而在许多场景下agent与环境的交互不会自然分成可辨识的episode,而是没有限制的一直交互下去,比如一个有很长生命周期的机器人,这类任务被称为连续任务(continuing tasks),这时上面3.7式中的最终时间步
T
=
∞
T=\infty
T=∞,而我们试图最大化的回报将会是无穷大。此时我们将引入折扣(discounting)这个概念,也就是选择动作
A
t
A_t
At将最大化期望折扣回报(discounted return):
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
⋯
=
∑
k
=
0
∞
γ
k
R
t
+
k
+
1
(
3.8
)
G_t = R_{t+1} + \gamma{R_{t+2}} + \gamma^{2}R_{t+3} + \cdots = \sum_{k=0}^{\infty}\gamma^k R_{t+k+1} \qquad (3.8)
Gt=Rt+1+γRt+2+γ2Rt+3+⋯=k=0∑∞γkRt+k+1(3.8)
上式中的 γ \gamma γ被称为折扣率(discount rate), 它 0 ≤ γ ≤ 1 0 \le \gamma \le 1 0≤γ≤1, 决定了未来奖励在当下的价值:在未来k步收到的奖励相比于立马收到只值 γ k − 1 \gamma^{k-1} γk−1。
回报的相邻时间步互相关联的性质对强化学习很重要:
G
t
=
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
γ
3
R
t
+
4
+
⋯
=
R
t
+
1
+
γ
(
R
t
+
2
+
γ
R
t
+
3
+
γ
2
R
t
+
4
+
…
)
=
R
t
+
1
+
γ
G
t
+
1
(
3.9
)
\begin{aligned} G_t & =R_{t+1} + \gamma{R_{t+2}} + \gamma^{2}R_{t+3} + \gamma^{3}R_{t+4} + \cdots \\ & =R_{t+1} + \gamma\left(R_{t+2}+\gamma R_{t+3} + \gamma^{2}R_{t+4} + \ldots \right) \\ & =R_{t+1} + \gamma G_{t+1} \qquad (3.9) \end{aligned}
Gt=Rt+1+γRt+2+γ2Rt+3+γ3Rt+4+⋯=Rt+1+γ(Rt+2+γRt+3+γ2Rt+4+…)=Rt+1+γGt+1(3.9)
对于式3.8,如果奖励是不为0的常数,并且
γ
<
1
\gamma <1
γ<1,那么回报是有限的,比如当奖励始终为1时,回报为:
G
t
=
∑
k
=
0
∞
γ
k
=
1
1
−
γ
(
3.10
)
G_t = \sum_{k=0}^{\infty}\gamma^{k} = \frac {1} {1-\gamma} \qquad (3.10)
Gt=k=0∑∞γk=1−γ1(3.10)
3.4 Unified Notation for Episodic and Continuing Tasks
在3.3 节提到了2类任务: episodic tasks 和 continuing tasks, 将其统一表示成下式,包括
T
=
∞
T=\infty
T=∞ 或
γ
=
1
\gamma=1
γ=1(但不是全部)的可能性。
G
t
=
˙
∑
k
=
t
+
1
T
γ
k
−
t
−
1
R
k
(
3.11
)
G_t\ \dot {=} \sum_{k=t+1}^{T} \gamma ^{k-t-1} R_k \qquad (3.11)
Gt =˙k=t+1∑Tγk−t−1Rk(3.11)
3.5 Policies and Value Functions
价值函数(value function):是状态(或状态-动作对)的函数,它是估计agent在给定状态下能有多大期望回报(how good)(或者在给定状态下的给定动作的期望回报)。
策略(policy)是从状态到每个可能动作的选择概率之间的映射。如果agent在时刻t使用策略 π \pi π, 那么 π ( a ∣ s ) \pi(a \mid s) π(a∣s)就是当 S t = s S_t=s St=s时 A t = a A_t=a At=a的概率,它为每个 s ∈ S s \in \mathcal{S} s∈S 定义了一个在 a ∈ A ( s ) a \in \mathcal{A}(s) a∈A(s)上的概率分布。
- 将策略 π \pi π下状态 s s s的价值函数(value function)记为 v π ( s ) v_{\pi}(s) vπ(s),我们将函数 v π v_{\pi} vπ称为策略 π \pi π的状态价值函数(state-value function for policy π \pi π)。 它是从状态 s s s开始,agent按照策略 π \pi π决策的期望回报。 对于MDP,可以正式的将 v π v_{\pi} vπ定义为:
v π ( s ) = ˙ E π [ G t ∣ S t = s ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s ] , f o r a l l s ∈ S ( 3.12 ) v_{\pi}(s)\ \dot{=} \ \mathbb{E}_{\pi}[G_t \mid S_t=s]\ = \ \mathbb{E}_{\pi} \left[\sum^{\infty}_{k=0} \gamma^k R_{t+k+1} \mid S_t=s \right],\ for\ all\ s\ \in \mathcal{S} \qquad (3.12) vπ(s) =˙ Eπ[Gt∣St=s] = Eπ[k=0∑∞γkRt+k+1∣St=s], for all s ∈S(3.12)
上式中的 E π [ . ] \mathcal{E}_{\pi}[.] Eπ[.]表示agent按照策略 π \pi π决策时对一个随机变量的期望,t可以是任意时刻。需要注意在终止状态的价值始终为0。
-
将策略 π \pi π下在状态 s s s时采取动作 a a a的价值记为 q π ( s , a ) q_{\pi}(s, a) qπ(s,a),我们函数 q π q_{\pi} qπ称为策略 π \pi π的动作价值函数(action-value function for policy π \pi π)。它是从状态 s s s开始,agent按照策略 π \pi π决策,选择动作 a a a的期望回报:
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 ] ( 3.13 ) q_{\pi}(s, a)\ \dot{=} \ \mathbb{E}_{\pi}[G_t \mid S_t=s,A_t=a]\ = \ \mathbb{E}_{\pi} \left[\sum^{\infty}_{k=0} \gamma^k R_{t+k+1} \mid S_t=s, A_t=a \right] \qquad (3.13) qπ(s,a) =˙ Eπ[Gt∣St=s,At=a] = Eπ[k=0∑∞γkRt+k+1∣St=s,At=a](3.13) -
价值函数也有与式3.9类似的递归关系,对于任何策略 π \pi π和任何状态 s s s, s s s的价值与其可能的后继状态的价值之间存在以下关系:
V π ( s ) = ˙ E π [ G t ∣ S t = s ] = E π [ R t + 1 + γ G t + 1 ∣ S t = s ] ( b y ( 3.9 ) ) = ∑ a π ( a ∣ s ) ∑ s ′ ∑ r p ( s ′ , r ∣ s , a ) [ r + γ E π [ G t + 1 ∣ S t + 1 = s ′ ] ] = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] , f o r a l l s ∈ S ( 3.14 ) \begin{aligned} V_{\pi}(s) & \dot{=}\mathbb{E}_{\pi}\left[G_t \mid S_t=s\right] \\ & =\mathbb{E}_{\pi}\left[R_{t+1}+\gamma G_{t+1} \mid S_t=s\right] \qquad (by(3.9)) \\ &= \sum _{a } \pi(a | s) \sum_{s^{\prime}} \sum_{r} p(s^{\prime}, r | s, a) \left[ r + \gamma \mathbb{E}_{\pi}[G_{t+1}|S_{t+1}=s^{\prime}] \right] \\ &= \sum _{a } \pi(a | s) \sum_{s^{\prime},r} p(s^{\prime}, r | s, a) \left[ r + \gamma v_{\pi}(s^{\prime}) \right] ,\ for \ all \ s\in \mathcal{S} \qquad (3.14) \end{aligned} Vπ(s)=˙Eπ[Gt∣St=s]=Eπ[Rt+1+γGt+1∣St=s](by(3.9))=a∑π(a∣s)s′∑r∑p(s′,r∣s,a)[r+γEπ[Gt+1∣St+1=s′]]=a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γvπ(s′)], for all s∈S(3.14)
式3.14被称作 v π v_{\pi} vπ的贝尔曼方程(Bellman equation),他表达状态价值和后继状态价值之间的关系 -
回溯图(backup diagrams),下图为 v π v_{\pi} vπ的一个回溯图示意,图中的关系是回溯运算的基础。这里的回溯操作是将后继状态(或状态-动作对)的价值信息回传(back to) 当前时刻的状态(或状态-动作对)。图中的空心圆表示一个状态,而实心圆表示一个“状态-动作”对。从根节点的状态s出发,agent可以基于它的策略 π \pi π,采取动作集合中的任一动作(图中是3个动作)。对于每一个动作,环境会根据其动态特性函数p,以一个后继状态 s ′ s^{\prime} s′及其收益r作为响应。公式3.14对所有可能性根据其出现概率进行了加权平均,表明了起始状态的价值一定等于后继状态的(折扣)期望值加上对应的奖励期望值。
3.6 Optimal Policies and Optimal Value Functions
最优策略(optimal policy):若对于所有的
s
∈
S
s \in \mathcal{S}
s∈S,
π
≥
π
′
\pi \ge \pi^{\prime}
π≥π′,那么有
v
π
(
s
)
≥
v
π
′
(
s
)
v_{\pi}(s) \ge v_{\pi}^{\prime}(s)
vπ(s)≥vπ′(s),这个不劣于其他所有策略的策略就是最优策略。 尽管最优策略可能不止一个,还是用
π
∗
\pi_{*}
π∗ 来表示所有这些最优策略。它们共享相同的状态价值函数,称之为最优状态价值函数(optimal state-value function),记作
v
∗
v_{*}
v∗:
v
∗
(
s
)
=
˙
m
a
x
π
v
π
(
s
)
(
3.15
)
v_{*}(s) \ \dot{=} \ max_{\pi} v_{\pi} (s) \qquad (3.15)
v∗(s) =˙ maxπvπ(s)(3.15)
最优的策略也共享相同的最优动作价值函数,记为
q
∗
q_{*}
q∗, 其定义为,对于任意
s
∈
S
s \in \mathcal{S}
s∈S,
a
∈
A
a \in \mathcal{A}
a∈A,
q
∗
(
s
,
a
)
=
˙
m
a
x
π
(
s
,
a
)
(
3.16
)
q_{*}(s, a)\ \dot{=} \ max_{\pi}(s, a) \qquad (3.16)
q∗(s,a) =˙ maxπ(s,a)(3.16)
对于转态-动作对
(
s
,
a
)
(s, a)
(s,a),
q
∗
(
s
,
a
)
q_{*}(s, a)
q∗(s,a)给出在状态s下,采取动作a, 之后按照最优策略去决策的期望回报,因此,我们可以用
v
∗
v_{*}
v∗来表示
q
∗
q_{*}
q∗,如下所示:
q
∗
(
s
,
a
)
=
E
π
[
R
t
+
1
+
γ
v
∗
(
S
t
+
1
)
∣
S
t
=
s
,
A
t
=
a
]
(
3.17
)
q_{*}(s, a)\ = \ \mathbb{E}_{\pi}[R_{t+1} + \gamma v_{*}(S_{t+1}) \mid S_t=s,A_t=a]\ \qquad (3.17)
q∗(s,a) = Eπ[Rt+1+γv∗(St+1)∣St=s,At=a] (3.17)
v
∗
v_{*}
v∗是策略的价值函数,那它一定满足式3.14的贝尔曼方程中状态和价值的一致性条件,当然因为它是最优价值函数,所以
v
∗
v_{*}
v∗的一致性条件可以用一种特殊的形式表示,而不拘泥于任何特定的策略,这就是贝尔曼最优方程(Bellman optimality equation),直观上看,贝尔曼方程表达了一个事实:在最优策略下的状态的价值一定等于这个状态下最优动作的期望回报:
v
∗
(
s
)
=
m
a
x
a
∈
A
(
s
)
v
π
(
s
)
=
m
a
x
a
E
π
∗
[
G
t
∣
S
t
=
t
,
A
t
=
a
]
=
m
a
x
a
E
π
∗
[
R
t
+
1
+
γ
G
t
+
1
∣
S
t
=
t
,
A
t
=
a
]
(
b
y
(
3.9
)
)
=
m
a
x
a
E
[
R
t
+
1
+
γ
v
∗
(
S
t
+
1
)
∣
S
t
=
t
,
A
t
=
a
]
(
3.18
)
=
m
a
x
a
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
v
∗
(
s
′
)
]
(
3.19
)
\begin{aligned} v_{*}(s) & \ = max_{a \in \mathcal{A}(s)} v_{\pi} (s) \\ & \ = max_a \ \mathbb{E}_{\pi_*}[G_t \mid S_t=t, A_t=a ] \\ & \ = max_a \ \mathbb{E}_{\pi_*}[R_{t+1} + \gamma G_{t+1} \mid S_t=t, A_t=a ] \qquad (by(3.9)) \\ & \ = max_a \ \mathbb{E}[R_{t+1} + \gamma v_*(S_{t+1}) \mid S_t=t, A_t=a ] \qquad (3.18) \\ & \ = max_a \sum_{s^{\prime}, r} p(s^{\prime}, r| s, a)[r + \gamma v_*(s^{\prime})] \qquad (3.19) \end{aligned}
v∗(s) =maxa∈A(s)vπ(s) =maxa Eπ∗[Gt∣St=t,At=a] =maxa Eπ∗[Rt+1+γGt+1∣St=t,At=a](by(3.9)) =maxa E[Rt+1+γv∗(St+1)∣St=t,At=a](3.18) =maxas′,r∑p(s′,r∣s,a)[r+γv∗(s′)](3.19)
最后的两个方程(3.18)和(3.19)是
v
∗
v_*
v∗的两个形式,
q
∗
q_*
q∗的贝尔曼最优方程是:
q
∗
(
s
,
a
)
=
E
[
R
t
+
1
+
γ
m
a
x
a
′
q
∗
(
S
t
+
1
,
a
′
)
∣
S
t
=
t
,
A
t
=
a
]
=
∑
s
′
,
r
p
(
s
′
,
r
∣
s
,
a
)
[
r
+
γ
m
a
x
a
′
q
∗
(
s
′
,
a
′
)
]
(
3.20
)
\begin{aligned} q_{*}(s, a) & \ = \mathbb{E}[R_{t+1} + \gamma max_{a^{\prime}} q_*(S_{t+1}, a^{\prime}) \mid S_t=t, A_t=a ] \\ & \ = \sum_{s^{\prime}, r} p(s^{\prime}, r| s, a)[r + \gamma max_{a^{\prime}}q_*(s^{\prime}, a^{\prime})] \qquad (3.20) \end{aligned}
q∗(s,a) =E[Rt+1+γmaxa′q∗(St+1,a′)∣St=t,At=a] =s′,r∑p(s′,r∣s,a)[r+γmaxa′q∗(s′,a′)](3.20)
下图的左边是式(3.19),
v
∗
v_*
v∗的回溯图,下图的右边是式(3.20),
q
∗
q_*
q∗的回溯图。与前面的表示除了图上的弧形外,其他是一样的,弧形表示agent的选择是最优的。
对于有限MDP来说, v π v_{\pi} vπ的贝尔曼方程(式3.19)和 q π q_{\pi} qπ的贝尔曼方程(式3.20)有独立于策略的唯一解。而对于最优价值函数 v ∗ v_* v∗来说,任何贪心策略都是最优策略。而给定 q ∗ q_* q∗ ,对于任意状态s, agent只要找到使得 q ∗ ( s , a ) q_*(s, a) q∗(s,a)最大化的动作a就可以了。
3.7 Optimality and Approximation
计算资源和内存是限制了直接生成最优策略,实际上agent只能在不同程度上近似。
强化学习的在线性质使得可以通过在学习中做出更多努力来为经常遇到的状态做出好的决策来做出最优策略,而这是以对不常遇到的状态做很少努力为代价的。该性质是强化学习不同于其他近似求解MDP方法的关键性质。
3.8 Summary
来总结一下本章学到的强化学习的要素:
- 强化学习是从交互中学习如何采取行动来达到一个目标。
- 强化学习的agent和它的环境在一系列离散的时间步长上进行交互。
- agent做出动作的选择;状态是做出选择的基础;奖励是评估这些选择的基础。
- agent内部的一切是可知和可控的。它的环境,是完全不可控的,可能或不可能完全可知。
- 策略是一个随机规则,它是状态的函数。agent通过该规则选择动作。
- agent的目标是在累积时间内最大化收到的奖励。
当强化学习用完备定义的转移概率描述后,就构成了马尔科夫决策过程(Markov decision process(MDP))。一个有限MDP是包含有限的状态、动作、奖励集的MDP。
回报是agent要最大化的未来奖励的函数。它根据不同的任务类型和是否希望对延迟的奖励打折扣,有不同的定义,本书也试图用一组方程适用下面两种不同的任务。
- 非折扣形式适用于回合式任务(episodic tasks),这类任务中agent和环境的交互可以自然分解成episodes。
- 折扣形式适用于连续性任务(continuing tasks),这类任务中agent和环境的交互不能被分解成episodes而是一直无限制的持续下去。
关于价值函数:
- 给定 agent 使用的策略,则策略的值函数可以对每个状态或状态-动作对给出对应的期望回报。
- 最优价值函数对每个状态或状态-动作对给出了所有策略中最大的期望回报值。
- 一个价值函数最优的策略叫最优策略。
- 对于给定的 MDP,状态和状态-动作对对应的最优价值函数是唯一的,但是可以有许多最优策略。
- 在最优价值函数的基础上,通过贪心算法得到的策略一定是最优策略。
- Bellman 最优方程是最优价值函数必须满足的特殊一致性条件,原则上最优价值函数是可以通过这个条件相对容易求解得到的。
计算能力和存储资源是一个约束,在大多数实际问题中,环境状态远远不是一个表格能装下的,我们需要近似方法来解决强化学习问题。
参考资料
- 《Reinforcement Learning: An Introduction》Sutton, Richard S. and Andrew G. Barto. 第2版, 书籍网站, 笔记中的全部图片都来源于书籍。
- https://github.com/ShangtongZhang/reinforcement-learning-an-introduction
- https://github.com/YunlianMoon/reinforcement-learning-an-introduction-2nd-edition/tree/master