EDGE AI · RL 招新题伴学

嵌入式工作室 · EDGE AI / RL 方向 · 二轮招新题

用 7 周时间,把一套强化学习招新题从头做完。

按周拆好的学习路线:每周一个小目标,配套 B 站与 YouTube 网课(每门附视频总结与链接),从补 Python/PyTorch 基础到跑通 CartPole 与五子棋 DQN,最后交出一份完整答卷。

这套题的三条主线,先有个底

theory

理论题

基本概念、价值函数、贝尔曼、TD / SARSA / Q-Learning、DQN。

practice

西西弗斯小车

用 DQN 在 CartPole-v0 上训练,重点在 reward 设计。

bonus

五子棋附加题

gym-gomoku + DQN,训练 ≥3000 次,可视化胜率。

w1 · 10.12 – 10.18正在进行

第 1 周:把 Python 和 PyTorch 补到能读懂 DQN 代码

理论题之前,先补地基。这套题的两个实操题都要写 PyTorch,你第一轮笔记里这部分还弱,这周只做一件事:装好环境、看懂张量与自动求导、能手敲一个最小网络。

装 PyTorch 别用 conda 慢源,直接按官网 pip 命令装。顺便跑一下 torch.cuda.is_available():有独显返回 True 最好(五子棋题强烈建议 CUDA),没有独显就 CPU 训练,慢一点但也能跑。

配套课:小甲鱼 · freeCodeCamp · 刘二大人 · 李沐 d2l

资料:Python 官方教程(中文)、PyTorch 官方教程、d2l 在线书

w2 · 10.19 – 10.25正在进行

第 2 周:拿下「基本概念学习」板块

这周对应招新题的理论第一部分,全部是问答。目标不是背答案,而是能用自己的话把每个概念讲出来,并各配一个例子。

题目要求(原题节选)

  • 简述强化学习核心范式,对比监督学习、无监督学习的本质区别。
  • 什么是马尔可夫性?为什么 RL 需要马尔可夫假设?
  • 区分离散/连续动作空间,各举两个典型任务案例。
  • 八大核心要素:Agent、Environment、State、Action、Reward、Policy、Return Gₜ、折扣因子。
  • 折扣因子 γ 的作用,以及 γ→0、γ→1 对应的学习特性。

八大要素那道题要求「构建完整认知体系」:建议先画一张交互闭环图(谁观察什么、做什么、环境回什么),再照着图写文字,答出来会明显更有条理。

配套课:莫烦 · 蘑菇书 · 李宏毅 · 王树森

资料:蘑菇书在线版、Sutton & Barto 教材(第 1、3 章)、李宏毅课程课件

w3 · 10.26 – 11.01正在进行

第 3 周:价值函数与贝尔曼方程

这周是全套题里数学最重的一周,也是出题人说的「需要对数学推导有足够耐心」的地方。核心是两条线:V(s) 与 Q(s,a) 的关系,以及贝尔曼期望方程 → 最优方程的递进。

题目要求(原题节选)

  • 写出 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 章

w4 · 11.02 – 11.08正在进行

第 4 周:TD 算法——SARSA 与 Q-Learning

这周是理论题的重头戏:把 SARSA 和 Q-Learning 的公式、流程、风格差异讲清楚,并彻底搞懂 On-Policy 与 Off-Policy。这是 DQN 的前置,也是面试最常问的点。

题目要求(原题节选)

  • TD 相比 MC 的核心创新、解决的痛点、新增的问题;TD(0) 单步更新公式与 TD 误差的物理意义;为什么 TD 能在线实时学习。
  • SARSA 五元组 (S,A,R,S′,A′) 完整含义、更新公式每项意义、训练流程、同策略依据。
  • Q-Learning 更新公式、max 的含义、异策略逻辑、与 SARSA 的收敛速度与探索差异。
  • 全面对比 SARSA 与 Q-Learning;严格区分 On-Policy 与 Off-Policy。
对比项SARSAQ-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)

w5 · 11.09 – 11.15正在进行

第 5 周:DQN 理论 + 西西弗斯小车实操

理论收口 + 第一个实操题。DQN 三个考点(表格 Q 表为何搞不定图像、Replay Buffer 三作用、ε-greedy)都很套路化,先写明白,再上手 CartPole。

题目要求(原题节选)

  • 表格 Q-Learning 无法处理图像等高维输入的根本原因?DQN 的核心解决思路与价值?
  • Replay Buffer 工作机制与三大核心作用;探索与利用的矛盾、ε-greedy 原理、ε 衰减调参逻辑。
  • CartPole-v0:杆倾斜 ≤15°、小车距中心 ≤2.4;用题目给的 reward 公式和 QNet 参考代码;可视化奖励或存活步数。

