原节目:https://www.youtube.com/watch?v=X_ZVSPcZhtw&t=1082s · 时间戳可点击,就地跳转播放器
嘉宾 Eric Jang 是一名研究员,他最近重建了一个围棋 AI。在本期节目中,他解释了 AlphaGo 的核心原理。本期节目介绍了围棋的规则、其博弈树对于经典搜索算法的棘手之处,以及 AlphaGo 如何结合蒙特卡洛树搜索(MCTS)和两个神经网络(一个策略网络和一个价值网络)来解决这个问题。讨论的核心机制是自我对弈强化学习循环,其中 MCTS 过程充当“策略改进算子”,生成更优的落子分布,然后用作训练目标,将搜索的能力提炼到神经网络中。本期节目将这种样本高效的方法与用于大语言模型(LLM)的高方差方法进行了对比,并探讨了其对人工智能研究的更广泛影响,包括计算复杂性的本质和自动化科学的潜力。
[00:00:00 - 00:02:13] 介绍嘉宾 Eric Jang 及其在休假期间重建和改进 AlphaGo 的项目。[00:02:14 - 00:08:03] 解释围棋游戏,包括其规则、目标以及对计算机友好的 Tromp-Taylor 计分系统。[00:08:04 - 00:12:22] 围棋庞大博弈树的棘手之处,以及为什么它长期以来被认为是计算机无法解决的问题。[00:12:23 - 00:24:23] 详解核心搜索算法——蒙特卡洛树搜索(MCTS),包括用于平衡探索与利用的 UCB1 和 PUCT 动作选择标准。[00:24:24 - 00:31:53] 神经网络在使搜索变得可行方面的作用:价值网络用于估计胜率(剪枝深度),策略网络用于建议好的落子(剪枝广度)。[00:31:54 - 00:43:09] 神经网络架构的细节(ResNets 与 Transformers),以及使用专家数据进行初始化以启动学习过程的重要性。[00:43:10 - 00:58:51] AlphaGo 中实现的 MCTS 四步流程(选择、扩展、评估、反向传播),并集成了神经网络。[01:00:23 - 01:07:29] 强化学习(RL)自我对弈循环:MCTS 如何用于生成改进的策略目标,然后网络学习预测这些目标,从而有效地将搜索分摊到单次前向传播中。[01:07:30 - 01:14:46] 实际训练中的考量,例如 MCTS 要想有效,必须有一个准确的价值函数,以及良好初始化的策略。[01:14:47 - 01:24:24] AlphaGo 的哲学意义:一个浅层神经网络如何能够近似一个棘手的搜索问题,并触及 P vs. NP 和混沌系统等问题。[01:24:25 - 01:37:19] AlphaGo 的强化学习方法与用于大语言模型的策略梯度方法的比较,突显了前者的低方差和高样本效率。[01:37:20 - 01:51:02] 讨论在 MCTS 不可行时的替代强化学习方法,如神经虚拟自我对弈,以及 MCTS 与 Q-learning 之间的关系。[01:51:03 - 02:00:07] 对重建 AlphaGo 的反思,包括计算成本随时间的急剧下降以及“惨痛教训”的适用性。[02:00:08 - 02:22:01] 对 AlphaGo 重放缓冲区中离策略学习的分析,并总结了其强化学习算法为何如此优雅和高效。[02:22:02 - 02:35:58] 以该项目为案例研究自动化人工智能研究,详细说明大语言模型助手目前擅长的方面(如超参数调整)和不足之处(如高层策略)。[02:35:59 - 02:37:12] 结论以及 Eric Jang 的项目仓库和相关博客文章的链接。长期以来,围棋因其巨大的搜索空间(约 361³⁰⁰ 种可能的棋局)被认为对人工智能来说是棘手的,但通过使用深度学习智能地修剪搜索树而非穷尽地探索,这个问题得到了解决。
AlphaGo 的核心是由两个神经网络指导的蒙特卡洛树搜索(MCTS)算法。一个价值网络用于估计在给定棋盘状态下的获胜概率,这使得搜索可以提前终止。一个策略网络用于建议有希望的落子,将搜索广度从所有合法落子缩小到少数几个好的落子。
该系统通过自我对弈强化学习循环进行改进,其中 MCTS 充当“策略改进算子”。对于任何给定的棋盘状态,MCTS 执行深度搜索,以生成比策略网络初始猜测更好、更自信的落子分布。然后训练策略网络直接预测这种改进后的分布。
这种强化学习训练过程非常稳定且样本高效,因为它为每场对局中的每一步都生成了低方差的监督信号,而与最终结果无关。它用来自搜索的“更好”的行动分布重新标记行动,这个过程类似于机器人学中的 DAgger 算法。
这种方法与常用于大语言模型的策略梯度强化学习形成鲜明对比,后者存在高方差问题。大语言模型的强化学习通常依赖于长轨迹末端的单一、稀疏的奖励信号(例如,赢/输),这使得功劳分配和高效学习变得困难,这个问题被描述为“通过吸管吸取监督信号”。
AlphaGo 带来的一个深刻见解是,一个浅层神经网络可以学会“分摊”一个巨大、几乎棘手的搜索的计算量。这种将复杂、顺序的推理过程压缩为单次、并行的前向传播的能力,挑战了我们对于在最坏情况下是 NP-hard 问题实际难度的直觉。
构建世界级围棋 AI 所需的计算量已大幅下降。最初需要 DeepMind 的庞大团队和海量计算资源才能完成的工作,现在由于算法的改进(例如 KataGo)和硬件的提升,个人只需花费数千美元即可复制。
成功的自我对弈训练严重依赖于一个准确的价值函数。如果价值网络在搜索树的叶子节点上给出的胜率估计很差,整个 MCTS 过程可能会被破坏,导致推荐的策略比初始策略还要糟糕。这使得良好的初始化(例如,使用专家数据)至关重要。
尽管 MCTS 在围棋上很强大,但将其直接应用于像大语言模型推理这样的开放式领域是困难的。语言的行动空间在组合上更大且不那么离散,使得像 PUCT 这样的探索启发式方法无效,而且定义一个可靠的、用于截断搜索的中间价值函数也困难得多。
在这个项目中使用大语言模型进行自动化研究表明,它们擅长定义明确的局部优化任务,如超参数调整和执行已描述的实验。然而,它们目前缺乏识别有缺陷的研究方向、调试复杂系统或提出根本性新方法所需的高层战略和横向思维能力。
本期节目深入探讨了掌握围棋的 AI——AlphaGo 的实际工作原理。嘉宾 Eric Jang 最近亲自承担了重建它的项目,他将从头开始为我们讲解核心概念。
首先,简单介绍一下围棋。这是一种棋盘游戏,黑白两方在棋盘上放置棋子,以包围和占领地盘。规则简单,但策略极其深奥。对计算机来说,主要挑战在于可能的游戏数量极其庞大。在标准的 19x19 棋盘上,所有可能落子序列组成的“博弈树”大到天文数字——大约是 361 的 300 次方,这个数字远超宇宙中的原子数量 [10:48]。这就是为什么几十年来,专家们都认为计算机永远无法击败顶尖的人类棋手;简单的暴力搜索是行不通的。
AlphaGo 的解决方案不是搜索整个树,而是更聪明地搜索。它使用的核心算法叫做蒙特卡洛树搜索(MCTS)。AI 不会构建出完整的树,而是在每一步棋时,运行数千次小型模拟,探索游戏未来的不同路径。这个过程中的一个关键挑战是平衡“利用”(沿着在过去模拟中看起来有希望的路径)和“探索”(尝试新的、较少走过的、可能出奇制胜的路径)。一个名为 PUCT 的公式帮助 AI 在搜索的每一步做出这种权衡 [15:55]。
但即使是 MCTS 本身,对于如此复杂的游戏来说也太慢了。这就是深度学习突破的用武之地。AlphaGo 使用两个神经网络来模仿人类的直觉,并极大地加速搜索过程:
因此,对于它要走的每一步棋,AI 都会执行这个 MCTS 过程,这是一个重复数千次的四步循环 [45:13]: 1. 选择: 它从当前棋盘开始,沿着已经探索过的落子树向下行进,使用 PUCT 公式来引导其路径。 2. 扩展: 当它在搜索中到达一个前所未见的状态时,它会通过考虑可能的下一步落子来“扩展”树。 3. 评估: 它使用价值网络为这个新的、未探索的状态快速打分。 4. 反向传播: 它将该分数沿来路一直传播回去,更新该路径上所有落子的平均胜率。
经过数千次这样的模拟后,AI 对哪一步开局最好有了非常清晰的认识,然后它就下出那步棋。接着,在下一回合,它会丢弃整个搜索树,从新的棋盘状态重新开始整个过程 [29:17]。
接下来是最优雅的部分:系统如何通过自我对弈来学习和提高。这就是强化学习(RL)循环。对于任何给定的棋盘状态,策略网络会做出一个初始的、“本能的”关于最佳落子的猜测。但随后,MCTS 过程会运行其深度搜索,并得出一个更好、更自信的优质落子分布 [01:00:43]。AlphaGo 的关键洞见在于,将这个经过搜索改进的结果作为新的“正确答案”。然后,策略网络被训练来直接预测这个更精炼的结果 [01:02:53]。
本质上,搜索的缓慢、计算成本高昂的工作被“提炼”或“分摊”到神经网络快速、单次通过的直觉中。网络学会了拥有搜索所提供的智慧。这个过程效率极高。与常用于大语言模型(LLM)的强化学习方法不同——后者可能在很长一系列动作后只得到一个“你赢了”或“你输了”的信号,这个问题被描述为“通过吸管吸取监督信号”[01:28:36]——AlphaGo 的方法为每场对局中的每一步棋都生成了高质量的训练信号,无论输赢 [01:05:49]。这使得学习过程极其稳定。
从 AlphaGo 中可以得出的最深刻的哲学启示是,一个相对简单、浅层的神经网络可以学会近似一个极其庞大搜索的结果 [01:17:31]。这挑战了我们关于什么使问题在计算上“困难”的观念。它表明,许多在最坏情况下技术上棘手的问题,如围棋或蛋白质折叠,可能具有足够的底层结构,以至于神经网络可以迅速找到出色的解决方案。
最后,Eric Jang 反思了在这个研究项目中使用大语言模型助手的情况。他发现它们在定义明确的局部任务上表现出色,比如调整超参数或运行一个描述清晰的实验 [02:23:13]。然而,它们目前缺乏高层次的战略能力,无法意识到整个研究方向是死胡同、调试复杂的系统性问题,或提出根本性的新方法 [02:25:22]。
[01:02:46 - 01:04:25] 自我对弈学习循环。 这是 AlphaGo 如何改进的绝对核心。Eric Jang 清晰地解释了缓慢、审慎的 MCTS 搜索如何生成一组“更好”的落子概率,这组概率随后成为快速、直觉的策略网络的训练目标。听懂这一点是理解搜索如何被“分摊”到网络中的关键。[01:17:31 - 01:18:46] 哲学洞见。 在这里,对话的视角扩展到 AlphaGo 更广泛的意义。Eric 解释了为什么一个浅层神经网络能够近似一个几乎棘手的搜索问题是如此深刻,并将其与计算机科学中的基本问题(如 P vs. NP)联系起来。这一刻将讨论从技术细节提升到了深层含义的层面。[01:28:29 - 01:28:50] 与大语言模型强化学习的对比。 这一片段清晰直观地对比了 AlphaGo 的高效学习方法与大语言模型训练中常见的高方差、“通过吸管吸取监督信号”的方法。它清楚地阐明了为什么 AlphaGo 的强化学习算法如此优雅和稳定。[02:25:00 - 02:25:40] 人工智能在自动化研究中的局限性。 Eric 以自己的项目为案例,对大语言模型助手擅长的方面(局部的、定义明确的任务)和目前不足之处(高层策略、横向思维和复杂调试)给出了一个接地气且细致入微的看法。这是关于自动化科学现状的一个宝贵的、来自真实世界的视角。本页为对节目内容的忠实解读与大白话重述,由 PodLens 生成。