跳到主要内容

强化学习、高斯过程与超参优化 — 三种「不一样」的学习

这一章讲三件事: 强化学习——没有标签,靠奖励信号在环境里试错; 高斯过程——不估参数,直接在函数空间做贝叶斯推断; 超参优化——学习率这类「调在模型外面」的旋钮,本身怎么系统地选。 它们共享一个主题:前面 18 章都是「给定数据、更新参数」, 这一章的三件事各自打破了这条假设的一半。

1. 强化学习的问题设定:MDP 四元组

监督学习的数据是现成的 (输入, 标签) 对;强化学习(RL,reinforcement learning) 里没人给标签,只有一个环境:智能体(英文 agent:在环境里观察并做决策的那个「玩家」)观察状态、采取动作、收到奖励, 目标是自己摸索出「什么状态下该做什么」。 这个问题的标准写法是 MDP(Markov decision process,马尔可夫决策过程), 四个组件1:

  • 状态 S:世界此刻的样子(走迷宫的机器人:它在哪个格子);
  • 动作 A:它能做的事(上/下/左/右);
  • 转移 T:动作的结果——T(s,a,s′)=P(s′|s,a),动作未必精准执行 (冰面上想往右,可能滑到别的格子);
  • 奖励 r:每个 (状态, 动作) 给一个分数。奖励是人设计的—— 「到绿房子 +1、掉陷阱 −1」写奖励函数的人定,这是 RL 里最关键的人为输入2

沿一条轨迹走下来,回报(return)是各步奖励之和。 麻烦:如果机器人永远走不到终点,轨迹无穷长,回报也是无穷——比较失去意义。 所以引入折扣因子 γ<1:第 t 步的奖励乘 γᵗ 再求和, 遥远的奖励被压小,总和收敛;γ 小模型「短视」(只赶眼前的奖励), γ=0.99 这种大值则鼓励它先探索再奔向目标3。 「马尔可夫」指的是转移只依赖当前状态与动作,与更早的历史无关—— 历史若真要紧(比如速度),把它塞进状态的定义里即可。

2. 值函数与 Bellman 分解:一切 RL 算法的根

策略 π(每个状态选什么动作)好不好,用值函数量: V^π(s) = 从状态 s 出发、以后都按 π 行动,能拿到的期望折扣回报4

全书最重要的一个变形在两步之间:把「从 s 出发的回报」拆成 首步的奖励 + 从下一个状态出发的值—— V(s) = 这一步的平均奖励 + γ × 对下一步状态求期望的 V(s′)。 这就是 Bellman 分解;作者的原话是,这个两阶段写法 是「所有强化学习算法背后的关键思想」, 也是动态规划(把大问题拆成自相嵌套的小问题)的地基5。 最好的策略记 π*,它处处取最大值;把 Bellman 分解里的「期望」换成「最大」, 得到的等式把各状态的最优值互相锁成一组约束—— value iteration(值迭代)就从任意初始值出发, 反复套用这组等式刷新每个状态的估值,直到收敛6

值迭代有个硬前提:它要知道完整的 MDP——转移函数与奖励函数都得在手。 下一个问题自然是:不知道世界怎么运转,也能学吗?

3. Q-learning:不知道世界模型(环境如何运转的内部知识:转移与奖励),就自己收集数据

Q-learning 的回答:能。它维护 Q 值 Q(s,a) (在状态 s 先做动作 a、之后按最优行事,期望回报是多少), 并用自己走过的真实一步,替换掉 Bellman 式子里对转移函数的求期望—— 不再需要知道冰面有多滑7

主走查:FrozenLake,4×4 冰面网格。 16 个格子是状态,动作上下左右;到终点 G 得奖励 1,其余一律 0;取 γ=0.998。 起点附近所有 Q 初始化为 0。

  • 第一步学到东西的时刻:某次从 G 旁边的格子向右走进 G, 更新 Q(G旁, 右) ← 1 + 0.99 × 0 = 1(终点之后没有值);
  • 值往回传染:下一轮走到「G 旁的左边一格」, Q ← 0 + 0.99 × max Q(G旁, ·) = 0.99;再下一轮,更前一格变成 0.99² ≈ 0.98;
  • 每格每动作试够多次,「往 G 的方向」的 Q 值就一格一格亮了回去。

