跳转到内容

DQN 及其改进

DQN 用经验回放打破样本相关、用目标网络稳定自举目标。本章逐一讲解 Double DQN(高估)、Dueling(价值/优势分解)、优先经验回放、n-step、Noisy Nets,以及 Rainbow 的消融结论。

把 Q-learning 的表格 Q(s,a)Q(s,a) 换成神经网络 Q(s,a;θ)Q(s, a; \theta),用 TD 误差做梯度下降:

L(θ)=E[( r+γmax⁡a′Q(s′,a′;θ−)−Q(s,a;θ) )2].\mathcal{L}(\theta) = \mathbb{E}\Big[\big(\, r + \gamma \max_{a'} Q(s', a'; \theta^-) - Q(s, a; \theta) \,\big)^2\Big].

直接做会失败:相邻样本高度相关(同一条轨迹)、目标随参数移动(自举)、max⁡\max 带来高估。DQN (Mnih et al., 2015) 用两个机制让它在 Atari 上第一次工作:

  • 经验回放(experience replay):把转移 (s,a,r,s′)(s, a, r, s') 存进大缓冲区,随机小批量采样更新。打破样本相关性(采样近似 i.i.d.)、让每条数据被多次复用(样本效率)、并使算法成为真正的 off-policy 学习(数据可来自旧策略)。
  • 目标网络(target network):用一套延迟更新的参数 θ−\theta^- 计算 TD 目标,让目标在一段时间内固定,抑制"目标移动"带来的振荡与发散。目标网络相当于减慢自举,是致命三要素最简单有效的缓解手段(→ 致命三要素)。

max⁡a′Q(s′,a′)\max_{a'} Q(s',a') 系统性地高估真实价值:即使 QQ 的估计无偏,对含噪估计取 max 也会得到偏大的值(Jensen 不等式的方向性问题),且误差随自举传播。标准估计式里"选择动作"与"评估动作"用的是同一套参数——估计误差同时决定被选中的动作和它的价值。

Double DQN (van Hasselt et al., 2016) 用在线网络选择动作、目标网络评估动作:

y=r+γ Q(s′,arg⁡max⁡a′Q(s′,a′;θ); θ−).y = r + \gamma\, Q\big(s', \arg\max_{a'} Q(s', a'; \theta);\ \theta^-\big).

两套参数的误差是近似独立的,高估因此被大幅削弱。改动只有一行,收益稳定。

Dueling 网络把 QQ 分解为"状态有多好"与"这个动作比平均好多少":

Q(s,a;θ)=V(s;θ)+A(s,a;θ)−1∣A∣∑a′A(s,a′;θ).Q(s, a; \theta) = V(s; \theta) + A(s, a; \theta) - \frac{1}{\lvert \mathcal{A} \rvert} \sum_{a'} A(s, a'; \theta).

减去均值项保证可辨识性。对"动作不影响结果"的状态,网络只需学 VV,不必为每个动作拟合相同的值——学习信号被集中到真正需要的量上(优势的用途见 → 价值函数与 Bellman 方程)。

均匀采样忽略了样本的"信息含量"。优先经验回放(PER, Schaul et al., 2016)按 TD 误差的绝对值加权采样:误差大 = 学得差 = 信息多。采样概率 pi∝(∣δi∣+ϵ)ωp_i \propto (|\delta_i| + \epsilon)^\omega,并用重要性权重 wi∝(Npi)−βw_i \propto (N p_i)^{-\beta} 修正采样引入的分布偏差。与 n-step 回放、Double DQN 并列,是 Rainbow 消融中贡献最大的组件。

n-step:TD 目标从一步 r+γQ(s′)r + \gamma Q(s') 换成 nn 步截断回报 ∑k<nγkrk+γnmax⁡Q(st+n)\sum_{k<n} \gamma^k r_{k} + \gamma^n \max Q(s_{t+n}),在 TD(0) 与 MC 之间取更远的视野,通常显著加快价值传播。

Noisy Nets:把探索从"行为策略加噪声"(ϵ\epsilon-greedy)搬进网络权重:线性层带可学习的参数化噪声,网络自己决定在哪些状态上探索。这探索是状态依赖的,且随训练自动退火——网络学会把噪声权重压小。

Rainbow (Hessel et al., 2018) 把上述组件与分布式 RL(C51)合体,并做了系统消融。结论:

  • 优先回放与 n-step 回放贡献最大;
  • 分布式 C51 次之(→ 分布式 RL:C51、QR-DQN 与 IQN);
  • Noisy Nets 在稀疏探索任务上重要;Dueling、Double 在不同任务上互有胜负;
  • 各组件的贡献大部分互补,合并后超过各部分之和。
  • 经验回放让 Q-learning 成为 off-policy 的必要条件
  • max 操作导致系统性高估,Double DQN 解耦选择与评估
  • Rainbow 消融:优先回放与 n-step 贡献最大