这篇文章整理强化学习(Reinforcement Learning, RL)中最常用的一组基础概念,主线参考 Sutton & Barto 的 Chapters 1–6:先建立 agent–environment interaction 的时序,再介绍 MDP、value function、Bellman equation,最后比较 DP、MC 与 TD。

一句话概括:agent 根据当前信息选择 action,environment 返回 reward 和下一时刻的信息;RL 希望找到一个能让期望累计回报最大的 policy。

1. Agent–Environment Interaction

RL 的基本交互循环是:

$$ S_t \xrightarrow{\;A_t \sim \pi(\cdot \mid S_t)\;} (R_{t+1}, S_{t+1}) $$

按照 Sutton & Barto 的下标约定,在时刻 $t$:

  1. agent 获得状态 $S_t$,或者只能看到 observation $O_t$;
  2. agent 按照 policy 选择动作 $A_t$;
  3. environment 执行动作,并返回 reward $R_{t+1}$ 与下一状态 $S_{t+1}$。

因此,一条完整 trajectory(也叫 rollout)可以写成:

$$ \tau = (S_0, A_0, R_1, S_1, A_1, R_2, \ldots) $$

1.1 State 与 Observation

  • Environment state $S_t$:对未来演化具有 Markov 性的环境信息。它不要求环境是确定性的;即使知道完整状态,下一状态仍然可以是随机的。
  • Observation $O_t$:agent 实际能获得的信息,例如相机图像、关节角度或带噪传感器读数。

如果 $O_t$ 包含完整状态,则称为 fully observed;如果只能看到局部信息,则通常需要用 POMDP(Partially Observable MDP)描述。实际代码中,policy 经常写成 $\pi(a \mid s)$,但网络输入往往是 observation,即 $\pi(a \mid o)$。

1.2 Action

Action space 常见两类:

  • Discrete action:动作来自有限集合。例如 Atari 中的上下左右,policy 网络通常为每个动作输出一个 logit,再通过 categorical distribution 采样。
  • Continuous action:动作是实数向量,例如机器人各关节的 torque。policy 可以直接输出确定性动作,也可以参数化一个概率分布。

在 PPO 等 stochastic policy 方法中,continuous action policy 常用 diagonal Gaussian:网络输出均值 $\mu_\theta(o)$,标准差通常通过 $\log \sigma$ 参数化,然后采样

$$ A_t = \mu_\theta(O_t) + \sigma_\theta(O_t) \odot \epsilon, \qquad \epsilon \sim \mathcal{N}(0, I) $$

但“continuous action = Gaussian policy”并不是定义,只是一种常见实现。

1.3 Reward 与 Policy

Reward $R_{t+1}$ 是 environment 对刚才那一步转移给出的标量反馈。agent 的目标不是贪心地最大化每一步 immediate reward,而是最大化整条 trajectory 的期望累计回报。

Policy $\pi$ 描述 agent 如何选择动作:

$$ A_t = \mu_\theta(S_t) \quad \text{(deterministic)}, \qquad A_t \sim \pi_\theta(\cdot \mid S_t) \quad \text{(stochastic)} $$

2. Episodic、Continuing 与 Return

这里应使用 continuing,而不是 continuous:continuous 通常描述 action/state space 是否连续,continuing 描述任务是否自然结束。

  • Episodic task:交互会到达 terminal state,例如棋局结束、机器人成功或失败。
  • Continuing task:理论上持续运行,没有自然终点,例如持续的数据中心温控。

还要区分两种“episode 结束”:

  • Termination:到达任务定义中的终止状态;此后没有未来回报,bootstrap 时令下一状态价值为 $0$。
  • Truncation:由于外部时间限制或采样限制而停止,例如 wrapper 强制在 500 步截断;最后一个状态不一定是 terminal state,通常仍应 bootstrap。

2.1 Discounted Return

从时刻 $t$ 开始的 discounted return 定义为:

$$ 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} $$

其中 $\gamma \in [0,1]$ 是 discount factor:

  • $\gamma = 0$:只关注 immediate reward;
  • $\gamma$ 越接近 $1$:越重视长期回报;
  • continuing task 通常取 $\gamma < 1$,使无限和在常见条件下保持有限;
  • finite episodic task 在回报有限时可以取 $\gamma = 1$。

RL 的优化目标通常写成:

$$ J(\pi) = \mathbb{E}_{\tau \sim \pi}[G_0], \qquad \pi^* = \arg\max_\pi J(\pi) $$

3. Value、Action-Value 与 Advantage

下面三个函数都依赖 policy $\pi$:

