发布时间: 2016-03-21
文章来源:人民日报 吴月辉
谷歌的围棋人工智能程序和人类围棋冠军之间的比赛,堪称人工智能发展的一个重要里程碑,也让全世界的目光聚焦在人工智能这个热门科技领域。谷歌的人工智能程序是怎样赢了人类?人工智能对人类来说到底意味着什么,会带来什么?它会不会有一天在智能上也超过人类?
本版近期推出“关注‘人机大战’”系列报道上下篇,尝试揭开谷歌围棋人工智能程序赢得比赛的秘密,并分享相关专家对人工智能未来前景的预测。
——编者
从3月9日开始,一场人与机器的围棋大战吸引了全世界的目光。这场大战在韩国首尔上演,一直持续到15日,共5轮。大战之所以举世瞩目,是因为对战的双方是世界围棋冠军李世石与围棋人工智能程序AlphaGo。令人惊叹的是,整个比赛过程中,AlphaGo的表现都堪称完美,最终以4:1击败李世石。
这个战胜人类世界围棋冠军的AlphaGo程序到底是何方神圣?它为什么如此厉害?
“阿尔法狗”是什么?
一款人机对弈的围棋程序,棋艺不是开发者教给它的,而是“自学成才”
AlphaGo程序是美国谷歌公司旗下DeepMind团队开发的一款人机对弈的围棋程序,被中国棋迷们戏称为“阿尔法狗”。游戏是人工智能最初开发的主要阵地之一,比如博弈游戏就要求人工智能更聪明、更灵活,用更接近人类的思考方式解决问题。
1997年,IBM的“深蓝”计算机首次击败国际象棋世界冠军卡斯帕罗夫,成为人工智能战胜人类棋手的第一个标志性事件。此后近20年间,计算机在诸多领域的智力游戏中都击败过人类。但在围棋领域,人工智能却始终难以逾越人类棋手。直到2015年,由谷歌开发的这款“阿尔法狗”程序才首次战胜欧洲围棋冠军樊麾。
为什么对于人工智能而言,围棋的难度这么大?中国自动化协会副理事长、秘书长王飞跃说:“首先,围棋的可能性太多。围棋每一步的可能下法非常多,棋手起手时就有19×19=361种落子选择。一局150回合的围棋可能出现的局面多达10170种。其次,是规律太微妙,在某种程度上落子选择依靠的是经验积累而形成的直觉。此外,在围棋的棋局中,计算机很难分辨当下棋局的优势方和弱势方。因此,围棋挑战被称作人工智能的‘阿波罗计划’。”
既然围棋对于人工智能来说这么难攻克,那么对于AlphaGo程序的设计者来说,是否也需要具备很高的围棋水平?
“这个不需要,设计者们只需要懂得围棋的基本规则即可。AlphaGo背后是一群杰出的计算机科学家,确切地说,是机器学习领域的专家。科学家利用神经网络算法,将棋类专家的比赛记录输入给计算机,并让计算机自己与自己进行比赛,在这个过程中不断学习训练。某种程度上可以这么说,AlphaGo的棋艺不是开发者教给它的,而是‘自学成才’的。”王飞跃说。
“阿尔法狗”怎样下棋?
用两个神经网络大脑——策略网络和估值网络,像人类棋手一样判断当前局面,推断未来局面
AlphaGo到底是如何下棋的呢?
AlphaGo通过蒙特卡洛树搜索算法和两个深度神经网络合作来完成下棋。在与李世石对阵之前,谷歌首先用人类对弈的近3000万种走法来训练“阿尔法狗”的神经网络,让它学会预测人类专业棋手怎么落子。然后更进一步,让AlphaGo自己跟自己下棋,从而又产生规模庞大的全新的棋谱。谷歌工程师曾宣称AlphaGo每天可以尝试百万量级的走法。
“它们的任务在于合作‘挑选’出那些比较有前途的棋步,抛弃明显的差棋,从而将计算量控制在计算机可以完成的范围内。在本质上,这和人类棋手所做的是一样的。”中国科学院自动化研究所博士研究生刘加奇说。
什么是蒙特卡洛搜索树算法?
有专家曾通俗地解释:假如篮子里有1000个苹果,让你每次闭着眼睛找一个最大的,可以不限制挑选次数。于是,你可以闭着眼随机拿了一个,然后再随机拿一个与第一个比,留下大的,再随机拿一个,与前次留下的比较,又可以留下大的。循环往复这样,拿的次数越多,挑出最大苹果的可能性也就越大,但除非你把1000个苹果都挑一遍,否则你无法肯定最终挑出来的就是最大的一个。这就是蒙特卡洛搜索,它被广泛用于科学和工程研究的算法仿真中。
“传统的棋类软件,一般采用暴力搜索,包括深蓝计算机,它是对所有可能结果建立搜索树(每个结果是树上的一个果实),根据需要进行遍历搜索。这种方法在象棋、跳棋等方面还具有一定可实现性,但对于围棋就无法实现,因为围棋横竖各19条线,落子的可能性大到计算机无法构建这棵树(果子太多了)来实现遍历搜索。”中国科学院自动化研究所研究员易建强说,“而AlphaGo采用了很聪明的方法,完美解决了这个问题。它利用深度学习的方法降低了搜索树的复杂性,搜索空间得到有效降低。比如,策略网络负责指挥计算机搜索出更像人类高手该落子的位置,而估值网络负责指挥计算机搜索出后续更有可能获胜的一个落子位置。”
刘加奇进一步解释,深度神经网络最基础的一个单元就类似我们人类大脑的神经元,很多层连接起来就好比是人类大脑的神经网络。AlphaGo的两个神经网络“大脑”分别是策略网络和估值网络。
“策略网络主要是用来生成落子策略的。在下棋的过程中,它不是考虑自己应该怎么下,而是想人类的高手会怎么下。也就是说,它会根据输入棋盘当前的一个状态,预测人类下一步棋会下在哪儿,提出最符合人类思维的几种可行的下法。”
然而,策略网络并不知道自己要下出的这步棋到底下得好还是不好,它只知道这步棋是否跟人类下的是一样的,这时候就需要估值网络来发挥作用了。
刘加奇说:“估值网络会为各个可行的下法评估整个盘面的情况,然后给出一个‘胜率’。这些值会反馈到蒙特卡洛树搜索算法中,通过反复如上过程推演出‘胜率’最高的走法。蒙特卡洛树搜索算法决定了策略网络仅会在‘胜率’较高的地方继续推演,这样就可以抛弃某些路线,不用一条道算到黑。”
AlphaGo利用这两个工具来分析局面,判断每种下子策略的优劣,就像人类棋手会判断当前局面以及推断未来的局面一样。在利用蒙特卡洛树搜索算法分析了比如未来20步的情况下,就能判断在哪里下子赢的概率会高。
人工智能会对人类造成威胁吗?
目前并不会对人类造成威胁,人工智能技术为人类提供了解决问题的强大工具
专家们表示,AlphaGo成功的秘诀就是让计算机知道如何完成目标并通过经验来提高,而不是每项任务都通过手写指令来完成。
“这个秘诀实际上就是深度学习。它是指多层的人工神经网络和训练它的方法。简单通俗地讲就是指计算机通过深度神经网络,模拟人脑的机制来学习、判断、决策。近年来,这种方法已被应用于许多领域,比如人脸识别、语音识别等等,总之它在近期和未来都将是人工智能领域的一个热点研究方向。”易建强说。
此次AlphaGo的胜利被业界认为是人工智能发展当中的一个重要里程碑。
“它的一些算法的机理可以运用到其它领域,去解决一些对抗性的问题,甚至还可以应用到以后的商业和金融交易当中,或者是城市的交通管理等方面。”刘加奇说。
很多人都担心人工智能的发展会威胁到人类的生存,这次AlphaGo能在典型的反映人类智慧的比赛中打败人类,则更加重了人们的担忧。
对此,记者采访的几位专家都表示人工智能并不会对人类造成威胁。他们认为,人工智能技术为我们提供了强大工具,有助于专家更快做出突破,提高我们应对那些亟待解决的全球性难题的能力。
“我们需要机器学习来帮助处理复杂问题,预测未知,支持我们实现以往不可能的目标。”王飞跃说。
“当然相比围棋,城市拥堵的治理等问题难度更大。因为围棋的数据结构是一样和固定的,而我们生活当中很多的数据结构并不统一,比如城市拥堵方面的大数据结构,因此让计算机从这些非结构数据中获取知识是非常难的,要实现还需要很长的时间。”易建强说。
(原载于《人民日报》 2016-03-21 20版)