谷歌围棋

时间:2024-09-06 12:29:20编辑:阿星

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

AlphaGo到底是怎么赢的?

阿尔法围棋(AlphaGo)为了应对围棋的复杂性,结合了监督学习和强化学习的优势。它通过训练形成一个策略网络(policy network),将棋盘上的局势作为输入信息,并对所有可行的落子位置生成一个概率分布。然后,训练出一个价值网络(value network)对自我对弈进行预测,以 -1(对手的绝对胜利)到1(AlphaGo的绝对胜利)的标准,预测所有可行落子位置的结果。这两个网络自身都十分强大,而阿尔法围棋将这两种网络整合进基于概率的蒙特卡罗树搜索(MCTS)中,实现了它真正的优势。新版的阿尔法围棋产生大量自我对弈棋局,为下一代版本提供了训练数据,此过程循环往复。在获取棋局信息后,阿尔法围棋会根据策略网络(policy network)探索哪个位置同时具备高潜在价值和高可能性,进而决定最佳落子位置。在分配的搜索时间结束时,模拟过程中被系统最频繁考察的位置将成为阿尔法围棋的最终选择。在经过先期的全盘探索和过程中对最佳落子的不断揣摩后,阿尔法围棋的搜索算法就能在其计算能力之上加入近似人类的直觉判断。围棋

谷歌人工智能连赢人类围棋冠军5局,它怎么做到的,如何评价它

您好,谷歌人工智能的工作原理,“深度学习”是指多层的人工神经网络和训练它的方法。一层神经网络会把大量矩阵数字作为输入,通过非线性激活方法取权重,再产生另一个数据集合作为输出。这就像生物神经大脑的工作机理一样,通过合适的矩阵数量,多层组织链接一起,形成神经网络“大脑”进行精准复杂的处理,就像人们识别物体标注图片一样。最近短短几年的发展,从大数据,深度学习人工智能到虚拟现实,从发现了类地球行星,证实引力波,从Hyperloop,无人驾驶,量子计算,这些魅力无穷的科技让我们对世界的认识上升到新的高度。现在的人工智能原来越成熟,同时我们也要不断提防着某一天突然人工智能取代人脑的情况。祝您生活愉快~请采纳~

职业棋手输给谷歌围棋AI,围棋界人士都怎么说

  樊麾(欧洲冠军,职业二段,落败于谷歌AI AlphaGo对弈的棋手):   ”在中国,围棋不仅仅是游戏,还是生活的写照。人们常说,如果你的棋局有问题,也许你的生活也出现了问题。   输棋很艰难。在和AlphaGo下棋之前,我觉得我会赢。第一局棋之后,我改变了策略,进攻得更多,但我还是输了。人类的问题是,我们有时会犯下大错,因为我们是人。我们会疲劳,会因为太过想赢而承受压力。但程序不是这样的。程序很强大,很稳定,就像是一堵墙。对我来说,这个区别很大。我知道AlphaGo是电脑,但如果没人告诉我,我或许会觉得对手是个有点奇怪,但非常强大的人,一个真实的人。   当然,我输棋的时候并不高兴,但所有职业棋手都会输棋。输棋之后,我会研究这盘棋,也许会改变下法。我觉得这对今后来说是件好事。“   托比•曼宁(Toby Manning),英国围棋协会司库,樊麾与AlphaGo棋赛的评委   围棋手们都知道围棋是人工智能尚未攻破的领域之一,所以,我觉得人们的预期是电脑的确会达到职业棋手的水平,但那也是在十多年后。在这场比赛中,我原以为樊麾会赢。   在比赛过程中,让我印象最深的是你分不出谁是人类,谁是计算机。在许多软件中,电脑会走出许多步好棋,然后突然开始摸不着头脑。但对AlphaGo和樊麾来说,你分不出谁是谁。   AlphaGo和人类不同的地方之一是它管理时间的方式。樊麾每步所花的时间比AlphaGo更长。AlphaGo的进攻性似乎也没有人类那么强。它的下法非常平稳,而不是通过占地或吃子向对方发起进攻。   就像深蓝达到国际象棋大师级别时那样,我觉得围棋界都想去试试这个软件,对弈一番,看看自己在哪里出了差错。


上一篇:蒋劲夫回应

下一篇:德国队世界杯大名单