房间里的大象探测器

发现大象

计算机和万物有灵论

本文试图介绍一种理解世界和意识的视角,它也许和泛计算主义(pancomputationalism)非常接近,但当然不会达到学术上的严谨,仅供感兴趣的读者参考。

心灵哲学上的计算主义(computational theory of mind)认为,人的意识是一种计算过程,而这种计算过程在物理上由大脑的神经网络实现。这里的两个关键的概念是“计算”和“实现”,我们接下来对它们逐一进行说明。

所谓的计算,即是指根据某些规则对符号进行操作,例如我们计算1+1会得到2,其中的数字和加号都是符号,然后我们的规则告诉我们1+1可以代换到2,于是我们产生了另一个符号2。对更复杂一些的(1+2)*3,按规则我们会先计算括号里面的,然后代换成3,再乘上3,代换为9。

我们可以想象计算就是按照一个流程,一步一步地操作,这在计算机领域也称之为算法。例如各种用来排序的算法,就是一个步骤,只要根据这个步骤一步一步操作,就可以得到一个排序好的数组。用来求最大公约数的辗转相除法也是计算的例子,给定两个数,当我们按照规则一步步操作的时候,就可以得到两个数的最大公约数。

但也有一些不那么显然的计算的例子,例如菜谱。我们可以把蛋糕的原料看作符号,面粉、黄油、糖、鸡蛋,当我们按照一些规则操作它们的时候,它们会被代换成一些中间符号,例如打发后的黄油、打散的鸡蛋。再根据一些规则对它们进行操作,我们就得到了最终的符号成品蛋糕。

计算机即是设计用来计算的机器,只要输入规则,它就会按照规则进行操作。因此一个电饭煲也是计算机,因为它按规则执行了一个计算过程。从这个角度看,厨师,呃,包括各种类型的社畜也统统都是计算机。旧时候的数学家往往看不上计算,因为计算只需要看懂规则,而不需要知道为什么,因此可以发放给工人(往往是女工)去做。冯诺依曼有一句臭名昭著的话是,计算这种可以用廉价人力堆砌的工作,完全不值得用宝贵的机器来处理。

一个做菜的算法可以同时被一个做菜机器和一个厨师实现。尽管一个机器和一个人显然是不同的,但是在执行一个菜谱的意义上,他们都是一样的,可以相互替代。实现关注的是如何在现实世界执行一个算法,而算法则被认为只是一种信息,不同的机器可以千差万别,但只要能装载同一个算法就是一样的。这听起来是不是很像灵魂和身体?算法是灵魂,而当一个身体拥有了厨师的灵魂,它就变成了一个厨师,无论这个身体是人,还是机器或者仿生人。

回到本文开头的命题,如果人的意识是计算过程,那么意味着人的意识可以脱离身体存在,它们只是信息,可以被写到纸面上,做各种推导。大脑只是这种计算过程的一种实现,但是我们完全有可能把意识用其他的方式实现,也就是做出和人类有同等意识的机器人是完全有可能的。

计算主义的这个观点并没有明确的证明和实验支持,也许最好的实验支持就是真正地做出这样的机器人。但是如果你觉得现在的机器学习已经做出了很多看上去有意识的例子,可能你会更信服这样的观点。目前所有的机器学习本质上都是在做计算,因为它们都实现在硅电子电路制成的计算机上,而这样的计算机所做的事就是根据一个算法,以非常快的速度操作符号。

接下来进入本文的后半部分,讨论万物有灵论(animism)。如果我们把算法考虑成灵魂,那么我们实际上可以发现灵魂无处不在,因为物理定律就是一种算法。一个苹果会下落,实际上就是预言了它会下落的万有引力定律的实现。物理定律规定了一个物体会按什么样的规则改变状态,而这些定律完全可以在纸上描述,并且一步步推导。它们实际上都是计算过程。而同一个苹果,作为一个身体,完全有可能装载另一个算法,例如万有斥力定律,它不但不会下落,而且会向上加速远离。

如果我们和苹果都是计算机,物理定律像是一套所有计算机都预装的程序,也就是我们都共同拥有的一部分灵魂。这种万物都在做计算,甚至我们的宇宙本身就是一个大计算机的观念,可以被称作泛计算主义(pancomputationalism),或者我更喜欢计算泛灵论(computational animism)。一位比较知名的支持者可能是Stephen Wolfram(就是那个狼内存)。

