4.6 AlphaGo Zero 与 AlphaZero:从零自对弈
AlphaGo 还学过人类棋谱。一年后,AlphaGo Zero 把人类棋谱也扔了——从零自对弈,反而更强。再泛化一步就是 AlphaZero:同一套代码通吃围棋 / 国象 / 将棋。而这,正是你在 1.8 玩过的那套“迷你 AlphaZero”的真身。
一、从零开始(tabula rasa)
AlphaGo Zero 的设定干净得惊人:
- 只给规则,不给任何人类棋谱;
- 网络随机初始化,从乱下开始;
- 一张网同时输出策略和价值(两张网合一);
- 靠自我对弈生成全部训练数据,迭代变强。
结果:几天自学,棋力反超学过人类棋谱的初代 AlphaGo。人类几千年的定式,它自己重新发明了一遍,还发明了一些人类没见过的。
二、自对弈的飞轮
为什么从零反而更强?关键在一个自我增强的飞轮,MCTS 在其中扮演“策略改进器”:
网络指导 MCTS 搜索 → MCTS 搜出比网络【更强】的着法
↑ ↓
用这些更强的着法当标签,再去训练网络(循环上升)MCTS 每次都把网络的判断往前顶一截,网络再把这截学进去。如此循环,棋力螺旋上升。
三、AlphaZero:一套代码通吃
把算法里所有围棋专属的东西(棋盘对称性、特定输入)抽掉,就得到 AlphaZero:同一套自对弈 + MCTS + 网络,几小时内分别在围棋、国象、将棋上达到或超越各自的顶级专用引擎(Stockfish、Elmo)。
这印证了 2.7 讲过的那句话:AlphaZero 不是围棋专利,而是一类通用的棋类学习范式。
四、首尾呼应:你在 1.8 玩过它
这正是第一章 1.8“迷你 AlphaZero”在井字棋上跑过的那套东西——自对弈、MCTS 当改进器、策略+价值一张网。原理一模一样,差的只是算力与规模:井字棋在你笔记本上几分钟,围棋则是 TPU 集群几天。
从井字棋到围棋,你亲手验证了:同一个想法,能撑起一个玩具,也能撑起一座里程碑。