第1章 强化学习的基础概念
引言
-
首先通过示例介绍强化学习(RL)的基本概念。
-
然后在马尔可夫决策过程的框架下对这些概念进行形式化。
1 网格世界示例 (A Grid-world Example)
| ❌ | ||
| ❌ | ✅ |
-
网格单元:包含可通过单元格、禁止单元格、目标单元格以及边界。
-
易于理解,非常适合用于说明概念。
任务:
-
给定任意起始区域,寻找一条通往目标的"好"路径。
-
如何定义"好"?避免进入禁止单元格、绕路或碰触边界。
2 状态 (State)
状态:智能体相对于环境的状态。
在网格世界示例中,智能体的位置就是状态。有9个可能的位置,因此有9个状态: s 1 , s 2 , ... , s 9 s_1, s_2, \ldots, s_9 s1,s2,...,s9。
| s 1 s_1 s1 | s 2 s_2 s2 | s 3 s_3 s3 |
|---|---|---|
| s 4 s_4 s4 | s 5 s_5 s5 | s 6 s_6 s6 |
| s 7 s_7 s7 | s 8 s_8 s8 | s 9 s_9 s9 |
状态空间 :所有状态的集合 S = { s i } i = 1 9 \mathcal{S} = \{s_i\}_{i=1}^9 S={si}i=19。
3 动作 (Action)
对于每个状态,有五种可能的动作: a 1 , ... , a 5 a_1, \ldots, a_5 a1,...,a5。
-
a 1 a_1 a1:向上移动;
-
a 2 a_2 a2:向右移动;
-
a 3 a_3 a3:向下移动;
-
a 4 a_4 a4:向左移动;
-
a 5 a_5 a5:保持不动。
状态的动作空间 :一个状态下所有可能动作的集合。 A ( s i ) = { a i } i = 1 5 \mathcal{A}(s_i) = \{a_i\}_{i=1}^5 A(si)={ai}i=15。
问题:不同状态能否有不同的动作集?可以。
4 状态转移 (State Transition)
当采取一个动作时,智能体可能从一个状态转移到另一个状态,这个过程称为状态转移。
-
在状态 s 1 s_1 s1 选择动作 a 2 a_2 a2,下一个状态为 s 2 s_2 s2: s 1 → a 2 s 2 s_1 \xrightarrow{a_2} s_2 s1a2 s2。
-
在状态 s 1 s_1 s1 选择动作 a 1 a_1 a1,下一个状态仍为 s 1 s_1 s1: s 1 → a 1 s 1 s_1 \xrightarrow{a_1} s_1 s1a1 s1(向上碰到墙壁出不去,留在原位)。
状态转移定义了与环境的交互。
关于禁止区域的两种情形:
-
情形1 :禁止区域可进入但有惩罚(更一般且更具挑战性)。例如,在 s 5 s_5 s5 执行 a 2 a_2 a2 会转移到 s 6 s_6 s6。
-
情形2 :禁止区域不可进入(如同被墙包围)。例如,上述动作会停留在 s 5 s_5 s5。
状态转移的表格表示:
下面表格展示了每个状态-动作对对应的下一个状态:
| 状态 | a 1 a_1 a1 (向上) | a 2 a_2 a2 (向右) | a 3 a_3 a3 (向下) | a 4 a_4 a4 (向左) | a 5 a_5 a5 (静止) |
|---|---|---|---|---|---|
| s 1 s_1 s1 | s 1 s_1 s1 | s 2 s_2 s2 | s 4 s_4 s4 | s 1 s_1 s1 | s 1 s_1 s1 |
| s 2 s_2 s2 | s 2 s_2 s2 | s 3 s_3 s3 | s 5 s_5 s5 | s 1 s_1 s1 | s 2 s_2 s2 |
| s 3 s_3 s3 | s 3 s_3 s3 | s 3 s_3 s3 | s 6 s_6 s6 | s 2 s_2 s2 | s 3 s_3 s3 |
| s 4 s_4 s4 | s 1 s_1 s1 | s 5 s_5 s5 | s 7 s_7 s7 | s 4 s_4 s4 | s 4 s_4 s4 |
| s 5 s_5 s5 | s 2 s_2 s2 | s 6 s_6 s6 | s 8 s_8 s8 | s 4 s_4 s4 | s 5 s_5 s5 |
| s 6 s_6 s6 | s 3 s_3 s3 | s 6 s_6 s6 | s 9 s_9 s9 | s 5 s_5 s5 | s 6 s_6 s6 |
| s 7 s_7 s7 | s 4 s_4 s4 | s 8 s_8 s8 | s 7 s_7 s7 | s 7 s_7 s7 | s 7 s_7 s7 |
| s 8 s_8 s8 | s 5 s_5 s5 | s 9 s_9 s9 | s 8 s_8 s8 | s 7 s_7 s7 | s 8 s_8 s8 |
| s 9 s_9 s9 | s 6 s_6 s6 | s 9 s_9 s9 | s 9 s_9 s9 | s 8 s_8 s8 | s 9 s_9 s9 |
状态转移概率:使用概率描述状态转移。
-
直觉 :在 s 1 s_1 s1 选择 a 2 a_2 a2,下一状态为 s 2 s_2 s2。
-
数学 : p ( s 2 ∣ s 1 , a 2 ) = 1 , p ( s i ∣ s 1 , a 2 ) = 0 ∀ i ≠ 2 p(s_2|s_1,a_2) = 1, \qquad p(s_i|s_1,a_2) = 0 \ \ \forall i \neq 2 p(s2∣s1,a2)=1,p(si∣s1,a2)=0 ∀i=2
这是确定性情形。状态转移也可以是随机的(例如,受到阵风影响)。
5 策略 (Policy)
策略告诉智能体在某状态下应采取什么动作。
例如,对于状态 s 1 s_1 s1 的一个确定性策略:
π ( a 1 ∣ s 1 ) = 0 , π ( a 2 ∣ s 1 ) = 1 , π ( a 3 ∣ s 1 ) = 0 , π ( a 4 ∣ s 1 ) = 0 , π ( a 5 ∣ s 1 ) = 0 \pi(a_1|s_1)=0,\ \pi(a_2|s_1)=1,\ \pi(a_3|s_1)=0,\ \pi(a_4|s_1)=0,\ \pi(a_5|s_1)=0 π(a1∣s1)=0, π(a2∣s1)=1, π(a3∣s1)=0, π(a4∣s1)=0, π(a5∣s1)=0
随机策略的例子 :在 s 1 s_1 s1 状态,
π ( a 1 ∣ s 1 ) = 0 , π ( a 2 ∣ s 1 ) = 0.5 , π ( a 3 ∣ s 1 ) = 0.5 , π ( a 4 ∣ s 1 ) = 0 , π ( a 5 ∣ s 1 ) = 0 \pi(a_1|s_1)=0,\ \pi(a_2|s_1)=0.5,\ \pi(a_3|s_1)=0.5,\ \pi(a_4|s_1)=0,\ \pi(a_5|s_1)=0 π(a1∣s1)=0, π(a2∣s1)=0.5, π(a3∣s1)=0.5, π(a4∣s1)=0, π(a5∣s1)=0
策略的表格表示(可表示确定性或随机策略):
| 状态 | a 1 a_1 a1 (向上) | a 2 a_2 a2 (向右) | a 3 a_3 a3 (向下) | a 4 a_4 a4 (向左) | a 5 a_5 a5 (静止) |
|---|---|---|---|---|---|
| s 1 s_1 s1 | 0 | 0.5 | 0.5 | 0 | 0 |
| s 2 s_2 s2 | 0 | 0 | 1 | 0 | 0 |
| s 3 s_3 s3 | 0 | 0 | 0 | 1 | 0 |
| s 4 s_4 s4 | 0 | 1 | 0 | 0 | 0 |
| s 5 s_5 s5 | 0 | 0 | 1 | 0 | 0 |
| s 6 s_6 s6 | 0 | 0 | 1 | 0 | 0 |
| s 7 s_7 s7 | 0 | 1 | 0 | 0 | 0 |
| s 8 s_8 s8 | 0 | 1 | 0 | 0 | 0 |
| s 9 s_9 s9 | 0 | 0 | 0 | 0 | 1 |
6 奖励 (Reward)
在网格世界示例中,奖励设计如下:
-
若智能体试图出界, r bound = − 1 r_{\text{bound}} = -1 rbound=−1。
-
若智能体试图进入禁止单元格, r forbid = − 1 r_{\text{forbid}} = -1 rforbid=−1。
-
若智能体到达目标单元格, r target = + 1 r_{\text{target}} = +1 rtarget=+1。
-
否则,奖励为 r = 0 r = 0 r=0。
奖励的解读:可视为人机接口,通过它可以引导智能体按照我们的期望行事。例如,上述奖励设计会使智能体尽量避免出界或进入禁止单元格。
奖励转移的表格表示:
| 状态 | a 1 a_1 a1 (向上) | a 2 a_2 a2 (向右) | a 3 a_3 a3 (向下) | a 4 a_4 a4 (向左) | a 5 a_5 a5 (静止) |
|---|---|---|---|---|---|
| s 1 s_1 s1 | r bound r_{\text{bound}} rbound | 0 | r bound r_{\text{bound}} rbound | 0 | 0 |
| s 2 s_2 s2 | r bound r_{\text{bound}} rbound | 0 | 0 | 0 | 0 |
| s 3 s_3 s3 | r bound r_{\text{bound}} rbound | r bound r_{\text{bound}} rbound | r forbid r_{\text{forbid}} rforbid | 0 | 0 |
| s 4 s_4 s4 | 0 | 0 | r forbid r_{\text{forbid}} rforbid | r bound r_{\text{bound}} rbound | 0 |
| s 5 s_5 s5 | 0 | r forbid r_{\text{forbid}} rforbid | 0 | 0 | 0 |
| s 6 s_6 s6 | 0 | r bound r_{\text{bound}} rbound | r target r_{\text{target}} rtarget | 0 | 0 |
| s 7 s_7 s7 | 0 | 0 | r bound r_{\text{bound}} rbound | r bound r_{\text{bound}} rbound | 0 |
| s 8 s_8 s8 | 0 | r target r_{\text{target}} rtarget | r bound r_{\text{bound}} rbound | r forbid r_{\text{forbid}} rforbid | 0 |
| s 9 s_9 s9 | r forbid r_{\text{forbid}} rforbid | r bound r_{\text{bound}} rbound | r bound r_{\text{bound}} rbound | 0 | 0 |
数学描述:使用条件概率。
-
直觉 :在 s 1 s_1 s1 执行动作 a 1 a_1 a1,奖励为 − 1 -1 −1。
-
数学 : p ( r = − 1 ∣ s 1 , a 1 ) = 1 p(r=-1|s_1, a_1) = 1 p(r=−1∣s1,a1)=1 且 p ( r ≠ − 1 ∣ s 1 , a 1 ) = 0 p(r \neq -1|s_1, a_1) = 0 p(r=−1∣s1,a1)=0。
备注:
-
这里是确定性情形。奖励转移也可以是随机的(例如,努力学习会有回报,但回报多少不确定)。
-
奖励依赖于状态和动作,但不依赖于下一状态(对比 s 1 , a 1 s_1, a_1 s1,a1 和 s 1 , a 5 s_1, a_5 s1,a5)。
7 轨迹与回报 (Trajectory and Return)
轨迹是一条状态-动作-奖励链。示例:
S_1 \\xrightarrow{r=0(a_2)} S_2 \\xrightarrow{r=0(a_3)} S_5 \\xrightarrow{r=0(a_3)} S_8 \\xrightarrow{r=1(a_2)} S_9
该轨迹的回报 是沿轨迹收集的所有奖励之和:
return = 0 + 0 + 0 + 1 = 1 \text{return} = 0 + 0 + 0 + 1 = 1 return=0+0+0+1=1
不同的策略产生不同的轨迹 :
s 1 → r = 0 s 4 → r = − 1 s 7 → r = 0 s 8 → r = + 1 s 9 s_1 \xrightarrow{r=0} s_4 \xrightarrow{r=-1} s_7 \xrightarrow{r=0} s_8 \xrightarrow{r=+1} s_9 s1r=0 s4r=−1 s7r=0 s8r=+1 s9
回报为: 0 − 1 + 0 + 1 = 0 0 - 1 + 0 + 1 = 0 0−1+0+1=0。
哪个策略更好?
-
直觉:第一条更好,因为它避免了禁止区域。
-
数学:第一条更好,因为它具有更大的回报。
-
结论:回报可用于评估策略的好坏(下一讲详述)。
无穷轨迹问题 :
s 1 → a 2 s 2 → a 3 s 5 → a 3 s 8 → a 2 s 9 → a 5 s 9 → a 5 s 9 ... s_1 \xrightarrow{a_2} s_2 \xrightarrow{a_3} s_5 \xrightarrow{a_3} s_8 \xrightarrow{a_2} s_9 \xrightarrow{a_5} s_9 \xrightarrow{a_5} s_9 \ldots s1a2 s2a3 s5a3 s8a2 s9a5 s9a5 s9...
此时回报为:
return = 0 + 0 + 0 + 1 + 1 + 1 + ⋯ = ∞ \text{return} = 0 + 0 + 0 + 1 + 1 + 1 + \dots = \infty return=0+0+0+1+1+1+⋯=∞
此定义无效,因为回报发散。
引入折扣因子 γ ∈ [ 0 , 1 ) \gamma \in [0,1) γ∈[0,1):
折扣回报:
discounted return = 0 + γ 0 + γ 2 0 + γ 3 1 + γ 4 1 + γ 5 1 + ... \text{discounted return} = 0 + \gamma 0 + \gamma^2 0 + \gamma^3 1 + \gamma^4 1 + \gamma^5 1 + \dots discounted return=0+γ0+γ20+γ31+γ41+γ51+...
= γ 3 ( 1 + γ + γ 2 + ... ) = γ 3 1 1 − γ = \gamma^3 (1 + \gamma + \gamma^2 + \dots) = \gamma^3 \frac{1}{1 - \gamma} =γ3(1+γ+γ2+...)=γ31−γ1
γ \gamma γ 的作用:
-
使和有限。
-
平衡远期与近期奖励:
-
若 γ \gamma γ 接近 0,折扣回报的值由近期获得的奖励主导。
-
若 γ \gamma γ 接近 1,折扣回报的值由远期获得的奖励主导。
-
8 Episodes and Continuing Tasks
Episode :当智能体遵循某策略与环境交互时,可能会在某些终止状态停止。产生的轨迹称为一个 episode(或 trial)。
示例 episode:
S 1 → r = 0 S 2 → r = 0 S 5 → r = 0 S 8 → r = 1 S 9 S_1 \xrightarrow{r=0} S_2 \xrightarrow{r=0} S_5 \xrightarrow{r=0} S_8 \xrightarrow{r=1} S_9 S1r=0 S2r=0 S5r=0 S8r=1 S9
一个 episode 通常假设为有限轨迹。有 episode 的任务称为episodic tasks。
Continuing tasks :某些任务可能没有终止状态,意味着与环境的交互永不结束。
可将episodic tasks 转换为Continuing tasks:
-
方案1 :将目标状态视为特殊的吸收状态,一旦到达便永不离开,后续奖励恒为 r = 0 r = 0 r=0。
-
方案2 :将目标状态视为普通状态并具有策略,智能体可以离开目标状态,每次进入目标状态获得 r = + 1 r = +1 r=+1。
9 总结与马尔可夫决策过程 (MDP)
通过网格世界示例,我们引入并理解了以下关键概念:
-
状态 (State) 与 状态空间 (State space)
-
动作 (Action) 与 动作空间 (Action space)
-
状态转移 (State transition) 及 状态转移概率 (State transition probability) p ( s ′ ∣ s , a ) p(s'|s, a) p(s′∣s,a)
-
策略 (Policy): π ( a ∣ s ) \pi(a|s) π(a∣s) 表示在状态 s s s 下选择动作 a a a 的概率
-
奖励 (Reward) 及 奖励概率 (Reward probability) p ( r ∣ s , a ) p(r|s, a) p(r∣s,a)
-
轨迹 (Trajectory)、幕 (Episode)、回报 (Return)、折扣回报 (Discounted return)
这些概念共同构成了马尔可夫决策过程 (Markov Decision Process, MDP) 的基础要素。MDP 是后续所有强化学习算法的核心数学模型框架。
对于课程后续内容(如贝尔曼公式、策略迭代、值函数近似等),理解 MDP 的这些基本构件( S , A , P , R , γ S, A, P, R, \gamma S,A,P,R,γ)是进一步学习的基石。
参考资料:
《Mathematical Foundations of Reinforcement Learning》,作者:赵世钰,2025年出版,清华大学出版社