本节摘要:强化学习研究「智能体通过与环境交互、以最大化累积奖励为目标学习策略」的问题,四要素是状态、动作、奖励与策略。面试追问集中在三处:它与监督学习的本质差异、价值方法与策略方法的分野、探索与利用的权衡。本节把三处追问各配上可背的答法。
强化学习在算法岗面试里的地位很特别:多数业务团队不直接用它,但它几乎是「考察学习理解深度」的通用探针——因为它的每个概念都在与监督学习的对照中显影。答好这节的诀窍不是背 Bellman 方程,而是把对照关系讲清楚。
主问题:「讲讲强化学习的框架,它和监督学习最本质的区别是什么?」
框架用四要素讲:智能体观察环境的状态,按策略选择动作,环境反馈奖励并迁移到新状态,学习目标最大化长期累积奖励(常带折扣因子)。与监督学习的本质差异有三条:其一,反馈信号不同——监督学习拿到的是「正确答案」,强化学习只有「这个动作好不好」的评价性信号,且好坏要放到整条轨迹里看;其二,数据分布由自己决定——智能体的策略决定它访问到什么状态,学得不好会继续收集更差的数据,反馈回路让分布随学习漂移;其三,信用分配问题——奖励常常延迟到来,最后一手好棋与前面几十步铺垫怎么分账,是监督学习里不存在的难题。
三条差异的顺序建议固定:反馈、分布、延迟。这个顺序同时也是后续所有方法设计的因果链——因为评价性信号,所以要价值估计;因为分布自决,所以有离线策略学习;因为延迟奖励,所以有折扣与回报估计。
追问:「Q-learning 和策略梯度分别在学习什么?Actor-Critic 为什么出现?」
参考答法沿「学什么」分野。价值方法学「每个状态或状态动作对值多少分」(Q 函数),策略是隐式的——挑分最高的动作,代表是 Q-learning 及其深度版本;它样本效率高、能离线学习历史数据,但在动作空间巨大或连续时取 argmax 变得昂贵而粗糙。策略方法直接参数化策略并沿期望回报的梯度更新,能天然处理连续动作与随机策略,代表是策略梯度;代价是样本效率低、更新方差大。Actor-Critic 是合体:策略网络(演员)负责选动作,价值网络(评论家)负责评估动作以降低梯度估计的方差——它存在的理由就是前两者的互补性。
import numpy as np # 表格 Q-learning 的核心更新(伪代码级,聚焦机制) Q = np.zeros((n_states, n_actions)) for episode in range(n_episodes): s, done = env.reset(), False while not done: # 探索:epsilon 概率随机动作,否则取当前最优 a = np.random.randint(n_actions) if np.random.rand() < eps else Q[s].argmax() s2, r, done, _ = env.step(a) # 关键一行:用「立即奖励 + 折扣后的下一状态最优价值」修正当前估计 Q[s, a] += alpha * (r + gamma * Q[s2].max() * (1 - done) - Q[s, a]) s = s2
那一行更新就是时序差分学习的全部:用「估计」去修正「估计」,自举是价值方法的标签,也是它不稳定的来源。
追问:「epsilon 贪婪的 epsilon 怎么定?还有更好的探索机制吗?」
参考答法:权衡的逻辑是「先广撒网、后集中收获」。epsilon 贪婪以固定概率随机探索,实践中让 epsilon 随训练衰减;它的缺陷是探索无方向——随机动作常常没有信息量。进阶方案按思想分两族:乐观面对不确定性(对没试过的动作给乐观初始化或按不确定性加bonus,如UCB)与按信息价值探索(不确定性本身驱动采样,如汤普森采样从后验抽样动作)。面试补一句业务翻译:推荐系统的冷启动就是探索利用问题——新内容没有曝光就没有数据,没有数据就没有曝光,破局要靠定向探索流量。
及格:四要素框架完整,能说出与监督学习的一到两条差异;良好:三条本质差异讲全,价值方法与策略方法的互补性能说清;优秀:探索利用的权衡能从算法讲到业务场景(冷启动、实验设计),并点出自举与分布漂移是稳定性问题的根源。这题答得好,面试官通常会顺势把难度升到「大模型与强化学习的关系」——那是把话题交给下一节的信号。
下一节进入 NLP:从词向量到大模型,面试题的形态在变,追问的内核仍是表示学习。
问:奖励函数设计为什么难?
奖励是目标的形式化:写松了智能体找到与意图无关的高奖励漏洞(reward hacking),写紧了又变成手工规则失去学习空间。工程解法是奖励建模(从人类偏好学奖励函数)与多层奖励塑形(稠密的中间信号加稀疏的最终信号),每一步都要防「把代理目标当真目标」。
问:经验回放解决了什么问题?
把交互样本存进缓冲区、随机小批量重放,一是打破时序相关性让训练接近独立同分布假设,二是提高样本复用率——昂贵交互(机器人、真实用户)的数据被多次学习。它是 off-policy 方法的基础设施,与 on-policy 方法天然不兼容。
问:强化学习在大模型训练里扮演什么角色?
基于人类反馈的强化学习把「人类偏好」当奖励信号,用策略式方法对齐语言模型输出;近年的简化变体绕开显式价值网络直接在偏好数据上优化。面试里能点到「对齐是奖励建模加策略优化的组合」即可,深追时坦承边界比硬撑体面。
表达纪律:强化学习题的每个概念都与监督学习对照着说,对照表就是你的答题提纲。
问:稀疏奖励问题是什么,有哪些解法?
奖励只在漫长轨迹末端出现(下棋赢、游戏通关),中间全无信号,学习如同在黑暗中摸索。解法家族:奖励塑形(人工加中间信号,有偏但有效)、课程学习(从易到难排任务)、层次强化学习(高层定子目标、低层执行)、基于演示的 imitation 预训练。「先给模型找得到梯度的路」是这一族方法的共同直觉。
问:模拟器与现实的差距(sim to real)怎么处理?
域随机化(在仿真里随机化物理参数,让策略学到对差异鲁棒的表征)、系统辨识(校准仿真参数贴近现实)、 Reality Gap 上的少量真机微调。这个话题在机器人与自动驾驶岗的出现率极高,答出「域随机化」三个字基本能接住第一层。