问题:按什么策略去收集这些一步?若永远选当前 Q 最大的动作, 早期估错的格子会被永远避开。ε-greedy 策略:以 1−ε 的概率选当前最优, 以 ε 的概率完全随机乱走——故意去踩没去过的地方9。 它带来 Q-learning 最漂亮的性质——自纠正: 被高估的动作会被更频繁地选中,于是更快暴露真实的差回报, 下一次更新就把它压回去;被低估的好动作越被选中越被巩固。 作者的总结值得背:RL 与监督学习的分界是 「不只收集数据,还收集对的数据」10。 实验里 Q-learning 约 250 轮收敛;值迭代轮数少得多—— 它手里有完整 MDP,不用试错11

4. 高斯过程:在函数空间做贝叶斯

换一条完全不同的思路。到目前为止,「学习」= 给参数估一个值; 高斯过程(GP,Gaussian process)问:能不能跳过参数, 直接对「函数」本身下赌注?它的定义: 任意有限个点上的函数值,联合起来都服从多元高斯分布—— 于是「函数的先验」由一个均值函数和一个核函数(也叫协方差函数)完全指定12

核函数规定「函数长什么样」。最常用的 RBF 核 k(x,x′)=a²·exp(−‖x−x′‖²/2ℓ²) 里, a 是幅度(函数值上下摆多大),ℓ 是长度尺度(函数变化多快: ℓ 大则平滑,ℓ 小则锯齿)13。 这些性质——平滑、周期、变化快慢——正是我们本来就想对函数说的话, 而参数空间的先验(w 服从什么分布)从来没法直接说这些话14

最难得的是推理解得出来:GP 回归的后验(看过数据后的函数分布) 有闭式解、没有「训练」这回事——写下公式就能预测15。 预测带完整的不确定性:离数据点远,预测方差自然增大; 数据越多,第 02 章讲的 epistemic(可约)不确定性就越缩—— 这正是「我知道自己哪里不知道」的量化16。 代价是计算:闭式解要对 n×n 矩阵求逆,数据上万就吃力; 分类等非高斯问题还要近似推断。

5. 超参优化:模型外面的旋钮怎么系统地选

学习率、批大小、weight decay、层数——这些超参数 (训练循环之外、人来设定的旋钮)本身也是一场搜索。 第一条纪律:不能用训练损失调超参—— 那会把 weight decay 这类正则项压成零,训练损失漂亮、泛化崩掉; 超参必须拿验证集评17。 账也很硬:一个配置训 2 小时,10 个配置串行就是一整天, 而且超参不跨架构、不跨数据集迁移18

搜索策略:随机 > 网格。 网格搜索在每个维度上取等距点;随机搜索在范围内独立采样。 关键洞察:真正影响结果的维度往往只有几个, 网格在无关维度上浪费大量重复试验,随机则每个点都探索新组合—— 简单,却是比网格更好的默认选择19

评估策略:多保真。 不必每个配置都训满:先少训几轮(低保真,便宜)快速淘汰差生, 把预算留给有希望的。successive halving(逐次减半): 每个「rung」(资源档位)只留前 1/η 晋级。 同步版要等一档全部跑完才能开下一档,机器干等; ASHA(异步逐次减半)凑够晋级数就立刻提拔, 排名跨档位相当稳定,所以「提前晋级」代价很小、机器永不空闲20

6. 作者的判断与证据

书里给了证据的: MDP 四元组与「奖励由人设计」; 折扣因子的引入理由(无穷回报)与 γ 大小对行为的影响; Bellman 两阶段分解与「所有 RL 算法的关键思想」的定位; Q-learning 用访问到的状态替换期望、ε-greedy、自纠正的完整论证; FrozenLake 的 250 轮与值迭代的对比;GP 定义、RBF 核参数含义、 闭式后验与「没有训练」;超参不能用训练损失调的理由; 「一天训 10 个配置」的账;随机优于网格;ASHA 的异步晋级。

经验判断: γ=0.99、ε 的取值、successive halving 的 η 都是经验旋钮; 「排名跨 rung 一致」是 ASHA 成立的实证假设,不是定理。

