深度教堂

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

基于价值的 RL

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

CS285CS285 L7–L8(含 DQN Section)

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

第 05 讲核心模块策略梯度与价值方法对应 CS285 L7–L8(含 DQN Section)

学习目标

  • 写出并理解贝尔曼期望/最优算子,掌握 $\gamma$-压缩性的完整证明及其推出的收敛性。
  • 说清值迭代 → Q-learning → 拟合 Q 迭代的演化路径与 off-policy 的由来。
  • 理解"函数逼近 + 自举 + off-policy"三者同时出现时为何可能发散。
  • 从优化目标角度解释 DQN 的经验回放与目标网络为何是必需的。
  • 推导 $\max$ 算子导致的过估计偏差,并理解 Double DQN 如何解耦"选"与"评"。

前四个模块沿”显式表示并优化策略”这条主线走到了 actor-critic。本模块转向另一大家族:完全不显式参数化策略,而是学习最优动作值 Q⋆(s,a)Q^\star(s,a),再对它贪心得到策略。我们从值迭代与贝尔曼最优算子出发,证明它是 γ\gamma-压缩映射(精确动态规划不动点分析的基石之一),再看当引入函数逼近后这些保证如何被”致命三要素”破坏,进而理解 DQN 的每一个设计(经验回放、目标网络)、过估计偏差的来源与 Double DQN 的修正,最后概览 Dueling/PER/Rainbow 与连续动作的 DDPG/TD3。

学习目标

  • 写出并理解贝尔曼期望/最优算子,掌握 γ\gamma-压缩性的完整证明及其推出的收敛性。
  • 说清值迭代 → Q-learning → 拟合 Q 迭代的演化路径与 off-policy 的由来。
  • 理解”函数逼近 + 自举 + off-policy”三者同时出现时为何可能发散。
  • 从优化目标角度解释 DQN 的经验回放与目标网络为何是必需的。
  • 推导 max⁡\max 算子导致的过估计偏差,并理解 Double DQN 如何解耦”选”与”评”。

编者按 · 批判性视角

编者判断: 当前公开的 LLM 后训练方法较少直接训练 Q⋆Q^\star;本模块的”致命三要素""off-policy value 发散""过估计”主要对应需要长时域自举和数据复用的控制问题。RLHF 中的 PPO 也训练 value critic,但与学习最优动作值的设定不同。价值方法在样本受限控制和离线数据复用中仍有重要用途;具体选型取决于任务与数据条件。

1. 从策略优化到价值优化

回顾:若我们已知最优动作值函数 Q⋆(s,a)Q^\star(s,a),则可取确定性最优策略 π⋆(s)∈arg⁡max⁡aQ⋆(s,a)\pi^\star(s)\in\arg\max_a Q^\star(s,a)。这暗示一条完全不同的路线——不去优化策略参数,而是设法逼近 Q⋆Q^\star。这一族方法的诱惑在于:

  • 可 off-policy:Q⋆Q^\star 不依赖行为策略,因此可复用回放缓冲或其他策略的数据;但数据仍须充分覆盖要学习的状态–动作,不能从“任意历史数据”无条件恢复 Q⋆Q^\star。样本效率往往高于纯 on-policy 方法,但并非对所有问题保证。
  • 无需策略梯度的高方差:更新目标是回归一个标量,方差来源不同。

代价(伏笔):一旦用神经网络逼近 QQ,表格情形下的收敛保证便不再直接适用——这正是本模块后半段的主题。

本质 Insight

策略梯度问”如何微调我的行为分布让回报更高”,是局部的一阶优化;价值方法问”每个状态-动作到底值多少钱”,试图直接求解贝尔曼最优这一不动点方程。前者稳但慢、样本贵;后者省样本但因为在做”自举估计的回归”,把估计误差沿时间反复放大,稳定性成为核心难题。这条”稳定性 vs 样本效率”的张力贯穿整个 RL。

2. 值迭代与贝尔曼最优算子

先接上已知的地面。 模块 02 的贝尔曼期望方程(式(2.12))已经能评估一个给定的固定策略 π\pi:Vπ(s)=Ea∼π[r+γ Es′Vπ(s′)]V^\pi(s)=\mathbb{E}_{a\sim\pi}\big[r+\gamma\,\mathbb{E}_{s'}V^\pi(s')\big]——它对动作按 π\pi 求平均,回答的是”照这个策略走,值多少”。可本模块要的是另一回事:不评估某个给定策略,而是直接求最优 V⋆V^\star。于是问题变成——最优值函数应当满足什么自洽条件?

把方程”逼”出来。 设想我们已握有真正的 V⋆V^\star。站在任一状态 ss,一个最优的智能体不会再按某个固定分布碰运气,而会挑期望回报最高的那个动作:即时奖励 r(s,a)r(s,a) 加上折扣后的未来最优值 γ Es′[V⋆(s′)]\gamma\,\mathbb{E}_{s'}[V^\star(s')],谁大选谁。因此 V⋆V^\star 必须自洽地满足

V⋆(s)=max⁡a[ r(s,a)+γ Es′∼P(⋅∣s,a)[V⋆(s′)] ]V^\star(s)=\max_{a}\Big[\,r(s,a)+\gamma\,\mathbb{E}_{s'\sim P(\cdot\mid s,a)}\big[V^\star(s')\big]\,\Big],

这就是贝尔曼最优方程。把它与期望方程并排看:唯一的改动是把”对动作求平均” ∑aπ(a∣s)\sum_a\pi(a\mid s) 换成了”取最大” max⁡a\max_a——正是这一个 ∑aπ→max⁡a\sum_a\pi\to\max_a 的替换,把”评估一个固定策略”升级成了”寻找最优策略”。

再抽象成一个算子。 把上式右端看成一台”喂进一个值函数、吐出一个新值函数”的机器,就得到贝尔曼最优算子 T\mathcal{T};用它,最优方程被简记为不动点条件 V⋆=TV⋆V^\star=\mathcal{T}V^\star——V⋆V^\star 就是在 T\mathcal{T} 反复作用下”再也不变”的那个值函数。

不动点怎么解?——反复施加算子。 既然 V⋆V^\star 是 T\mathcal{T} 的不动点,最朴素的解法就是从任意 V0V_0 出发、一遍遍作用 T\mathcal{T}:Vk+1←TVkV_{k+1}\leftarrow\mathcal{T}V_k,这就是值迭代。它一定收敛,因为 T\mathcal{T} 是压缩映射——每作用一次就把误差按 γ\gamma 收缩,以几何速率逼近唯一的 V⋆V^\star(完整证明见下一节 §3,理论背景见模块 11)。小数值直觉:若某状态当前估计偏低,一次 T\mathcal{T} 就用”最好动作的一步回看”把它抬高一截,如此逐轮把远处的高价值一格格倒灌回来(模块 02 §6 的手算小例正是这一过程的可视化)。

形式化—— 把上面逼出的算子 T\mathcal{T} 正式写成作用在任意值函数 V:S→RV:\mathcal{S}\to\mathbb{R} 上的映射:

(TV)(s)=max⁡a[ r(s,a)+γ Es′∼P(⋅∣s,a)[V(s′)] ].(5.1)(\mathcal{T}V)(s) = \max_{a}\Big[\, r(s,a) + \gamma\, \mathbb{E}_{s'\sim P(\cdot\mid s,a)}\big[V(s')\big]\,\Big]. \tag{5.1}

