DQN总结
一、DQN 一句话定义
Deep Q-Network 是一种将 Q-learning 与深度神经网络结合,通过最小化贝尔曼误差来逼近最优动作价值函数,从而实现最优决策的强化学习方法。
二、核心思想(本质)
DQN 做的事情可以一句话概括为:
用神经网络逼近最优 Q 函数 (Q^*(s,a))
然后在推理时: a∗=argmaxaQ(s,a)
Q 网络 = “动作评分器”
三、核心公式
1. 贝尔曼最优方程(理论基础)
Q∗(s,a)=r+γmaxa′Q∗(s′,a′)
2. DQN 的训练目标
L=(Q(s,a;θ)−y)2
y=r+γmaxQ(s′,a′;θ−)
本质:
让当前 Q 网络逼近“最优未来收益”
四、训练流程
Step 1:初始化
- Q 网络
- Target 网络
- Replay Buffer
Step 2:交互采样(ε-greedy)
探索 + 利用
Step 3:存数据
(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′)
3. 只能处理离散动作
不适合连续控制(车辆转向)
4. 分布偏移(Off-policy)
数据分布 ≠ 当前策略分布
九、重要改进版本
1. Double DQN
解决过估计
2. Dueling DQN
分解 V 和 A
3. Prioritized Replay
优先采样重要数据
