AlphaGo 是怎么下棋的?

前言

本来其实不想写这个的,但是看到很多网友以及一些围棋职业选手提出了一些疑问,比如「Google 没有顶尖的棋手为什么能开发出顶尖的围棋机器人?」还有「机械为什么可以在如此直觉主导的游戏中战胜人类?」。这些问题事实上在人工智能领域已经有很多理论来做解释。而且这些理论也并不是 Google 提出的。AlphaGo 所使用的理论大多还是十余年前左右的论文的一些成果。在此之前,使用了这些理论开发出来的人工智能其实已经在 2006 年就已经在 9x9 的小棋盘上战胜周俊勋九段,之后在 2013 年 CrazyStone 程序就已经在让四子前提下战胜过石田芳夫九段,而就在去年,Facebook 的围棋机器人在不让子的前提下,胜过职业选手。至于之前「前百度深度学习研究院」的吴韧所开发的异构神机也使用的是类似的理论,也在前几天战胜过职业棋手。

这些方法上,AlphaGo 并无太大创新,很大程度上是 Google 团队实现得相对完善以及训练程度更好,以及人工智能算法的实现和调参存在很大的偶然因素。那么究竟是什么方法让机械拥有了和人一样直觉,而不是简单的机械化的思考。这事我们还是要从头讲起。

无法计算的数据量

早在 1996 年,IBM 的深蓝计算机就战胜了国际象棋世界名将加里·卡斯帕罗夫。但象棋有一个特点,那就是每一步下的选择是相对非常有限的,最多也就十几种可能。哪怕是通过最最暴力的搜索方法,把每种都跑一遍,搜索几十步内的最优解。虽然这个方法随着搜索深度是指数级增长的,但事实上由于底数比饺小,依靠强大的算力还是可以解决的。而深蓝计算机正是这么一台拥有强大算力的超级计算机。

然而在围棋上,这样就不行了,因为围棋每一步都有上百种选择,如此大的底数纯粹的暴力就显然无法满足了。至少硬件的发展并非每年成百倍成百倍地快速增长的。同样的方法,显然是不适合使用在围棋上的。

在 2002 年之前,人们长期研究一个可以通过计算静态地分析出每一子的价值出来。然而这个方法的发展一直很慢。直到人们试图尝试一种动态评估一个博弈的一种方法,这就是靠。这个方法被称为蒙特卡洛搜索树,其前身是非常著名的上世纪曼哈顿计划期间由乌拉姆和冯·诺依曼提出的蒙特卡洛方法

如果我们想知道圆周率的值,我们如何利用猜的方法来猜出圆周率呢?我们只需要在一个方形中随机而均匀地扔飞镖,数一下,多少个飞镖扔在了以方形边长为直径的圆里,多少扔在了外面,根据圆的面积公式和方形的面积公式就能把 π 算出来。而蒙特卡洛搜索树就是利用蒙特卡洛方法来优化搜索树。简单来说,就是,我们认为这一步下在一个地方是最优的,而我们不知道这地方在哪里。我们先通过一系列随机的采样,从而去猜测一个值,这个值可能是最优解,也可能是一个接近最优解的解。但至少,这可以用来估算像围棋这样大的棋盘的东西了,而不需要把每个细枝末节都同等对待地来暴力搜索。

⑨神的大局观

解决完计算量的问题,我们还要来解决人类在围棋上最大的优势——直觉,或者说「大局观」。那么如何才能拥有大局观呢?我们想一下,人们在下围棋的时候,通常会先考虑下在哪个片区,以获得什么样的目的。而这就是所谓的大局观。

AlphaGo 的另一部分重要思想,得益于神经科学的发展,即人类认识人大脑神经的发展。人类愈发了解了大脑内神经元的工作模式,包括人类学习、认知的神经模型。这样的非常基础的模型,极大地方便了利用计算机来模拟人类进行学习的过程。

蒙特卡洛方法只是简化了计算,并不具备学习的能力。无论是单纯的蒙特卡洛搜索还是与 α-β 搜索结合的还是和置信区间结合一些版本,都与人类能越学越强的围棋技巧相比差上太多。至少,人脑是一个极其复杂的计算模型,哪怕是现在最好的计算机,其算力和整个大脑比起来还是差很多的。

在 2007 年,一些科学家试图提出一个新的机器学习模型,即所谓的深度学习。所谓深度学习,你可以看做模拟许多许多人脑中的神经元构成的一个网络。网络的每一层,针对一个特性进行识别。网络的每一层,都是一个单纯分类的无监督学习模型。你可以想像一下,人眼看到一个图像。经过一系列神经元,首先识别出了里面的眼睛、然后识别了里面的鼻子、嘴,再根据这些特性,发现这是一个人。这样依次发现的机制。而学习是通过一个有监督的反向传播进行。即告诉你这张图像里有一条狗,然后反向的一步步调整网络,让网络适应符合怎么样鼻子、嘴、眼睛的是一条狗。通过不断地数据的训练,即可以让模型越来越优。这个模型在图像识别领域已经达到甚至有时超越了人的识别能力。

