第7章 深度强化学习
第 6 章告诉我们,智能体可以通过与环境的试错互动学会决策;但当环境的状态空间大到天文数字时,查表式的 Q 学习就束手无策了。本章把深度学习(擅长从高维数据中提取特征)与强化学习(擅长序贯决策)结合起来 - 用神经网络逼近 Q 函数或策略,从而让机器学会打游戏、控制机器人,甚至让大模型学会"讨人喜欢"(RLHF 的人类对齐)。从 DQN 到 Actor-Critic,再到今天大模型对齐的事实标准 PPO,本章将完整走完这条主线。
7.1 深度强化学习的基本思想
第 6 章介绍的 Q 学习、Sarsa 等算法都属于表格型强化学习:把每个"状态–动作"对的 Q 值填进一张大表,训练就是不断更新这张表。表格方法优美且收敛性有理论保证,但它有一个致命前提 - 状态空间必须有限且足够小。真实世界的状态空间几乎都是天文数字:围棋的局面有约 10170 种;Atari 游戏的一屏画面按 84×84 灰度像素计算,状态总数高达 25684×84×4,比宇宙中的原子还多;机器人更糟,关节角度、速度都是连续取值。在这样的空间里,"给每个状态分配一行表格"是完全不可能的,这被称为维数灾难(curse of dimensionality)。
深度强化学习(Deep Reinforcement Learning, Deep RL)的核心思想,就是用深度神经网络作为"函数近似器",用网络的参数 θ 代替表格:网络输入状态 s(例如屏幕像素),输出各个动作的 Q 值 Q(s,a;θ),或者直接输出动作的概率分布 πθ(a|s)。网络的价值在于泛化:即使某个状态从未被访问过,只要它与见过的状态相似,网络就能给出合理的估计 - 这恰好补上了表格方法的短板。
以 Atari 游戏为例(图 7-1):智能体看到的"状态"不再是抽象编号,而是 4 帧堆叠的 84×84 灰度屏幕图像;卷积神经网络(第 3 章)自动从像素中提取"球在哪、挡板在哪"等特征,全连接层再把特征映射成 18 个动作(上、下、左、右、开火……)各自的 Q 值。整个系统从"看屏幕"到"决定按哪个键"一气呵成,不需要任何人手工设计状态特征。
一句话概括
深度强化学习 = 深度学习(负责高维感知与表示)+ 强化学习(负责序贯决策与试错)。用神经网络 \(Q\)(\(s\),\(a\);θ) 或 πθ(\(a\)|\(s\)) 代替查表,把"记忆每个状态"变成"学会一种可泛化的映射"。
然而,把成熟的深度学习方法直接嫁接到强化学习上,并不像看上去那么顺利。监督学习能够稳定训练,依赖三个前提:样本独立同分布(i.i.d.)、目标标签固定、损失信号充足。而强化学习的训练数据来自智能体与环境的一步步交互,三个前提全部被打破,形成了著名的"不稳定三角":
- 样本强相关:监督学习的样本相互独立;而强化学习的样本来自同一条轨迹,相邻的 (s, a, r, s′) 高度相关。用强相关的小批量做梯度下降,更新方向严重偏向最近的经验,训练剧烈震荡 - 这直接违反了 i.i.d. 假设。
- 目标非平稳:监督学习的标签固定不变;而强化学习的目标(如 TD 目标 r + γQ(s′,a′;θ))是由当前网络自己产生的。参数一变,目标跟着变,网络就像在追自己的影子,永远追不上。
- 奖励稀疏:多数状态下奖励为 0,只有完成某个里程碑才有反馈。深层网络的梯度要经过很多层才能传导,本来就容易消失(第 1 章),稀疏的奖励更是让大多数更新几乎收不到有效信号。
打比方:一名"考试困难户"学生
如果平时测验的题目全都出自同一道原题(样本强相关)、期末考试卷是学生自己出的(目标非平稳)、一学期只考一次试(奖励稀疏),那么他几乎不可能进步。深度强化学习的两个关键技巧 - 经验回放与目标网络 - 正是为治疗这三大顽疾而生,我们将在 7.2 节详细展开。
7.2 大型状态空间DQN深度强化学习
2013 年,DeepMind 的 Mnih 等人提出了深度 Q 网络(Deep Q-Network, DQN),并在 2015 年以《Human-level control through deep reinforcement learning》为题发表于《Nature》。DQN 用卷积神经网络拟合 Q 函数,结构如图 7-1:输入 4 帧堆叠的 84×84 灰度屏幕,经过卷积层提取空间特征,再经全连接层输出每个动作的 Q 值。决策时只需取 argmax:哪个动作的 Q 值最大就执行哪个。
DQN 的训练目标是让网络输出的 Q 值逼近贝尔曼最优方程(第 6 章)的右侧,损失函数是 TD 误差的平方:
\[ L(\theta)=\mathbb E_{(s,a,r,s')}\!\left[\left(r+\gamma\max_{a'}Q(s',a';\theta^-)-Q(s,a;\theta)\right)^2\right] \]
其中 θ 是当前网络参数,θ− 是目标网络参数(见下文),γ 是折扣因子。直观理解:\(y\) = \(r\) + γ·maxa′Q(s′,a′;θ−) 是"下一步的最好未来",损失就是让当前估计 \(Q\)(s,a;θ) 尽量贴近这个"目标"。但正如 7.1 节所述,直接这样做训练必然发散,DQN 的里程碑贡献正是两个关键技巧:
技巧一:经验回放(Experience Replay)
智能体把每一步交互产生的四元组 (s, a, r, s′) 存入一个容量为 \(N\) 的经验回放缓冲(replay buffer),训练时从中随机均匀采样一个小批量来更新网络,而不是按时间顺序逐条使用,如图 7-2。这样做一箭双雕:其一,随机采样打散了轨迹的时序相关性,样本近似 i.i.d.,"不稳定三角"之一被瓦解;其二,一条经验可以被反复使用多次,大幅提升了样本利用率。
回放缓冲 = 错题本
经验回放缓冲就像一个"错题本":每道错题都记下来,复习时随机抽取、反复重做。相比"做一题丢一题",错题本让每一条宝贵经验(尤其是那些奖励很大的罕见成功)都能被反复学习,这正是强化学习样本效率低下的解药。
技巧二:目标网络(Target Network)
损失函数里用来计算 TD 目标的网络 θ− 与正在训练的网络 θ 不是同一个网络。θ− 是 θ 的一个延迟副本:每隔 \(C\) 步,把 θ 直接复制给 θ−(硬更新),或每步按 θ− ← τθ + (1−τ)θ− 缓慢滑动(软更新,τ 很小)。这样做让"目标"在若干步内保持固定,网络先朝一个稳定的方向逼近,过一段时间再刷新目标,从而治愈"目标非平稳"的顽疾。
打比方:打靶训练
如果靶心每次都随机移动,射手永远瞄不准;DQN 的做法是让靶心(目标网络 θ−)固定一会儿,射手(Q 网络 θ)先瞄准打,隔一段时间再移动靶心。目标稳了,训练就稳了。
DQN 的训练流程
- 初始化 Q 网络参数 θ 与目标网络参数 θ− = θ,清空经验回放缓冲。
- 对每个回合:初始化状态 s1(游戏开始画面)。
- 对每一步:以 ε 概率随机选动作(探索),否则按 argmaxa Q(s,a;θ) 选动作(利用)。
- 执行动作 a,得到奖励 r 与下一状态 s′,把 (s, a, r, s′) 存入回放缓冲。
- 从回放缓冲随机采样一个小批量,用目标网络计算 TD 目标 y = r + γ·maxa′Q(s′,a′;θ−)。
- 对损失 (y − Q(s,a;θ))² 做梯度下降更新 θ;每 C 步同步 θ− ← θ(或每步软更新)。
凭借这两大技巧,DQN 在 2013 年首次证明:一个不看任何人类知识的程序,仅凭屏幕像素和得分信号,就能在 7 款 Atari 游戏中超越人类最好成绩;2015 年《Nature》版本更在 49 款游戏中的 29 款上达到或超过人类职业玩家水平,其中《打砖块》(Breakout)的得分是人类顶尖选手的 6 倍多。这被公认为深度强化学习的"ImageNet 时刻"。
DQN 的三项重要改进
| 改进方法 | 核心思想 | 解决的问题 |
|---|---|---|
| Double DQN | 用在线网络 θ 选动作、目标网络 θ− 估值:y = r + γQ(s′, argmaxaQ(s′,a;θ); θ−) | max 算子系统性高估 Q 值,导致策略过于激进 |
| Dueling DQN | 把 Q 分解为状态价值与优势:Q(s,a) = V(s) + A(s,a),两支输出共享特征 | 许多状态下"选哪个动作"无关紧要,直接学 V 更高效 |
| 优先经验回放 | 按 |TD 误差| 加权采样,误差大的经验被抽中的概率更高 | 均匀采样浪费了"难题",应把算力花在学不会的经验上 |
7.3 随机策略深度强化学习
DQN 家族属于基于值函数的方法:先学 Q 函数,再借 argmax 间接得到策略。但"学策略"还有另一条更直接的路 - 策略梯度(Policy Gradient)方法:不绕弯子,直接用一个参数化的随机策略 πθ(a|s) 输出每个动作的概率,并让这个概率分布朝着"回报更高"的方向调整。为什么直接学策略更好?
- 天然随机、天然探索:策略本身输出概率分布(如"70% 向左、30% 向右"),探索内置于策略之中,不需要 ε-贪心那样在"探索/利用"之间来回切换。
- 支持高维与连续动作:DQN 需要 argmax 遍历所有动作;而策略网络只需把状态映射成动作分布,连续动作也毫无压力(7.4 节详述)。
- 概率可微、行为平滑:参数的微小变化只会让动作概率发生微小改变,策略可以"渐进地"改善,不像 argmax 那样一步可能跳变。
策略梯度的目标很直观 - 最大化期望累计回报:
\[ J(\theta)=\mathbb E_{\pi_\theta}\!\left[\sum_t\gamma^t r_t\right] \]
关键在于 J(θ) 对 θ 的梯度。策略梯度定理(Policy Gradient Theorem)给出了一个优雅的结论 - 梯度可以通过"对数概率 × 回报"来估计,这就是最经典的 REINFORCE 算法:
\[ \nabla_\theta J(\theta)\approx\mathbb E\!\left[\nabla_\theta\log\pi_\theta(a\mid s)\,G_t\right] \]
其中 \(G_{t}\) = rt + γrt+1 + γ²rt+2 + … 是从时刻 t 开始的累计回报。这个公式的直觉非常朴素:把回报 Gt 当作"放大倍数" - 回报为正的动作,它的选择概率会被推高;回报为负的动作,概率被压低。REINFORCE 的操作流程就是:用当前策略 πθ 采样完整轨迹 → 计算每一步的 Gt → 按上式做梯度上升更新 θ。
打比方:射击教练的点评
REINFORCE 就像教练只看绝对成绩:打中 10 环就夸,脱靶就骂,而且"夸的力度"正比于成绩。问题是单次成绩受运气影响极大(同样的动作可能这次 10 环下次 2 环),教练的点评忽高忽低,队员(策略)被折腾得晕头转向 - 这就是策略梯度的高方差问题:Gt 是整条轨迹随机回报之和,一次采样的估计噪声巨大,导致更新方向剧烈抖动、收敛极慢。
降低方差的标准做法是引入基线(baseline)。注意到 ∇log πθ(a|s) 对动作求和为 0,因此从回报中减去一个与动作无关的量 \(b\)(s)(最常用的是状态价值 V(s)),期望不变,却能让"放大倍数"从绝对值变成相对值,方差大幅下降。这就引出了强化学习中最重要的量 - 优势函数(advantage function):
\[ A(s,a)=Q(s,a)-V(s) \]
它回答的问题是:"在状态 s 下采取动作 a,比平均水平好多少?"A > 0 说明这个动作优于平均,应加大概率;A < 0 则应减小概率。回到教练的比方:与其看绝对成绩,不如看"这次比平时进步了多少" - 排除了队员基础水平的影响,点评自然更稳定。带基线的 REINFORCE 以及后文的 Actor-Critic、PPO 都建立在这个思想上。
on-policy 的含义
REINFORCE 是典型的 on-policy(同策略)算法:用来采样的策略与正在更新的策略必须是同一个,数据用完即弃。这与 DQN 的 off-policy(异策略,可复用缓冲中的历史数据)形成鲜明对比,也是策略梯度方法样本效率偏低的根源。
7.4 连续动作空间深度强化学习
机器人的关节力矩、自动驾驶的方向盘转角与油门开度、无人机的推力……这些任务的动作本身就是连续值(如"方向盘转 13.7°"),而不是"左/右"两个离散按钮。对 Q 学习来说这是灾难:它需要 argmaxa Q(s,a) 在动作空间里遍历求最大值,而连续动作空间有不可数无穷多个候选,根本无法遍历;若把动作离散化成 100 个档位,10 个关节就是 100¹⁰ 种组合,维数灾难再次降临。所以连续控制需要新的架构。
答案就是Actor-Critic(演员–评论家)框架,它把 7.2 的"学 Q"与 7.3 的"学策略"合二为一,用两个神经网络分工协作:
- Actor(演员)=策略网络 πθ:输入状态 s,输出动作 a(或动作分布),负责"怎么做" - 它决定当下该干什么。
- Critic(评论家)=价值网络 Qw(或 Vw):输入"状态 + 动作",输出一个价值分数,负责"评价" - 它告诉 Actor 干得好不好。
训练时,Critic 用 TD 误差评价"刚做的动作",这个误差信号同时用于更新 Critic 自身和指导 Actor 调整策略(图 7-3)。Actor-Critic 一举两得:Critic 充当了 7.3 节所说的"基线/优势",把策略梯度的方差压到很低;而动作由 Actor 网络直接"生成",绕开了 argmax,连续动作空间迎刃而解。
在 Actor-Critic 框架下,两个最著名的连续控制算法是 DDPG 与 SAC:
DDPG(深度确定性策略梯度):Actor 不再输出概率分布,而是直接输出一个确定性动作 a = μ(s)("现在就该打方向盘 13.7°"),Critic 负责估计 Q 值。为让训练稳定,DDPG 集成了 DQN 的全部家当 - 重放缓冲、Actor/Critic 各配一个目标网络,并采用软更新:θ− ← τθ + (1−τ)θ−(τ 通常取 0.005,目标参数缓慢跟随在线参数)。探索则通过在动作上叠加随机噪声实现。DDPG 是 off-policy 的,样本效率高,是最早能在 MuJoCo 等连续控制基准上稳定工作的算法之一。
SAC(软演员–评论家):在目标中引入最大熵思想 - 不仅要最大化累计回报,还要同时最大化策略的熵:
\[ J(\theta)=\sum_t\mathbb E\!\left[r_t+\alpha\mathcal H\!\left(\pi_\theta(\cdot\mid s_t)\right)\right] \]
其中 \(H\)(π(·|s)) 是策略在状态 s 下的熵(衡量随机程度),α 是熵权重。熵越大,策略越"三心二意"、越愿意探索,还能学到"多条路都通向成功"的多模态策略 - 机器人既可以选择从左边绕,也可以从右边绕。SAC 是目前公认最稳定的连续控制算法之一,对超参数不敏感、收敛平滑,因此也是学术界与工业界连续控制的默认选择。
| 方法 | 策略类型 | 采样方式 | 核心特色 | 典型应用 |
|---|---|---|---|---|
| A2C / A3C | 随机策略 | on-policy | 多进程并行采样加速,实现简单 | 离散/连续游戏、导航 |
| DDPG | 确定性策略 | off-policy | 重放缓冲 + 目标网络 + 软更新,样本高效 | 机械臂、早期 MuJoCo |
| SAC | 随机策略 | off-policy | 最大熵正则,探索充分、训练最稳 | 机器人操作、四足、自动驾驶规控 |
今天,Actor-Critic 家族已广泛落地:机器人用 DDPG/SAC 学机械臂抓取、四足与双足行走、灵巧手操作;自动驾驶用它们规划连续的方向盘与油门;游戏 AI 用它们攻克 MuJoCo、Isaac 等连续控制基准。而 7.6 节的 PPO 同样属于这个家族 - 它把 Actor-Critic 的稳定性和策略梯度的通用性推向极致,成为全领域的事实标准。
7.5 深度强化学习各种方法之间的关联
走到这里,我们已经遇到了三大谱系的方法。它们并非彼此孤立,而是从"如何表示策略"这个根本问题出发的三条路线(图 7-5):基于值函数的 DQN 家族先学 Q 再取 argmax;基于策略的 REINFORCE 家族直接学动作概率分布;Actor-Critic 家族两条腿走路 - Actor 学策略、Critic 学价值并充当低方差基线。第二条与第三条路线之间没有鸿沟:给 REINFORCE 加一个价值网络做基线,它就成了 Actor-Critic;把 A2C 的 Critic 换成能处理连续动作的确定性 Q 网络,就得到 DDPG;再给 DDPG 的随机版本注入最大熵,就是 SAC。
图 7-5 的阅读方式是"从上往下、从左往右":根节点是本章的总目标;第一层分叉代表三种截然不同的"策略表示方式";每个家族下挂的是沿该路线演化出的具体算法,方框底部标注了它的采样方式。注意观察两个细节:其一,左列与中列最终在中列汇合 - 给 REINFORCE 配上价值网络做基线,就自然过渡到右列的 Actor-Critic,这说明三条路线之间是连续的演化关系而非彼此隔绝;其二,方框越靠下,方法越"集大成" - 例如 SAC 既继承了 DDPG 的重放缓冲与目标网络,又继承了最大熵的思想,而 PPO 则把策略梯度的通用性与裁剪技巧结合,成为兼容离散与连续动作的"全能选手"。
从另一个维度看,这些方法还可以按"采样方式"分成两大类:off-policy(异策略,如 DQN、DDPG、SAC)可以复用回放缓冲里的历史数据,样本效率高,但容易出现"用旧数据训练新策略"的分布偏差;on-policy(同策略,如 REINFORCE、A2C、PPO)只用当前策略新采样的数据,理论性质干净、训练稳定,但数据用完即弃、样本效率低。下表给出全景对比:
| 方法 | 学习对象 | 采样方式 | 动作空间 | 优点 | 局限 |
|---|---|---|---|---|---|
| DQN 家族 | Q 函数 | off-policy | 离散 | 数据复用充分、训练稳定 | argmax 无法处理连续动作 |
| REINFORCE | 策略 | on-policy | 任意 | 简单直接、理论清晰 | 回报方差大、收敛慢 |
| A2C / A3C | 策略 + 价值 | on-policy | 任意 | 方差低、并行加速 | 样本效率一般 |
| DDPG | 确定性策略 + Q | off-policy | 连续 | 样本高效 | 对超参数敏感、易不稳定 |
| SAC | 随机策略 + Q | off-policy | 连续 | 最大熵、最稳算法之一 | 实现较复杂 |
| PPO | 策略 + 价值 | on-policy | 任意 | 稳定、通用、易实现 | 样本效率中等 |
没有银弹,按任务选方法
离散动作的 Atari 类游戏,首选 DQN 家族;连续控制且预算充足,SAC 最稳;要求实现简单、开箱即用、离散连续通吃 - 那就是下一节的 PPO,它也是大模型对齐的事实标准。
7.6 近端策略优化算法
策略梯度方法有一个著名的两难:更新步长太难选。步长太大,一次更新就把策略推到坏区域,之后训练彻底崩坏(回报悬崖式下跌,再也回不来);步长太小,策略像蜗牛一样爬,样本浪费严重。2015 年提出的 TRPO(信任区域策略优化)用"新旧策略的 KL 散度不超过某个上界"的约束来保证每次更新都是单调改进,效果很好,但需要复杂的二阶优化,实现困难、计算昂贵。2017 年,OpenAI 的 Schulman 等人提出PPO(近端策略优化,Proximal Policy Optimization):保留 TRPO"不要走太远"的信任区域思想,却把约束变成一个一阶可微的裁剪目标,训练稳定性和 TRPO 相当,实现却简单得多 - 只需普通 SGD。
PPO 的第一个关键工具是重要性采样(importance sampling)。on-policy 方法"数据用完即弃"太浪费,但直接拿旧策略 πold 采的数据来算新策略 πθ 的期望又不对 - 好在可以用新旧策略的概率比来修正,定义:
\[ r_t(\theta)=\frac{\pi_\theta(a_t\mid s_t)}{\pi_{\theta_{\mathrm{old}}}(a_t\mid s_t)} \]
rt(θ) 衡量"同一个动作,新策略给它的概率是旧策略的几倍":等于 1 说明两个策略没变;大于 1 说明新策略更倾向于这个动作;小于 1 说明新策略在疏远它。于是我们可以用旧策略采样的数据估计新策略的目标:\(J\)(θ) ≈ E[ rt(θ)·Ât ],其中 Ât 是优势函数估计(7.3 节),数据因此可以反复使用多个 epoch。但如果没有约束,最大化这个目标同样会步子迈得过大 - PPO 的裁剪目标正是为此而生:
\[ L^{\mathrm{CLIP}}(\theta)=\mathbb E_t\!\left[\min\!\left(r_t(\theta)\hat A_t,\operatorname{clip}(r_t(\theta),1-\varepsilon,1+\varepsilon)\hat A_t\right)\right] \]
其中 ε 是一个小常数(通常取 0.2),clip(r, 1−ε, 1+ε) 把 rt(θ) 强行夹在区间 [1−ε, 1+ε] 内。这个 min 的作用,通过图 7-4 的曲线看得最清楚:
图 7-4 中,蓝色实线是优势为正(Ât > 0)时的目标。此时我们希望 rt 增大(加大好动作的概率),但当 rt 超过 1+ε 后,目标曲线从上升变为水平 - 再多给 10% 的概率,目标也不再增加,梯度被"截断"为零。这相当于告诉优化器:"这个动作很好,可以多选,但一次最多多选 ε 这么多,剩下的下个回合再说。"红色实线是优势为负(Ât < 0)的情形:新策略若把这个坏动作的概率降得太多(rt < 1−ε),目标同样变平,惩罚被截断,防止"矫枉过正"。两者合起来的效果是:每次更新都被限制在一个信任区域 [1−ε, 1+ε] 内,既不会步子太大崩坏,又能在区域内充分前进,而且整条曲线处处一阶可微,用普通 SGD 就能优化。
PPO 的一句话本质
PPO 把 TRPO 的"KL 散度约束"换成"裁剪目标":策略可以随便改进,但每一步最多改 ε 那么多。信任区域思想保证了稳定性,一阶优化保证了简单性 - 这正是它"既稳定又高效"的全部秘密。
为什么 PPO 能成为强化学习的事实标准?其一,稳定性:裁剪机制让训练几乎从不出现"回报悬崖",对学习率、网络结构、随机种子都不敏感;其二,通用性:离散动作、连续动作、单智能体、大规模并行环境全部适用;其三,实现简单:与 TRPO 相比,PPO 只需要普通反向传播,是"想用就能用"的算法。如今 PPO 已无处不在:OpenAI 训练 ChatGPT 的 RLHF 流程用它做策略优化;DeepSeek-R1 等推理模型用强化学习奖励"思维链"的正确步骤;机器人、自动驾驶规控、游戏 AI(OpenAI Five 玩 Dota 2)的底层几乎都是 PPO 或其变体。可以毫不夸张地说,读懂 PPO,就拿到了打开"大模型如何变聪明"之门的钥匙。
PPO 的两个变体
原始论文给出两个版本:本章的裁剪目标(clip objective)与KL 惩罚目标(KL penalty)。实践中裁剪版更常用;在大模型对齐场景中,还会看到它的近亲 GRPO(去掉价值网络、用组内相对优势),思路同源。
本章要点
- 函数近似:用神经网络 \(Q\)(s,a;θ) 或 πθ(a|s) 代替查表,解决状态空间爆炸;但带来"不稳定三角" - 样本强相关、目标非平稳、奖励稀疏。
- DQN = Q 学习 + 卷积网络 + 经验回放(打散相关性、复用样本)+ 目标网络(稳定 TD 目标);改进有 Double DQN(去高估)、Dueling DQN(V+A 分解)、优先经验回放。
- 策略梯度:直接学随机策略,∇J ≈ E[∇log πθ(a|s)·Gt];高方差靠优势函数 A = Q − V(基线)解决。
- 连续动作:argmax 无法遍历连续空间,用 Actor-Critic(Actor 做、Critic 评)解决;代表作 DDPG(确定性 + 软更新)与 SAC(最大熵,最稳之一)。
- 方法谱系:值函数(DQN 家族)/ 策略(REINFORCE 家族)/ Actor-Critic(A2C·DDPG·SAC·PPO);on-policy 稳而费样本,off-policy 省样本而有偏差。
- PPO:用重要性采样复用数据,用裁剪目标 LCLIP = E[min(rt·Ât, clip(rt,1−ε,1+ε)·Ât)] 把更新限制在信任区域内 - 稳定 + 简单的完美结合,是 RLHF 与大模型对齐的核心算法。
延伸阅读 · 大模型时代的深度强化学习
RLHF:给大模型做"人类对齐"。ChatGPT 等大模型之所以"听话",靠的正是本章的 PPO。经典 RLHF 三步走(图 7-6):第一步 SFT,用人工撰写的高质量问答对预训练模型做监督微调,让模型"会说人话";第二步训练奖励模型 RM,让人工对模型生成的多个回答排序,学习一个打分器,把"好不好"变成可优化的奖励信号;第三步用 PPO 优化策略 - 让模型生成的回答在 RM 打分下拿高分,同时用 KL 惩罚防止模型偏离人类语言太远。三阶段层层递进:先学语言,再学好坏,最后把偏好内化为策略。
AlphaGo / AlphaZero:2016 年 AlphaGo 战胜李世石,是深度强化学习的另一座丰碑 - 它用"策略网络 + 价值网络"指导蒙特卡洛树搜索,再通过自我对弈强化学习不断变强;AlphaZero 更进一步,完全不用人类棋谱,纯靠自我对弈从零学起,在围棋、国际象棋、将棋上全部登顶。
推理模型的思维链强化学习:2024—2025 年的 o1、DeepSeek-R1 等推理模型,用强化学习直接奖励"推理步骤的正确性"(如数学答案对错、代码能否通过测试),让模型自发学会"想得更久、自我纠错" - 这是 PPO/GRPO 在符号推理上的新战场。
具身智能:人形机器人(Optimus、宇树等)把视觉感知(CNN/Transformer)+ 语言理解(大模型)+ 运动控制(SAC/PPO)闭环起来,让机器人在真实世界中学会行走、抓取、操作。深度强化学习,正在从"玩游戏"走向"干实事"。
进阶读物:《Reinforcement Learning: An Introduction》(Sutton & Barto);Mnih 等《Human-level control through deep reinforcement learning》(Nature, 2015);Schulman 等《Proximal Policy Optimization Algorithms》(2017);OpenAI Spinning Up 在线教程。





