游戏 RL: AlphaZero 与 MuZero 本节摘要:1992 年 TD-Gammon 用纯 TD 击败西洋双陆棋人类冠军;2016 年 AlphaGo 击败李世石;2017 年 AlphaZero 从零统治棋、将棋、围棋;2024 年 DeepSeek-R1 证明同一配方(用 GRPO 替代 PPO)在推理上也成立。游戏是驱动本章每个突破的 benchmark。 本节作为收官,透过一个统一视角——自博弈 + 搜索 + 策略改进——巡礼三大里程碑架构:AlphaZero(已知规则 + MCTS + 策略价值网)、MuZero(学到的潜在动力学模型,不假设规则)、GRPO(同一循环用到 LLM 推理,token 当动作、数学验证当胜利信号)。
本节摘要:1992 年 TD-Gammon 用纯 TD 击败西洋双陆棋人类冠军;2016 年 AlphaGo 击败李世石;2017 年 AlphaZero 从零统治棋、将棋、围棋;2024 年 DeepSeek-R1 证明同一配方(用 GRPO 替代 PPO)在推理上也成立。游戏是驱动本章每个突破的 benchmark。 本节作为收官,透过一个统一视角——自博弈 + 搜索 + 策略改进——巡礼三大里程碑架构:AlphaZero(已知规则 + MCTS + 策略价值网)、MuZero(学到的潜在动力学模型,不假设规则)、GRPO(同一循环用到 LLM 推理,token 当动作、数学验证当胜利信号)。重点讲透 GRPO 的组相对优势
A_i = (r_i - mean_r)/std_r为何能同时替代 critic 与奖励模型,以及 DeepSeek-R1 的四阶段配方(冷启 SFT → 推理 GRPO → 拒绝采样 SFT → 全谱 GRPO)。最后点明:蒸馏强 RL teacher 一致地胜过在 student 规模从头 RL。
对应原课程:Phase 9 · Lesson 12 ·
rl-for-games(原英文phases/09-reinforcement-learning/12-rl-for-games/docs/en.md)。
阅读完本节,你应当能够:
(h, g, f) 去掉「规则已知」假设,从而统一棋类与 Atari。A_i = (r_i - mean_r)/std_r,解释它为何不需要 critic、为何对推理任务天然合适。游戏有 RL 想要的一切。干净的奖励(赢/输)。无限回合(自博弈可重置)。完美仿真(游戏就是仿真器)。离散或小连续动作空间。迫使对抗鲁棒的多智能体结构。
而且游戏是每个重大 RL 突破的测试场。TD-Gammon(西洋双陆棋,1992)。Atari-DQN(2013)。AlphaGo(2016)。AlphaZero(2017)。OpenAI Five(Dota 2,2019)。AlphaStar(StarCraft II,2019)。MuZero(学到模型,2019)。AlphaTensor(矩阵乘法,2022)。AlphaDev(排序算法,2023)。DeepSeek-R1(数学推理,2025)——最新的证明:游戏 RL 技术在文本上也成立。
本节作为收官,透过一个统一视角巡礼三大里程碑架构——AlphaZero、MuZero、GRPO:自博弈 + 搜索 + 策略改进。每一个都是前一个的推广;GRPO 尤其是 AlphaZero 配方应用到 LLM 推理——token 当动作、数学验证当胜利信号。
while True: trajectory = self_play(current_policy, search) # 对自己下棋 policy_target = search.improved_policy(trajectory) # 搜索改进原始策略 policy_net.update(policy_target, value_target) # 对搜索输出做监督
给定一个规则已知的游戏(棋、将棋、围棋):
f_θ(s) → (p, v)。p 是合法落子的先验,v 是期望棋局结果。(p, v) 做先验 + 自举。用 UCB(PUCT)选节点:a* = argmax Q(s, a) + c · p(a|s) · √N(s) / (1 + N(s, a))。t 时,MCTS 的访问分布 π_t 成为策略训练目标。L = (v - z)² - π · log p + c · ||θ||²。z 是棋局结果(+1 / 0 / -1)。零人类知识。零手工启发式。 一个配方,在各自几千万局自博弈后,掌握棋、将棋、围棋。
去掉「规则已知」的要求。
(h, g, f):
h(s):把观测编码成潜在状态。g(s_latent, a):预测下一潜在状态 + 奖励。f(s_latent):预测策略先验 + 价值。Stochastic MuZero(2022) 加随机动力学与机会节点,扩展到双陆棋类博弈。Muesli、Gumbel MuZero(2022-2024) 改进样本效率与确定性搜索。
同一个 AlphaZero 形状的循环,应用到语言模型推理:
「游戏」:答一道数学 / 编程 / 推理题。「赢」= 验证器(单测通过、数值答案匹配)返回 1。
策略:LLM。动作:token。状态:提示 + 至今的响应。
没有 critic(PPO 式的 V_φ)。取而代之,每个提示从策略采 G 个补全,每个算奖励。用组相对优势 A_i = (r_i - mean_r) / std_r 作为 REINFORCE 式更新的信号。
对参考策略的 KL 惩罚防漂移(像 RLHF)。
完整损失:
L_GRPO(θ) = -E_{q, {o_i}} [ (1/G) Σ_i A_i · log π_θ(o_i | q) ] + β · KL(π_θ || π_ref)
无奖励模型、无 critic、无 MCTS。 组相对基线替代了三者。在推理 benchmark 上以零头算力匹敌或超过 PPO-RLHF 质量。
DeepSeek-R1(DeepSeek 2025)是一篇论文里的两个模型:
<think>…</think> 标签里)。几千步内,平均响应长度从 ~100 涨到 ~10000 token,数学 benchmark 分数爬到接近 o1-preview 水平。模型从零学会推理。 代价:它的思维链常不可读、混语言、缺风格打磨。结果在 AIME 与 MATH-500 上匹敌 o1,开源权重,且小到可蒸馏。同一篇论文还发布六个蒸馏稠密模型(Qwen-1.5B 到 Llama-70B),通过在 R1 推理轨迹上 SFT——student 不做 RL。蒸馏强 RL teacher 一致地胜过在 student 规模从头 RL。
DeepSeekMath 论文(2024 年 2 月)给三个理由:(1) 无需训练价值网络,内存减半;(2) 组基线天然处理推理任务产生的稀疏回合末奖励;(3) 每提示归一化让优势在难度天差地别的题目间可比,而 PPO 的单一 critic 做不到。
游戏已经分化:
💡 把 AlphaZero、MuZero、GRPO 放在一起看,你会发现它们是同一个想法的三种实例化:用搜索(显式 MCTS 或隐式的组采样)产生一个比当前策略更好的「教师信号」,再用监督/策略梯度把这个信号蒸馏回策略网。AlphaZero 的搜索在棋盘上,MuZero 的搜索在潜在空间,GRPO 的「搜索」是对同一提示采样 G 个补全。理解这个统一视角,你就能预测下一类 RL 突破会出现在哪。
code/main.py 实现了微缩版 GRPO——一个带多组样本的多臂赌博机。算法与 LLM 上完全一样,只是策略与环境更简单。它教的是损失与组相对优势这个 2025 年的创新。
QUESTIONS = [ {"prompt": "q1", "correct": 3}, {"prompt": "q2", "correct": 1}, ] def verify(prompt_idx, answer_token): return 1.0 if answer_token == QUESTIONS[prompt_idx]["correct"] else 0.0
真实 GRPO 里验证器跑单测或检查数学等式。
def policy_probs(theta, p_idx): return softmax(theta[p_idx])
等价于 LLM 在提示条件下的最后一层输出。
def grpo_step(theta, p_idx, G=8, beta=0.01, lr=0.1, rng=None): probs = policy_probs(theta, p_idx) samples = [sample(probs, rng) for _ in range(G)] rewards = [verify(p_idx, s) for s in samples] mean_r = sum(rewards) / G std_r = stddev(rewards) + 1e-8 advs = [(r - mean_r) / std_r for r in rewards] for a, A in zip(samples, advs): grad = onehot(a) - probs for i in range(len(probs)): theta[p_idx][i] += lr * A * grad[i] # KL 惩罚:把 theta 拉向参考 for i in range(len(probs)): theta[p_idx][i] -= beta * (theta[p_idx][i] - reference[p_idx][i])
组相对优势是 2024 年 DeepSeek 的技巧。无需 critic。「基线」就是组均值,归一化用组标准差。
同样设置、同样算力,跑朴素 REINFORCE。GRPO 收敛更快更稳。
与 RLHF 同诊断:对参考的平均 KL、策略熵、奖励随时间。一旦这些稳定,训练就完成。
💡 注意 GRPO 与第 06 节 REINFORCE 的关系:它就是「用同一提示的 G 个采样的均值/方差当作基线」的 REINFORCE。这个基线不需要 critic、不需要价值网络,且天然按每提示归一化——这就是它内存省半、且对推理任务天然合适的根源。
2026 年游戏 RL 全景,按领域:
| 领域 | 主导方法 |
|---|---|
| 双人零和棋类(围棋、棋、将棋) | AlphaZero / MuZero / KataGo |
| 不完全信息牌类(扑克) | CFR + 深度学习(DeepStack、Libratus、Pluribus) |
| Atari / 像素游戏 | Muesli / MuZero / IMPALA-PPO |
| 大型多人策略(Dota、StarCraft) | PPO + 自博弈 + 联赛(OpenAI Five、AlphaStar) |
| LLM 数学/代码推理 | GRPO(DeepSeek-R1、Qwen-RL、开源复现) |
| LLM 对齐 | DPO / RLHF-PPO(不是 GRPO;验证器是偏好非可验证) |
| 机器人 | PPO + DR(不是游戏 RL,但用同样的策略梯度工具) |
| 组合优化 | AlphaZero 变体(AlphaTensor、AlphaDev) |
配方——自博弈、搜索增强改进、策略蒸馏——跨文本、像素、物理控制。GRPO 是最年轻的实例;更多即将到来。
生产里跑 GRPO 的标准工具是 HuggingFace TRL 的 GRPOTrainer——它接受自定义奖励函数(验证器),内置对参考模型的 KL,处理序列级 log-prob 与长度归一化。Qwen2.5-Math 是 R1 配方的开源多尺度复现,值得对照阅读。本节的微缩赌博机与 GRPOTrainer 在数学上同构——区别只在策略是 softmax 还是 LLM、验证器是查表还是跑单测。
本节产出一个可复用 skill(位于原课程 outputs/skill-game-rl-designer.md)。骨架:
--- name: game-rl-designer description: 为给定领域设计游戏 RL 或推理 RL 训练管线(AlphaZero / MuZero / GRPO)。 version: 1.0.0 phase: 9 lesson: 12 tags: [rl, alphazero, muzero, grpo, self-play] --- 给定一个目标(完美信息博弈 / 不完全信息 / Atari / LLM 推理 / 组合优化),输出: 1. 环境适配。规则已知?马尔可夫?随机?多智能体?据此选 AlphaZero vs MuZero vs GRPO。 2. 搜索策略。MCTS(带学到先验的 PUCT)、Gumbel 采样、Best-of-N、或无。 3. 自博弈计划。对称自博弈 / 联赛 / 离线数据 / 验证器生成。 4. 目标信号。棋局结果 / 验证器奖励 / 偏好 / 学到的模型。含鲁棒性计划。 5. 诊断。对基线的胜率、ELO 曲线、验证器通过率、对参考的 KL。 拒绝在不完全信息博弈上用 AlphaZero(改走 CFR)。 拒绝没有可信验证器的 GRPO。 拒绝任何没有固定基线对手集的游戏 RL 管线(否则自博弈 ELO 未校准)。
code/main.py 里实现 GRPO 赌博机,2 提示 × 每提示 4 答案 token。G=8 时 1000 次更新内收敛。1/√G 走。G < 4 时优势信号噪;标准选择 G = 8 到 64。| 术语 | 俗称 | 实际含义 |
|---|---|---|
| MCTS | 「带学习网络的树搜索」 | 蒙特卡洛树搜索;UCB1/PUCT 选择配学到 (p, v) 先验 |
| AlphaZero | 「自博弈 + MCTS」 | 策略价值网,训去匹配 MCTS 访问与棋局结果 |
| MuZero | 「学到模型的 AlphaZero」 | 同循环但通过学到动力学在潜在空间 |
| GRPO | 「无 critic 的 PPO」 | 组相对策略优化;REINFORCE + 组均值基线 + KL |
| PUCT | 「AlphaZero 的 UCB」 | Q + c · p · √N / (1 + N_a)——平衡价值估计与先验 |
| 自博弈 | 「智能体对过去的自己」 | 零和标准;对称训练信号 |
| 联赛训练 | 「基于人群的自博弈」 | 过去 + 当前 + exploiters 采样为对手 |
| 验证器奖励 | 「可验证 RL」 | 奖励来自确定性检查器(单测过、答案匹配) |
| 过程奖励 | 「PRM」 | 给每个推理步骤打分,而非只给最终答案 |
(h, g, f) 去掉规则已知假设,统一棋类与 Atari。A_i = (r_i - mean_r)/std_r 同时替代 critic 与奖励模型。本章收官。从 MDP 五元组出发,经动态规划、蒙特卡洛、TD、DQN、策略梯度、Actor-Critic、PPO、RLHF、多智能体、Sim-to-Real,到 AlphaZero/MuZero/GRPO——强化学习让模型从「模仿」走向「探索」,而 RLHF 与 GRPO 是大模型对齐与推理的根基。下一章,我们将进入新的主题。