从这个角度看,我们和万物本质上并没有太大不同,无非都是执行某种算法的机器,只不过有些算法基础一点,有些算法特别一点。而有些算法甚至会让机器觉得自己是自由的,因此并不是一个算法的结果,但这可能只是低估了算法的能力所造成的幻觉。

如果说算法是信息,那么这种信息到底是什么?或者说灵魂的本质是什么?我们可以在纸面上描述这种信息,就如同描述菜谱一样,但是这并不是必须的。一个厨师在一步一步做菜的过程中也表达了这种信息。理想情况下,一个人既可以通过菜谱学做菜,也可以通过观看一个厨师的操作学做菜,这两种途径传递的信息是等同的。如果要我来给这种信息的本质做一个猜测,我觉得那应该是一个关于时间的状态序列。

算法描述了状态如何根据时间(一步一步地)变化,当执行数学算法的时候,纸面上的符号是状态,计算机内存里存储的是状态。而实际的算法,是由这些状态的一步步变化体现出来的。这里的时间和变化都很关键,因为如果只有一个瞬间,我们在不知道状态会怎么变化的时候,不可能看出它究竟在执行什么算法,或者是根本就没有算法。

那么如何才算学会了一个算法呢?就是可以模仿这种状态变化的时候。当一个新手厨师可以模仿老手厨师做菜的时候,他实际上就加载好了做菜的程序。某种意义上说,这是一种鬼上身的情况,老厨师身上的一部分灵魂进入了他的身体里。当我们对一个计算机程序进行排错的时候,我们被计算机鬼上身了,而当我们读一本书的时候,我们被书的作者鬼上身了。如果你从头追随我的推论到现在,那么也许应该说你也被我鬼上身了。

通过模仿,我们可以拥有其他事物的灵魂。如果我们模仿一个石头一动不动,那么我们实际上就拥有了石头的灵魂,因为我们加载了它的算法。而想要理解另一个人的行为和感受,也许模仿也是唯一的办法。拥有同一块灵魂,可能就是相互理解的本质。当然外在的行为的模仿,不一定能还原出所有内在的感受状态的变化,尽管这可能是我们最多可做的。

如果你发现了这篇文章实际上是一连串滑坡谬误组成的,那么你可能很有当哲学学者的潜质。虽然说大部分哲学推论本身就在干这事,但我还是应该对一些显著的问题诚实一些。在前面的议论中,我们基本都把实现看作是无所谓的,而算法的信息才是本质,但是有一些例子,实现的不同却能产生很大的差异。

实现除了代表了一个算法是怎么在现实世界里执行的,也同时关注了一个符号在现实世界中的映射关系,例如什么样的现实物件才应该对应到菜谱里的鸡蛋,而什么样的现实物件能对应到菜谱里的成品蛋糕?在纸面上合成一个蛋糕,或者说我们在纸面上计算一个化学反应的结果,和在现实中做一个化学反应是不一样的。纸面上我们能得到的只是符号,而现实中我们能得到实际的产物。因此不同的实现对我们来说有不同的现实意义。

我们可以在厨房模拟器里做一道菜,也可以在现实里做一道菜,尽管它们的步骤是完全一样的,但是我们对这两者究竟是不是等同却有所怀疑。因为后者做出来的菜我们真的可以吃到,而菜的香气并不能被菜谱所捕捉。

菜这个符号可以映射到模拟器里的虚拟的菜,也可以映射到现实中的一盘菜,但这两种映射方式包含了差别很大的额外信息。这可能意味着算法始终只是现实世界的抽象,因为它只记载了有限的信息,而现实中的实现可以补全非常多尚未被记载的信息,这些差异仅仅是因为映射关系的不同造成的。

尽管这并不影响我们去设想万物有灵,但灵魂和身体的关系可能确实比我们能做的各种描述都复杂得多,也许人类能做的只是在二者之间选取一个合适的重心。

喜歡我的文章嗎?
別忘了給點支持與讚賞,讓我知道創作的路上有你陪伴。

CC BY-NC-ND 2.0 版權聲明

看不過癮?

一鍵登入,即可加入全球最優質中文創作社區