深度教堂

  • 榜单数据10-16 17:00
  • 论文数据10-16 13:30
  • 周报10-17 11:22

强化学习基础

未发布阅读约 45 分钟人工撰写已核查审核人 ai-fact-check

CS285CS285 L4

本讲迁移自原课程讲义,经 AI 事实核查未发现存疑项,未逐页人工审核;如有出入,以原始论文和 CS285 课程资料为准。

第 02 讲核心模块课程总纲与基础对应 CS285 L4

学习目标

  • 写出 MDP 五元组 $(\mathcal{S},\mathcal{A},P,r,\gamma)$,并推导轨迹分布 $p_\theta(\tau)$。
  • 理解 RL 目标 $J(\theta)=\mathbb{E}_{\tau\sim p_\theta}[\sum_t\gamma^t r_t]$ 与有限/无限时域、平稳分布。
  • 掌握 $V^\pi,Q^\pi,A^\pi$ 的定义、相互关系与直觉。
  • 能从定义推导贝尔曼期望方程,说清每步假设。
  • 掌握"生成样本→估计回报→改进策略"的通用解剖,理解 on/off-policy 与各算法族的样本效率取舍。

模块 01 告诉我们”模仿”有天花板——想做得”最好”,就必须先定义”好”。本模块搭建强化学习的整个数学舞台:用 MDP 形式化问题,用目标函数 J(θ)J(\theta) 定义”好”,用值函数 V/Q/AV/Q/A 与贝尔曼方程刻画长期回报的递归结构,最后给出一切 RL 算法共享的”解剖结构”。这些概念是后续每个模块的通用语言。

学习目标

  • 写出 MDP 五元组 (S,A,P,r,γ)(\mathcal{S},\mathcal{A},P,r,\gamma),并推导轨迹分布 pθ(τ)p_\theta(\tau)。
  • 理解 RL 目标 J(θ)=Eτ∼pθ[∑tγtrt]J(\theta)=\mathbb{E}_{\tau\sim p_\theta}[\sum_t\gamma^t r_t] 与有限/无限时域、平稳分布。
  • 掌握 Vπ,Qπ,AπV^\pi,Q^\pi,A^\pi 的定义、相互关系与直觉。
  • 能从定义推导贝尔曼期望方程,说清每步假设。
  • 掌握”生成样本→估计回报→改进策略”的通用解剖,理解 on/off-policy 与各算法族的样本效率取舍。

编者按 · 批判性视角

本讲默认一个”信息丰富、折扣、无限时域”的 MDP——但要清楚它的适用边界。部分单轮、仅终局奖励的 RLVR 可近似看作 contextual bandit(上下文老虎机,最简的单步 RL 设定;定义见下方 §1 的”术语预备”);多轮交互、工具使用或 token 级信用分配则仍具有序列决策结构。另一方面,真实世界大量问题是部分可观测(POMDP),本讲为清晰起见做了简化。学这套 MDP 机器时,请同时记住它”在哪里成立、在哪里失效”。

1. 马尔可夫决策过程 MDP

强化学习研究的问题几乎都能形式化为马尔可夫决策过程(Markov Decision Process, MDP),一个五元组:

M=(S,  A,  P,  r,  γ).(2.1)\mathcal{M} = (\mathcal{S},\;\mathcal{A},\;P,\;r,\;\gamma). \tag{2.1}
元素含义说明
S\mathcal{S}状态空间 state space可离散或连续(如机器人关节角)。
A\mathcal{A}动作空间 action space离散(如上下左右)或连续(如力矩)。
P(s′∣s,a)P(s'\mid s,a)转移概率 transition又称动态 dynamics,通常未知。
r(s,a)r(s,a)奖励函数 reward标量反馈,定义任务目标。
γ∈(0,1]\gamma\in(0,1]折扣因子 discount权衡近期与远期回报,兼具数学与建模意义。

马尔可夫性质是 MDP 的灵魂:P(st+1∣st,at,…,s0,a0)=P(st+1∣st,at)P(s_{t+1}\mid s_t,a_t,\dots,s_0,a_0)=P(s_{t+1}\mid s_t,a_t)。它保证”当前状态是历史的充分统计量”,从而最优策略只需依赖当前状态(无需记忆整段历史),这是所有值函数递归成立的前提。

批判性追问:“最优策略只依赖当前状态”——这句总是对的吗?

它读起来像定理,其实是一个条件结论,缺了前提就不成立。

  • 它靠两条假设。 只有当(1)环境满足马尔可夫性、(2)智能体能观测到完整状态 ss 时,“只看当前状态”才够。两者缺一不可。
  • 反例:真实世界几乎都是部分可观测(POMDP)。 你拿到的是带噪、不完整的观测 oo,同一个 oo 可能对应完全不同的真实状态(走廊里两个一模一样的路口)。此时”只看当前观测”的策略必然次优,最优策略不得不依赖历史(见 §10 的信念状态)。
  • 藏着一处近乎循环的定义。 这句话之所以”成立”,一半是因为我们把”状态”定义成”历史的充分统计量”——于是它接近同义反复;真正的难点被转移到了”如何构造出一个满足马尔可夫性的状态表示”上。
  • 如何补救 / 是否仍开放。 用堆叠帧 / RNN / Transformer 近似信念状态可缓解,但”从原始观测学到马尔可夫状态”至今没有通用解(§10、模块 12)。所以这条”灵魂命题”更该读作:“一旦你能拿到真正的马尔可夫状态,最优策略才只依赖它。”

举例

“赢棋""别摔倒”本身都不是数字,但奖励函数的作用就是把它们压成一个标量 rr:下棋可设赢 +1+1、输 −1-1、和 00;学走路可设每稳稳迈出一步 +1+1、一摔倒就 −1-1 并结束。整个任务的”好坏”从此只由这一个数表达,智能体要最大化它的累计值。代价是——目标一旦被压成标量,设计不当就会被”钻空子”:比如只奖励”向前的速度”,机器人可能学会头朝前栽倒着扑,速度分照拿。这也是为什么”奖励怎么定”本身是一门大学问。

前沿实验室视角

把复杂目标压成一个标量 rr 看似只是权宜的简化,DeepMind 却把它抬成了关于智能本质的假说:Silver、Sutton 等在《Reward is Enough》(2021)中主张,仅靠最大化单一标量奖励,或许就足以在足够丰富的环境里催生出感知、语言乃至通用智能等各种能力。它至今有争议(真正的难点被推给了”奖励该怎么定”),但恰说明本讲这个不起眼的 rr 承载着多大的赌注(这条主线的展开见 模块 00 §7)。

术语预备:多臂老虎机 与 上下文老虎机(bandit)

下面会用到”bandit”这个词,先定义清楚——它是理解 MDP 的最佳参照系:

  • 多臂老虎机(Multi-armed bandit, MAB):最简单的 RL 雏形。没有状态(或只有一个固定状态),每一轮从 KK 个”臂(arm)“(即动作)中选一个,拉下去得到一个随机奖励,目标是多轮累计奖励最大。名字来自老虎机(“独臂强盗”)。关键特征:动作只影响当下奖励、不改变未来(无状态转移、无序列耦合)——于是它把 RL 的”探索 vs 利用”这单独一个难题拎出来研究:该多拉没试过的臂(探索),还是多拉当前最好的臂(利用)?(它本身也是实用模型:A/B 测试、推荐、临床试验、广告分配。详见 模块 10。)
  • 上下文老虎机(Contextual bandit):在 MAB 基础上,每轮先观察一个上下文 / 特征 xx(相当于”状态”),再选动作 aa,得到奖励 r(x,a)r(x,a);最优臂随上下文变化。但它仍是单步——动作不影响下一个上下文(上下文由环境 i.i.d. 给出),因此没有长期信用分配、没有动态。可理解为”监督学习 + 只对所选动作给评价式反馈 + 需要探索”。

据此,本讲那条包含链 SL ⊂\subset contextual bandit ⊂\subset RL 就是”逐层加难度”:SL(有标准答案、全反馈、单步)→ 加”只对所选动作给标量反馈 + 探索” → 上下文老虎机 → 再加”动作改变后续状态”的序列耦合 → 完整 RL。这也解释了为何单轮 RLHF/RLVR 更像上下文老虎机而非深度 MDP:prompt = 上下文,整段回答 = 一个”臂”,奖励 = RM/验证器打分,且这一步不改变”下一个 prompt”(呼应上方编者按与 模块 13)。

本质 Insight:监督学习是 MDP 的退化特例

MDP 是”做决策”的通用形式化语言,而我们熟悉的监督学习(supervised learning, SL)恰是它的退化特例:把时域压成单步、样本 i.i.d.、且每一步都有密集标签,MDP 就塌缩成 SL。沿这条谱系可以排出一条包含链 SL ⊂\subset contextual bandit ⊂\subset RL:SL 有标准答案且当前决策不影响未来;bandit 只有”选了才知道好坏”的标量反馈、但仍是单步且动作不改变状态;完整 RL 再叠加”动作改变后续状态分布”的序列耦合。理解这条链,就理解了本套资料每个算法在”反馈信息量 vs 问题一般性”这条轴上的位置。

部分可观测 POMDP

当智能体只能看到观测 oo 而非完整状态 ss(如只有摄像头图像),问题成为 POMDP。此时观测不满足马尔可夫性,需要用历史/循环网络/信念状态来近似恢复马尔可夫性。本资料默认 MDP,除非特别说明。

图 1:MDP 的时间展开。策略 \pi(a\mid s) 决定动作,动态 P(s'\mid s,a) 决定下一个状态;奖励 r(s,a) 在每步产生。

图 1:MDP 的时间展开。策略 π(a∣s)\pi(a\mid s) 决定动作,动态 P(s′∣s,a)P(s'\mid s,a) 决定下一个状态;奖励 r(s,a)r(s,a) 在每步产生。

2. 轨迹分布与 RL 目标

固定策略 πθ\pi_\theta 后,一次包含 TT 次决策的交互产生轨迹 τ=(s0,a0,s1,a1,…,sT−1,aT−1,sT)\tau=(s_0,a_0,s_1,a_1,\dots,s_{T-1},a_{T-1},s_T)。它出现的概率由初始分布、策略、动态相乘(用了马尔可夫性把联合分布因子化):

pθ(τ)=p(s0)⏟初始∏t=0T−1πθ(at∣st)⏟策略  P(st+1∣st,at)⏟动态.(2.2)p_\theta(\tau) = \underbrace{p(s_0)}_{\text{初始}}\prod_{t=0}^{T-1} \underbrace{\pi_\theta(a_t\mid s_t)}_{\text{策略}}\;\underbrace{P(s_{t+1}\mid s_t,a_t)}_{\text{动态}}. \tag{2.2}

推导:轨迹分布为什么能这样因子化?

关键假设

马尔可夫性(转移只依赖当前 s,as,a)+ 策略只依赖当前状态(at∼πθ(⋅∣st)a_t\sim\pi_\theta(\cdot\mid s_t))。

第 1 步(用:概率链式法则,无条件恒等展开)。 任意联合分布都可按时间顺序精确展开(尚未用任何假设):

p(τ)=p(s0) p(a0∣s0) p(s1∣s0,a0) p(a1∣s0,a0,s1)⋯(2.3)p(\tau)=p(s_0)\,p(a_0\mid s_0)\,p(s_1\mid s_0,a_0)\,p(a_1\mid s_0,a_0,s_1)\cdots \tag{2.3}

第 2 步(用:策略假设 + 马尔可夫性,逐项压缩条件)。 策略假设把动作项的条件缩到当前状态 p(at∣s0:t,a0:t−1)=πθ(at∣st)p(a_t\mid s_{0:t},a_{0:t-1})=\pi_\theta(a_t\mid s_t);马尔可夫假设把转移项的条件缩到当前 s,as,a 得 p(st+1∣s0:t,a0:t)=P(st+1∣st,at)p(s_{t+1}\mid s_{0:t},a_{0:t})=P(s_{t+1}\mid s_t,a_t)。

第 3 步。 逐项替换即得连乘式。局限: 若非马尔可夫(POMDP)或策略依赖历史,则此因子化不成立,需要保留历史条件。

为什么这样 · 能不能不这样

为什么策略与值函数都只以”当前状态 sts_t“为输入,把整段历史丢掉? 靠的正是马尔可夫性:sts_t 已是历史的充分统计量,未来只由它决定(式(2.2) 的因子化就用了这一点)。这带来两个决定性好处:其一,输入维度固定、不随时间增长,同一个 πθ(a∣s)\pi_\theta(a\mid s) / V(s)V(s) 能在所有时刻复用;其二,回报的递归(贝尔曼方程,式(2.12)/(2.13))得以闭合——“从现在起”只需接上”从下一状态起”,不必回溯来路。

能不能索性把全历史 s0:t,a0:t−1s_{0:t},a_{0:t-1} 都喂进去? 原则上可以(历史一定充分),并且把历史视为扩展状态后,值函数与贝尔曼递归在数学上仍然成立。但代价惨重:输入长度随 tt 增长、可能的历史条数迅速膨胀,状态空间、计算与样本复杂度都显著增加,学习和泛化更加困难。真正需要历史的情形(部分可观测,见 §10)通常会把它压成一个紧凑的充分统计量(信念状态、RNN/Transformer 隐状态),以便复用表示与计算。

RL 的目标是找到使期望累计(折扣)奖励最大的策略参数:

  J(θ)=Eτ∼pθ(τ)[∑t=0T−1γt r(st,at)]  θ⋆=arg⁡max⁡θJ(θ).(2.4)\boxed{\;J(\theta) = \mathbb{E}_{\tau\sim p_\theta(\tau)}\Big[\textstyle\sum_{t=0}^{T-1}\gamma^t\, r(s_t,a_t)\Big]\;} \qquad \theta^\star=\arg\max_\theta J(\theta). \tag{2.4}

本质 Insight:为什么是”期望”?

环境动态 PP 与策略 πθ\pi_\theta 都是随机的,同一策略每次 rollout 得到的回报不同。我们不能优化”某一次”的运气,只能优化平均表现,所以目标是对轨迹分布求期望 Eτ∼pθ\mathbb{E}_{\tau\sim p_\theta}。这也解释了后续所有算法的核心难点:JJ 是一个期望,而期望里的分布 pθp_\theta 又依赖 θ\theta——如何对”分布依赖参数的期望”求梯度,正是模块 03 策略梯度要解决的。

3. 有限/无限时域与平稳分布

目标的具体形式取决于任务是有限时域还是无限时域。

3.1 有限时域(finite horizon)

共 TT 步(episodic,如一局游戏)。目标可写成对每步状态-动作边缘分布 pθ(st,at)p_\theta(s_t,a_t) 求和:

J(θ)=∑t=0T−1E(st,at)∼pθ(st,at)[γtr(st,at)].(2.5)J(\theta)=\sum_{t=0}^{T-1}\mathbb{E}_{(s_t,a_t)\sim p_\theta(s_t,a_t)}\big[\gamma^t r(s_t,a_t)\big]. \tag{2.5}

形象理解:有限时域 = 有截止日期;无限时域 = 永不停机

有限时域(有 T 步、有终局):一局棋、一场考试、一次 200 步的机器人 episode、一段有限轮的对话。关键特征——最优策略可能取决于”还剩几步”(时变 / 非平稳):临近终局会改变打法。例:篮球比赛最后 10 秒的战术 ≠ 第一节;考试最后 5 分钟”先抢做会做的”;棋类的”残局”下法与开局不同。

无限时域(持续运行、无自然终止):恒温器、服务器调度、一直走下去的机器人。关键特征——配上折扣后,最优策略只依赖当前状态、与”现在几点”无关(平稳 / 时不变)。为什么?因为从任何时刻往后看,(折扣)未来都”长得一样”(相同的有效视野 1/(1−γ)),每一步面对的决策问题完全相同 → 每个状态的最优动作也相同。例:恒温器的最优规则只看”当前温度”,不看钟表几点。

图(时域):有限时域像"有截止日期"的任务——临近终点会改变最优打法,故最优策略与时间有关;无限时域 + 折扣像"永不停机"——从任何时刻往后看都相同,故最优策略只依赖当前状态(平稳、时不变)。这就是为什么无限时域下我们只需学一个"状态 → 动作"的固定策略。

图 2:图(时域):有限时域像”有截止日期”的任务——临近终点会改变最优打法,故最优策略与时间有关;无限时域 + 折扣像”永不停机”——从任何时刻往后看都相同,故最优策略只依赖当前状态(平稳、时不变)。这就是为什么无限时域下我们只需学一个”状态 → 动作”的固定策略。

3.2 无限时域(infinite horizon)与平稳分布

当 T→∞T\to\infty(持续控制任务),若有限马尔可夫链在策略 πθ\pi_\theta 下不可约,则存在唯一平稳分布(stationary distribution);再加非周期性,状态-动作边缘才从任意初始分布逐时收敛到它 [1]。平稳分布 dπ(s,a)d^\pi(s,a) 满足不动点方程 dπ=Tdπd^\pi=\mathcal{T}d^\pi(T\mathcal{T} 为状态转移算子)。在相应遍历条件下,时间平均回报可写成对平稳分布的期望:

Javg(π):=lim⁡T→∞1T Eπ ⁣[∑t=0T−1rt]=E(s,a)∼dπ[r(s,a)](遍历且奖励有界).(2.6)J_{\mathrm{avg}}(\pi):=\lim_{T\to\infty}\frac1T\,\mathbb E_\pi\!\left[\sum_{t=0}^{T-1}r_t\right] =\mathbb{E}_{(s,a)\sim d^\pi}\big[r(s,a)\big]\quad(\text{遍历且奖励有界}). \tag{2.6}

注意这不是把式(2.4)的未归一化折扣和直接令 T→∞T\to\infty;折扣目标应写成对折扣占用度 dγπd^\pi_\gamma 的期望:(1−γ)Jγ=Edγπ[r](1-\gamma)J_\gamma=\mathbb E_{d^\pi_\gamma}[r]。平稳占用度与折扣占用度只有在相应极限与正则条件下才接上。

无限时域下,γ<1\gamma<1 是保证折扣回报收敛(有界) 的关键:∑t=0∞γtrmax⁡=rmax⁡1−γ<∞\sum_{t=0}^\infty \gamma^t r_{\max}=\frac{r_{\max}}{1-\gamma}<\infty。

本质 Insight:折扣因子 γ 到底是什么?

γ\gamma 有三重身份:(1) 数学上保证无限和收敛;(2) 建模上表达”未来不确定/更倾向近期回报”,等价于每步有 1−γ1-\gamma 概率”游戏结束”的几何时域;(3) 算法上是一个方差-偏差旋钮——γ\gamma 越小,有效时域 11−γ\frac{1}{1-\gamma} 越短,梯度方差越小但越”短视”(有偏)。第三点会在模块 04 详述。

举例

把 γ\gamma 想成”能看多远”。取 γ=0.9\gamma=0.9:1010 步后的奖励只剩 0.910≈0.350.9^{10}\approx0.35 的分量、2020 步后仅 0.920≈0.120.9^{20}\approx0.12——差不多只”看得清”眼前十来步,像个只盯这周 KPI 的人。取 γ=0.99\gamma=0.99:100100 步后仍保留 0.99100≈0.370.99^{100}\approx0.37,视野一下拉长到上百步,像会为半年后打算的人。有效视野 11−γ\frac{1}{1-\gamma} 正好给出这个尺度:γ=0.9⇒10\gamma=0.9\Rightarrow 10 步、γ=0.99⇒100\gamma=0.99\Rightarrow 100 步。所以调大 γ\gamma 就是”逼智能体多想几步以后”。

3.3 折扣回报 vs 平均回报:两种”无限时域目标”

无限时域下”总回报”发散(∑t=0∞r\sum_{t=0}^\infty r 可能是 ∞\infty),必须换一种方式定义”好”。主流有两种,它们并非对立而是同一件事的两种刻画:

  • 折扣回报(discounted return):Jγ(θ)=E[∑t=0∞γtrt]J_\gamma(\theta)=\mathbb{E}\big[\sum_{t=0}^\infty \gamma^t r_t\big]。用 γ<1\gamma<1 强制收敛,隐含”重近轻远”,是深度 RL 的默认选择(TD/GAE 都建立其上)。
  • 平均回报(average reward):Javg(θ)=lim⁡T→∞1TE[∑t=0T−1rt]=E(s,a)∼dπ[r(s,a)]J_{\text{avg}}(\theta)=\lim_{T\to\infty}\frac1T\mathbb{E}\big[\sum_{t=0}^{T-1} r_t\big]=\mathbb{E}_{(s,a)\sim d^\pi}[r(s,a)]。不打折扣、平等对待每一步,更适合”持续运转、无自然终止”的任务(如恒温控制、排队系统)。

两者的桥梁是一个 Abel/Blackwell 型极限:对有界奖励,并在遍历/unichain 等保证长期平均良定义的条件下,当 γ→1−\gamma\to 1^- 时,(1−γ)Jγ→Javg(1-\gamma)J_\gamma\to J_{\text{avg}}。所以折扣目标在这些条件下、经 (1−γ)(1-\gamma) 归一化后才趋近平均回报;有限 γ\gamma 的最优策略仍可能与平均回报最优策略不同。

批判性追问:把 γ<1\gamma<1 当成”让求和收敛的无害技巧”,对吗?

不对——它悄悄换掉了你要解的问题,是 RL 里一处安静却根本的近似。

  • 不严谨在哪:优化的 ≠ 在意的。 我们通常真正在意总回报 / 平均回报(γ→1\gamma\to1),却因为收敛好、方差小而去优化一个 γ<1\gamma<1 的折扣代理目标。这不只是数值近似,而是目标本身被改写。
  • 反例(一算就见)。 “现在拿 +1+1,或等 HH 步后拿 +2+2“。未折扣总回报下应当等待(2>12>1);但 γ<1\gamma<1 时只要 γH⋅2<1\gamma^H\cdot 2<1,即 H>log⁡2/log⁡(1/γ)H>\log 2/\log(1/\gamma),折扣目标就选”现在拿 +1+1“。取 γ=0.9\gamma=0.9 得 H> ⁣≈ ⁣6.6H>\!\approx\!6.6——超过约 77 步的延迟满足就被系统性放弃:折扣最优 ≠ 未折扣总回报最优,γ\gamma 一变最优策略就变。
  • 靠什么假设才”无害”。 只有当有效视野 11−γ\tfrac{1}{1-\gamma} 远长于任务真实的信用跨度时,这个缺口才可忽略;而长时程 / 稀疏奖励任务恰恰不满足。
  • 如何补救 / 是否仍开放。 平均回报 RL、Blackwell 最优、以及”γ\gamma 退火”都在缩小缺口,但”该用哪个 γ\gamma、代价是什么”仍是问题设定而非纯超参(与下文洞察三”γ\gamma 是问题设定的一部分”互为印证)。

3.4 平稳分布 dᵖ:无限时域的”访问频率”

平稳分布 dπ(s)d^\pi(s) 回答”长期来看,策略 π\pi 有多大比例时间待在状态 ss“。它是状态转移算子的不动点:

dπ(s′)=∑s∑adπ(s) π(a∣s) P(s′∣s,a).(2.7)d^\pi(s') = \sum_{s}\sum_{a} d^\pi(s)\,\pi(a\mid s)\,P(s'\mid s,a). \tag{2.7}

直觉:把”流入 s′s' 的概率流”加起来,若与”流出”平衡(dπd^\pi 不再变化),系统就到达了平稳分布。在折扣设定里对应的是折扣状态占用度(discounted state occupancy) dγπ(s)=(1−γ)∑t=0∞γt Pr⁡(st=s)d^\pi_\gamma(s)=(1-\gamma)\sum_{t=0}^\infty\gamma^t\,\Pr(s_t=s),前面的 (1−γ)(1-\gamma) 是归一化常数(使其为概率分布)。

形象理解:平稳分布 = “长期访问频率”,且与起点无关

  • 扫地机器人(Roomba):用一套固定策略在房子里逛,时间一长,它待在各房间的时间占比会稳定下来(比如客厅 40%、厨房 15%、卧室 20%…)——而且无论从哪个房间出发,最终占比都一样。这个稳定占比就是平稳分布 dᵖ。
  • 随机上网者(PageRank 的由来):一个不停随机点链接的浏览者,长期停留在每个网页的概率,正是网页跳转图的平稳分布——这就是 PageRank。
  • 天气链:晴/雨按固定概率互相转移,长期看”晴天占比”收敛到一个定值,就是它的平稳分布。

换句话说:dᵖ 不是某一时刻在哪,而是”长期平均下来,多大比例时间在各状态”;系统跑久了会”忘记”从哪出发,稳定到同一个分布。

下面这个 3 状态马尔可夫链(固定策略),转移矩阵为(行 = 从,列 = 到):

P(→)ABC
A0.100.600.30
B0.500.200.30
C0.250.250.50

静态示意:无论从哪出发,分布都收敛到同一个平稳分布

下图概括状态分布 dtd_t 随时间趋近平稳分布 dπd^\pi 的过程。由于该转移矩阵对应的链不可约且非周期,不同初始分布都会收敛到同一个 dπd^\pi。

强化学习基础 示意图 3

以从 A 出发为例,d0=(1,0,0)d_0=(1,0,0),一步后 d1=(0.100,0.600,0.300)d_1=(0.100,0.600,0.300),两步后 d2=(0.385,0.255,0.360)d_2=(0.385,0.255,0.360),五步后 d5=(0.285,0.341,0.375)d_5=(0.285,0.341,0.375),最终趋近 dπ≈(0.290,0.335,0.375)d^\pi\approx(0.290,0.335,0.375)。从 B 或 C 出发也趋近同一分布。

本质 Insight:为什么后面处处出现 dπd^\pi?

RL 目标可以写成对占用度的期望 J=Es∼dπ, a∼π[r]J=\mathbb{E}_{s\sim d^\pi,\,a\sim\pi}[r]——策略通过它诱导的状态访问分布 dπd^\pi 来影响回报。这解释了两件贯穿全书的事:其一,未经分布校正的朴素策略梯度估计需要 on-policy 数据;off-policy 数据可通过重要性采样等方法校正,但往往带来高方差;其二,分布漂移(模块 01)本质就是训练分布 ≠ dπd^\pi。dπd^\pi 是连接”策略”与”回报”的隐形枢纽。

3.5 更深洞察:折扣、占用度与”分布”这条暗线

前面把定义讲清了。下面几条是更高层、也更容易被忽略的洞察——它们把”折扣 / 时域 / 平稳分布”串成一条贯穿全书的暗线。

洞察一:折扣 = 重启(最漂亮的统一)

折扣状态占用度 dγπd^\pi_\gamma 看似是个技术定义,其实有个惊艳的等价:它恰好是”另一条马尔可夫链”的平稳分布——这条链每走一步,以概率 γ\gamma 正常转移、以概率 1−γ1-\gamma 随机重启回初始分布 ρ0\rho_0。于是:

“带折扣 γ\gamma 的无限时域 RL” ≡ “在一条会以 1−γ1-\gamma 概率重启的增广链上做平均回报 RL”。

为什么等价(一步验证)。 在重启链上,“从 t=0t=0 起连续存活 tt 步且不重启”的概率恰是 γt\gamma^t(每步独立以 γ\gamma 存活)。于是重启链的长期访问频率 = 各时刻存活概率的加权叠加 ∝∑t=0∞γtPr⁡(st=s)\propto\sum_{t=0}^\infty\gamma^t\Pr(s_t=s),归一化后正是折扣占用度 dγπ(s)=(1−γ)∑t=0∞γtPr⁡(st=s)d^\pi_\gamma(s)=(1-\gamma)\sum_{t=0}^\infty\gamma^t\Pr(s_t=s)(式(2.7) 里那条平稳性方程换成这条增广链即成立)——归一化常数 (1−γ)(1-\gamma) 恰好是”几何存活时间的期望 11−γ\tfrac{1}{1-\gamma}“的倒数。这就把”折扣权重 γt\gamma^t“与”某条链的平稳分布”对上了号。

这一下把三件事统一了:γ<1\gamma<1 的”重近轻远”、“每步 1−γ1-\gamma 概率终止的几何时域”、以及”占用度是某条链的平稳分布”——它们是同一件事的三种说法。折扣不神秘,它就是”随机重启”。

图(折扣=重启):把折扣 RL 看成一条"以 (1−γ) 概率随机跳回起点"的链——它的平稳分布正是折扣占用度 d^\pi_\gamma。所以"折扣""几何随机终止""某条链的平稳分布"是同一件事的三种说法。

图 4:图(折扣=重启):把折扣 RL 看成一条”以 (1−γ) 概率随机跳回起点”的链——它的平稳分布正是折扣占用度 dγπd^\pi_\gamma。所以”折扣""几何随机终止""某条链的平稳分布”是同一件事的三种说法。

算例:两状态链上手算 dγπd^\pi_\gamma,并用”重启链”验证(点开)

设定

两个状态 s0s_0(起点)、s1s_1,初始分布 ρ0\rho_0 全在 s0s_0。固定策略诱导的动态:s0s_0 必然走到 s1s_1、s1s_1 必然停在 s1s_1。于是轨迹恒为 s0,s1,s1,s1,…s_0,s_1,s_1,s_1,\dots——最简单也最能看清”折扣=重启”的例子。

(a) 直接按定义叠加 γt\gamma^t。 折扣占用度的定义是 dγπ(s)=(1−γ)∑t≥0γtPr⁡(st=s)d^\pi_\gamma(s)=(1-\gamma)\sum_{t\ge0}\gamma^t\Pr(s_t=s)。本链里各时刻状态是确定的:s0s_0 只在 t=0t=0 出现,s1s_1 在所有 t≥1t\ge1 出现。列个小表把每一时刻的访问概率与折扣权重摆开:

tt00112233⋯\cdots
Pr⁡(st=s0)\Pr(s_t=s_0)11000000⋯\cdots
Pr⁡(st=s1)\Pr(s_t=s_1)00111111⋯\cdots
权重 γt\gamma^t11γ\gammaγ2\gamma^2γ3\gamma^3⋯\cdots

按定义分别求和:

dγπ(s0)=(1−γ)⋅γ0=1−γ,d^\pi_\gamma(s_0)=(1-\gamma)\cdot\gamma^0=1-\gamma, dγπ(s1)=(1−γ)∑t≥1γt=(1−γ)⋅γ1−γ=γ.d^\pi_\gamma(s_1)=(1-\gamma)\sum_{t\ge1}\gamma^t=(1-\gamma)\cdot\frac{\gamma}{1-\gamma}=\gamma.

这里用了几何级数 ∑t≥1γt=γ+γ2+γ3+⋯=γ1−γ\sum_{t\ge1}\gamma^t=\gamma+\gamma^2+\gamma^3+\cdots=\frac{\gamma}{1-\gamma}。再验证归一化 dγπ(s0)+dγπ(s1)=(1−γ)+γ=1d^\pi_\gamma(s_0)+d^\pi_\gamma(s_1)=(1-\gamma)+\gamma=1——确实是一个概率分布。

(b) 用”重启链”的平稳分布验证(呼应洞察一)。 按洞察一,把折扣改写成一条增广链:每步以 γ\gamma 概率照原动态走、以 1−γ1-\gamma 概率重启回起点 s0s_0。写出这条增广链的转移矩阵(行 = 从,列 = 到):

增广 P(→)P(\to)s0s_0s1s_1
s0s_01−γ1-\gammaγ\gamma
s1s_11−γ1-\gammaγ\gamma

从 s0s_0:以 1−γ1-\gamma 重启回 s0s_0、以 γ\gamma 继续到 s1s_1,得行 [ 1−γ, γ ][\,1-\gamma,\ \gamma\,];从 s1s_1:以 1−γ1-\gamma 重启回 s0s_0、以 γ\gamma 继续留 s1s_1,同样得行 [ 1−γ, γ ][\,1-\gamma,\ \gamma\,]。两行完全相同,意味着不管当前在哪,下一步的分布都是 [ 1−γ, γ ][\,1-\gamma,\ \gamma\,]——这本身就是平稳分布。核验一下不动点 d=dPd=dP:令 d=[ 1−γ, γ ]d=[\,1-\gamma,\ \gamma\,],则流入 s0s_0 的概率为 (1−γ)(1−γ)+γ(1−γ)=1−γ(1-\gamma)(1-\gamma)+\gamma(1-\gamma)=1-\gamma、流入 s1s_1 的为 (1−γ)γ+γ⋅γ=γ(1-\gamma)\gamma+\gamma\cdot\gamma=\gamma,正是 dd 自身。于是重启链的平稳分布 =[ 1−γ, γ ]=[\,1-\gamma,\ \gamma\,],与 (a) 逐项一致。

(c) 代入具体数字。 取 γ=0.9\gamma=0.9,得 dγπ=(0.1, 0.9)d^\pi_\gamma=(0.1,\ 0.9):长期看,只有约 10%10\% 的(折扣)时间待在起点 s0s_0、90%90\% 在 s1s_1。直觉上,有效视野 11−γ=10\tfrac{1}{1-\gamma}=10 步,而起点只在 t=0t=0 被”折扣地”访问约一次,占比恰为 1−γ=0.11-\gamma=0.1;其余视野都消耗在了 s1s_1 上。

结语。 两条路径——(a) 按定义把 γt\gamma^t 叠加、(b) 在重启链上求平稳分布——落到同一个 dγπ=(1−γ, γ)d^\pi_\gamma=(1-\gamma,\ \gamma)。这就把洞察一那句”折扣 = 重启”从抽象等价,落到了可以拿笔手算、逐位对齐的具体数字上。

洞察二:为什么策略梯度”不用穿过 dπd^\pi 求导”?

目标 J=Es∼dπ[… ]J=\mathbb{E}_{s\sim d^\pi}[\dots] 里,dπd^\pi 也依赖 θ\theta——直觉上求 ∇θJ\nabla_\theta J 得对 dπd^\pi 求导,可那要”穿过环境动态”,我们并不知道 PP。策略梯度定理最终给出 ∇θJ=Es∼dπ,a∼π[∇θlog⁡π⋅Qπ]\nabla_\theta J=\mathbb{E}_{s\sim d^\pi,a\sim\pi}[\nabla_\theta\log\pi\cdot Q^\pi],不必显式对状态分布求导。直接用当前策略采样即可得到朴素估计;若复用 off-policy 数据,则需重要性采样或其他分布校正,并承担相应的方差与偏差权衡。(完整推导见 模块 03。)

洞察三:γ 是”问题设定”的一部分,不只是超参

改变 γ\gamma 会改变最优策略本身:γ\gamma 小则短视,可能宁要眼前小利、放弃远期大利。所以用不同 γ\gamma 的两个人,其实在解不同的问题。更尖锐的是:我们真正在意的往往是总回报 / 平均回报(γ→1\gamma\to1),却实际优化一个 γ<1\gamma<1 的代理目标——只因为它收敛好、方差小。这个”在意的目标 ≠ 优化的目标”的缺口,是 RL 里一处安静但根本的近似(γ\gamma 越接近 1 缺口越小,但方差与难度上升)。

洞察四(前提与局限):平稳分布需要”遍历性”

对有限马尔可夫链,不可约足以保证唯一平稳分布;再加非周期性,才保证从任意初始分布逐时收敛 [1]。带终止/吸收态的 episodic 链仍可有平稳分布(例如质量集中在吸收态),但可能不唯一,且通常不表达我们关心的幕内访问频率。工程上常给它加上”到终止就重启”,用**(折扣)占用度**统一表述。

洞察五:dπd^\pi 是”分布问题”的统一透镜

RL 里几乎所有”稳定性 / 正确性”的麻烦,都可以翻译成同一句话:我们评估或训练所用的分布,是不是策略真正的 dπd^\pi? —— 致命三要素(off-policy 在错的分布上自举,模块 05)、离线 RL(数据分布 ≠ dπd^\pi,模块 09)、重要性采样(显式纠正分布,模块 03/06)、分布漂移(模块 01)——本质都是”dπd^\pi 对不上”。记住这条透镜,半部课的难点都能一眼归位。

洞察六:有效视野 11−γ\tfrac{1}{1-\gamma} 是”难度旋钮”

γ\gamma 决定有效视野 Heff=11−γH_{\text{eff}}=\tfrac{1}{1-\gamma}(γ=0.99⇒100\gamma=0.99\Rightarrow100 步)。它不只是”看多远”,更出现在误差放大与样本复杂度界里:值误差常按 11−γ\tfrac{1}{1-\gamma} 甚至 1(1−γ)2\tfrac{1}{(1-\gamma)^2} 放大,γ→1\gamma\to1 时问题迅速变难。这正是”长时程信用分配”困难的量化根源,也是为何多轮 agent(长 HeffH_{\text{eff}})比单轮难得多(理论细节见 模块 11,agent 语境见 模块 13)。

3.6 深化拓展:有效视野 11−γ\tfrac{1}{1-\gamma} 如何放大误差(定量)

洞察六说”值误差常按 11−γ\tfrac{1}{1-\gamma}、甚至 1(1−γ)2\tfrac{1}{(1-\gamma)^2} 放大”。这里把它量化,让”γ→1\gamma\to1 迅速变难”有具体的数字面孔。两条经典事实:

  • 值估计误差按 11−γ\tfrac{1}{1-\gamma} 放大。 若每步的贝尔曼 / 自举误差有界为 δ\delta,它会被折扣链向后传播约 11−γ\tfrac{1}{1-\gamma} 步,于是值函数的稳态误差量级约 δ1−γ\tfrac{\delta}{1-\gamma}。
  • 策略次优性按 11−γ\tfrac{1}{1-\gamma} 放大。 经典的贪心策略误差界:若 ∥V−V⋆∥∞≤ϵ\|V-V^\star\|_\infty\le\epsilon,据其贪心得到的策略满足 ∥Vπ−V⋆∥∞≤2γϵ1−γ\|V^{\pi}-V^\star\|_\infty\le\tfrac{2\gamma\epsilon}{1-\gamma} [2]。平方分母通常对应先由贝尔曼残差推到值误差、再推到策略损失的口径。

代入几个 γ\gamma 感受增速(取误差单位 δ=ϵ=1\delta=\epsilon=1;末列收敛轮数用 §6 的 O(11−γlog⁡1ϵ)O(\tfrac{1}{1-\gamma}\log\tfrac1\epsilon)):

γ\gamma有效视野 11−γ\tfrac{1}{1-\gamma}值误差放大 11−γ\tfrac{1}{1-\gamma}给定值误差时的策略损失量级 11−γ\tfrac{1}{1-\gamma}值迭代收敛轮数 ∝11−γ\propto\tfrac{1}{1-\gamma}
0.90.9101010101010∼10\sim 10
0.990.99100100100100100100∼100\sim 100
0.9990.999100010001000100010001000∼1000\sim 1000

γ\gamma 从 0.90.9 走到 0.9990.999,1−γ1-\gamma 缩小 100100 倍:在这里采用的误差口径下,值误差与策略损失界都随之增大约 100100 倍,值迭代收敛轮数也增约 100100 倍。这说明长视野会放大估计误差与计算难度;具体阶数仍取决于使用的是值误差、贝尔曼残差还是其他误差口径。

4. 值函数 V、Q 与优势 A

直接优化 JJ 需要对整条轨迹求期望,方差大。值函数把”从某状态/状态-动作出发的期望未来回报”缓存下来,是几乎所有高效算法的核心工具。

为什么这样 · 能不能不这样

为什么把”值函数”选作核心中间量? 一句话:JJ 是对整条轨迹的高方差总分,难归因、难复用;值函数把”从某状态起的期望回报”缓存成函数,靠贝尔曼递归(式(2.12)/(2.13))把长求和压成一步自洽,信用落到单步、经验跨状态共享——这是”省样本”算法的公共支点。

那能不能干脆不要它? 能,而且两条”绕开值函数”的路线都真实存在:(1) 只用策略(纯策略梯度 / REINFORCE,甚至无梯度 ES)直接拿采样回报更新策略,实现简单,但通常方差较高;(2) 只用模型(基于模型 RL)改去学动态 PP 再规划,在模型准确、规划有效的任务上可能更省真实交互,但模型偏差会沿 rollout 累积。值函数是两者之间的折中枢纽;具体取舍依任务、数据复用方式、模型误差与计算预算而变。

状态值函数(state-value):从状态 ss 出发、之后遵循 π\pi 的期望回报。

Vπ(s)=Eπ[∑t′=tT−1γt′−tr(st′,at′)  ∣  st=s].(2.8)V^\pi(s)=\mathbb{E}_{\pi}\Big[\textstyle\sum_{t'=t}^{T-1}\gamma^{t'-t} r(s_{t'},a_{t'})\;\Big|\; s_t=s\Big]. \tag{2.8}

动作值函数(action-value / Q 函数):在 ss 先执行 aa(不管策略),之后遵循 π\pi。

Qπ(s,a)=Eπ[∑t′=tT−1γt′−tr(st′,at′)  ∣  st=s,at=a].(2.9)Q^\pi(s,a)=\mathbb{E}_{\pi}\Big[\textstyle\sum_{t'=t}^{T-1}\gamma^{t'-t} r(s_{t'},a_{t'})\;\Big|\; s_t=s,a_t=a\Big]. \tag{2.9}

优势函数(advantage):动作 aa 相对”平均”好多少。

Aπ(s,a)=Qπ(s,a)−Vπ(s).(2.10)A^\pi(s,a)=Q^\pi(s,a)-V^\pi(s). \tag{2.10}

三者关系(都可从定义直接得到):

Vπ(s)=Ea∼π(⋅∣s)[Qπ(s,a)],Ea∼π[Aπ(s,a)]=0.(2.11)V^\pi(s)=\mathbb{E}_{a\sim\pi(\cdot\mid s)}\big[Q^\pi(s,a)\big],\qquad \mathbb{E}_{a\sim\pi}\big[A^\pi(s,a)\big]=0. \tag{2.11}

本质 Insight:为什么优势函数如此重要?

Qπ(s,a)Q^\pi(s,a) 的绝对值里混入了”这个状态本身好不好”(Vπ(s)V^\pi(s))这一与动作无关的部分。要决定”该不该多做动作 aa“,我们真正关心的是它相对于平均的好坏,即 AπA^\pi。用 AπA^\pi 代替 QπQ^\pi 能扣掉 VπV^\pi 这个”公共基线”,大幅降低方差而不引入偏差——这正是模块 03 baseline 与模块 04 actor-critic 的理论支点。

举例

某个中局局面本身就不错,平均下来价值 Vπ(s)=+0.6V^\pi(s)=+0.6(约六成胜率的味道)。此时你算出两手棋:走马 Qπ(s,马)=+0.8Q^\pi(s,\text{马})=+0.8、走车 Qπ(s,车)=+0.5Q^\pi(s,\text{车})=+0.5。优势就是”这一步比该局面平均好多少”:A(马)=0.8−0.6=+0.2A(\text{马})=0.8-0.6=+0.2(确实更好),A(车)=0.5−0.6=−0.1A(\text{车})=0.5-0.6=-0.1(反而拖了后腿)。注意两手棋的 QQ 都是正数——光看 QQ 会误以为”走车”也不赖,只有扣掉局面本身的 0.60.6 才看清它其实低于平均。这正是我们用 AA(而非 QQ)来决定”该多下哪一步”的原因。

5. 贝尔曼期望方程

值函数的威力来自它的递归结构——“从现在起的回报 = 这一步的奖励 + 折扣后从下一步起的回报”。这就是贝尔曼期望方程(Bellman expectation equation)。

Vπ(s)=Ea∼π(⋅∣s)[r(s,a)+γ Es′∼P(⋅∣s,a)[Vπ(s′)]].(2.12)V^\pi(s)=\mathbb{E}_{a\sim\pi(\cdot\mid s)}\Big[r(s,a)+\gamma\,\mathbb{E}_{s'\sim P(\cdot\mid s,a)}\big[V^\pi(s')\big]\Big]. \tag{2.12} Qπ(s,a)=r(s,a)+γ Es′∼P(⋅∣s,a)[ Ea′∼π(⋅∣s′)[Qπ(s′,a′)] ].(2.13)Q^\pi(s,a)=r(s,a)+\gamma\,\mathbb{E}_{s'\sim P(\cdot\mid s,a)}\big[\,\mathbb{E}_{a'\sim\pi(\cdot\mid s')}[Q^\pi(s',a')]\,\big]. \tag{2.13}

推导:贝尔曼期望方程(逐步,从定义到递归)

关键假设

马尔可夫性(未来只依赖当前 s,as,a);期望的线性;折扣几何求和可拆首项;全期望公式 E[X]=EY[E[X∣Y]]\mathbb{E}[X]=\mathbb{E}_Y[\mathbb{E}[X\mid Y]]。

第 1 步(用:QπQ^\pi 的定义,式(2.9))。 令 Gt=∑t′=tT−1γt′−tr(st′,at′)G_t=\sum_{t'=t}^{T-1}\gamma^{t'-t}r(s_{t'},a_{t'}) 为从 tt 起的回报,并约定终止状态的 GT=0G_T=0。则由定义 Qπ(s,a)=Eπ[Gt∣st=s,at=a]Q^\pi(s,a)=\mathbb{E}_\pi[G_t\mid s_t=s,a_t=a]。

第 2 步(用:折扣几何结构,把首项从求和中提出)。 把 t′=tt'=t 这一项单独拿出、其余项提一个公因子 γ\gamma(因 γt′−t=γ⋅γt′−(t+1)\gamma^{t'-t}=\gamma\cdot\gamma^{t'-(t+1)}):

Gt=r(st,at)+γ∑t′=t+1T−1γt′−(t+1)r(st′,at′)=r(st,at)+γ Gt+1.(2.14)G_t = r(s_t,a_t) + \gamma\sum_{t'=t+1}^{T-1}\gamma^{t'-(t+1)}r(s_{t'},a_{t'}) = r(s_t,a_t)+\gamma\,G_{t+1}. \tag{2.14}

第 3 步(用:条件期望的线性 + r(s,a)r(s,a) 在给定 s,as,a 下为确定量)。

Qπ(s,a)=r(s,a)+γ Eπ[Gt+1∣st=s,at=a].(2.15)Q^\pi(s,a)=r(s,a)+\gamma\,\mathbb{E}_\pi[G_{t+1}\mid s_t=s,a_t=a]. \tag{2.15}

第 4 步(用:全期望公式分两层 + 马尔可夫性收缩条件)。 未来回报 Gt+1G_{t+1} 只依赖 st+1s_{t+1}(及其后的策略动作),与”如何到达 st+1s_{t+1}“无关。用全期望公式先对 s′∼P(⋅∣s,a)s'\sim P(\cdot\mid s,a) 求外层期望、再对 a′∼π(⋅∣s′)a'\sim\pi(\cdot\mid s') 求内层期望,末端用第 1 步的定义把内层认成 Qπ(s′,a′)Q^\pi(s',a'):

Eπ[Gt+1∣s,a]=Es′∼P[Ea′∼π[Gt+1∣st+1=s′,at+1=a′]]=Es′[Ea′[Qπ(s′,a′)]].(2.16)\mathbb{E}_\pi[G_{t+1}\mid s,a]=\mathbb{E}_{s'\sim P}\big[\mathbb{E}_{a'\sim\pi}[G_{t+1}\mid s_{t+1}=s',a_{t+1}=a']\big]=\mathbb{E}_{s'}\big[\mathbb{E}_{a'}[Q^\pi(s',a')]\big]. \tag{2.16}

第 5 步(用:代回合并)。 把式(2.16) 代回式(2.15) 即得 QπQ^\pi 的贝尔曼方程(式(2.13));再对 a∼πa\sim\pi 求一层期望并用 Vπ(s)=Ea[Qπ(s,a)]V^\pi(s)=\mathbb{E}_{a}[Q^\pi(s,a)](式(2.11))得 VπV^\pi 的版本(式(2.12))。

局限: 推导核心依赖马尔可夫性(第 4 步 式(2.16))。非马尔可夫时 Gt+1G_{t+1} 会依赖更早历史,方程不闭合。此外,这是期望方程(评估给定 π\pi);把 Ea′\mathbb{E}_{a'} 换成 max⁡a′\max_{a'} 就得到贝尔曼最优方程(模块 05)。

推导:Vπ↔QπV^\pi\leftrightarrow Q^\pi 互推(全期望公式的两次使用)

关键工具

全期望公式(law of total expectation / 塔性质):E[X]=EY[E[X∣Y]]\mathbb{E}[X]=\mathbb{E}_Y\big[\mathbb{E}[X\mid Y]\big]。它让我们”先固定一层随机变量、求内层期望,再对外层求期望”,是所有值函数关系的公共引擎。

① 由 QQ 得 VV(用:全期望公式,以第一步动作 aa 为条件层)。 Vπ(s)V^\pi(s) 是”从 ss 出发遵循 π\pi 的回报期望”。全期望公式让我们先固定 aa 求内层期望(恰是 Qπ(s,a)Q^\pi(s,a) 的定义,式(2.9)),再对 a∼π(⋅∣s)a\sim\pi(\cdot\mid s) 求外层期望:

Vπ(s)=Ea∼π(⋅∣s)[ Eπ[Gt∣st=s,at=a] ]=Ea∼π(⋅∣s)[Qπ(s,a)].(2.17)V^\pi(s)=\mathbb{E}_{a\sim\pi(\cdot\mid s)}\big[\,\mathbb{E}_\pi[G_t\mid s_t=s,a_t=a]\,\big]=\mathbb{E}_{a\sim\pi(\cdot\mid s)}\big[Q^\pi(s,a)\big]. \tag{2.17}

② 由 VV 得 QQ(用:全期望公式,以下一状态 s′s' 为条件层 + 式(2.14) 的首项拆分)。 Qπ(s,a)Q^\pi(s,a) 先执行给定的 aa(拿到即时奖励 r(s,a)r(s,a)),随后进入 s′∼P(⋅∣s,a)s'\sim P(\cdot\mid s,a),从 s′s' 起又变回”遵循 π\pi 的回报”即 Vπ(s′)V^\pi(s')。以 s′s' 为条件层再用一次全期望公式:

Qπ(s,a)=r(s,a)+γ Es′∼P(⋅∣s,a)[Vπ(s′)].(2.18)Q^\pi(s,a)=r(s,a)+\gamma\,\mathbb{E}_{s'\sim P(\cdot\mid s,a)}\big[V^\pi(s')\big]. \tag{2.18}

③ 互相代入 = 贝尔曼期望方程。 把式(2.18) 代进式(2.17) 得 VπV^\pi 的贝尔曼方程(式(2.12));把式(2.17) 代进式(2.18)(对 s′s' 用 Vπ(s′)=Ea′∼π[Qπ(s′,a′)]V^\pi(s')=\mathbb{E}_{a'\sim\pi}[Q^\pi(s',a')])得 QπQ^\pi 的贝尔曼方程(式(2.13))。两个”互推关系”其实就是把贝尔曼方程拆成两半:式(2.17) 是”对动作求期望”(策略层),式(2.18) 是”走一步转移”(动态层)。

④ 优势的自洽。 由式(2.17) 立刻得 Ea∼π[Aπ(s,a)]=Ea[Qπ(s,a)]−Vπ(s)=Vπ(s)−Vπ(s)=0\mathbb{E}_{a\sim\pi}[A^\pi(s,a)]=\mathbb{E}_a[Q^\pi(s,a)]-V^\pi(s)=V^\pi(s)-V^\pi(s)=0——优势按策略求期望恒为零(即式(2.11) 的后半),这正是它能当”无偏 baseline”的根源(模块 03)。

本质 Insight:贝尔曼方程为什么是整个 RL 的引擎?

它把”求一个无穷长求和的期望”这个可怕的问题,变成了”一个一步的自洽方程”。动态规划(值迭代/策略迭代)直接迭代这个不动点;时序差分(TD) 用采样近似它的右端(模块 04/05);actor-critic 用它来训练 critic。可以说,之后每个算法都是在”如何近似求解贝尔曼方程”上做文章。

6. 值迭代手算小例

贝尔曼方程不只是理论——它是可以直接迭代求解的。这里用一个 3 状态的迷你 MDP 手算几步,直观感受”值如何从奖励处向后传播、并收敛到不动点”。这里用的是把 Ea′\mathbb{E}_{a'} 换成 max⁡a\max_a 的贝尔曼最优方程版本(即值迭代 value iteration),它预告了模块 05,但拿来演示收敛最直观。

环境设定。 三个状态 s1→s2→s3s_1\to s_2\to s_3(s3s_3 为目标 / 吸收态,V(s3)≡0V(s_3)\equiv 0)。每个非终止状态有两个确定性动作:→(前进) 与 stay(原地)。折扣 γ=0.9\gamma=0.9。奖励只在”迈入目标”时给出:

状态 · 动作转移到即时奖励 rr
s1s_1 · →s2s_200
s1s_1 · stays1s_100
s2s_2 · →s3s_3(目标)+10+10
s2s_2 · stays2s_200

图 2:迷你 MDP 状态图。奖励集中在"迈入目标 s_3"的那一步,值迭代会把这份价值逐轮向左传播回 s_2、s_1。

图 2:迷你 MDP 状态图。奖励集中在”迈入目标 s3s_3“的那一步,值迭代会把这份价值逐轮向左传播回 s2s_2、s1s_1。

迭代规则(值迭代):Vk+1(s)=max⁡a[r(s,a)+γVk(s′)]V_{k+1}(s)=\max_a\big[r(s,a)+\gamma V_k(s')\big],初始 V0(s1)=V0(s2)=0V_0(s_1)=V_0(s_2)=0。逐步手算:

轮次 kkVk(s1)V_k(s_1)Vk(s2)V_k(s_2)手算过程
000000初始化
11001010V1(s2)=max⁡(10+0.9⋅0,  0+0.9⋅0)=10V_1(s_2)=\max(10+0.9\cdot0,\;0+0.9\cdot0)=10;V1(s1)=max⁡(0+0.9⋅0,  0)=0V_1(s_1)=\max(0+0.9\cdot0,\;0)=0
22991010V2(s1)=max⁡(0+0.9⋅10,  0)=9V_2(s_1)=\max(0+0.9\cdot 10,\;0)=9;V2(s2)=max⁡(10,  0.9⋅10)=10V_2(s_2)=\max(10,\;0.9\cdot 10)=10
33991010不再变化 → 已收敛

读出结果: V⋆(s1)=9,  V⋆(s2)=10,  V⋆(s3)=0V^\star(s_1)=9,\;V^\star(s_2)=10,\;V^\star(s_3)=0,最优策略是”处处前进 →“。注意价值如何从目标处向后扩散:第 1 轮只有紧邻目标的 s2s_2 拿到价值,第 2 轮才轮到 s1s_1(被 γ\gamma 折了一次,0.9×10=90.9\times10=9)。这正是”贝尔曼方程作为引擎”的最小可视化——每一轮迭代把价值信息又向后传播一步。

本质 Insight:为什么会收敛?(压缩映射 → 几何收敛,可量化)

这里迭代的 T\mathcal{T} 是把式(2.12)/(2.13) 里的 Ea′\mathbb{E}_{a'} 换成 max⁡a′\max_{a'} 的贝尔曼最优算子。它是一个以 γ\gamma 为系数的压缩映射(contraction,在 ℓ∞\ell_\infty 范数下):

∥TV−TV′∥∞≤γ ∥V−V′∥∞\|\mathcal{T}V-\mathcal{T}V'\|_\infty\le\gamma\,\|V-V'\|_\infty。

第 1 步(用:压缩性 + 令 V′=V⋆V'=V^\star 为不动点 TV⋆=V⋆\mathcal{T}V^\star=V^\star)。 反复作用得 ∥Vk−V⋆∥∞≤γ ∥Vk−1−V⋆∥∞≤⋯≤γk ∥V0−V⋆∥∞\|V_k-V^\star\|_\infty\le\gamma\,\|V_{k-1}-V^\star\|_\infty\le\dots\le\gamma^k\,\|V_0-V^\star\|_\infty——误差每轮至多乘 γ\gamma,按几何级数 γk\gamma^k 指数衰减。第 2 步(用:巴拿赫不动点定理)。 γ<1\gamma<1 保证压缩,故不动点存在且唯一,迭代必收敛到 V⋆V^\star。

量化: 要把误差压到 ϵ\epsilon,所需轮数约为 k≥log⁡(∥V0−V⋆∥∞/ϵ)log⁡(1/γ)=O ⁣(11−γlog⁡1ϵ)k\ge\dfrac{\log(\|V_0-V^\star\|_\infty/\epsilon)}{\log(1/\gamma)}=O\!\big(\tfrac{1}{1-\gamma}\log\tfrac{1}{\epsilon}\big)(末式用 log⁡(1/γ)≥1−γ\log(1/\gamma)\ge 1-\gamma)。可见 γ→1\gamma\to1 时轮数按 11−γ\tfrac{1}{1-\gamma}(有效视野)放大——收敛虽仍是几何式,但越接近 1 越慢,这正呼应洞察六里”11−γ\tfrac{1}{1-\gamma} 是难度旋钮”。在本小例中确实两三轮即收敛(γ=0.9\gamma=0.9、状态少)。γ<1\gamma<1 于是身兼两职:保证回报有界,也保证这个迭代指数收敛。

7. RL 算法的通用解剖

CS285 的一个核心视角:几乎所有 RL 算法都可拆成三个循环往复的模块。看懂这张图,你就有了归类任何新算法的坐标系。

图 3:所有 RL 算法都在循环执行"生成样本 → 估计回报/拟合模型 → 改进策略"。不同算法族的差异在于每一步做多重、用什么代价做。

图 3:所有 RL 算法都在循环执行”生成样本 → 估计回报/拟合模型 → 改进策略”。不同算法族的差异在于每一步做多重、用什么代价做。

算法族② 估计什么③ 如何改进策略
策略梯度(PG)回报 ∑γtr\sum\gamma^t r(可加 baseline)沿 ∇θJ\nabla_\theta J 上升(模块 03)
Actor-Critic拟合 Vπ/QπV^\pi/Q^\pi(critic)用优势加权更新 actor(模块 04)
价值方法拟合 Q⋆Q^\star(贝尔曼最优)隐式:贪心 arg⁡max⁡aQ\arg\max_a Q(模块 05)
基于模型拟合动态 PP用模型规划/反传(模块 08)

本质 Insight:成本都花在哪一步?

“②估计”这一步的选择,决定了算法的方差、偏差与样本效率:直接用采样回报(PG)通常高方差;拟合值函数(AC/价值方法)以自举引入偏差并换取数据复用;学动态模型在部分任务上可减少真实交互,但受模型误差与规划成本制约。整套课程后面就是在这条”用什么估计回报”的谱系上展开。

8. on-policy vs off-policy

这是贯穿全书的分类维度,直接决定样本能否复用。

  • on-policy(同策略):改进的目标策略 = 采样数据的行为策略。策略一更新,旧数据就”过期”,必须重新采样。朴素策略梯度、A2C/A3C 属此类。
  • off-policy(异策略):用行为策略 μ\mu(可以是旧策略、探索策略甚至人类)产生的数据,去改进另一个目标策略 π\pi。可复用历史数据(经验回放),样本效率高。Q-learning、DDPG、SAC 属此类。

本质 Insight:为什么 on-policy 必须”用完即弃”?

策略梯度的期望是对当前策略的轨迹分布 pθp_\theta 求的。参数一变,pθp_\theta 就变了,旧样本来自旧分布 pθoldp_{\theta_{\text{old}}},直接拿来估当前梯度是有偏的。要复用就得做重要性采样修正(模块 03/06),但权重方差会爆炸——这正是 off-policy PG 困难、以及 PPO/TRPO 要限制”步子别迈太大”的根本原因。

维度on-policyoff-policy
数据来源当前策略任意行为策略(可回放)
样本效率低(用完即弃)高(可复用)
稳定性较稳定易受分布不匹配/自举发散影响
代表算法REINFORCE, A2C, TRPO, PPO*Q-learning, DQN, DDPG, SAC

*PPO 通过重要性采样与裁剪在小范围内复用数据,介于严格 on/off 之间,常被称为”近端 on-policy”。

9. 算法族的取舍与样本效率

选择算法时,核心权衡是样本效率(每条经验能榨出多少改进) 与稳定性/实现难度/计算成本。下面仅给出常见实现与典型任务下的启发式趋势,不是对算法族普遍成立的全序:

基于模型  ≳  off-policy 价值/AC (SAC,DQN)  >  on-policy AC  >  on-policy PG (REINFORCE)  >  无梯度 (ES/CEM).(2.19)\text{基于模型} \;\gtrsim\; \text{off-policy 价值/AC (SAC,DQN)} \;>\; \text{on-policy AC} \;>\; \text{on-policy PG (REINFORCE)} \;>\; \text{无梯度 (ES/CEM)}. \tag{2.19}

与总纲的分工(避免重复)

本节是从”RL 基础”角度的速览。更完整的家族谱系——含各家代表工作(PILCO/PETS/Dreamer/MuZero、DQN/Rainbow/DDPG/TD3/SAC、REINFORCE/A2C、TRPO/PPO、ES/CEM,直到 GRPO/DAPO)与 off↔on-policy 正交轴——见 总纲 §6「算法家族全景与取舍」。两处采用同一朝向(左 = 更省样本),可对照阅读。

图 4:样本效率谱(与总纲 §6 同一朝向:左 = 更省样本)。越省样本的方法引入越多假设(值函数自举、学到的模型),换来更高偏差风险或实现复杂度;最右端无梯度法最费样本。

图 4:样本效率谱(与总纲 §6 同一朝向:左 = 更省样本)。越省样本的方法引入越多假设(值函数自举、学到的模型),换来更高偏差风险或实现复杂度;最右端无梯度法最费样本。

算法族(按样本效率从高到低)样本效率稳定性偏差来源适用
基于模型·浅层 (PILCO/GP)任务相关中(模型偏置大)低容量模型的系统偏置数据极稀缺、动力学较简单
基于模型·深层 (PETS/Dreamer)任务相关低-中模型误差累积(被利用)真实机器人、数据稀缺
off-policy 价值/AC (DQN/SAC)通常可复用数据中(致命三要素风险)自举 + off-policy + 逼近样本昂贵、可回放
Actor-Critic依实现而异中critic 自举引入偏差连续控制
on-policy PG通常较少复用旧数据较稳定高方差仿真廉价
无梯度 / 黑箱 (ES/CEM/CMA-ES)常需较多评估依任务而异搜索方差随维度增长奖励不可导/极稀疏、海量并行

陷阱:样本效率 ≠ 墙钟时间效率

样本效率高不等于墙钟时间短;实际耗时还取决于环境采样成本、并行方式、每次更新的计算量和系统实现。选算法时应先判断瓶颈是采样还是计算,不能仅凭样本复用率推断运行速度或稳定性。

前沿实践

LLM 的部分 RL 后训练可按这套解剖理解:①生成样本=让模型对 prompt 采样回答;②估计回报=奖励模型或可验证奖励打分;③改进策略=按具体算法更新策略。选择 on-policy、近端更新或其他方法取决于数据生成成本、稳定性、基础设施与目标,不能仅归因于“生成便宜”。

10. POMDP 与信念状态

前面的 MDP 假设智能体能看到完整状态 ss。但这是理想化:真实世界几乎都是部分可观测的。摄像头有遮挡与视野盲区、传感器有噪声、对手的手牌看不见、对话里用户的真实意图没写在字面上……智能体拿到的只是状态的一个带噪 / 不完整的投影——观测 oo。这类问题是 部分可观测马尔可夫决策过程(POMDP),一个七元组 (S,A,P,r,Ω,O,γ)(\mathcal{S},\mathcal{A},P,r,\Omega,O,\gamma),比 MDP 多了观测空间 Ω\Omega 与观测模型 O(o∣s)O(o\mid s)。

核心困难:观测不满足马尔可夫性

单个观测 oto_t 不是历史的充分统计量:同一个观测可能对应完全不同的真实状态(走廊里两个长得一样的路口)。于是”最优策略只依赖当前观测”不再成立——直接把 MDP 那套 V(o)/Q(o,a)V(o)/Q(o,a) 套上去会失效,因为 oo 丢了区分状态所必需的信息。

解法:用信念状态恢复马尔可夫性。 定义信念状态(belief state) bt(s)=Pr⁡(st=s∣o1:t,a1:t−1)b_t(s)=\Pr(s_t=s\mid o_{1:t},a_{1:t-1})——即”在给定全部历史后,对当前真实状态的后验分布”。关键事实:信念状态本身是马尔可夫的,它是历史的充分统计量。于是 POMDP 可以转写成一个以信念为状态的 belief MDP,MDP 的全部机器(值函数、贝尔曼方程)在信念空间里重新成立。信念随每步观测按贝叶斯滤波更新:

bt+1(s′)  ∝  O(ot+1∣s′)⏟新观测的似然  ∑sP(s′∣s,at)⏟转移 bt(s).(2.20)b_{t+1}(s')\;\propto\;\underbrace{O(o_{t+1}\mid s')}_{\text{新观测的似然}}\;\sum_{s}\underbrace{P(s'\mid s,a_t)}_{\text{转移}}\,b_t(s). \tag{2.20}

图 5:POMDP 中智能体看不到真实状态,只能维护一个信念分布 b(s),并随每个新观测用贝叶斯滤波更新。信念状态恢复了马尔可夫性,使 MDP 的机器重新可用。

图 5:POMDP 中智能体看不到真实状态,只能维护一个信念分布 b(s)b(s),并随每个新观测用贝叶斯滤波更新。信念状态恢复了马尔可夫性,使 MDP 的机器重新可用。

前沿实践:深度 RL 怎么处理部分可观测?

精确维护信念在高维下不可行,实践中用近似的充分统计量替代:把最近若干帧堆叠(DQN 玩 Atari 堆 4 帧)、用 RNN/LSTM/GRU 或 Transformer 把历史压成隐藏状态(R2D2、Decision Transformer)。LLM 更是天然的”历史编码器”:整个上下文窗口就是被压缩的信念,注意力机制在读全部历史后决定下一步——这也是为什么”上下文长度”对智能体能力如此关键。

方法溯源:动机 · 启发 · 局限

本讲的概念大多不是”深度学习时代”的发明,而是继承自 1950 年代的动态规划与最优控制。把它们按”为什么被提出 → 受什么启发 → 遗留局限”重排,能看清这套 MDP 机器从哪来、又为什么会通向后面的采样式算法。

概念 / 代表作(年代)要解决什么问题(动机)受什么启发 / 技术脉络关键局限(→ 引出谁)
经典表格型动态规划 Bellman 1957;Howard 1960(策略迭代)在 MDP 中把多步序列决策拆成可递归求解的子问题Bellman 的最优性原理:最优解的子路径也最优;源自变分法 / 最优控制通常需已知模型 PP 并枚举状态空间(维度诅咒)(→ 采样式 model-free RL)
折扣因子 γ\gamma无限时域回报 ∑r\sum r 会发散,需保证收敛有界经济学的贴现;等价于每步 1−γ1-\gamma 概率终止的几何时域引入短视偏差,是方差-偏差旋钮(→ 平均回报视角 / GAE 模块 04)
值函数 Vπ,QπV^\pi,Q^\pi Bellman;Watkins(QQ-learning,1989)避免对整条轨迹反复求期望,缓存”从某状态起的期望回报”DP 里作为核心中间量的”cost-to-go / value”需估计与自举,off-policy + 逼近下易发散(→ TD、DQN、AC)
贝尔曼期望方程把”无穷长求和的期望”变成一步自洽的递归最优性原理 + 马尔可夫性 + 期望线性是期望方程,右端需已知或采样估计 PP(→ TD 采样近似)
优势函数 A=Q−VA=Q-VQQ 里混入了与动作无关的”状态本身好坏”,需扣掉公共基线控制变量 / baseline 的方差缩减思想需同时估计 QQ 与 VV(→ GAE 用 TD 残差近似,模块 04)
通用解剖”生成→估计→改进”为所有 RL 算法建立统一坐标系Sutton & Barto 的广义策略迭代(GPI)三步各自的方差 / 偏差 / 样本效率取舍不同(→ 后续各模块)

演进故事线①:为什么用 MDP 抽象决策?

1950 年代 Bellman 研究多阶段最优控制时面对一个组合爆炸的难题:一个 TT 步决策序列的可能路径随 TT 指数增长。他的最优性原理给出破解口:无论如何到达当前状态,此后的最优决策只取决于当前状态——于是整段优化被拆成”当前一步 + 从下一状态起的最优子问题”的递归。MDP 正是承载这条递归的最小形式化:用马尔可夫性保证”当前状态是历史的充分统计量”,最优策略便只需依赖当前状态,无需记忆整段历史。MDP 形式化本身不要求智能体知道模型或枚举状态;需要已知模型 PP 并枚举状态的是经典表格型动态规划方法。这些计算条件促使研究者发展出从样本学习的 model-free 强化学习。

演进故事线②:折扣因子 γ 为什么被引入?

γ\gamma 不是可有可无的超参数,它的引入同时回应两个问题。数学上:无限时域下 ∑t=0∞rt\sum_{t=0}^\infty r_t 可能发散,“哪个策略更好”无从比较;乘上 γt\gamma^t(γ<1\gamma<1)后几何级数收敛到 rmax⁡1−γ\frac{r_{\max}}{1-\gamma},“好”才被良好定义。建模上:γ\gamma 表达”未来越远越不确定、越该打折”,它精确等价于一个每步有 1−γ1-\gamma 概率突然终止的几何随机时域——把”未来可能戛然而止”编码进目标。这两重身份之外还有第三重(算法上的方差-偏差旋钮,模块 04 详述)。局限也随之而来:γ<1\gamma<1 意味着系统性短视,只有当 γ→1\gamma\to1 才逼近”公平看待长远”的平均回报视角。

演进故事线③:值函数为什么是核心中间量?

直接优化目标 JJ 要对整条轨迹求期望,方差大且无法复用。值函数的关键洞察是:把”从某状态 / 状态-动作出发的期望未来回报”缓存成一个函数,长期回报的递归结构(贝尔曼方程)就把一个可怕的无穷求和压缩成一步自洽方程。于是它成了连接一切算法的枢纽:动态规划直接迭代这个不动点,TD 用采样近似其右端,actor-critic 用它当 critic,优势 A=Q−VA=Q-V 又把它变成降方差的基线。可以说后面每个算法都在回答同一个问题——如何更省、更稳地近似求解贝尔曼方程。它的局限是必须估计值函数,而估计中的自举会引入偏差与不稳定,这正是模块 04、05 要处理的主题。

11. 小结与要点

  • MDP (S,A,P,r,γ)(\mathcal{S},\mathcal{A},P,r,\gamma) 是 RL 的通用形式化;马尔可夫性让最优策略只依赖当前状态。
  • 轨迹分布 pθ(τ)=p(s0)∏πθ(at∣st)P(st+1∣st,at)p_\theta(\tau)=p(s_0)\prod\pi_\theta(a_t\mid s_t)P(s_{t+1}\mid s_t,a_t);RL 目标是 J(θ)=Eτ∼pθ[∑γtr]J(\theta)=\mathbb{E}_{\tau\sim p_\theta}[\sum\gamma^t r]。
  • γ\gamma 兼具收敛性、建模与方差-偏差旋钮三重身份;无限时域下引出平稳分布 dπd^\pi。
  • V,Q,AV,Q,A:V=Ea[Q]V=\mathbb{E}_a[Q],A=Q−VA=Q-V 扣掉公共基线以降方差。
  • 贝尔曼期望方程把无穷求和变成一步自洽递归,是 DP/TD/AC 的共同引擎。
  • 所有算法 = “生成样本→估计回报→改进策略”三步循环;差异在②怎么估计、on/off-policy 与样本效率取舍。

承上启下

我们已经把”好”定义为 J(θ)J(\theta),也知道它是个依赖 θ\theta 的期望。下一步的核心问题呼之欲出:如何对 J(θ)J(\theta) 求梯度并做梯度上升?——即使我们不知道环境动态 PP。这正是模块 03 策略梯度的主题。

参考来源

  1. [1]Stationary distributions of Markov chains(在新窗口打开)Carnegie Mellon University · Irreducibility and convergence sections · 访问于 2026-10-17↩
  2. [2]Planning in Markov Decision Processes(在新窗口打开)RL Theory · Policy error bound · 访问于 2026-10-17↩
  3. [3]CS 285: Deep Reinforcement Learning(UC Berkeley)(在新窗口打开)UC Berkeley · L4 · 访问于 2026-10-17