判断(我们的,不是书里的): 这一章的三件事其实是同一条暗线的三个切面—— 「模型之外还有一层优化」:RL 优化的是策略(环境给信号), GP 优化的是函数分布(数据给信号),HPO 优化的是超参(验证集给信号)。 今天的 LLM 时代,这条暗线变成了主角:RLHF 是 RL, 贝叶斯优化进了 AutoML,提示词(prompt,写给模型看的那段任务说明)搜索就是一场 HPO。 如果错,会错在: 把三者压成一条线是为了记忆而做的抽象; 它们的目标函数、信号来源、可微性全不同,工程上不能互相套用。

7. 边界与局限

  • RL 只讲到表格型 Q-learning;函数近似(DQN)只提了一句,策略梯度、actor-critic 未讲;
  • 部分可观察(状态看不全)只开了头;
  • GP 的闭式解限回归; inducing point 等大规模近似未展开;
  • HPO 的贝叶斯优化(用 GP 代理想象超参响应面)只提了一句——它和第 4 节正好能接上,书里没接;
  • 三个主题都点到为止,定位是「知道存在、知道入口」。

8. 可带走的

  1. RL 四元组:状态/动作/转移/奖励;奖励由人设计,是最大的人为输入;
  2. 折扣因子 γ:防无穷回报,小则短视、大则敢探索;
  3. Bellman 分解:值 = 首步奖励 + γ×下一步值——一切 RL 算法的根;
  4. Q-learning 不知道转移函数也能学;ε-greedy 的探索带来自纠正;
  5. RL 与监督学习的分界:不只收集数据,还收集对的数据;
  6. GP:核函数直接规定函数长什么样;回归后验闭式、没有训练;
  7. 超参不能用训练损失调,要用验证集;随机搜索胜过网格;
  8. 多保真 + ASHA:便宜评估先淘汰,凑够数就异步晋级。

9. 原文地图

主题原书章原文位置
MDP 四元组Markov Decision Process (MDP)text/127-markov-decision-process-mdp.txt:20(搜「MDP」)
奖励由人设计Markov Decision Process (MDP)text/127-markov-decision-process-mdp.txt:16(搜「designed by the user」)
折扣因子Markov Decision Process (MDP)text/127-markov-decision-process-mdp.txt:18(搜「discount factor」)
Bellman 两阶段分解Value Iterationtext/128-value-iteration.txt:25(搜「two stages」) · text/128-value-iteration.txt:30(搜「dynamic programming」)
值迭代Value Iterationtext/128-value-iteration.txt:76(搜「value iteration」)
不知 MDP 也能学Q-Learningtext/129-q-learning.txt:10(搜「without necessarily knowing the MDP」)
ε-greedyQ-Learningtext/129-q-learning.txt:55(搜「epsilon」)
自纠正与「对的数据」Q-Learningtext/129-q-learning.txt:66(搜「Self-correcting」) · text/129-q-learning.txt:70(搜「right kind of data」)
250 轮 vs 值迭代Q-Learningtext/129-q-learning.txt:151(搜「250 iterations」)
GP 定义Gaussian Process Priorstext/131-gaussian-process-priors.txt:22(搜「joint Gaussian distribution」)
RBF 核Gaussian Process Priorstext/131-gaussian-process-priors.txt:81(搜「radial basis function」)
函数空间直接推理Gaussian Process Priorstext/131-gaussian-process-priors.txt:65(搜「directly」)
闭式后验、没有训练Gaussian Process Inferencetext/132-gaussian-process-inference.txt:83(搜「closed form」)
不确定性随距离增大Gaussian Process Inferencetext/132-gaussian-process-inference.txt:87(搜「moves away from the target locations」)
不能用训练损失调What Is Hyperparameter Optimization?text/133-what-is-hyperparameter-optimization.txt:13(搜「training loss」)
随机优于网格What Is Hyperparameter Optimization?text/133-what-is-hyperparameter-optimization.txt:257(搜「better alternative to grid」)
多保真Multi-Fidelity Hyperparameter Optimizationtext/136-multi-fidelity-hyperparameter-optimization.txt:259(搜「cheap-to-evaluate approximations」)
ASHA 异步晋级Asynchronous Successive Halvingtext/137-asynchronous-successive-halving.txt:45(搜「asynchronous」)

