DeepMind 悄悄放出了一篇新论文,介绍了“AlphaZero”。一开始以为 DeepMind 也学会炒冷饭了,毕竟“从零开始学习”的 AlphaGo Zero 论文 10 月发表,大家已讨论许多遍了。可定睛一看,这次的 AlphaZero 不是以前只会下围棋的人工智能了,它是通用的,国际象棋、日本将棋也会下,所以去掉了名字里表示围棋的“Go”;不仅如此,围棋下得比 AlphaGo Zero 还好──柯洁得知 AlphaGo Zero 之后已经感叹人类是多余的了,这次围棋棋士可以牵着国际象棋选手再痛哭一次了。
从技术角度讲,一个通用的强化学习模型比之前够简单的专门下围棋的模型表现更好?“没有免费的午餐”定律难道失效了?
AlphaGo 一路进化中,我们见证了 DeepMind 工程师对深度强化学习本质的思考和尝试,也看到不断最佳化带来的无需先验知识、降低资源消耗、提高训练速度等可喜的技术进步。从使用人工特征、出山之战全胜打败樊麾、发表第一篇论文的 AlphaGo Fan,到 4:1 击败李世乭、在 50 块 TPU 上执行、纪录片已上映的 AlphaGo Lee,再到乌镇 3:0 击败柯洁、只用 4 块 TPU 就打碎人类所有击败 AlphaGo 幻想的 AlphaGo Master 之后,我们又等到了抛弃人工特征、抛弃所有人类高手棋局,全靠自学成材超越 AlphaGo Master 的 AlphaGo Zero。在我们觉得 AlphaGo Zero 已是尽善尽美的围棋之神时,DeepMind 出人意料带来更通用、能下各种棋类,且围棋表现更上一层楼的通用强化学习模型──AlphaZero。
过往几版 AlphaGo Zero 大家想必都颇熟悉了,不过还是简单回顾一下,方便和新的 AlphaZero 对比。AlphaGo 一直都有深度有限的蒙地卡罗树状搜寻(MCTS),然后主要靠策略网络和价值网络分别预测下一步落子点及评估局势。更早版本的 AlphaGo 中,策略网络和价值网络是两个不同的深度神经网络,Zero 版是同一个 ResNet 的两组汇出;AlphaGo Zero 之前几版都需先把局面转换为高一层的人工特征再为网络汇入、需要先学习人类棋谱再转变到自我对弈的强化学习、有一个单独的快速落子网络进行随机模拟;AlphaGo Zero 则把局面落子情况直接当作网络汇入、由随机的网络权值直接开始强化学习、舍弃快速落子网络直接用主要神经网络模拟走子。可以看到,AlphaGo Zero 的思路和模型架构都有大幅简化,造成更快的训练和执行速度,以及更高的棋力。而这么简单的模型就有这么好的结果,也是让研究者对 AlphaGo Zero 发出惊叹的原因。
如何从围棋到更多
其实一直以来人们在编写下棋 AI 的过程中,都会针对每种棋的不同特点设计专门技巧。AlphaGo Zero 达成策略和价值两个网络带有残差的 CNN 网络,其实刚好利用围棋一些特点:比赛规则平移不变,这和卷积神经网络的共用权值相吻合;棋子的气和卷积网络的局部架构相吻合;整张棋盘旋转、对称不变,训练时可方便地运用现有的资料增强和组合方法;动作空间简单,只需要在一个位置落单一类别的棋子;结果空间简单,要么是赢,要么是输,没有平局。以上种种特点都可帮助 AlphaGo Zero 顺利快速地训练。
现在 DeepMind 研究人员想把 AlphaGo Zero 变成更通用化、能下更多不同棋的算法时,就需要重新思考处理方法。比如国际象棋和将棋,如何走子高度取决于目前棋子所在位置,而每种子又有不同走法;棋盘的局势不可旋转、不可镜像,这会影响行棋的方向;国际象棋可以平局;将棋甚至可把吃掉的对手棋子重新放到棋盘上。相比围棋,这些特点都让计算过程变得更复杂、更不适合 AlphaGo Zero 这样的 CNN 网络。相比之下,2016 年国际象棋算法锦标赛(TCEC)的冠军 Stockfish 是一个使用人类高手特征、精细调节权重、alpha-beta 剪枝算法,加上大规模启发式搜寻和不少专门适配国际象棋的程式。最近刚击败了人类日本将棋冠军的最强算法 Elmo 也是差不多的情况。
AlphaZero 是 AlphaGo Zero 的通用化进化版本,继续保持 AlphaGo Zero 中不需要人工特征、利用深度神经网络从零开始强化学习、结合蒙地卡罗树状搜寻特点,然后更新网络参数,减小网络估计的比赛结果和实际结果间的误差,同时最大化策略网络汇出动作和蒙地卡罗树状搜寻可能性之间的相似度。
AlphaZero 与 AlphaGo Zero 之间的具体区别有以下几个:
- AlphaGo Zero 会预计胜率,然后最佳化胜率,其中只考虑胜、负两种结果;AlphaZero 会估计比赛结果,然后最佳化达到预计结果的概率,其中包含平局甚至别的可能结果。
- 由于围棋规则有旋转和镜像不变性,所以专为围棋设计的 AlphaGo Zero 和通用的 AlphaZero 就有不同的实现方法。AlphaGo Zero 训练中会为每局做 8 个对称的增强资料;并在蒙地卡罗树状搜寻中,棋局会先经过随机旋转或镜像变换之后再交给神经网络评估,这样蒙地卡罗评估就可在不同偏向间得到平均。国际象棋和将棋都不对称,以上基于对称性的方法就无法使用了,所以 AlphaZero 并不增强训练资料,也不会在蒙地卡罗树状搜寻中变换棋局。
- 在 AlphaGo Zero 中,自我对局的棋局是由所有之前迭代过程中表现最好的版本生成。每次训练迭代之后,新版棋手的表现都要跟原先表现最好的版本比较;如果新版能以超过 55% 的胜率赢过原先版,那么新版就会成为新的“表现最好的版本”,然后用它生成新棋局供后续迭代最佳化使用。相比之下,AlphaZero 始终只有一个持续最佳化的神经网络,自我对局的棋局也就是由具最新参数的网络生成,不再像原来那样等待出现一个“表现最好的版本”之后再评估和迭代。这实际上增加了训练出不好结果的风险。
- AlphaGo Zero 搜寻部分的超参数是透过贝氏定理最佳化得到的。AlphaZero 直接对所有棋类使用同一套超参数,不再单独调节不同棋种。唯一的例外在加在先前版本策略的噪声大小,这是为了保证网络有足够的探索能力;噪声大小根据每种棋类的典型可行动作数目做了等比缩放。
AlphaZero 释放威力
研究员用同样算法设定、网络架构和超参数(只有刚说到的噪声大小不同),分别训练了下国际象棋、将棋、围棋的 3 个 AlphaZero 实例。训练从随机起始化的参数开始,步数一共 70 万步,mini-batch 大小 4096;5 千个第一代 TPU 用来生成自我对局,64 个第二代 TPU 用来训练神经网络(注:第二代 TPU 的内存带宽更高)。
以 Elmo 分数为标准,AlphaZero 完成全部 70 万步训练前就分别超过之前最好的国际象棋、将棋和围棋程式 Stockfish、Elmo 和 AlphaGo Zero。如果说在数千个 TPU 帮助下用 8 小时训练时间就能超过 AlphaGo Lee 版本还算合理,大约 40 万步训练之后继续以不小的优势胜过 AlphaGo Zero 还是让人吃了一大惊。AlphaZero 放弃了一些(可能)会有优势的细节后,以通用算法的身份击败了看起来已很完美的 AlphaGo Zero,“没有免费的午餐”定律仿佛暂时失效。
DeepMind 论文里当然也让完全训练后的 AlphaZero 与 Stockfish、Elmo 和 AlphaGo Zero(训练时间为 3 天)进行实际比赛,各下 100 场,每步思考时间限制为 1 分钟;AlphaGo Zero 和 AlphaZero 都执行在配备 4 块 TPU 的单个服务器。
结果并不意外,AlphaZero 国际象棋面对 Stockfish 一局未输,将棋共输 8 局,面对 AlphaGo Zero 也拿下 60% 胜率。
AlphaZero 和各版 AlphaGo 中,我们都知道算法在深度神经网络的帮助下大大减小了蒙地卡罗树的规模。与 Stockfish 和 Elmo 的比赛中,提升相当明显:AlphaZero 下国际象棋只需每秒搜寻 8 万个位置,Stockfish 是 7 千万;AlphaZero 下将棋每秒搜寻 4 万个位置,Elmo 是 3,500 万;同时 AlphaZero 还取得压倒性的棋力优势。这里的深度神经网络就像人类一样,可选择性思考更有潜力的下法。论文里还测试了思考时间的效率。以 40ms 思考时间的 Stockfish 和 Elmo 为基准,AlphaZero 的棋力随思考时间增加得更快。DeepMind 研究人员甚至开始质疑以往人们认为下棋工作中 alpha-beta 剪枝算法优于蒙地卡罗树状搜寻的观念到底正不正确。
作者最后还和人类比较验证 AlphaZero 学到的国际象棋知识如何。他们从人类线上棋谱找了出现次数多于十万次的常见开局形式,发现 AlphaZero 也能独立学到这些开局,且经常在自我对局使用。如果比赛是以这些人类常用的开局形式开始,AlphaZero 也总能打败 Stockfish,这说明 AlphaZero 确实学到了国际象棋的各种局势变化。
总结
人类把棋类做为人工智能研究的重要关卡以来几十年间,研究者开发的下棋算法几乎总是避免不了人工特征和为个别棋类特性的最佳化。如今,完全无需人工特征、无需任何人类棋谱,甚至无需任何特定最佳化的通用强化学习算法 AlphaZero 问世,且只需几小时的训练时间就可以超越先前最好的算法甚至人类世界冠军,这是算法和计算资源的胜利,更是人类的顶尖研究成果。DeepMind 的愿景是能解决各种问题的通用 AI,看起来离我们越来越近了。
- Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm
(本文由 雷锋网 授权转载;首图来源:pixabay)
延伸阅读:
- DeepMind 论文揭示最强 AlphaGo Zero,不靠人类知识进化成长
- 畅谈发展 AlphaGo 的心路历程,黄士杰:AI 会成为人类的工具,与人类合作