AlphaGo 是由 DeepMind 开发、用于下围棋的人工智能系统。它结合深度学习、强化学习和搜索来评估局面并选择落子。2015 年 10 月,它成为首个在标准棋盘上、不让子的条件下击败职业围棋棋手的计算机程序。此后,它战胜多位顶尖棋手,成为计算机博弈领域的重要里程碑。AlphaGo 这一名称涵盖了多个相继推出的版本,各版本的训练方法和架构都有显著变化。(nature.com)
背景与研究挑战
围棋在网格棋盘上进行,标准棋盘通常有 19 × 19 个交叉点。围棋的搜索空间庞大,且尚未结束的局面难以评估,因此一直是计算机科学领域的一项艰巨挑战。穷尽搜索所有可能的后续变化并不现实;一个成功的系统必须能够在不遍历整棵博弈树的情况下,识别有潜力的着法并估计其后果。在 AlphaGo 出现之前,最先进的围棋程序仍远逊于顶尖职业棋手。(nature.com)
AlphaGo 通过学习如何选择着法和评估局面来应对这些难题。它不再完全依赖人工制定的策略规则,而是利用机器学习从棋谱中学习规律,并通过自我对弈提升水平。它的突出特点是将学习得到的判断与前瞻搜索相结合:神经网络既缩小搜索需要探索的范围,也对其中的可能性作出评估。(nature.com)
架构与训练
最初发表的系统使用了承担不同任务的深层卷积神经网络。策略网络表示针对各种着法的策略(强化学习),为有潜力的选择赋予更高的概率。价值网络则近似表示价值函数,根据当前局面估计最终对局结果。这两种函数提供了互补的信息:应当搜索哪些着法,以及后续局面看起来有多有利。(nature.com)
训练分阶段进行。首先,通过监督学习,以人类棋谱作为训练数据,教会策略网络预测棋手的着法。随后,利用强化学习,让系统与自身的其他版本对弈,进一步改进策略。价值网络则使用另行生成的自我对弈局面及其结果进行训练。这一区别很重要:预测人类会如何落子,与学习如何最大限度地提高获胜概率,是相互关联但并不相同的目标。(deepmind-media.storage.googleapis.com)
对弈时,蒙特卡洛树搜索反复探索可能的后续变化。策略网络引导探索方向,而搜索树叶节点所对应的局面,则由价值网络和称为“快速模拟对局”(rollout)的过程共同评估。评估结果沿搜索树回传,系统再根据累计访问次数选择着法。因此,AlphaGo 并非简单地输出神经网络排名最高的着法;搜索过程可以改变它最初偏好的选择。(deepmind-media.storage.googleapis.com)
在实现上,系统使用并行计算来协调模拟对局与网络评估。CPU 负责搜索工作,图形处理器则负责运行神经网络评估。因此,其棋力既取决于训练得到的模型,也取决于分配给搜索的计算资源。(storage.googleapis.com)
比赛里程碑
2015 年 10 月,AlphaGo 在正式比赛中以 5 比 0 击败欧洲冠军樊麾。比赛结果及系统设计于 2016 年 1 月 27 日发表于《自然》杂志。这一成就是在标准棋盘上进行分先对局取得的,而不是通过让子或使用较小棋盘获得的胜利。(nature.com)
2016 年 3 月,AlphaGo 在首尔以 4 比 1 击败李世石。其中两手棋尤其广为人知:第二局中 AlphaGo 的第 37 手打破了传统预期;第四局中李世石的第 78 手,则帮助他取得了这场比赛中唯一的一胜。这些对局既展示了系统不同寻常的选择,也暴露了它仍然存在的弱点。(deepmind.google)
更强的 AlphaGo Master 版本于 2017 年 1 月在网络对弈中,面对顶尖人类棋手取得了 60 场胜利。2017 年 5 月,在中国乌镇举行的围棋峰会上,AlphaGo 以 3 比 0 击败了当时世界排名第一的棋手柯洁。DeepMind 宣布,这次峰会将是 AlphaGo 最后一次参加竞技比赛活动,并公开了自我对弈棋谱,供人们研究。(augmentingcognition.com)
AlphaGo Zero 与 AlphaZero
2017 年公布的 AlphaGo Zero 取消了最初基于人类棋谱的训练阶段。它从一个未经训练的网络开始,通过自我对弈积累经验。单个网络同时输出着法概率和局面价值,其搜索也不再需要早期系统使用的快速模拟对局。经过三天训练,它以 100 比 0 击败了与李世石对弈的版本;经过更长时间的训练后,它又超越了 AlphaGo Master。(deepmind.google)
Zero 的学习循环将搜索与训练紧密结合。搜索产生改进后的着法目标,完整对局则提供结果目标。更新网络能够改善后续搜索,而更好的搜索又会生成质量更高的自我对弈经验。“不依赖人类知识”主要指不使用人类棋谱示例和策略指导;系统仍然依赖预先提供的游戏规则和人为设计的学习流程。(nature.com)
AlphaZero 将这一方法从围棋扩展到了国际象棋和将棋。它于 2017 年推出,并于 2018 年接受了进一步评估,在三种棋类中采用相同的通用算法和网络架构,但为每种棋类分别训练一个系统。它是 AlphaGo 的后继系统,而不只是最初围棋程序的另一个名称。(storage.googleapis.com)
影响与能力范围
AlphaGo 影响了职业围棋的分析研究,包括对早期点三三和既有角部定式的重新评价。DeepMind 记录了职业棋手采用其对局中变化的情况。它在研究上的意义,在于展示了学习得到的评估、自行生成的经验与搜索,如何在一项困难的规划任务中协同发挥作用。(deepmind.google)
AlphaGo 所展现的能力仍局限于棋类对弈。AlphaZero 扩大了同一方法可以处理的棋类范围,但这些成果本身并不能证明通用人工智能已经实现。它们展示的是可以迁移的算法原理,而不是一个经过训练后就能胜任任意任务的单一模型。(storage.googleapis.com)