Footnotes

  1. 出处:「Markov Decision Process (MDP)」第 7 段(text/127-markov-decision-process-mdp.txt:7,搜「model for how the state of a system evolves」)与第 20-21 段(四元组写法)。

  2. 出处:「Markov Decision Process (MDP)」第 16 段(text/127-markov-decision-process-mdp.txt:16,搜「designed by the user」)。原文强调奖励由创建算法的人按目标设计。

  3. 出处:「Markov Decision Process (MDP)」第 29-31 段(text/127-markov-decision-process-mdp.txt:18,搜「discount factor」)。γ 小则折扣远期奖励鼓励短路径,γ=0.99 鼓励探索。

  4. 出处:「Value Iteration」第 18-23 段(text/128-value-iteration.txt:23,搜「value function」)。

  5. 出处:「Value Iteration」第 25 段(text/128-value-iteration.txt:25,搜「two stages」)与第 30 段(text/128-value-iteration.txt:30,搜「dynamic programming」)。

  6. 出处:「Value Iteration」第 52-76 段(text/128-value-iteration.txt:76,搜「value iteration」)。把 Bellman 等式当约束反复刷新。

  7. 出处:「Q-Learning」第 10 段(text/129-q-learning.txt:10,搜「without necessarily knowing the MDP」)与第 19 段(用访问到的状态替换求和)。

  8. 出处:「Q-Learning」第 96 段(text/129-q-learning.txt:96,搜「FrozenLake」)。4×4 网格、到 G 得 1 分;原书实验默认 γ=0.99。

  9. 出处:「Q-Learning」第 53-58 段(text/129-q-learning.txt:55,搜「epsilon」)。

  10. 出处:「Q-Learning」第 66-68 段(text/129-q-learning.txt:66,搜「Self-correcting」;text/129-q-learning.txt:70,搜「right kind of data」)。原文:「不只收集新数据、还收集对的数据」是 RL 区别于监督学习的中心特征。

  11. 出处:「Q-Learning」第 151 段(text/129-q-learning.txt:151,搜「250 iterations」)。值迭代轮数更少,因为它看得到完整 MDP。

  12. 出处:「Gaussian Process Priors」第 22 段(text/131-gaussian-process-priors.txt:22,搜「joint Gaussian distribution」)。

  13. 出处:「Gaussian Process Priors」第 81-82 段(text/131-gaussian-process-priors.txt:81,搜「radial basis function」)。

  14. 出处:「Gaussian Process Priors」第 63-65 段(text/131-gaussian-process-priors.txt:65,搜「directly」)。原文:参数大都不可解释,而 GP 提供了直接对函数讲道理的手段。

  15. 出处:「Gaussian Process Inference」第 83 段(text/132-gaussian-process-inference.txt:83,搜「closed form」)。原文:除学核超参外没有训练,预测的方程可以直接写出。

  16. 出处:「Gaussian Process Inference」第 87 段(text/132-gaussian-process-inference.txt:87,搜「moves away from the target locations」)与第 219 段(epistemic/aleatoric 之分)。

  17. 出处:「What Is Hyperparameter Optimization?」第 22-25 段(text/133-what-is-hyperparameter-optimization.txt:13,搜「training loss」)。原文:按训练损失调会把正则系数压到零,损害泛化。

  18. 出处:「What Is Hyperparameter Optimization?」第 36-37 段(text/133-what-is-hyperparameter-optimization.txt:37,搜「one day」)。

  19. 出处:「What Is Hyperparameter Optimization?」第 204-205 段(text/133-what-is-hyperparameter-optimization.txt:204,搜「Random search」)与第 257 段(text/133-what-is-hyperparameter-optimization.txt:257,搜「better alternative to grid」)。

  20. 出处:「Multi-Fidelity Hyperparameter Optimization」第 258-262 段(text/136-multi-fidelity-hyperparameter-optimization.txt:259,搜「cheap-to-evaluate approximations」)与「Asynchronous Successive Halving」第 17-20、45 段(text/137-asynchronous-successive-halving.txt:45,搜「asynchronous」)。