监督学习像一次考试,你答一道题,老师立刻给分。强化学习不是。强化学习是你下一整盘棋,走了几十步,最后才知道这盘赢没赢,而且没人告诉你哪一步是关键的。这个差别看起来只是”反馈给得晚一点”,但它把整套训练范式都拧到了另一个方向上。
这是 MIT《How to AI (Almost) Anything》的第 11 讲(原视频),主题是 强化学习与交互。Paul Liang 用 60 分钟把强化学习从最早的 MDP(马尔可夫决策过程)一路讲到今天 LLM 后训练里的 PPO、GRPO、DPO。听完我最大的感受是:这门技术过去十年的演进,主旋律不是”加东西”,而是”删东西”。
这一讲的总判断:RL 是在”标注拿不到”时,从结果倒推
Paul 一上来就把 RL 和监督学习摆在一起对比,我觉得这个对比是整堂课的题眼。
监督学习的世界很干净:输入一张猫的图,标签写着”猫”,模型预测错了立刻被打脸。每一步都有 dense reward(密集奖励),每一步都能算梯度。
强化学习的世界则是反过来:你是一个智能体(agent),站在某个状态里,得做一连串决策,环境会被你的动作改变,你跳到新状态,再做新决策,如此循环。奖励常常稀疏到一千步以后才来一次:机器人扫完整层楼才知道这次任务算不算成功,语言模型生成一千个 token 之后人类才给一个”喜欢/不喜欢”。
这个差异看起来只是”反馈滞后”,但带来一整串麻烦:你不知道这一千步里哪一步是关键、奖励信号噪声大、环境本身在变、策略也在变,两边都在动。Paul 反复强调,RL 的难,本质就是这个:当你拿不到逐步标注、只能从最终结果反推的时候,你怎么把信号一路传回去。
这门课不打算把 RL 的所有细节讲全,Paul 自己开场就说了。他要讲的是”为了理解今天 LLM 后训练里的那套 RL,你最少需要懂多少”。结果整堂课就像一条主线非常清楚的路径:从最早的策略梯度,到 actor-critic(演员-评论员),到 PPO,再到 GRPO,再到 DPO,每一步演进的方向都是把上一代里的某个组件干掉。
把世界写成 MDP:状态、动作、奖励、折扣
要把”反馈滞后”这件事数学化,经典办法是写成 MDP(马尔可夫决策过程)。Paul 一句话讲清楚了它的四件套:
- 状态(state):你此刻看到的世界。机器人是它当前的坐标,语言模型是它已经生成的那串词。
- 动作(action):你能做的事。机器人是上下左右,语言模型是下一个 token。
- 转移函数:在某个状态做某个动作,会跳到哪个新状态。有时候是确定的,有时候带随机性。
- 奖励函数:做了某个动作之后环境给你打多少分。这分可以是”任务完成了”、可以是”花了多少资源”,也可以是”用户满不满意”。
最不起眼但最关键的是折扣因子(discount factor),通常写成 0.9 这种小于 1 的数。它的意思是:今天到手的奖励比明天的更值钱,五百步之后的奖励要打折再打折。这不只是一个数学技巧。课上有个学生问了一个很到位的问题:做手术的医疗 RL 系统,是不是有时候哪怕结果更好,你也不想等太久?Paul 说对,折扣因子就是用来表达”早一点拿到更重要”的。在很多情况下折扣因子是算法能不能收敛的关键,没有它,算法会一直往未来追那点小奖励,跑不停。
策略(policy)就是从状态到动作的一个分布。它可以是确定的(在 A 状态就一定向前),也可以是随机的,今天 LLM 的 temperature 参数就是策略里的那点随机性。RL 的目标就一句话:学一个策略,让长期累计折扣奖励最大。
模仿学习不够:专家不会教你怎么从坑里爬出来
最朴素的做法是:既然 RL 难,我能不能直接把监督学习套上来?Paul 用自动驾驶举了一个我特别喜欢的例子。
你想训一个自动驾驶策略。状态是挡风玻璃前的画面,动作是方向盘怎么转。最简单的办法:找一堆人类老司机开车,记录每一帧画面和他们当时的方向盘动作,然后训一个分类模型,看一帧画面,预测人当时会怎么转。
这就是模仿学习(imitation learning)。它在原型阶段经常能跑起来,但在真实部署里几乎一定崩。原因 Paul 讲得特别直白:专家从来不示范错误。
老司机不会偏到对向车道,也不会差点撞上停车标志,所以你的数据集里全是”正确路径上的正确动作”。模型只学会了”如果你在正确的路上,该怎么继续开”。一旦它自己开偏了那么一点点,进入了一个它在训练数据里从来没见过的状态,它就傻了,因为没人示范过”从这个尴尬的位置怎么修回来”。
这就是 RL 教材里反复强调的 distribution mismatch(分布偏移):训练时看到的状态分布,和真正部署时模型自己走出来的状态分布,根本不是同一个东西。光靠模仿学不到怎么从坑里爬出来。你必须让策略自己探索,自己犯错,自己见到那些”专家不会去的状态”,并从那里学到如何恢复。
这一节看起来是在讲模仿学习的局限,实际上是在解释 RL 为什么必须存在。
两条路:模型基的树搜索,策略基的直接学
接下来 Paul 把 RL 切成两个大流派,我觉得这个切法对理解后面 LLM 那一段特别有用。
模型基(model-based)RL:你心里画一棵树。当前状态是根节点,每个动作分出几个分支,每个分支又导向新的状态。你的任务是给每个节点估一个值,叫状态价值函数 V(s),意思是”如果我现在站在这个状态、按当前策略走下去,我未来累计能拿多少奖励”。或者更细一点,估状态-动作价值 Q(s,a),意思是”在这个状态做这个动作,未来累计能拿多少”。
经典的 AlphaGo 就是这一路。棋盘是状态,落子是动作,Paul 直接点了出来:AlphaGo 训了一个 CNN,输入是棋盘截图(它把棋盘当图像处理),输出就是这个棋盘的长期 V 值,也就是”我从这里走下去最后赢的概率有多大”。一旦你把每个节点的 V 估准了,下棋就退化成一个树搜索问题:在每一步取 V 最大的分支就行。这种方法擅长”提前在脑子里推演”,但工程上很复杂,你得维护和更新整棵价值树。
策略基(policy-based)RL:不画树,不估每个状态的价值,直接学一个从状态到动作的函数,而且直接对它求梯度。Paul 用乒乓球游戏 Pong 解释这个流派。屏幕是状态,动作只有两个:拍子向上还是向下。一局打完你赢或输,赢=+1,输=-1。
最早的算法 REINFORCE 想法极其直白:让模型自己玩一轮,赢了的那串动作整个加权 +1,输了的那串动作整个加权 -1,把这个奖励乘上各个动作的对数概率,梯度上去更新。听起来粗暴,但它是后面所有现代算法的祖先。
两条路 Paul 没有评孰优孰劣。模型基方法样本利用率高、能做规划,但实现复杂;策略基方法实现简单,但样本饿。今天 LLM 这边几乎一边倒地走策略基这条路,因为生成 token 这件事天然就是”从策略里采样”,根本没办法预先画出整棵树。
从 PPO 到 GRPO:每一代都在删一个组件
策略基方法的故事真正开始于 2015 年之后。Paul 把现代 RL 的演进画成了一条”不断简化”的脉络,这是我整堂课最受启发的部分,值得慢慢讲。
第一代痛点是方差太大。REINFORCE 直接用裸奖励算梯度,但裸奖励本身可能根本不可比:有些游戏永远是正分,你只想拿更多正分;有些游戏永远是负分,你只想离 0 近一点。直接看绝对值没用。改进办法是减一个 baseline:看你这次的奖励比”平均水平”高多少,而不是看绝对值。
第二代 Actor-Critic:把 baseline 从”奖励滚动均值”升级成一个学出来的价值模型 V(s)。这下你需要两个网络:演员(actor)学策略,评论员(critic)学每个状态的价值,二者一边互相打架一边共同进步。GAN 难训的所有问题在这里都出现了。Paul 顺手提了一句:这套架构 2016 年到 2020 年统治了深度强化学习,机器人、Atari 游戏、AlphaStar 全是它的天下。
第三代 PPO(近端策略优化):Actor-Critic 还有一个新麻烦,更新一步策略,可能就把它推得离原来太远,直接崩了。最早 TRPO 用 KL 散度去严格约束”新策略不能离旧策略太远”。PPO 是个工程简化版:别算什么 KL 了,直接把新旧策略概率比 clip 在 [1-ε, 1+ε] 这个范围里,粗暴但好用。PPO 是 RLHF(基于人类反馈的强化学习)最早用的那个算法,GPT 训练成今天这副可对话的样子,中间这一步就是 PPO。
PPO 用在 LLM 上时,这套机器有多少个组件?Paul 在屏幕上列了一长串:策略模型(被训练的 LLM 本身)、参考模型(上一步的 LLM,用来算 KL 防止跑偏)、奖励模型(从人类排序里学出来的,负责打分)、价值模型(critic,负责估每个 token 位置的平均价值)。四个模型一起转,工程复杂度爆炸。
第四代 GRPO:DeepSeek 那篇论文把这件事简化了一大刀。它说,价值模型干嘛要学?我每个 prompt 直接采样一组(group)响应,组内每个响应都打分,组内的平均分天然就是 baseline,我直接用”这个响应的奖励减去组内均值再除以组内标准差”当 advantage 不就行了? 价值模型整个被删掉。Paul 转述了一条 X 上的评论:”为什么从来没人这么干过?其实最早的 REINFORCE 算法用的 baseline 就是几条 trajectory 的奖励均值,GRPO 不过是把这个朴素办法又捡回来了,只是这次组够大,统计够稳。”
第五代:把奖励模型也删掉。Paul 提到了再往后的演进:奖励模型本来是为了模仿人类偏好,但如果任务是”代码能不能跑通”、”测试通过几个”、”输出格不格式合规”,根本不需要学一个奖励模型,写一段规则验证器(rule-based verifier)就能打分。又少一个要训的东西。
把这条主线一句话总结:PPO 删了 KL 显式约束(改成 clip),GRPO 删了价值模型(改成组内统计),verifier 又删了奖励模型(改成规则)。十年下来,RL 的核心算法越来越像 REINFORCE,只是基础设施和打分能力变强了。
我觉得这条主线值得每一个做工程的人看看。它说明在算法演进里,真正的进步常常是”我们以前以为不能省的那一步,其实可以省”,而不是堆叠更复杂的结构。
DPO:连 RL 这一步也想绕过去
讲到最后 Paul 顺手提了 DPO(直接偏好优化)。它的野心更大:连 RL 都不做了。
PPO 那条路线是”先用偏好数据训一个奖励模型,再用奖励模型做 RL 微调”。DPO 说,这两步合一,直接在偏好数据上跑监督学习式的优化,数学推导上等价于”在某种隐含奖励下做 RL”。它的好处是省得在线采样,直接在固定的偏好对儿数据集上算梯度,工程上比 PPO 简单得多。
Paul 用一个对比帮我们 get 到差别:把训练自动驾驶想象成两种模式。一种是把策略部署到车上,车一边跑一边收集新数据、一边更新模型,这是 PPO 那一类的在线 RL。另一种是看一堆别人开车的录像,我自己不上路,只从历史录像里学,这是 DPO 那一类的离线 RL。两边各有信徒,但 DPO 的工程吸引力是实打实的。
到这儿这一讲的算法线就讲完了。回头看,从 REINFORCE 一路走到 DPO,每一步都是在用更简单的形式去替代上一代的某个组件。
我会怎么用 / 放到机器人上看
我做的是清洁/服务机器人的云服务,RL 这套理论在我们这儿不是论文,是工程现实。讲完这堂课,我脑子里立刻浮起几个对照。
第一个对照,模仿学习的坑我们天天踩。机器人上线一个新商场,我们当然希望它一上来就会走。最直接的办法是把另一个商场跑过的轨迹拿过来”模仿”,结果就是 Paul 描述的那个状况:专家路径上跑得好好的,一旦遇到训练里没见过的状态(玻璃门反光让激光雷达突然空一段、地面打滑让里程计漂了 30 公分、有个孩子突然窜出来),它没看过怎么修,就卡在那儿原地打转。专家从来不示范错误这句话,对应到现场就是:示范轨迹永远是”扫得干干净净那次”,你永远学不到打滑后怎么恢复定位、雷达失效后怎么靠相机硬撑。
第二个对照,稀疏奖励正是现场的核心难题。一台机器人扫完整层楼,我们才能给一个”这趟干得怎么样”的最终评分(覆盖率、漏扫率、用户投诉)。中间每一步该怎么打分?自动避障一次该奖励多少?在玻璃门前停下来不撞算几分?这就是 Paul 说的”sparse reward 把信号往回传”那个问题。今天我们工程上的解法很土:手写一堆 shaping reward,撞一下扣多少、绕路多少米扣多少、识别到玻璃门加多少。这些手写规则一多,就跟课上提到的”reward hacking”完全对得上,机器人会找出你规则的漏洞,做出一堆看上去”得分高”但其实不干活的动作。
第三个对照,在线 vs 离线 RL 就是我们的版本管理日常。Paul 那个自动驾驶的类比我直接拿来用:我们能不能让上线的机器人一边跑一边更新策略?答案是不能,出事不可控,客户也不接受。所以我们只能走离线 RL 这条路:线上机器人产生海量轨迹日志回流到云端,我们在云端把”好轨迹”和”坏轨迹”配成偏好对儿(用户投诉的就是坏的、清洁主管打高分的就是好的),用 DPO 那套思路在离线数据上更新策略,再以版本发布的形式推回去。机器人车队的更新节奏从来不是 online RL,是 offline RL 加灰度发布。
第四个对照,GRPO 那个”组内对比”的思想可以迁移。我们做云端的路径策略评测,本来习惯给每条轨迹打一个绝对分(覆盖率几个百分点),但这个绝对分受地图复杂度影响很大,不可比。受 GRPO 启发,同一个商场同一天采样多条策略跑出来的轨迹放一组、组内相对打分,这个 baseline 比拍脑袋定阈值靠谱得多,它把”今天这地特别脏”这种环境因素自动抵消了。这就是组内统计代替绝对值的工程价值。
把这一讲放到我们机器人现场,最大的收获其实不是某个具体算法,而是 Paul 反复强调的那个思路:RL 难,难在”你拿不到逐步标注,只能从结果倒推”。这句话扣回我们现场,就是承认我们手里那点稀疏的、嘈杂的、迟到的信号,是这个问题域的真实样貌,优化算法的全部努力,都是为了把这点信号尽量用足。
收束
这一讲在课程里的位置很关键。前面十讲讲数据、讲架构、讲多模态、讲大模型,都是在静态地处理数据。从这一讲开始,模型不再只是”看”,而是开始”做”:它要在一个会因它的动作而改变的环境里,持续地决策、试错、调整。这是从”感知”迈向”行动”的那一步。
我会记住一件事:这十年 RL 的演进主旋律是删东西,不是加东西。下次再看到一个看起来无比复杂的 pipeline,先问一句:这里面有多少组件,其实是可以删掉的?
下一讲是这门课的收官,讲人机交互和 agent 的安全部署。从这一讲的”模型自己做事”,顺到下一讲的”模型和人一起做事”,收尾收得正好。
本系列
MIT《How to AI (Almost) Anything》共 12 讲,这是我的逐讲解读:
- 这门 MIT 课不教模型,教你怎么”想” AI
- 怎么做 AI 研究:读论文、找想法、快速验证
- 数据、结构与信息
- 实用 AI 工具
- 常见模型架构
- 多模态对齐
- 多模态融合
- 跨模态迁移
- 大型基础模型
- 大型多模态模型
- 强化学习与交互 (本篇)
- 人机交互










AI周刊:大模型、智能体与产业动态追踪
程序员数学扫盲课
冲浪推荐:AI工具与技术精选导航