2990 字
15 分钟
强化学习(一):MDP 与强化学习基础

这是强化学习系列的第一篇,定义后续文章会反复使用的符号,并建立马尔可夫决策过程(MDP)这一基本模型。整个系列的主线是:

定义问题(MDP)⏟本篇⟶模型已知时求解(贝尔曼方程)⏟第二篇⟶模型未知时评价(被动 RL)⏟第三篇⟶模型未知时改进(主动 RL)⏟第四篇\underbrace{\text{定义问题(MDP)}}_{\text{本篇}} \longrightarrow \underbrace{\text{模型已知时求解(贝尔曼方程)}}_{\text{第二篇}} \longrightarrow \underbrace{\text{模型未知时评价(被动 RL)}}_{\text{第三篇}} \longrightarrow \underbrace{\text{模型未知时改进(主动 RL)}}_{\text{第四篇}}

强化学习在解决什么问题?#

强化学习研究智能体(agent)如何通过与环境(environment)交互,学习一个能够长期获得较大累积奖励的决策规则。

一次交互可以概括为:

智能体处于状态 S_t
↓ 根据策略选择动作 A_t
环境执行动作,返回奖励 R_t 和下一个状态 S_{t+1}
↓
智能体根据 S_{t+1} 继续选择动作

强化学习的目标不是让某一步的奖励最大,而是让从当前时刻开始的长期折扣回报的期望最大。后面所有内容都是”怎么逼近这个目标”的不同阶段。

时间下标与基本符号#

为了避免奖励和状态的下标混乱,本文采用动作时刻记法:在 StS_t 执行动作 AtA_t 后立刻拿到的奖励记为 RtR_t。

符号含义
StS_t时间步 tt 的状态随机变量;具体状态记为 ss
AtA_t智能体在时间步 tt 选择的动作随机变量;具体动作记为 aa
RtR_t执行动作 AtA_t 后立刻产生的奖励随机变量;具体奖励记为 rr
St+1S_{t+1}环境转移后的下一状态随机变量;具体状态记为 s′s'
(St,At,Rt,St+1)(S_t,A_t,R_t,S_{t+1})从时间步 tt 到 t+1t+1 的转移元组(transition)

约定:

  • 大写字母表示随机变量,例如 StS_t、AtA_t、RtR_t;
  • 小写字母表示随机变量的 具体取值,例如 ss、aa、rr、s′s';
  • S\mathcal{S}、A\mathcal{A}、R\mathcal{R} 分别表示状态空间、动作空间和奖励取值集合。

关于下标:部分教材把执行 AtA_t 得到的奖励记为 Rt+1R_{t+1}(到达时刻记法),于是回报写成 Gt=Rt+1+γRt+2+⋯G_t = R_{t+1}+\gamma R_{t+2}+\cdots。两种写法只差一个整体下标平移,本系列全程使用 RtR_t,保持一致即可。

符号速查#

