编者按:这是麻省理工学院学生自组织课程《哥德尔、埃舍尔、巴赫》的第六讲,主讲人是两位助教贾斯汀与柯伦,参与讨论的是拉蒂夫、桑德拉等一群 MIT 学生。这一讲从哥德尔不完备定理的回顾出发,一路谈到计算机的描述层次、大脑的层级塔、蚁群与交通流的涌现现象,最后落在一个所有人都答不上来的问题上:那个正在观察「我」的东西,究竟是谁。本文依据现场录音编译整理,只删去口语枝节、寒暄与重复,论证、例子与争辩过程一律保留。
贾斯汀: 欢迎大家回来。首先要跟屏幕外的朋友道个歉,上一讲没能录上。所以我花了点力气先把板书写好,用两三分钟快速把上次的内容过一遍。
我们处理的是一个形式系统,这里我就把它记作 F。最近我们感兴趣的是「排版数论」(typographical number theory,简称 TNT)。我们做的事情是通过哥德尔编号(Gödel numbering)的过程,把 F 的符号编码成数:比如等号对应 555 这样的数字。于是 F 的每一个符号,都对应到全体自然数中一个很小的子集。
接着我们得到了一个对应关系,而且这是一个数学上精确的同构:F 的字符串,与「某个字符串的哥德尔数」所构成的那个数集之间的对应。
然后是公理和推理规则。请记住,这些原本是形式系统里对字符串做的、纯形式的递归操作。我们把它们算术化,也就是说,把「取某个字符串,做某种变换」翻译成「拿这个数乘以十,再加上某某某,再除以某某某」,中间要用到中国剩余定理之类的工具。这样一来,我们在 MIU 系统或者 TNT 系统里做的那套符号搬运,完全可以改用数来做。这也正是为什么哥德尔不完备定理要求形式系统强到足以涵盖数论:不够强,这套编码就做不下去。
于是,F 的那些作为陈述的字符串,就对应到「F 可产生的数」。接下来我们做了一次跳出系统的动作,得到了元 F(meta-F):我们开始谈论形式系统里字符串的性质。而这在数论一侧对应的是:谈论哪些数是 F 可产生的,也就是「F 数」。
打个比方,在数论里我们会说「641 是素数」,或者「6 是完全数」。我们把这类东西记为一个性质,让它带一个自由变元,然后就可以问:5 是完全数吗?不是。6 是完全数吗?是。同样地,我们造出一个新的性质,叫「本原性」(primness),它对应的正是「可证性」。这样一来,判定某个字符串是不是 F 的定理,就完全等价于判定某个数是不是本原数。
我快速把哥德尔证明的关键步骤再串一遍。我们把推理和演绎算术化成对数的操作。然后我们造出「可证性」这个性质,并通过哥德尔发现的那个精确同构,把它等同于数的「本原性」。
接着是「铸句」(coining)这个操作。铸句就是:某个短语,当它前面加上它自己的引号形式时,产生一个完整的句子。我们当然可以随便玩:「雪是白的」加上「雪是白的」,什么也不是。可是当我们把这个操作本身喂给它自己的那个变元位置,也就是「当它前面加上它自己的引号形式时产生一个完整的句子」,前面再加上「『当它前面加上它自己的引号形式时产生一个完整的句子』」,就得到了一个完整的句子,而这个句子本质上是自指的。它是一个不动点。请记住,对于一个函数,比如我们这里的铸句性质,或者简单点,乘以 2 这个函数,不动点就是:你把它喂进函数,出来的还是它自己。
我们把铸句变成了对数的操作,铸句的不动点给了我们一个天生自指的句子。然后我们就能描述出,不是直接写出,而是描述出一个公式,它读起来像这样:「当它被喂入自己的哥德尔数时,产生一个非本原数。」「当它被喂入自己的哥德尔数时,产生一个非本原数。」这个庞然大物就是 G。
G 本质上就是数论不完备的原因,它打破了数学家的信条:真当且仅当可证。有了 G,我们就确立了:所有可证的东西都是真的,但并非所有真的东西都是可证的。这是极其重要的一点,也是这门课最该带走的一句话。
我们还顺带把它跟停机问题联系起来:你不可能有一台神奇的机器,你给它一个程序和一个输入,它就告诉你程序会不会终止。同样,你也不可能有一台神奇的机器,你给它一个数论命题的哥德尔数,它靠检测这个数是不是本原数,就告诉你命题是真是假。这些东西本质上不可能,是不可判定的。这就是我们想要的那场数论地基的震动。
关于这些我就说到这儿。我想往下走,聊点更有意思的东西。数论固然好,但我真正想留下的是这个观念:存在一些为真、却不在我们系统之内的东西,我们必须跳到系统之外去。拉蒂夫,请讲。
拉蒂夫: 我们可以有一个形式系统,然后拿到它的所有 G 命题,然后再构造一些系统,让这些 G 命题在里面成立。这样不断做下去,就能生成越来越多的形式系统,再拿到关于它们的真命题,那些为了保持一致性而必须在系统里成立的真命题。如果对所有能想到的系统都这么做,我们是不是就能造出全部的数学?
贾斯汀: 也就是说,给公理和推理规则都编上哥德尔数,然后把这一切喂给计算机,让它去执行这些对数的操作,就能把全部数学生成出来。我们确实能造出这样一台机器,让它以这种直接方式产出可证的东西。但它会低效到不可思议。人和人类智力最了不起的地方之一,恰恰在于我们能一口气跳过树上好几个结点。我们思考的时候,根本不是在形式推演和符号操作那个层面上工作的。
再说一遍,哥德尔不完备定理的全部要点就在于:我们没法把全部数学都产出来。
拉蒂夫: 可是你完全可以试着去推导那些跟 G 差不多的命题,然后拿到一些系统,让这些在原系统里不可证的命题在新系统里成立,再去探索这个新系统能给你什么样的数学。
贾斯汀: 我确认一下我理解得对不对。你的意思是,我们把 G 当作一个新系统的公理,于是得到一个系统,在里面这个东西可以被推导为真,而它谈论的是另一个系统,不是它自己所在的那个系统?
拉蒂夫: 对,就是这样。本质上就是通过考虑一个 G 可推导的系统,来试图让我们的系统变得完备。
贾斯汀: 对,这一点非常关键。哥德尔做完这件事之后,数学家们提的正是同一个问题。但哥德尔证明的是:即便你把 G 添进去,变成新系统的一部分,你也能在这个新系统里造出一个类似的 G′,让它同样不完备。
拉蒂夫: 这个问题我知道。可是数学里这类不完备的东西到处都是。如果我们能把它们一个个补上,造出支持它们的新系统,我们就能得到旧系统覆盖不到的其他数学。这就是一种勘探数学地貌的办法。
贾斯汀: 对,我们一直都在这么做。但问题在于,我们没法一开始就轻轻松松地拿到「不可证命题」的那个补集。这本来就是数学家在干的事,这也是数学家永远不会失业的原因:我们从根本上需要去思考、去创造新概念、去下新定义,然后探索我们的新假设和新公理能推出什么,那些旧的数论系统覆盖不到的东西。我们必须往上加新东西,而这件事没法用机械过程完成,它需要人的智能。
不过这是好事。你要是还想再聊这个,我们下课后聊,今天要塞的内容太多了。如果我没完全回答你的问题,回头告诉我。
贾斯汀: 我想稍微岔开一下,退一步看。哥德尔发现了一个非常漂亮的东西,他发现了《数学原理》与它所描述的那些东西之间的同构,他让系统能够谈论自身。但这总让人忍不住问:如果他没发现这个同构呢?如果他没发现这个类比、这个连接呢?
这让我想起最近我和柯伦之间的一件事。柯伦要来波士顿,他说,我快到肯德尔了。我开玩笑回了条短信:「有太空服,走天下」(Have Space Suit, Will Travel)。柯伦回:哈,太好了。我心想,行,他懂我的梗。
结果我们碰面之后,我问他,那个玩笑怎么样?他说,挺有意思的。我说,你懂那个出处吧?他说,不懂啊,你在说什么?我说,那是罗伯特·海因莱因的一本书。他说,没听过,我以为你是要穿上一件比喻意义上的太空服,然后到茶会上来见我,所以你才能「走天下」。
我说,有意思,你根本没懂我的笑话,却还是觉得我好笑。我们聊了一会儿,他问,那本书讲什么的?我说,其实我不知道,我没读过。于是我今天去查了维基百科,发现书的结尾是主角拿到了 MIT 的全额奖学金。这就是第三层含义,我们两个当时谁都不知道,一层我们浑然不觉的同构,可是一切照样运转得好好的。
所以我觉得这个念头挺有意思:假如我们就那样一路直行地做《数学原理》,完全不知道任何类比,不知道系统有自我谈论的能力,会发生什么?数学是不是就照样往前走,以为自己完备无缺、一切妥当?
贾斯汀: 我先给今天立个路标。有多少人读了第十章「计算机系统的描述层次」,或者至少开始读了?很好,非常好。没有人读错章节,没人跑去读第十六章。第十六章是好章节,但稍微超前了,它用了很多第十三、十四章的概念,那些概念对理解哥德尔证明帮助很大,你们自己找时间读。
今天我想谈的是涌现(emergence)和涌现性质:复杂性如何从简单的描述、从简单的构件里冒出来。这一点我们一直在敲,今天是我们最后一次好好展示它的机会。
这一章一上来就是计算机系统。你们觉得,我们为什么要谈计算机系统?有人觉得这有意思吗?桑德拉。
桑德拉: 因为我们用计算机的方式,跟我们思考的方式是一样的。
贾斯汀: 好,我们使用计算机的方式跟我们思考的方式一样,都是把问题拆开。这也是我们能给它编程、能按逻辑修它的原因。请继续。
桑德拉: 我们造出计算机系统,写出这些程序。那么这些程序是基于我们思考的方式,还是说……而且计算为什么是普适的?
贾斯汀: 我确认一下:你是在问,我们编的程序是不是就建立在我们的思维方式上,本质上就是「我们想让计算机干这个」这个念头的产物?而计算又是怎么做到普适的?
这其实回到图灵机的一个根本想法。虽然我们主观上各有各的解题路子,但它最终可以被归约成一个算法,一组指令,而这组指令是普适的,跟数学一样普适。所以任何人、用任何语言,都应该能理解它。这是你想说的意思吗?好。
学生: 我们会不会本身就是图灵机的一种实现?我是说,我们人类会不会就是图灵机的实现,而情绪之类的东西,只是在谈论其中某一部分的不同说法?
贾斯汀: 你触到了一个非常有意思的想法:人类的思维其实最好用图灵机来建模。我不知道你是不是已经读过材料,所以才这么聪明地提这个问题。你听说过罗杰·彭罗斯(Roger Penrose)吗?
学生: 听说过。
贾斯汀: 彭罗斯是一位非常著名的数学物理学家,在牛津。他写过一本挺有意思的书叫《意识的阴影》(Shadows of the Mind),在里面他主张哥德尔不完备定理和停机问题可以应用到人类智能上。但他论证的方向是:人类从根本上不是图灵机,而计算机是。这就是为什么在他看来人工智能不可能:机器永远被我们今天推出来的这些约束、被停机问题所限制,而人显然不受限。我们能元思考,能元元思考,能元元元思考,永远跳到系统之外,我们从来不被机器那套约束捆住。
我得提醒你们,彭罗斯这些想法……
学生: 是谁约束了机器?
贾斯汀: 谁约束了机器?
学生: 逻辑。
贾斯汀: 逻辑,对。机器能做的无非就是「非」、「拷贝」、「跳转」这些基本汇编指令,它就是一台图灵机。那么人能做什么图灵机做不了的事?
学生: 好问题。
贾斯汀: 我们能用情感思考,我们能相信,我们能双重思考。人时时刻刻都在同时相信 P 和非 P。
学生: 而且人类不是一个统一的系统。我们以为自己是一个东西,其实我们是很多个东西,而且这些东西之间可以互相矛盾。就像一堆小机器凑在一起互相通信,它们可以互相反对,也可以互相同意。
贾斯汀: 你说的基本上就是「心智社会」(Society of Mind)那套观点,马文·明斯基的书,把人类智能建模成一群小小的行动者,它们对某些信念投票表决。这是个好问题。但你首先得搞清楚,这些行动者是怎么运作的,它们是怎么做决定的。其次,你真的认为你脑子里就是少数服从多数吗?一群小人儿,一群小矮人在你头顶上投票:「今天我们相信上帝」「不,我不信上帝」「好,信的举手」「好,今天我们不信上帝」。人类智能真是这样运作的吗?我们不知道。但这正是研究系统的层次、研究描述层次的重要之处,这一整章讲的就是这个。
贾斯汀: 我想再给别人一个机会来讲:为什么我们要通过研究计算机系统来理解智能、理解心智?
学生: 因为我们可以从自认为已经知道的东西出发,试着让计算机以某种方式做类似的事,也许由此提示我们,我们自己可能就是这么回事。
贾斯汀: 也许吧,我不确定。我给你们讲讲我自己的想法,我为什么觉得人会想研究计算机科学。这会顺带引出一小段「你这辈子想干什么」的演讲,我不打算替你们解决这个问题,但我们可以试试。
我觉得计算机酷在哪里?往回追溯到十九世纪末的巴贝奇那批人,他们摆弄的是齿轮之类的玩意儿。他们工作的层次就是物理层,物理定律管着一切,他就在玩齿轮和轮子。而到了二十世纪初,变成了晶体管和电容,我们用电子元件做非常小的运算。巴贝奇当年能造出一台简单的计算机器,能算对数,就已经欣喜若狂了:天哪,这太不可思议了。但他编程所在的那个层次,他的描述层次,几乎完全建立在齿轮和轮子上。
然后我们经历了一场革命。用今天的话说,我们上升到了主板、显卡这一层。我们开始把整块整块的硬件抽象掉,让它们去干非常专门、设计精良的事情,然后我们就开始摆弄这些大块头:哦,我玩游戏不想卡,换块新显卡插上去。今天有多少普通用户还会操心自己机器里的晶体管和电容?没有。
再往上一层,就是计算机科学真正安家的地方:软件和操作系统,它们活在前面这些层之上。这实在惊人。我们在跟一些其实并不存在的东西打交道,我们在念咒语。等下柯伦上来在他电脑上敲敲打打,噼里啪啦,他不过是往里塞进一些出现在屏幕上的小图像,然后按一下回车,它就像魔法一样运行起来,它存在于一个不同的领域里。可这一切归根到底还是发生在晶体管和电容那一层。
如果你去问一个人:你好,能不能用电容和晶体管给我讲讲 Windows 是怎么工作的?对方大概只会说,你要不要来我们学校读四年书?
但有意思的地方在于,我们在这里用的这套概念框架,跟我们指望用来攻破心智之谜的那套非常接近。
贾斯汀: 最底下是神经元、神经递质,最终由物理定律支配。我们用电缆理论之类的东西来描述它,就是把信号沿着一根绝缘电缆送下去。这是描述大脑的一个非常小的尺度,光这一层就够做研究了。
再往上,一群生物学家和神经解剖学家开始谈:杏仁核怎么样?海马体呢?前额叶皮层、大脑皮层,我这里就统写作「各种皮层」。在这些更大的结构里,你把细胞里转录之类的细节抽象掉了,你只是在想:我今天的海马体状态如何?
然后我们就一路进入了跟软件和操作系统同构的那一层:心灵、心智。我索性把「灵魂」也写上去。
这基本上就是为什么人工智能研究者会待在计算机科学系。因为有一大批人,从跟笨重物理打交道的那一层,走到在主板、显卡这些更大的物理实体上做花活儿,再走到软件和操作系统的层面。
我想做个快速调查:你们的兴趣落在这个塔的哪一层?我知道你们脚踏两边,但特别是就大脑往上到心智这条线来说,你们觉得哪里最有意思?这会相当程度上暴露你是谁、你想干什么。这三个格子,如果只能投一票,你投哪个?
学生: 我想投两个。
贾斯汀: 不行,只能选一个,不然你就得一直读书读下去。好吧,两个也行,但那意味着你本科毕业后自动要再读七年。开始吧,我要看到举手。谁喜欢研究分子、神经元、神经递质,甚至基础物理?桑德拉、杜鲁斯、玛雅、里希,好。谁是天生的生物学家,喜欢杏仁核、海马体、各种皮层?拉蒂夫。现在,谁对心灵、心智、灵魂感兴趣?谁想真的坐在办公室里处理别人的问题?我可得提醒你,那真不好干。好,纳文,还有……你叫什么来着?维维安。维维安、玛雅、拉蒂夫、费利克斯。好。
学生: 我还想加一个选项。
贾斯汀: 说。
学生: 谁想理解所有这些层次之间的共通之处。
贾斯汀: 好,这下手举得可多了。谁想理解所有这些层次之间的共性?这正是我和柯伦一起整理出来的想法,等他上来放投影的时候会讲。我们发现自己处理的问题和系统实在太复杂,只能占据某些抽象层次去干活。但有意思的是,我们真的能抽象。就像我们折腾自己的电脑时,根本不必关心晶体管和电容。同样,我在 MATLAB 里跑东西的时候,虽然偶尔要操心内存占用,但通常完全不用管任何物理细节。
桑德拉: 可是没有下面那层就没有上面那层。
贾斯汀: 桑德拉说,没有一层就没有另一层。这非常重要,非常非常重要,这确实是一座塔。但也许有点吓人的是,其中某些东西是普适的、独立的:你可以有物理层而没有灵魂。
学生: 你可以有物理的东西而没有心智。
贾斯汀: 完全正确。这些箭头只朝一个方向走:你可以有物理的东西而没有心智的东西。我们有的是不跑 Windows Vista 的树。请讲。
学生: 箭头代表什么?
贾斯汀: 这问题问得非常好。箭头是什么意思?简单的回答是:它们表示可推导性或者依赖关系。但依赖关系其实是反着走的:主板和显卡依赖于底下的晶体管和电容,而箭头却指向上面。这体现的是另一个意思:你可以用下面的东西把上面的东西搭出来。
贾斯汀: 这个想法很重要:一旦你手上有了基本的一小套工具,你就能开始往上搭。语言是个很好的例子。你学西班牙语,或者别的什么语言,你能学到的最有用的一句话是什么?
学生: Hola。
贾斯汀: Hola,为什么有用?你能打个招呼,那又怎样。要是你想学更多西班牙语呢?最该学的一句是什么?很抱歉我别的语言懂得不多。
学生: 「这个怎么说?」
贾斯汀: 对,¿Cómo se dice…? 就这三个词,你就给自己打开了一整个语言世界。你可以指着东西问:这个怎么说?对方告诉你,太好了。突然之间,光靠三个词,你就有了一个向外部世界索取信息的引子,你可以就这样把整门语言学下来。
这一点很重要:一旦你有了一些基本元素,一些词汇的构件,你立刻就能考虑更高一层的东西:把这些词组合起来会怎样。比如我们有 a、b、c,那就可以有 a,可以有 b,可以有 c,也可以有 ab、ac、bc,还有 abc,我差点忘了这个关键的。你只要考虑第一层之上的那个元层次,就凭空多出了整整一层复杂性。学一把西班牙语单词,光是考虑它们的组合、排列,以及向外部世界索取的能力,你就一下子跃进了另一个抽象层次。
这里也一样。假设你有一个晶体管,好样的。可假如你有一百个呢?你就能开始做事了,就能有超出各个部分之和的东西涌现出来。
我之前简单提过蚁群,蚁群展现出的涌现性质,超过任何一只单独的蚂蚁。这个想法很重要,你想想人类也一样:一个人有一个想法,另一个人有另一个想法,然后你考虑这两个想法的界面,于是又有了第三个想法。你能用简单的零件搭出新东西来。
研究这件事的好处,不只是知道什么时候可以忘掉细节,也就是抽象,还在于:给定你手上的这些零件,你能干成什么。
贾斯汀: 跟这件事绑在一起的,是描述层次的问题:你在哪个层次上描述一样东西,包括描述我们自己。
我想你们不少人读到第十章里侯世达谈操作系统里的偏执狂,谈那个叫佩里的程序的段落。我把书里没有的部分展开一下,我觉得这是个有意思的思想实验。
你们当中有多少人会把自己的身体当作自己的一部分?桑德拉、纳文、杜鲁斯、拉蒂夫、费利克斯、里希。你们几位没举手,你们不把身体当自己?好,拉蒂夫改主意了。那举手的各位,大脑是你身体的一部分吗?是。好,那大脑属于身体。有人要改票吗?没有,好。
那么,如果我问你「你的腿今天感觉怎么样」,多少人觉得这是个正常问题?很多人觉得正常。
那么,假如我问侯世达问的那个问题:你今天怎么造了这么少的红细胞?这算正常问题吗?桑德拉。
桑德拉: 你又控制不了自己造多少红细胞。
贾斯汀: 控制不了,但它是你自身的一部分,是你的一部分。那我为什么不能把你的红细胞计数当成你来谈论?
桑德拉: 因为它在你里面。
贾斯汀: 它在你里面,可你刚才说身体是你的一部分。好,那你是接受了自己所说之话的逻辑后果。很好,你至少是一致的。
有别人突然觉得我刚才说了句怪话吗?也许我们连「你的腿今天感觉怎么样」都不该说。也许我们连「你今天看起来怎么样」都不该说。因为我们分不清哪个是哪个。
假设柯伦进来,顶着两个黑眼圈。我说,柯伦你看起来糟透了。他说,这个问题不能接受,因为你在说我的外貌。
学生: 心智反映了他身体的感受、他身体的状态,所以他几乎是把那个画面内化了,然后说,对,那就是我。
贾斯汀: 你是说,柯伦的自我模型本质上依赖于他的身体和他跟环境的互动。所以当我说「你看起来糟透了」的时候,他调出自己的内部模型,看到自己糟透了。这样就说得通了。可红细胞的问题呢?
学生: 红细胞……一般来说你并没有一个关于自己红细胞的内部模型。
贾斯汀: 对,你通常没有关于自己红细胞的内部模型。可假如你有呢?这正是这个思想实验里最值得带走的一个后果:如果你对体内发生的一切都有内部通路,会怎样?
学生: 那太可怕了。
贾斯汀: 大家都在说太可怕了。为什么可怕?我要走过这个房间的时候……
学生: 因为你做的有些选择不见得是对的、合适的。
学生: 等一下。首先你得确定,是什么在做决定。也许那个有意识的东西并不做决定,只是它意识到有一些决定正在被做出,于是把这些决定归给自己。
贾斯汀: 最后那句再说一遍。
学生: 它意识到的那些正在被做出的决定,它就描述成是自己做的。
贾斯汀: 好。你做出某些决定,然后你认为是「你」在做这些决定。我一直在问:到底是谁在做决定,我的神经元还是我?
我真希望能把那篇对话发给你们,就是《前奏曲》和《蚂蚁赋格》后面那篇,《谁在颅内推来搡去》。你说得对。《前奏曲·蚂蚁赋格》讲的正是「符号」这个想法:神经元涌现出的更大的群组,是你对外部世界的小小内部表征。在相当程度上,它们构成了我们是谁,是我们的内部模型在集体做决定。可另一方面,也有些时候,那个涌现出来的东西反过来操纵我们对世界的内部模型。
比如某天你坐在这个课堂上,我告诉你,宇宙其实不是决定论的,它有量子力学那套概率框架。你说,哇。然后你就改掉了自己关于世界的基本心智模型。所以层级之间存在着一种奇怪的互动。
贾斯汀: 这一点很有意思,因为这个方向的作用本来很少,可它确实会发生。我觉得最好的例子是手机里的 SIM 卡。SIM 卡是你手机的一部分,你把它拔出来,手机就可能不能用了。你也可以把它插到另一部手机里,它可能也不能用。这部分要归因于上面那个服务层向下传回来的东西。所以软件和硬件之间,确实有一种奇怪的层间互动。
学生: 假设有一个大脑,你有比较低层的神经元,还有谈论这些神经元的神经元,再有谈论那些神经元的神经元。这样你就不需要那种疯狂的软件观了。所谓意识,那种不属于物理世界的东西,其实并不是在牵引物理世界,或者说改变物理世界。是物理世界在改变物理世界,只不过那些高层神经元是代表抽象的那一批。抽象并不真的存在,只是这些神经元从低层神经元那里拿到东西,看到它们的关键过程,然后反过来控制它们。所以你主要就是你的高层神经元。
贾斯汀: 也许你主要就是你的高层神经元。但我举个有意思的例子。我们现在钻进了大脑的细节,我不确定它究竟怎么运作,但拿蚁群来说:没有哪只蚂蚁比另一只更高,所有蚂蚁基本上生而平等。
学生: 蚁后除外。
贾斯汀: 除了蚁后。但曾经有过一个神话,说蚁后坐在那里,长着一个超级大脑,指挥着:A 部队到 B 部队去 G 区进攻,然后把叶子搬回来。蚁后根本不干这个。她跟别的蚂蚁一样,大概也就三个神经元,用它们做不了什么。可正是这些极其简单的东西之间的互动,能产生复杂的行为。请讲,拉蒂夫。
拉蒂夫: 我刚意识到一件事:你甚至察觉不到自己在思考。我们常常觉得自己非常善于自我反省,其实并不是。
贾斯汀: 我们是会反省的,我们确实在思考。
拉蒂夫: 连理性对我们来说都是超出掌握的。你想想,从小到大你真正推理过多少次?大多数时候你只是在说,你根本不知道那些词是从哪儿来的,不知道那些概念是从哪儿来的。所以我不能说我们高度善于自省,如果我们大多数时候根本不反观自己的思想、自己的感受。
贾斯汀: 完全正确。我们往往只是吸收关于外部世界的数据,尤其是父母传给我们的那些心智模型。它们从第一天起就在告诉我们、训练我们,真的就像给小鹅做印随一样,让我们去做某些事。而我们极少能跳出那些循环、那些系统。
这是个有意思的想法:当我们再也刮不开那些盒子的时候,会发生什么?心理学为什么这么难?意识为什么这么难解?因为我们像是要把眼球取出来,再让它回过头来盯着自己看:好,我是个什么东西?
我记得下课后跟你们中的某位讨论过这个想法:演化其实是把我们设计来做某些事的。人类之所以长出这么大得反常的前脑,我猜一个原因是它是很好的生存策略。我们开始成群结队,把东西种进土里,突然就有了非常稳定的食物来源。或者我们把猛犸象骗到悬崖边赶下去,让它们摔在我们自己设计并磨尖的木桩上。突然之间,解决问题这件事对自然选择变得极其重要,具备解题能力的人被优先选中。
可是,把猛犸象赶下悬崖、把种子种进土里当然很好,那个待在队伍最后面、心里想着「我是什么」的家伙呢?他正陷在关于「我是什么」的思维回路里,猎豹扑上来了。这就是那个疯癫的哲学家。
学生: 先是解题能力平均水平,也许略高于平均。然后就来了那些怪物,那些天才,动不动就跑到老远的地方去了。我们跳得太快了,我们还没有那种基础设施来保护自己不受各种敌人伤害,你得慢一点。
贾斯汀: 我完全同意。确实有这么一些人物,比如阿基米德。说到这个人,我在剑桥的一位讲师,皮布尔霍尔博士,他形容这类人是九维的超级智慧生物,他们的身体只是投射到我们世界里的四维凸出部分。因为他们在智力上简直就是外星人,我们完全不知道他们在干什么。
而这几乎是危险的。我们通常不太喜欢、不太善待那些显得太出格的人。我们有一段可悲的迫害史,人类对高于平均水平的人并不总是友善。
我刚才想说的是:拥有智能和解题能力是一回事,但这种回头审视自己、进行反省的能力,对演化并不是好事。我甚至听人主张过,我们的大脑其实并没有被演化成能解决意识问题,因为那么做不划算:真去深入思考、理解内部发生的事情,为你所有思想建立内部模型,这在演化上并不有利。我们没有一份「我为什么做了那个决定」的记录,不会有「A 区发生了这个,这个神经元放电,那个神经元怎样」这种东西。我们没有那个通路。这部分是因为演化说了:我们不打算给你这个通路,我们把你这颗小老鼠脑子拼成这样,你拿不到那些思想,你只能拿到它们的后果。这是个让人不安的想法。桑德拉,你要说什么?
桑德拉: 人类已经很先进了,那有没有办法推进逻辑思维,从根本上推进人类在思维上的进步?也许有更好的方式。
贾斯汀: 我们某种程度上正在做啊,就在这个教室里。我们大多数人,包括我自己,视力都不好。如果我真被扔到野外,我根本没机会坐下来读书,我会去打猎,打不到,然后死掉。但我们的社会已经达到了这样的技术和医疗水平,人可以活下去,我们不必操心基本的生存需求。
不知道你们有多少人听说过马斯洛的需求层次?有人听过马斯洛吗?你们高中做过辩论吗?这里连辩论队或辩论课都没有?真让人意外。
马斯洛说,我们在做任何事之前,都有这样一个需求层次。最顶上他放的是超越,我一时想不起他用的确切词,有点尴尬。总之你们去谷歌一下亚伯拉罕·马斯洛,需求层次。层次这个词我也拼不好,是「h-i-e-r」,谢谢。顶上是自我实现。
底下是食物、水、住所,这是人类早期发展的绝大部分时间里一直停留的层次。他大致把这一层描述为生理需求。再往上是安全,身体的安全,我就写「安全」。再上是爱与归属。再上是自尊,你至少得对自己有些正面的看法。然后才到自我实现,维基百科把它描述为道德、创造力、自发性、解决问题、无偏见、接受事实。
有很多人拿这个金字塔来做一种吓人的滑坡论证:你看,我们要用二十四小时不间断的监控来保护你,因为在你们能想上面那些事之前,你们首先得在家里是安全的,得不受恐怖分子威胁。所以在你做上面这些事之前,你先得有底下这个。这很讽刺,因为我们做的事情往往侵犯了自我实现的固有属性,比如言论自由、思想自由等等。
但从某种意义上你可以说,人类一直在试图往上爬这架梯子,我们每个人的一生也是这样:父母给我们食物和住所,给我们保障和安全,好的父母还给我们爱与归属感,这才让我们能够去上大学,去琢磨康德和别的哲学家。拉蒂夫。
拉蒂夫: 二十四小时被监控,不是反而会剥夺我们的安全感吗?
贾斯汀: 这个论证是双向的,被监视也可能让你不安全。不过这是政策制定者的辩题,眼下不归我管。
桑德拉提到人类如何进步,我很高兴。说来有点难过:我们这个教室里的大多数人,其实都在这个三角形的上部,我们操心的是逻辑,是计算机科学会把我们带到哪里,我们操心的是最尖上那一点,也就是启蒙。而今天街上有的是人,他们操心的是底下那些事。他们不会去操心哥德尔不完备定理会不会给我他们关于意识和大脑的终极理解。你想想这中间隔着多少层,再想想我们作为一个物种历史上走了多远,才逃出底层那种粗野严酷的自然选择。我们现在参与的是上面这一层的选择。
下一讲你们会看《半梦半醒的人生》(Waking Life),里面有个特别亢奋的哲学家,他会谈到一种「新演化」:当演化不再作用于基因、不再作用于底层的保障和安全,因为我们人类通常已经不必操心这些了,演化就转到文化层面、模因层面上发生。知道模因是什么的人应该懂。我们扯得有点远了。
我要把话筒交给柯伦了,他给你们准备了一堆好东西,来讲爬金字塔这件事,以及层次和描述之间的互动。你们先休息五分钟,我们重新布置一下场地。
贾斯汀: 如果这些层次不平衡会有什么后果?比如一个人感觉不到安全会怎样?按这个模型,一个清楚的后果是:如果我们没有安全感,就不会想去追求更高的东西。感觉不到安全,就肯定感觉不到被爱;感觉不到被爱,也就不会有什么自尊。
学生: 我觉得牛顿做那些事的时候,未必有安全感。
贾斯汀: 你说得对。历史上确实有几个疯狂的角色,极度多疑,感觉不到被爱,基本上处于精神分裂的状态。看看艾萨克·牛顿,说到不好相处的人,他是个非常非常恶毒的人。他当造币厂厂长那三十二年,我记得是三十二年,他手里握着别人的性命,因为那个年代剪削硬币是要绞死的。他从来没有赦免过任何人,凡是因剪削硬币上庭的,在牛顿手下统统被绞死。
当年硬币是真银子做的,金属本身有价值。人们的做法是,每次拿到一枚硬币就从边上削一点银屑下来,攒成一堆银子,可以熔成另一枚硬币,等于凭空多出一枚硬币来。你可以想象,那时候人要给造币厂厂长写信求情:牛顿先生,实在对不起,我只削了两枚硬币,是为了给家里多买一条面包,我老婆又怀上了,我有三个孩子要养。这人多半还是个文盲,写这封信都吃力。而牛顿的反应是:绞死他。
所以他不是个好人,但他绝顶聪明,他在这座金字塔上爬得比我们任何人都可能达到的还要高。所以这个模型确实有缺陷。
学生: 自我实现那一栏里,你不是说包括道德吗?
贾斯汀: 对,所以你可以把道德那条划掉,不需要道德。理想情况下我们希望有。而且别忘了,马斯洛是六七十年代的哲学家,他相信开悟的人会一直是充满爱、幸福快乐的。
学生: 那牛顿算在这一栏里吗?
贾斯汀: 我不认为他能算进去。但要说智力和解题能力这些品质,你看他年纪大了之后,人们试图解最速降线问题,就是找一条什么形状的滑道,能让小球从 A 点滚到 B 点用时最短。这个问题在欧洲和英国的数学期刊上流传了好几年,没人给出好的解法。最后有人把题目递给牛顿,他那时候大概六十五岁了,他的反应基本上是:别拿这种简单题目侮辱我。当晚他坐下来,几个小时就解出来了。他就是这么个人。
学生: 我可不觉得他有多好,三十二年里一个人都没放过。
贾斯汀: 柯伦,你要不要来讲这个?这其实能让你们看到我和柯伦是怎么备课的。这也是我们唯一一次用白板。当时我在板上给柯伦写了这个问题:如果要设计一场测试,来判定一个人是不是注定要当计算机科学家,这场测试该是什么样的。
不管怎样,我刚才逼你们对那几个盒子投票,是想知道你们最感兴趣的是哪一层。
想想看,如果你是个物理学家,坐在高中生物课上,有人跟你讲器官之类的东西,你会说,行吧,接着讲。然后说,这些器官是由组织和细胞构成的,物理学家说,嗯,还有呢?细胞是由大分子蛋白质、由有机分子构成的,好吧。这些又由化学物质构成,化学物质由原子构成,这时候物理学家才说:哦,你开始让我有兴趣了。
物理学家于是把自己的全部精力投入到往下推:粒子、力、夸克、弦。你可以把这刻画为一种还原论的过程。哪怕在处理超新星、星系这种巨大的东西时也一样,你是在试图把大尺度现象还原成基本力、F=ma 之类的东西来解释。
那么另一头呢?我记不清具体数字了,但大概有一半以上的本科生主修的是人文类:法律、历史、创意写作之类。如果你是这类人,你根本不会往这条线以下看,你真正在意的是这条线以上发生的事:当你拿恐惧、饥饿、欲望、自私这些基本构件,做它们的线性组合,比如百分之七十五的恐惧加一点欲望,得到一种叫「忧惧」的新情绪。然后你继续往上搭,从情绪的描述层次往上走。如果你是文学专业,你尤其关心语言能做到什么。
那工程师又是什么?谁觉得自己喜欢工程?很好。你们会看到身边的日常材料,你有点像自己家里的马盖先:给我一根牙签、一根橡皮筋和一块面团,我能撬开别人的锁。马盖先干的就是这个。我不喜欢做笼统概括,但工程师的兴趣在于,如何拿手边现成、廉价、高效的材料,造出实用而有效的解决方案,你总是在这个领域里工作,从小项目一直做到全城规模的工程。
那什么造就了一个计算机科学家?我认为,计算机科学家在根本上很像数学家,只是他不去探索物理世界的层次,而是活在一个柏拉图式的世界里,他的原子是序列、级数、逻辑、文法、微积分、代数、几何。你就摆弄这些东西。
我认为,数学家和计算机科学家骨子里就是在看模式,把一切细节抽象掉。当我对生物学失去兴趣的时候,我很难过,因为我以前特别爱生物学:看啊,演化造出了多么好的东西。可是等我学了演化论,我意识到,这基本上就解释完了:掷骰子,基因突变,表现型,选择,重复。理论摆在我面前之后,我就说,达尔文已经解决了这个问题,我不用操心了。生物学突然对我没那么有意思了。
桑德拉: 那不是我的风格。
贾斯汀: 你是说你不会不好奇。可对我来说理论已经在那儿了。这大概就把我放在了理论家和哲学家这一头:我不在乎细节。有人一辈子在研究某个蛋白质对 X 和 Y 的作用,我不真的在乎细节,我在乎的是概念性的过程。
不过我不想影响你们,每个人有每个人的偏好。我和柯伦对什么有趣就有不同看法,你们的看法也不一样。我把场子交给他。
柯伦: 我们注意到一件很酷的事,就是这种「低层次的东西涌现出高层次的东西」的普适性。比如电子工程,刚才说的晶体管之类,你有一层又一层的东西,一直到软件。神经元、大脑、思想也是这样。生物学里,DNA、RNA、复制、繁殖,然后导出演化,而演化本身就是一种涌现性质。
我要给你们看几个我写的程序,它们展示出一些涌现性质。
这个是物理模拟,但它是离散的,不连续。物理学一般是按连续来建模的,你有积分之类的东西。我这里做的算是积分,但是离散的,所以会有一种奇怪的误差,让它不完全像真实物理,不过还是很酷。
蓝色和红色的球带不同的电荷,它们之间有库仑力作用。我玩给你们看。库仑力就是正负电,异性相吸,同性相斥。所有这些参数都能改,颜色反映它们带电的多少。你看这个,很奇怪,这在真实物理里绝不会发生,这股奇怪的能量是哪儿来的?我想是因为它是离散化的,不是连续的。不过还是挺有意思。好,现在斥力起作用了,它稳定下来了。
我希望你们看这些例子的时候记住一件事:每一个例子里,支配每个个体行为的都是非常简单、或者说相当简单的规则,而且支配这一个粒子、这一个球的规则,跟支配其他所有球的规则一模一样。这些局部的简单规则导出了全局的现象,导出了涌现行为。这就是涌现的全部要义:高层次的东西从低层次更简单的东西里冒出来。
比如自然界的结晶就是一种涌现性质的例子。这里有一组预设参数,会导致结晶,参数是专门调过的。
贾斯汀: 这里有个有意思的地方值得指出:我们刚刚使用了一个描述层次,我们把它叫做「晶体」。我们不会说,这是当粒子 i 作用于粒子 j、带有如下电荷时形成的排布。那个描述层次太底层了,而「晶体」这个更高的描述方便得多。
学生: 可是我们说「晶体」的时候,指的其实就是同一个东西,我们只是绕过了它到底是什么。
柯伦: 你是说,我们说「晶体」的时候没有真的说出那个东西,我们在兜圈子?
学生: 对。好,我们有这些晶体,它们是不同粒子的组合,这些粒子通常互相吸引,形成某些容易辨认的形状,这就是「晶体」的定义。可你一旦如其所是地去看它,它其实是所有那些满足这些性质的物质构型的集合。你只是给它起了个名字。
柯伦: 完全正确。我们说「晶体」的时候,指的是一个非常高层的东西。这正是我说低层次和高层次时的意思:低层次是描述粒子相互作用的确切方式和它们做的各种事,而晶体是更高的层次,所以底下的细节可以不同。自然界里各种不同物质都能结晶,我们都能叫它晶体,因为它跟自然界的晶体相似,有这种规则的结构。但你说得对,这是把细节一笔带过,它存在于更高的描述层次上。
学生: 这有点像范畴论那套数学理论。你可以说,我们有这些不同的领域,可是这边发生的事情能精确映射到那边发生的事情。所以当你把东西描述成晶体之类的时候,你几乎是在用范畴论的语言说话,只不过是用日常语言说的。这个贾斯汀比我懂,我对范畴论一无所知。
贾斯汀: 我一是想说你要小心,二是说你的想法大体没错:你是在寻找系统的一般特征,然后把普适性归给它。
我想快速指出,我在板上写的那个 F = k·qi·qj/r²,就是库仑力的吸引定律。我们用它来描述两个粒子之间的相互作用。可当你有 n 个粒子的时候会怎样?方程变得极难求解,但我们开始得到非常有趣的几何行为,而这种行为反倒更容易描述。
我们等会儿会碰到你的想法:我们会看到一些例子,里面有类似「力」的概念,但其实根本没有力在起作用。等讲到交通流的时候我们再说,那里并没有汽车真的撞在一起,可我们照样得到同样的行为。这个先留着。
柯伦: 这是另一组参数,会形成这种液滴,挺酷的。这里是 n 体问题的模拟。有了,就是一堆东西互相绕转,基本上就是他写在板上的那个方程。
贾斯汀: 对,只是把电荷换成质量,因为 qi 和 qj 代表电荷,换成质量之类的。
柯伦: 就是这样。
学生: 这个是不可预测的吧?
柯伦: 它是决定论的,但不可预测。它是决定论的,同时不可预测。它是混沌的,因为它变成非线性的了。所以想知道会发生什么,唯一的办法就是把它跑一遍。而且就算跑了,你得到的也只是近似,因为它不连续,所以你得到的是可能会发生的事情的一个近似。所以 n 体问题你没法真正解出来。
学生: 那如果换成心智呢?如果是一大群不同的程序呢?你刚才谈的只是粒子,那是简单的东西。可当你有心智的时候,就是一大堆这样的东西凑在一起。
柯伦: 你是说心智?
学生: 对。
柯伦: 也就是把一个心智看成这些粒子中的一个,在社会中与周围所有其他心智互动。这叫做基于智能体的建模(agent-based modeling)。
学生: 但问题是,对粒子你有确定的规则,而对社会来说,心智本身就难以预测。
柯伦: 完全正确。你是说,如果我们把社会建模成这种基于智能体的模型,每个智能体是一个心智,那就更加不可能预测了,因为心智本身就不可预测,心智本身就是从构成它的东西里涌现出来的。
贾斯汀: 这就是反过来走的思路:从行为出发,去找出支配它的规则是什么。就像牛顿是怎么找出万有引力定律的?你从行为开始,试着推断两个东西之间的规律是什么。今天我们要看到的是,无论是车还是人,我们其实不知道两个人之间的相互作用是什么,可我们看得见整体的行为。
柯伦: 这是那个程序的另一个版本,你能让这些分子形成,非常迷人,这些细长的分子。这是另一种涌现行为。看,它们出来了,完全就是分子的样子,把它拎出来看看。规则其实是一样的,我也记不清具体是哪些规则了。这是三维版本。等一会儿,这些分子会在三维空间里形成。涌现真是个很酷的概念。这就是三维里的分子。
学生: 会不会世界一直在用不同的描述层次描述它自己?
柯伦: 你是问,世界会不会在用不同层次描述自己?
学生: 对,因为你确实有这个,然后你还有更高的东西,比如一个几何形状。
柯伦: 差不多是这样。
学生: 但你也可以把它描述成一堆被不同的力支配的粒子,你还可以把它描述成有人在看着那个东西本身。
柯伦: 对,谁在做这个描述。这就是侯世达所说的「缠结的层级」(tangled hierarchy)。它其实算不上是层级,因为低层的东西跟高层的东西彼此关联,可以来回互相影响。就像你说的,世界一直在描述自身,在不同的层之间跟自身互动。
学生: 那高层也会影响低层,还是永远只是从低往上?
柯伦: 绝对不是只往上。想想软件。如果我运行这个程序,我们看一会儿这个程序,这个程序本身在控制那些晶体管、控制正在运行的一切。
学生: 它并没有真的在控制晶体管。
柯伦: 没有真的控制?
学生: 没有,没有。你看,你有代码,你把它放进内存,这东西被表示成不同的电活动,这些电活动被计算,不同的硬件跟它们对应,不同的代码匹配不同的硬件行为,然后你就有了你那个小小的软件程序。并没有什么更高的东西在控制低的东西。
柯伦: 它就是一个东西,一切都是一个东西,只是我们用高层和低层来思考它。你说得对,硬件是在控制它自己,但这基于我们放进去的东西,基于我们在更高层次上告诉它去做什么。我写的这个软件出自我的心智,从某种意义上说它比硬件更高层,比如这台正在打出这些像素的投影仪。所以当我说高层的东西影响、作用甚至控制低层的东西,我指的是这个意思。
学生: 这是双向的。如果现在有一个晶体管坏了,它就会控制高层的东西,因为整个东西会停止工作。
柯伦: 这是因果性的问题吧,因果关系……
学生: 这说不通。软件程序怎么可能控制硬件?
柯伦: 这个软件程序跑在硬件上,它在控制这台投影仪,它在控制硬件。
学生: 是软件在告诉硬件做什么,还是硬件在告诉自己做什么?
柯伦: 是硬件在告诉自己做什么,但那是在我告诉了它之后。
贾斯汀: 就算我们把柯伦这个人拿掉,只剩软件自己在跑,你说得对,从某种意义上讲,永远都只是硬件而已,就是硬件。软件并不真的存在于某个虚无缥缈的领域里。软件说到底还是晶体管那一层上发生的事情。只不过我们作为人使用这些描述层次,我们把软件当作一个独立的实体来谈,尽管它归根到底还是由电子和晶体管的相互作用引起的。
柯伦: 这是另一个例子,交通流。交通流是涌现的完美例子。这些小方块就是一条车道上的车流,一直往前,然后循环。每一辆车都是一个智能体,它处在比我们马上会看到的「波」更低的描述层次上。
假设前面有个红灯,车流就堵起来一点,然后灯变绿,车又走。你在更高的层次上看到的是这样一列波,往后传播。我们说这个波是一个「东西」,我们能把它当成一个实体来描述,但它比车本身更高一层,尽管它是由车构成的。它影响车,车也影响它。软件和硬件也是同一回事。
学生: 我还是不懂。
柯伦: 我想这其实就是还原论与整体论之争。
学生: 你觉得一切都能被还原式地理解,可有时候……有时候你得想,比如我,我是怎么从粒子的相互作用里来的?你得做综合。但那真的解释了你吗?
学生: 我还有个问题,也是这一章里的:一个人跑一百米用了 9.3 秒,那个「9.3」存在哪里?它不在他脑子里。
学生: 那些脑信号为什么会是 9.3?
贾斯汀: 不对,他用 9.3 秒跑完一百米这件事,是训练的结果,是起跑时抓地良好的结果。这真的是一件涌现的事,是一个附带现象(epiphenomenon)。
柯伦: 关于涌现的东西,有个好问题可以问自己:你存在吗?因为你到底是什么?你问自己:我是什么?这个地方很容易让人糊涂,因为你是从构成你的那些东西里涌现出来的一种性质。
学生: 问题在于,「我存在吗」这个问题的答案,几乎就等于「我是什么」的答案。如果我描述我自己,我现在几乎有两个不同的部分。一个是脑过程所描述的我,比如我大脑的某一部分存着我做过什么、我一直以来做过什么,还有我关于自己的信念。另一部分则几乎是一种回望的方式,一种自我意识的觉知,我看着世界,离开我对自己的描述。
那么我是哪一个?大概我是被大脑描述的那个东西,我是那个自我,我不是那个觉知到自我的东西,因为那个觉知到自我的东西,存在的意义就只是去觉知那个自我。所以我不可能是那个觉知,我必定是被觉知的那一个。
柯伦: 你基本上是在把自己分成观察者和被观察者。
学生: 对,我不是观察者,我是被观察的那个。
柯伦: 那么,那个在观察的东西又是什么,如果它不是你?
学生: 它就像是一层附加的觉知结构。
柯伦: 这正是佛教在搏斗的问题。我也不知道,我又没开悟,我不知道答案,我跟你一样困惑。
学生: 我觉得主要的问题在于,人想得太多了。如果人类干脆不想了,一切都会好起来。
柯伦: 拉蒂夫说,如果人类不再思考,一切都会好起来。禅宗大师也是这么说的。
贾斯汀: 这也等于说我们该去当树,等于说给每个人做强制额叶切除,这样谁也不会去想那些抽象的东西,也不会为任何事发愁,我们就退回到基本的采集狩猎、能活下去就活下去。
学生: 就像哥德尔说的,一旦你开始谈论自己,你说的基本上就是胡话。「我很好,这就是我」,如果这话有意义的话。
柯伦: 那么是谁在说话?
学生: 在谈论我自己的,是那个自反的过程。我在谈论自己的时候,用的是我心智中最抽象的那些地方,那就意味着它们不了解细节,因此它们其实不该来谈论我自己。
柯伦: 你的意思是,自我指涉本身不是一个良构的思想?
学生: 对。
柯伦: 是的,这一点没错。当你谈论自己的时候,那个在说话的东西并不真正了解它所谈论的对象。
学生: 回到大脑的复杂性。因为大脑太复杂了,复杂到它没法谈论自己,谈了也是胡话。就好像在一个奇怪的分形上、一个奇怪的图案上四处张望:也许是这样,也许是那样,也许是这样。就是在胡说,在乱走。
柯伦: 你的意思是,谈论自己不过是一种漫无边际的胡言乱语。
学生: 这就像直觉,像我们的数学直觉。你在这里看到某种结构,在那里看到某种结构,你说,哦,这也许反映了某种数学规律。但那只是一个假设,不一定是真的。
柯伦: 你触到的是我们所有人如果选择直面就必须面对的一些非常深的问题。所以我鼓励你们继续……
学生: 你要说「停下来」吗?
柯伦: 就是这个问题。如果我们一直想这些事,要么我们卡住,卡到无法正常生活,要么我们就开悟了。也许吧,我也不知道开悟是什么。
贾斯汀: 要大胆,但别太大胆。
柯伦: 这就回到贾斯汀刚才说的:内省、问这些问题,对我们的生存并不有利,所以某种意义上我们被编程成忽略它们,就这么过日子。但我们希望能进化。
学生: 我们希望超越那一点,也许有人会造出一台有意识的机器之类的。
学生: 我们不该给它分析自身的能力。也许一个人所能做的最糟糕的事,就是真的知道自己怎么思考、自己究竟是谁。我记得洛夫克拉夫特说过类似的话:我们所拥有的最好的东西,就是在任何时刻都没有一个关于世界的完整模型,因为如果我们真有了,那太可怕了。
贾斯汀: 完全正确。但另一方面,我们天生就好奇,天生就想理解一些片段。我不知道我们能不能拥有一个关于世界本来面目的完整模型,但我们当然可以拼命去试。归根到底,你应该去做那些让你感觉良好的事。理解大脑的一部分能让你感觉好,那就去做。你永远不可能完全理解大脑,但别让这件事阻止你去尝试。
学生: 这就像存在主义那些人说的,一个人把一块石头推上山,推到山顶石头又滚下去,然后再回去推。目标毫无意义,可他们就在做这个过程。
柯伦: 你其实是在说,理解大脑是……那为什么要做一件你永远做不完的事?下一步是什么?
学生: 你让自己变得更好。
柯伦: 桑德拉的想法是什么?
学生: 就像拼图。你拼完了,就结束了。
学生: 你让自己变得更聪明,好让自己更难被理解。
柯伦: 你说的其实是这个:一旦你理解了自己的某一部分,你就又添加了自己的另一部分,而那一部分你不理解。你是说,那个正在理解自己的部分,恰恰是你不理解的部分。所以一旦你跟自己达成了和解,那个刚刚跟自己达成和解的部分,你反而不理解。
贾斯汀: 这跟把 G 加进数论是同构的,因为新系统可以再被哥德尔化一次,再被证明不完备一次,然后你又说,哦,现在它不完备了,那我再把这条加进去。
柯伦: 这是《哥德尔、埃舍尔、巴赫》里某一章的重要内容,我忘了是哪一章,本质上就是:你永远不可能理解你自己。
贾斯汀: 这是对哥德尔不完备定理的一种危险用法,大概站不太住脚,但值得想一想。
学生: 还有复杂度那个说法。我记得有人算过,一个系统一旦复杂到某个程度,它就到了自己无法理解自己的那个点。
柯伦: 你要是能找到那个出处就好了,我很想看看。
学生: 我觉得已经有人做过了,我不知道是谁。
柯伦: 总之,一个系统一旦复杂到某个程度,如果连别人都理解不了它,它自己怎么可能理解自己?我们确实没法在「知道正在发生的一切」这个意义上理解自己,因为我们没法内省自己的神经元。
柯伦: 说到基于智能体的模型,看看这个,挺酷的。上面这些球被向上拉,这边这些被向下拉,于是形成某种稳定。我想两边球的数量是一样的,我不太确定,但我做成了能相互抵消。这就是把力的方程用在基于智能体的建模上,只不过力只作用在互相连着的球之间。所以它相当接近物理,挺酷的。
我刚才想说什么来着?关于智能体建模,有人提醒我一下我们说到哪儿了?
贾斯汀: 我想说一下模拟宇宙这件事。如果你真的感兴趣,我推荐一本书,塞斯·劳埃德的《编程宇宙》(Programming the Universe)。它的意思大致是:宇宙在最底层用的是量子力学,而我们没法在经典计算机上有效模拟量子力学,我们需要量子计算机。可宇宙本身就是一台量子计算机,唯一能模拟宇宙的东西就是宇宙自己。我们造不出来,我们得再造一个宇宙去模拟这一个,可既然我们已经有了一个正在计算自身的宇宙,何必再造一个?
这本书非常有意思,塞斯·劳埃德是很有名的物理学家,他是 MIT 的机械工程教授,跟圣塔菲研究所的复杂性科学有合作。这是一本很好很好的书。我觉得它切中了要害:我们描述宇宙所需要的工具,本身就是宇宙的组成部分。
学生: 可是无穷不是有那些奇怪的性质吗?整个东西是无穷的,可在这个东西内部还有另一个东西也是无穷的。所以你可以在一个宇宙里放一台量子计算机,让它去模拟这个宇宙。
贾斯汀: 但它顶多只能模拟宇宙中跟它同等大小的那一部分。一台七个量子比特的量子计算机,大概只能模拟那么大的东西。宇宙所含的信息量,正好等于宇宙能用来计算的信息量。所以你需要一台跟宇宙一样大的计算机,才能把宇宙模拟到每一个细节。
因此我们能做的只有近似,只能在更高的层次上做这种粗颗粒的描述,把细节抽象掉,努力抓住那些关键特征。
柯伦: 我想起刚才要说什么了。这是一个基于智能体的模型,每一个球都算一个智能体,然后就出现了这种涌现行为,这个结构聚起来,四处移动。我要说的是:如果你把大脑看成一个基于智能体的复杂系统,它本来也确实如此,神经元不过是彼此以及跟外界刺激互动。粗略地说,它可以被看成这样一个基于智能体的系统,神经元类比于这里的球,而更高层次上涌现出来的那些队形和动作,类比于你的思想。所以当你的思想试图内省的时候……
学生: 我说不太下去了,就像海……你回不去,你到不了另一座岛。
柯伦: 所以你没法理解你的每一个神经元,因为这个结构没法内省它自己是由什么构成的,因为那样它就不再是它自己了。
学生: 又是量子力学,我不知道。
柯伦: 再看一个挺酷的例子,它展示的是某种优化。我可以点击加进小球,它们互相连接,每一对之间都有一个最优距离,然后系统会演化到这个最优距离。我的程序里没有任何一处说「三个球要组成三角形」,这是一个涌现性质,来自各种局部的力在追求局部最优解。
化学里这种事很多,粒子和分子总是在找能量最低的状态,分子就是这样存在的。不过没那么简单。再看这个,加四个球,这就是最优构型,它自己演化成这样,这就是物理的运作方式。五个球就成了这个星形。
不过这个程序没我说的那么简单,里面有些奇怪的规则,规定什么时候该在球之间连边、什么时候不连。边就是球之间的连接。我可以这样,拖出一大堆东西来。具体规则我记不清了,但我尽量做成只有局部作用,离得远的东西不直接互动,只通过中间物传递。
学生: 有点像共振,像在形成和断裂化学键。
柯伦: 对,有点像共振。我记不清共振到底是什么了。
贾斯汀: 共振差不多就是在两个叠加的可能状态之间振荡。这里发生的事情大致就是这样:你有几种不同的稳定排布,它在这些排布之间来回扩散。
柯伦: 所以这里有两种稳定排布,一种通向另一种,于是它就在两者之间振荡。这大致就是世界上分子的样子。
如果我能一路连成一圈,我就能做出一个细胞。我以前做出来过,会形成这样一层膜,跟真实生物学里发生的事一模一样。有了,差不多就是这样。
生物学里,脂质有亲水端和疏水端。疏水端朝内,两两配对,亲水端朝外。亲水的能跟水互动,可溶于水,疏水的则怕水,所以它们就往彼此那里靠,于是形成这样的结构。跟这个不完全类似,但它也是封闭的,也会自己摆成这种相对的构型。
我们体内如果没有这种涌现,这种比细胞层次还低的、膜的层次上的东西,没有脂质的这种涌现性质,我们根本不会存在。它是把我们一直维系在一起的根本东西。
所以我们人类,还有全部生物学,都是由一层又一层的涌现性质搭起来的。
学生: 你说的层,是指这些细胞吗?
柯伦: 不不,这些是脂质。上面一层是这些稳定的球形膜。再上面一层是细胞之间的互动,形成器官。再上一层是器官之间以及跟血液循环的互动。再上一层是大脑跟这些东西的良性互动。我们就是这样搭起了这些疯狂的层,生物学里到处都是这种东西。
这就是涌现。真正吃透涌现是件很酷的事。有什么想法或者问题吗?我们时间差不多了。
学生: 我看到的是,几乎每一件小事都能一路归结到最基本的物理过程。所以我觉得唯一的问题,是要发展出一种关于「组织」的理论,一种关于性质不变性的理论。比方说,哪怕过去一天里我有上千个脑细胞被毁掉了,也许是因为喝酒,我还是我。我的组织形式说了:这仍然是同一个东西。
柯伦: 你说的是鲁棒性(robustness)。你击中的正是鲁棒性。鲁棒性的意思是,你可以改变系统的一部分。比如无线网状网络,它是鲁棒的,因为你敲掉这儿那儿的一批节点,它作为一个网络照样存在。你说的是,在你的大脑里,哪怕你喝得烂醉,你还是知道你是你自己,所以它对这些变化是鲁棒的。
学生: 假设一些脑细胞被毁了,另一些新的被造出来,以确保我的自我概念得以保存。可是在旧细胞被毁和新细胞被造出来之间,我在哪儿?
柯伦: 你是说,如果一些脑细胞被毁了,你的自我概念暂时消解了,然后新的通路形成,把你的自我感找回来。
学生: 那么有那么一段时间,我根本不存在了。
柯伦: 这暗示着一个非常重要的点:如果你是一种涌现性质,你的自我感就不是那些实际的神经元,而是存在于更高层次上的那个东西。
学生: 但它必须由神经元来支撑,得有那个结构。
柯伦: 对,是一个支撑结构。但按你说的,如果它暂时消解了,那你就是暂时不存在。我不觉得还有别的说法。你就是消失,然后重新出现,而这种事一直在发生。
学生: 那也有可能。我可以被打晕,然后被重新组装起来,好吧,那还是同一个我。但这真的意味着……我非得有连续性才算真的在那儿吗?
学生: 其实你连连续性都不可能有,因为神经信号传递本身要花时间。所以哪怕你感到自己是连续的,那也许都是一种错觉,信号总得跑一段路。
贾斯汀: 从根本上说,你身体里的细胞每七年就更换一遍。七年前的你,跟现在的你不是由同一批细胞构成的。所以构成「你」的东西必须储存在一个更高的描述层次上:你可以一次拿掉一整块,而东西照样运转。
我们跟计算机的区别在于,我们可以一边运行一边换。就像我们希望能对计算机做的那样:一边跑着,一边换掉几个晶体管,甚至换掉一根内存条,上层的一切照常运行。因为这就是我们身上一直在发生的事。
学生: 可你也可以把内存拔了,那你就不是你了。
贾斯汀: 对,所以确实存在某些真正关键的地方,存在某些关键节点,把它们敲掉,整个东西就完了。这几乎是一个图论问题。我们在理解恐怖分子网络的时候真用过这套东西:你当然可以干掉几个下面的小角色,但那不会毁掉整个网络;可如果你干掉的是那个人,整个东西会不会就垮了?
这就好比,你要是脑袋上挨一下,说不定当场就完了;可要是有人打你的腿,你大概没事。所以这几乎在根本上是个图论问题。
柯伦: 我们谈的很多东西都是复杂系统的问题。你刚才提到,也许我们该做的是对各类系统建立一种一般性的理解,建立关于它们的理论,这就是复杂系统。新英格兰复杂系统研究所做的就是这个,还有加州的圣塔菲研究所。
贾斯汀: 新墨西哥。
柯伦: 对,新墨西哥,抱歉。
贾斯汀: 总之有很多有意思的东西可以去做。不管你的兴趣在哪里,我们都希望能把这份兴趣接上去。请下课后来跟我们聊,我们可以给你指个方向,我们完全开放。
这真的是最后一讲了,我想谢谢你们所有人来上课,谢谢你们带来问题,带来开放的头脑。我觉得这个学期我们过得相当不错,希望你们喜欢下一讲的《半梦半醒的人生》。在我说再见、一路顺风之前,还有最后的问题吗?
拉蒂夫: 有个问题我纠结了一整天。你有从 0 到 1 这个区间,也有从 0 到 2 这个区间,两个都有无穷多个元素,而且可以证明 0 到 1 之间的点跟 0 到 2 之间的点一样多。那既然两边的东西一样多,为什么 2 还是大于 1?
贾斯汀: 因为我们不是用「这里面有多少个点」来做良序关系的。我们是从整数出发,先给出整数上的一个良序,我们是这么走的。
拉蒂夫: 所以就像分数一样,里面有多少东西并不重要?
贾斯汀: 完全正确。单位区间里的东西是不可数无穷多,而整条实直线上的东西也是同一个不可数无穷。这些是无穷的悖论,但它们其实不是悖论,只是因为我们不习惯方便地思考无穷。
拉蒂夫: 所以这只是为了方便?
贾斯汀: 部分是。但另一方面,数学家是相当龟毛的生物,我们做这些定义不只是为了约定俗成,我们希望它们是严格定义的。你其实可以只用有理数,通过完备化的过程构造出实数。这个得去上本科的分析课才行。
拉蒂夫: 那我在一个正方形上再画一个正方形,我能说这个比那个大吗?
贾斯汀: 你还是绕在同一件事上。正如你说的,二维平面 R² 里的点,跟直线 R 上的点一样多。存在填满空间的曲线,能走遍每一个点,可以跟实直线建立一一对应,它们的基数是一样的。
拉蒂夫: 那为什么 2 大于 1?
贾斯汀: 为什么 2 大于 1?基本上是因为我们一开始就是这么规定的。
拉蒂夫: 可我们又说它们一样多,这不冲突吗?
贾斯汀: 不冲突。你给我一个数和另一个数,我照样能告诉你哪个更大,这没问题。
拉蒂夫: 那你怎么定义「更大」?是里面东西的多少吗?「里面东西的多少」又是什么意思?0 到 1 之间的点,跟 0 到 2 之间的点一样多。
贾斯汀: 这是个真命题,但同样为真的还有:奇数跟自然数一样多,偶数跟整数一样多。可这不是一个确定的数,这是无穷。正如你说的,它可以跟自己的一个子集建立一一对应,就像那张图。
拉蒂夫: 可我就是不明白,从「事情是这样」怎么走到「2 还是比 1 大」。
贾斯汀: 你就是不能拿「点的个数」当作你计数的度量,因为那不是一个良定义的想法。或者说,它是良定义的,但它不给你任何信息。它能告诉你的是实数比整数多,可你想知道的是 2 比 1 大。
拉蒂夫: 那能不能在这条数轴上放一个度量,让它跟整数上的差不多?
贾斯汀: 我不确定。如果你想多了解度量之类的东西,我们下课后聊。
有没有别的憋在心里的问题?好,那就到这儿吧。欢迎大家留下来接着聊。
学生: 就算你把自己解释成一堆数据,你怎么解释那个数据的观察者?
柯伦: 这就是缠结。而且就算这样,你还是有一个观察者。
学生: 那个观察者所观察的,也可以被放进去。它们彼此并没有不同,它们是不是同一个?
柯伦: 同一个,没有区别。所以你可以说数据在观察它自己,或者说它在记录关于自己的事情。因为哪怕在量子力学里,你也需要一个观察者,而所谓观察者其实可以就是两个粒子相互作用所发生的一次测量。所以粒子本身可以说就是它们自己的观察者。
学生: 我是不是说过……
柯伦: 不,我只是在想量子。
学生: 量子,好吧。
这是 MIT《哥德尔、埃舍尔、巴赫》系列课程的最后一讲:先用几分钟回顾哥德尔不完备定理的证明骨架(哥德尔编码→算术化推理→"可证性=素性"同构→自指不动点 G),然后转向本讲主题"层次与涌现"——从晶体管到操作系统、从神经元到心灵,讨论描述层级、自指的极限,并用多个粒子/交通/分子模拟程序演示简单局部规则如何产生复杂全局行为。
转化为「判断一个数是否具有 primness(哥德尔可证性)」这一算术性质的问题。依据在第 0–2 段的回顾:先用哥德尔编号把 F 的符号映射到自然数,再把公理和推理规则「算术化」为对数的运算,于是可证明性就像「完全数」「素数」一样,成为一个带自由变量的数论性质。这一转换是哥德尔证明的核心,因为它让系统能以数的语言谈论自身的可证性。
想说明同构(意义层的对应)可以在参与者都不知晓的情况下照常运转。第 9–11 段:Justin 引用海因莱因小说名开玩笑,Curran 没听出典故却仍觉得好笑;后来 Justin 查资料发现书中主角拿到 MIT 全奖,这是双方都不知道的第三层含义。由此引出反事实问题:如果哥德尔没有发现 PM 能谈论自身的同构,数学是否会继续「以为自己完备」而照常前进。
共同点是:每个个体(粒子、小球、车)都服从相同的、局部的简单规则,程序里没有写任何关于整体形状的指令,但整体表现出晶体、液滴、分子链、交通波、三角形/星形、细胞膜等结构。第 56 段给出定义:局部的简单规则导致全局现象,即高层的东西从低层更简单的东西中涌现。第 80 段的「nowhere in my program do I say … form a triangle」是最直接的例证。
用来类比「层级」:低层需求(生理、安全)是高层(爱、尊重、自我实现)的前提,正如硬件是软件的前提,人类历史也是逐层向上爬。第 41–45 段还借此说明课堂里的人关心「启蒙」这个塔尖问题,而街上很多人仍在担心安全。反例在第 46–49 段:学生指出有些人在不安全、不被爱的状态下仍达顶峰,Justin 以牛顿为例——他偏执刻薄、在造币厂把剪币者一律送上绞架,却能一晚解出最速降线问题,说明模型「有缺陷」。
推理链:(1)哥德尔证明任何足够强的一致系统都有真但不可证的命题 G;(2)把 G 加为公理后,新系统又会产生新的 G',无穷递归(第 7 段);(3)因此不可能靠一台机器机械地生成全部数学(第 6 段);(4)填补空缺需要创造新概念、新定义,探索旧系统未覆盖的推论,这不能机械化,「需要人类智慧」(第 8 段)。所以数学的不完备性反而是对人类创造力的结构性需求。
第 24 段:层级图中的箭头表示「可以用低层搭建出高层」,方向只向上——有物理层可以没有心智(树上不跑 Windows),但没有物理层就没有心智。这是存在上的非对称依赖。而第 63–67 段的争论是因果方向:一位学生坚持「没有更高的东西在控制低层,一切只是电活动」;Curran 回应因果是双向的——软件来自人的心智并决定硬件做什么,晶体管坏了也会「控制」高层。Justin 的调和是:本体上软件确实「只是」晶体管层的事,但人类使用描述层次,把软件当独立实体谈论是合法且必要的。两者并不矛盾:依赖单向,因果描述可以双向。
第 36–39 段:演化选择的是解决问题的能力(协作狩猎、农耕),而非「回头审视自己」的能力——在群体末尾琢磨「我是什么」的人会被猎豹吃掉。因此大脑被设计成不给我们访问决策过程的神经层记录,只给结果,「打包塞进一个小老鼠脑袋里」。第 72 段 Curran 补充:我们「被编程为忽略这些问题」。这一解释把内省的困难归为演化上的功能性屏蔽,而不是单纯的复杂度问题。
第 69–71 段:学生把自我分为「被大脑描述的自我」与「觉知它的觉知」,并主张进行自我谈论的那部分心智处于最抽象的层次,它不了解底层细节,因此对自己的描述只是像在分形上东张西望、靠直觉猜测结构,不能算「构造良好」的思想。Curran 承认这是佛教也在苦苦思索的问题,自己「没开悟、没有答案」,同时把它和大脑的复杂性联系起来:系统复杂到某个程度就无法内省自己的神经元。
类比是:把 G 加入数论后,新系统又能被哥德尔化产生 G';同样,你与自己「达成和解」的那部分,本身又成了新的未被理解的部分(第 75 段)。这在结构上有相似之处——都是自指导致的无限层级。但 Curran 自己立即说这是「对哥德尔不完备定理的危险用法,可能站不住脚」。严格来说,不完备定理只对形式系统成立,人的自我理解并非形式系统,也没有「一致性」和「可证」的精确定义,所以它只是启发性隐喻,不是证明。这种自我克制的态度本身值得学习。
本讲的隐含立场是:心智是大脑的高层描述,与软件之于硬件同构(第 21 段),因此原则上可由基于主体的系统涌现。彭罗斯(第 14 段)会反驳:人类能看出 G 为真而形式系统不能,说明人类不是图灵机,机器永远受限于停机问题,AI 不可能。讲者可能的回应有三:(1)第 15–16 段暗示的「心智社会」——人脑是大量互相矛盾的子系统投票,未必是单一形式系统;(2)第 86 段的类比——我们「运行自己」就像运行计算机,换掉部件仍能运转;(3)人类「看出 G 为真」也只是在更大的系统里做推理,同样有自己的 G'。Justin 事先也「警告」学生彭罗斯的观点有争议。
表面上支持:第 85–86 段说自我不是具体神经元,细胞可换、构成「你」的东西存于高层描述,那么只要复制高层结构就能复制自我。但本讲也埋下了三个困难:(1)第 24 段的单向箭头——高层必须有低层支撑,复制品需要等价的物理实现,而第 58 段的「多重可实现性」是否适用于意识并无定论;(2)第 85 段学生的问题——支撑结构消解期间「我在哪」,Curran 的回答是「你暂时不存在,再出现」,这意味着复制与原本之间没有连续性,谁是「我」成了空问题;(3)第 87 段的「关键节点」——某些结构一旦缺失整体崩溃,复制的精度要求可能逼近第 78 段说的「需要和宇宙一样大的计算机」。所以该观点在原则上允许复制,但在「同一性」问题上给不出答案。