出题人给的 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)。

r1 = 0.5r2 = 0.4r = 0.9

存活中 · r 越接近 2 越好

配套课:蘑菇书 · 王树森 · CS285(挑 DQN 一讲) · HF Deep RL Course

资料:DQN 论文 Nature 2015、PyTorch 官方 DQN 教程(CartPole 全程示例)、Gymnasium CartPole 文档

w6 · 11.16 – 11.22正在进行

第 6 周:期中考试缓冲周

期中考试优先,这周 RL 主动降负载。设计上把整周留白,就是给期中留的:前面任何一周拖了进度,也在这里回补。

如果期中压力不大,这周可以把第 5 周的 CartPole 结果打磨好(多试几个 reward 写法、把曲线画漂亮),或者提前开始五子棋环境搭建。

w7 · 11.23 – 11.29正在进行

第 7 周:五子棋附加题 + 最终检查提交

附加题是出题人加餐的难度题(原话:本来不想出,有人强烈推荐)。主线上它是可选加分项,但做完后你整个 DQN 的理解会上一个台阶。最后两天留给打包提交。

题目要求(原题节选)

  • gym-gomoku(15×15,225 个落子点,内置胜负判定)或按提示自己写环境适配 Gym。
  • DQN 为核心,可用题目给的浅层 CNN QNet;训练 ≥3000 次,强烈建议 CUDA。
  • 可视化:胜率(对随机模型)、Epsilon、平均奖励。
  • 奖励设计直接决定胜负:好的奖励机制可把胜率从 0.4 提到 0.9。
  • 进阶:经验回放 → Double-DQN → Actor-Critic。

gym-gomoku 与 Gymnasium 兼容性一般(出题人实测过)。环境出问题不要硬磕:按提示自己写一个 15×15 落子环境,可以让 AI 辅助搭,把时间留给奖励设计和训练。

配套课:HF Deep RL Course · CS285 · 蘑菇书(DQN 改进章节)

资料:gym-gomoku 仓库、Double DQN 论文、PPO 论文、AlphaGo Zero(自对弈思路)

courses

网课库:B 站与 YouTube,每门附视频总结

11 门课按用途分三类:补基础(Python/PyTorch)、RL 主线(中文入门)、进阶(英文拔高)。每门都给了「为什么选它」和基于视频内容生成的总结与要点。

library

资料库:论文、教材、文档一次配齐

理论题的答案基本都能在网课库的视频里找到;两个实操题视频讲不到那么细,所以把论文、教材、官方文档、课件和代码仓库都按周补在这里。每篇论文给了一句话总结和对应的题目。

教材与在线书

必读论文(一句话总结)

官方文档

课件与代码仓库

其他

  • 招新题原文(飞书) —— 做题前先通读原文,本页的题目都是节选。
  • 做题遇到疑问联系出题人:袁锐 · QQ 1815115587。
plan

时间表:7 周 + 期中缓冲

周计划从今天(10.11)之后的周一开始,截止 11.30。第 6 周整周留给期中考试,前面任何拖延都在那周回补。

W1
10.12–10.18

补 Python / PyTorch 基础

装环境、看懂张量与自动求导、能搭最小网络。

W2
10.19–10.25

RL 基本概念

学习范式、马尔可夫性、八大要素、折扣因子,写答案初稿。

W3
10.26–11.01

价值函数与贝尔曼

V 与 Q、期望/最优方程、蒙特卡洛。公式推导周。

W4
11.02–11.08

TD:SARSA 与 Q-Learning

两套公式、On/Off-Policy、算法对比表。理论题收口。

W5
11.09–11.15

DQN + 西西弗斯小车

DQN 三考点 + CartPole 训练与可视化。

W6
11.16–11.22

期中考试缓冲缓冲周

期中优先,RL 轻量维护,回补前面欠账。

W7
11.23–11.29

五子棋 + 收尾提交

附加题训练与可视化,最后两天打包检查。

D-day
11.30

提交截止

整套题提交,之后联系出题人 袁锐 QQ 1815115587 确认。

quiz

自测:五个高频考点

每道题即时反馈,错了会告诉你为什么。这些正好覆盖招新题里最容易被追问的点。

1. 折扣因子 γ 趋近 0 时,智能体最像哪种风格?

2. TD 相比蒙特卡洛,核心创新是什么?

3. Q-Learning 更新公式里的 max 操作在做什么?

4. ε 随训练逐步衰减的调参逻辑是什么?

5. 关于 Replay Buffer,哪句是错的?