从DeepBule到AlfhaGo看机器智能与人脑思维
2015年3月14日
随着计算能力的快速提高,从DeepBule到AlfhaGo,充分证实了某些可计算建模的局部领域计算机可超过人脑。这是不是意味着会计算机将拥有类似于人脑的思维?这几天由李世石对AlfhaGo的围棋人机大战引发的热议,仁者见仁,智者见智,几乎全部延伸到了这个问题。
人脑的思维模式是否可以有一个可计算模型来描述因该是上述问题的核心。可以肯定的是人类发明的各种棋类活动像西洋棋、中国象棋、国际象棋、围棋等对弈都可描述成一个可计算模型,虽然模型的精确解尚无法获取,但随着计算机计算能力的超速提升,各种启发式搜索算法越来越趋向于其精确解。
我们来分析人类棋手围棋对弈的模式。在熟知规则的前提下,对弈双方根据各自对局势优略的判断和局部计算力两个方面寻找最优点落子。局势判断决定着行棋的策略,当局势有很多选择但又无法判断出那个最优时,如何行棋将体现出一个棋手的灵感,但即使顶尖高手也很难讲清楚这个灵感是什么。观看众多一流棋手的对弈讲解发现正确的局势判断远远难于精确的局部死活计算,一局棋的败招和恶手由局势的错误判断引起的远远多于局部漏算引起的。
我们再来浅析AlphaGo的行棋模式。阅读AlphaGo在《自然》杂志发表的文章可发现AlphaGo主要有3个部分组成:1 行棋网络,给定当前局面,预测下几步的行棋,每组给出一个分值; 2 估值网络,给定当前局面,估计是黑方胜还是白方胜;3 蒙特卡洛搜索树,根据估值网络的判断,对行棋网络里的高分值(不止一组)预行棋做深度优先搜索后最终确定下一步的行棋。评论认为,这一次AlphaGo的智能体现和出色表演,主要得益于行棋网络的突破。
简单比较人类棋手围棋对弈的模式和AlphaGo的行棋模式会清楚地看出各自不同的特点和优劣。
(1) 人类棋手容易犯错误的局势判断AlphaGo是通过它的3个组成部分协作完成的。它对每个人类棋手判断不清的局面以及后续的若干步假设都能给出一个分值,这个分值的精确度依赖于机器的计算能力包括启发式算法、计算速度、和深度优先搜索的步数。可以想象AlphaGo计算机系统超快的计算能力和相应的局势判断的准确性。但由于人对局势的判断的机制远没有明了,目前AlphaGo的局势判断能力是否已真的超过了人仍然是个未知数。
(2) 人类棋手对局部死活的计算能力尤其是对一些超复杂定式的记忆能力(等这些尚未提炼成知识的数据)将慢慢逊色于处理能力快速增强的计算机系统。虽然AlphaGo声称系统并不特别看重局部的问题,但至少它清楚地局部的结果,重要的是它可将局部的问题纳入整体局面内考虑。这或许又可认为是机器智能的一种初步体现。另外,即使超一流棋手也会偶尔发生漏算,从而出现问题手、恶手或全局的败招。毋容置疑,如果程序没有bug,机器不应有漏算。单从这一点看,如果机器和人的“水平相当”,那么机器胜出的概率将大于人类棋手。
(3) 人类棋手的训练过程是一种知识的累集过程,其训练过程并没有针对性。但机器的训练过程除了充分多高质量的样本和有效的数学模型外还具有明显的倾向性,用专业术语讲学习过程有着明显的偏执。这个偏执可体现在对棋手的针对性,比如,AlphaGo面对同样的一个局面和使用同样的用时机制,如果对面坐的是李昌镐和对面坐的是李世石,计算出的行棋结果是不一样的。试想一个和李世石水平相当的隐士高手(他下棋的棋谱从未有记录)测试AlphaGo,可以断言其结果会有很大区别。
(4) 人的学习与思维尚不清楚,但机器试图模拟人脑的学习思维过程,这是一个很有意思的关系。AlphaGo的关键学习过程是建立的深度学习模型和基于大量高质量的专业棋手的棋谱数据的训练。理论上讲,只要有充分多高质量的样本就能构造出高性能的计算模型,那么是否认为AlphaGo就已经收集到了“充分多高质量的样本”?从动态的角度看,肯定没有。因为围棋的计算最大有3^361种局面,大致的体量是10^170,而已经观测到的宇宙中(原子的数量才10^880),其局面变幻无穷,正所谓“千古无同局”。但从对付目前人类棋手的角度,似乎是够了。
(5) 人类是一种情感动物,棋手的情绪的确影响着对弈的过程,情绪好的时候和差的时候其思维方式有明显差异。第一盘的输赢对下一盘的对弈对棋手来讲显然有影响。但机器显然没有这方面的因素,它只是按事先编写好的程序进行,不会有情绪的波动。围棋作为一种“手语”可视为棋手间的交流,职业棋手的对弈讲究对弈过程的内心平静,但即使国际顶尖高手也难免受情绪的影响。例如,被誉为“石佛”的韩国超一流棋手李昌镐在赛后的采访中都讲到比赛过程中情绪的影响。单从这一点看机器胜出的概率又大于人类棋手
以上的对比分析自然引发出许多方面的思考,谈几点与大家分享。
第一点,什么是AlphaGo最核心的技术?AlphaGo在《自然》杂志发表的文章和已公开的信息表明为基于大量真实棋谱的深度学习、树搜索和AlphaGo的自对弈。首先是真实样本是否足够?(那是从体量是10^170中选择了区区几万个对局)。更需提及的是AlphaGo通过大量的学习(有监督学习或许有聚类学习)到底归纳出了什么围棋知识(比如语义表示出大家熟知的某些围棋常识),或者说通过深度学习训练得到的神经网络的权重值有什么规律和特性或像图像处理深度学习的特征语义,AlphaGo并没有公布出来。就是说这个被认为特征的深度学习中最核心的部分文章报道只字未提,这或许会增加机器学习学者的很多疑虑。
第二点,假如AlphaGo通过大量的学习(有监督学习)真的能归纳出了有价值的围棋知识,那么随着计算机处理能力的快速提升它超过人是必然的事,从而人与机器的对弈比赛将不再有什么意义。但有意义的是机器通过学习能归纳出了有价值的领域知识。接下来的一件有趣的事就是设计不同的机器系统间的对弈,实际上就是软件程序设计比赛。类似于图灵测试,两个水平与顶尖高手水平相当的机器系统比如AlphaGo和TenCent 在同样的硬件环境、比赛规则、用时机制等条件下进行对弈,我们能否从棋谱中看出是两台机器在对弈而不是两个人在对弈?更有趣的是通过大量机器对弈其获胜者所学习出的棋类知识或许可以反馈给人类参考、欣赏。
第三点,回到文章开始时核心问题:计算机将拥有类似于人脑的思维?我个人认为这应该是一个极限过程,计算机模拟思维随年代构成一个序列趋向于人脑思维。每一次技术突破会加速这个序列收敛到极限的步伐,但值得注意的是序列中的任何一项都不会等于极限值。从Samuel(IEEE1987年先驱奖)在IBM设计的第一款走国际跳棋程序Checkers到国际象棋的DeepBlue每一步都从棋类活动这个侧面加速着这个序列的收敛,再到AlphaGo对弈胜利,使得这个序列的收敛速度得到了进一步的加快。某些可计算建模的局部领域计算机可远远超过人脑,这已是人工智能界的共识,但人脑思维的活动机制尚未搞清楚,准确的计算模型建立显然不可能(存在性未知)。有幸的是人工神经网络和近期流行的特征语义深度学习机制为近似模拟人脑思维提供了一种有效的模式。
最后一点,尽管AlphaGo被认为是攻克了棋类游戏的最后一个堡垒,但它对人工智能的理论贡献并不大明确,这一点许多人工智能学者已提及。人工智能领域公认的一些瓶颈问题如知识表示、搜索、推理等在AlphaGo的文章中并未过多提及(或许是没有公开)。
作者 王熙照,深圳大学教授,IEEE Fellow,机器学习与控制国际杂志主编,中国人工智能学会理事,中国人工智能学会机器学习专委会副主任