理论题
基本概念、价值函数、贝尔曼、TD / SARSA / Q-Learning、DQN。
这套题的三条主线,先有个底
基本概念、价值函数、贝尔曼、TD / SARSA / Q-Learning、DQN。
用 DQN 在 CartPole-v0 上训练,重点在 reward 设计。
gym-gomoku + DQN,训练 ≥3000 次,可视化胜率。
理论题之前,先补地基。这套题的两个实操题都要写 PyTorch,你第一轮笔记里这部分还弱,这周只做一件事:装好环境、看懂张量与自动求导、能手敲一个最小网络。
装 PyTorch 别用 conda 慢源,直接按官网 pip 命令装。顺便跑一下 torch.cuda.is_available():有独显返回 True 最好(五子棋题强烈建议 CUDA),没有独显就 CPU 训练,慢一点但也能跑。
配套课:小甲鱼 · freeCodeCamp · 刘二大人 · 李沐 d2l
这周对应招新题的理论第一部分,全部是问答。目标不是背答案,而是能用自己的话把每个概念讲出来,并各配一个例子。
题目要求(原题节选)
八大要素那道题要求「构建完整认知体系」:建议先画一张交互闭环图(谁观察什么、做什么、环境回什么),再照着图写文字,答出来会明显更有条理。
这周是全套题里数学最重的一周,也是出题人说的「需要对数学推导有足够耐心」的地方。核心是两条线:V(s) 与 Q(s,a) 的关系,以及贝尔曼期望方程 → 最优方程的递进。
题目要求(原题节选)
| 维度 | 状态价值 V(s) | 动作价值 Q(s,a) |
|---|---|---|
| 含义 | 站在状态 s,按策略 π 走下去的期望回报 | 在状态 s 先做动作 a,之后按 π 走的期望回报 |
| 用途 | 评估「局势好不好」 | 评估「这一步走得好不好」,用来选动作 |
| 关联 | V 是对 Q 关于动作求期望;最优时 Q* 对 a 取 max 得到 V* | |
注意题目把「最优方程」和「期望方程」都列了:期望方程是给定策略 π 下的递推,最优方程里多了 max/argmax。区分清楚这两层,这道题就赢了大半。
配套课:蘑菇书 · 王树森 · 李宏毅 · David Silver
资料:Sutton & Barto 第 3、4 章(贝尔曼)、David Silver 课件 L2–L3、蘑菇书第 2–3 章
这周是理论题的重头戏:把 SARSA 和 Q-Learning 的公式、流程、风格差异讲清楚,并彻底搞懂 On-Policy 与 Off-Policy。这是 DQN 的前置,也是面试最常问的点。
题目要求(原题节选)
| 对比项 | SARSA | Q-Learning |
|---|---|---|
| 更新用 | 真实执行的下一动作 a′(五元组) | 下一状态所有动作的最大 Q(max) |
| 策略类型 | On-Policy:学的就是自己用的策略 | Off-Policy:学最优策略,行为可带探索 |
| 风格 | 更保守,绕开危险动作(如悬崖) | 更激进,偏向走最优但更「贪婪」 |
出题人问「为什么 Q-Learning 是 DQN 的基础」:Q-Learning 的更新目标只依赖状态-动作对,天然适合用神经网络来逼近 Q(s,a),这就是第 5 周的桥。
配套课:蘑菇书 · 王树森 · 莫烦 · David Silver
资料:TD 原始论文 Sutton 1988、Q-Learning 论文 Watkins & Dayan 1992、SARSA 原始报告 1994、教材第 6 章(TD)
理论收口 + 第一个实操题。DQN 三个考点(表格 Q 表为何搞不定图像、Replay Buffer 三作用、ε-greedy)都很套路化,先写明白,再上手 CartPole。
题目要求(原题节选)
出题人给的 reward 写法(可直接抄):
r1 = (env.x_threshold - abs(x)) / env.x_threshold
r2 = (env.theta_threshold_radians - abs(theta)) / env.theta_threshold_radians
r = r1 + r2 # 也可以自己加其他有效的 tricks
原版 Gym 2022 年停止维护、与 NumPy 2.0 有兼容问题。出题人建议直接用官方替代库 Gymnasium(完全兼容)。阈值直接用环境封装好的 theta_threshold_radians(15°)和 x_threshold(2.4)。
存活中 · r 越接近 2 越好
配套课:蘑菇书 · 王树森 · CS285(挑 DQN 一讲) · HF Deep RL Course
资料:DQN 论文 Nature 2015、PyTorch 官方 DQN 教程(CartPole 全程示例)、Gymnasium CartPole 文档
期中考试优先,这周 RL 主动降负载。设计上把整周留白,就是给期中留的:前面任何一周拖了进度,也在这里回补。
如果期中压力不大,这周可以把第 5 周的 CartPole 结果打磨好(多试几个 reward 写法、把曲线画漂亮),或者提前开始五子棋环境搭建。
附加题是出题人加餐的难度题(原话:本来不想出,有人强烈推荐)。主线上它是可选加分项,但做完后你整个 DQN 的理解会上一个台阶。最后两天留给打包提交。
题目要求(原题节选)
gym-gomoku 与 Gymnasium 兼容性一般(出题人实测过)。环境出问题不要硬磕:按提示自己写一个 15×15 落子环境,可以让 AI 辅助搭,把时间留给奖励设计和训练。
配套课:HF Deep RL Course · CS285 · 蘑菇书(DQN 改进章节)
11 门课按用途分三类:补基础(Python/PyTorch)、RL 主线(中文入门)、进阶(英文拔高)。每门都给了「为什么选它」和基于视频内容生成的总结与要点。
理论题的答案基本都能在网课库的视频里找到;两个实操题视频讲不到那么细,所以把论文、教材、官方文档、课件和代码仓库都按周补在这里。每篇论文给了一句话总结和对应的题目。
周计划从今天(10.11)之后的周一开始,截止 11.30。第 6 周整周留给期中考试,前面任何拖延都在那周回补。
装环境、看懂张量与自动求导、能搭最小网络。
学习范式、马尔可夫性、八大要素、折扣因子,写答案初稿。
V 与 Q、期望/最优方程、蒙特卡洛。公式推导周。
两套公式、On/Off-Policy、算法对比表。理论题收口。
DQN 三考点 + CartPole 训练与可视化。
期中优先,RL 轻量维护,回补前面欠账。
附加题训练与可视化,最后两天打包检查。
整套题提交,之后联系出题人 袁锐 QQ 1815115587 确认。
每道题即时反馈,错了会告诉你为什么。这些正好覆盖招新题里最容易被追问的点。
1. 折扣因子 γ 趋近 0 时,智能体最像哪种风格?
2. TD 相比蒙特卡洛,核心创新是什么?
3. Q-Learning 更新公式里的 max 操作在做什么?
4. ε 随训练逐步衰减的调参逻辑是什么?
5. 关于 Replay Buffer,哪句是错的?