概念符号说明
状态空间S\mathcal{S}所有可能状态的集合
动作空间A\mathcal{A}所有可能动作的集合
可行动作集合A(s)\mathcal{A}(s)状态 ss 下允许执行的动作
策略π(a∣s)\pi(a\mid s)状态 ss 下选择动作 aa 的概率
状态转移概率p(s′∣s,a)p(s'\mid s,a)执行 aa 后到达 s′s' 的概率
奖励分布p(r∣s,a)p(r\mid s,a)在 (s,a)(s,a) 下得到奖励 rr 的概率
奖励函数(平均即时奖励)rˉ(s,a)\bar r(s,a)RtR_t 的条件期望
转移元组(St,At,Rt,St+1)(S_t,A_t,R_t,S_{t+1})一次环境交互
折扣回报GtG_t从 tt 时刻开始的折扣奖励总和
折扣因子γ\gamma未来奖励的折扣权重

状态与状态空间#

状态(state) 是智能体在某个时间步用于做决策的信息。所有可能状态组成状态空间:

St∈S.S_t \in \mathcal{S}.

一个合适的状态应当包含预测未来奖励和未来状态所需的信息,它可以是离散的(棋盘落子)、连续的(关节位置与速度),也可以是图像与传感器读数这样的多模态组合。

例(围棋与机械臂开门):围棋的状态是 19×1919\times 19 棋盘上每点的三种情况(黑子、白子、无子),动作是可落子的点,奖励只在终局给出胜负(00 或 11)——这类只有回合末尾才有奖励的任务称为稀疏奖励。机械臂开门的状态则要融合关节位姿与相机图像,奖励是最终是否开门成功。

动作与动作空间#

动作(action) 是智能体在某个状态下可以执行的操作。所有动作组成动作空间:

At∈A.A_t \in \mathcal{A}.

并非每个状态都允许执行所有动作,因此定义状态相关的可行动作集合:

A(s)⊆A.\mathcal{A}(s) \subseteq \mathcal{A}.

这也是策略的定义域。例如棋盘游戏中 A(s)\mathcal{A}(s) 是不违反规则的落子位置。

策略#

策略(policy) 描述智能体如何根据具体的状态 ss 选择具体的动作 aa的概率分布:

π(a∣s)=P(At=a∣St=s),\pi(a\mid s)=P(A_t=a\mid S_t=s),

作为概率,它满足归一化条件: π(a∣s)≥0,∑a∈A(s)π(a∣s)=1.\pi(a\mid s)\ge 0, \qquad \sum_{a\in\mathcal{A}(s)}\pi(a\mid s)=1.

区分一下,固定策略 π\pi 和 确定性策略 π∗\pi^*:

  • 固定策略 π\pi:每次访问同一个 ss,用的都是 同一份 动作分布 π(⋅∣s)\pi(\cdot\mid s),但每次采样的动作可能不同。
  • 确定性策略 a=π(s)a=\pi(s):在任何状态下,智能体都确定地选择一个动作。确定性策略是随机策略的特殊情况:被选中的动作概率为 11,其余为 00。

策略是智能体的行为规则,不是环境本身的一部分。给定相同环境,改变策略就会改变智能体产生的轨迹分布。

状态转移#

环境 根据当前 状态 和 动作 产生下一状态的概率分布,称为状态转移概率:

p(s′∣s,a)=P(St+1=s′∣St=s,At=a),∑s′∈Sp(s′∣s,a)=1.p(s'\mid s,a)=P(S_{t+1}=s'\mid S_t=s,A_t=a), \qquad \sum_{s'\in\mathcal{S}}p(s'\mid s,a)=1.

它是环境的物理规律:在 ss 执行 aa,环境以这个概率跳到 s′s'。换一个策略,这个条件分布不变

奖励#

奖励(reward) 是环境在智能体执行动作后返回的标量反馈。奖励的正负和大小没有脱离任务的绝对含义,具体含义由奖励设计决定。奖励可以是随机变量,其分布为:

p(r∣s,a)=P(Rt=r∣St=s,At=a).p(r\mid s,a)=P(R_t=r\mid S_t=s,A_t=a).

如果只关心平均即时奖励,定义为条件期望:

rˉ(s,a)=E[Rt∣St=s,At=a].\bar r(s,a)=\mathbb{E}[R_t\mid S_t=s,A_t=a].

要分清两个层次:奖励本身是随机变量 RtR_t;被称作”奖励函数”的 rˉ(s,a)\bar r(s,a) 才是期望——对同一个 (s,a)(s,a),环境每次可能返回不同的 rr,rˉ(s,a)\bar r(s,a) 只是把这种随机性概括成的一个数。

即便奖励写成确定性的 R(s,a,s′)R(s,a,s'),只要下一状态 s′∼p(⋅∣s,a)s'\sim p(\cdot\mid s,a) 是随机的,平均奖励

rˉ(s,a)=∑s′p(s′∣s,a) R(s,a,s′)\bar r(s,a)=\sum_{s'}p(s'\mid s,a)\,R(s,a,s')

仍然是一个期望——奖励的随机性要么来自环境噪声,要么来自随机的下一状态,从 (s,a)(s,a) 的视角看期望几乎躲不掉。

条件的右边带着动作 aa。若把动作按策略 π(a∣s)\pi(a\mid s) 加权求和掉,条件里就不再有 aa,得到边缘分布 pπ(r∣s)=∑aπ(a∣s)p(r∣s,a)p_\pi(r\mid s)=\sum_a\pi(a\mid s)p(r\mid s,a) 及其期望 rˉ(s)=∑aπ(a∣s)rˉ(s,a)\bar r(s)=\sum_a\pi(a\mid s)\bar r(s,a)。带 aa 的 p(r∣s,a)p(r\mid s,a)、rˉ(s,a)\bar r(s,a) 是环境量,与策略无关;不带 aa 的 pπ(r∣s)p_\pi(r\mid s)、rˉ(s)\bar r(s) 是固定策略后的诱导量,随策略改变。

如果奖励本来就只依赖状态、与动作无关(比如”踩到某个格子就扣分”这类设计),那么对任意 aa都有 p(r∣s,a)=p(r∣s)p(r\mid s,a)=p(r\mid s),边缘化是白做的。这是一种建模假设(奖励长在状态上),不是普遍规律;更一般的情形奖励挂在(s,a)(s,a) 上,两者不等。

定义价值时只用均值就够?

强化学习优化的是期望回报 E[G0]\mathbb{E}[G_0],而回报 Gt=∑kγkRt+kG_t=\sum_k\gamma^kR_{t+k} 是奖励的线性组合。由期望的线性性,只有每个奖励的均值进入 E[Gt]\mathbb{E}[G_t],方差及更高阶矩都被平均掉——所以定义 V,QV,Q 时,整个奖励分布可以坍缩成一个数 rˉ(s,a)\bar r(s,a)。这不代表方差不重要:它决定学习时的采样噪声,正是后面蒙特卡洛比 TD 抖的原因。

奖励和下一状态可能相关,最一般地应使用联合分布 p(r,s′∣s,a)p(r,s'\mid s,a)。

三者如何联动:一步 = 策略 × 环境#

策略、状态转移、奖励分属两个阵营:状态转移和奖励属于环境(客观规律,与策略无关),策略属于智能体(被学习的对象)。一步之内的联动有固定顺序——先选动作,环境再给出后果。把转移元组 (St,At,Rt,St+1)(S_t,A_t,R_t,S_{t+1}) 写成联合分布,联动就是一个乘积:

p(a,r,s′∣s)=π(a∣s)⏟智能体选动作⋅p(r,s′∣s,a)⏟环境给奖励与下一状态p(a,r,s'\mid s)=\underbrace{\pi(a\mid s)}_{\text{智能体选动作}}\cdot\underbrace{p(r,s'\mid s,a)}_{\text{环境给奖励与下一状态}}

先按 π\pi 抽出 AtA_t,再按 pp 抽出 (Rt,St+1)(R_t,S_{t+1}):一条样本就是这个乘积的一次采样,这也正是”两个不确定性相乘”的字面含义。

奖励是唯一横跨两个阵营的量:它由环境产生,但采到哪个由策略选的 aa 决定——把”奖励的产生”和”奖励的选择”分开,就不会把奖励的随机性误当成策略的随机性。

这三者的嵌套关系写进贝尔曼方程,就是 Vπ(s)=∑aπ(a∣s)[rˉ(s,a)+γ∑s′p(s′∣s,a)Vπ(s′)]V^\pi(s)=\sum_a\pi(a\mid s)\big[\bar r(s,a)+\gamma\sum_{s'}p(s'\mid s,a)V^\pi(s')\big]:策略在最外层选动作,奖励和环境转移在里层决定后果。

马尔可夫性与马尔可夫决策过程#

马尔可夫性#

在时间步 tt,智能体经历的历史为:

Ht=(S0,A0,R0,S1,A1,R1,…,At−1,Rt−1,St).H_t=(S_0,A_0,R_0,S_1,A_1,R_1,\ldots,A_{t-1},R_{t-1},S_t).

一般来说未来可能依赖完整历史。马尔可夫性指:给定当前状态和动作后,下一步的奖励和状态与更早的历史无关:

p(r,s′∣Ht,At=a)=p(r,s′∣St=s,At=a).p(r,s'\mid H_t,A_t=a)=p(r,s'\mid S_t=s,A_t=a).

它的意义是:只用当前状态就能决策和预测,不必保存完整历史。这也说明状态不等于观测:机器人只记录位置、不记录速度就不满足马尔可夫性,补上速度才够;必要时得补充历史信息,或使用能处理历史的模型。

MDP 五元组#

满足马尔可夫性的决策问题被建模成一个五元组:

M=(S,A,P,R,γ)M=(\mathcal{S},\mathcal{A},P,R,\gamma)
  • S\mathcal{S}:状态空间;
  • A\mathcal{A}:动作空间;
  • P(s′∣s,a)P(s'\mid s,a):状态转移概率;
  • RR:奖励模型(p(r∣s,a)p(r\mid s,a) 或平均奖励 rˉ(s,a)\bar r(s,a));
  • γ\gamma:折扣因子,权衡近期与远期收益。

策略 π\pi 不属于 MDP 的环境参数——同一个 MDP 可以配不同策略,策略一变,动作分布、轨迹分布和价值都随之改变。

轨迹与回合#

从初始状态开始,智能体和环境交互得到的一系列状态、动作和奖励称为轨迹(trajectory)。有限回合的一条样本轨迹为:

τ=(s0,a0,r0,s1,a1,r1,…,sT−1,aT−1,rT−1,sT),即s0→a0, r0s1→a1, r1⋯→aT−1, rT−1sT,\tau=(s_0,a_0,r_0,s_1,a_1,r_1,\ldots,s_{T-1},a_{T-1},r_{T-1},s_T), \qquad\text{即}\qquad s_0 \xrightarrow{a_0,\,r_0} s_1 \xrightarrow{a_1,\,r_1} \cdots \xrightarrow{a_{T-1},\,r_{T-1}} s_T,

其中 sTs_T 是终止状态。每一步的局部转移是 (st,at,rt,st+1)(s_t,a_t,r_t,s_{t+1})。

一次回合(episode) 从初始状态开始,到终止状态结束;TT 称为范围(horizon)。若任务没有自然终止状态,可以设置最大步数或研究无限时域问题。在固定策略和随机环境下,同一策略可以产生多条不同轨迹,因此轨迹、奖励和回报通常都是随机变量。

回报与折扣因子#

从时间步 tt 开始直到回合结束,将即时奖励折扣后求和,得到 (折扣)回报(return) :

Gt=Rt+γRt+1+γ2Rt+2+⋯+γT−t−1RT−1=∑k=0T−t−1γkRt+k.G_t=R_t+\gamma R_{t+1}+\gamma^2R_{t+2}+\cdots+\gamma^{T-t-1}R_{T-1} =\sum_{k=0}^{T-t-1}\gamma^kR_{t+k}.

到达终止状态后不再产生未来奖励,约定 GT=0G_T=0。由此得到关键的递推形式:

 Gt=Rt+γGt+1 \boxed{\,G_t=R_t+\gamma G_{t+1}\,}

这条递推是下一篇贝尔曼方程的起点:当前回报由当前一步奖励和下一时刻的未来回报组成。

折扣因子 γ\gamma 通常满足 0≤γ<10\le\gamma<1,作用有三:

  1. 表示对未来奖励的重视程度,γ\gamma 越大越重视长期收益;
  2. 让无限时域下的回报在奖励有界时保持有限(此时 Gt=∑k=0∞γkRt+kG_t=\sum_{k=0}^{\infty}\gamma^kR_{t+k} 收敛);
  3. 在有限时域任务中控制远期奖励对当前决策的影响。

例如取 γ=0.99\gamma=0.99,则 10001000 步后的折扣 0.991000≈4.3×10−50.99^{1000}\approx 4.3\times10^{-5} 已可忽略。γ\gamma 不是奖励本身,而是计算长期回报时的权重。

强化学习的优化目标#

回报是随机变量——同一策略下,不同轨迹的 G0G_0 可能不同,所以策略的好坏要用期望回报衡量:

J(π)=Eπ[G0],π∗∈arg⁡max⁡πJ(π).J(\pi)=\mathbb{E}_{\pi}[G_0], \qquad \pi^*\in\arg\max_{\pi}J(\pi).

后续的状态价值函数和动作价值函数,正是把这个长期目标分解到每个状态或状态—动作对上的工具。

下一篇价值函数与贝尔曼方程将从回报的递推关系出发,推导贝尔曼方程,并在模型已知时求解最优策略。

强化学习(一):MDP 与强化学习基础
https://biscuit0613.github.io/posts/reinforcement-learning/rl_basicconception/
作者
Biscuit
发布于
2025-11-02
许可协议
CC BY-NC-SA 4.0
强化学习(四):主动强化学习、SARSA 与 Q-learning
UTF-8 编码与 Unicode,ASCII