中搜网络总裁陈沛:从“人机大战”看人工智能的崛起
扫描二维码
随时随地手机看文章
中搜网络董事长、总裁陈沛,是著名人工智能专家、中国计算机协会常务理事、第三代搜索主设计师,也是北京围棋业余冠军。
各位朋友大家晚上好,我是陈沛。今晚为大家分享的主题是《机器会否统治人类?从人机大战看人工智能的崛起》。
我们都知道,2017年的人机大战已开幕,柯洁和AlphaGo比赛的第一局,我们也都已经看到了结果,是AlphaGo1/4子赢了柯洁。其实1/4子在围棋上是最小的一个输赢单位,没有更小的胜负差别,但比赛在我看来其实是一面倒的。实际上AlphaGo一直占据着优势,虽然柯洁在官子阶段步步紧逼,竭尽全力,但是最后还是输掉了比赛。
在这之前,媒体问我“柯洁胜算几何?”,我很抱歉地预测说“柯洁三战皆负”。今天这是第一盘,我们还有机会看第二盘和第三盘。但这个比赛本身是非常有意思的,在我看来它已经超出了围棋的范畴,它不是一个简单的围棋比赛,而是人类和我们人类造出来的机器之间的竞争,只不过这个竞争是在一个非常独特的领域就是围棋中展开的。
由我来分享这个主题,我个人觉得是挺合适的。因为我本人从六七岁开始学围棋,拿过浙大的围棋冠军,也拿过总参谋部的冠军,还拿过北京市业余围棋的冠军,所以我对围棋有自己的一些理解,应该说在业余里下的比较好的人了。另一方面我也做过很多人工智能的项目,包括专家系统,特别是我自己还写过一个五子棋博奕程序,把人的知识用计算机语言的方式去表达和使用,然后再和人类进行比赛。所以AlphaGo和柯洁的大战引起世界的关注,也引起了我的个人兴趣,我觉得通过这件事情,我们可以更好的来看看人工智能的崛起。
复盘几次“人机大战”
人工智能是时下热点,也成为了刷屏的关健词。其实机器和围棋的比赛并不是第一次发生,在很早就有这种机器和人对战的围棋软件,每年甚至有计算机的围棋比赛,但是都没有像现在这样引起轰动。我觉得最大的一个原因是人工智能的崛起带来了围棋软件的大幅度提升,开始挑战人类的顶尖高手。
1997年,IBM的深蓝战胜过人类的国际象棋冠军卡斯帕罗夫,应该说机器挑战了人类的棋类游戏,并且战胜了人类顶尖高手,但是那时候并没有特别大地引起整个人类的轰动和关注。当时是IBM的一个小型机IS6000和人类的世界冠军卡斯帕罗夫的对弈,这个比赛确实使用了机器,但是并没有大量采用人工智能技术,更多的采用了一些硬件加速,暴力计算的方式,战胜了人类的冠军。而象棋和国际象棋在变化量的数量级上比围棋差了很多,以至于机器通过自己强力的运算就有机会战胜人类的世界冠军。
这次不同,这次挑战的是围棋,围棋变化的复杂量,有人形容说它是原子的个数总和,大概是120位以上的数字,变化极其复杂,复杂到我们人类从来也不能够算清楚,未来也不可能算清楚。过分的复杂以至于机器也算不清楚,因此在围棋中我们必须使用一些分析、判断、决策等人类特定的智慧,而不是机器的运算能力。
很多人开始说:“机器能算那么快,人当然下不过他了。”其实机器虽然算得比较快,但并不是完全靠计算来战胜人类的。它有自己的神经网络,有自己的深度学习,它把人类当成老师,然后不断的学习和提高,包括左右互搏。这个过程中机器积累了人类对围棋大量的知识,这时候它才能真正战胜人类。所以这次AlphaGo战胜人类具有里程碑式的意义,它可能在人类所有的智力游戏上占到了一个制高点上,以至于下完这次比赛以后,可能人类已经没有机会再去挑战机器,按柯洁的话说:“这是我和机器下的最后三盘棋”。
当年IBM的IS6000,就是“更深的蓝”,战胜了卡斯帕罗夫的第二天就宣布退役了。换句话说,“如果我现在能赢了你,你以后再也没有机会赢我了,再跟你下没有意义,所以不跟你们玩了。”这次为什么跟柯洁还有机会做一次这样的人机大战呢?是因为去年4月份的时候,AlphaGo和李世石进行了第一次“人机大战”,那场比赛机器4:1战胜了人类,而李世石在第四盘的时候下出了所谓“神之一手”,打乱了整个机器的系统,后面的逻辑产生了紊乱,我本人是现场参与解说的,我发现机器在这个过程中犯了一些非常规的错误,应该不是知识也不是能力。
从棋的内容上来说,去年的比赛机器确实比人类顶尖高手像李世石这样的人下得更好,但是好的依然非常有限。我们人类可能不太服气:“你虽然赢了我,我也没有觉得你有多厉害”。特别比赛刚开始的时候,人类一边倒的认为机器下棋下不过人类,包括我本人也误判了,但是事实上机器在上次的比赛中已经战胜了人类的代表李世石。
李世石荣获了人类的14个世界冠军,应该统治了人类棋手十年的历史,代表人类也是当之无愧的,但是客观来说他已经过了自己的巅峰期,不是最佳的竞技状态,所以不一定能够代表人类现在最高的围棋水平。而柯洁是现在的世界第一,所以安排现在人类的世界第一和AlphaGo再进行一次比赛,依然具有挑战的意义,只不过这次挑战看起来不像是机器挑战人类,更像是人类挑战机器。
除围棋领域,前不久也有“冷扑大师”和人类进行了德州扑克比赛,后来也战胜了人类。其实更早一些的时候,实际上IBM的深蓝战胜卡斯帕罗夫以后,没有继续在围棋上去研究,而是去参加了人类的一些知识竞赛的比赛,那个系统叫沃森,后来也战胜了人类知识问答的冠军,所以机器是在不同的场合,以不同的方式挑战人类的智慧。
AlphaGo是怎样与人类比赛的?
有很多人来问我AlphaGo到底是怎么下棋的。AlphaGo应用了哪些技术呢?
云计算
跟大家想的一样,它确实要锁定在计算,这次的AlphaGo我不知道情况是什么,但上一次跟李世石的比赛,AlphaGo动用了2000台的服务器,同时进行运算,应该说它使用的云计算技术,集中了相当一部分通过网络连接起来的计算资源。比较而言的话,如果只用一台服务器做运算需要一秒钟的话,2000台的话就可以大大降低它每次判断的时间,甚至使整个比赛得以进行,所以利用云计算谷歌应该可以动用大量的服务器,不光2000台,需要两万台的时候也可以,所以现在应该是用两千台服务器同时进行运算参与这样的顶级比赛。
大数据
应该说AlphaGo的上一个版本是1.0版本,它大量录入了人类顶尖棋手的围棋棋谱,可以说它继承和学习了人类围棋史上可以学习的围棋知识,然后通过深度学习的方式,变成它能够理解的知识,然后应用到它自己的实战当中,所以很显然这也是一个大数据的成果。
当然很多人可能不一定都会下围棋,很多人也不是都是懂得人工智能的。所以AlphaGo实际上是有一套非常好的人工智能技术来适应围棋的比赛,简单说有两个网络——一个是价值评判的网络,一个是搜索的网络,然后找到每次决策它认为最好的一个点,这个点是以胜利最高的点作为决策的依据。
我们可以这样简单理解AlphaGo怎么去跟人下棋的。当柯洁下了一步棋的时候,它会在所有可能的选点中作出一个基础的判断,判断哪些棋可能是应该思考的,但是什么样的棋应该思考的呢?它可能需要搜索的方法去验证,比如说,如果这个点是人类棋手经常使用的,或者是这次可能采用它自己学习系统来产生的一个重要的推荐点,根据这个推荐点会引发一系列的演变,而这些演变通过门特卡罗的搜索数不断的去验证,双方相当于是左右互博的方式,双方都按照对方最好的应对,去演变下面的一些变化。当这些变化演变到一定的步数之后,比如说20步、25步这样的步数的时候,它要对结果进行评判,然后把结果反馈。
据说AlphaGo1.0版本的时候,它的学习过程是把人类的大量棋谱作为主要的依据。就是人类在这样的情况下,选择什么样的点进行思考和判断,进行去搜索和推演。这次AlphaGo2.0它实际上不再使用人类已有的棋谱,而是通过两台AlphaGo互相博奕互相学习的方式来产生知识推荐点,我觉得这个过程是很容易理解的。因为早期AlphaGo完全不具有人类的知识,所以他需要大量的棋谱。那么等它经过1.0的比赛以后,它本身已经成为人类的顶尖高手了,所以两台AlphaGo自己的相互博奕就可以作为推荐的依据了,所以很可能这次采用的是它用自己方式来生产的围棋知识。