最近一直赖着没交作业,连续补了几部连续剧,包括去年NETFLIX热到爆的《后翼弃兵》。这部剧是根据80年代初的同名小说改编。讲的是上世纪中50,60年代一个孤儿院长大的肯塔基女孩,贝丝-哈蒙,从8,9岁开始偶然接触国际象棋,然后一路开挂,最后战胜俄罗斯特级大师的故事。
故事的主人公原型是鲍比-菲舍尔。虽然菲舍尔是位男性,并非孤儿,但确实与贝丝相仿也是生于单亲母亲家庭。电影中贝丝自己亲生的和后来的继母都有菲舍尔母亲的影子。菲舍尔同样是8,9岁开始自学象棋(姐姐送的一本象棋书启蒙),之后就是江湖传奇。他从14岁开始,十几年孤独求败,先后8次轻松地蝉联美国冠军(中间有任性不参赛的),并最终于尼克松年代在国际象棋世界冠军赛上毫无悬念地击败卫冕的俄罗斯特级大师,夺得世界冠军。
从菲舍尔或者其虚构的主人公贝丝身上,我们都看到了人类天才那种神话一般的超人天赋。贝丝在孤儿院地下室目睹了老校工自己在棋盘上摆弄象棋。她默默地观摩了几次之后就无师自通明白了棋理,并恳求和大叔切磋。刚开始几盘老校工还是哄孩子玩一样三五步秒杀贝丝,但少许数日,不过十几局对弈之后,贝丝就开始占据上风,妥妥地令大叔对眼前的小萝莉刮目相看,并成为至交。
电视剧中自然绝对少不了那些即引人入胜又痛快淋漓的天才少女降维吊打对手的桥段(虽然我和大多数观众连被吊打的资格都没有)。比如,不到10岁的小贝丝实力碾压某高中象棋队,之后还感叹:"没想到这帮人那么差劲"。还有贝丝15岁时去参加肯塔基州锦标赛,从被对手轻蔑,到完虐一众对手,最终夺得冠军让众人齐刷刷人大跌眼镜。
由此联想起20多年前IBM的国际象棋人工智能系统“深蓝”与卡斯帕罗的对局。卡斯帕罗是俄罗斯国际象棋特级大师,在1985至2005年间曾23次获得过世界排名第一。这场对局最终是深蓝以2胜3和1负赢得比赛。近四分之一个世纪之后,现在人工智能在手机上的开源APP(STOCKFISH)已经可以不费吹灰之力完虐所有国际象棋特级大师。而数年前DEEPMIND的阿尔法狗更是肆无忌惮地团灭了围棋江湖的各路盟主。
然而,人工智能的这些辉煌战绩并不像很多人以为的那样,代表人工智能已经碾压人类智能。正如布鲁克斯泼的那盆冷水所说:【大象不下棋】,现代AI不但远远没有超越人类智能,甚至对哺乳动物大象的智能还都仍然望尘莫及。
我们可以拿人类学习与机器学习做个比较。前几天雨地帖过一个海森堡思索的哲学命题:“当我们不观测某物体时,它是否存在”。这个命题牵扯到一个叫【物体恒存】(OBJECT PERMANENCE)的心理学概念。它指的是观察者对暂时从视觉(也包括听和触觉)中消失的物体仍保持其存在的心理意识。它对自动驾驶和机器人的AI运动物体识别的视觉识别系统中有着关键的作用。 大多数婴幼儿(以及某些哺乳动物,比如大象,猫狗),无论种族和文化背景,在2岁前都能建立【物体恒存】的意识。比如,孩子会伸手挪开遮挡玩具的屏障。有些孩子掌握的比较晚,表现为父母暂时离开眼前时(比如进了幼儿园之后)就哭闹,也许是误以为父母从此不在了。而有的婴儿在出生后仅仅4,5个月就令人惊讶地开始显现这种观念。4,5个月大的婴儿的大部分时间都是在睡眠,几乎没有我们通常所说的“刺激反应”的学习来诱导他们在意识中建立如此抽象的观念。相比较,如果训练一个AI神经网络去获得这种观念,通常也需要数万,甚至数十万次的大数据学习。而4,5个月的孩子总共的经验机会不会有数十次,可见婴儿的学习效率完全不输贝丝无师自通的【天赋智慧】,更是机器学习所望尘莫及。 套用句老话,我们人类在诸多能力的“学习”上吃的是草,挤出来的却是牛奶。这种输入(经验)与输出(意识,能力)完全不匹配的异常被乔姆斯基称之为【刺激贫乏】。乔姆斯基最初是针对儿童语言学习甚至语言创造的惊人能力提炼出这个概念。如果要让一个白板的机器网络(深度神经网或着是贝叶斯网)去学习某种语言和语法,估计要吃掉一本莎士比亚全集。而语言关键期的儿童则仅仅经过微不足道的小数据日常交流就能达到甚至超过机器海量大数据学习所能达到的语言能力。 从学习和刺激训练量上考察,阿尔法狗也非常难堪。与其对弈的中国棋手柯洁当时年仅19岁,棋龄仅仅14年,总经验棋局数不过1,2万盘。而阿尔法狗则经过~3000万盘刷题训练再加~3000万盘试玩对弈加强训练,换算成棋龄等于上万年(哪怕是阿尔法无ZERO的500万盘自对弈也相当于千年棋龄)。显然,柯洁与阿尔法狗的对弈是个棋龄和训练刺激量完全不对等的较量。类似于让刚刚启蒙,经验仍然贫乏的贝丝直接去对阵已经刷过上万局棋谱的老司机,双方智力高低绝不等同于棋局上的输赢。 如果具体看一下阿尔法狗的“智能”就更不敢再说AI已经超越人类智能。下面均为形而下讨论,形而上吃瓜群众可以掠过,直接跳到【卡斯帕罗大战全世界】。 阿尔法狗包括两个网络。第一个叫"策略网络",一个普通分类识别深度神经网络,其训练方式也相似地采用“盲人摸象”和发糖奖惩的方式(除了最后的阿尔法无ZERO之外)。训练的大数据集采用围棋网站GOKGS.COM上搜集的~3000万盘玩家棋局,用奖惩函数训练网络去模仿记忆人类棋手曾经的布局和走法。显然,这种训练并没有让机器去理解每一步走法的意义和价值。机器仅仅是在反复不断的刺激训练后形成了围棋各种局面下条件反应的“习惯”,类似钢琴初学者按照琴谱去演奏,对音乐只知其然却不知其所以然。因此,与其说机器学习获得了智能甚至创造力,不如说机器经过海量刺激反应的训练而获得了某种条件反射的肢体技能或下意识行为,类似苞丁解牛,陈公善射,无他,惟手熟尔。 并不令人意外的是,即使经过如此3000多万海量刷题的丰富刺激训练,阿尔法狗策略网络的棋力仍然差强人意,印象中是50%的数量级。其GOKGS上的积分水平属于一般棋手,完全无法与李世石柯洁这些超一流过招。阿尔法狗最终打败高智商专业棋手所依靠的神器是其第二个打小抄的网络,"估值网络"。这个网络的其实是预演各种可能的局面并评估该局面下落子的赢率。这个小抄网学习不再是在大数据集上刷题,甚至不依赖人类经验棋谱,而是让智商平庸的策略网络做大群体大数据,即用海量的“棋手”进行海量的模拟对弈(“试玩”),来建立。 阿尔法狗的估值网络所要解决的问题类似迷宫遍历,如何找到一条可以赢得比赛(相当于走出迷宫)的"路径"。当然,这个迷宫并不是棋盘那么大小,而是围棋的棋局空间。简单粗暴的遍历算法,对于2维迷宫来说下一步的走法平均数是2或3,对于国际象棋的棋局空间平均下一步可能选择是20,而对于围棋的棋局空间,这个平均因子则是~200。所以,一盘100步的围棋的总遍历数是200的100次方。即使抛弃明显无效路径,围棋棋局空间遍历的路径数也依然是个天文数字。就连传说中在象棋盘上按等比级数倍增放米粒的那个最终数目(2的64次方)也都小巫见大巫,当然更不是现代计算机力所能及。阿尔法狗并没有用什么火箭科技去解决这个问题,而是采用了仿照【蚁群】和人类日常熟视无睹的爬树算法,即所谓的【蒙特卡洛树搜索】。 人类的大脑大约有800亿个脑细胞,大象的甚至更多。而蚂蚁大脑则有仅仅200万脑细胞,其智能远比不上人类和大象。蚂蚁在寻食时即需要确定旷野或环境中食物存在的位置,也需要确定蚁巢与食物源之间的最佳路径。所以也同样面对类似围棋棋局天文数字可能的遍历问题。不具有太多智能的蚂蚁有个简单有效的【蚁群算法】。首先,它们并不是向四周几乎无数的所有方向派遣蚂蚁进行搜索,而是类似蒙特卡洛赌博一样,随机稀疏地挑选某些方向进行“瞎子摸象”。派出搜索的蚂蚁会沿途分泌信息素,一种名叫弗洛蒙的化学物质。一旦发现食物,蚂蚁会搬运其中的少许沿原路返回。到达蚁巢后蚂蚁会召唤几个伙伴再次同往搬运,并在沿路再次分泌弗洛蒙。即使有多只蚂蚁经过长短不同路径都到达并发现了同一食品源,也是选择了最短路径上的那些蚂蚁往返的次数为多,从而留下的弗洛蒙也相对强烈。其结果是,越是弗洛蒙强烈的方向和路径,越是最有可能存在食物且通往该处的最佳路径。其他的蚂蚁,即使没有被直接召唤到,也会根据弗洛蒙强弱自动选择这种路径。这里,方向的随机选取就是所谓的“蒙特卡洛树”,而派出蚂蚁进行搜索就是所谓的试搜(rollout或playout),而信息素的强弱则提供了一种无需蚂蚁间直接沟通的正反馈机制。 然而大象则不同。数月前全球吃瓜群众们围观了云南十几头大象从原栖息地外出“观光旅游”。其实那就是象群寻找新栖息地的一种觅食活动。它们并没有采用上面描述的蚁群的觅食策略,分头向四面八方盲人摸象后再回头报信,而是组团扎堆一起摸着石头过河。其原因显然并非蚁群具有比大象甚至人类更高的智能能想出这个策略,而是因为象群家族本身的小群体性,每头大象均具有自己的自我意识,而不仅仅是无意识地遵循某种群体规则。 现在回头再看阿尔法狗的【蒙特卡洛树搜索】就不足为奇了。按照这个算法,在围棋当前局面的下一个落子位置的选取上,我们不再“遍历”所有~200个可能的位置,而是在排除无意义位置之后,按照蚂蚁寻食的法则,蒙特卡洛随机地挑选少数下一落子位置,并基于每一被选择的位置进行“试玩”(就是前面所说的playout)。这里的所谓“试玩”,就是让前期训练过的策略网担当棋手,以所选择落子位置的局面为起点继续左右互博对弈一定的局数,相当于【蚁群算法】中让某只蚂蚁对这个选择方向进行觅食搜索。这些试玩的赢率就是选择这个方向(落子位置)的弗洛蒙正反馈评分。根据这个结果,一方面丢弃那些赢率过低的落子位置(比如只选择赢率前3),另一方面将该赢率反向传播到前一步骤节点,对其赢率作权重修正(因此,下一步出现赢率高的落子位置时会增加上一步,甚至上上一步,。。。节点的赢率)。从而,我们可以得到一张相对真正遍历而言大大稀疏了的,对围棋棋局空间的“准遍历”赢率估值图(树)。对于阿尔法狗,这个估值网络(树)的建立总共让之前的策略网络担当棋手进行了~3000万局的左右互搏(阿尔法无ZERO在这里作了进一步优化,仅需500万盘对弈)。假设这个准遍历估值图(树)的每一个路径(分枝)长度是100,那么相当于蚁群派出了30万只蚂蚁参与了觅食搜索。 可见,【蒙特卡洛树搜索】算法的关键并不在于试玩者群体本身的智商或赢率(正如我们前面所说,策略网的赢率只有50%的量级),而在于那~3000万提供反馈的试玩局数,或者~30万担当棋手的庞大试玩者“人”群。 在围棋这个维度上,阿尔法狗这种松散大数据大群体的【蚁群算法】确实被证明超越了紧密小数据小群体的人的能力。然而,正如【刺激贫乏】的讨论所揭示,在棋盘之外人类的【天赋智慧】对依靠海量刷题和昆虫【群体法则】的阿尔法狗来说仍然是望尘莫及。因此,【蚁群对大象】不但胜负未卜,而且还只是刚刚拉开帷幕。 人类智慧并不仅仅在于第一代人工智那样能够从一般到特殊,演绎推理,比如证明罗素《数学原理》中的50条定理。同样,人类智慧也远远并非现在AI这样能够从特殊到一般,从海量数据或庞大群体活动中归纳事物的模式或特征,类似从第谷的观测数据中总结出开普勒行星运动三定律。或者穷尽所有可能,然后提供知其然不知其所以然的答案,比如四色定理甚至黎曼猜想成立。此类没有自我意识的人工“智能”,即使能从一般到特殊,从特殊到一般,也不过是一种作为人类的提线木偶所能表现的强大的盲人摸象的计算和搜索能力。它并不具备人类智慧那种无需直接大数据刺激就能够激发的跳跃甚至颠覆创造性思维,比如从开普勒三定律想象出万有引力定律,从一般哲学原则,抽象出等效原理,并进而勾勒出广义相对论。 最后换个轻松的话题结束作业,想象一下如何人类也用蚁群算法下棋会是什么样的情景。与深蓝人机大战的那个卡斯帕罗后来又应邀做了一次【卡斯帕罗大战全世界】的象棋对局。卡斯帕罗持白先行,执黑的则是全球5万名棋手的共同决定。按照比赛规定,每一步棋各有一天的时间。所以,黑方有一天时间进行协商和投票决定他们的应棋。这大概是棋盘上最早的【蚁群对大象】。不过当时代表黑方的5万余参与者们的智商不但远远高于大象,更远远高于蚂蚁,所以并没有运用,也不屑于采用当时已经为人所知的【蚁群算法】这种小抄方式(对于国际象棋来说,拥有5万名试玩棋手的【蚁群】,每一步有一天的试验玩时间,足以实施这个算法)。双方对弈4个多月后,黑方在第62步宣布认输。否则,这场比赛不但黑方大概率会赢,而且会是棋盘上最早的【蒙特卡洛树搜索】。即使如此,卡斯帕罗赛后表示,这是一场他一生中花费时间思考最多的一场比赛。 |