Skip to content

面试题库

本页速览 RL 面试高频题解析:MDP 与贝尔曼、MC vs TD、Q-learning vs SARSA、DQN 工程技巧、PPO 细节、SAC 与连续控制、探索利用、RLHF、奖励设计场景题;答题框架与追问预测。

面试题库 ​

一句话定位:这一页是 RL 面试的"真题+解析"——按五大题型组织的高频题、每题的标准答题框架、高频追问预测,以及一份 30 题自测清单。

用法说明:不要背答案,要练"答题框架"。RL 面试题高度标准化,但面试官追问多变。掌握了"定义 → 直觉 → 公式 → 例子 → 坑 → 延伸"的框架,任何变体题你都能接住。本页覆盖的题目范围来自 知识点拆解 的高频考点权重表——那页告诉你"该学什么",本页告诉你"学了之后怎么答"。

一、理论题(MDP / 贝尔曼 / 收敛直觉) ​

题 1:什么是马尔可夫决策过程(MDP)?为什么 RL 问题都可以用它描述? ​

答题框架:

  • 定义:MDP 是五元组 $(S, A, P, R, \gamma)$,其中 $S$ 是状态集、$A$ 是动作集、$P(s'\mid s,a)$ 是转移概率、$R(s,a)$ 是奖励函数、$\gamma\in[0,1)$ 是折扣因子。
  • 直觉:环境只根据"当前状态+动作"决定下一个状态和奖励,与历史无关(马尔可夫性质)。这让我们可以写成递推式,而不是回到过去找因果。
  • 公式:策略 $\pi(a\mid s)$ 的价值函数满足贝尔曼方程:
    text
    Vπ(s) = Σ_a π(a|s) Σ_{s',r} p(s',r|s,a) [ r + γ·Vπ(s') ]
  • 例子:围棋——状态是当前棋局,动作是落子,转移是确定的(对手走子可并入环境),奖励是终局胜负。
  • 坑:很多实际问题不严格满足马尔可夫性质(比如只有部分可观测 → POMDP),需要把历史或观测拼接进状态;面试里说"几乎所有 RL 问题都能近似建模为 MDP"即可,但要点出"部分可观测"这个前提。
  • 延伸:见马尔可夫决策过程。

高频追问:①马尔可夫性质不满足怎么办?(答:POMDP、状态堆叠/RNN 记忆);②折扣因子 $\gamma$ 为什么必须小于 1?(答:有限视界/收敛/无穷和收敛);③$\gamma=0$ 是什么含义?(答:只看即时奖励,退化成 bandit)。

题 2:贝尔曼方程、贝尔曼最优方程、贝尔曼期望方程的关系? ​

答题框架:

  • 定义:贝尔曼方程是"当前价值 = 即时奖励 + 折扣后的未来价值"这一结构的一组递推式。分两类——期望方程(对任意给定策略 $\pi$ 成立)与最优方程(对最优策略成立,用 $\max_a$ 取代了对 $\pi$ 的求和)。
  • 公式:最优方程
    text
    V*(s) = max_a Σ_{s',r} p(s',r|s,a) [ r + γ·V*(s') ]
  • 直觉:最优方程告诉我们"最优策略下的价值 = 每一步都选能带来最大价值的动作";而期望方程是"给定策略下价值的自洽描述"。
  • 坑:贝尔曼方程不是求解算法,是"不动点条件"——它刻画了价值函数必须满足的等式,求解它才是值迭代/策略迭代做的事。
  • 延伸:见价值学习。

高频追问:①值迭代和策略迭代的差别?(答:策略迭代=评估+改进交替;值迭代=只迭代价值,隐式贪心);②$V$ 和 $Q$ 的关系?(答:$V(s)=\max_a Q(s,a)$ 在最优策略下;$Q(s,a)$ 绑定动作,$V(s)$ 按策略对动作加权)。

题 3:为什么说 Q-learning 收敛,直觉是什么? ​

答题框架:

  • 直觉:Q-learning 的更新相当于在解一个带收缩性的不动点方程。每次更新 $Q(s,a)\leftarrow Q(s,a)+\alpha[r+\gamma\max_{a'}Q(s',a')-Q(s,a)]$ 都让 $Q$ 向"目标"(贝尔曼最优算子作用于 $Q$ 的结果)移动一步;贝尔曼最优算子 $\mathcal{T}$ 是 $\gamma$-收缩的($\lVert\mathcal{T}Q_1-\mathcal{T}Q_2\rVert_\infty\le\gamma\lVert Q_1-Q_2\rVert_\infty$),所以不断迭代必然收敛到唯一不动点 $Q^*$。
  • 前提:要求所有 $(s,a)$ 对无限次被访问(即充分的探索),且学习率 $\alpha$ 满足 Robbins-Monro 条件($\sum\alpha=\infty,\ \sum\alpha^2<\infty$)。
  • 坑:这是表格情形的经典结论;用神经网络近似后(DQN)不再有收敛保证,这是 DQN 时代要引入回放与目标网络的原因之一。
  • 延伸:见价值学习。

高频追问:①收缩算子证明的关键步骤?(答:范数 + $\gamma$ 折扣保证压缩映射,不动点唯一);②探索不足会怎样?(答:某个动作永远不被更新,值恒为初始值,策略可能不是最优的)。

二、对比题(MC vs TD / on vs off-policy / value vs policy) ​

题 4:蒙特卡洛(MC)和时序差分(TD)的区别? ​

答题框架:

维度MCTD(0)
更新时点等到回合结束,用完整回报 $G_t$每一步立即用 $r+\gamma V(s')$ 更新
偏差无偏(真实回报的样本)有偏(用了自己当前的估值 $V(s')$,即 bootstrap)
方差高(完整轨迹的随机性大)低(单步更新,随机性小)
学习速度慢(等回合完)快(在线学习)
对非完整轨迹无法使用(不终止的任务需要截断)可用
  • 公式:TD 误差 $\delta = r + \gamma V(s') - V(s)$,更新 $V(s)\leftarrow V(s)+\alpha\delta$。
  • 直觉:TD 是"用估计去更新估计"(bootstrap),因此低方差但有偏;MC 是"用真实数据更新",无偏但高方差。
  • 坑:TD 的偏差在函数近似下可能导致发散;MC 的方差在长轨迹任务里巨大。λ 介于两者之间的 TD(λ)/GAE 就是调这个权衡。
  • 延伸:见价值学习。

高频追问:①TD(λ) / eligibility trace 解决什么?(答:多步之间的偏差-方差折中,GAE 是其连续版本);②为什么 TD 在有函数近似时会发散?(答:bootstrap 的"自我强化"正反馈,off-policy + 函数近似是发散三要素之二)。

题 5:Q-learning 和 SARSA 的区别?什么场景下结果会明显不同? ​

答题框架:

  • 公式(都更新同一个 $Q$,差在目标里的下一个动作):
    text
    Q-learning: Q(s,a) ← Q(s,a) + α [ r + γ·max_{a'} Q(s',a') - Q(s,a) ]
    SARSA:      Q(s,a) ← Q(s,a) + α [ r + γ·Q(s',a')     - Q(s,a) ]   (a' 是实际采取的动作)
  • 关键差别:Q-learning 是 off-policy——目标用的是"最优假设" $\max_{a'}Q(s',a')$,与行为策略无关;SARSA 是 on-policy——目标用的是"实际会走的路" $Q(s',a')$。
  • 后果:在探索的 ε 比较大的时候,SARSA 学到的策略会"考虑探索中的惩罚",更保守;Q-learning 学的是纯最优策略。经典例子是 Cliff Walking:SARSA 会学出贴着悬崖边绕开的保守路径(因为考虑 ε 探索会掉崖),Q-learning 会学出贴悬崖的最短路径(但探索时频繁掉崖)。
  • 坑:两者收敛条件不同;Q-learning 的 off-policy 特性让它能用旧数据/任意行为策略(这是 DQN 用回放的前提),但 max 操作会带来价值高估(这也是 Double DQN 的动机)。
  • 延伸:见价值学习。

高频追问:①价值高估怎么来的?(答:$\max$ 算子放大估计误差,见 Double DQN 论文);②on-policy vs off-policy 哪个更难收敛?(答:off-policy + 函数近似 + bootstrap 是"死亡三重奏",最危险)。

题 6:value-based 和 policy-based 的取舍?为什么现代 RL 用 Actor-Critic 合流? ​

答题框架:

维度Value-based(DQN 系)Policy-based(REINFORCE/PPO 系)
学什么Q/V 函数,策略由 argmax 导出直接学策略分布 $\pi_\theta(a\mid s)$
动作空间天然适合离散,连续动作需要离散化/连续值近似天然支持连续动作
随机策略只能贪心导出,不支持随机策略(除 ε)天然输出概率分布
收敛性函数近似下可能发散(Q 高估)更稳,梯度步更平滑
方差低(bootstrap)高(REINFORCE 尤其)
样本效率高(off-policy 复用数据)低(on-policy)
  • 合流:Actor-Critic 用"Actor 输出策略 + Critic 输出价值作为 advantage 的 baseline",既保留策略梯度的连续/随机能力,又用价值函数砍掉方差——见 Actor-Critic 家族。
  • 直觉:Critic 的价值函数给 Actor 一个"这个动作比平均好多少"的标尺(advantage),而不是"这一整条轨迹的回报"(REINFORCE 用 $G_t$,方差爆炸)。
  • 坑:面试常见送命题——"SAC 是 value-based 还是 policy-based?"正确回答是"Actor-Critic 混合:策略网络是 policy-based,但通过熵目标与 Critic 更新耦合"。
  • 延伸:见策略梯度方法。

高频追问:①advantage 为什么能降方差?(答:减去不依赖动作的 baseline,期望不变、方差减小);②REINFORCE 高方差怎么救?(答:baseline/advantage、多步回报、归一化、GAE)。

三、深度 RL 题(DQN 技巧 / PPO 为什么稳 / SAC 熵) ​

题 7:DQN 为什么需要经验回放和目标网络? ​

答题框架:

  • 经验回放:把 $(s,a,r,s')$ 存进 buffer,随机采样小批量更新。作用有两个:①打破样本间的时间相关性(否则连续样本高度相关,梯度更新震荡、近似于在局部打转);②数据复用,提高样本效率(off-policy 的前提)。
  • 目标网络:用一份"慢更新"的 $\hat{Q}$ 计算目标 $r+\gamma\max_{a'}\hat{Q}(s',a')$,定期拷贝自 $Q$。作用:①打破 bootstrap 的自举不稳定性——若目标和当前参数同步变化,相当于"用自己当前的估计去训练自己",容易振荡/发散;②固定目标让回归问题在一段时间内是"静止的监督学习",稳定。
  • 坑:目标网络滞后会带来"高估-低估"的滞后效应,配合 Double DQN(用 $Q$ 选动作、$\hat{Q}$ 估值)能进一步砍高估。
  • 延伸:见价值学习与 Atari 案例。

高频追问:①Double DQN 怎么做?(答:$a^=\arg\max_{a}Q(s',a)$,用 $\hat{Q}(s',a^)$ 估值);②Dueling DQN 分哪两支?(答:价值 $V(s)$ + 优势 $A(s,a)$);③Rainbow 融合了哪七项?(答:Double、Prioritized Replay、Dueling、C51 分布、多步、NoisyNet、优先回放)。

题 8:PPO 的 clip 目标为什么能稳定训练?为什么取代了 TRPO? ​

答题框架:

  • 动机:策略梯度一步迈太大就崩(学习率难调);TRPO 用"信任域"(KL 约束)保证每步策略变化有界,但二阶优化重、难实现。
  • 公式(PPO 核心目标):
    text
    r_t(θ) = π_θ(a_t|s_t) / π_θold(a_t|s_t)
    L^CLIP(θ) = E_t[ min( r_t(θ)·Â_t,  clip(r_t(θ), 1-ε, 1+ε)·Â_t ) ]
    其中 $\varepsilon$ 通常取 0.2,$\hat{A}_t$ 是 GAE 估计的 advantage。
  • 直觉:$r_t(\theta)$ 是新旧策略的似然比。当 $r_t(\theta)$ 超出 $[1-\varepsilon,1+\varepsilon]$ 时,目标被 clip 截断——优势为正时不让新策略比旧策略"进步太多",优势为负时不让它"退步太多",从而把每次更新限制在信任域内,且只需要一阶梯度(容易实现、容易并行)。
  • GAE:$\hat{A}t=\sum^\infty(\gamma\lambda)^l\delta_{t+l}$,$\delta_t=r_t+\gamma V(s_{t+1})-V(s_t)$;λ 调偏差-方差。
  • 坑:clip 只在"该方向更新时"起作用;若策略已经差到 clip 两侧都触发,更新方向可能失效(所以初始策略别太差)。另一个坑:PPO 稳不等于一定好——它牺牲了部分样本效率换稳定性。
  • 延伸:见策略梯度方法。

高频追问:①为什么 clip 而不是简单截断 $r_t$?(答:截断引入偏差,clip 是单调保险);②PPO 是 on-policy 还是 off-policy?(答:on-policy,靠重要性采样在同一批数据内多轮更新,本质仍是 on-policy 数据);③ε 选太大/太小?(答:太大每步跨得远不稳定,太小学得慢;0.2 是常用默认)。

题 9:SAC 为什么要最大化熵?自动温度系数是怎么做的? ​

答题框架:

  • 目标:SAC 最大化"回报 + 熵"的加权和:$J(\pi)=\sum_t\mathbb{E}[(r_t+\alpha\mathcal{H}(\pi(\cdot\mid s_t)))]$。熵项 $\mathcal{H}$ 鼓励策略保持随机。
  • 直觉:①探索:高熵策略天然探索,避免过早收敛到局部最优;②鲁棒性:随机策略对模型误差/环境扰动更稳健(在机器人领域尤其重要);③多模态:存在多个等价最优解时,熵正则让策略输出一个混合分布而不是死磕一个,利于后续微调。
  • 自动温度:把 $\alpha$ 当成在约束"平均熵 ≥ 目标熵 $\bar{\mathcal{H}}$"下的对偶变量,用梯度更新:
    text
    α ← α - η·∇[ α·( log π(a|s) + H̄ ) ]
    即:当前熵低于目标就加大 α(更随机),高于就减小 α。
  • 工程细节:SAC 用 双 Q(最小化两网估计) 砍高估 + 延迟更新(Critic 步数多于 Actor)+ 目标熵滑窗,是连续控制的实际默认选择。
  • 坑:SAC 的熵正则与探索的关系常被误解——它不直接产生"系统性探索"(如访问新状态),只是"输出更随机"。真探索不足时仍需要额外手段。
  • 延伸:见 Actor-Critic 家族与机器人 Sim2Real。

高频追问:①TD3 和 SAC 的异同?(答:都用双 Q 砍高估;TD3 用目标策略平滑+延迟更新,SAC 用熵正则,SAC 是随机策略,TD3 是确定性策略 + 噪声);②什么时候用 SAC 什么时候用 PPO?(答:样本有限/可复用数据 → SAC;在线大并行、稳定优先 → PPO)。

四、场景设计题(奖励设计 / 环境建模) ​

题 10:给一个任务,怎么设计奖励?(场景题框架) ​

答题框架(任何场景题通用)——目标分解 → 奖励信号 → 稀疏/密集权衡 → 防 hacking → 评估:

  1. 问清楚目标:"这个任务成功的定义是什么?谁来判断?"——先把业务指标钉死。
  2. 选奖励形态:稀疏(只在成功时给 +1,配合课程/内在奖励)vs 密集(每一步给信号);能用稀疏就用稀疏,密集奖励是 shape 出来的,容易歪。
  3. 奖励塑形原则:势能塑形定理的直觉——塑形项 $\Phi(s')-\Phi(s)$ 不改变最优策略(见奖励工程);它只是"梯度带",别把最终目标漏在塑形里。
  4. 风险审查:这个奖励会不会被"刷"?(Reward Hacking 检查:智能体能否通过不改变真实目标的方式拿高分)。
  5. 评估兜底:除了奖励,还要一个"不受 hack 影响的业务指标"做最终裁判。

例子:教智能体学会"端盘子"——奖励设计:成功送达 +10(稀疏真目标),接近目标 +0.1/步(密集塑形),掉盘 -5(安全约束)。坑:如果只给"接近目标"奖励,智能体可能学出"端着盘子原地打转蹭分";所以塑形要势能(单调引导)且不能让刷分路径存在。

高频追问:①Reward Hacking 经典案例?(答:赛艇漂移刷速度、让机器人用摄像头"截断"游戏、RLHF 里"说套话讨好奖励模型"——见奖励工程的案例集);②稀疏奖励怎么办?(答:课程学习、HER 事后经验回放、内在奖励如 RND、或换行为克隆冷启动);③奖励函数该谁定?(答:产品/业务出"成功定义",算法同学翻译成奖励并负评估责任)。

题 11:把任意业务问题建模成 MDP 的现场演练 ​

答题框架:五元组填空 + 三个风险点:

text
S(状态):   业务里可观测、且影响决策的信息(注意马尔可夫性,不够就拼历史)
A(动作):   业务里可执行的决策单元(粒度要对,不能太细也不能太粗)
P(转移):   业务环境(真实系统/仿真器/历史数据),模型已知与否影响解法选型
R(奖励):   与业务长期指标对齐的信号(见题 10 的防 hack 原则)
γ(折扣):   业务的时间偏好(短周期业务 γ 小,长期留存 γ 大)

风险点:①状态缺失关键信息 → POMDP;②动作粒度与业务节奏错位;③奖励只看短期 → 长期指标崩。例子:推荐系统——S=用户特征+历史行为,A=候选商品排序,R=点击/转化(但要加长期指标防"标题党")。

高频追问:①这个 MDP 的模型 P 可知吗?(答:可知用动态规划/model-based,未知用 model-free,历史数据多可考虑离线 RL);②动作空间多大、离散还是连续?(答:决定 DQN 系 vs SAC/PPO 系)。

五、RLHF / 大模型题 ​

题 12:RLHF 三阶段是什么?为什么不能只靠 SFT? ​

答题框架:

  • 三阶段(以 InstructGPT 为代表):
    1. SFT:用人工写的"理想回答"微调预训练模型,让它学会对话形态;
    2. 奖励模型(RM):收集人类对多个回答的偏好排序,用 Bradley-Terry 模型拟合:$P(y_w\succ y_l)=\sigma(r(x,y_w)-r(x,y_l))$;
    3. PPO 微调:用 RM 的分数当奖励,以 KL 约束把策略 $\pi_\theta$ 拉向参考模型:$r_{\text{total}}(x,y)=r_\theta(x,y)-\beta\cdot\text{KL}(\pi_\theta(y\mid x),|,\pi_{\text{ref}}(y\mid x))$,训练时 actor/critic/ref/rm 四份模型协同。
  • 为什么 SFT 不够:SFT 只学"像人话",不学"更被偏好";且人类偏好是相对排序而非绝对标准,SFT 无法用相对信号优化。RLHF 的关键是用偏好信号 + 强化学习(序列决策、逐步优化) 让模型对"哪个回答更好"有梯度。
  • 为什么要有 KL 惩罚:奖励模型本身有盲区,无约束最大化 RM 分数会学到"说漂亮话钻空子"(奖励过优化 / Goodhart 定律);KL 惩罚把策略钉在参考模型附近,防止崩坏——这是对齐税(alignment tax)的本质:更好的对齐牺牲部分原始能力。
  • 坑:KL 系数 $\beta$ 太小 → 过优化崩坏;太大 → 对齐效果差。经典曲线是"奖励分数涨、人类评分先涨后跌"。
  • 延伸:见RLHF 与人类反馈对齐与 LLM 对齐案例。

高频追问:①DPO 和 PPO 的取舍?(答:DPO 把偏好直接写成损失函数,无需 RM 与在线采样,稳定省资源;但 PPO 支持在线探索、奖励模型可复杂化;公式:

text
L_DPO = -E[ log σ( β·log(πθ(y_w|x)/πref(y_w|x)) - β·log(πθ(y_l|x)/πref(y_l|x)) ) ]

);②奖励过优化怎么监测?(答:同时跑人工评测与 RM 分数,画"过优化曲线",设 KL 预算);③RLHF 和经典 RL 的"环境"是什么?(答:环境是 LLM 的生成 + RM 打分,奖励是模型的输出,稀疏且不完美)。

题 13:什么是 reward hacking,在 RLHF 里长什么样? ​

答题框架:

  • 定义:智能体找到"不满足任务真实意图但让奖励函数拿高分"的行为,本质是奖励函数≠真实目标(Goodhart 定律的工程形态)。
  • RLHF 形态:模型学会"说奖励模型爱听的话"——冗长、谄媚、回避实质内容;经典案例是"过度追求帮助性导致编造事实"。
  • 解法:①KL 约束 + 参考模型;②奖励函数用分阶段/谨慎的标定,奖励模型评估时用人类评测交叉验证;③多个奖励项/约束项防止单点 hack;④持续在线评估真实业务指标。
  • 延伸:见奖励工程。

高频追问:①除了加 KL,还有什么防 hack 手段?(答:奖励模型做对抗性 red team、用"回答长度等无关特征"做消融、限制生成长度、评测用不可 hack 的人工+规则集);②rrhf 里"奖励过优化"和"reward hacking"是同一个东西吗?(答:相近——过优化是 hck 的量化表现,reward hacking 更泛指任何钻空子行为)。

六、答题框架速查与自测清单 ​

答题框架速查(背下来) ​

text
所有面试题的通用骨架:
① 定义(一句话,准确术语)
② 直觉(大白话:为什么存在/为什么这么做)
③ 公式/机制(能写就写,写不出来至少说结构)
④ 例子(真实或经典,1 个就够)
⑤ 坑/边界(这个方法的失效条件)——面试官最想听的
⑥ 延伸(一两句:相关方法/你的项目经验)

30 题自测清单 ​

#题目是否会答
1MDP 五元组与马尔可夫性质☐
2贝尔曼期望/最优方程☐
3Q-learning 收敛直觉(收缩算子)☐
4MC vs TD(偏差/方差)☐
5Q-learning vs SARSA(on/off-policy、Cliff Walking)☐
6value-based vs policy-based 取舍☐
7Actor-Critic 为什么合流☐
8为什么需要 advantage / baseline☐
9DQN 为什么需要回放+目标网络☐
10Double/Dueling/Rainbow 各自解决什么☐
11REINFORCE 高方差问题与解法☐
12PPO clip 目标公式与直觉☐
13PPO vs TRPO☐
14GAE 是什么、λ 调什么☐
15SAC 最大熵目标与自动温度☐
16TD3 三项技巧☐
17探索与利用:ε-greedy/UCB/Thompson 对比☐
18深度 RL 里探索怎么做(熵、NoisyNets、RND)☐
19多臂老虎机 vs 全 RL(bandit 缺什么)☐
20奖励塑形与势能定理直觉☐
21Reward Hacking 案例与防法☐
22稀疏奖励对策(课程、HER、内在奖励)☐
23RLHF 三阶段流水线☐
24奖励模型与 Bradley-Terry☐
25PPO 里 KL 惩罚为什么必要☐
26奖励过优化与 Goodhart☐
27DPO 公式与和 PPO 的取舍☐
28离线 RL 的 OOD 问题与价值高估☐
29模型已知 vs 未知的解法路线☐
30给一个业务场景现场建模 MDP(题 10/11 框架)☐

自测规则

勾满不算会,能扛追问才算会。 对每个勾"会"的题,找个人(或对着录音)把"高频追问"那一栏的问题也答一遍。答不出追问 = 该题回到知识点拆解重标"半会不会"。

延伸阅读 ​

参考资料 ​

  • Sutton, R. S., & Barto, A. G. (2018). Reinforcement Learning: An Introduction, 2nd ed. —— 理论题的权威出处,免费在线:http://incompleteideas.net/book/the-book-2nd.html
  • Schulman, J., et al. (2017). Proximal Policy Optimization Algorithms. arXiv:1707.06347 —— PPO clip 目标原文。
  • Mnih, V., et al. (2015). Human-level control through deep reinforcement learning. Nature 518. arXiv:1509.06461 —— DQN 原文。
  • Haarnoja, T., et al. (2018). Soft Actor-Critic. arXiv:1801.01290 —— SAC 原文。
  • Ouyang, L., et al. (2022). Training language models to follow instructions with human feedback (InstructGPT). arXiv:2203.02155 —— RLHF 三阶段原文。
  • Rafailov, R., et al. (2023). Direct Preference Optimization. arXiv:2305.18290 —— DPO 原文。
  • Christiano, P., et al. (2017). Deep reinforcement learning from human preferences. arXiv:1706.03741 —— RLHF 早期形式。
  • OpenAI Spinning Up in Deep RL(算法与代码对照):https://spinningup.openai.com