逐块读一遍这台机器:max⁡a\max_a 是”选最好的动作”(“最优”正由它而来);r(s,a)r(s,a) 是当下这一步的即时奖励;γ Es′∼P(⋅∣s,a)[V(s′)]\gamma\,\mathbb{E}_{s'\sim P(\cdot\mid s,a)}[V(s')] 则是”走一步转移到 s′s' 后、折扣的未来价值”的期望。最优值函数 V⋆V^\star 是它的不动点:V⋆=TV⋆V^\star=\mathcal{T}V^\star(即上面逼出的贝尔曼最优方程)。值迭代就是反复施加该算子:Vk+1←TVkV_{k+1}\leftarrow \mathcal{T}V_k。对应的 QQ 版本更常用(因为贪心只需 QQ、不需模型):

(TQ)(s,a)=r(s,a)+γ Es′[max⁡a′Q(s′,a′)].(5.2)(\mathcal{T}Q)(s,a) = r(s,a) + \gamma\,\mathbb{E}_{s'}\Big[\max_{a'} Q(s',a')\Big]. \tag{5.2}

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

为什么式(5.2) 里对下一步动作取 max⁡\max,而不是取均值或 softmax? 因为贝尔曼最优算子要刻画的是”最优”这件事,而最优即在每个状态挑价值最高的那个动作(贪心);正是这个 max⁡\max 让不动点 Q⋆Q^\star 是最优动作值、而非某个给定策略的值。换一种会怎样? 若把 max⁡a′\max_{a'} 换成按某分布对 a′a' 取期望(均值),得到的是贝尔曼期望算子——它只做策略评估(评估那个固定的动作分布值多少),根本不寻优,反复施加只会收敛到该策略的值而非 Q⋆Q^\star。若换成 softmax(log-sum-exp),则把”硬 max⁡\max“软化成”soft max”,不动点变成带熵正则的 soft 值函数——这并不是错误,而恰好定义了另一族方法(最大熵 / soft Q-learning,见 模块 07);代价是引入温度参数、最优策略变成玻尔兹曼分布而非确定性贪心,只有温度趋于 0 时才退回这里的硬 max⁡\max。

图 1:值迭代在函数空间中以几何速率 \gamma^k 收敛到唯一不动点 V^\star。

图 1:值迭代在函数空间中以几何速率 γk\gamma^k 收敛到唯一不动点 V⋆V^\star。

3. 贝尔曼算子是 γ-压缩映射

定理 在精确算子、0≤γ<10\le\gamma<1 的设定下,值迭代收敛的核心理由是 T\mathcal{T} 在无穷范数 ∥f∥∞=max⁡s∣f(s)∣\|f\|_\infty=\max_s|f(s)| 下是 γ\gamma-压缩映射。

推导:∥TV−TVˉ∥∞≤γ∥V−Vˉ∥∞\|\mathcal{T}V-\mathcal{T}\bar V\|_\infty \le \gamma\|V-\bar V\|_\infty(点开看完整步骤)

关键假设

(i) 折扣 0≤γ<10\le\gamma<1;(ii) 奖励有界 ∣r∣≤rmax⁡|r|\le r_{\max},保证值函数有界、算子良定义;(iii) 以下用有限动作集保证 max⁡\max 存在;一般动作空间可改用 sup⁡\sup,若要取得最大值还需紧致性与适当的连续性条件 [1]。

先备引理(max 的非扩张性)

对同一指标集上的任意两函数 f,gf,g,有 ∣max⁡af(a)−max⁡ag(a)∣≤max⁡a∣f(a)−g(a)∣\big|\max_a f(a)-\max_a g(a)\big|\le \max_a|f(a)-g(a)|。证:设 a⋆=arg⁡max⁡afa^\star=\arg\max_a f,则 max⁡af−max⁡ag≤f(a⋆)−g(a⋆)≤max⁡a∣f−g∣\max_a f-\max_a g\le f(a^\star)-g(a^\star)\le\max_a|f-g|;对调 f,gf,g 得另一侧,故绝对值成立。这条引理是整个压缩性证明的唯一”技术核心”——它保证”先取 max 再作差”不会把逐点差放大。

第 1 步(用:上面的 max 非扩张引理):任取两个值函数 V,VˉV,\bar V 与任意状态 ss,令 f(a)=r(s,a)+γEVf(a)=r(s,a)+\gamma\mathbb{E}V、g(a)=r(s,a)+γEVˉg(a)=r(s,a)+\gamma\mathbb{E}\bar V,代入引理:

∣(TV)(s)−(TVˉ)(s)∣=∣max⁡a[r+γEV]−max⁡a[r+γEVˉ]∣≤max⁡a∣γ Es′[V(s′)−Vˉ(s′)]∣.(5.3)|(\mathcal{T}V)(s)-(\mathcal{T}\bar V)(s)| = \Big|\max_a\big[r+\gamma\mathbb{E}V\big]-\max_a\big[r+\gamma\mathbb{E}\bar V\big]\Big| \le \max_a\Big|\gamma\,\mathbb{E}_{s'}[V(s')-\bar V(s')]\Big|. \tag{5.3}

第 2 步(用:rr 逐点相消 + 期望是凸组合 + 三角不等式):r(s,a)r(s,a) 在 f,gf,g 中完全相同、逐点抵消;把常数 γ\gamma 提出;期望 Es′[⋅]\mathbb{E}_{s'}[\cdot] 是以转移概率为权重、权重和为 11 的凸组合,故 ∣Es′[V−Vˉ]∣≤Es′∣V−Vˉ∣≤max⁡s′∣V(s′)−Vˉ(s′)∣=∥V−Vˉ∥∞\big|\mathbb{E}_{s'}[V-\bar V]\big|\le \mathbb{E}_{s'}|V-\bar V|\le \max_{s'}|V(s')-\bar V(s')| = \|V-\bar V\|_\infty(此三步无任何近似,均为恒等或确界放缩):

∣(TV)(s)−(TVˉ)(s)∣≤γ∥V−Vˉ∥∞.(5.4)|(\mathcal{T}V)(s)-(\mathcal{T}\bar V)(s)| \le \gamma \|V-\bar V\|_\infty. \tag{5.4}

第 3 步(用:右端不含 ss,对左端取 max⁡s\max_s):式(5.4)右端与 ss 无关,故对左端取 max⁡s\max_s 后不等式仍成立:∥TV−TVˉ∥∞≤γ∥V−Vˉ∥∞\|\mathcal{T}V-\mathcal{T}\bar V\|_\infty\le\gamma\|V-\bar V\|_\infty。■\blacksquare

推论(收敛性与几何速率):由巴拿赫不动点定理,T\mathcal{T} 有唯一不动点 V⋆V^\star,且把式(5.4)的压缩性对 V⋆=TV⋆V^\star=\mathcal{T}V^\star 反复套用得 ∥Vk−V⋆∥∞≤γk∥V0−V⋆∥∞→0\|V_k-V^\star\|_\infty\le\gamma^k\|V_0-V^\star\|_\infty\to 0,误差每迭代一次严格乘以 γ\gamma。量化到迭代次数:要把误差压到 ε\varepsilon,需 γk∥V0−V⋆∥∞≤ε\gamma^k\|V_0-V^\star\|_\infty\le\varepsilon,即 k≥ln⁡(∥V0−V⋆∥∞/ε)ln⁡(1/γ)≈11−γln⁡ ⁣∥V0−V⋆∥∞εk\ge \dfrac{\ln(\|V_0-V^\star\|_\infty/\varepsilon)}{\ln(1/\gamma)}\approx \dfrac{1}{1-\gamma}\ln\!\dfrac{\|V_0-V^\star\|_\infty}{\varepsilon}(末步用 ln⁡(1/γ)≥1−γ\ln(1/\gamma)\ge 1-\gamma)。可见所需迭代数正比于有效时域 11−γ\tfrac{1}{1-\gamma}:γ\gamma 越接近 11,收敛越慢。

局限 / 陷阱

Bellman 最优算子对有界值函数空间在无穷范数下是压缩,并不要求必须用表格表示;表格情形只是能精确施加算子的典型实现。一旦用神经网络加有限数据回归,实际迭代通常含 L2L_2 投影/优化误差,而该投影在无穷范数下未必非扩张——复合算子 ΠT\Pi\mathcal{T} 可能不再压缩,原收敛证明不能直接沿用(见第 5 节)。

4. Q-learning 与拟合 Q 迭代

值迭代需要已知模型 P,rP,r 来算期望。Q-learning 把期望换成单样本随机近似:从环境采到转移 (s,a,r,s′)(s,a,r,s'),用样本目标 y=r+γmax⁡a′Q(s′,a′)y=r+\gamma\max_{a'}Q(s',a') 做一步随机梯度式更新:

Q(s,a)←Q(s,a)+α[r+γmax⁡a′Q(s′,a′)⏟TD 目标 y−Q(s,a)].(5.5)Q(s,a)\leftarrow Q(s,a) + \alpha\big[\underbrace{r+\gamma\max_{a'}Q(s',a')}_{\text{TD 目标 }y} - Q(s,a)\big]. \tag{5.5}

这里的关键是 max⁡a′\max_{a'} 与产生数据的行为策略无关——所以 Q-learning 天然 off-policy,可以从回放缓冲、他人演示、任意探索策略学习。表格 Q-learning 在 Robbins–Monro 步长条件(∑α=∞,∑α2<∞\sum\alpha=\infty,\sum\alpha^2<\infty)与充分探索下收敛到 Q⋆Q^\star。

举例

在一个 2×22\times2 网格里,右下角是终点(到达得 r=10r=10)。此刻你在格子 ss,“向右”一步到达非终点格 s′s'、途中奖励 r=0r=0。设 α=0.5, γ=0.9\alpha=0.5,\ \gamma=0.9,当前 Q(s,右)=2Q(s,\text{右})=2,而在 s′s' 处四个动作里最大的是 max⁡a′Q(s′,a′)=8\max_{a'}Q(s',a')=8。则 TD 目标 y=0+0.9×8=7.2y=0+0.9\times8=7.2,更新 Q(s,右)←2+0.5×(7.2−2)=4.6Q(s,\text{右})\leftarrow 2+0.5\times(7.2-2)=4.6。这一步就把”右边更靠近终点”这条信息,从 s′s' 往回传播了一格;反复迭代,终点的高价值会像涟漪一样逐格倒灌回起点。

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

为什么 TD 目标 y=r+γmax⁡a′Q(s′,a′)y=r+\gamma\max_{a'}Q(s',a') 用”自举”(拿当前的估计 Q(s′,⋅)Q(s',\cdot) 接力),而不用整条回合的真实回报? 因为自举只依赖一步真实奖励加下一步的现有估计,无需等回合结束:更新可以在线、增量地做,每次只引入一步的随机性,方差小,还能天然 off-policy 地复用数据、让价值信息一格格快速回传。换成蒙特卡洛(用整条轨迹的真实回报当目标)会怎样? MC 目标无偏、不自举,天然绕开”用估计更新估计”的不稳定,因此不受下一节致命三要素里”自举”这一环的困扰;但代价很实在——必须等回合终止(对持续/无限时域任务不适用),且整条轨迹的随机性层层累加使方差极大、收敛慢、样本利用差。所以这是一场偏差-方差权衡:TD 用一点偏差(自举估计本身不准)换来大幅降方差与在线能力,代价则是把这点偏差喂进了第 5 节的致命三要素、埋下发散隐患(n-step 回报即是在这条谱上取折中)。

把它推广到神经网络:拟合 Q 迭代(Fitted Q-Iteration, FQI)——收集一批数据,计算所有目标 yiy_i,然后用回归拟合 QϕQ_\phi,再重复:

ϕ←arg⁡min⁡ϕ∑i(Qϕ(si,ai)−yi)2,yi=ri+γmax⁡a′Qϕ−(si′,a′).(5.6)\phi\leftarrow \arg\min_\phi \sum_i \big(Q_\phi(s_i,a_i) - y_i\big)^2,\qquad y_i = r_i + \gamma\max_{a'}Q_{\phi^-}(s_i',a'). \tag{5.6}

式中带上标减号的 ϕ−\phi^- 是目标网络参数:它不是另一个新网络,而是把 QQ 的参数暂时冻结下来的一份”旧副本”,专门用来计算自举目标 yiy_i。为何要区分:若目标 yiy_i 里直接用当前正在训练的 ϕ\phi,就等于”追一个随自己一起动的标签”,极易发散;把它换成缓慢更新的 ϕ−\phi^-(每隔若干步才与 ϕ\phi 同步一次)就得到一个近似固定的回归目标。怎么取值:初始 ϕ− ⁣= ⁣ϕ\phi^-\!=\!\phi,之后按第 6 节的”硬同步”或”Polyak 软同步”周期性刷新——完整动机与做法见第 6 节。

本质 Insight:这不是真正的梯度下降

注意目标 yiy_i 里也含 QQ。若把它当作”固定标签”回归,我们其实忽略了目标对参数的依赖——这叫半梯度(semi-gradient)。它不对应任何良定义损失的真实梯度,因此没有一般的收敛保证。DQN 的一切稳定化技巧,本质都是在”假装 yy 是固定标签”这个近似能成立的条件下做文章。

批判性追问

课本常一句话带过”Q-learning 会收敛到 Q⋆Q^\star“——但这句保证的成立范围极窄:它只对表格表示、且在 Robbins–Monro 步长(∑α=∞, ∑α2<∞\sum\alpha=\infty,\ \sum\alpha^2<\infty)与充分探索下才有。一旦把表格换成神经网络(式(5.6) 的 FQI),我们做的其实是半梯度回归而非真正的随机梯度下降(见上一条 Insight),那条收敛定理便失去理论依托。更要命的是:当”函数逼近 + 自举 + off-policy”三者同时到场(下一节的致命三要素),带逼近的 Q-learning 不但可能不收敛,还会指数发散——Baird 反例里奖励全为 00、真值恒为 00,V^\hat V 却越学越大。所以更严谨的陈述是:表格 Q-learning 收敛;带函数逼近的 Q-learning 没有一般收敛保证,DQN 的种种技巧只是把发散风险压低,并不能把这条定理原样搬回函数逼近的世界。

5. 致命三要素与发散

Sutton 提出的致命三要素(deadly triad) 指出:当以下三者同时出现时,值方法可能发散:

图 2:致命三要素。三者交集处,\Pi\mathcal{T} 可能不再压缩,值估计发散到无穷。

图 2:致命三要素。三者交集处,ΠT\Pi\mathcal{T} 可能不再压缩,值估计发散到无穷。

为什么会发散(直觉):贝尔曼算子 T\mathcal{T} 在无穷范数是压缩的;但神经网络拟合是在数据分布加权的 L2L_2 范数下做投影 Π\Pi。当数据分布(由行为策略决定)与被自举的目标分布不匹配(off-policy)时,投影会在某些方向放大误差。复合 ΠT\Pi\mathcal{T} 的谱半径可能 >1>1,于是每次迭代误差被乘性放大——著名的 Baird 反例就展示了一个线性逼近下 QQ 值指数爆炸的星形 MDP。

推导骨架:为什么 off-policy 是”压垮骆驼的稻草”

在线性、on-policy、固定策略评估并满足标准步长与特征条件时,半梯度 TD 有收敛结果;这不能直接推广到最优控制算子或非线性逼近。off-policy、自举与函数逼近同时出现时可能发散,但”致命三要素”描述的是高风险组合,并不意味着任意去掉一项即可无条件稳定 [1]。

Baird 星形反例:一个奖励全为 0、值却指数爆炸的 MDP

上面的谱半径论证是抽象的;Baird(1995)给了一个手可触摸的反例,展示”off-policy + 自举 + 线性逼近”三者同时出现时值估计如何发散。它的诡异之处在于:所有奖励都是 0,目标策略的真值 Vπ≡0V^\pi\equiv 0,可半梯度 TD 学出来的 V^\hat V 却越来越大。

构造:状态 / 特征 / 动作 / 更新

  • 状态:7 个状态——6 个上方状态与 1 个下方状态。
  • 动作:两个动作。实线动作转移到下方状态,虚线动作均匀转移到 6 个上方状态;目标策略恒选实线动作,行为策略以 1/71/7 选实线、以 6/76/7 选虚线,因此形成 off-policy 分布错配 [1]。
  • 奖励:所有转移奖励 =0=0,折扣 γ=0.99\gamma=0.99。这是目标策略的价值预测问题,故真值 Vπ(s)=0, ∀sV^\pi(s)=0,\ \forall s。
  • 线性特征(关键):8 个权重 θ1,…,θ8\theta_1,\dots,\theta_8,各状态的特征共享公共分量;按教材图 11.2 的缩放,外圈 V^(si)=(2θi+θ8)/5 (i=1..6)\hat V(s_i)=(2\theta_i+\theta_8)/\sqrt5\ (i=1..6),下方状态 V^(s7)=(θ7+2θ8)/5\hat V(s_7)=(\theta_7+2\theta_8)/\sqrt5。
  • 更新:普通 off-policy 半梯度 TD(0) 使用重要性采样比 ρt=π(At∣St)/b(At∣St)\rho_t=\pi(A_t\mid S_t)/b(A_t\mid S_t):θ←θ+αρtδt∇θV^(St)\theta\leftarrow\theta+\alpha\rho_t\delta_t\nabla_\theta\hat V(S_t),其中 δt=Rt+1+γV^(St+1)−V^(St)\delta_t=R_{t+1}+\gamma\hat V(S_{t+1})-\hat V(S_t)。在该构造中,虚线动作的 ρt=0\rho_t=0,实线动作的 ρt=7\rho_t=7 [1]。

为何 V^\hat V 会发散(数值直觉)。 行为策略产生的更新分布与目标策略不同,而共享特征又让一次局部更新同时改变多个状态的估计;自举目标随之被下一轮更新继续放大。用期望更新矩阵可以看到该构造存在发散方向。这个反例说明三要素齐备时可能发散,而不是给出”缺一项即无条件稳定”的充要定理 [1]。

图 3:Baird 星形反例。目标策略把所有外圈状态送入中心 S₇,行为策略却把访问撒向外圈——off-policy 分布错配叠加共享权重 \theta_8 的自举正反馈,使 \hat V 指数爆炸,尽管真值恒为 0。

图 3:Baird 星形反例。目标策略把所有外圈状态送入中心 S₇,行为策略却把访问撒向外圈——off-policy 分布错配叠加共享权重 θ8\theta_8 的自举正反馈,使 V^\hat V 指数爆炸,尽管真值恒为 0。

6. DQN:回放与目标网络

DQN(Mnih et al., 2015)用两个工程手段把上面这个不稳定的过程”驯服”到可用,首次在 Atari 上用同一套超参从像素端到端达到人类水平、并在约半数游戏上超越人类。

图 4:DQN 数据流。回放缓冲解耦样本相关性、把 off-policy 数据复用起来;目标网络冻结自举目标,缓解"追逐移动靶"的不稳定。

图 4:DQN 数据流。回放缓冲解耦样本相关性、把 off-policy 数据复用起来;目标网络冻结自举目标,缓解”追逐移动靶”的不稳定。

为何两者有助于稳定训练(从优化目标角度)

经验回放:SGD 的理论建立在样本近似 i.i.d.。而在线轨迹数据强时序相关(相邻状态几乎一样),直接训练等于在极窄分布上过拟合、灾难性遗忘。回放缓冲随机抽样 → 近似打散相关性、稳定梯度;同时让每条昂贵样本被多次复用(off-policy 的红利)。

目标网络:半梯度更新中目标 y=r+γmax⁡a′Qϕ(s′,a′)y=r+\gamma\max_{a'}Q_\phi(s',a') 随 ϕ\phi 一起变——你在”追一个自己移动的靶”,正反馈易发散。把目标里的参数冻结为 ϕ−\phi^-(每 CC 步硬拷贝,或用 Polyak 软更新 ϕ−←τϕ+(1−τ)ϕ−\phi^-\leftarrow\tau\phi+(1-\tau)\phi^-),可让目标变化更慢。两者都是延缓目标变化的实现,但更新轨迹并不等价;τ\tau 与 CC 都应按算法和任务调节。

举例

经验回放像备考用的”错题本”:做过的题(转移样本)不是做完就扔,而是记下来反复复习——一条昂贵样本被多次利用。更关键的是打散顺序:若总按做题先后连着复习(相邻样本高度相关,像连着刷同一章),大脑会对这一小段过拟合、转头就忘别的;随机抽题复习才让”训练分布”接近均匀、梯度更稳。

举例

目标网络治的是”别追一个自己在动的靶子”。没有它时,你朝目标 y=r+γmax⁡a′Qϕ(s′,a′)y=r+\gamma\max_{a'}Q_\phi(s',a') 开枪,可 yy 里也含 QϕQ_\phi——你每开一枪(更新一次 ϕ\phi)靶子自己就挪一下,越追越乱。把靶子里的参数冻结成 ϕ−\phi^-、隔一段时间才挪一次,就等于让靶子先站定,再周期性移动;这通常能缓解训练震荡,但不保证收敛。

深化 · 更新频率 / Polyak τ\tau 的”稳定性 vs 追踪速度”定量权衡

把软同步写成对在线参数的指数滑动平均(EMA):ϕt−=τϕt+(1−τ)ϕt−1−\phi^-_t=\tau\phi_t+(1-\tau)\phi^-_{t-1}。它等价于一个时间常数约 1/τ1/\tau 步的低通滤波——把最近约 1/τ1/\tau 步的 ϕ\phi 做加权平均。设在线参数每步大致以速度 v=∥ϕt−ϕt−1∥v=\|\phi_t-\phi_{t-1}\| 漂移,则稳态下目标网络对在线网络的滞后约为

∥ϕt−ϕt−∥⏟滞后偏差 ≈ 1−ττ v ∼ vτ  (τ 小).(5.6’)\underbrace{\|\phi_t-\phi^-_t\|}_{\text{滞后偏差}}\ \approx\ \frac{1-\tau}{\tau}\,v\ \sim\ \frac{v}{\tau}\ \ (\tau\ \text{小}). \tag{5.6'}

于是”稳定性 vs 追踪速度”是一对此消彼长的量:τ\tau 越小,EMA 目标越平滑但通常越滞后;硬同步的 CC 越大,目标保持不变的区间越长。1/τ1/\tau 可作为 EMA 记忆尺度的粗略直觉,但不能据此把软更新换算成等价硬同步周期;合适取值依算法、优化器与任务而异。

批判性追问

“上了目标网络,训练就稳了”——这话把缓解说成了解决。目标网络做的只是把自举标签冻结一段时间,让每个内层回归近似成一个良定义的监督问题;它并没有拆掉致命三要素,函数逼近、自举、off-policy 依旧同时在场。而且它还引入了新的代价——滞后偏差(式(5.6’)):目标是一份旧参数的估计,与当前 ϕ\phi 系统性偏离,本质上是拿”更慢但更稳”去换”更快但会追移动靶”。更关键的是,冻结目标本身不提供一般收敛保证。正确的定位是——目标网络是减慢”移动靶”的工程稳定器,而不是把表格情形的 γ\gamma-压缩收敛保证搬回函数逼近的定理。

前沿实验室视角

DQN(DeepMind,Mnih 等,2013/2015) 第一次证明了”直接从像素输入、端到端学一个深度价值网络”是可行的:用同一套超参在几十款 Atari 游戏上达到甚至超过人类水平,把深度学习正式带进了价值 RL。此后 DeepMind 沿”价值网络 + 搜索/模型”这条主线一路推进——AlphaGo(2016) 用价值网络加蒙特卡洛树搜索击败顶尖围棋手;AlphaZero(2017/2018) 去掉人类棋谱、纯自博弈就通吃围棋、国际象棋与将棋;MuZero(2020) 更进一步,连环境规则都不预先给定,改为学一个隐式动力学模型再在其上做规划搜索。按我的理解,这条脉络凝练出 DeepMind 的招牌认知:把 “学习”(价值/策略网络)与”搜索/规划”结合,用学到的评估去替代或加速昂贵的展开搜索——本模块的价值网络正是这套方法论最早的基石。

7. 过估计与 Double DQN

Q-learning 的 max⁡\max 目标在特定噪声条件下会产生过估计。即使各动作价值估计无偏,取 max⁡\max 后的期望也不小于真实最大值,但具体偏差取决于误差结构 [2]。

举例

设某状态下两个动作的真实价值都恰好是 00,但估计带噪声:这一轮采样得到 Q^a=+1, Q^b=−1\hat Q_a=+1,\ \hat Q_b=-1,下一轮可能反过来 Q^a=−1, Q^b=+1\hat Q_a=-1,\ \hat Q_b=+1,两种情况各占一半。可无论哪一轮,max⁡(Q^a,Q^b)\max(\hat Q_a,\hat Q_b) 总是 +1+1——取 max 后的期望是 +1+1,而真实的 max⁡\max 只有 00。凭空多出的这 +1+1 就是过估计:max 会系统性地挑中”恰好被噪声抬高”的那个,动作越多、噪声越大,这份虚高越严重,还会经自举一层层滚雪球。

推导:E[max⁡aQ^a]≥max⁡aE[Q^a]\mathbb{E}[\max_a \hat Q_a] \ge \max_a \mathbb{E}[\hat Q_a] 与偏差来源

关键假设

估计噪声 Q^a=Qa+ϵa\hat Q_a = Q_a + \epsilon_a,E[ϵa]=0\mathbb{E}[\epsilon_a]=0(无偏),各动作估计含独立噪声、方差 Var(ϵa)=σ2\mathrm{Var}(\epsilon_a)=\sigma^2。

第 1 步(用:max⁡\max 的凸性 + Jensen 不等式):x↦max⁡axax\mapsto\max_a x_a 是逐坐标取上确界,是凸函数(多个线性函数的上包络)。对凸函数 φ\varphi 有 Jensen E[φ(X)]≥φ(E[X])\mathbb{E}[\varphi(X)]\ge\varphi(\mathbb{E}[X]),取 φ=max⁡\varphi=\max、X=(Q^a)aX=(\hat Q_a)_a:

E[max⁡aQ^a]⏟我们实际用的估计 ≥ max⁡aE[Q^a]=max⁡aQa⏟真实目标.(5.7)\underbrace{\mathbb{E}\big[\max_a \hat Q_a\big]}_{\text{我们实际用的估计}}\ \ge\ \max_a\mathbb{E}[\hat Q_a]=\underbrace{\max_a Q_a}_{\text{真实目标}}. \tag{5.7}

等号条件取决于动作价值差异与噪声支撑;不应概括为仅当噪声退化。该不等式说明 max⁡\max 可能带来正偏差,但不保证每个状态、每次训练都过估计。

第 2 步(偏差来源):偏差恰等于 E[max⁡aQ^a]−max⁡aQa\mathbb{E}[\max_a\hat Q_a]-\max_a Q_a。考虑最能暴露问题的情形——mm 个动作真值全相等(Qa≡QQ_a\equiv Q),则 max⁡aQa=Q\max_a Q_a=Q,而偏差 =E[max⁡aϵa]≥0=\mathbb{E}[\max_a\epsilon_a]\ge 0,正好是”mm 个零均值噪声取最大”的期望。max⁡\max 倾向选中恰好被误差抬高的动作;自举还可能把这种偏差传播到其他状态,但偏差大小取决于误差结构 [2]。

第 3 步(Double 修正:解耦”选/评”):偏差来自”用同一套估计既选动作又评估其价值”——选中的和被高估的是同一个随机量,正相关放大了 Jensen 间隙。Double Q-learning 用一套网络选贪心动作、另一套网络评其价值:

yDouble=r+γ Qϕ− ⁣(s′, arg⁡max⁡a′Qϕ(s′,a′)⏟在线网络 ϕ 选).(5.8)y^{\text{Double}} = r + \gamma\, Q_{\phi^-}\!\Big(s',\ \underbrace{\arg\max_{a'} Q_{\phi}(s',a')}_{\text{在线网络 }\phi\text{ 选}}\Big). \tag{5.8}

动作由在线网络 ϕ\phi 选、价值由目标网络 ϕ−\phi^- 评。两者是延迟关联的网络,并非独立;这种部分解耦在论文实验中显著降低了过估计,但不提供一般无偏保证 [2]。

图 5:DQN 在论文实验中出现 Q 值上偏;Double DQN 通过部分解耦"选/评"降低过估计。

图 5:DQN 在论文实验中出现 QQ 值上偏;Double DQN 通过部分解耦”选/评”降低过估计 [2]。

8. Dueling / PER / n-step / Rainbow

改进核心思想解决的问题
Dueling 架构把 QQ 拆成 V(s)+A(s,a)V(s)+A(s,a) 两支(AA 减去均值以可辨识)许多状态下动作无关紧要,单独学 VV 更高效、泛化更好
优先经验回放 (PER)按 TD 误差 ∣δ∣\vert \delta\vert 大小采样,配重要性权重纠偏让”信息量大”的转移被更频繁重放,加速学习
n-step 回报目标用 ∑k=0n−1γkr+γnmax⁡Q\sum_{k=0}^{n-1}\gamma^k r + \gamma^n\max Q在偏差-方差谱上折中,加快奖励传播(呼应模块 04)
分布式 RL (C51/QR)学回报的整个分布而非期望更丰富的学习信号、更稳定
NoisyNet参数化噪声实现状态相关探索替代 ϵ\epsilon-greedy 的启发式探索
Rainbow组合 Double、PER、Dueling、multi-step、distributional、NoisyNet 共六项扩展论文以组合实验与逐项消融评估互补性 [3]

本质 Insight

Rainbow 的消融表明,多项扩展可以在其 Atari 设置中组合并贡献不同程度的收益;这不证明收益近乎线性,也不证明各组件严格正交 [3]。

分布式 RL:C51 / QR-DQN / IQN——学分布而非期望

标准 DQN 学的是期望回报 Q(s,a)=E[Z(s,a)]Q(s,a)=\mathbb{E}[Z(s,a)]。分布式 RL 的核心一跃是:直接学随机回报 Z(s,a)Z(s,a) 的整个分布。它满足分布式贝尔曼方程(=D\stackrel{D}{=} 表分布相等):

Zπ(s,a)  =D  R(s,a,S′)+γ Zπ(S′,A′),S′∼P(⋅∣s,a), A′∼π(⋅∣S′).(5.9)Z^\pi(s,a)\;\stackrel{D}{=}\;R(s,a,S')+\gamma\, Z^\pi\big(S',A'\big),\quad S'\sim P(\cdot\mid s,a),\ A'\sim\pi(\cdot\mid S'). \tag{5.9}

三种代表方法的差别,恰好是”分布用什么参数化”的三种正交选择:

方法固定什么 / 学什么训练损失关键差异
C51固定支撑([Vmin⁡,Vmax⁡][V_{\min},V_{\max}] 上 51 个等距原子 ziz_i),学各原子概率 pi(s,a)p_i(s,a)把贝尔曼更新后的分布投影回固定原子,最小化交叉熵/KL须预设值域;分布是”竖着”离散的(概率可变、位置固定)
QR-DQN固定概率(NN 个均匀分位 τi=2i−12N\tau_i=\frac{2i-1}{2N}),学分位点位置(quantile 值)分位数回归(quantile / pinball + Huber)无需预设值域;“横着”离散(位置可变、概率固定),与 C51 恰好对偶
IQN连概率也不固定:采样 τ∼U[0,1]\tau\sim U[0,1],学一个把 τ↦\tau\mapsto 分位值的隐式函数对采样 τ\tau 的分位数回归逼近整条连续分位函数;可做风险敏感策略(对 τ\tau 加权)

本质 Insight:为什么”学分布”即便只按期望行动也更好?

我们最终仍按期望(或分位加权)贪心,那学整条分布图什么?——分布目标提供了远比标量更丰富的监督信号:网络被迫区分”稳拿 5 分”与”半概率 0 分半概率 10 分”,这像一个强力的辅助任务,逼出更好的表征、让自举更稳。C51→QR→IQN 是同一思想”把分布的哪一维交给网络”的逐步放松:C51 固定位置学概率,QR 固定概率学位置,IQN 两头都不固定、直接学函数。

优先经验回放:采样概率与重要性权重的偏置修正

均匀回放对所有转移一视同仁,但”TD 误差大”的转移信息量更大。优先经验回放(PER) 按优先级 pip_i 采样,pi=∣δi∣+εp_i=|\delta_i|+\varepsilon(比例式,ε\varepsilon 防零)或 pi=1/rank(i)p_i=1/\text{rank}(i)(排名式)。样本 ii 的采样概率为

P(i)=pi α∑kpk α,α∈[0,1],(5.10)P(i)=\frac{p_i^{\,\alpha}}{\sum_k p_k^{\,\alpha}},\qquad \alpha\in[0,1], \tag{5.10}

这里的 α\alpha 是优先级指数(控制”多大程度按优先级采样”的旋钮),与式(5.5) 里 Q-learning 那个学习率 α\alpha 只是碰巧同名、含义无关,切勿混淆。α=0\alpha=0 退回均匀采样,α=1\alpha=1 完全按优先级。问题:非均匀采样改变了样本的期望分布——SGD 想估计的是”在回放分布下的期望梯度”,如今被这个偏置扭曲了。修正:给每个样本乘一个重要性采样(IS)权重抵消偏置:

wi=(1N⋅P(i))β/max⁡jwj,β:0→1 退火.(5.11)w_i=\Big(\frac{1}{N\cdot P(i)}\Big)^{\beta}\Big/\max_j w_j,\qquad \beta:0\to 1\ \text{退火}. \tag{5.11}

直觉:被过采样(P(i)P(i) 大)的样本权重被压小,正好抵消它出现太频繁带来的偏置;除以 max⁡jwj\max_j w_j 只做归一化、保证权重 ≤1\le 1、稳住更新尺度。β\beta 从小值退火到 1——训练早期允许有偏(快、无所谓精确),后期 β→1\beta\to1 做完全无偏的修正(此时估计需要更准)。TD 更新即变为 Δθ∝wi δi ∇θQ\Delta\theta\propto w_i\,\delta_i\,\nabla_\theta Q。

Rainbow:各组件消融的定性收益

Rainbow(Hessel et al., 2018)的消融实验回答了”哪个 trick 最值钱”。定性结论(逐个拿掉某组件看性能掉多少):

  • 优先回放(PER)与多步(n-step)回报:贡献最大——拿掉任一个,性能与学习速度下降最明显。二者一个管”用好样本”、一个管”快传奖励”。
  • 分布式(C51):贡献显著,尤其在训练后期决定最终水平。
  • Double:边际贡献较小(在其他组件已抑制部分过估计后),但几乎零成本,留着无妨。
  • Dueling 与 NoisyNet:贡献温和、任务相关——某些游戏受益明显,另一些几乎无差别。

前沿实践

编者判断: 分布式价值、n-step 与优先回放常被作为可组合组件研究,但是否采用取决于任务和代码库,不能笼统称为默认配置。Rainbow 的消融方法论提醒后来者:报告组合方法时应做组件消融,避免把组合收益归给单一创新。

9. 连续动作:DDPG 与 TD3

Q-learning 的 max⁡a′Q(s′,a′)\max_{a'}Q(s',a')(式(5.2) 里那个内层 max⁡\max)在连续动作下无法枚举。两条思路:(1) 用优化/采样近似 max⁡\max;(2) 学一个确定性策略网络 μθ(s)≈arg⁡max⁡aQ(s,a)\mu_\theta(s)\approx\arg\max_a Q(s,a) 来替代 max⁡\max。后者即 DDPG(确定性策略梯度 + DQN 式 critic,off-policy actor-critic):

y=r+γ Qϕ−(s′, μθ−(s′)),∇θJ≈E[∇aQϕ(s,a)∣a=μθ(s) ∇θμθ(s)].(5.12)y = r + \gamma\, Q_{\phi^-}\big(s',\ \mu_{\theta^-}(s')\big),\qquad \nabla_\theta J \approx \mathbb{E}\big[\nabla_a Q_\phi(s,a)\big|_{a=\mu_\theta(s)}\,\nabla_\theta \mu_\theta(s)\big]. \tag{5.12}

TD3(Fujimoto 2018)针对 DDPG 的过估计与脆弱做三项修补:双 critic 取最小(抑制过估计,对应第 7 节式(5.7) 的偏差)、目标策略平滑(对目标动作加噪声,正则化尖锐 QQ)、延迟策略更新(critic 多更新几次再动 actor,稳住目标)。

TD3 三处修补:逐处拆解

① 双 Q 取最小(clipped double-Q)——治过估计

维护两个独立 critic Qϕ1,Qϕ2Q_{\phi_1},Q_{\phi_2},目标取二者较小值:

y=r+γ min⁡j=1,2Qϕj−(s′,a~).(5.13)y=r+\gamma\,\min_{j=1,2}Q_{\phi_j^-}\big(s',\tilde a\big). \tag{5.13}

第 7 节(式(5.7))说 max⁡\max 在特定误差条件下会产生高估;这里主动取 min⁡\min 是悲观侧的对冲,用来限制高估经自举传播。这是 Double DQN “解耦选/评”(式(5.8))思想在连续控制里的变体。

② 目标策略平滑(target policy smoothing)——治尖锐 Q 峰

算目标时给目标动作加一点截断噪声,再进 critic:

a~=μθ−(s′)+clip⁡(ϵ,−c,c),ϵ∼N(0,σ).(5.14)\tilde a=\mu_{\theta^-}(s')+\operatorname{clip}\big(\epsilon,-c,c\big),\qquad \epsilon\sim\mathcal N(0,\sigma). \tag{5.14}

确定性策略容易钻 critic 的空子——若 QϕQ_\phi 在某个动作附近有个虚高的尖峰(函数逼近误差),策略会一头扎进去。加噪声等于在动作邻域做局部平均,把尖峰抹平,是一种”期望 SARSA”式的正则化,让学到的值对动作扰动更鲁棒。

③ 延迟策略更新(delayed policy updates)——稳目标

每更新 critic dd 次(常 d=2d=2)才更新一次 actor 与目标网络。理由:actor 在追一个还没学准的 critic,若二者同频更新,critic 的估计误差会被 actor 立刻放大并反馈回目标,误差累积。让 critic 先”沉淀”几步、方差降下来,actor 再动,显著降低目标的抖动与发散风险。

图 6:TD3 在 DDPG 之上的三处修补——双 critic 取 min(治过估计)、目标动作加截断噪声(治尖锐 Q 峰)、延迟 actor/目标更新(稳住自举目标)。

图 6:TD3 在 DDPG 之上的三处修补——双 critic 取 min(治过估计)、目标动作加截断噪声(治尖锐 QQ 峰)、延迟 actor/目标更新(稳住自举目标)。

本质 Insight

把本模块的两个”修补”并排看,会发现乐观与悲观其实是同一台”不确定性估计”机器的正负号。探索时我们对不确定的动作加一个奖励(乐观,见模块 10 的 UCB);而这里 Double DQN、TD3 的双 critic 取 min⁡\min 恰恰相反——对可能被高估的动作减一个量,是悲观侧的同一操作(这条悲观主线在 模块 09 的 CQL 里会被推到极致)。另一处统一:连续动作下 max⁡aQ(s,a)\max_a Q(s,a) 无法枚举,DDPG/TD3 用一个确定性策略网络 μθ(s)≈arg⁡max⁡aQ(s,a)\mu_\theta(s)\approx\arg\max_a Q(s,a) 把这个昂贵的内层 max⁡\max 摊销(amortize) 成一次前向——这与模块 07 用策略网络摊销 eQ/αe^{Q/\alpha} 采样、模块 08 用策略网络摊销规划,是同一种”用学习替代搜索”的套路(统一视角见 模块 15)。

前沿实践

编者判断: SAC 是连续控制中常用的 off-policy actor-critic 方法之一。PPO-in-RLHF 使用 value critic,而 GRPO 用组内相对奖励替代 critic;省显存和减少 critic 训练成本是其公开动机之一,具体收益仍依任务与实现而定。

讨论课 · Section 4:DQN and SAC(DQN 部分)

本节取自 CS285 Discussion Section 4(DQN and SAC),这里只覆盖 DQN 的工程实现——完整的训练循环、一份实践清单、以及发散时的排查表。SAC(最大熵 off-policy AC)的理论与实现细节见 模块 07。目标是把第 6–7 节的原理落成”能跑且不发散”的代码。

4.1 DQN 训练循环伪代码

把回放采样、目标 yy、Huber 损失、目标网络同步四件事拼进一个 step 循环:

# DQN 训练循环(每步:一次环境交互 + 一次 learn)
D  = ReplayBuffer(capacity=1_000_000)
φ  = init_Q_network()
φ⁻ = copy(φ)                                   # 目标网络(冻结的标签来源)
ε  = 1.0

for step in range(total_steps):
    # —— 交互:ε-greedy 采样 ——
    if random() < ε:  a = random_action()
    else:             a = argmax_a Q_φ(s, a)
    s2, r, done = env.step(a)
    D.add(s, a, r, s2, done)
    s = env.reset() if done else s2

    # —— ε 线性退火:从 1.0 退到 ε_end(如 0.01)——
    ε = max(ε_end, ε − (1.0 − ε_end) / anneal_steps)

    # —— 学习:热身后每 train_freq 步抽一个 minibatch ——
    if len(D) >= learn_start and step % train_freq == 0:
        (s, a, r, s2, done) = D.sample(batch=32)
        with no_grad():
            y = r + γ * (1 − done) * max_a2 Q_φ⁻(s2, a2)   # 目标网络算 y
        td   = Q_φ(s, a) − y
        loss = mean( huber(td, δ=1.0) )                    # Huber / smooth-L1
        g    = grad(loss, φ)
        φ ← φ − lr * clip_grad_norm(g, max_norm=10.0)      # 梯度裁剪

    # —— 目标网络同步:每 C 步硬同步(或 Polyak 软同步)——
    if step % C == 0:      φ⁻ ← φ                          # 硬同步
    # 软同步替代:  φ⁻ ← τ*φ + (1−τ)*φ⁻

Double DQN:只改目标 y 的一行

把”选动作”和”评价值”用不同网络解耦(呼应第 7 节的过估计分析),实现上只是把 yy 的计算换成两行:

# Double DQN:在线网络“选”,目标网络“评”
a_star = argmax_a2 Q_φ (s2, a2)                # 选:在线网络 φ
y      = r + γ * (1 − done) * Q_φ⁻(s2, a_star) # 评:目标网络 φ⁻

对比原始 DQN 的目标 y=r+γmax⁡a′Qϕ−(s′,a′)y=r+\gamma\max_{a'}Q_{\phi^-}(s',a')(即式(5.6) 的样本目标)与 Double 目标 式(5.8)——差别仅在于 arg⁡max⁡\arg\max 用 ϕ\phi 而非 ϕ−\phi^-,几乎零额外成本却显著抑制过估计。

4.2 实践清单(抄下来自查)

必做项

  • ε\varepsilon 退火:线性从 1.01.0 退到 0.01 ⁣∼ ⁣0.050.01\!\sim\!0.05,退火步数常占总步数的 10%~20%;退完保持一个小的探索底噪。
  • frame stacking:Atari 把最近 4 帧叠成通道输入,让网络能感知速度/方向(单帧无法区分运动状态),并做灰度化 + 84×84 缩放。
  • 梯度裁剪:对全局范数裁剪(如 1010)或用 Huber 隐式限幅,防止个别大 TD 误差把网络一步打崩。
  • target 更新频率 CC:太小 → 目标乱抖、退化成”追移动靶”;太大 → 目标太旧、学习变慢。硬同步周期或软更新系数应按算法、任务与训练尺度调节,二者不能直接等价换算。
  • Huber loss:∣td∣≤δ|td|\le\delta 时用平方、之外用线性,兼顾小误差的灵敏与大误差的鲁棒,是 DQN 稳定的关键之一。
  • learn_start 热身:先随机策略填充回放缓冲(如 5 万步)再开始学习,避免早期在极窄分布上过拟合。

4.3 发散/不收敛排查

Q 值爆炸或不学时,按此排查

  • Q 值单调飙升到很大 → 目标网络失效或 CC 太小;确认 yy 确实用 ϕ−\phi^- 且已 no_grad;考虑上 Double DQN 抑制过估计。
  • loss 突然爆炸/NaN → 未做梯度裁剪或未用 Huber;学习率过大;奖励未裁剪/归一化(Atari 常把奖励 clip 到 [−1,1][-1,1])。
  • 完全不学(回报平坦) → ε\varepsilon 退火太快导致探索不足;learn_start 太小;train_freq 与 batch 不匹配导致更新过稀。
  • 训练中途崩塌 → 回放缓冲太小、被近期高度相关样本主导;增大 capacity 或用 PER 并配重要性权重纠偏。
  • 致命三要素自检:函数逼近 + 自举 + off-policy 同时在场(见第 5 节),任何不稳都优先怀疑”目标不够稳定”,从加大 target 稳定性入手。

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

价值方法这一族的演化,可以读成一部”为把自举稳住而不断打补丁”的历史:从表格 Q-learning 的收敛保证,到函数逼近下的发散风险,再到 DQN 的两个稳定化技巧、Double 的过估计修正,最后是 Rainbow 的组件组合与连续动作的 DDPG/TD3。下表逐一给出每个关键方法针对上一个的局限而生的动机。

方法 / 代表作(年代)动机(要解决什么)启发 / 脉络关键局限(→ 引出谁)
TD 学习(Sutton, 1988)不等回合结束,就从”下一步的预测”里自举地更新价值,加速估计动物学习的时序差分预测;动态规划的自举本身只做预测(策略评估),不含控制/寻优 → 引出 Q-learning
Q-learning(Watkins, 1989)无模型地学最优动作值 Q⋆Q^\star,且天然 off-policy、可复用任意数据值迭代 + 随机近似(Robbins–Monro 步长条件)表格式,状态空间一大就不可行 → 需要函数逼近(FQI/DQN)
致命三要素(Sutton 归纳;Baird 反例 1995)诊断:解释”函数逼近 + 自举 + off-policy”三者同现时的发散风险Baird 星形反例;投影与贝尔曼更新的复合可能不再压缩它描述的是高风险组合;移除某一要素可避开该组合,但不构成无条件稳定保证
DQN(Mnih et al., 2013/2015)让神经网络 QQ 能从 Atari 像素输入训练经验回放(去相关 + 复用)+ 目标网络(冻结自举标签)在部分游戏中出现明显过估计 → 引出 Double DQN
Double DQN(van Hasselt, 2016)治 max⁡\max 算子的 Jensen 型正偏差(过估计)Double Q-learning:把”选动作”与”评价值”用不同网络解耦只解决过估计这一个病灶 → 其余病灶引出 Dueling/PER/…
Dueling(Wang et al., 2016)许多状态下动作选择影响较小时,分开表示 VV 与 AA把 Q=V(s)+A(s,a)Q=V(s)+A(s,a) 分解为两支只改架构,不直接改变回放采样或目标构造
优先经验回放 PER(Schaul et al., 2016)让”信息量大”(∣δ∣\vert \delta\vert 大)的转移被更频繁重放,加速学习规划中的优先扫描(prioritized sweeping)非均匀采样引入偏置,须用重要性采样权重纠偏
分布式 RL / C51(Bellemare et al., 2017)学整个回报分布 Z(s,a)Z(s,a) 而非期望,提供更丰富的监督信号分布式贝尔曼方程;把分布当强力辅助任务C51 须预设值域、投影回固定原子 → 引出 QR-DQN/IQN
Rainbow(Hessel et al., 2018)把 Double/Dueling/PER/n-step/C51/NoisyNet 六项组合在统一实验设置中检验这些组件能否互补组件多、调参与消融复杂;报告组合效果时需要组件消融
DDPG / TD3(Lillicrap 2016 / Fujimoto 2018)把价值方法推广到连续动作(max⁡a\max_a 无法枚举)确定性策略梯度 + DQN 式 critic;双 QQ 取 min⁡\min 的悲观对冲探索弱、仍脆弱 → 引出最大熵的 SAC(模块 07)

演进故事线:从收敛保证到”驯服自举”

故事始于一个漂亮的定理:表格 Q-learning 因贝尔曼算子在无穷范数下是 γ\gamma-压缩映射,能收敛到 Q⋆Q^\star。但把表格换成神经网络,保证立刻崩塌——拟合是在数据加权的 L2L_2 范数下做投影,当”函数逼近 + 自举 + off-policy”三者同时在场(致命三要素),复合算子 ΠT\Pi\mathcal T 的谱半径可 >1>1,误差被乘性放大,Baird 反例里奖励全 0、真值恒为 0,V^\hat V 却指数爆炸。这就是所有后续工作的共同敌人。

DQN 用经验回放降低样本时序相关并复用数据,用目标网络减慢自举目标的变化;这些措施缓解不稳定,但不提供一般收敛保证。max⁡\max 算子在特定估计误差下会产生过估计,Double DQN 用”选/评”部分解耦来降低该偏差。PER、n-step、C51、Dueling 与 NoisyNet 分别改变采样、目标、回报表示、网络结构和探索;Rainbow 的实验表明它们可在其 Atari 设置中组合,但收益并非线性叠加,也不能据此认定组件严格正交 [3]。

遗留局限如何催生下一步

连续动作下 max⁡aQ(s,a)\max_a Q(s,a) 无法靠枚举求解,DDPG 用确定性策略网络 μθ(s)≈arg⁡max⁡aQ\mu_\theta(s)\approx\arg\max_a Q 近似这一内层优化;TD3 再引入双 QQ 取 min⁡\min、目标平滑与延迟更新。编者判断: 这些稳定价值估计的困难有助于理解为何部分 LLM 后训练方法选择不用独立 value critic;具体动机与收益仍应以各方法论文和实现为准。

10. 小结与要点

  • 价值方法的地基是贝尔曼最优算子的 γ\gamma-压缩性(无穷范数、表格情形),由此得几何收敛。
  • Q-learning = 值迭代的随机近似,天然 off-policy、样本高效;FQI 是其函数逼近版本,但只是半梯度、无一般收敛保证。
  • 致命三要素(函数逼近 + 自举 + off-policy)同时出现时可能发散;DQN 的回放与目标网络正是针对性的稳定化解药。
  • max⁡\max 在特定估计误差下会导致过估计,Double DQN 用”选/评”部分解耦来抑制;Rainbow 组合六项扩展并用消融评估其贡献。
  • 连续动作用 DDPG/TD3 以确定性策略近似内层 max⁡\max;SAC 是常用的连续控制方法之一(→ 模块 07)。

承上启下

我们已经看清价值方法的”稳定性”命门。回到策略这条线——朴素策略梯度步长极其敏感:走小了慢、走大了策略崩溃。模块 06 将从”参数空间 vs 分布空间”的几何出发,推导自然梯度、TRPO 的单调改进界与 PPO 的 clip,这套思想也正是现代 LLM RL 的直接前身。

参考来源

  1. [1]Reinforcement Learning An Introduction (second edition)(在新窗口打开)MIT Press · 2018-11-13 · 第 3–4、6、11 章 · 访问于 2026-10-17↩
  2. [2]Deep Reinforcement Learning with Double Q-learning(在新窗口打开)arXiv · 2015-09-22 · 第 4 节 · 访问于 2026-10-17↩
  3. [3]Rainbow Combining Improvements in Deep Reinforcement Learning(在新窗口打开)arXiv · 2017-10-06 · 第 3–4 节 · 访问于 2026-10-17↩
  4. [4]CS 285: Deep Reinforcement Learning(UC Berkeley)(在新窗口打开)UC Berkeley · L7–L8(含 DQN Section) · 访问于 2026-10-17