AlphaZero 算法是 AlphaGo Zero 的通用化版本,后者首先被应用在了围棋任务上。它使用深度神经网络和从零开始的强化学习代替了手工编入的知识和特定领域的增强信息。
AlphaZero 不使用手动编写的评估函数和移动排序启发式算法,转而使用深度神经网络 (p, v) = f_θ(s) 和参数θ。该神经网络将棋盘位置 s 作为输入,输出一个针对每个动作 a 的分量 p_a = P_r(a | s)的移动概率 p 的向量,以及从位置 s 估计期望结果 z 的标量值 v ≈E [z | s]。AlphaZero 完全从自我对弈中学习这些步的获胜概率;这些结果随后用于指导程序的搜索。
和α-β搜索使用领域特定的增强信息不同,AlphaZero 使用了一个通用的蒙特卡罗树搜索(MCTS)算法。每一次搜索由一系列的自我对弈的模拟比赛组成,遍历了从根 s_root 到叶的整个树。每一次模拟通过在每个状态 s 中选择一个动作 a,a 具有低访问次数、高走棋概率(通过遍历从 s 选择了 a 的模拟的叶状态取平均得到)和根据当前神经网络 f_θ决定的高价值。搜索会返回一个向量π表示走棋的概率分布,通常相对于根状态的访问次数是成比例的或贪婪的。
使用国际象棋比赛展示 AI 研究的前沿进展已经有几十年的历史。当前最佳的程序都是基于能搜索几百万个位置、利用人工编入的领域专业知识和复杂的领域适应性的引擎。AlphaZero 是一个通用的强化学习算法(最初为围棋而设计),可以在数小时内达到优越的结果,其需要搜索的位置少了几千倍,除了国际象棋的规则外不需要任何的领域知识。此外,同样的算法不需要修改就可以应用到更具挑战性的日本将棋上,同样在数小时内超过了当前最佳结果。