目标网络一开始也不强,为什么还要让它来提供学习目标?

DQN 双网络机制

约 10 分钟4 道小题

学完你能说清楚把新奖励和较慢更新的旧估计分开,减少 DQN 自我追赶造成的震荡。

01学完这一课,你能做到什么

学完这一课,你应该能:

  1. 解释在线网络和目标网络各自负责什么;
  2. 用奖励、折扣和下一状态估值手算 的学习目标;
  3. 说明经验回放与目标网络解决的是两类不同的稳定性问题;
  4. 区分硬更新、软更新、探索、训练步和环境步;
  5. 判断“训练越久一定越好”为什么不成立。

DQN 用神经网络近似 Q(s,a)。Q 值可以理解为:在某个状态采取某个动作,长期可能得到的累计回报估计。它是估计,不是已经赚到的钱,也不是可靠的未来价格预测。

一句话记住在线网络学习,目标网络稳住目标。

02先把两种网络放回整个系统

可以把每个状态和动作的价值放进一张 Q 表。比如有 6 个房间、6 个动作,只需记录 36 个格子。金融市场里的价格、、指标和账户状态是连续变化的,很难把所有组合逐一列出来,所以 DQN 用神经网络来近似这张表。

给定行情和账户状态,网络会输出买入、卖出、持有等动作的估计价值。策略再从合法动作中选择。这里的“目标网络”不是更聪明的老师,而是在线网络参数的一份较慢更新的副本。它的作用是让学习目标不要每一步都跟着当前预测一起剧烈变化。

可以先记住分工:

  • 在线网络:不断更新参数,给出当前状态和动作的预测;
  • 目标网络:暂时固定一段时间,为下一状态提供较稳定的估值;
  • 环境:执行动作并返回奖励、下一状态和是否终止;
  • 经验池:保存互动记录,供训练时抽样。
在线网络与目标网络

在线网络

参数持续学习,预测当前状态下实际动作的价值。

目标网络

参数较慢更新,为下一状态提供相对稳定的估值。

一句话记住目标网络是慢更新的旧经验,不是真老师。

03经验回放解决的是样本问题

智能体与环境互动后,把一条经历记录成:当前状态 s、动作 a、奖励 r、下一状态 s′,以及是否已经终止 done。这些记录放进经验池,也叫 memory。它像一本按时间积累的练习册。

训练时从经验池随机抽取一批记录,而不是只用刚刚发生的那一条。这样可以重复利用过去经验,也能减弱连续行情带来的样本相关性。

但经验回放不负责稳定学习目标。目标网络解决的是另一件事:用于计算下一状态价值的参数不要每次都立即变化。没有探索,经验池可能长期只有一种行为;没有稳定目标,网络又可能不断用自己的快速变化去追逐自己。两者不能互相替代。

一条经验如何进入训练
  1. 1与环境互动得到 s、a、r、s′、done
  2. 2存入经验池保留不同经历
  3. 3随机抽样组成训练批次
  4. 4计算目标使用目标网络

一句话记住回放管样本,目标网络管目标。

04学习目标由新奖励和未来估计组成

对于一条没有终止的经历,标准 DQN 的目标是:

y = r + γ × max Q_target(s′, a′)

其中 r 是刚刚得到的奖励,γ 是折扣因子,max 表示在下一状态的候选动作中取最大估值。在线网络预测当前状态下实际动作的 Q_online(s,a),训练让它逐渐接近 y。

假设即时奖励 r=80,目标网络对下一状态最佳动作的估值是 60,折扣因子 γ=0.99:

y = 80 + 0.99 × 60 = 139.4。

如果在线网络当前预测 Q_online(s,a)=50,预测误差就是 139.4−50=89.4。优化器会沿着减小损失的方向调整参数,通常不会一次把 50 直接改成 139.4。

如果 done 为真,已经没有下一状态的未来回报,目标只保留即时奖励:y=r。例如 r=−80 时,终止目标就是 −80;即使没有终止,负奖励也可能让目标降低。

“固定”只表示目标网络参数在一段时间内暂时不变,不表示每条样本的 y 都一样。不同状态、奖励和下一状态仍会产生不同目标。

DQN 的目标

y = r + γ × maxₐ′ Q_target(s′, a′)

终止状态没有未来项;先确认 done,再代入数字。

一句话记住目标不是抄答案,是奖励加未来估计。

05为什么不让两个网络每一步一起变化

如果当前预测和用于构造目标的估值都由同一套快速变化的参数产生,网络刚向一个目标调整,下一步目标又被自己改走了。这个过程像追逐移动靶,可能放大估计误差,造成震荡甚至不稳定。

目标网络把这条反馈链放慢:在线网络持续学习,目标网络暂时保持不动,经过一段时间再更新。它仍然可能估错,因为它不是人工标注的真值,也不是专家答案;只是让误差更容易被新奖励和新经验逐步纠正。

