2016 年,David Silver 等人在 Nature 发表《Mastering the game of Go with deep neural networks and tree search》。理解这篇 AlphaGo 论文,可以先抓住三个问题:下一步考虑下在哪里,当前局面有多好,以及怎样把有限计算用在值得探索的后续变化上。
策略、价值和搜索分别做什么
| 组件 | 回答的问题 |
|---|---|
| 策略网络(Policy Network) | 当前局面下,哪些落子值得考虑? |
| 价值网络(Value Network) | 从这个局面继续下,结果大致如何? |
| 蒙特卡洛树搜索(MCTS) | 怎样在候选后续变化中分配计算? |
策略用于指导动作选择,价值用于评估局面,搜索把它们与后续推演结合。它不是把所有可能棋局全部穷举一遍。原论文介绍与摘要
例如,一个位置上可能有许多合法落子。策略网络可以帮助把注意力集中到更值得探索的候选,价值估计则帮助判断某条变化的前景;二者的输出用途不同,不能互相替代。
从人类棋谱到自我对弈
这篇论文结合了监督学习与强化学习。先通过人类专家对局中的局面和落子学习策略,再通过自我对弈改进策略;价值学习则用于局面评估。
因此,不能把这个版本描述成“完全不看人类棋谱,从零开始学会围棋”。也不能把强化学习简单理解为保存一份聊天记忆:它涉及训练目标和模型更新,与检索一段旧记录不同。作者团队对训练方法的说明
MCTS 怎样利用这些信息
从入门角度,可以把一次搜索理解为选择路径、扩展候选、评估局面,再把评估结果反馈到经过的路径。重复这个过程,系统逐步调整对不同候选的关注。
这里的 rollout 指快速模拟推演,用较低成本探索后续结果;价值网络则提供另一种局面评估手段。2016 年方法将学习到的网络与搜索、模拟结合,而不是只靠一个网络直接判断所有棋步。
这个概述用于理解职责分工,不是可直接复现的训练与搜索参数表。真正实现时,还需要棋局规则、特征、训练数据、搜索预算和评估设置。
论文里的比赛对象是谁
该论文报告的职业棋手对局对象是欧洲冠军樊麾,结果为 5:0。不要把后来与李世石的对局直接写成这篇论文里的实验。原论文摘要中的比赛说明
同样,一场比赛或某个基准的结果,只说明特定系统在相应条件下的表现,不能据此推出同一方法能可靠完成所有策略任务。
读完可以带走的思路
AlphaGo 值得学习的一点,是没有把“提出候选”“判断前景”和“探索后续”混成同一件事。它们可以由不同组件承担,再通过系统设计配合。
阅读其他 AI 方法时,也可以先问:模型产生的是动作建议、结果估计,还是最终执行?计算预算用在哪里?结论依赖什么训练和评估条件?把这些问题分开,比只记住“AI 赢了人类”更接近方法本身。