

前言#
需要说明的是,这个系列的博客是由我的幕布笔记转化而来,如果你更喜欢图文并茂的阅读,你可以去我的幕布空间进行阅读,受限于篇幅的原因,第十二章幕布笔记在这。如果你发现有哪些地方由逻辑错误,可以通过评论告知我,十分感谢!
开始#
表格型 Q-learning 很美,但它有一个致命前提: 能用表存下来。
一旦状态是图像、连续向量,或者组合爆炸,表格法就直接破产。DQN 的思路很简单:
用神经网络来近似 。
但你真写起来会发现:把监督学习那套直接套过来,会非常不稳定。文档提到 DQN 的两大关键工程件:
- 目标网络(target network)
- 经验回放(experience replay)
这俩几乎就是 DQN 能跑起来的原因。
DQN 是什么:深度版 Q-learning#
文档里给的定义很标准:DQN 是基于深度学习的 Q-learning,结合价值函数近似与神经网络技术。
我们仍然在学 ,仍然会用贪心或 ε-greedy 选动作:
差别是 现在不再是表格,而是网络 。
为什么会不稳定:自举 + 非独立样本 + 移动目标#
DQN 的训练目标通常是 TD target:
如果你用同一个网络同时:
- 预测
- 产生 target
那 target 会跟着你训练一起跑(移动目标),很容易发散。
目标网络(Target Network)#
文档提到用目标网络训练,这是第一个稳定性补丁:
- online network:
- target network:(参数延迟拷贝)
常见做法:
- 每隔 N 步把 复制给
- 或者做 soft update(更平滑)
经验回放(Replay Buffer)#
文档说“经历回放”,它解决的是:样本是序列相关的,直接在线更新会让梯度很偏。
Replay Buffer 的作用:
一方面,它通过随机采样 mini-batch 打破序列相关性,让梯度更像在做“近似 i.i.d.”的监督学习;另一方面,它可以反复使用同一条经验,提高样本利用率——这在环境交互昂贵的时候尤其关键。
工程经验:
- buffer 太小会过拟合最近经验
- buffer 太大又会“太离线”,学习变慢
DQN 的训练循环(伪代码)#
你可以把它当成三件事的循环:采样、存、学。
- 用 ε-greedy 从 选动作
- 与环境交互得
- 存入 replay buffer
- 从 buffer 采样 batch,构造 TD target,用 MSE 回归
本章小结:DQN 是“稳定性工程”的开端#
从这一章开始你会发现:深度 RL 的很多算法创新,本质都是在处理同一个难题——训练不稳定。
下一章我们继续沿着 DQN 往前走:Double / Dueling / PER / NoisyNet……这些“变形”每一个都在对着一个具体痛点开刀。