因此“目标网络固定”不等于“模型不会学习”,也不等于“训练必然收敛”。它只是把两个快速互相影响的变化拆开。

一句话记住相对稳定不等于正确,也不等于不变。

06硬更新和软更新,都是更新规则

硬更新是在约定的时间点把在线网络参数整体复制给目标网络:

θ_target ← θ_online

假设每 100 个训练步复制一次,那么复制点之前目标网络保持上一份参数,到了复制点才整体替换。100 是超参数,不是经验池大小,也不是从过去 100 步中挑一个最高 Q 值。

软更新则是每次只向在线网络靠近一点:

θ_target ← (1−τ)θ_target + τθ_online

假设旧目标参数为 10,在线参数为 14,τ=0.1,那么新目标参数为 0.9×10+0.1×14=10.4。它没有一步跳到 14,而是缓慢跟随。

硬更新和软更新不能在没有说明的情况下混写。复现时要记录使用哪一种、多久更新一次,或者 τ 取多少。

两种目标网络更新

硬更新

到达复制点时整体替换,复制前保持不动。

软更新

每次按 τ 小幅靠近在线参数,变化更连续。

一句话记住硬更新整份复制,软更新逐步靠近。

07探索和早停:训练不等于盲目试错

如果策略一开始就认定“不买”最好,并且永远不尝试其他动作,经验池里就没有新动作的反馈。因此训练阶段通常保留一定概率的随机探索,让智能体在合法动作范围内收集新经历。探索应在仿真环境和明确风险边界内进行,不能把真实账户当作无约束试错场。

评估已学策略时,通常关闭探索,使评估针对固定策略;同时要记录随机种子、数据区间和动作合法性规则。

最大迭代次数可以设为 5000,观察到约 2000 次已经稳定时,也可以考虑早停。但要分清环境步、梯度更新步和完整回合,不能都叫“轮数”。损失趋稳只是诊断信号,还要看独立验证区间的收益、回撤、、成本和稳定性,最后保留未参与选择的测试区间。

监督学习常有人工标签,通常没有逐动作标准答案,但它仍受奖励规则、状态表示、环境真实性和数据覆盖限制。没有标准答案,不等于能力无限。

一句话记住训练看验证和风险,不看单一损失。

08动手任务:把目标网络的变化记录下来

完成下面的练习:

  1. 建一张记录表,列出 s、a、r、s′、done、在线预测、目标网络最大估值、γ 和 y;
  2. 用 r=80、Q_target=60、γ=0.99 算出 y=139.4,再把 r 改成 −80,观察目标如何变化;
  3. 把 done 改为真,确认目标只等于即时奖励;
  4. 约定每 100 个训练步做一次硬更新,检查复制点前后两套参数的差别;
  5. 另用 τ=0.1 做一次软更新,比较它与硬更新的变化方式;
  6. 分别记录环境步、训练步和回合数,说明“5000”到底指哪一种。

验收时能回答:目标网络为什么不必更强仍然有用;目标网络固定后 y 为什么仍会变化;max 是对哪些动作取最大;参数复制为什么不等于复制收益最高的一轮。

一句话记住先写清计数口径,再判断训练是否稳定。

检验
检验一下

4 道小题

全部答对,这一课就算真正读懂了。答错了会告诉你为什么。

01目标网络最主要的作用是什么?
02r=80、γ=0.99、下一状态最大估值=60,非终止目标 y 是多少?
03如果 done 为真,标准 DQN 目标如何计算?
04判断训练是否应该早停,哪种做法更可靠?
知识卡

这一课,浓缩成一张卡

学完可以保存或分享给朋友。保存成图片的功能会在下一版加上。

AI+金融投资训练营 · DQN 双网络机制目标网络为什么有用?

它用较慢变化的旧参数构造下一状态估值,避免在线网络追逐自己快速变化的目标。

  • 在线网络持续更新
  • 目标网络相对稳定
  • 终止状态不加未来项
quant.jtxaionline.com
这一课的要点

记住这 5 句话

  1. 01DQN 用网络近似连续状态下的 Q 值;在线网络学习,目标网络提供慢更新的下一状态估值。
  2. 02经验回放解决连续样本相关性,目标网络解决学习目标快速移动,二者作用不同。
  3. 03非终止目标 y=r+γ×max Q_target;终止时 y=r。示例 80+0.99×60=139.4。
  4. 04硬更新是定期整体复制,软更新是按 τ 小步靠近;固定参数不代表目标正确或每个 y 相同。
  5. 05探索、独立验证和风险指标都要纳入训练流程,训练更久不保证结果更好。
完成这一课

完成这一课

读完讲义、答对小题,这一课就算学完了。

  • 读完讲义
  • 通过随堂自测

实验数据AI+金融投资训练营教学样本。固定教学样本

固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。