MCTS 与 AlphaZero
蒙特卡洛树搜索用 UCT 平衡探索利用;AlphaZero 用神经网络的策略与价值引导搜索,再用搜索结果训练网络。本章讲 PUCT、自博弈训练循环,以及"搜索 = 策略改进、训练 = 策略评估"的 GPI 解读。
MCTS:四个阶段
Section titled “MCTS:四个阶段”蒙特卡洛树搜索(MCTS)在当前状态反复模拟未来,增量构建一棵搜索树。每次模拟经过四个阶段:
- 选择:从根出发,用树内统计量选择子节点,直到到达叶节点;
- 扩展:为叶节点创建子节点;
- 评估:用 rollout(随机走到终局)或价值估计得到该节点的回报;
- 反向传播:把回报沿路径回传,更新沿途每个节点的访问计数 与价值均值 。
重复模拟数千次后,根节点的子节点统计就近似了一个搜索后的策略:访问次数越多,说明搜索越相信该动作好。
UCT 与 PUCT
Section titled “UCT 与 PUCT”树内选择用 UCT(UCB for Trees)平衡"利用高价值分支"与"探索低访问分支":
AlphaZero 用 PUCT 替代 UCT:把神经网络的先验策略 加进探索项,
先验高但没怎么搜过的动作自动获得探索配额——搜索不再从零开始,而是在网络的判断基础上做改进。这是 AlphaZero 对经典 MCTS 最关键的一处改动:rollout(随机走到底)被价值网络的一次前向评估替代,快了几个数量级。
AlphaZero 的训练循环
Section titled “AlphaZero 的训练循环”AlphaZero (Silver et al., 2017) 的完整循环,以围棋/国际象棋/将棋为对象:
- 自博弈:当前网络 引导 MCTS(PUCT + 价值评估),搜索得到改进后的动作分布;用 -greedy 式的根节点温度采样保持开局多样性;
- 搜索作为改进算子:搜索输出的访问分布 比网络原始输出更好(搜索用更多计算做了更深的评估);
- 训练:用自博弈数据训练网络,损失包含三项——策略模仿搜索分布 、价值回归真实胜负 、L2 正则;
- 循环:更好的网络 → 更好的搜索 → 更好的数据 → 更好的网络。
这就是广义策略迭代的搜索版解读(→ 价值函数与 Bellman 方程):搜索是策略改进步(用计算把策略变好),训练是策略评估步(把改进的结果固化进参数)。网络与搜索互相放大。
AlphaZero 的设定前提:完全信息(双方看到同一棋盘)、确定性、已知规则。三个前提缺一,方法就要改造:
- 不完全信息 → 需要信念状态或对手建模(→ 自博弈与 PSRO、扑克用 CFR 系);
- 规则未知 → MuZero 学一个用于规划的模型(→ MuZero:学习用于规划的模型);
- 随机环境 → Stochastic MuZero 等扩展。
搜索的计算代价也是局限:每次决策都要数百到数千次模拟,对实时性要求高、算力受限的场景不适用。
- 搜索输出的动作分布比原始策略更好,成为训练目标
- 价值网络代替 rollout 评估叶节点
- 完全信息、确定性、已知规则是前提