当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 从AlphaGo大战李世乭,看人工智能的现在与未来

从AlphaGo大战李世乭,看人工智能的现在与未来 时间:2018-09-25      来源:未知

这些天,一场世纪大对决了舆论焦点。谷歌人工智能程序AlphaGo与人类围棋大师李世乭于2016年3月9日~15日进行5场厮杀,而此前AlphaGo已经在2015年10月以5:0的比分完胜欧洲职业冠军樊麾。这将是比较人工智能与人类智慧孰高孰下的一次重要的对抗展示。

19年前,计算机击败象棋大师卡斯帕罗夫,震惊一时。当时的情景还历历在目,19年过去,计算机又来攻克号称“只有人类才能玩”的围棋了么?

一、浅析AlphaGo的原理

首先我们要对围棋进行一下简单的了解。围棋棋盘有19*19路,共361个交叉点,每个交叉点可以有三种状态:黑子(用1表示)白子(用-1表示)无子(用0表示)。再加上其他信息(例如这个棋子的“气”等问题),我们可以用一个n维向量来表示一个棋盘的状态。把这个棋盘状态向量记为s。

在状态s下,可供下一步落子的空间也可以用n维向量来表示,记为a。这样,针对围棋的人工智能程序的基本思想就是:任意给定一个s状态,计算(或寻找)好的应对策略a。让程序按照这个思想运行下去,即可赢得比赛。

那么,设计一个惊世骇俗的围棋程序,从哪里开始呢?在Google工作的黄世杰团队祭出了第一招:

“深度卷积神经网络”

深度卷积神经网络在98年就已经攻克了手写数字识别,近年来在人脸图像识别、图像分类、天气预报等领域已基本达到了人类水平,是深度学习的基础算法之一。黄世杰团队借助围棋对战平台KGS,获得了大约3000万个对战样本。将每个样本处理成19*19的二维图像,输入一个卷积神经网络进行学习。在学习过程中,针对某个棋局状态s,计算机可以计算出人类选手可能选取的落子点若干,每个点的落子概率不同,以概率排序,选择大概率的点作为应对a’。重复这个过程,就能够完成一盘对局。通过不断训练这个网络(样本数增加,对神经网络的刺激增加),计算机得到的落子结果a’就能无限接近人类高手的落子结果a。

然而基于这个算法的程序的棋力如何?老实说,不咋地。只能达到业余6段水平左右,战胜一般围棋爱好者似乎足够,但要挑战一等一的围棋高手还相差甚远。

所以,黄世杰改进了算法,祭出了第二招:

“MCTS”(蒙特卡洛搜索树)

蒙特卡洛搜索树是这样做的:面对一个空白棋盘s0,假设我们用扔骰子的方式随机选择一个位置落子,得到一个状态s1,对方也随机扔骰子,选择一个位置落子,得到状态s2。不断重复这个过程,直至完成对局sn。若这局赢了,记分r记为1,输了记为0,这样便模拟出了一盘围棋的对局。于是,针对起始位置s0和其应对a0,便有了一个分数r=1。

之后从开始再重复对局一次,不过对手的应对换了一个a1。若对局完成还是能够获胜,则将的分数r再加一分。不断增加样本,终会得到一个分数高的起始位置,这个位置就是“有前途”的起始位置。选择“有前途”的起始位置落子,再针对下一步进行同样的思考。

可以发现,蒙特卡洛搜索树与卷积神经网络有2点不同:

1)没有人工干预,完全可以自发“想像”来提高对弈能力。

2)在思考完这步的策略后,还可以继续思考下一步策略。即可以不断思考直至对局完成。

从这两点可以看出,使用蒙特卡洛搜索树模拟的程序,已经与人类玩家的思考模式高度类似了。

为了进一步提高MCTS的棋力,黄世杰团队又祭出的第三招:

“左右互博,自我进化”

通过蒙特卡洛搜索树来对抗蒙特卡洛搜索树,不仅能够快速获得大量样本用于学习,而且还能不断训练蒙特卡洛搜索树,对蒙特卡洛搜索树进行优化。