$$ V^\pi(s) = \mathbb{E}_\pi[G_t \mid S_t=s] $$$$ Q^\pi(s,a) = \mathbb{E}_\pi[G_t \mid S_t=s, A_t=a] $$$$ A^\pi(s,a) = Q^\pi(s,a) - V^\pi(s) $$
  • $V^\pi(s)$:位于状态 $s$,之后一直执行 $\pi$ 时的期望回报。
  • $Q^\pi(s,a)$:先在 $s$ 执行动作 $a$,之后再一直执行 $\pi$ 时的期望回报。
  • $A^\pi(s,a)$:动作 $a$ 相比当前 policy 在状态 $s$ 下的平均表现好多少。

对 discrete action,有:

$$ V^\pi(s) = \sum_a \pi(a \mid s)Q^\pi(s,a) $$

一个具体数值例子

假设在某状态 $s$:

Action$\pi(a \mid s)$$Q^\pi(s,a)$
left$0.25$$2$
right$0.75$$5$

那么:

$$ V^\pi(s) = 0.25 \times 2 + 0.75 \times 5 = 4.25 $$

所以 $A^\pi(s,\text{left})=-2.25$,$A^\pi(s,\text{right})=0.75$。并且 policy 下 advantage 的期望为零:

$$ \sum_a \pi(a \mid s)A^\pi(s,a)=0 $$

4. Multi-Armed Bandit:最简化的 RL 问题

Sutton & Barto Chapter 2 先研究 multi-armed bandit。它可以看成没有状态转移、每次只选择一个 action 并立即得到 reward 的简化问题,核心矛盾是:

  • Exploitation:选择当前估计最好的 action;
  • Exploration:尝试不确定的 action,以免错过真正更好的选择。

若 $Q_n(a)$ 表示 action $a$ 的 reward estimate,则一次增量更新可以写成:

$$ Q_{n+1}(a) = Q_n(a) + \alpha_n\big(R_n-Q_n(a)\big) $$

当 $\alpha_n=1/N_n(a)$ 时,它等价于 sample average;使用 constant step size 时则更容易追踪 non-stationary reward。这个“旧估计 + 步长 × 误差”的形式,后面会反复出现在 MC、TD、Q-learning 和 neural network optimization 中。

5. MDP(Markov Decision Process)

一个常见的 MDP 定义为五元组:

