强化学习是什么?
一句话:智能体在环境中通过试错,学习如何最大化长期奖励。
| 学习类型 | 特点 | 比喻 |
|---|---|---|
| 监督学习 | 老师直接告诉你答案 | 看答案书做题 |
| 强化学习 | 老师只给你打分 | 训练小狗做动作 |
RL 世界的五大要素(MDP 框架)
Agent(智能体) → 决策的大脑(如:马里奥)
↓
Environment(环境) → 规则的制定者(如:游戏关卡)
↓
State(状态) → 智能体看到的"现状"(如:屏幕画面)
↓
Action(动作) → 智能体能做的事(如:按跳跃键)
↓
Reward(奖励) → 环境给的分(如:金币+10,掉坑-100)
| 要素 | 含义 | 例子 |
|---|---|---|
| Agent | 决策的大脑 | 马里奥、ChatGPT、自动驾驶 |
| Environment | 规则的制定者 | 游戏关卡、物理世界 |
| State | 智能体感知的"现状" | 屏幕像素、对话历史 |
| Action | 智能体能做的事 | 按跳跃键、生成下一个词 |
| Reward | 环境给的即时反馈 | 金币+10、掉坑-100、用户点赞+1 |
注意:奖励是评估性的,不是指示性的。它只告诉你结果好坏,不告诉你"最佳操作是什么"。
核心难题
听起来就是"趋利避害",那难点在哪里?
1. 远见 vs 短视(折扣因子 γ)
我们追求的不是单步奖励 Rt,而是回报 Return Gt:
Gt = Rt+1 + γ·Rt+2 + γ²·Rt+3 + …
- γ(Gamma,0~1):决定智能体有多"看重未来"
- γ = 0:极度短视,只在乎眼前的快乐
- γ → 1:极度有远见,为未来大奖愿意忍受当下痛苦
2. 信用分配(Credit Assignment)
你下围棋赢了,是因为第 100 步的绝杀,还是第 5 步的布局?
现在的动作可能导致很久之后才得分(延迟奖励)。
解决方案:引入价值函数 Value(V 或 Q)
- 它充当"预言家",预测处于当前状态未来能拿多少分
- 贝尔曼方程:将未来的价值回传给现在
V(s) ≈ R + γ·V(s’)
当前状态的价值 = 现在的奖励 + 打折后的下一状态价值
3. 探索 vs 利用
| 类型 | 含义 | 比喻 |
|---|---|---|
| 利用 | 贪婪模式,选已知最优 | 去那家你已知最好吃的餐厅 |
| 探索 | 冒险模式,尝试新选项 | 去尝试一家新开的店 |
RL 必须在二者之间寻找平衡,否则会陷入局部最优。
三大算法流派
| 流派 | 代表 | 核心逻辑 | 优缺点 | 适用场景 |
|---|---|---|---|---|
| Value-based | DQN, Q-Learning | 算出每个动作的价值 Q(s,a),选最高的 | 连续动作(如机器人关节)很难处理 | 离散动作(游戏、迷宫) |
| Policy-based | Policy Gradient | 直接输出动作概率分布 π(a|s),从中采样 | 天然支持连续动作,但学习慢、方差大 | 连续动作(机械臂控制) |
| Actor-Critic | PPO, A3C, TRPO | Actor 输出动作,Critic 打分纠正 | 结合前两者优点,稳定高效 | 复杂场景(Dota 2、ChatGPT) |
Value-based(基于价值)
核心:计算每个状态-动作对的价值 Q(s,a),然后选价值最高的动作。
对于每个状态 s:
对于每个可能的动作 a:
计算 Q(s,a) = 期望的未来回报
选择 argmax Q(s,a)
缺点:在连续动作空间(如机器人关节角度)中,计算 argmax Q 非常困难。
Policy-based(基于策略)
核心:不计算价值,直接输出动作的概率分布 π(a|s),从中采样。
策略网络 π(s) → 动作概率分布 → 采样一个动作
优点:天然支持连续动作
缺点:
- 学习效率低
- 方差大
- 容易收敛慢
Actor-Critic(当前主流)
核心:结合前两者的优点
Actor(运动员) → 输出动作
Critic(教练) → 打分,纠正 Actor
TD Error(预测误差)的双重作用:
- 更新 Critic:让"教练"的眼光更准
- 更新 Actor:如果 TD Error 为正(表现比预期好),鼓励这个动作;反之抑制
SOTA:当前最强的算法(如 PPO)几乎都是这一派。
RLHF:ChatGPT 的训练秘密
RLHF(Reinforcement Learning from Human Feedback)是让 GPT 从"能说话"进化到"说人话"的关键。
GPT 生成文本 → Reward Model 打分 → PPO 更新参数 → 循环
三步走
1. SFT(有监督微调)
先找人类写好的高质量问答对,让模型学会基本的对话能力。
2. Reward Model(奖励模型 - RM)
人类不可能实时给 AI 的每一句回复打分(太慢、太贵)。
训练一个替身模型来模仿人类的喜好:
- 人类给几个回答排序
- RM 学习这种排序逻辑
3. PPO(强化学习优化)
| 项目 | 内容 |
|---|---|
| Agent | GPT 模型 |
| Environment | 奖励模型(RM) |
| 流程 | GPT 生成文本 → RM 给出分数 → PPO 更新参数 |
目的:强行调整 GPT 的概率分布,让它生成的每一个词都更符合人类的价值观和偏好。
总结
| 要点 | 内容 |
|---|---|
| 1 | Reward 是信号,Value 是预判。真正的高手看的是 Value(长期价值) |
| 2 | Value-based 怕连续动作,Policy-based 怕方差大 |
| 3 | Actor-Critic 是完美的"联姻",工业界标准(如 PPO)几乎都是这一派 |
| 4 | RLHF 的本质是用 Reward Model 充当虚拟裁判,通过强化学习对齐人类意图 |
comments: true
参考资料
- Reinforcement Learning: An Introduction (Sutton & Barto) - 强化学习圣经
- Spinning Up in Deep RL (OpenAI) - OpenAI 深度强化学习教程
- Introduction to Reinforcement Learning - DeepMind 入门资源