万事俱备,将卷积神经网络与蒙特卡洛搜索树进行结合,AlphaGo的基本“大脑”便完成了。AlphaGo有两个“大脑”:落子选择器(Move Picker)用来预测每一步的佳落子位置;棋局评估器(Position Evaluator)用来辅助落子选择器,通过判断整体棋局的形式来分析落子选择器得出的结果是“好”还是“坏”。深度学习、蒙特卡洛搜索树、自我进化,三招齐出,AlphaGo对于其他的围棋对战程序胜率已达到95%以上,甚至还在让4子的基础上以77%的胜率击败了另一个围棋对抗程序crazystone,绝对是当今人工智能领域的巅峰之作。

二、AlphaGo挑战围棋的意义

围棋是NP-hard问题,平均每回合有250种可能,一盘棋平均长达150回合,有3^361种局面,综合所有情况我们能得到的所有情况数字大概是10^170,而已知的宇宙中原子总数量才10^80。如此庞大的数目,根本不可能使用暴力穷举法来破解,而人类棋手却能够看穿棋局的本质,这也是人类有思考能力的体现。如果AlphaGo能够挑战人类棋手成功,至少说明AlphaGo的自我学习能力与自我思考能力方面已与人类无异,人工智能的黎明已经到来。

而未来,人工智能可以应用在诸如股市、工业生产制造、交通、能源等领域,甚至我们可能制造出搭载人工智能的飞船去代替人类寻找其他文明!AlphaGo的神经网络与自我学习的能力无疑是十分强大的。

但是,现阶段AlphaGo仍有许多不足。首先AlphaGo对于大局的把控仍不够好。AlphaGo在局部小规模战斗上会十分厉害,因为它能给出各种对抗人类的下法,而对于全局局势的判断则明显弱于人类。例如对战樊麾时的第二局中的第31步,虽然在局部来说这一手棋是正确的落子法,而对于大局而言,这一手并没有什么实质作用,可以说是丢了西瓜捡芝麻。另外,AlphaGo对于“随机变化”的应对还不够充分。在与李世乭对战的第四局中,李世乭下出被称为“惊天一手”、“足以载入史册”的第78手,而面对突如其来的变数,AlphaGo在接下来的几步棋中竟连连判断失误,虽然后期奋起直追努力搬回局面,但仍回天乏力,输掉了这一局。

未来,AlphaGo还将挑战更多“只有人类才擅长”的领域,据说AlphaGo的下一个目标是挑战热门的RTS类游戏——星际争霸2,相信在不远的未来,AlphaGo与其他人工智能设备能够完成挑战,开启人工智能新时代。

三、AlphaGo战胜李世乭——机器学习的进步和机器的觉醒?

电影《终结者》讲述了在未来世界,拥有人工智能的机器向人类大举宣战的场景。AlphaGo赢得李世乭的优异表现,使得部分人类开始惊恐起来——人工智能的时代已经来临,人类被机器奴役的时代还远吗?

实际上,现阶段的人工智能和我们的想像(或电影的描述)完全不同。AI的行为边界是图灵测试。现阶段还没有一台机器能够通过图灵测试。现阶段的人工智能只是进行这样的操作——接收一些输入,改变输入状态(计算结果),给出一些输出。有人会问,机器不会自己修改计算参数吗?修改过计算参数后,输出不就不确定了吗?也就是不可控了吗?实际上,“参数改变”这件事也是确定的,可变的参数以及变化范围也是人类已知的。目前AI超过人类的地方,只有计算量大、计算速度快、记忆力爆棚,仅此而已。

而且,现阶段的人工智能还只能处理离散问题。对于一些非离散问题(例如哲学、情感、人际关系等“不可量化”的量),还没有合适的算法将其转化为离散问题。因此,机器还不具备逆天的能力来奴役人类。

AI发展到目前,与其他的工具——电视、手机、扳手、衣架等——没什么本质区别,那就是还没有“思维”。目前AlphaGo战胜了李世乭,好比汽车提速到了100km/h以上,电视能播放4K视频……并没有质的变化,只是量的变化而已。

至于未来,若有秘密科学组织,已经破解了人类的“思维”,研究透了思维的形成、运作原理,以此发明非图灵机,让机器有思想。若真有这样的组织,我只能说——年轻人,不要看科幻小说了。

总而言之,AlphaGo所代表的人工智能并不能挑战甚至奴役人类,我们只是又发明了一个趁手的计算工具而已。

上一篇:绑定服务时什么时候调用onRebind

下一篇:师兄码字2000谈在华清学习的感受

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部