DQN 改进族:Double、Dueling 与优先回放

02-无模型价值方法 进阶 约 20 分钟 #Double DQN#Dueling#优先经验回放#Rainbow 更新 2026-10-02
当前状态:未学
本文基于模型知识整理(生成时未联网核对),关键结论建议对照各原论文复核。

一句话定义

DQN 的三大系统性病灶各有一个标准解:Double DQN 治 max 操作的高估偏差(选动作与算价值用两套参数解耦)、Dueling 治状态价值与优势纠缠(网络分头输出 V 与 A)、优先经验回放治均匀采样浪费(按 TD 误差大小分配抽样概率)——六项改进打包即 Rainbow。

为什么重要

这一族改进是"读诊断→开药方"的完美教材:每项都对应一个被实证的失效模式(高估、表征纠缠、采样低效),每项都是一行改动级别的工程技巧。它们也说明深度 RL 的进步很多时候来自"修正无偏性/方差/效率",而非更大的模型。

前置知识

kp-010(DQN 损失与目标网络)、kp-008(TD 误差)。

核心概念

  • Double DQN:目标改为 $y = r + \gamma\,\hat q\!\left(s',\ \arg\max_{a'}\hat q(s',a';\theta);\ \theta^-\right)$——在线网络选动作,目标网络算价值。治"max 的正向偏差被自举放大"(高估),成本为零(网络已存在)。
  • Dueling 架构:网络输出 $v(s;\theta)$ 与 $A(s,a;\theta)$ 两头,合成 $Q = V + A - \frac{1}{|A|}\sum_{a'}A(s,a')$(减均值保可辨识性)。价值与优势解耦,很多状态的价值与动作无关(学 V 即可),样本效率提升。
  • 优先经验回放(PER):抽样概率 $p_i \propto |\delta_i|^\omega$(TD 误差大的样本优先学),配重要性权重 $(1/NP(i))^\beta$ 抵消分布偏移,δ 为零的新样本保底入池。
  • 其他 Rainbow 组件:多步学习(n-step 目标,kp-008 的 n 步)、分布 RL(C51,学回报分布而非期望)、噪声网络(NoisyNet,参数化探索替代 ε-greedy)。

原理与机制

为什么 max 会高估:对任何带噪声的估计 $\hat q = q + \epsilon$,有 $\mathbb{E}[\max_a \hat q] \ge \max_a q$——max 取的是"真实值+正噪声"的最大者,噪声越大高估越狠;自举把这个偏差逐层放大。Double 的解法是解耦选择与评估:θ 选出的动作由 θ⁻ 打分,两套参数的噪声不相关,期望偏差趋零。

Dueling 的可辨识性细节:$Q=V+A$ 下 (V,A) 与 (V+c, A−c) 等价——网络无法唯一确定两者,所以合成时减去优势均值(或 max)强制居中。这个"一行正则"是架构成立的必需品,也是面试常问点。

PER 的偏差-效率交易:按 TD 误差优先采样破坏了均匀分布假设 → 引入 IS 权重修正;β 从 0.4 线性升到 1(前期容忍偏差换效率,后期恢复无偏)。工程上注意:δ 会过时,需周期性重算或惰性更新。

图示

DQN 目标(高估):   y = r + γ·max_a' Q(s',a'; θ⁻)
Double:           y = r + γ·Q(s', argmax_a' Q(s',a';θ); θ⁻)
                  └在线选动作┘   └目标网络算价值┘
Dueling:          Q = V(s) + A(s,a) − mean_a' A(s,a')
PER:              P(i) ∝ |δ_i|^ω;  w_i = (1/N·P(i))^β

实例或案例

  • Atari 中位成绩:Double 单独+~100%、PER+~90%、Dueling 在动作相关性弱的游戏显著——三项叠加(+NoisyNet 等)即 Rainbow,中位数超基线约 3–4 倍。
  • 教学实验:CartPole 上对比 vanilla/Double 的 Q 值曲线——vanilla 的 Q 均值持续漂高,Double 平稳,是最直观的"看见高估"。

常见误区

  • 误区一:"Double DQN 要三个网络"。只要在线+目标两个——在线既做行为又做动作选择,目标网络只打分;名字有误导。
  • 误区二:"Dueling 减不加都行"。不减均值则 V/A 不可辨识,学出的 Q 会有随机漂移分量;正则是必需品。
  • 误区三:"组件越多必然越好"。Rainbow 各组件在不同游戏收益方差很大,消融显示没有万能套餐;组合收益需按任务验证。

与其他知识点的关系

  • kp-010:三者的共同底座。
  • kp-012:Double 治高估是"自举×函数逼近"病灶的直接修补。
  • kp-014:PER 的 IS 修正与 off-policy IS(kp-009)同思想。
  • kp-031:Atari 排行榜上这些组件的贡献量化。

自测题

  1. Double DQN 治什么病、怎么治?

答:治 max 的正向高估(噪声下 E[max]≥max,且被自举放大);用在线网络选动作、目标网络评估价值,解耦两套噪声。

  1. Dueling 为什么合成时要减优势均值?

答:Q=V+A 分解不唯一(V+c, A−c 等价),减均值强制 A 零中心,保证分解可辨识、训练稳定。

  1. PER 为什么要乘重要性权重?

答:按 TD 误差优先抽样偏离了数据原始分布,梯度估计有偏;IS 权重 $(1/NP(i))^\beta$ 把期望修正回均匀分布,β 渐升平衡效率与无偏。

延伸阅读

  • van Hasselt 等, "Deep Reinforcement Learning with Double Q-learning"(AAAI 2016)。
  • Wang 等, "Dueling Network Architectures for Deep RL"(ICML 2016)。
  • Schaul 等, "Prioritized Experience Replay"(ICLR 2016)。
  • Hessel 等, "Rainbow: Combining Improvements in Deep RL"(AAAI 2018)。