想象你是一个小镇上的“盲品美食家”,你的工作是帮夜市摊主找到最受欢迎的招牌小吃。你手里有一本笔记本,记录着每位摊主每种小吃的“受欢迎指数”(期望回报)。然而,小镇上摊位越来越多、小吃种类无穷无尽,你不可能把每种搭配都试一遍。更麻烦的是,有些夜市在深山老林里,你只能派“试吃员”去随机尝几口,拿回一份带着“运气成分”的报告。 这时,一位老摊主教会你一个祖传秘诀:与其费尽心思去估计每一道小吃的绝对评分(价值函数),不如直接观察——当试吃员对某道菜竖起大拇指(高回报)时,就让摊主更频繁地做这道菜;当试吃员皱眉(低回报)时,就让摊主少做这道菜。这个“直接根据反馈好坏调整做菜概率”的秘诀,就是策略梯度定理(Policy Gradient Theorem)。它让AI智能体在连续动作空间(比如机械臂的关节角度)中也能高效学习,是现代深度强化学习(如 PPO、TRPO)的基石。
策略梯度定理是理解现代强化学习算法(如 PPO、TRPO)的钥匙,掌握它能让你在机器人控制、游戏 AI 等前沿领域拥有直接优化策略的核心能力,是通往高级 AI 工程师的必修课。
可视化演示
展示策略梯度定理的数学推导过程、策略网络参数优化流程与REINFORCE/Actor-Critic/PPO算法家族对比,理解直接优化策略的核心原理。
本节配有交互动效(进入视口后自动加载,约 3KB)。
策略梯度定理推导 目标函数J(θ)=E[Σγᵗrᵗ],对θ直接求梯度 log-导数技巧将积分转为期望,无需环境模型 ∇J(θ)=E[Σ∇log π(a|s)·G] 策略梯度=回报×对数概率梯度之期望
问题导入
“盲品美食家”老周遇到了新麻烦。以前,他用一本“评分手册”(值函数 Q 表)来记录每一种小吃组合的美味程度。但夜市越开越大,摊主们开始推出“任意搭配”的创意小吃——比如“辣度连续可调”的烤串,辣度可以是 0 到 100 之间的任意数值。如果继续用“评分手册”,他得记录无穷多个辣度对应的评分,这显然是不可能的。
这就是传统值函数方法的致命伤:面对连续动作空间(比如机械臂关节的连续角度、自动驾驶的方向盘转角),Q 表根本存不下。更麻烦的是,值函数方法只能给每个状态选一个“最优动作”,但现实中的最优策略往往是随机的——比如猜拳时,你绝不能每次都出石头,而要按某种概率随机出拳,让对手无法预测。
于是老周换了一个思路:干脆不记录“每种小吃多少分”,而是直接给每个摊主一本“做菜策略手册”。手册上写着“看到顾客皱眉(状态)时,有 70% 概率做加辣、30% 概率做微辣”。这个手册就是 策略参数,它是一组可以调节的数字(即参数 θ)。老周的目标变成:怎么调整这些数字,让夜市的总营业额(期望回报)变得最高?
老周很快发现,这个“策略手册”思路好处多多:它天然支持连续动作(比如辣度 73.5 度)、天然产生随机策略(按概率出拳),而且手册里的数字可以交给计算机自动调节。但问题是——怎么知道往哪个方向调呢?这就要用到策略梯度定理了。
- 动作偏好分数先给每个动作设定一个“偏好分数” z,它表示这个动作“看起来多有吸引力”。
- 温度参数τ 控制“探索与利用”的平衡,τ 越大,各动作概率越接近均匀分布(更像随机尝试)。
- Softmax 归一化将所有动作的偏好分数取指数后归一化,确保所有动作的概率之和为 1。
数学建模
老周现在有了“做菜策略手册”,但他需要一把“指南针”来告诉他:手册里的每个数字(参数)该往哪个方向拧,夜市营业额才能涨。设夜市的一个完整营业日为一个“轨迹”(从开门到关门的所有状态、动作、回报序列),那么一天的营业额就是所有回报的总和。策略梯度定理关心的是:当参数 θ 发生微小变化时,期望营业额会朝哪个方向变化?
把轨迹的概率分解开来看:一天营业过程发生的概率,等于最开始处于某个状态的概率,乘以每一步“在状态下选择某道菜的概率”乘以“顾客反馈出下一个状态的概率”的连乘。这个连乘式子中,只有“选择某道菜的概率”(即策略 πθ)直接依赖于我们要调的参数 θ。所以求导时,其他项的导数都为 0,只剩下策略项的导数,这就大大简化了问题。
一个关键的数学技巧出现了:当我们要计算目标函数关于参数的梯度时,可以利用“对数导数”技巧——把概率的梯度变成“概率 × 对数概率的梯度”。这就像老周不需要知道每道菜的具体利润,只需要知道“这道菜涨价 1 元时,被点概率的百分比变化”,就能判断该不该涨价。于是,策略梯度定理的核心公式呼之欲出。
这个公式就是老周梦寐以求的“指南针”:它告诉老周,如果某天夜市生意爆好(回报为正),说明今天做的菜(动作序列)值得推广,应该把做这些菜的概率调高;如果生意惨淡(回报为负),就要把做这些菜的概率调低。
- 对数策略梯度衡量“动作 a 被选择的概率”对参数 θ 的敏感度——参数微调后,这个动作的被选概率会变多少倍。
- 轨迹总回报整场互动从开始到结束累积的总奖励 R(τ),它像一个“法官”,给整条轨迹的行为表现打分。
- 期望的线性性对多个采样轨迹的结果取平均,作为真实梯度的估计,样本越多越接近真实方向。
- 直觉解读如果一条轨迹总回报高,就“放大”这条轨迹上所有动作的概率;如果总回报低,就“缩小”它们的概率。
采样估计
老周拿着“指南针”公式信心满满地出发了,可他立刻发现一个现实问题:公式里有个“期望”符号,这意味着要遍历所有可能的营业日轨迹来求平均——这在现实中根本做不到。夜市每天只开一次门,他不可能让时间倒流重来一万遍。
解决办法是采样估计(蒙特卡洛方法):多派几个“试吃员”(智能体副本)同时去夜市体验,每人记录一条轨迹和对应的总回报,最后把所有轨迹的“总回报 × 对数策略梯度”取平均,就得到一个梯度的近似值。虽然每一条轨迹都带着运气成分(采样噪声),但只要样本量足够大,平均结果就会收敛到真实梯度方向——就像抛硬币,抛 10 次正面率可能偏差很大,但抛 10000 次就非常接近 50%。
不过老周很快注意到一个问题:如果某天夜市整体很火爆(所有摊位营业额都高),那么所有摊位都会觉得自己做菜很棒,导致策略朝“无脑复制”的方向走——这不是最优的。这个问题的根源在于梯度的方差太大。下一节我们看看老周怎么解决。
- 收集轨迹让智能体用当前策略 πθ 与环境互动 N 次,得到 N 条轨迹(每条包含一系列状态、动作、奖励)。
- 计算梯度贡献对每条轨迹的每个时间步,计算“对数策略梯度 × 总回报”。
- 取平均把所有轨迹的梯度贡献加起来除以轨迹数 N,得到梯度估计值。
- 沿梯度更新把估计到的梯度方向乘以学习率 α,加到原参数上,完成一步“策略改进”。
方差分析
老周发现,用采样估计的梯度方向“抖动”得很厉害。有时明明是好策略,却因为一次运气差的采样(试吃员那天心情不好,给所有菜差评)而让策略往坏的方向调。这个“抖动”就是统计学中的方差。
为什么方差这么大?回顾公式,梯度里乘了一个“轨迹总回报 R(τ)”。但轨迹回报受很多因素影响:初始状态随机、环境转移随机、策略本身随机,这些随机性全都叠加在 R(τ) 上,导致单个轨迹的回报可能非常高或非常低。就像老周让一个试吃员去评价所有小吃,如果试吃员那天牙疼,所有小吃评分都偏低——这会让策略误判“所有菜都不该做”。
聪明的做法是引入一个“基准线”(baseline)。老周想:与其看这个月的绝对营业额,不如看“这个月比平时好多少”。如果平时月均营业额是 10 万,这个月做了 12 万,说明最近的新菜品确实不错,值得推广;如果只做了 9 万,说明新策略还不如旧策略。这个“平时水平”就是基准线 b(s)。
这就是优势函数的由来。老周不再问“这道菜赚了多少钱”,而是问“这道菜比摊主平时的平均水平多赚了多少”。如果一个动作的优势为正,就增强它;为负,就削弱它。这样即使某个试吃员整体心情不好(环境随机性大),也不影响策略调整的方向,方差大大降低,学习变得稳定高效。
- 原始形式不引入基准线时,回报直接乘以梯度,方差很大。
- 减去基准线在梯度的权重中加入状态价值函数 V(s_t) 作为基准线。
- 零均值性质因为策略梯度对动作的期望为零,减去只依赖状态的基准线不改变总期望。
- 优势函数
Qπ - V被定义为优势函数 A(s,a),表示“这个动作比平均水平好多少”。
算法应用
掌握了策略梯度定理这把“尚方宝剑”,老周开始在不同夜市大展身手,还发展出了多种招式。第一招是最基础的 REINFORCE 算法:让试吃员完整地体验一个营业日(完整轨迹),然后根据整天的总回报调整策略。优点是简单直接、无偏,缺点是方差大、学习慢(要等一整天结束才能调参)。
第二招是 Actor-Critic(演员-评论家)架构:老周不再只派试吃员(Actor,演员),还配了一个“账房先生”(Critic,评论家)。账房先生实时预估“现场这个局面的平均利润水平”(即状态价值 V(s)),试吃员每尝一口,账房先生就告诉它“这道菜比平时好还是差”(优势估计),试吃员立刻调整做菜概率,不需要等到收摊。这样方差更小、学习更快,但代价是引入了价值估计的偏差。
第三招是当代工业界最流行的 PPO(近端策略优化) 和 TRPO(信任区域策略优化):它们像给老周配了一副“保险绳”——每次参数更新时,不允许“策略手册”变化过大,防止一次坏采样导致策略彻底崩坏。PPO 通过裁剪(clip)目标函数来控制更新幅度,让学习过程既快又稳。
如今,老周已经把这套“策略梯度秘籍”传遍了整个夜市行业。从最初的 REINFORCE 到 Actor-Critic,再到 PPO/TRPO,一步一个脚印,策略优化的效率不断提高。这套方法已经成为现代强化学习的标准范式,支撑着无数人工智能应用。
- 概率比定义r(θ) 是新旧策略在状态 s 下选择动作 a 的概率比值,表示“新策略比旧策略更敢做这个动作多少倍”。
- 裁剪操作将概率比限制在 [1-ε, 1+ε] 内,超出部分被截断,防止更新过头。
- 取最小值原始目标与裁剪目标之间取较小者,保证目标函数是“保守的”——在策略改进时不含糊,在策略恶化时手脚放慢。
价值升华
回到小镇夜市,老周的“策略梯度”秘籍不仅解决了自家夜市的难题,还传遍了全国,甚至改变了整个美食行业。故事背后的数学原理——策略梯度定理,其价值远远超越夜市经营。它是现代深度强化学习的理论基石,深刻影响了人工智能的多个前沿领域。
当我们把视野从夜市放到整个 AI 世界:策略梯度定理是深度强化学习中最核心、最活跃的分支之一。它的魔力在于——绕开对“世界模型”的精确建模,直接从交互数据中优化策略本身。这种“端到端”的学习方式(从原始输入到动作输出),克服了传统方法在高维连续空间中的维数灾难,使得 AI 能够完成人形机器人行走、无人机编队飞行、AlphaGo 击败人类棋手等壮举。
近年来,策略梯度定理的应用进一步外溢到大型语言模型的对齐中。ChatGPT 等大模型用的“基于人类反馈的强化学习”(RLHF)技术,其核心优化器正是 PPO 算法——策略梯度定理家族的一员。换句话说,让 AI 说人话、不说有害内容的背后,就有策略梯度定理在无声地“拧参数”。这就像老周当年根据试吃员的反馈,不断调整“哪个方向做菜概率更高”,只不过现在轮到 AI 根据人类的赋值反馈来调整自己的行为概率。
策略梯度定理的另一个深刻洞察是“概率的世界没有最优解,只有持续改进的解”。老周的策略手册永远在更新,因为夜市的人流、口味、季节都在变。同样,AI 的策略也永远在更新——它不追求“一次定胜负”的完美策略,而是在与环境的持续交互中不断调整、学习和进化。这个思想,正是强化学习区别于监督学习的灵魂所在,也是策略梯度定理留给 AI 从业者最宝贵的精神财富。
AI 应用场景
人形机器人关节控制
阶段:策略优化
解决的问题:人形机器人的关节角度是连续变量(如膝关节弯曲 37.5 度),传统 Q 表方法无法枚举无穷多个角度组合。策略梯度定理通过参数化策略直接输出“每个关节角度的概率分布”,让机器人能在连续动作空间中学习走路、奔跑等复杂运动技能。
具体案例:波士顿动力公司的 Atlas 机器人在后空翻、跑酷等场景中,其运动控制器经过强化学习预训练,策略网络直接输出各关节的目标角度或力矩值,利用 PPO 算法在仿真环境中进行数百万次试错训练,最终迁移到真实机器人。
大型语言模型的 RLHF 对齐
阶段:模型微调(对齐)
解决的问题:预训练语言模型(如 GPT)生成的文本可能包含有害内容。通过人类反馈训练一个“奖励模型”,再用 PPO 算法优化语言模型的生成策略,使模型倾向于生成符合人类偏好的回答。策略梯度定理让模型能够处理“整段文本生成”这种高维序列决策问题。
具体案例:ChatGPT 的训练管线中,RLHF 阶段使用 PPO 算法微调 GPT 模型。策略模型每生成一段回答,奖励模型给出一个打分,PPO 利用策略梯度定理更新模型参数,使高分回答(符合人类偏好)的生成概率上升。这个“根据反馈调整生成概率”的过程,正是策略梯度定理的直接应用。
Python 演示
import numpy as npimport gym # 简单的策略网络def policy_forward(x, theta): h = np.dot(x, theta) # 线性得分 prob = 1.0 / (1.0 + np.exp(-h)) # sigmoid -> 动作1的概率 return prob def policy_backward(prob, x, action, advantage): # 对数策略梯度: d/dtheta log pi(a|s) * A dlog = x * (action - prob) # 伯努利分布的导数 return dlog * advantage def run_episode(env, theta, render=False): obs = env.reset() xs, actions, rewards = [], [], [] total_reward = 0.0 done = False while not done: if render: env.render() prob = policy_forward(obs, theta) action = 1 if np.random.uniform() < prob else 0 x = np.append(obs, 1.0) # 添加偏置项 xs.append(x) actions.append(action) obs, reward, done, _ = env.step(action) rewards.append(reward) total_reward += reward return xs, actions, rewards, total_reward def train(): env = gym.make("CartPole-v1") theta = np.random.randn(5) * 0.1 alpha = 0.01 gamma = 0.99 batch_size = 10 running_reward = 0.0 for episode in range(500): xs, actions, rewards, total_reward = run_episode(env, theta) running_reward = 0.05 * total_reward + 0.95 * running_reward # 计算折扣回报 G_t G = 0.0 discounted = [] for r in reversed(rewards): G = r + gamma * G discounted.insert(0, G) discounted = np.array(discounted) # 标准化优势(降方差) advantages = discounted - np.mean(discounted) if np.std(discounted) > 1e-8: advantages /= np.std(discounted) # 累积梯度 grad = np.zeros_like(theta) for x, a, adv in zip(xs, actions, advantages): grad += policy_backward(prob=policy_forward(x, theta), x=x, action=a, advantage=adv) # 每 batch_size 回合更新一次参数 if episode % batch_size == 0: theta += alpha * grad / batch_size print("Episode:", episode, "Reward:", total_reward, "Running:", round(running_reward, 2)) env.close() if __name__ == "__main__": train()
prob = 1.0 / (1.0 + np.exp(-h))用 sigmoid 函数把线性得分转换成“向左/向右”的概率dlog = x * (action - prob)这是伯努利分布对数策略梯度的解析形式,直接对应定理中的 ∇log πG = r + gamma * G从后往前算折扣回报,越远的奖励折扣越大(gamma=0.99)advantages = discounted - np.mean(discounted)减去均值作为基准线,降低策略梯度方差theta += alpha * grad / batch_size沿策略梯度方向更新参数,每 10 个回合取平均更稳定
常见误区
误区“策略梯度定理就是告诉 AI 每个状态下应该选哪个最优动作,就像分类器输出一个最佳标签。”
正解策略梯度定理实际上是在调整“每个动作被选中的概率”,而不是直接选最优动作。它让高回报动作的概率上升、低回报动作的概率下降,但始终保持概率分布的随机性。就像老周调策略手册时,不是把某道菜的概率直接改成 100%,而是从 30% 调到 70%——保持探索的空间。
为何常见:人们容易把强化学习和监督学习混淆,以为策略就是“输入状态、输出唯一动作”的映射。实际上策略是“输入状态、输出动作概率分布”,随机策略在博弈和探索中至关重要。
误区“既然整条轨迹的回报很高,说明轨迹上所有动作都是好动作,都应该增加概率。”
正解策略梯度公式确实会给轨迹上的每个动作乘以同一个总回报,但这只是“粗粒度”的调整方向。REINFORCE 算法确实存在“信用分配”(credit assignment)问题——轨迹中某个动作可能是坏的,但被其他好动作的高回报掩盖了。这也是为什么要引入 Actor-Critic 和优势函数:更精细地判断“每个动作单独贡献了多少”。
为何常见:初学者理解公式时,容易把“乘法”理解为“每个动作独立获得总回报”,而忽略了这是“整条轨迹”的联合调整。
误区“策略梯度定理是更先进的方法,所以策略梯度方法一定比 Q-learning 等值函数方法更强大、更高效。”
正解策略梯度方法擅长连续动作空间和随机策略,但数据效率往往更低(因为只用采样估计,方差大)。值函数方法(如 DQN)在离散动作空间、样本效率方面仍然有优势。工程实践中常用 Actor-Critic 将两者结合——用值函数(评论家)降低策略梯度(演员)的方差,取长补短。
为何常见:人们喜欢比较“谁更好”,但实际上两者是互补的。策略梯度定理的提出不是取代值函数方法,而是填补了值函数方法在连续空间中的空白。
误区“从回报中减去一个基准线 V(s),这会不会让梯度的方向发生变化?那结果不就不准了?”
正解数学上可以严格证明,当基准线只依赖状态 s 而不依赖动作 a 时,减去基准线不会改变梯度的期望值。因为策略梯度对动作的期望值为零:Σ π(a|s)∇log π(a|s)·b(s) = 0。基准线只是改变了梯度的“方差”,让每次采样的结果更稳定,但没有改变“平均方向”。这就像老周改看“超额利润”而不是“绝对利润”——涨跌的方向判断没变,但判断更准了。
为何常见:直觉上“减掉一个数确实会改变结果”,但期望值的线性性和零均值性质使得这个操作在期望层面无影响。需要一定的数学功底才能理解。
误区“PPO 是完全不同的强化学习算法,和策略梯度定理没多大关系。”
正解PPO 是策略梯度定理家族的直接继承者。它的核心目标函数仍然基于策略梯度定理的公式框架,只是在此基础上加入“裁剪机制”来控制每次更新的步长,防止策略变化过大。TRPO 用 KL 散度约束更新步长,PPO 用裁剪替代,两者都是“策略梯度 + 安全更新”的组合。
为何常见:PPO 在实践中表现得非常好,人们容易把它当作一个独立的“神奇算法”,而忽略了它只是策略梯度思想的一套工程化改进方案。
面试题
Q1. 策略梯度定理的核心思想是?
- A.精确计算每个动作的价值函数
- B.直接对策略参数求梯度来优化期望回报← 正确答案
- C.枚举所有可能的状态动作对
- D.用监督学习训练动作分类器
答案:B。策略梯度定理的核心是直接在策略参数空间中优化期望回报,通过采样估计梯度方向来更新策略参数,而不是像值函数方法那样先精确估计 Q 值(排除 A、C),也不是将问题转化为监督学习(排除 D)。它让高回报轨迹上的动作概率升高、低回报的概率降低,这正是定理的价值所在。
Q2. 相比值函数方法,策略梯度方法的主要优势是?
- A.训练速度一定更快
- B.不需要奖励信号
- C.天然支持连续动作空间和随机策略← 正确答案
- D.不需要与环境交互
答案:C。策略梯度方法直接参数化策略分布,能够输出连续值上的概率分布(如关节角度 37.5°),同时天然支持随机策略(如猜拳时按概率出拳),这两种能力是 Q 表格或 DQN 难以处理的。选项 A 不一定成立(数据效率通常更低),B 和 D 与强化学习的基本设定相悖。
Q3. 在策略梯度定理的推导中,对数导数技巧的作用是?
- A.将连乘变成连加,方便求导← 正确答案
- B.让梯度值变得更大
- C.消除所有随机性
- D.避免使用期望运算
答案:A。轨迹概率是许多项连乘,直接求导非常困难。取对数后,连乘变成连加,∇log P(τ|θ) = Σ∇log π(a_t|s_t),这样每一项只依赖于自己的策略项,便于计算和分析。对数技巧既不是为了放大梯度(B)也不是为了消除随机性(C),期望运算仍然保留(D 错误)。
Q4. 以下哪些方法属于降低策略梯度方差的手段?
- A.引入状态价值函数作为基准线← 正确答案
- B.使用优势函数替代原始回报← 正确答案
- C.增大学习率
- D.增大批次大小(更多采样轨迹)← 正确答案
答案:ABD。基准线 b(s) 利用零均值性质在期望不变的前提下减小方差(A 正确);优势函数 A = Q − V 实际上就是“回报减去基准线”的形式(B 正确);增大批次大小相当于让更多样本参与平均,随机噪声相互抵消(D 正确)。增大学习率是加快更新步伐,与方差无关,反而可能导致震荡(C 错误)。
Q5. REINFORCE 算法更新参数时,需要等到什么时候?
- A.每个时间步结束后立即更新
- B.完成一整条轨迹(回合)后更新← 正确答案
- C.收集到足够多的随机种子后更新
- D.环境模型训练完成后更新
答案:B。REINFORCE 是蒙特卡洛策略梯度方法,它必须等一条完整轨迹结束,才能计算出整条轨迹的总回报 R(τ),然后用这个总回报乘以对数策略梯度来更新参数。因此 A“每个时间步立即更新”错,C 和 D 混淆了其他概念。Actor-Critic 方法才能实现单步更新。
Q6. 引入基准线 b(s) 之后,策略梯度的期望值会?
- A.变大
- B.变小
- C.保持不变← 正确答案
- D.无法确定
答案:C。因为策略梯度的动作期望为零:Σ π(a|s)∇log π(a|s) = 0,所以任何只依赖状态 s 的函数 b(s) 乘以这个梯度后取期望都为零。因此减去基准线在期望层面完全不影响梯度方向,它只改变方差。这是策略梯度定理中一个漂亮而重要的数学性质。
Q7. 关于 PPO 算法的裁剪目标函数,以下说法正确的是?
- A.裁剪操作限制新旧策略的概率比在一定范围内← 正确答案
- B.裁剪可以完全消除策略梯度的偏差
- C.裁剪防止单次更新使策略变化过大← 正确答案
- D.PPO 完全不使用优势函数
答案:AC。PPO 将新旧策略概率比 r(θ) 裁剪到 [1−ε, 1+ε] 区间内(A 正确),目的是防止一次参数更新导致策略“突变”,保证训练稳定性(C 正确)。裁剪控制的是方差和更新幅度,并不能消除偏差(B 错误);PPO 的目标函数依然使用优势函数 Â_t(D 错误)。
Q8. 策略梯度定理中,轨迹的概率分解式不包含以下哪一项?
- A.初始状态分布
- B.策略概率
- C.状态转移概率
- D.学习率大小← 正确答案
答案:D。轨迹概率 P(τ|θ) = d(s₀) × Ππ(a_t|s_t) × ΠP(s_{t+1}|s_t,a_t),由初始状态分布(A)、策略概率(B)和状态转移概率(C)三部分组成。学习率 α 是参数更新时的步长超参数,不属于轨迹概率模型,故选 D。
Q9. “优势函数”A(s,a) 的定义是?
- A.动作值函数减去状态值函数← 正确答案
- B.状态值函数减去动作值函数
- C.动作值函数乘以状态值函数
- D.动作值函数加上状态值函数
答案:A。优势函数 A(s,a) = Q(s,a) − V(s),表示“在状态 s 下选择动作 a 比平均情况好多少”。如果 A > 0,说明这个动作优于平均水平,应该增加其概率;如果 A < 0,说明差于平均水平,应该减少其概率。其他选项的加减乘运算都不符合定义。
Q10. 策略梯度定理对现代大型语言模型(如 ChatGPT)的最重要贡献是?
- A.加速了预训练阶段的数据处理
- B.支持 RLHF 中对生成策略的优化← 正确答案
- C.完全替代了监督微调
- D.降低了推理阶段的算力需求
答案:B。ChatGPT 训练管线中的 RLHF(基于人类反馈的强化学习)微调阶段,常使用 PPO 算法(策略梯度定理家族)来优化语言模型的生成策略——让模型倾向于产生人类评分高的完整回答。预习练仍是监督学习(C 错),策略梯度不用于数据处理和推理加速(A、D 错)。