Soma Zero Tutorials
🔍 搜索功能尚未开启,敬请期待。

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 集群几天。

从井字棋到围棋,你亲手验证了:同一个想法,能撑起一个玩具,也能撑起一座里程碑。