演示 / 强化学习 / DQN

DQN:回放经验,冻结训练目标

不再直接改一张Q表:一个真正的7→8→2小神经网络通过反向传播学习。单步拆开真实交互、经验回放和目标网络同步。

修改算法参数会暂停并从固定种子42重置;调整速度不重置。固定种子方便对照,不是性能基准。页面隐藏时自动暂停。

真实交互0
梯度更新0
目标同步0
到达终点0

图表可左右滑动查看,保留标签和数值大小。

y = r + γ (1−done) max Qθ⁻(s′,a′);L = 平均 ½ [Qθ(s,a)−y]²;θ ← θ − α∇θL

怎么观察

  1. 先点8次单步:经验池积累真实转移;之后交替收集和随机回放训练。回放不会移动智能体。
  2. 比较当前状态的蓝橙数值。在线网络每批更新,目标网络只在同步阶段复制;在两次同步之间被冻结。
  3. 把同步间隔调到1或100,观察目标滞后的变化。调低探索率可能更难首次发现奖励;这不是“越少越好”。

真实算法与教学简化

状态是7维one-hot,隐藏层8个tanh单元,线性输出两个Q值。真实执行ε-greedy、容量128的FIFO经验回放、均匀有放回抽取8条、批平均平方TD损失和SGD半梯度更新。γ=0.95;非终止奖励−0.02,到达最右端奖励+1并回到起点。终止转移不自举。

这是DQN核心机制的微型演示,不是Atari实验复现:没有像素输入、卷积网络、帧堆叠、RMSProp或原论文的TD误差裁剪。目标网络降低移动目标带来的不稳定,不保证任意超参数下收敛;本页不是Double DQN。

对照精读:DQN · Mnih等,Nature 2015 原论文