$$ \mathcal{M}=(\mathcal{S},\mathcal{A},P,R,\gamma) $$
  • $\mathcal{S}$:state space;
  • $\mathcal{A}$:action space;
  • $P(s'\mid s,a)$:transition probability;
  • $R(s,a,s')=\mathbb{E}[R_{t+1}\mid S_t=s,A_t=a,S_{t+1}=s']$:期望 immediate reward;
  • $\gamma$:discount factor。

初始状态通常还由分布 $\rho_0$ 给出。

MDP 中 agent 与 environment 的交互循环
Agent 选择 action;environment 返回 reward 和下一 state。

5.1 Markov Property

Markov property 的准确含义是:给定当前 state 和 action,下一步的 state–reward 分布不再依赖更早的完整历史。

$$ P(S_{t+1},R_{t+1}\mid S_0,A_0,\ldots,S_t,A_t)=P(S_{t+1},R_{t+1}\mid S_t,A_t) $$

这不代表 $S_t$ 能唯一确定 $S_{t+1}$;MDP 完全可以有 stochastic transition。它要求的是 $S_t$ 已经包含预测未来所需的充分信息。

MDP 是序列决策与 RL 的基本数学框架。Diffusion model 中也会使用 Markov chain,但不应把 diffusion process 本身直接等同于 MDP:MDP 额外包含 action、reward 与决策目标。

6. Bellman Expectation Equation

Bellman equation 的核心是把 return 拆成“一步 reward + 下一状态的剩余 return”:

$$ G_t = R_{t+1} + \gamma G_{t+1} $$

6.1 State-Value Function

$$ V^\pi(s)=\mathbb{E}_\pi\left[R_{t+1}+\gamma V^\pi(S_{t+1})\mid S_t=s\right] $$

若 state 和 action 都是离散的,则展开为:

$$ V^\pi(s)=\sum_a\pi(a\mid s)\sum_{s'}P(s'\mid s,a)\left[R(s,a,s')+\gamma V^\pi(s')\right] $$

6.2 Action-Value Function

$$ Q^\pi(s,a)=\mathbb{E}_\pi\left[R_{t+1}+\gamma Q^\pi(S_{t+1},A_{t+1})\mid S_t=s,A_t=a\right] $$

展开为:

$$ Q^\pi(s,a)=\sum_{s'}P(s'\mid s,a)\left[R(s,a,s')+\gamma\sum_{a'}\pi(a'\mid s')Q^\pi(s',a')\right] $$

连续 state/action space 中,上面的求和需要改成积分。

如果把“下一步继续遵循 $\pi$”换成“下一步总选价值最大的动作”,就得到 Bellman optimality equation:

$$ Q^*(s,a)=\sum_{s'}P(s'\mid s,a)\left[R(s,a,s')+\gamma\max_{a'}Q^*(s',a')\right] $$

这也是 Q-learning target 的来源。

7. DP、MC 与 TD:三种 Value Estimation 思路

三者都可以写成同一种增量形式:

$$ \text{new estimate}=\text{old estimate}+\alpha(\text{target}-\text{old estimate}) $$

真正的差别在于:target 从哪里来,是否需要 environment model,以及是否 bootstrap。

方法需要 $P,R$ 模型何时更新典型 targetBootstrap典型特点
DP是反复 sweep states对所有下一状态求期望是target 方差低,但需要完整模型
MC否episode 结束后实际采样到的 $G_t$否target 通常无偏,但方差较高
TD(0)否每次 transition 后$R_{t+1}+\gamma V(S_{t+1})$是可在线更新,通常方差更低但 target 有偏

这里的“偏差/方差”描述的是有限样本和当前估计下的典型 target,并不等于对所有算法、函数逼近器和采样方式的无条件收敛保证。

7.1 Dynamic Programming(DP)

DP 假设 transition 和 reward model 已知,用 Bellman expectation backup 做 policy evaluation:

$$ V_{k+1}(s) \leftarrow \sum_a\pi(a\mid s)\sum_{s'}P(s'\mid s,a)\left[R(s,a,s')+\gamma V_k(s')\right] $$

在 tabular setting 中,通常对状态反复 sweep 直到估计稳定。它不是从 sampled trajectory 学,而是直接对所有可能的下一状态求期望。

7.2 Monte Carlo(MC)

MC 等 episode 结束后,用实际 return 更新:

$$ V(S_t) \leftarrow V(S_t)+\alpha\left[G_t-V(S_t)\right] $$

在 on-policy sampling 下,$G_t$ 是 $V^\pi(S_t)$ 的随机样本;它不依赖当前的 value estimate,因此不 bootstrap。它的主要问题是必须等到 episode 结束,而且长 trajectory 中随机 reward 的累积会带来较高方差。

注意:这条式子更新的是 value estimate,不是直接更新 policy parameters。MC control 会另外使用 estimated action values 来改进 policy。

7.3 Temporal-Difference Learning(TD)

TD(0) 每得到一个 transition 就更新:

$$ V(S_t) \leftarrow V(S_t)+\alpha\underbrace{\left[R_{t+1}+\gamma V(S_{t+1})-V(S_t)\right]}_{\delta_t\;\text{(TD error)}} $$

TD target 使用了尚未完全准确的 $V(S_{t+1})$,所以它在 bootstrap;代价是引入偏差,收益是无需等待 episode 结束,并且通常比完整 return 的方差低。

例如,若 $\gamma=0.9$、$R_{t+1}=2$、$V(S_{t+1})=5$、$V(S_t)=4$、$\alpha=0.1$,则:

$$ \delta_t=2+0.9\times5-4=2.5, \qquad V(S_t)\leftarrow4+0.1\times2.5=4.25 $$

到达真正的 terminal state 时令下一状态价值为 $0$;若只是 truncation,则通常仍应使用下一状态价值进行 bootstrap。

8. 常见易错点

  1. Reward 与 return 不同:$R_{t+1}$ 是一步反馈,$G_t$ 是从当前时刻开始的累计回报。
  2. State 不等于 observation:fully observed 时二者可以相同,partially observed 时 agent 只拿到 $O_t$。
  3. Markov 不等于 deterministic:Markov property 约束条件依赖关系,不要求下一状态唯一。
  4. Continuing 不等于 continuous:前者描述任务是否终止,后者通常描述 state/action space。
  5. Termination 不等于 truncation:二者决定 terminal transition 是否应该 bootstrap。
  6. MC 不一定更新 policy:MC prediction 只估计 value;MC control 才同时改进 policy。
1. 从 $(S_t,A_t)$ 转移后得到的是 $R_t$ 还是 $R_{t+1}$?

按本文采用的 Sutton & Barto 约定,environment 返回 $R_{t+1}$ 和 $S_{t+1}$。

3. MC 与 TD 最核心的区别是什么?

MC 使用完整 sampled return $G_t$,不 bootstrap;TD 使用 $R_{t+1}+\gamma V(S_{t+1})$,会 bootstrap,并且可以在 episode 结束前更新。

参考资料