Select Language

AI社区

数据要素产业

人工智能AlphaGo算法是如何运行的,你真的了解吗?

围棋

百度百科的定义中,阿尔法围棋 (围棋机器人、AlphaGo)是第一个击败人类职业围棋选手、第一个战胜围棋世界冠军的人工智能机器人,由谷歌(Google)旗下DeepMind公司戴密斯哈萨比斯领衔的团队开发,其主要工作原理是“深度学习”(“深度学习”是指多层的人工神经网络和训练它的方法)。

AlphaGo对战职业棋手

今天我们就来简单讲讲AlphaGo的工作原理,不会很深入,目的是让大家有所了解。

AlphaGo的算法其实主要是“蒙特卡洛树搜索”与“卷积神经网络”,术语看起来超级高大上的,但其实都是非常好理解的东西。

先从功能上来说,蒙特卡洛算法是用来确定下一步落子位置的。人类下棋的时候,第一凭经验看准哪几个落子点,然后再进行计算,得到最佳的落点,实际上和蒙特卡洛算法是相同的方式。

再说的详细一些,蒙特卡洛算法的本质就是随机:人们给AlphaGo记录了好多棋谱,它自己也对弈了很多局,在对棋谱中,当前形势下的落子可能性做了统计之后,根据棋谱中出现频率比较高的胜招好棋,帮助它找最优解。

蒙特卡洛树

百科中是这样说的:“一层神经网络会把大量矩阵数字作为输入,通过非线性激活方法取权重,再产生另一个数据集合作为输出。这就像生物神经大脑的工作机理一样,通过合适的矩阵数量,多层组织链接一起,形成神经网络“大脑”进行精准复杂的处理,就像人们识别物体标注图片一样。”当然这包括了我们接下来要说的,“卷积神经网络”。

AlphaGo对战李世石

卷积神经网络其实就是帮助计算机认识图像的。如果只是输入一张图片,人工智能或者说计算机,只能感应到一堆像素点,它要如何才能判断照片里的东西是什么呢?这就是这个所谓的“卷积神经网络”算法干的事情。

卷积神经网络

那么这个算法用在围棋里,就是帮助程序看到棋局了。每一次落子之后,形成的棋局盘面,就是一个图像信息。计算机认识棋型、死活等这类事情,本质上都是图像信息处理的过程。棋局评估也用到了这个,因此AlphaGo的估值、策略能力很准,从而能有效的判断局势并且选定落子,这就是AlphaGo比以前的围棋软件更厉害的原因。

围棋机器人

除此之外,我们已经提到了,AlphaGo围棋机器人会自我学习,这是因为它会自己跟自己对弈,然后分析自己的棋谱,从而改变棋局评估的侧重因素,以及在某些局势下落子的概率。AlphaGo在复盘过程中,能够使某步棋的概率提高一些,从而让最开始说的那个“蒙特卡洛算法”更容易选中它,另外让棋局评估系统认识这一局面,并把它判断为“其实是一步好棋”。

说到这里,大家是否有对围棋机器人有一点了解了呢?

与人工智能下棋