符 征
(河南大学 马克思主义学院,河南 开封 475001)
认知计算主义的理论基石是认知与计算的一致性。在《计算机器与智能》中,图灵(Alan Turing)谈到可以摆脱具体介质,来讨论认知和计算的一致性。“计算机和神经系统都使用电仅仅是表面的相似。如果我们希望寻找这样的相似,倒不如对函数进行数学分析。”[1]虽然当时还缺乏经验证据,但图灵却预见性地指出:认知过程本质上可以通过可计算的数学函数来严格刻画;把计算过程都交给计算机来做,最后产生的结果应该和人的思考结果是一致的。这就是认知计算主义的总原则:把有效的大脑活动在抽象层次上转化为计算描述,然后在计算机上重新实现。事实上,因为大脑总是受到生理水平的影响,其产生结果的效率可能不会比计算机更高。
图灵的想法为后来的研究提供了方向,并催生出认知计算主义的口号:认知是计算。但这句话是空洞的,除非我们能说明认知如何被看作是计算的。因为认知当然与计算有关,宇宙中的一切过程都可以看作是与计算有关。比如,任何两个东西放在一起,都可以说明或例证了如“1+1=2”的抽象计算。但这种说法没有提供纯形式之外的物理或生物说明。同样,说“认知是计算”也决非仅仅是因认知研究中运用了一些数学公式。
非空洞的认知计算主义,必须在计算基础上说明认知的核心事实。这就类似于让数学家来研究物理学——二者本不是同一个领域,不具有共同的研究对象和研究方法。要知道,认知通常指的是与大脑活动密切相关的过程,而计算纯粹是对抽象对象的抽象加工。认知研究固然要运用数学方法,但数学运算的过程和结果,都只涉及与认知对象无关的抽象对象a,b,c,x,y,z等。所以要在抽象计算和具体认知过程之间建立一座桥梁,说明二者一致的机制基础是什么。这就需要一个实现理论。基于这种理论,我们可以说在某种意义上,系统“实现”了计算,而计算“描述”了系统。[2]如果不能首先说明实现理论,就无法说明计算在认知中的作用。
最早的实现理论是图灵提出的。他考虑如何将抽象的心理过程转换为具体的机械过程。当然图灵考虑的不是一般意义上的心理过程,而是计算过程,只不过后来又被推广到其他方面。和当前的认识相反,历史上计算一直被看作是最复杂最高阶的心理活动。从19世纪中叶开始,一批数学家开始考虑计算过程的机械化,也就是以物理方式重新实现大脑中对计算的思维过程。经过长期的努力,哥德尔、丘奇和普斯特等数学家逐步说明了可计算函数的特征。正是在这样的背景下,图灵发表了论文《论可计算数及其在判定问题中的应用》(1936)。图灵的理论与哥德尔等人的结果是一致的,但形式上图灵的说明更能反映计算的机械化过程。
关于数学运算的“机械过程”,图灵的看法是将人(即计算者)在计算过程中的心理活动状态归结为“机械过程的六条规则”:
1. 在计算的每一个阶段,只有少数符号受到关注;
2. 每一个阶段的行动仅仅取决于:受到关注的符号,以及计算者当时的心灵状态;
3. 通过在一条被划分为方格的纸带上写下符号,来进行计算;
4. 计算者每一步都只关注一个符号;
5. 计算者的下一步将取决于:当下的符号和当前的心灵状态;
6. 计算者的下一步行动是:在当前注意的方格里写下一个符号,然后把注意力转向它左边或右边的相邻的方格。[3]
其核心规则是“每一个步骤只处理一个符号”。这一想法后来成为人工智能中“符号加工”学派的思想渊源和基本准则。
那么这种大脑内部的思维规则,如何在大脑之外以其他物理方式重新再现呢?图灵考虑用笔在纸上处理文字符号。简单起见,可以把纸设置成长度无限,且划分为空白方格的狭窄纸带。每个方格要么是空白,要么只有符号“0”或“1”。笔可以永不间断使用。每次只能向左或向右移动一个方格;每次只能执行三个动作中的一个:“读”“写”和“擦除”。运行起来不需要任何创造性方法,只要执行上述机械规则就够了。图灵证明,这样的机器能够计算一切可计算函数。
图灵将这种计算模型的步骤分解为一系列基本操作,从而实现机械化。这种计算模型被称为“图灵机”,图灵机具有以下特征。(1)机器有一个沿磁带移动的读写头,只能有有限数量的“条件”(q1,q2,…,qn)。这些条件称为“m-配置”,构成机器的状态。(2)机器配有无限长的纸带,分为方格。(3)在任何给定时间,读写头仅扫描一个方格,该方格可能写有符号。(4)在擦除任何现有被扫描到的符号后,机器可以写入新符号。(5)可以移动读写头到最后扫描方格的右侧或左侧。(6)机器可以在每次原子操作之后改变其状态(例如,将读写头向右移动一个方格,扫描方格或写入符号)。(7)机器的行为,完全被一个由机器状态和扫描符号组成的有序对确定。这些特征正是“机械过程六条规则”的物理体现。所谓的“计算”,就是能够严格通过上述规则,在有穷步骤后获得明确结果的过程。
图灵还证明了通用图灵机的作用,它能模拟任何特殊的图灵机,从而理论上可以完成一切能行的计算任务。图灵机是一个抽象函数,也是一台在计算过程中读取和写入符号的机器。事实上图灵机不是飞机模型那样的物理模型,它的理论效用在于其抽象特性一旦被转移实现,就能达成相同的目标。
根据图灵的描述,物理系统执行数字计算的关键要求有如下几点。(1)具有识别并处理符号的能力。如果没有系统识别扫描的符号并且相应地响应,例如擦除符号或写入新符号,则系统不能执行任何计算。图灵机的磁头沿着磁带来回移动,并扫描有限的基本符号。这是一个典型的“符号加工”系统。(2)具有写入符号并将其存储在内存中的能力。图灵机读写符号用于中间计算和打印输出,所以机器的磁带是一个通用存储器,既可作为长期工作存储器,也可作为输入/输出设备。(3)具备遵守指令的能力。图灵机是通过遵守指令来管理的。大脑遵循的认知规则,被程序员具体化为图灵机的指令表。(4)在处理过程中具有与其环境相互作用的能力。在指令的作用下,系统能够自动寻找有效资源并加以利用。
图灵虽然强调大脑和计算机具有一致性,但是他没有说明这种实现的哲学基础是什么。比如,图灵没有说明,实施物理系统中符号操作和物理状态变化之间必要的因果关系。图灵机是抽象的,它完全独立于物理属性,不依赖于可能实现它的系统性质。图灵强调的是符号操作中对机械规则的应用。最关键的是能够机械地改变符号,从而完成符号配置的转换,而无论这种改变是在大脑中,在纸上,还是在机器里面。那么抽象符号是如何与物理系统密切联系起来的呢?图灵之后,许多研究者开始专注于这一问题,其中普特南(Hilary Putnam)和塞尔(John Searle)的讨论产生了重要的影响。
普特南引入了概率自动机(Probabilistic Automaton)的概念,它适用于图灵机和其他在一定概率下从一种状态转化为另一种状态的机器。这样的自动机是由感觉输入、以一定的概率把输入转换为一个新状态的操作与活动输出构成。普特南把这组有概率的转换,称为一个机器表。
普特南还引入了系统描述(Description)概念,因为一个系统可以同时实现多个不同的概率自动机。系统描述旨在说明多个不同状态之间的相关性,并事实上控制整个状态转换过程。系统描述类似于工业流程图,说明并决定着从起始状态到最终状态之间的整体走向。机器表代表的是某个机器实际执行的指令,而系统描述代表的是机器完成任务的一般性描述。或者说,系统描述代表的是解决任务的思路,而机器表代表着执行的细节。系统的机器表,就是在当前描述下的系统的“功能组织(Functional Organization)”。
普特南认为,认知与计算具有一致性,认知过程可以经过抽象在计算机上重新实现。不仅如此,心理活动没有那么特殊,它不仅能够在计算机上实现,还可以在多种介质上实现,比如“火星人的头脑介质”。这就是心理状态的多重实现理论。这个理论主张:“心理状态即功能状态,心理状态在类型上就是其因果或功能角色,即它在感官刺激、行为反应和其他心理状态的关系中所扮演的角色。”[5]这些装置之所以能实现特定功能,是因为它们具有相应的因果结构;之所以有这样的因果结构是因为它的物质部分的构造与排列。处于疼痛之中,就是拥有某种性质,而这种性质正是这种功能组织的特征。所以对心理状态的解释,转换为对心理状态所代表的功能组织的分析。
比如处于痛苦之中,就是组织(organization)的一种功能状态,并且满足以下四个条件:“(1)任何能感觉到疼痛的组织都是一个概率自动机。(2)任何这样的组织都有一种类型的描述,能够感觉到疼痛就是拥有一种正确类型的功能性组织。(3)这种组织的任何部分都不具有满足条件(2)的那种描述。(4)对于任何满足条件(2)的类型描述,都有一些状态,使得当且仅当其感觉输入是这些状态之一时,该描述所适用的组织处于疼痛状态。”[4]162所以图灵机的所有活动都可以“机器表”展示出来,同样所有的心理活动也都可以“机器表”展示出来。这就满足了“总原则”的要求。接下来就可以合法地问“能够感受到疼痛需要什么样的功能组织?”也即如何把心理活动抽象为机器表?普特南认为这是认知科学家的事情,作为一个哲学家,其目的只是揭示这一过程的性质。
根据多重实现理论,心理状态不必然只能由概率自动机来实现。所以计算主义只是功能主义所支持的无限可能性中的一种。但重要的是,普特南论证了心理状态是可以计算实现的,虽然不是唯一的,但其他实现方式也同样可以由计算实现。所以,计算是一种通用的、简洁的实现中介。
普特南对大脑活动与计算过程的一致性作出的说明是:形式系统与物理系统之间保持一种映射关系。简单映射是计算与世界交互的最基本方式。比如一颗星和另一颗星合起来成为两颗星:★,★,★★。对应的算法是:1+1=2。最早的计算器就是利用物理个体数量与数字的对应,来进行计算的。物理个体数量的变化是一个纯机械过程,不过随后需要一个转换系统把物理个体数量转换为数字。现代计算机的原理与此类似,只是更加复杂——用加法函数来进行具体的数值加法。在单一功能的计算机中,要执行简单的加法操作,首先要根据操作码找到加数和被加数的物理地址。加法操作有一个硬连接的机制,它使用逻辑门的组合将输入位转换为输出位。换句话说,加法运算是由一个独特的二进制模式编码的,每当这个特定的序列进入CPU的指令寄存器,它就像一个老式电话机被拨号触发,机械地将线路打开,进入正确的专用电路。
于是得到一种“简单映射解释”,即计算实现涉及到形式系统的抽象数学和物理系统的物理状态及其转换之间的镜像关系。塞尔将其总结为:“对于任何足够复杂的物理对象P(即一个对象,具有非常多的不同部分),和对于任意程序M,存在一个同构映射f,从P的物理状态的某些子集S,到M的形式结构。”[6]27如图1所示:
图1 物理系统与计算描述的映射关系图示
通过引入功能主义,普特南对图灵的认知计算一致性构想,作出了一种哲学解释。功能主义既回答了本体论问题,也提出了机制性说明。从此图灵的构想开始被称为“认知计算主义”,围绕它形成了许多哲学理论。普特南是功能主义的提出者,但是随着晚年逐渐转向意义问题,他彻底抛弃了功能主义。在《表征与实在》中普特南证明了,每一个普通的开放系统,可以同时实现每一个抽象的无输入有限自动机。这等于否定了“简单映射解释”,从而否定了功能主义的合理性。“普通开放系统”并不是处于均质状态的封闭系统,而是容易受到引力和电磁力等影响的,因而处于不断变化之中的系统。“在开放系统中,影响系统状态转变的各种力量或趋势,处于激烈的竞争中。例如,在雪花形成过程中,水分子的扩散与晶体生长的微观动力学之间存在竞争。”[7]83所以,开放系统的概念包括了与环境交互的计算系统。然后普特南定义了实现。
普特南对实现的定义 根据物理理论P,开放系统Κ在给定的实时间隔I内,实现了有穷状态自动机δ的n个计算步骤,如果存在一个一一映射F,能够从δ的状态类型映射到Κ的物理状态类型,也能从步骤I映射到n的时间区间,这样对于δ的任何两种状态q,p,以下条件成立:如果q→p是δ中从计算步骤j到j + 1 (0 相对于塞尔的定义,普特南强调实现必须在物理状态与计算状态之间具有同步协调关系。只要计算步骤发生转换,物理状态也会发生转换,反之亦然。普特南的论证是:设一个简单的有限状态自动机M,它在两个计算状态A和B之间转换,那么状态转换过程可记为ABAB。选择一个任意的开放物理系统(如一块石头)和一个有限的时间间隔,如从t0到tn。然后考虑石头的物理参数的相空间。随着时间的推移,即使石头看起来没有变化,也会随着其微观物理参数的演变,沿着相空间的轨迹运动。 考虑石头从t0到tn相空间的轨迹。可以把石头在相空间中的轨迹分为四个区域,记为r1,r2,r3,r4。这些区域是在从t0到tn之间的4个时间间隔内,挑选出石头的物理状态集。由于石头的物理状态完全由其在相空间中的位置来描述,因此相空间中的区域可以描述石头的物理状态。于是在第一个时间间隔,石头处于物理状态r1;然后是物理状态r2;然后是物理状态r3和r4。那么这段时间石头的物理转换序列是:r1 → r2 →r3→r4。但是,普特南观察到,这并不是石头表现出的唯一转变序列。石头也表现出这样的模式:r1 v r3 →r2 v r4→ r1 v r3→r2 v r4。也即石头每一时间间隔都在相空间(r1,r2,r3,r4)的某两个区域上随机振荡转换。 现在将物理状态r1 v r3映射到计算状态A,将物理状态r2 v r4映射到计算状态B,于是获得一个石头的物理转换和有限状态自动机M的形式转换之间的映射。石头的物理转换镜像反映了形式转换ABAB。因此根据简单映射解释,石头实现有限状态自动机M。这种映射方法,可以被其他计算和开放的物理系统所重复。使得每个开放的物理系统都实现了每个有限状态自动机。于是得到: 普特南的平凡性定理 存在物理理论P,使得对于任何开放系统Κ,对于一个无输入的有穷状态自动机δ(δ的步骤n > 0)和对任何时间间隔I,根据P的描述,K实现了δ的n个计算步骤。[7]82 这个定理说明:“每个通常的开放系统,都可以看作是每个抽象的有穷自动机的实现。”[8]这个定理对功能主义产生双重的反驳。一是关于计算的因果解释。普特南认为,“从计算状态A到状态B的过渡是因果关系。”[7]83如果该系统在时刻ti处于某一状态,那么根据物理因果律和连续性原则,系统必然会于时刻ti+1转向截然不同的状态。然后继续重复这个过程。这是一种不可逆转的物理因果的反映。所以计算过程是通过物理的因果机制反映出来的。因为计算过程是合逻辑的,而物理过程是符合定律的,所以二者适用的领域一般是不同的。逻辑必然性要强于物理必然性,因为物理定律超出一定的条件就会遇到反常,而逻辑应用是不允许有反常的。所以计算的因果解释将面临两方面的困难:如果用物理的因果机制来解释计算,那么可计算的范围将会被严重减小;反过来如果用计算来解释物理的因果机制,那么物理过程将遇到大量的反常。 二是关于普遍实现理论。普特南证明了,任何物理事物都能实现某个自动机。只要做适当的赋值和转换,一个石头就可以看作实现了任何复杂的计算。那么根据功能主义,石头就可以实现一个心灵的功能,或者说石头拥有一个和人一样的心灵。这不正是泛心论吗?它不但有悖于我们的科学信仰,而且严重违背了我们的直觉。另一方面,一个石头在适当的映射下,可以看作同时实现了多个计算。也就是说,一个石头可以看作同时拥有很多个(直到无穷个)不同的心灵状态,这和人的唯一的自我意识相矛盾。所以由“平凡性定理”所导出的普遍实现结论,从实现角度瓦解了认知计算主义。 塞尔也说明了简单映射解释可能得到的逻辑结论:弱泛计算主义,即每一个足够复杂的物理系统,都能计算出一些图灵可计算的函数;强泛计算主义,即每个足够复杂的物理系统都计算每个图灵可计算函数。[7]80塞尔的强泛计算主义和普特南的普遍实现是相同的。 塞尔认为,对于任何“足够复杂”的物理对象,它只需要有足够多可区分的部分,就可能执行任何计算。比如“我背后的墙正在执行WordStar程序,因为有一些分子运动模式与WordStar的形式结构是同构的。但如果这堵墙实现了WordStar,那么如果这堵墙足够大,它就实现了任何程序,包括在大脑中实现的任何程序。”[6]26因为可以在微观水平上对该墙进行物理描述,指定足够多的分子的某种运动模式。此外,任何程序,例如WordStar,都有一些描述其形式结构的规范。这种形式结构可以由任意数量的物理介质来实现,这是由多重实现原则决定的。“物理(实现的介质)是平凡的,除非它承认0和1的赋值和它们之间的状态转换”[6]26。墙尽管不能进行任何文字编辑,但在微观层面充满了物理状态的转换。 那么在简单映射解释中,映射M是如何被算法P的实现所固定呢?塞尔认为,正是基于P的步骤和规则,产生了从输入符号到输出符号的转换。这个过程是因果的,因为物理过程O能实现一些图灵计算,而一些物理特性足以让O遵循计算的步骤。简而言之,M将子集S中的状态,映射到P的抽象状态上。因此M不需要是一一映射,只要S中的状态参与到从O到P的映射中去就行了。这就要求O有数量足够大的可区分的部分,保证存在这样的一个子集S。因此,一堵墙必然具有正确的运动分子模式,以“反映”WordStar或任何其他程序规范的状态转换。 在这种情况下,计算过程是依赖于外部知识的。计算的特征包括程序状态之间的因果关系、数字计算系统的可编程性和可控性,以及它们在现实世界中的位置和情境等特征。然而即使作出更精确的定义,仍然不清楚物理世界依定律运行与语法过程是如何衔接起来的。即究竟是什么使得认为物理过程或对象在进行计算?因为数字计算是根据它的语法来定义的,语义分配来自计算过程之外。语义的赋值是认识论上相对的,而不是计算过程中固有的。因为物理对象的计算状态不是物理固有的,所以任何关于具体数字计算的描述在认识论上必然是相对的,是依赖主体的。这一结论与塞尔的“中文屋论证”的结论是一致的。 总之塞尔认为,简单映射解释很难避免以下结果:“(1)对于任何对象,都有对该对象的描述,在该描述下,该对象是一台计算机。(2)对于任何程序和任何足够复杂的对象,都有一些程序用来描述对象。”[6]27塞尔表明,几乎任何大型物理系统都可以实现任何想要的计算,这是由物理活动的复杂性决定的。如果这种平凡性论证是正确的,那么就会导致一种荒谬的泛心论——墙会像我们一样拥有思想。同时如果平凡性论证是正确的,那么就无法利用计算来解释我们独特的认知过程,因为大脑和每个宏观的物理系统一样,几乎实现了所有的计算。 虽然方法不尽相同,但普特南获得了和塞尔相同的结论,不过从计算与物理系统的关系来说,二者说明的主旨不同。塞尔说明物理系统执行数字计算的关键是认知者存在,或者说认知者存在是物理系统执行数字计算的充分条件。作为一个形而上学判断,塞尔断言,如果没有人,就不会有执行数字计算的物理系统。一个认知者被要求首先为物理系统分配“计算能力”,这个物理系统才拥有这个能力。这一观点的更广泛的结果是,可将物理现象划分为两类:一类是系统固有的纯物理现象,另一类是相对于认知者才存在的现象。作为一个数字计算系统、一把椅子或一块玻璃的性质,是相对认知者的。而分子运动和引力被认为是客观的,因为它们的基本性质是它们的物理本质。即使在没有任何认知者的情况下,分子运动和引力仍然存在。对于这些相对现象来说,可以用物理术语去描述它们,却无法用物理术语去说明它们。对它们的说明必然引入认知术语。 塞尔对物理系统复杂性没有特别要求,没有限制可容许的物理对象的类别,他认为,对于任何计算机程序,都有一些足够复杂的物理对象和对该对象的一些描述,在这些对象的描述下,它执行该程序,从而执行数字计算。虽然塞尔也提到,“足够大的墙”可以实现任何程序,但这并不是他的主旨。塞尔没有对所讨论的物理对象的类型或大小施加任何限制,也没有将分析局限于经典物理,这很容易导致强泛计算主义。 普特南并没有对物理系统执行数字计算提出关键要求。他不假设认知者。他把实现看作是因果机制的产物,也就意味着计算可以是纯物理过程的产物,是自然界自然规律的一部分,而不必相对于任何特殊的认知者。当然不排除任何普通的开放系统,可以被一些认知者解释为执行任何计算。但这并不意味着解释是认知者相对意义上的。因为普特南对解释条件施加了足够严格的限制。某些特定的现象是否可以被认知者以某种方式解释,并不仅仅取决于认知者,还取决于有关现象。 实现问题以图灵提出计算与认知的一致性开始,从图灵提出心灵的机械化到普特南的功能主义,是这一理论逐步完善和发展时期。再到普特南的普遍实现和塞尔的强泛计算主义,是实现理论遇到的一个重要反驳。普遍实现的结论试图说明:计算实现的概念完全不适用于认知科学;一个我们认为是完美有序的、能够在解释中发挥作用的概念,实际上是平凡的、空洞的,从而不可能完成它在解释中假定的作用。这对实现的概念在认知哲学中发挥解释性作用,构成严重的挑战。这些挑战促使研究者更加仔细看待解释性工作,并进一步阐明相关概念。三、塞尔的平凡性论证