主页 > E猫生活 >AlphaGo 再进化!通用演算法 AlphaZero 再攻克几种棋又有何难 >

AlphaGo 再进化!通用演算法 AlphaZero 再攻克几种棋又有何难


2020-06-06


AlphaGo 再进化!通用演算法 AlphaZero 再攻克几种棋又有何难

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 之间的具体区别有以下几个:

AlphaZero 释放威力

研究员用同样演算法设定、网路架构和超参数(只有刚说到的噪声大小不同),分别训练了下西洋棋、将棋、围棋的 3 个 AlphaZero 实例。训练从随机起始化的参数开始,步数一共 70 万步,mini-batch 大小 4096;5 千个第一代 TPU 用来生成自我对局,64 个第二代 TPU 用来训练神经网路(注:第二代 TPU 的记忆体频宽更高)。

AlphaGo 再进化!通用演算法 AlphaZero 再攻克几种棋又有何难

以 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 的单个伺服器。

AlphaGo 再进化!通用演算法 AlphaZero 再攻克几种棋又有何难

结果并不意外,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 剪枝演算法优于蒙地卡罗树状搜寻的观念到底正不正确。

AlphaGo 再进化!通用演算法 AlphaZero 再攻克几种棋又有何难

作者最后还和人类比较验证 AlphaZero 学到的西洋棋知识如何。他们从人类线上棋谱找了出现次数多于十万次的常见开局形式,发现 AlphaZero 也能独立学到这些开局,且经常在自我对局使用。如果比赛是以这些人类常用的开局形式开始,AlphaZero 也总能打败 Stockfish,这说明 AlphaZero 确实学到了西洋棋的各种局势变化。

总结

人类把棋类做为人工智慧研究的重要关卡以来几十年间,研究者开发的下棋演算法几乎总是避免不了人工特徵和为个别棋类特性的最佳化。如今,完全无需人工特徵、无需任何人类棋谱,甚至无需任何特定最佳化的通用强化学习演算法 AlphaZero 问世,且只需几小时的训练时间就可以超越先前最好的演算法甚至人类世界冠军,这是演算法和计算资源的胜利,更是人类的顶尖研究成果。DeepMind 的愿景是能解决各种问题的通用 AI,看起来离我们越来越近了。



上一篇:
下一篇:
申博太阳城_送开户礼金的app|最新生活信息|获得消费经验|网站地图 申博官网备用网址_菲律宾sunbet81 申博官网备用网址_申博Sunbet(官网)