01 强化学习基础与策略梯度法
学习理念:不要被"强化学习"这个名字吓到。说白了就是**"试错学习"**——你养过宠物吗?教狗坐下:做了就给零食(奖励),做了别的事就不给(没有奖励)。狗慢慢就学会了"坐下 → 有零食"。RL 就是这个道理,只不过"狗"换成了计算机程序,"零食"换成了数字奖励,而且计算机可以在虚拟世界里疯狂试错,一天跑几百万次。
搞懂一个比方就够了:RL = 教狗做 tricks(状态=狗当下的姿态,动作=你下的指令,奖励=零食/抚摸,策略=你觉得某个指令能换来零食的经验)
📖 阅读优先级
| 等级 | 章节 | 说明 |
|---|---|---|
| 🟡 理解即可 | 全部 | 知道 RL 是什么、思路怎么迁移到 LLM 就够了 |
一、强化学习是啥?——教狗做 tricks
监督学习像考试前老师给你发答案:看了 100 道题的答案,考试时碰到类似的就能答出来。 强化学习像玩游戏自己摸索:没人告诉你哪个按钮是干嘛的,你按一下 → 扣血了(负奖励)→ 下次不按了;你跳一下 → 吃到了金币(正奖励)→ 下次还跳。
🟡 【理解即可】 三个核心概念用一个比方串起来:
| 概念 | 英文 | 比喻(教狗) | 比喻(LLM) |
|---|---|---|---|
| 状态 | State | 狗现在是坐着还是趴着 | 用户当前输入的问题 |
| 动作 | Action | 你说"坐下"还是"趴下" | 模型生成的回答 |
| 奖励 | Reward | 做对了给零食,做错了不给 | 用户点赞/踩、RM 打分 |
| 策略 | Policy | 你总结的经验:"说坐下时给零食最管用" | LLM 的参数(决定怎么回答) |
RL 的学习循环(也是 LLM 对齐的底层逻辑)
① 狗(Agent)看到当前状态(主人的手势)
② 根据已有的经验(策略)做出动作(坐下/趴下)
③ 得到奖励(有零食/没零食)
④ 根据奖励调整经验(策略更新)
⑤ 回到 ①,直到形成稳定的行为模式🟡 【理解即可】 这个循环在 RLHF 中一模一样,只是"狗"换成了 LLM,"零食"换成了 Reward Model 的分数。
二、策略梯度法——"好的就多鼓励,差的就少鼓励"
🟡 【理解即可】 策略梯度的思想朴实到有点可爱:做完一件事,如果结果好,下次就多做这种动作;结果不好,下次就少做。
2.1 比方:厨师学做菜
想象一个新厨师学做红烧肉:
第一次做(动作):多放了盐,咸得发苦
顾客吃完皱眉(负奖励)
厨师经验更新:"少放盐"(策略调整)
↓
第二次做(动作):只放了一小勺
顾客吃完点赞(正奖励)
厨师经验更新:"这样刚好"(策略调整)策略梯度法就是把这个"做好事就表扬、做坏事就批评"的逻辑,用数学实现的算法。 数学上就是:
损失 = -回报 × log(好动作的概率)如果回报是正的,梯度会提高这个动作的概率;回报是负的,就降低。
2.2 类比:Git 分支合并
策略更新就像 Git 的 rebase:
- 老策略 = main 分支
- 采样数据 = 基于 main 拉了个 feature 分支跑实验
- 梯度更新 = 把 feature 分支合并回 main
- PPO 的裁剪 = 限制每次合并的 diff 不要太大,防止冲突
# REINFORCE 最简核心——这 3 行代码就是全部思想了
loss = -G * log(action_probs[action]) # G=回报,action=做的动作
loss.backward() # 算梯度
optimizer.step() # 更新策略(下次更倾向做好事)三、Actor-Critic——"一个做事,一个评价"
🟡 【理解即可】 Actor-Critic 把"做"和"评"分开了,就像实习生在干活,导师在旁边打分。
之前(REINFORCE):自己做完一整局,回头看整局说"嗯这局打得不错/不好"——反馈太慢。 之后(Actor-Critic):每一步都有一个导师(Critic)即时评价"这一步走得好不好"——反馈更快,学习更稳。
| 角色 | 网络 | 干的事 | 类比 |
|---|---|---|---|
| 演员(Actor) | π_θ | 根据状态选动作 | 实习生干活 |
| 评论家(Critic) | V_φ | 预估某状态值多少钱 | 导师打分 |
🟡 【理解即可】 Actor-Critic 是 PPO 和 RLHF 的基石。后面讲 RLHF 时会看到,RLHF 里的 Actor = LLM,Critic = 一个单独训练的模型。
四、本节小结
| 类比 | 核心道理 | 和 LLM 的关系 |
|---|---|---|
| 教狗做 tricks | 做对了给奖励,做错了不给 | RLHF 就是教 LLM"什么回答是好回答" |
| 厨师学做菜 | 好的动作多做,差的少做 | 策略梯度法就是这么干的 |
| Git rebase | 更新不能太大,否则冲突 | PPO 的裁剪就是防止一步走崩 |
| 实习生+导师 | 做事和评价分开 | Actor-Critic 是 RLHF 的基础架构 |
本节所有内容属于 🟡 理解即可——你不需要会手写 REINFORCE,但理解了上面这些比方,后面看 RLHF 的时候就会觉得"哦,原来就是这套逻辑用于 LLM 了"。