Dueling算法详解

Dueling DQN 是 2016 年由 DeepMind 提出的一个非常经典且至今仍然广泛使用的 DQN 网络结构改进。它并不是一个全新的算法,而是一种网络架构上的创新,可以无缝地插入几乎所有基于 DQN 的变体(Nature DQN、Double DQN、Rainbow、Agent57 等)中,通常都能带来 20

作者:lh

Dueling DQN 是 2016 年由 DeepMind 提出的一个非常经典且至今仍然广泛使用的 DQN 网络结构改进。

它并不是一个全新的算法,而是一种网络架构上的创新,可以无缝地插入几乎所有基于 DQN 的变体(Nature DQN、Double DQN、Rainbow、Agent57 等)中,通常都能带来 20%~100% 不等的性能提升,而且提升成本极低(改几行网络结构代码而已)。

一.核心思想(一句话总结)

把 Q 值拆成两部分独立学习:

Q(s,a) = V(s) + A(s,a)

其中:

  • V(s):状态本身的价值(与动作无关)
  • A(s,a):在这个状态下,采取动作 a 相对于平均水平的优势(advantage)

二.为什么要做这种拆分?实际意义是什么?


维度传统 DQN 的问题Dueling 网络的改进点带来的实际收益
状态价值学习很多状态下所有动作价值都差不多专门有一个支路专注学习状态价值 V(s)状态价值学得更快、更稳定
动作区分度低时网络必须自己慢慢学会“其实这个状态价值差不多”直接把大部分价值塞给 V(s),A 支路只学微小差异早期训练更快收敛,噪声更小
相似动作多时每个动作都要独立估计,浪费计算A 支路可以共享很多信息,只学相对差异在动作空间大、很多动作价值接近时特别有效
探索阶段Q 值波动大,容易误导探索V(s) 稳定,A 支路波动主要影响动作选择整体策略更稳定,探索更合理
样本效率需要更多样本才能区分细微动作差异状态价值共享,优势函数只学差异,样本利用率更高相同样本下学得更好,尤其稀疏奖励环境

一句话总结 Dueling 的最大价值:

“让网络把精力更多放在学习‘这个局面到底好不好’上,而不是把大量精力浪费在‘其实所有动作都差不多’的重复计算上。”

三.Dueling 网络结构(最经典实现方式)

输入:状态 s(图像/向量)
       ↓
共享卷积层 / 共享 MLP(特征提取)
       ↓
         ┌───────────────┐
         │               │
    ┌────▼────┐     ┌────▼────┐
    │  Value  │     │ Advantage│
    │  branch │     │  branch  │
    └────┬────┘     └────┬────┘
         │               │
         └───────┬───────┘
                 ↓
             合并方式
                 ↓
              输出 Q(s,a)
              
              

最常用的合并公式(2016 原论文使用,目前最广泛采用):

Q(s,a; θ,α,β) = V(s; θ,β) + ( A(s,a; θ,α) - mean_a' A(s,a'; θ,α) )

其中:

  • V(s):标量(1维)
  • A(s,a):每个动作一个值(动作空间大小维)
  • 减去均值(mean_a' A):最关键的技巧,让优势函数的平均值为 0,起到中心化的作用,避免 V 和 A 之间产生可相互抵消的冗余

为什么要减均值?(很重要!)

如果不减均值,V 和 A 之间存在无限多组等价解(比如 V+5,A 全部-5,Q 值不变),网络参数难以收敛,训练不稳定。

减去均值后,强制让 A 的平均值为 0,相当于把“基准价值”完全交给 V 支路,A 只负责学相对优势,识别度更高、优化更稳定

四.几种常见的变体(实际工程中会看到)


变体名称合并公式特点与使用场景流行程度(2025–2026)
原版(论文版)V + (A - mean(A))最经典、最稳,推荐默认使用★★★★★
max 版V + (A - max(A))早期有人尝试,效果略差于均值版★☆☆
不减任何东西V + A理论上可行,但训练不稳定,几乎没人用★☆☆
V + A - mean(A) + c加一个可学习常数(极少用)几乎没有必要★☆☆
Distributional Dueling把 V 和 A 都做成分布(C51/IQN/QR-DQN 等)目前最强价值类常用方式★★★★

五.实际效果数据(Atari基准,相对 Nature DQN)

组合方式平均性能提升(Human-normalized score)备注
Nature DQN基准2015原始版
Double DQN+47%解决过估计
Dueling DQN+20%~50%单独用也有效
Double + Dueling+70%~120%最经典黄金组合
Rainbow(含Dueling+Double)接近人类水平2017巅峰
现代Agent57 / NGU 等远超人类都默认包含Dueling结构

六.现代工程实践中的使用现状(2026年)

几乎所有仍然在使用价值网络(Q网络)的深度强化学习项目,都强烈推荐使用 Dueling 结构:

  • stable-baselines3 → PPO、DQN 默认支持 dueling
  • cleanrl → DQN/QR-DQN 实现都带 dueling
  • d3rlpy → 所有 Q-learning 系算法默认 dueling
  • 大多数学术论文复现 → 基本都默认带 Dueling + Double

一句话总结地位:

Dueling 结构是目前深度价值强化学习里“几乎没有理由不加”的改进之一。加它的成本极低(改几行网络代码),收益稳定且显著,属于“性价比最高”的结构创新之一。

七.快速记忆口诀

传统 Q 网络:“所有动作都从零开始学价值,很累”
Dueling 网络:“先统一学‘这个局面值多少钱’,再微调‘哪个动作比平均好一点/差一点’,聪明又省力”