打败人类和最强AI:AlphaZero 如何自己下棋下成“棋神”?

打败人类和最强AI:AlphaZero 如何自己下棋下成“棋神”?

10分钟 ·
播放数38
·
评论数0

大家好,欢迎收听播客「听懂 100 篇 AI 经典论文」

一个 AI 在没有人教、没有棋谱的情况下,只知道游戏规则,通过自己跟自己下棋,短短几小时就成了国际象棋、日本将棋和围棋的世界冠军? 本期节目,我们就来深入聊聊那篇引发巨大轰动的论文:《Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm》背后的大明星——AlphaZero。它与打败李世石的 AlphaGo Zero 有何不同?

本期播客中你将听到 (Outline):

从零开始的通用学习: 

AlphaZero 是一个通用强化学习算法,与传统高度依赖人类经验和特定游戏优化的程序不同,它仅知道游戏规则,从随机下法开始,完全通过 自我对弈 进行学习。

核心机制: 

AlphaZero 使用一个 深度神经网络6 来预测每一步棋的概率(policy)和当前局面的预期结果(value)。它采用 蒙特卡洛树搜索 (MCTS) 来指导其决策和下棋,这种搜索方式与传统的 Alpha-Beta 搜索 不同。尽管每秒搜索的局面远少于对手,但它能更有效地专注于有前景的变化。

惊人表现:

  • 国际象棋:训练约4小时(30万步)后超越世界冠军程序 Stockfish。最终在100场比赛中,AlphaZero 对 Stockfish 取得了 25胜 75和 0负的压倒性战绩。
  • 日本将棋:训练不到2小时(11万步)后超越世界冠军程序 Elmo。最终以 48胜 2和 50负的战绩小胜 Elmo。
  • 围棋:也超越了早期的 AlphaGo Lee 版本。

效率与洞察: 

AlphaZero 每秒搜索的局面数量远少于 Stockfish 和 Elmo(低了约1000倍),但其神经网络能帮助它更有效地评估和专注于最有希望的变化。这种搜索方式被认为更接近人类棋手的思维方式。

与 AlphaGo Zero 的不同: 

AlphaZero 考虑了平局结果;由于象棋和将棋规则的不对称性,训练时没有使用围棋那样的旋转和镜像对称性进行数据增强;它采用持续更新神经网络的方式,而非迭代更新“最佳棋手”。

意义: 

这项工作证明了通用强化学习算法通过从零开始的自我学习,可以在多个复杂领域达到并超越顶尖水平,代表了人工智能发展的一个重要方向。

关键概念速查 (Key Concepts Explained):

强化学习 (Reinforcement Learning): 一种机器学习方法,让 AI 通过与环境互动来学习如何做决策,以获得最大的“奖励”。就像小孩玩游戏,通过尝试和犯错(以及成功的奖励)来学会怎么玩得更好。

通用强化学习算法 (General Reinforcement Learning Algorithm): 不针对特定游戏或任务设计的强化学习算法,理论上可以应用于多种不同的环境和问题。AlphaZero 就是一个例子,它能学会玩多种不同的棋类游戏1...。

从零开始 / Tabula Rasa: 字面意思是“白板”或“空白状态”。在 AI 领域,指程序在学习开始时没有任何预设的、关于任务本身的知识(比如国际象棋的开局库、特定局面的评估规则等),除了基本的游戏规则。AlphaZero 就是这样学习的。

自我对弈 (Self-Play): 程序自己和自己下棋来生成训练数据并从中学习。这是 AlphaZero 学习的唯一途径,没有使用人类棋谱或专家指导。

深度神经网络 (Deep Neural Network): 一种模仿人脑神经结构的复杂计算模型,具有多层处理单元。在 AlphaZero 中,这个网络有两个主要功能:

  • 策略网络 (Policy Network): 预测在当前棋局下,每一步可行走法的概率。它指导 MCTS 在搜索时优先考虑哪些棋步。
  • 价值网络 (Value Network): 评估当前棋局的价值,预测最终的对局结果(输、赢、平局)。它帮助 MCTS 判断一个局面有多好或多坏。

蒙特卡洛树搜索 (MCTS - Monte-Carlo Tree Search): 一种用于决策的搜索算法,特别适用于游戏。它通过模拟大量随机的游戏对局来探索可能的走法,并利用这些模拟的结果来评估每个可能的下一步棋的好坏。AlphaZero 的 MCTS 通过深度神经网络的预测来指导模拟方向,与传统方法的暴力搜索不同。

Alpha-Beta 搜索 (Alpha-Beta Search): 一种传统的、广泛用于计算机棋类程序的搜索算法。它通过构建一个巨大的搜索树来评估不同的走法序列,并使用剪枝技术来排除明显不好的变化,以提高效率。Stockfish 和 Elmo 等顶级程序都依赖这种技术。AlphaZero 没有使用这种搜索。

人工设计特征 / 评估函数 (Handcrafted Features / Evaluation Functions): 在传统的棋类程序中,这是由人类专家根据棋类知识设计的,用来描述和评估棋局的特点(比如棋子的位置、结构、王的安全性等)。AlphaZero 用深度神经网络取代了这些人工设计的元素。

Elo 等级分 (Elo Rating): 一种衡量玩家相对技能水平的统计系统。数值越高表示棋力越强。论文使用 Elo 分数来量化 AlphaZero 在训练过程中的进步以及与对手的实力对比。

了解更多 (Where to Learn More):

论文名称:Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm

原文地址:arxiv.org

Stockfish: stockfishchess.org

Elmo (CSA World Computer Shogi Championship Results): www2.computer-shogi.org