Skip to content

DQN总结

约 472 字大约 2 分钟

reinforcement learning

2026-03-22

一、DQN 一句话定义

Deep Q-Network 是一种将 Q-learning 与深度神经网络结合,通过最小化贝尔曼误差来逼近最优动作价值函数,从而实现最优决策的强化学习方法。

二、核心思想(本质)

DQN 做的事情可以一句话概括为:

用神经网络逼近最优 Q 函数 (Q^*(s,a))

然后在推理时: a=argmaxaQ(s,a) a^* = \arg\max_a Q(s,a)

Q 网络 = “动作评分器”

三、核心公式

1. 贝尔曼最优方程(理论基础)

Q(s,a)=r+γmaxaQ(s,a) Q^*(s,a) = r + \gamma \max_{a'} Q^*(s',a')

2. DQN 的训练目标

L=(Q(s,a;θ)y)2 \mathcal{L} = \left(Q(s,a;\theta) - y \right)^2

y=r+γmaxQ(s,a;θ) y = r + \gamma \max Q(s',a';\theta^-)

本质:

让当前 Q 网络逼近“最优未来收益”

四、训练流程

Step 1:初始化

  • Q 网络
  • Target 网络
  • Replay Buffer

Step 2:交互采样(ε-greedy)

探索 + 利用 \text{探索 + 利用}

Step 3:存数据

(s,a,r,s) (s,a,r,s')

Step 4:训练

  • 从 buffer 随机采样
  • 计算 target
  • 最小化 loss(梯度下降)

Step 5:更新 Target 网络

五、两个关键机制

1. Experience Replay

作用:

  • 打破数据相关性
  • 提高样本利用率

2. Target Network

作用:

  • 固定目标
  • 防止训练震荡

六、DQN 的本质理解

七、DQN 的优点

1. 能处理高维状态(图像)

(相比传统 Q-learning)

2. Off-policy

  • 可复用数据
  • 样本效率高

3. 结构简单

  • 易实现
  • 可作为 baseline

八、DQN 的核心问题

1. 不稳定(最关键)

原因:

  • 函数逼近
  • bootstrapping
  • off-policy

Deadly Triad

2. 过估计问题

来源: maxQ(s,a) \max Q(s',a')

3. 只能处理离散动作

不适合连续控制(车辆转向)

4. 分布偏移(Off-policy)

数据分布 ≠ 当前策略分布

九、重要改进版本

1. Double DQN

解决过估计

2. Dueling DQN

分解 V 和 A

3. Prioritized Replay

优先采样重要数据