本文系《文工团》约稿,禁止一切形式的未授权转载,谢谢合作。
这篇是约稿的第二版,第一版可以点这里。
围棋,是一项中国先人所发明的古老对弈游戏。
相较于中国象棋或者国际象棋,围棋的最大特点在于它的每一个棋子都是相同的,没有不同的走法与规则,以及,更重要的一点,围棋中每个棋子的作用不是由其自身的“特殊功能”决定的,而是与它在整个棋局中与别的棋子之间的关系来决定的。
这种特殊的规则,既简单又复杂。
说简单,在于每个子都遵守相同的规则,规则本身并不冗长难懂;而说复杂,则在于在如此一目了然的规则之下,却能演化出几近无穷的可能性[1]。
因此,对人工智能持怀疑态度的人曾放言,人工智能永远不可能战胜人类;而对人工智能持乐观态度的人也觉得,大约十年后才能看到人工智能在围棋这一人类传统智力竞赛活动中战胜人类——当然这里说的是人类中的职业棋手,我这样的学龄前战五渣要战胜当然是分分钟的。
可,就在上个星期,这一无论是永远还是十年的预期,被谷歌的AlphaGo打破了。
虽然它所战胜的是国际围棋排名在633位的欧洲围棋冠军,且这位欧洲冠军据闻现场发挥有点失常,但无论如何,战胜了一位人类的职业棋手,这样的事终于还是在人类最乐观的预期前好多年,发生在了现实生活中。
这无疑为人工智能界打了一剂强心针,使得这一正从低谷中一步步走出的领域名正言顺地踏进了快车道。
在AlphaGo战胜人类职业棋手之前,人工智能早就在人类的棋类游戏世界中战胜过人类的。
这里当然不是说我们手机上的围棋程序虐菜我们这些普通人,而是说在棋类游戏的巅峰对决上,人工智能的纯理性脑壳取得过辉煌的胜利。
对,这里所说的就是1997年5月的那场世界焦点之战:世界首席国际象棋大师Kasparov对阵IBM公司的计算机“深蓝”,最后深蓝以2:1战胜了人类的世界冠军。
而就在8年前的1989年,这位Kasparov在国际象棋这一运动上战胜过深蓝的“兄长”——IBM的超级计算机“深思”。
此后,人类在国际象棋这一领域,人类就进入了与计算机较力的尴尬时期,并从2006年起,人类再也没能登顶国际象棋的世界第一。
围棋是否会是下一个被人工智能一统天下的领域呢?
人工智能是否又会是赛博空间中的日月神教,DCNN+MCTS(深度卷积神经网络与蒙特卡罗树搜索)是否就是葵花宝典加吸星大法呢?
至少这一问题暂时还不用担心,因为中国职业棋手普遍认为,至少去年十月那场棋局中,AlphaGo所展现出的棋力应该是顶尖业余棋手的水平(当然中国业余四天王这样的顶尖业余水平的棋力早就够段位了),和人类的顶尖职业棋手的水平相比,胜率大约只有10%。
作为比较,在Google于Nature上发表论文宣布自己的胜利之前的一天,Facebook“恰好”在arXiv.org上更新了一篇论文,其下属的人工智能研究室FAIR(Facebook AI Research)所研制的围棋机器DarkForest[2]已经在有不少职业棋手与围棋机器人参与的在线围棋对弈平台KGS上获得了成人组第五名的优异成绩——这显然也是一个非常了不起的突破,因此在后一天Facebook就宣称:他们在Google之前就已经实现了破解围棋的突破了。
PS:Google的DeepMind小组宣称,AlphaGo击败了网上99.8%的最优秀的围棋机器,不知道其中是否包括DarkForest。
在担心人工智能是否会在人类最后的智力与精神的优越地带碾压人类之前,或许我们还是来看一下这次的AlphaGo及其竞争对手DarkForest究竟是如何工作的吧。
Google的AlphaGo是一台具有1200核的搭载了两套独立又有联系的深度增强学习神经网络系统的围棋机器,而其直接竞争对手DarkForest则采用了基于深度卷积算法(DCNN)与蒙特卡罗树搜索算法(MCTS)的围棋算法。
无论是AlphaGo还是DarkForest,都具有自主学习能力,不需要人的主动教导。
或许你会认为这并不值得惊讶,因为它的先辈IBM的深蓝不也是一台很牛逼的计算机么?不过就是配置低了点罢了。
这里的关键问题,两者并不在于硬件上有所差异,而是在于算法上的高下。
IBM的深蓝,其硬件方面在当时自然是非常牛(当年国际超级计算机排名是259位),而它的算法则最大程度地发挥了其硬件优势——澎湃的计算速度。
深蓝弈棋算法的核心,分解来说就是开局库、基于规则的蛮力搜索、策略选择和局面判断,以及残局库。在与Kasparov的对局中,有人类工程师在比赛过程中“维护”过深蓝的代码,据说就是针对性地调整了策略选择与局面判断的参数,以更适应Kasparov的“棋风”。
这一套流程基本可以说是中国象棋与国际象棋为代表的棋类游戏的标准配置了,通过开局库确定优势,然后在脱离开局布置后,利用强大的计算力和计算速度来推算未来的步骤,利用有针对性的参数配置来获取每一步预想棋步的价值判断,并利用算法来进行对手最可能走的棋步及其应对的选择,直到最终来到固定的残局库,比如当余下6子的时候的各种局面进行一个预先计算,从而知道其中哪些可以让自己赢,哪些则会输,因此到了这一段也就不需要计算了,因为早就计算好了直接从库中读取就能知道结果。
开局基本固定,残局完全确定,人类与计算机能拼的就是中间的过程,而这段的本质是预判未来棋局的发展——据说Kasparov可以预判10步棋,而深蓝可以预判12步,高下立判。
要在国际象棋这个领域赢计算机,走出完全不在开局库中的新局,从而早早地开始拼计算力或许是一个方法,虽然拼计算力是人的弱项,但如果一切都在几乎确定的开局库中走,那更是毫无胜算。而在拼计算力的时候,有针对性地下棋或许会比单纯地比拼计算力更有胜算——比如分析出计算机会每次都分析出你最可能的落子从而进行棋局预演,那你就每次都选择次可能的,虽然次可能往往也就表示不是最好,所以风险很大。
只有出其不意才有希望——但这仅仅存在于理论中。
这套算法的根本,在于“策略树选择”以及各种剪枝算法,以及,那可以算作是真正灵魂的参数设置——而这在深蓝的弈棋程序中,就体现为国际象棋大师为程序进行的“特训”了。[3]
这套方案究竟能否用在围棋上呢?
理论上当然可以——围棋当然也有固定的开局法与残局库,也需要局面判断、策略选择与以预判为目的的一定程度内的暴力搜索,这方面我们当然可以将国际象棋的深蓝大脑给套用过来——但这仅仅是说理论上。
现实中的最大拦路虎,就在于围棋棋盘太大,可能的变化太多,每一字的作用牵扯到的变化相对于象棋来说,也就多了非常非常多——我们可以这么来估算,象棋总共纵横121个落子位,从而一个棋子位置的改变会带来3120的连带影响(这里3代表了“黑棋”、“白起”和“无棋”),但在围棋中这个数字是3360,显然大了太多太多太多了。
因此,靠深蓝那样的树搜索来预判,显然是不可能的。
在我们深入了解AlphaGo的“思路”之前,让我们来看下人类面对围棋的时候,或者说当人类面对这一类棋类问题的时候,是如何思考的?
当然这里不得不说明:对于围棋,我的水品只停留在“看过《棋魂》”这个档次……
问题的核心在于需要的计算量太大,以至于根本无法做到有效的预判。
那么,让我们换一个思路:是否所有可能的下一步落子都有必要深思下去?
答案显然是否定的,连我这种门外汉都知道不可能每一步落子都有相同的价值,很多落子根本没有深思的必要。
因此,下面的问题其实就变成了:如何在不把每一个落子能带来的作用都穷尽的情况下,判断出哪些落子值得进一步思考,而哪些落子可以忽略。
当然,仅仅从常识来判断,我们也可以知道,这里的是否“值得进一步思考”的评判标准,除了根据棋类游戏本身可以做出的价值判断之外,另一方面也是要考虑对手的行棋风格。当计算力上有富足的时候,风格带来的落子价值偏差可以不计,但当我们的棋力计算力有未逮的时候,这也是一种剪枝的有效手段。
于是,如何判断每一手棋是否值得深考的价值呢?
对于我们人类来说,这一问题的回答大约会追溯到“棋感”中——这就好比打篮球,某个人今天手感极差,那就别防了。这是一种目前人类无法将其详细说明清楚的“感觉”,但我们却可以通过这种棋感来判断哪些情况不用考虑,而哪些情况需要进一步考虑。
另一方面,或许更多的判断来自于我们对围棋的学习,比如通过学习定势与手筋,通过长期对局培养的大局观,我们可以掌握哪些落子可以被无视,而哪些不能。
因此,对于这个问题我们就有了两个答案:棋感,以及,学习。
机器是否可以学会这两者呢?
对于那近乎形而上者谓之玄[4]的棋感,大概我们是无能为力的吧,但对于学习机器还是“很有办法”的,那便是时下火热的基于神经网络的深度学习。
我们先从DarkForest入手。
DarkForest的核心算法,就是DCNN+MCTS,也就是深度卷积神经网络加上蒙特卡罗树搜索。
而前者,在工业上就是用于图形识别的一种深度学习算法,后者则是用于决策的深蓝的树搜索的直系后裔(当然结合了蒙特卡罗算法)。
而,AlphaGo与DarkForest的不同在于,AlphaGo采用了两套神经网络:决策网络与价值网络。决策网络分为学习KGS上对弈棋谱的“学习”部分,和一个自己与自己不断对弈并由此来进行增强学习的包含有蒙特卡洛树搜索的“决策部分”。价值网络则以自己与自己对弈的增强学习网络为主,来从全局整体分析一个棋局。
因此,AlphaGO与DarkForest,相比以深蓝为代表的前时代弈棋算法的最大区别就体现出来了——AlphaGo与DarkForest不需要一个围棋大师来“特训”其参数,不需要专家知识(理论上),不需要开局库与残局库,它只需要“自行”阅读成千上万的围棋棋谱来自主学习,掌握围棋的“真谛”。
从这点来说,MCTS如果还是传统算法的延续的话,那么DCNN就是为其插上翅膀的葵花宝典(这个画面似乎很诡异呀……)。
那么,究竟什么是深度卷积神经网络与蒙特卡罗树搜索呢?
首先要声明:本人对这两个领域(DCNN与MCTS)完全不熟,勉强说有个认识的话,就是以前凭着个人兴趣看过CNN,并在研究生阶段学过蒙特卡洛方法,所以只能从这两个近亲为切入点来谈谈。
所谓卷积神经网络(CNN),简单来说,个人认为是基于两大基本假设的主要用于图形识别的多层神经网络算法,而这两个假设则是:
- 与每个点信息相关的只有一定范围的邻点,而不是整个数据集中的所有点;
- 每个点上的参数是共享的。
这样的假设,翻译成人话就是:
- 单个点的行为是被局部影响的;
- 整个空间遵循同一套规则。
这样的假定对于特定类型问题当然是合理的,比如CNN本来所用于的图形识别,对于单张图来说,色彩或者线条总是局部起作用的,然后局部组成整体的构图与意向,这样的假定不会偏离实际太多——当然如果我们在已知这点后故意去误导,那当然可以骗过CNN了,比如此前有人专门设计一套遗传算法用来欺骗特定的机器学习神经网络,算是以毒攻毒。
对于围棋,或者象棋等一大类棋类游戏来说,每个棋的作用与影响,当然是局部发挥的,然后可以通过多层棋子的影响逐渐外推,直至全盘。
而棋盘上的规则,不单下棋规则,棋子发挥影响的规则,也是全局统一的,所以用CNN来处理这种规则下的游戏,当然是没问题的。
这点反过来说,如果棋子的作用与影响,棋子的重要性,是随时而变的,也是不同位置不同的,且这种不同不存在某种确定的元规则或者元规则的元规则,那CNN应该就基本无效了——但这两个假设至少对人类所能接受的游戏来说,已经是足够强了。
让我们再换一个角度。
CNN的本质,就是通过分析局部信息之间的关联,一层层抽象出假定中的全局规律或者说全局信息,是一个不断抽象的过程。
这点就本质来说,与人的行为方式是很像的——人也是一步步抽象一个具体问题,直到最后获得一个关于这一类问题的一般规律为止。
这点在人类迄今为止的最高成就自然科学与技术方面,可谓体现得淋漓尽致。
因此,虽然CNN最后分析出来的网络参数对于人来说不可读(也就是无法理解),但其行为模式在概念上是相近的,甚至可以说是相同的——何况了,你就是知道了我每个脑细胞是如何与别的脑细胞相连的,也不见得就知道了我的所有想法与思考过程,这方面不能因为手段的具体物理形式的不同而非议。
故而,如果将CNN与人的行为做类比,那CNN就是通过查阅浏览千万张棋谱后,自己学习总结规律,来获得关于围棋如何获胜的知识。
更何况,在深度学习领域存在“结构化训练(Structural Training)”的方法,据闻是可以通过局部性地训练某些特定部分的知识然后在整体上汇总为全局认识的,这样理论上可以先让AlphaGo或DarkForest专门学习各种开局,然后再专门学习如何中盘与收宫,最后汇整为一套完整的认识,再进行全盘的训练,这样即便是残局或者部分对局内容,也一样可以发挥训练的作用。
而,既然有了学习而来的关于围棋的知识,那自然可以运用到决策中去,这便是蒙特卡罗树搜索发挥作用的地方了——
蒙特卡罗方法的本质,就是面对一个无法分解无从下手的问题时,设计一套随机运动,该随机运动中某些情况出现的先验概率,与原本那个问题被解决时的结果之间,可以存在对应关系。
从而,那个随机运动可以通过计算机随机模拟来暴力解决,于是原本无从下手的问题便能获得解决。
这套方法很容易让人想到莎士比亚的猴子[5]。
比如说,最经典的案例,就是计算圆周率,过程就是取一个2×2的正方形,然后随机掉点,点距离正方形中心距离在1之内的就记录下来,最后总落点数与记录下来的点数的比,就会收敛于四分之一派。
蒙特卡洛方法的核心,在于给出一个随机过程与原本问题相关,从而解决一个简单的就能解决原本困难的。
这个思路弦论学家大概会很熟,著名的全息原理、AdS/CFT在本质上就是这个意思:难解的引力问题不好解?得,对偶到高维场论,那里的问题好解,解完再对应回来~
而蒙特卡罗树搜索,本质上也是这个思路——在之前介绍的决策树搜索的基础上,不再完整地求出每一个分支子选择的情况,而是对其进行随机选择,通过随机选择的情况来判断一个大致的胜负比例——从而将确定的胜负用随机过程带来的模糊的胜负替代,以此来完成对整个分支情况的权重赋值,并作出决策。
更加准确地说,蒙特卡罗树决策分为这么几步:
- 以当前局面为根节点,进行确定性分岔;
- 对每个分岔的叶节点,判断是否终局,如果终局则用1或0代表胜负权重;
- 对于没有终局的叶节点,随机选择其后的落子直到终局位置,记录N次随机对局中获胜的次数n,从而这个节点的胜负权重为n/N;
- 将叶节点的胜负权重逐层上推,直到根节点,给出每个节点的权重;
- 从根节点的子节点中选择胜负权重值最高的那个落子。
显然,这种方法就是为了在一堆巨多的可能结局中有效地选择应该抛弃哪些而不深入思考哪些这样的问题而衍生来的。
这一模式在本质上,也是人们经常采用的——当人面临的选择太多时,我们不可能把所有可能都想清楚,而是尝试几个有特点的或者随机的可能,然后利用这些少得多的可能的推演结果来进一步缩小选择范围。
而,当MCTS遇到DCNN,这里的第三、四步就发生了改变——利用DCNN学习的结果,对这里有限步随机落子的结果作出判断,给予赋值,而不再通过随机落子到终局的方式,而推到上一层节点的时候也会考虑那些节点本身的“价值”。
因此,DCNN的介入使得MCTS的每一步预判都有了坚实的知识基础,而且这一基础的来源是机器的“自主”学习,而不是“被动”地从围棋大师那“聆听教诲”。
而且,也使得MCTS的判断并不完全是随机的,有了更准确的依据,这点可以说是将决策“精准度”提升了不少。
当我们结合DCNN和MCTS后,事实上机器所作的事情可以看作如下过程:
- 通过观摩成千上万的对局图谱来学习围棋的内在获胜规律;
- 当与对手下棋的时候,分析未来几步内每一个可能的双方落子,并利用此前学习到的知识来判断其中哪些落子是无价值的可以无视,哪些落子是有价值的,对方可能会采用,从而综合预判的这几步来分析当下的落子选择;
- 在对局过程中重复1与2,直到终盘。
这里,我们可以看到,如果我们让机器对于某个时间段里的棋谱的学习结果得到特定的强化,而在这个时间段里只给它看李世石的棋谱,那么机器原则上是可以分析出李世石的行棋风格,从而给出有针对性的预判的。
AlphaGo与上面介绍的DarkForest在算法上又有了不小的差异,但两者也有不少相似的地方。
AlphaGo的决策脑可以认为以分析局部落子的“价值”为主,而其价值脑则以分析整体棋局的态势为主。
在决策脑中,有一些地方使用的是MCTS,而在其中就有源自价值脑的信息来辅助选择,就这点来说,AlphaGo至少在这个环节上与DarkForest是非常接近的——都通过MCTS来作决策,同时又利用神经网络的学习结果来辅助筛选决策树的分支。
而AlphaGo与DarkForest的最大不同,一方面体现在其价值脑专注于分析全局态势,这点恐怕是DarkForest在设计上就不曾有的;另一方面则在于最终结果的选择上:DarkForest中DCNN协助MCTS后,作出最终决策的是MCTS;而在AlphaGo中,决策脑与价值脑都会给出选择,然后由AlphaGo对两者的结果作平均,来作为最终的判断标准。
这里的平均是一个强制写入的方式,本身存在很多值得商讨的地方。
而从算法的角度来说,AlphaGo的两个神经网络都采用了自己与自己对弈的增强学习网络,这点是DarkForest目前所不具备的——虽然其作者已经宣称DarkForest的下阶段就是引入增强学习,但很想然AlphaGo已经走在了前面。
DarkForest不断学习人类或者围棋机器的棋具,而AlphaGo则不断地自己与自己对弈。
这就是AlphaGo与DarkForest相对深蓝的可怕之处——整个过程中根本不需要预设的专家知识——当然了,由于结构化训练方式的存在,有专家知识当然可以更加提速了。
有趣的是,单纯使用DCNN的围棋机器Atari,或者单纯使用MCTS 的围棋机器CrazyStone,其表现都不如AlphaGo与DarkForest。同样的,只使用决策脑或者只使用策略脑,最终的结果也不如AlphaGo与DarkForest。
无论是AlphaGo还是DarkForest,显然在这几种算法里找到了一个平衡,通过不同算法之间的配合,弥补了彼此的不足。
这或许会成为16年乃至今后整个机器学习领域的潮流:经典决策树与现代神经网络融合的混合式架构。
这样的结构究竟能走多远,我们现在还不知道,但可以肯定的是这套方案必将大有可为。
那么,接下来就有三个有趣的问题了——
这样的机器,真的具有“创造性”么?
这样的机器及其算法,真的能超越人类么?不是在某个特定的领域,而是全面地超越人类?
以及,无论三月AlphaGo是否能战胜李世石,从长远来看不用十年机器就能在围棋领域超越人类,那么人类未来会如何?围棋未来会如何?棋手的未来又会如何?
据闻,当年在Kasparov输给深蓝后,他曾发出过“感觉电脑的决定有智慧及创意”的惊叹。
于是,我们自然想要知道:深蓝,以及AlphaGo与DarkForest,是否真的具有创造力?
这是一个很难判断与衡量的问题,因为究竟什么是创造力呢?
毕竟,无论是深蓝、DarkForest还是AlphaGo,它每一步的落子都继续对未来局面的评估,从评估中选择获胜概率最大的那步棋,这点从理论上来说,不存在任何创造性——理论上,我们可以通过计算机穷尽未来的每一步棋,从而判断出哪些是必胜的,从而完成落子——事实上根据博弈论中的策梅洛定理[6],这样的必胜策略至少对于围棋来说是必然存在的。
因此,对于这种纯粹靠计算得到的落子,真的体现了“创造性”么?
如果说,是走出了某些人类一般想不到的棋步,这算作是创造力的话,那这恐怕只是体现出了人的“创造不能”,而不能体现出机器的创造性吧。
可究竟什么算是“创造力”呢?将原本想不到的东西想到,这本就是“创造”的体现吧。
而如果必须将创造与意识特别是“自由意志”联系起来的话,认为必须是自由意志主导的从无到有的发现才能算是创造的话,那恐怕我们又要陷入对什么是自由意志与自我意识的无休止的争论中了。
无论如何,这一问题恐怕还是会让哲学家们棘手一阵子吧。
那么,这样的算法真的可以超越人类么?
假定这样的算法真的体现了某种程度的创造力,那么是否说以AlphaGo和DarkForest为开端的新一代算法与机器是具有人类自诩为独享[7]的创造力的?那么机器人是不是马上就要超越人类了——就在前不久,霍金与马斯克在内的很多名人就呼吁禁止研究人工智能,一如当年禁止研究人体克隆。
关于这点,就个人来看,恐怕还是杞人忧天了。
从前面对DarkForest和AlphaGo的算法分析我们就可以看出,它和人类的真实大脑活动相比,存在一个最显著的缺陷,那就是这两者的目标是预设的,而人类的智力活动目标,并不总是事先由具体任务设定好的。
这里当然无意于去争论人活动目的在无限回溯后的第一推动这类形而上乃至神学范畴的问题,而是指出这么一点:机器至少目前还不能决定自己应该做什么。
更细致一点的话,我们如果仔细分析人下棋的每一个阶段的阶段性目标的话,就会发现一些差异来:人们会在开局的时候追求布局,中段追求棋形,而尾段才来计算具体一子一地的得失,也即不同阶段人的目的是可以分解的,虽然最终都是为了总体目标,获胜,但在不同阶段却是可以有所不同且又相互联系的。
这点,虽然说DCNN理论上可以提供每个不同棋局阶段的分段目标(这点理论上当然是蕴含在每张棋谱中的,所以理论上DCNN可以根据当前局势来“读取”出这一目标,并最终反映在MCTS决策中),但这一学习的结果却不具有主动性——我们并不能说是MCTS决定了目标的阶段性分解,而只能说是DCNN告诉MCTS大家都是这么干的所以我们也这么干吧。
虽然其结果是AlphaGo在这点上完成得似乎不错,但这种主动性与被动性差异却还是很明显——有职业棋手就分析说AlphaGo在尾段的表现非常好,但在前段特别是开局的时候则相对平庸了许多。
另一方面,已故的人工智能之父Marvin Minsky曾指出过,含有隐藏层的多层神经网络并不能确定会收敛到某个正确的方案上。虽然现代神经网络与深度学习的工作很良好,但对于那些和训练集差别非常巨大的情况就无能为力了。
这一局限是否说明了现代深度学习系统依然存在其固有的局限性呢?
进一步,即便我们在某些特定的领域可以制作出超越人类的机器,但所有这些机器的强大能却也仅局限在这些局部特定领域,我们依然无法制造出可以拥有泛化适应与学习能力的通用自主学习网络。
也就是说,能下国际象棋的,只能下国际象棋;能下围棋的,只能下围棋。你让AlphaGo学习学习帮我下碗方便面,估计我就饿死了。
但人类却完全不是这样——人类虽然未必个个都能下好国际象棋或者围棋,也不是每个人泡的方便面都好吃,但几乎每个人都具有在所有这些领域学习的能力,这是机器目前还不具备的。
第四点,那就是现在我们所有的机器学习方案,都需要海量的训练样本,但,其实,人在学习的时候根本不用这么许多样本。
AlphaGo目前看过的学习过的棋谱,大概已经比绝大多数下围棋的人多了,虽然这些人中大部分都不是AlphaGo的对手,但由此可以看出:人学围棋的学习成本是远低于AlphaGo的。
可见,从少量学习样例中抽象出普适规律的能力,目前的AlphaGo还不具备。
综上所述,存在四点是目前的AlphaGo目前依然无法达到更别说超越人类的了:
- 现在的AI不能自主生成行为的目标;
- 现在的AI不知道如何将一个大目标分解为若干个阶段性目标,虽然或许会依葫芦画瓢;
- 现在的AI特异性太强,学习能力不够泛化通用;
- 现在的AI学习成本太高,不具备从少量样本中抽象出规律的能力。
这其中,第四点恐怕是最关键,而第一点大约是到底能否达到并超越人类的决定性因素。
如果说第四点决定了学习能力的话,那么第一点则决定了那个古老而深邃的问题——人造之物是否能如人一般具有自由意志。
就个人来说,第三第四点大概还是有希望在若干年内得到突破的,但第一点,恐怕就真的需要一位“人工智能之父”,或者说“人工灵魂之父”了吧。
而,最后,关于AlphaGo为开端的新一代围棋程序对于人类、围棋以及棋手的冲击,我不是圈内人士,没法回答。
但有一点是肯定的,当这一人类最后的智力碉堡被机器攻占后,大概对于围棋的艺术性与文化性来说,不会是什么好消息吧。
就如阿波罗登月毁灭了中国人的广寒宫之梦,当艺术被计算降伏,文化被机器碾压,恐怕随之而来的会是一波围棋的低谷吧。
就个人理解,围棋这项运动除了作为一种智力的竞技,另一层面也是一种心智的交流方式,蕴含了文化、艺术与哲学,而这些领域,至少就目前来看,通过粗暴的算法而“掌握”(或许是真的掌握)围棋的计算机一时显然是无法掌握的——当然,或许它的神经网络中的确蕴含了某些对围棋的非竞技非计算部分的思考,但AlphaGo并不具备这种思考的输出设备,而且输出了也未必是人类能理解的形式,所以我们并不能理解机器那或许存在的对围棋的思考。
反过来说,AlphaGo领衔的机器对人类最后的智力竞技圣地的围剿,是否真的只是一种人类创造的纯理性之物对蕴含了人类理性与非理性的古老传统技艺的一种暴力碾压呢?
如果这种理解是真的,机器战胜人类仅仅代表了一种纯粹的计算对一种文化艺术哲学的碾压,那么我们为何有这么多人赞扬被誉为“石佛”的李昌镐,而看轻一直在追求围棋的美(至少他们这么自我号称)从而近年来战力下降的日本棋坛呢?
从这点来看,人类本就在追求计算追求胜利,追求到了一种无视围棋的内在的地步了,那么在人类这追求胜利的一脉传承下崛起的机器围棋的时代,又有何不可呢?只不过在这样一条由人自己开创的道路上跑到最后冲过终点线的不是人类自己罢了。
自己赢的时候就追求冷静无差错的计算,而一旦自己输了就说围棋还有计算之外的文化、艺术、哲学或者美,这样的双重标准人类当然不是第一次祭出了,但每次如此这般厚颜无耻地拿出这张二皮脸的时候,当真不觉得有什么不妥么?
这就是吐啊吐啊就习惯了的意思么?
人类唯一的尊严,大概就是人类自以为自己有尊严吧。
或许,无论AlphaGo最终能否战胜李世石,代表着纯计算的机器围棋时代对于人类来说,不单单是一种智力上的碾压,也提供了一个重新反思自我的机会——无论是从智上,还是从德与美上,都需要反思一下自我。
当人类自诩为能成为万物之灵的那个虚无缥缈的幻象被现实一把捏碎后,人类究竟还剩下什么?
花式后记
或许是一种讽刺,就在谷歌对外宣布了AlphaGo战胜了人类职业棋手前一天,被誉为“人工智能之父”[8]的Marvin Minsky去世了,死于脑溢血。
我不知道Minsky如果晚一天或者两天还健在的话,看到AlphaGo的消息会不会依然被上帝带走——这样的话颇对死者不敬,何况还是一位AI领域的大拿——但Minsky与AI的故事却还是存在着一定的戏剧性的——所以,老先生说不定会在看到这则消息之后过于兴奋与激动……请原谅我的不敬。
早在1943年,心理学家Warren McCulloch和数理逻辑学家Walter Pitts就合作提出了“人工神经网络(ANN)”的概念,与人工神经元的数学模型,而1949年心理学家Donald Hebb提出了ANN的学习法则——Hebb法则。
1951年,这节的主角Minsky登场,提出了基于Hebb法则的具有自我学习能力的随机连接神经网络学习机,SNARC。
而到了1957年,美国神经学家Frank Rosenblatt提出了可以模拟人类感知能力的机器——感知机(Perceptron),并在IBM 407机上完成了仿真。1959年,Frank成功地让他的感知机识别了一些字母——这大约可以算是现代“模式识别”与“图形识别”的最早鼻祖了吧——事实上,从现代视角来看,感知机可以算是单层神经网络系统。
由Frank发展而来的ANN的现代后裔,便包含了这次使用了DCNN算法的AlphaGo(虽然不是纯血统),因此,我们大约也可以认为Frank是AlphaGo的曾曾曾祖父什么的吧……
但就在此时,Minsky与Papert一同出了一本名为《感知机》的书,详细讨论了以感知机为代表的人工神经网络所面临的问题——这类无隐藏层的神经网络无法对任何事物都做到线性分解,因为总有一些东西是非线性可分的,比如异或门。而虽然多层神经网络可以解决这个问题,但Minsky却进一步认为,即便如此,也难以证明具有隐藏层的多层神经网络必然收敛于某个“正确”的方案上。
由于人工智能与神经网络之父都说自己的孩子长不好,所以神经网络这一领域过早地踏入了它本不该踏入的寒冬之境——而后整个人工智能领域也进入了一个低潮期,就如巴贝奇的差分机与分析机,理念的绚烂难以带给现实许诺中的曙光。
从这个意义来说,Minsky可以看作是一个站在神经网络前驰大道上的拦路虎,他所提出的收敛的不可证明性至今依然存在,且没有被彻底解决的迹象——当然了,在几乎所有训练集给定的领域这个问题都不会发生,但一旦换到一个与训练集完全不同的环境中,问题依然会出现[9]。
世界上的事往往就是这样,先知指出了问题,但人类却无法解决。继续在困顿与疑惑这种前行,直到一个又一个的信号出现,最后,或许会出现一个英雄带领我们划破雾霾。
就好比上个世纪物理大厦上的两朵乌云,最后有爱因斯坦与玻尔一同破出迷障,带领我们大家踏入了两个全新的世界。
而这次,在人工智能领域,Minsky就是那位先知,而AlphaGo是又一个信号。
可谁是最终翘板的英雄呢?
部分参考资料:
- 《人工智能专家辨析DeepMind围棋突破背后的事实与谎言》
- 《人工智能战胜欧洲围棋冠军,看看这些AI顶级专家们怎么说》
- 《8位世界冠军领衔棋界点评计算机围棋智能》
- 《围棋,Marvin Minsky与人工智能尚未跨越的鸿沟》
- 《谷歌围棋程序AlphaGo实力几何?》
- 《围棋的新时代》
- 《象棋和国际象棋的电脑程序是如何设计的?》
- 《IBM 超级计算机「深蓝」为什么能赢棋王卡斯帕罗夫?》
-
有人预估这种可能性高达3361种。作为比较,国际象棋的局面可能性预估为3121种,而人类目前所观测到的总可视宇宙中的总粒子数预估为1075种。当然了,更准确的预估大约是0.012×3361,而最近有人求出这个数值的准确值为208168199381979984699478633344862770286522453884530548425639456820927419612738015378525648451698519643907259916015628128546089888314427129715319317557736620397247064840935——这段转自“专吃刘小羊”的知乎专栏《不一样的围棋》中的一篇博文。 ↩
-
关于为何要选“黑暗森林”这个名字,这是因为DarkForest项目的负责人兼首席开发者是一位《三体》迷华人。 ↩
-
这部分内容可以看深蓝弈棋程序的缔造者、台湾计算机专家许峰雄所写的《深蓝揭秘》一书。 ↩
-
这句当然是戏虐的,原句应该是“形而上者谓之道,形而下者谓之器”。 ↩
-
理论上来说,把猴子们放在一家打字机上,让它们凭自己的喜好“随机”敲打打字机,那么只要时间足够长,打字机上也是可能打出一整套莎士比亚的名著来的。 ↩
-
策梅洛于1913年提出的策梅洛定理表示,在二人的有限游戏中,如果双方皆拥有完全的资讯,并且运气因素并不牵涉在游戏中,那先行或后行者当一必有一方有必胜/必不败的策略。 ↩
-
当然这个说法是不严谨的,因为包括猴子猩猩与某些乌鸦在内的不少动物也是具有“创造性”行为的。 ↩
-
有趣的是,持有“人工智能之父”这一头衔的人有复数个,比如现代计算机之父阿兰·图灵(其代表作是《机器会像人一样思考吗?》以及以其名字命名的图灵测试),以及LISP语言之父约翰·麦肯锡——他和这边要介绍的马文·明斯基一同创办了“人工智能实验室”。所以,人工智能有三位父亲,但还缺一个妈——或者已经有一大群妈了,因为失败是成功之母。 ↩
-
作为非专业人士,这一段当然不可能是我的个人观点,而是摘自机器学习公司Geometric Intelligence, Inc.的CEO兼创始人同时也是纽约大学心理学与神经科学教授的Gary Marcus为Minsky所写的一篇Medium博文中。 ↩