而 AlphaGo 使用的就是深度学习来优化蒙特卡洛搜索树。在 AlphaGo 中有两个网络,一个是策略网络,一个是价值网络。策略网络即是一个大局观的网络,机器会先通过其经验,找出其应该做出进攻的反应还是防守的反应,表现在下在哪个片区是最为合适的,是不是应该跟棋之类的大问题。然后再通过蒙特卡洛搜索树去算出具体下在哪里是最合适的。

而我们说到,深度学习模型是真的和人一样可以学习的。每下一次棋,它就可以进一步调优自己的策略网络。首先 AlphaGo 导入了上千个职业选手对弈的棋谱,使得自己有了一个基础的下棋策略。这时候的 AlphaGo 就和一个受过系统训练的围棋少年一样了。然而这和职业选手的区别还是很大。这也就是所谓的「Google 没有顶尖的棋手为什么能开发出顶尖的围棋机器人?」按照一般常理,AlphaGo 应该一段一段地和人挑战,越发提高自己能力。然而 AlphaGo 不是这么做的,它选择和自己对弈。两台 AlphaGo 来对弈,将对弈的结果调优自己的网络。这个听起来很奇怪,为什么两个下得都不怎么样的棋手一起下棋,棋艺能那么快提升呢?因为它一天能和自己下上百万盘棋,它可以把自己分身成几万份跑在几万台电脑上,以及可以昼夜不停也不会过劳死,而这是任何一个人类都做不到的。AlphaGo 的开发人员说,他曾在早期能下赢 AlphaGo,而很快,AlphaGo 的水平就远超了他。所以 AlphaGo 得到了飞速的提升。仅仅五六个月,AlphaGo 就能从战胜欧洲棋王挑战到世界顶尖选手的水平了。

人工智能的基本法

当然搞人工智能也要有基本法。这个基本法就是算力或者说是资源。虽然做了很大的优化,计算下围棋的计算量还是很大的。比起深蓝时依靠超级计算机来解决问题。AlphaGo 选择了一条适合 Google 的路径来解决算力问题。那就是分布式计算。使用分布式计算的 AlphaGo 版本比起不使用的版本其智能程度也是有相当大的提升。即使最简单,它也可以有更多时间来做随机的尝试,以找出更优的价值解。

同样利用深度学习优化蒙特卡洛搜索的 Facebook 围棋团队,相比 Google 就没有那么壕力冲天了。无论是开发资源还是人员来说也是远少于 Google。Facebook 的围棋机器人之前也取得了相当好的成绩,大概可以击败职业二段选手的水平。但是比起 AlphaGo,还是差上许多。

所以说,做这么一个人智能,背后的投入程度、重视程度也起到了很大的作用。这也是为什么深度学习目前做得很好的公司大多是一些顶尖的 IT 企业里的研发团队。

后记

比起 AlphaGo 在围棋上的成就,其实大多数人很好奇人工智能未来的何去何从。从这次中,我们看到计算机已经具备了人类大局判断能力,其本质是类似于人类的学习能力,即不告诉电脑应该怎么做,而让电脑看人类是怎么做的。这项的应用其实相当广泛,尤其在非常复杂的问题上。

比如说,无人驾驶汽车之前发展很困难,是因为人们总是试图去把驾驶规则完全讲给电脑,而这点太过复杂,难以用纯逻辑说清。而今天 Google 的无人驾驶汽车也是使用的类似的深度学习的技术,让计算机观察人类开车并学习,从而模仿人类的判断。最终依靠计算机强大的算力和不会疲劳等特点,甚至超越人类的判断。

短期来看,利用深度学习的人工智能在未来数年内将会得到很大的应用。而这也是 Google 热衷于下围棋的原因。醉翁之意不在酒,在乎山水之间也。Google 只是想利用围棋来显示他们在深度学习应用上的先进水平。

就人工智能的最终目的来看,我们已经跨出了很大的一步。之前而言,我们很大程度局限于人类强大的抽象的思考能力,而模仿人类神经系统的模型已经很好地模拟了这种思考是怎么产生的了。进一步说,如果一个机器,拥有和人完全一样的眼睛、耳朵、鼻子、触觉等作为它的输入,以及类似于人类肌肉和关节的机械部件作为它的输出。并且模拟一个和人脑一样复杂程度的神经网络,并让它观察人类进行学习。是不是在某个未来,我们可以拥有和人类功能非常接近甚至超越人类的智能的出现。深度学习都为这样的强人工智能提出了理论上的基础。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容