\documentclass[a4paper]{article}

\usepackage[fontset=fandol]{ctex}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}
\usepackage[margin=2.5cm]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{etoolbox}
\usepackage{subcaption}
\usepackage{listings}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{float}

\newtcolorbox{knowledgebox}[1]{
    enhanced, colback=blue!5!white, colframe=blue!75!black, colbacktitle=blue!75!black,
    coltitle=white, fonttitle=\bfseries, title=#1, boxrule=1pt, sharp corners
}

\newtcolorbox{importantbox}[1]{
    enhanced, colback=yellow!10!white, colframe=yellow!80!black, colbacktitle=yellow!80!black,
    coltitle=black, fonttitle=\bfseries, title=#1, sharp corners
}

\newtcolorbox{warningbox}[1]{
    enhanced, colback=red!5!white, colframe=red!75!black, colbacktitle=red!75!black,
    coltitle=white, fonttitle=\bfseries, title=#1, sharp corners
}

\lstset{
    basicstyle=\ttfamily\small,
    keywordstyle=\color{blue},
    stringstyle=\color{red!60!black},
    commentstyle=\color{green!60!black},
    breaklines=true,
    frame=single,
    numbers=left,
    numberstyle=\tiny\color{gray},
    captionpos=b,
    extendedchars=false
}

