柯洁和Alphago的人机大战第一局已经宣告结束。经过近四个多小时的比赛,由Deepmind团队研发的围棋人工智能执白1/4子战胜了目前等级分排名世界第一的中国棋手柯洁九段,暂时以1比0领先。

面对这个结果,大家都已经不再惊讶,但是我们看到的比赛背后的一些东西,远比结果更加重要和有趣。

AlphaGo v2.0

但少有人注意到的是,昨天和柯洁对战的 Alphago,已经不是去年和李世乭对战的那个 AlphaGo。在一年的时间里,AlphaGo 的架构已经发生了重大的变化。你可以称其为 AlphaGo 2.0版本。

1495591108418096.jpg

第一个重大变化在于硬件。具体来说,从 CPU+GPU 的组合,变为采用 TPU。

发表在《自然》的论文里明确显示,一开始在2014 年,AlphaGo 采用的是一个单机箱的异步计算架构,可以用 48 个 CPU(中央处理器)核心搭配 1、2、4、8 个 GPU(图形处理器)来组合出几种不同的配置。

但到了 2015 年 10 月,DeepMind 和 Google 已经为 AlphaGo 新设计了一个分布式的计算架构:还是用 CPU 和 GPU,只是这次数量多到惊人,可以用到多达 1920 个 CPU 核心和 280 个 GPU,你可以理解为 DeepMind 为了让 AlphaGo 的性能更好配了一台超级计算机。然而,即便在最高配置上,AlphaGo 的围棋等级分 (Elo Rating) 只能达到 3168,在现在世界围棋选手排名中勉强挤进前 260 名。

1495591173520297.jpg

为什么要从单机箱改成分布式计算?这是因为在围棋对弈中时间是非常重要的因素,你用的时间比对手少,对手就可能比你提前进入读秒的紧张阶段,被迫在思考不足的前提下落子,而你却有更多时间地靠。AlphaGo 采用一种名叫蒙特卡洛树搜索的技术,不停地对下一步的棋盘、再下一步和再再下一步的棋盘可能出现的状况进行大量的计算,从而找到结果最优的下一步落子位置。而这个搜索进程需要时间,因此每一手之间给 AlphaGo 越多的时间,它能计算出越好的结果(当然,时间对结果优劣程度的帮助是递减的)。

在最早的 AlphaGo 论文中我们可以看到,从单机箱向分布式计算演进,在树形搜索进程数量在 40 不变的前提下,AlphaGo 的等级分获得了一次非常不错提升,从 2890 提升到了 3140。

但如果继续增加 CPU 核心 和 GPU 数量呢?在前面第一个图表里我们看到,搜索进程数增加到了 64,等级分继续提高到 3168:CPU 和 GPU 所用的数量暴增了 60%,等级分却只提升了 28。显然堆 CPU 和 GPU 不是一个完美的解决方案,接下来怎么办?

在去年 3 月和李世乭的交战中,Google 首次用到了一个名叫 TPU 的东西。TPU 全名 Tensor Processing Unit(张量处理单元),是 Google 自行设计,专门用于机器学习训练和推理深度神经网络的处理器,非常适合 Google 的 TensorFlow 开源机器学习框架。

1495591234836494.jpg

而 AlphaGo 就是用 TensorFlow 训练出来的,跑在 TPU 上性能提升巨大,可以说跟之前基于 CPU+GPU 的分布式计算系统相比,获得了一次重大的升级。从李世乭比赛之后,AlphaGo 都迁移运行在 TPU 上了。

但这还不是 AlphaGo 的 2.0 时代,更像 1.3。

真正让 AlphaGo 升级到 2.0 的是它的学习思路变化。在和李世乭交战之前,AlphaGo 的训练方式就是学习人类的棋谱。然而人类的对弈思路相对来说已经比较固定,在相当长的一段时间内已经没有太多充满创造力的新招式出现了,因此 DeepMind 给 AlphaGo 设定了一个新的学习方式,让它摒弃人类的思维定式自己跟自己下棋,左右互搏。

关于这个新的学习方式,去年韩国比赛期间社交网络上流传一个笑话:跟 AlphaGo 下完棋,李世乭回家睡了一觉,舒缓压力整理思路,AlphaGo 却连夜又自己跟自己下了一万局……玩笑之余,这也是为什么我们在 AlphaGo 和李世乭、后来的 Master,以及昨天和柯洁的对弈中,总能看到一些让人搞不清到底是程序出了 bug 还是真的颇具新意的招式。就好比神仙打架,人又怎么理解的了呢?

