致命三角:函数逼近 × 自举 × 离线训练

02-无模型价值方法 进阶 约 20 分钟 #致命三角#发散#致死三要素#off-policy 更新 2026-10-02
当前状态:未学
本文基于模型知识整理(生成时未联网核对),关键结论建议对照 Sutton & Barto 教材 §11 与 Tsitsiklis & Van Roy 原论文复核。

一句话定义

Deadly Triad:函数逼近(泛化)、自举(用估计更新估计)、离策略训练(数据分布 ≠ 目标分布)三者同时出现时,价值学习没有任何收敛保证,甚至发散到无穷——深度 RL 的不稳定不是工程瑕疵,而是这一理论结构的必然。

为什么重要

它解释了深度 RL 的几乎所有"玄学":DQN 为什么需要目标网络与回放(削弱三角)、为什么训练突然崩盘(三角合力超过约束)、为什么 on-policy 算法(PPO)更稳(天然消掉离策略一项)。理解三角,就把"调参运气"升级为"结构性风险识别"。

前置知识

kp-005(DP 的压缩性收敛)、kp-008(TD 的随机近似视角)、kp-009(off-policy)。

核心概念

  • 函数逼近:$\hat v(s;\theta)$ 用可微参数族替代表格——泛化带来"一处更新,多处扰动"。
  • 自举:目标含当前估计 $r + \gamma\hat v(s';\theta)$——更新目标随参数移动。
  • 离策略(off-policy):更新目标(如贪心 max)对应的分布 ≠ 采样分布——外推未访问区域的估值。
  • 三者的互斥保证:表格+自举+on-policy → 收敛(TD 理论);表格+自举+off-policy → 收敛(Q-Learning);函数逼近+不自举+任意 → 收敛(拟合式 MC/残差梯度的一部分);三者齐上 → 无保证。

原理与机制

发散的最小构造(Baird 反例):7 状态、5 动作的小 MDP,行为策略几乎不访问某些状态,半梯度 TD 配线性函数逼近也能让 $\|\hat v\|$ 冲向无穷。机制:off-policy 让"目标策略想去的区域"由泛化外推定价,自举把外推值当真值继续自举,误差在参数空间形成正反馈环——每一步都"更自信地更错"。

半梯度是帮凶:DQN/TD 的梯度只对预测端 θ 求导、把目标端 θ⁻ 视为常数(半梯度)——数学上不再是任何目标函数的梯度下降,无收敛理论。残差梯度(对目标也求导)理论上对齐真梯度,但受随机性与双采样限制实践少用。

工程上的减三角手段(每个现代算法都在做):

手段削弱的角实例
目标网络自举(目标短暂固定)DQN/DDPG/SAC
回放池+IS/截断离策略(分布偏移受控)PER 的 β、V-trace
on-policy 短窗更新离策略(数据=当前策略)PPO/A2C
不自举目标(MC/λ→1)自举REINFORCE、Monte-Carlo return
约束价值范围/归一发散幅度reward clip、Q 归一

诊断信号:Q 值均值单调漂高不回落、loss 振荡放大、评估性能突然雪崩——出现即应检查三角强度(目标网络同步频率、学习率、回放池新鲜度)。

图示

        函数逼近(泛化外推)
          ╱           ╲
   自举(目标=估计) ─── 离策略(分布错配)
   三者两两尚可收敛, 三角齐发 → 无保证, 可发散(Baird 反例)
   工程: 目标网络削自举 | on-policy/回放削离策略 | clip 削幅度

实例或案例

  • Baird 反例:教科书级最小发散构造,12 行代码可复现——强烈建议亲手跑一次看 $\|v\|$ 指数上升。
  • DQN 复现中的"玄学崩盘":同一代码不同随机种子结果天差地别(kp-030),根因即三角的临界状态——有的轨迹被噪声拉回,有的滑向发散。
  • PPO 的流行:不因理论更强,而因"结构性地削弱三角一角"(on-policy),稳定性可复制。

常见误区

  • 误区一:"我的损失是 MSE,收敛有保证"。半梯度 TD 的 MSE 目标随参数移动,不是固定目标函数的回归——回归的收敛直觉不适用。
  • 误区二:"线性函数逼近总安全"。Baird 反例用的就是线性——问题在三角组合,不在深度。
  • 误区三:"把学习率调小就解决"。小学习率只降低发散速度;结构性风险要靠削弱三角(目标网络、on-policy 窗口)而非调速度。

与其他知识点的关系

  • kp-005:对照——表格+on-policy 的 DP/TD 有压缩性保证。
  • kp-010/011:DQN 及其改进即"减三角工程史"。
  • kp-017:PPO 的流行是三角视角下的必然。
  • kp-030:多种子评估之所以必要,因为三角使训练轨迹高方差。

自测题

  1. 致命三角是哪三者?各自怎么助长发散?

答:函数逼近(外推未访问区域)、自举(把外推估计当真值再传播)、离策略(更新分布≠评估分布,放大外推)——合力形成误差正反馈。

  1. 目标网络削弱哪一角?原理?

答:削弱自举——目标端参数慢速移动,短窗口内"用估计更新估计"退化为"向近似固定目标回归",稳定性大增。

  1. 为什么 PPO 被认为"结构性更稳"?

答:on-policy 短窗更新使数据分布≈当前策略分布,天然消掉三角的离策略一角(剩余靠 clip 与小学习率压制)。

延伸阅读

  • Sutton & Barto 教材 §11.3(致命三角与 Baird 反例)。
  • Tsitsiklis & Van Roy, "An Analysis of Temporal-Difference Learning with Function Approximation"(1997,收敛/发散分界)。
  • Sutton 等, "Fast Gradient-Descent Methods for Temporal-Difference Learning with Linear Function Approximation"(GTD,最小二乘路线)。