\newcommand{\notetitle}{CS224R Lecture 19: Q-Learning 复习与总结}
\newcommand{\noteauthors}{Anakiette 与 Stanford CS224R 教学团队整理}
\newcommand{\notedate}{2026 年 4 月 3 日}
\newcommand{\videochannel}{Stanford Online}
\newcommand{\videopublishdate}{2025}
\newcommand{\videoduration}{约 60 分钟}
\newcommand{\videourl}{https://cs224r.stanford.edu/}
\newcommand{\videocoverpath}{cover.jpg}
\newcommand{\repourl}{https://github.com/hqhq1025/ai-course-notes}


% Footer with repo info
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\thepage}
\fancyfoot[R]{\footnotesize\color{gray}\href{\repourl}{AI Course Notes}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\begin{document}

\begin{titlepage}
\centering
{\Large 课程笔记\par}
\vspace{1.2cm}
{\huge\bfseries \notetitle\par}
\vspace{0.8cm}
{\large \noteauthors\par}
\vspace{0.3cm}
{\large \notedate\par}
\vspace{1.1cm}

\ifdefempty{\videocoverpath}{
{\small 封面图未提供。\par}
}{
\includegraphics[width=0.82\textwidth,height=0.45\textheight,keepaspectratio]{\videocoverpath}\par
}

\vfill
\begin{tcolorbox}[width=0.9\textwidth, colback=black!2!white, colframe=black!60, sharp corners]
\textbf{视频作者/频道}：\videochannel\par
\textbf{发布日期}：\videopublishdate\par
\textbf{视频时长}：\videoduration\par
\textbf{讲者}：Anakiette (TA)\par
\textbf{课程主页}：\href{https://cs224r.stanford.edu/}{cs224r.stanford.edu}\par
\textbf{项目主页}：\href{\repourl}{\nolinkurl{\repourl}}\par
\end{tcolorbox}
\end{titlepage}

\tableofcontents
\newpage

%% --- 正文内容开始 --- %%

\section{MDP 基础回顾}

本讲由助教 Anakiette 主讲，作为课程总复习，从 MDP 基础出发回顾 Q-learning 的完整理论链条。

\textit{``We're going to start off by just doing a very very brief overview of MDPs.''} 这句开场既是提示，也是学习节奏的指南，提醒我们在完整的理论链条中先建立形式化符号体系，再逐层深入细节。

\subsection{马尔可夫决策过程}

\begin{importantbox}{MDP 五元组}
MDP 由 $(\mathcal{S}, \mathcal{A}, P, R, \gamma)$ 定义：
\begin{itemize}
    \item $\mathcal{S}$：状态空间
    \item $\mathcal{A}$：动作空间
    \item $P(s' | s, a)$：状态转移概率
    \item $R(s, a)$ 或 $R(s, a, s')$：奖励函数
    \item $\gamma \in [0, 1)$：折扣因子
\end{itemize}
\textbf{Markov 性}：下一个状态仅依赖当前状态和动作，与历史无关。
\end{importantbox}

\subsection{值函数与 Q 函数}

\begin{importantbox}{核心定义}
\textbf{状态值函数}：在状态 $s$ 下遵循策略 $\pi$ 的期望累积回报
$$V^\pi(s) = \mathbb{E}_\pi\left[\sum_{t=0}^{\infty} \gamma^t R(s_t, a_t) \mid s_0 = s\right]$$

\textbf{动作值函数}（Q 函数）：在状态 $s$ 下执行动作 $a$ 后遵循策略 $\pi$ 的期望累积回报
$$Q^\pi(s, a) = \mathbb{E}_\pi\left[\sum_{t=0}^{\infty} \gamma^t R(s_t, a_t) \mid s_0 = s, a_0 = a\right]$$

两者的关系：$V^\pi(s) = \sum_a \pi(a|s) Q^\pi(s, a)$
\end{importantbox}

\subsection{Bellman 方程}

\begin{importantbox}{Bellman 期望方程}
$$Q^\pi(s, a) = R(s, a) + \gamma \sum_{s'} P(s'|s,a) \sum_{a'} \pi(a'|s') Q^\pi(s', a')$$

\textbf{Bellman 最优方程}：
$$Q^*(s, a) = R(s, a) + \gamma \sum_{s'} P(s'|s,a) \max_{a'} Q^*(s', a')$$
\end{importantbox}

\subsection{策略迭代与价值迭代}

\begin{knowledgebox}{迭代视角的互补}
策略迭代（policy iteration）和价值迭代（value iteration）可以看作 Bellman 最优方程的两种实现路径：前者交替优化策略与价值函数，后者直接迭代最优价值。两者在收敛性质上都依赖于 Bellman 迭代的收缩性，但前者在每轮内对策略更新的精度更高，后者每步计算更简单。
\end{knowledgebox}

\begin{table}[H]
\centering
\begin{tabular}{ll}
\toprule
步骤 & 特征 \\
\midrule
策略迭代 & 明确构造行为策略（与旧策略做对齐）、值函数收敛后再改策略 \\
价值迭代 & 直接迭代 $V(s) \leftarrow \max_a [R+\gamma V(s')]$，省去显式策略存储 \\
两者的关系 & 价值迭代可看成策略迭代的一个特例（策略只在最后提取） \\
\bottomrule
\end{tabular}
\caption{在离散 MDP 中常见的迭代算子对比}
\label{tab:mdp-iteration}
\end{table}

\subsection{本章小结}

MDP 提供了 RL 的形式化框架。值函数和 Q 函数是评价策略好坏的核心工具，Bellman 方程描述了它们的递归关系。

\section{表格型 Q-Learning}

\subsection{Q-Learning 算法}

\begin{importantbox}{Q-Learning 更新规则}
Q-Learning 是一种 off-policy、model-free 的算法，直接学习最优 Q 函数：
$$Q(s, a) \leftarrow Q(s, a) + \alpha \left[r + \gamma \max_{a'} Q(s', a') - Q(s, a)\right]$$
其中：
\begin{itemize}
    \item $\alpha$：学习率
    \item $r + \gamma \max_{a'} Q(s', a')$：TD target（时序差分目标）
    \item $r + \gamma \max_{a'} Q(s', a') - Q(s, a)$：TD error
\end{itemize}
\end{importantbox}

\begin{knowledgebox}{Q-Learning 的 Off-Policy 特性}
Q-Learning 是 off-policy 的，因为它使用 $\max_{a'}$ 来计算 TD target，无论行为策略（用来收集数据的策略）是什么。这意味着我们可以用任意策略（如 $\epsilon$-greedy）来探索，同时学习最优策略。
\end{knowledgebox}

\subsection{探索策略与奖励缩放}

\begin{knowledgebox}{常见探索策略}
\begin{itemize}
    \item $\epsilon$-greedy：大部分时间选最优动作，$1-\epsilon$ 概率探索，适合离散动作空间。
    \item Boltzmann/softmax：通过温度控制随机性，便于把握不同动作的相对价值。
    \item Upper Confidence Bound（UCB）：结合置信区间，在样本不足的状态自动提高探索权重。
\end{itemize}
\end{knowledgebox}

\begin{importantbox}{奖励缩放与非平衡奖励}
Q-Learning 对奖励分布敏感，尺度过大导致 TD error 爆炸，过小又让梯度消失。常用做法包括归一化奖励、基准线减去平均 reward，以及对稀疏奖励做形状工程（dense reward shaping）。在实践中，配套的 instrumentation 应记录各状态-动作的 TD error 和 reward 分布，以便及时调整缩放策略。
\end{importantbox}

\begin{warningbox}{稀疏奖励中的虚假收敛}
当大量状态从未收到正奖励时，agent 可能会在负奖励区域收敛到局部最优策略。建议定期检查 replay buffer 中正负样本的比例，并通过 hindsight experience replay 或多任务辅助奖励增加密度。
\end{warningbox}

\subsection{收敛性条件}

\begin{importantbox}{Q-Learning 的收敛保证}
在表格型设定下（有限状态和动作空间），如果满足以下条件，Q-Learning 保证收敛到 $Q^*$：
\begin{enumerate}
    \item 每个状态--动作对被访问无穷多次
    \item 学习率满足 Robbins-Monro 条件：$\sum_t \alpha_t = \infty$，$\sum_t \alpha_t^2 < \infty$
\end{enumerate}
\end{importantbox}

\subsection{本章小结}

表格型 Q-Learning 通过 TD 更新直接逼近最优 Q 函数，具有理论收敛保证。

\section{Fitted Q-Iteration 与深度 Q 网络}

\subsection{从表格到函数近似}

当状态空间连续或很大时，无法维护 Q 值表格。解决方案是用函数近似器（如神经网络）来参数化 Q 函数。

\begin{importantbox}{Fitted Q-Iteration (FQI)}
FQI 将 Q-Learning 转化为监督学习问题：
\begin{enumerate}
    \item 用当前 Q 网络计算 TD target：$y_i = r_i + \gamma \max_{a'} Q_{\theta^-}(s_i', a')$
    \item 将 $(s_i, a_i)$ 作为输入，$y_i$ 作为标签，训练 Q 网络：
    $$\min_\theta \sum_i \left(Q_\theta(s_i, a_i) - y_i\right)^2$$
    \item 更新目标网络 $\theta^- \leftarrow \theta$
    \item 重复
\end{enumerate}
\end{importantbox}

\subsection{DQN 的关键技巧}

\begin{importantbox}{DQN (Deep Q-Network) 的创新}
DQN 引入了两个关键技巧使深度 Q-Learning 稳定工作：
\begin{enumerate}
    \item \textbf{Experience Replay}：将历史经验存储在 replay buffer 中，训练时随机采样 mini-batch。这打破了数据的时间相关性，提高了样本利用率。
    \item \textbf{Target Network}：使用一个周期性更新的目标网络 $Q_{\theta^-}$ 来计算 TD target。这减少了"移动的目标"问题带来的不稳定性。
\end{enumerate}
\end{importantbox}

\begin{warningbox}{函数近似 Q-Learning 的不稳定性}
与表格型不同，使用函数近似的 Q-Learning \textbf{不保证收敛}。Bellman 更新的收缩性质在函数近似下可能失效，导致：
\begin{itemize}
    \item Q 值发散（overestimation bias 的累积）
    \item 训练不稳定（oscillation 或 divergence）
    \item 对超参数敏感
\end{itemize}
这就是为什么需要 target network、experience replay 等稳定化技巧。
\end{warningbox}

\subsection{DQN 的改进}

\begin{itemize}
    \item \textbf{Double DQN}：用当前网络选择动作，目标网络评估值，减少 overestimation
    \item \textbf{Dueling DQN}：将 Q 函数分解为 $V(s) + A(s, a)$，分别估计状态值和优势
    \item \textbf{Prioritized Experience Replay}：按 TD error 大小优先采样，关注更有学习价值的经验
\end{itemize}

\subsection{本章小结}

从表格 Q-Learning 到 DQN 的核心跨越是函数近似。Experience replay 和 target network 是确保训练稳定的关键技巧。

\section{从 DQN 到 Actor-Critic}

\subsection{Q-Learning 的局限}

\begin{warningbox}{Q-Learning 在连续动作空间的困难}
Q-Learning 需要计算 $\max_{a'} Q(s', a')$，在离散动作空间中可以遍历所有动作。但在连续动作空间中，这个最大化操作变成了一个连续优化问题，计算代价很高。
\end{warningbox}

\subsection{Actor-Critic 方法}

解决方案：同时学习策略（actor）和值函数（critic）：
\begin{itemize}
    \item \textbf{Actor}：$\pi_\theta(a|s)$，参数化策略，输出动作
    \item \textbf{Critic}：$Q_\phi(s, a)$，评估 actor 选择的动作好坏
    \item Actor 用策略梯度更新，critic 用 TD 学习更新
\end{itemize}

\subsection{本章小结}

Actor-Critic 方法结合了策略梯度和值函数方法的优点，是处理连续动作空间的主流范式。

\section{Q-Learning 系统实践与监控}

\subsection{监控指标与数据质量}

\begin{knowledgebox}{关键观测指标}
\begin{itemize}
    \item Replay buffer 覆盖率：衡量最近 $N$ 个转移是否覆盖常见状态-动作对。
    \item TD error 分布：监控 TD error 的标准差与最大值，可提前感知数值爆炸。
    \item Action distribution drift：行为策略的采样频率是否偏向少数动作，防止训练走向狭窄策略。
\end{itemize}
\end{knowledgebox}

为了做到稳定部署，工程团队必须把上述指标暴露到训练仪表盘，并结合基准数据制定警戒线。摄取的经验应被打标签（如挑战性、稀疏 reward、环境变化）以便后续分析。

\begin{importantbox}{Replay Buffer 覆盖与分布警示}
如果 buffer 恰好被早期成功经验撑满，后续探索的样本无法进入训练，这会导致 agent 过早收敛。推荐设置 \texttt{min\_size} 和 \texttt{max\_size} 并定期用采样接口检查时间戳，必要时使用 \texttt{prioritized replay} 或 \texttt{rank-based} 重新激励采样。
\end{importantbox}

\subsection{经验回放策略与数据重平衡}

\begin{knowledgebox}{Experience Replay 重平衡技巧}
\begin{itemize}
    \item Prioritized Replay：以 $|\delta|^\alpha$ 作为采样权重，$\delta$ 为 TD error，$\alpha$ 控制偏好强度。
    \item Importance Sampling Correction：对优先样本做比例补偿，防止 policy bias。
    \item Diversity Buffer：保留来自不同子任务或者模拟 seed 的经验片段，避免训练陷入 narrow distribution。
\end{itemize}
\end{knowledgebox}

直接将 replay buffer 当作一个黑匣子是不够的，建议在每次训练迭代后记录新旧样本进入比例及其平均 reward。若新样本比例低于 30\%，说明探索效率下降，需要加大学习率或 epsilon。

\begin{warningbox}{Replay buffer 过度依赖旧数据}
随着训练推进，旧数据可能已经过时，尤其在非静态环境中。继续训练时要关注 buffer 中平均 timestep，若超过 50\% 的数据来自过去十分钟，可启用循环清洗或将优先级重新置为高值，避免旧策略主导梯度。
\end{warningbox}

\subsection{本章小结}

本章强调 Q-Learning 系统建设中的可观测性与 replay buffer 的健康度，任何一次大规模复训都应在数据收集、采样分布与 TD error 这三个维度设定 guardrail。

\section{深度 Q 网络变体与训练对比}

\subsection{关键变体剖析}

\begin{table}[H]
\centering
\begin{tabular}{lll}
\toprule
变体 & 核心机制 & 影响 \\
\midrule
Double DQN & 当前网络选动作，目标网络评估 & 抑制 overestimation，稳定性提升 \\
Dueling DQN & 分解 $Q=V+A$ & 更快学到状态价值，动作优势可共享参数 \\
Prioritized Replay & 根据 TD error 加权采样 & 快速拾取稀有 but 关键的转移 \\
Rainbow & 多个增强技巧组合（NoisyNet、Multi-step、Distributional） & 覆盖性更广，但调参更复杂 \\
\bottomrule
\end{tabular}
\caption{DQN 变体与其工程影响}
\end{table}

\begin{knowledgebox}{多维组合的适用场景}
不是所有场景都需要 Rainbow 的全套增强。在低容量环境下，Double DQN 结合 Dueling 已足以抑制过估。在富有计算资源的 Atari 任务或模拟驾驶中，Rainbow 多步回报与 NoisyNet 提供更强的泛化能力。
\end{knowledgebox}

\subsection{训练与推理成本对比}

\begin{importantbox}{训练 vs 推理 成本模型}
训练集中于采样与优化：$Cost_{train} \approx N_{\text{steps}} \times (^{\text{forward}}C + ^{\text{backward}}C)$；推理则在吞吐与延迟间权衡：$Cost_{infer} \approx C_{\text{forward}} + C_{\text{action selection}}$。若将 DQN 推向嵌入式设备，应考虑量化／剪枝以减少计算量。
\end{importantbox}

\begin{knowledgebox}{推理栈拆解}
Inference pipeline 通常包括：环境感知（state encoding）、Q 网络前向、$\arg\max$ 动作选择、行动滤波（如先验约束）、以及与模拟器接口的安全检查。在多 agent 协同中，还需把握通信与同步延迟。
\end{knowledgebox}

\begin{warningbox}{低延迟推理中的过度量化}
为了优化推理 latency，工程团队往往会对网络进行量化或剪枝，但如果没有保留关键路径（如最后一层 advantage 分支），Q 值排序可能被破坏。推荐保持双通道（量化用于推理，full precision 备份用于 periodic calibration）。
\end{warningbox}

\subsection{本章小结}

本章通过 DQN 变体对比与成本模型讨论，指出在不同资源约束下如何选择合适的增强技巧与算子组合。

\section{应用案例与演化时序}

\subsection{Benchmark 背景与时间线}

\begin{knowledgebox}{Q-Learning 演化时间线}
\begin{itemize}
    \item 1992 年：Watkins 的 Q-Learning 理论收敛。
    \item 2013 年：Mnih 等在 Atari 上用 DQN 实现 end-to-end 控制。
    \item 2015-2017 年：Double DQN、Dueling、Prioritized Replay、Rainbow 等陆续完善。
    \item 2016 年后：DQN 拓展到 MuJoCo、Roboschool 等连续控制任务，多 agent RL 与对抗训练开始流行。
\end{itemize}
\end{knowledgebox}

提出 benchmark 时总会面对一个抉择：是用简单环境获取重复性、还是用复杂环境逼近真实应用。Stanford 的课程复习强调了前者的控制性与后者的代表性之间的 trade-off。

\subsection{案例洞察}

\begin{importantbox}{Atari 案例复盘}
在 Atari Breakout 任务上，Agent 通过 frame stacking 提取动量信息，而 frame-skip 提高了训练效率。改变 reward shaping（例如加大 brick 击中奖励）后，agent 的策略发生了明显偏移，说明 reward scales 的调整容易触发新策略。
\end{importantbox}

\begin{warningbox}{现实应用中的观测偏差}
在机器人任务中，真实 sensor 噪声和模拟 sensor 差异可能导致 sim-to-real 的失败。即便在仿真中训练到高分，也必须做 domain randomization 并在部署前进行实际数据校对。
\end{warningbox}

\subsection{本章小结}

本章结合 benchmark 发展与经典案例，提醒我们即便掌握了算法细节，也要当心仿真与真实世界之间的信息缺口。

\section{常见故障与治理}

\subsection{故障共性}

\begin{warningbox}{训练中的泛化失败}
即使在训练环境中获得高 reward，agent 仍可能在稍有改动的初始状态下崩溃。原因通常是 replay buffer 过度依赖一小批高 reward 转移，难以覆盖状态空间。可以借助 entropy bonus 或多任务 replay 来缓解。
\end{warningbox}

\begin{knowledgebox}{治理关注点}
\begin{itemize}
    \item Policy drift：需保留 dev 策略样本作为窗内基准。
    \item Reward hacking：强化学习中 reward shaping 要谨慎，不可通过简单修改 reward 让 agent 找到 shortcut。
    \item 数据透明：记录每次更新使用的数据 slice，并定期与业务方核对行为日志。
\end{itemize}
\end{knowledgebox}

\subsection{干预机制}

\begin{importantbox}{Safe Interruptibility 与人为干预}
在训练过程中，保持 interruptibility 意味着当人类检测到异常时，可以安全终止或重置 agent，而不会引发奖励爆炸。实践中会设置 \texttt{kill switch}，同时记录最后一次 TD error 以帮助定位原因。
\end{importantbox}

\begin{warningbox}{过度干预带来的训练碎片化}
频繁中断训练会导致 replay buffer 中数据来自不同策略，破坏 off-policy 假设。建议在干预后执行 warm-start offline training，确保新策略有充分时间收敛。
\end{warningbox}

\subsection{本章小结}

治理层面需平衡自动训练与人为监控，干预机制应以 guardrail 为核心，避免重复训练碎片化。

\section{术语表与工具}

\subsection{关键术语速查}

\begin{table}[H]
\centering
\begin{tabular}{lp{10cm}}
\toprule
术语 & 释义 \\
\midrule
TD error & $r + \gamma \max_{a'} Q(s', a') - Q(s, a)$，用于衡量当前 Q 估计的更新量 \\
Prioritized Experience Replay & 根据 TD error 采样，并引入 IS correction \\
Target Network & 周期性同步的网络，稳定 TD target \\
State Action Coverage & replay buffer 中不同 state-action 对的分布 \\
\bottomrule
\end{tabular}
\caption{本讲涉及的重点术语}
\end{table}

\begin{knowledgebox}{工具链盘点}
常用工具包括：OpenAI Baselines（DQN 基础模板）、RLlib（支持多 agent）、MLFlow + TensorBoard（指标记录）、WeTest 或 Supersonic（在 edge 端量化验证）。
\end{knowledgebox}

\subsection{本章小结}

将术语表与工具链一并掌握有助于从理论跨越到工程实践，尤其是在复现 benchmark 和上线模型时省去重复摸索。

 \subsection{本章小结}

将术语表与工具链一并掌握有助于从理论跨越到工程实践，尤其是在复现 benchmark 和上线模型时省去重复摸索。

\section{评估策略与实验设计}

\subsection{离线指标与对比}

离线评估通常在与训练集不同的 holdout 环境中完成，以确保策略并未过拟合。常见指标包括累积 reward、episode 长度、稳定性（标准差）和 sample efficiency。下面的表格给出了这几个指标的关注点：

\begin{table}[H]
\centering
\begin{tabular}{lp{8cm}}
\toprule
指标 & 备注 \\
\midrule
累计 reward & 反映策略在固定起点下的任务完成度 \\
Episode length & 评估是否学会了更简洁的路径 / 效率 \\
Sample efficiency & 每单位环境交互带来的 reward 改善幅度 \\
稳定性 & 不同 seeds 下 reward 的波动，过大会导致部署风险 \\
\bottomrule
\end{tabular}
\caption{离线评估常用指标}
\end{table}

\begin{importantbox}{Sample efficiency 与 reward ceiling 的权衡}
有时候提升累计 reward 的边际收益非常低，但 sample efficiency 仍然未稳定，说明 agent 还在反复探索。建议在迭代曲线上同时跟踪两者，并在 plateau 期引入更强的 exploration 或 auxiliary task。
\end{importantbox}

\subsection{在线对照与干预}

在生产环境下，可采用 champion/challenger 或 A/B 形式对照测试新策略。应保证 challenger 只在较小流量下运行，并准备回滚策略。

\begin{knowledgebox}{A/B vs Champion/ Challenger}
A/B：线上流量按照比例直接路由到 challenger，适合 behavior policy 与 baseline 差异较小时；Champion/Challenger：在 shadow 环境运行 challenger，通过 offline evaluation 决策是否 promote。
\end{knowledgebox}

\begin{warningbox}{评价分布偏移}
训练环境与部署环境一旦存在观测噪声差异，离线指标的信号就可能失真。在安全敏感系统（如自动驾驶）中要优先建立 scenario 库用于 stress test。
\end{warningbox}

\subsection{本章小结}

本章梳理了 Q-Learning 的评估体系，强调同时关注累积 reward、样本效率与稳定性，并建议在部署前设置对照测试与 stress test。

\section{可解释性、调试与自动化}

\subsection{Q 值可视化与诊断}

在训练过程中，可以通过 heatmap 或 contour 观察 Q 值随动作、状态变化的分布。若某个动作一直得到极高 Q 分数却从未选出，可能表明行为策略实现（如 $\epsilon$-greedy）被 bug 影响。

\begin{knowledgebox}{诊断工具要素}
重要信息包括：Q 值梯度、TD error 曲线、Replay buffer 中 action frequency。可用 TensorBoard、MLFlow 来展示时间序列图。
\end{knowledgebox}

\subsection{训练流水线的自动化}

推荐在训练周期中嵌入自动化检查：每隔若干 epoch 进行 offline evaluation、同步 metrics 到 dashboard、自动计算 sample efficiency。训练 pipeline 还应支持 `checkpoint+resume` 和 `metric gating`，后者在关键指标下降时自动暂停训练。

\begin{importantbox}{Replay buffer 哨兵}
用一个轻量级模型实时计算 buffer 的 coverage 和 reward statistics，一旦发现分布尖锐偏移就发出警报。这种哨兵可以避免在早期就采集到 one-hot 数据导致后续训练崩溃。
\end{importantbox}

\begin{warningbox}{自动化过度依赖历史指标}
如果 gating 只看历史 reward 平均值，则可能忽略 recent decay。建议引入 sliding window version 的指标，将异常提高到 operator 手动确认。
\end{warningbox}

\subsection{本章小结}

可解释性与自动化并行是规模化训练的基础，整理好诊断视图和自动 gating 机制能显著减少重启次数。

\section{未来方向与开放问题}

\subsection{长期依赖与任务组合}

Q-Learning 原始形式在处理长 horizon/ sparse reward 时会变得低效。现代方法倾向于多步 Q 更新（multi-step TD）、hierarchical policy 以及外部 planner 的组合。

\begin{importantbox}{任务组合的 pipeline}
通过把单一任务拆成 Macro / Micro 两层（如 meta policy 负责子任务选择，micro policy 负责具体控制）可以缓解 long-term credit assignment 的困难。
\end{importantbox}

\subsection{治理与可迁移性}

\begin{knowledgebox}{开放问题清单}
\begin{itemize}
    \item Sim-to-real gap：如何让 replay buffer 中真实数据发挥更大作用。
    \item Reward hacking：长期 reward shaping 可能引入 shortcut，需定期复查 reward formula。
    \item 多模态状态：当 robot state 包含图像、LiDAR 与语言，Q network 的处理 pipeline 复杂度骤增。
\end{itemize}
\end{knowledgebox}

\begin{warningbox}{部署时的 drift 管理}
即便策略在 offline 模拟中表现优异，Observation drift 或 action constraint drift 也会导致线上失效。建议配置周期性的 sanity check（如 evaluate on replayed expert rollouts）。
\end{warningbox}

\subsection{本章小结}

本章指出 Q-Learning 领域仍在演进，长期依赖、任务组合与治理审计是未来工作的主要方向。

\section{总结与延伸}

\subsection{总结表}

\begin{table}[H]
\centering
\begin{tabular}{lp{8cm}p{4cm}}
\toprule
章节 & 关注点 & 后续建议 \\
\midrule
MDP 基础回顾 & Bellman 迭代与策略/value 迭代的关系 & 复核收缩定理与演化形式 \\
表格型 Q-Learning & Off-policy 收敛与探索均衡 & 为现有任务梳理 replay buffer 的覆盖率 \\
Fitted Q-Iteration 与 DQN & 函数逼近、稳定技巧与优化细节 & 在老系统中验证 target network / double DQN 影响 \\
从 DQN 到 Actor-Critic & Continuous control 与 actor-critic 架构过渡 & 比较 deterministic policy gradient 与 Q-learning 的梯度估计 \\
系统实践与监控 & 指标、 replay buffer 健康度、干预机制 & 建立 instrumentation revoke 机制 \\
变体与成本 & Rainbow、成本模型、推理栈 & 规划训练/推理预算，并保留挂回路 \\
应用案例与治理 & benchmark 与 sim-to-real 突破、治理关注点 & 规划 soft/hard interrupt 与 anomaly 回滚 \\
\bottomrule
\end{tabular}
\caption{本讲重点内容与工程切入点}
\end{table}

\subsection{进一步阅读}

\begin{knowledgebox}{延伸资料}
\begin{itemize}
    \item Watkins \& Dayan, ``Q-Learning,'' Machine Learning 1992
    \item Mnih et al., ``Human-level Control through Deep Reinforcement Learning (DQN),'' Nature 2015
    \item Van Hasselt et al., ``Deep Reinforcement Learning with Double Q-Learning,'' AAAI 2016
    \item Lillicrap et al., ``Continuous Control with Deep Reinforcement Learning (DDPG),'' ICLR 2016
    \item Sutton \& Barto, ``Reinforcement Learning: An Introduction,'' 2nd Edition, 2018
    \item OpenAI Safety Gym 2.0 文档（可做 interruptibility 测试）
\end{itemize}
\end{knowledgebox}

\subsection{本章小结}

本讲以 MDP 与 Bellman 方程为基础，层层展开 Q-Learning 从表格到深度网络、再到 Actor-Critic 的演进，同时穿插系统实践、变体 COST 以及治理/应用案例，提供了完整的复习与操作 checklist。

\end{document}