1495591310838560.jpg

更重要的是,通过自己跟自己下棋,AlphaGo 产生了大量的新棋谱数据。这些左右互搏的棋谱和最一开始训练输入的人类棋谱并没有太大不同,也意味着 AlphaGo 已经能自己生产继续进化下去所需要的数据了。

AlphaGo 的思维方式也特别。它不考虑赢面的大小,因为它只关注一件事情:下一步落在哪里,获胜的几率最高。对此,OpenAI 的科学家安德烈·卡帕西 (Andrej Karpathy) 的评论很到位:如果 AlphaGo 发现某种下法最终以半目获胜的概率高达 99.9999999%,它是绝对不会采用另一种 99.99% 概率能以 10 目获胜的下法的。

1495591393480449.jpg

所以你看到最后柯洁施展了全部的才华,拼尽全力与 AlphaGo 一战,你以为它给 AlphaGo 带来了巨大的压力,导致最后 AlphaGo 只赢了半目,实力相差无几,是一场焦灼的对局话,那你可能错了,因为在 AlphaGo 那里,一切都只是概率,它根本不在乎赢你多少,因为它是面向赢的几率优化的,99.9999999%胜率和 99.99% 胜率有着天壤之别——这就是它训练的任务。

柯洁和人类棋手的 2.0 时代

很多人都已经注意到,柯洁的心态,以及在公众场合的姿态,对于围棋、人类棋手和人工智能之间关系的看法,从去年 AlphaGo vs 李世乭到今天在乌镇,已经发生了很大的变化。或许打完本次比赛,柯洁也已经完成了向 2.0 版本的自己蜕变的过程。

柯洁并未否定人工智能对围棋的意义,他也在文章里说,“我相信未来是属于人工智能的。”

让围棋 AI 登顶世界棋手排行榜的,肯定不是热情,而是先进的计算架构和强大的计算力。就像人类发现了石头和木棍可以被打磨成为斧头,发现一根铁棍加上一个支点就成了杠杆,发明了算盘用于辅助计算,又发明了计算机加强这种计算一样……其实,斧头、杠杆、算盘、计算机和 AlphaGo,都是同一个东西——我们称它们为工具。

斧头帮助人类战胜野兽,杠杆可以撬动重物,算盘和计算机极大地降低了复杂计算的难度,而 AlphaGo 除了挑战围棋高手,登上新闻头条,还有它最重要的作用:和人类棋手一起探寻围棋的真谛。这正是柯洁去年 12 月长微博所说的。

1495591525310302.jpg

你甚至可以说,在去年高调击败李世乭之后,AlphaGo 和再强大的、段位再高的人类棋手下棋也没有意义了。柯洁广而告之这次三番棋将会是自己和人工智能的最后三盘对局的原因,可能也在这里:工具是为了帮助人类,而不是挑战人类存在的。人可以徒手杀死另一个人,但你不会因此而选择徒手面对另一个手持斧头的人;人同样可以笔算完成一道数学题,但相信面前摆着计算器没人会不用的;同样,AlphaGo 有帮助人类探寻围棋真谛的潜力,而这个潜力已经不需要靠人类和它对决来体现——这个道理,对于柯洁,和任何处在人类围棋弈技巅峰的棋手们,都是显而易见的。

这也是为什么我觉得,在 AlphaGo vs 柯洁这件事情上,其实我们应该关注的不是胜负手、柯洁的先后言论云云,而是更重要的事情……就像柯洁所说的那样,人类棋手将怎样和计算机结合,迈进全新的领域,达到全新的境界——人类围棋的 2.0 时代。

从这个角度看,AlphaGo,是人类棋手和围棋进入 2.0 时代的一张船票。


智能界(www.znjchina.com)中国智能科技聚合推荐平台,秉承“引领未来智能生活”的理念,专注报道智能家居、可穿戴设备、智能医疗、机器人、3D打印、智能汽车、VR/AR/MR/、人工智能等诸多科技前沿领域。关注智能创新对人的生活方式、价值的改变,致力传播放大这部分声量。聚合品牌宣传、代理招商、产品评测、原创视频、fm电台与试用众测,深入智能科技行业,全平台多维度为用户及厂商提供服务,致力成为中国最具影响力的智能科技聚合推荐平台。

智能界【微信公众号ID:znjchina】【新浪/腾讯微博:@智能界】




人已收藏

相关文章

评论列表(已有条评论)

最新评论