计算机与智能(上)

发布于: 修改于: Android转发:0回复:0喜欢:1

作者:阿兰•图灵

1. 模仿游戏

我在考虑这样一个问题:“机器能思维吗?”这要从“机器”和“思维”这两个词的定义开始。定义很容易拘泥于词汇的常规用法,但这种思路很危险。如果仅仅根据这两个词日常是如何使用的,来给它们下定义,那必然会产生这样的问题:“机器能思维吗?”这一问题的意义和答案就得依靠类似盖洛普民意调查这样的统计方式。这就有点荒唐了。与其如此定义,倒不如用另一个可以相对清晰无误表达的问题来取代原题。

这个新的问题可以用一个游戏来描述,我们姑且称之为“模仿游戏”。这个游戏需要三个人的参与:一男子A,一女子B和一位提问人C(男女皆可)。提问者被单独隔离在一间屋子里,见不到其他两位。游戏的目标是让提问者判断其他两位参与者中,哪位是男,哪位是女。提问者用X和Y代表另外两人,游戏结束时,他说“X是A,Y是B”或者“X是B,Y是A”。提问者可以向A和B提问,例如

C:请X告诉他或她头发的长度。

假设X就是A,那么A必须作答。A在游戏中的任务是诱导C做出错误的辨识。所以他的回答可能是:“我是短发型,最长的几缕大概9英寸长。”

为了不让提问者从语气中得到提示,问题的答案应该是书面的,最好是打印的。最理想的安排是让两间屋子通过电传打印机进行通信,或者通过中介来传递问题和答案。B在这个游戏中的任务是帮助提问者。对她来说,最好的策略可能就是诚实回答。她还可以对回答进行补充,比如:“我才是女的,别听他瞎说。”但如果男子也可做出类似的回答,那就无济于事了。

现在我们提出这样一个问题:“如果在游戏中用一台机器来取代A,将会发生什么?”“这种情况与玩家是一男一女时相比,提问者错判的频率是否会发生变化?”我们用这些问题取代原先的问题:“机器能思维吗?”

2. 对新问题的评论

有人会问“新问题的答案是什么?”以及“这个新问题值得研究吗?”我们直接解答第二个问题,免去后头无止尽的循环倒推。

新问题的好处是,它在人的体力和智力之间做了相当明确的区分。没有一位工程师或化学家敢说他们能制造出和人类的皮肤一模一样的材料。当然了,将来,这可能会成为现实。即便如此,如果只是为了让“思维机器”看起来更接近人类,而为它们粉饰上人造的“鲜活外皮”,似乎意义也不大。这个新问题考虑到了这种情况,让提问者看不到、摸不到也听不到其他两位游戏参与者。这种标准还有一些其他好处,或许能通过下面的问答体会一二。

问:请以福斯桥为主题,写一首十四行诗。

答:我去,别让我干这个,我压根就不会写诗。

问:34957加70764等于多少?

答:(停顿大概30秒钟)105621。

问:你会下象棋吗?

答:会啊。

问:我的王在K1,没别的棋子了,而你只有王在K6,车在R1。该你走了,你走哪步?

答:(停顿15秒钟)车到R8,将军。

这种问答方式适用于几乎任何一种我们希望涵盖的人类行为。如果一台机器没能在选美大赛中胜出,我们不会加以责备,正如我们不能因为一个人跑不过飞机就认为他无能。我们的游戏设定让这些天生的不足变得无关紧要。只要参与者们认为可取,他们就可以肆意吹牛,乐意把自个儿描述成多么魅力无限、强壮无比、英勇无畏都可以。反正提问者不能要求他们实地表演。

但这个游戏有一个不足会引起批评:就是机器在游戏中的处境太过不利了。如果那男的试图去冒充机器,他肯定要露馅儿的。他会因为做算术题时很慢或常常出错而立即暴露。我们不禁要问,难道机器就没法执行某些被描述为思维的操作?不过,这些操作即使是思维,与人类的思考方式也是大相径庭的。这个反对意见确实有点道理。但是我们至少可以说,如果建造的机器能够令人满意地玩好模仿游戏,那我们就不会再被这个反对意见困扰了。

我们认为在玩模仿游戏时,机器的最佳策略可能并不是模仿人的行为。光模仿不见得能起到多大的作用。不管怎样,本文并不想在研究这个游戏的理论问题。我们的设想是:机器在游戏中的最佳策略是像人一样自然地作答。

3. 游戏中用到的机器

在本文第一节中提出的问题,只有在确定“机器”这个词的意义后才能得到明确。自然地,我们希望在我们的机器上可以运用一切工程科技。其次,有可能工程师们制造一台能够运作的机器。但是因为机器的设计方法在很大程度上都是试验性的,所以就连它的建造者们都不能预料这台机器的工作结果。最后,我们希望机器的定义不包括正常繁衍诞生的人类。要让定义同时满足这三个条件着实不易。举个例子,你可能会要求这些工程师们得是同一个性别,这个要求也不一定令人满意,因为通过一个人的单个皮肤细胞,培养一个完整的个体也不是说完全不可能。真能做到的话,那将是生物科技领域最具划时代意义的突破。但是我们不认为这是在“建造一台会思维的机器”。所以,我们不得不放弃“允许一切技术”这个要求。事实上,目前对“思维机器”的兴趣主要来自一种特殊的机器上,“电子计算机”或“数字计算机”。因此,我们只允许数字计算机参与我们的游戏。

乍一看,这个限制似乎过于苛刻。其实不然,为此必须先简单了解这些计算机的本质和性能。

在游戏中,只有在数字计算机表现糟糕时,才能说数字计算不符合我们的要求,正如我们为“思维”这个词定下的评判标准一样。

目前已经有许多能正常工作的数字计算机了,人们可能会问:“何不立即做实验?这样很容易就能满足游戏的要求。同时邀请多位提问者参与游戏,统计出判断正确的概率。”对这个问题,我的简要回答是:我们所关注的,并不是所有的数字计算机或者现有的计算机,能不能玩好这个模仿游戏。我们真正要问的是:是否存在一台想象中的机器,可以在游戏中精彩发挥。当然,这仅仅是一个简要回答,下面我们将从其他角度再来考虑这个问题。

4. 数字计算机

或许可以这么解释,数字计算机旨在执行一切能由人类计算员实现的操作。人类计算员必须严格遵守规则,在任何细节上,都不容许有一丝丝偏离。我们可以假设,有这么一本规则手册,每次有新的任务分配给计算员时,规则也会随之改变。人类计算员用稿纸做计算,稿纸的供应是不限量的。同时他还可以借助“台式计算机”进行四则运算,但这并不重要。

如果我们用上一段的解释,作为数字计算机的定义,那可能会陷入论证循环的误区。为了防止这种情况发生,我们把实现预期效果的途径列了出来。一台数字计算机通常由以下三个部分组成:

(i) 存储器

(ii) 运算器

(iii) 控制器

存储器用来储存信息,相当于人类计算员的纸,无论这是计算过程中用到的纸,还是用来印刷规则手册的纸。还有一部分存储器相当于计算员的记忆,记录计算员大脑中的运算。

运算器负责计算中的各种独立操作。这些独立操作是什么,就因机器而异了。通常,机器可以执行一些相当长的操作,例如,“3540675445乘以7076345687”。但是有一些机器只能执行非常简单的操作,比如“写下0”。

我们提到,计算员的“规则手册”占用了机器中的一部分存储器,我们不妨称之为“指令列表”。控制器的职能就是保证这些指令按照正确的顺序得到正确的执行。控制器的设计要确保这一点。

存储器里的信息通常会被分解为许多比较小的数据块。例如,一个机器中,一个数据块可能由10个十进制数组成。这些数字会以某种系统化的方式,被分配到多个存放在存储器上的数据块中。一个典型的指令可以这样描述:

“把存放在地址6890的数与存放在地址4302的数相加,并把结果存入后一个存储位置。”

机器中的指令肯定不是用英语标示的。这个指令更有可能是用代码的形式表达,例如6809430217。“17”在这里指“这两个数字的多种可能操作中,会执行哪一个”。这个例子中执行的就是“加法操作……”可以注意到,这个指令总共10个字,正好可以放在一个存储空间中,很方便。通常情况下,控制器都能保证指令按照它们的存储顺序被执行,但是偶尔也会碰上这样的指令:

“现在执行存储在地址5606的指令,并从那里继续执行。”

或者这样的指令:

“如果地址4505包含‘0’,那么下一步执行存储在地址6707的指令,否则继续。”

后面这种指令很重要,它使一组指令得以不断反复执行,直到某种条件得到满足。但是,要达到这个目的,就得重复执行相同的指令,不能变。拿日常生活中的一件小事打个比方:假设妈妈希望小汤米(Tommy)每天上学时都去修鞋匠那里,看看她的鞋修好没。那妈妈可以每天都跟小汤米说一遍这事。另一个办法是,妈妈可以在小汤米每天上学都能看到的地方贴个便条,提醒小汤米每天到鞋匠那里去看一下,直到小汤米拿回她的鞋,撕掉那个便条。

读者必须接受一个事实,那就是数字计算机的建造是可能的,而且也正是按照我们如上描述的原则建造的。事实上,这些数字计算机已经可以非常逼真地模仿一位人类计算员的行为了。

人类计算员须要遵守的规则手册,事实上仅仅是一个虚构的设想。真正的计算员记得住他们得做些什么。如果想让一台机器模仿计算员执行复杂的操作,那必须先问问计算员,这操作是如何做到的,再把结果翻译成指令表。这种构造指令表的行为通常被称为“编程”。“给一台机器编程使之执行操作A”,意思就是把合适的指令表放入机器使它能够执行操作A。

上述数字计算机概念的一个有趣的变种是“带有随机元素的数字计算机”。这些指令中包括掷色子的指令,或者某种同类的电子过程。举个例子,“掷一下色子,并把结果存入地址1000”。有时候人们认为这样的机器是有自由意志的(我自个儿不会这么说)。一般情况下,我们没办法只通过观察就能判断出一个机器有没有随机元素。如果我们从π小数点后面的数字中随意选择,也能产生相似的效果。

实际的数字计算机的存储空间都是有限的。理论上说,让一台计算机获得无限的存储空间并不困难。当然了,任何时候,我们只是使用有限的部分。真正能够被建造的容量也是有限的。不过可以想象,我们能够根据要求,添加越来越多的存储空间。这种计算机只有特定的理论价值,我们称之为无限容量计算机。

有关数字计算机的设想,其实很早就有了。1828年到1839年期间,担任剑桥大学卢卡斯数学讲席教授的查尔斯·巴贝奇就曾设想过这样的机器,他称之为分析机(Analytical Engine)。但是这台机器没有能被实际建成。尽管巴贝奇已经理清了所有的基本思路,但是在那个时代,他的机器并没有被看好。分析机能够达到的运算速度肯定比一个计算员要快得多,但还是比曼彻斯特机要慢100倍,而曼彻斯特机在现代计算机中已经算是比较慢的了。值得一提的是,分析机的存储全靠齿轮和卡片,是完全机械的。

知道巴贝奇的分析机能够完全通过机械手段建造,帮助我们破除了一个迷信。以往,我们只重视“现代数字计算机就是电的”这个观点,而且神经系统也是与电相关的。可是巴贝奇的分析机却是完全机械的。我们知道所有的数字计算机在某种意义上都是等同的。所以在理论上,电的使用其实没那么重要。当然,涉及快速发送信号时,电还是必要的。因此电在计算机和神经系统这两个方面的使用就不足为奇了。在神经系统中,化学现象最起码和电也是同样重要的。还有一些计算机的存储器还是基于声学原理。如此看来,计算机和神经系统都使用电,仅仅是表面上的共同点罢了。如果我们真想寻找这样的相似点,倒不如看看功能的数学性质。

5. 数字计算机的通用性

上一节中提出的数字计算机可以被归类为“离散状态机”。这类机器可以实现从一个确定状态向另一种确定状态的跳转。这些状态的差异之大,几乎不可能造成状态之间的混淆。但严格地说,这样的机器是不存在的,因为万物的移动变化实际上都是连续的。但是在某些方面,一些机器仍可以被视为离散状态机。例如照明系统中的开关,我们可以简单地把开关看成只有开和关两种状态。两种状态之间必定有转换过程,但是在绝大多数情况下可以忽略。举一个离散状态机的例子。想象一下,有一个每秒转动120度的轮子,一个外置的杠杆,轮子可能会受杠杆的阻挡而停止转动,并且在轮子的某个位置装有一盏灯。我们可以这样描述这个机器:机器的内部状态(通过轮子的位置来描述)可以设定为q1,q2和q3。输入信号是i0或i1(控制杆的位置)。任何时间的内部状态都是由前一次的状态和输入信号按照指令表共同决定:

    上一状态

q1q2q3

输入  i0q2q3q1

i1q1q2q3

输出信号是唯一能够在外部进行观测的内部状态指示器(比如灯),可以用下表描述:

状态  q1q2q3

输出  o0o0o1

这是一个典型的离散状态机的例子。只要状态数量是有限的,就可以用这样的表格描述它们。

可以看出,只要确定初始状态和输入信号,所有的未来状态都是可以预测的。拉普拉斯有这么个观点:只要确定某一时刻宇宙中所有粒子的位置和速度,就能够预知未来的所有状态。和拉普拉斯相比,我们的预测要接近实际。在“全宇宙整体”的系统中,初始状态下一个微小的误差,可能会在将来产生巨大的影响。例如说,在某个时刻,一个电子出现十亿分之一厘米的位置偏移,这可能将决定一年后某个人在一场雪崩中的生死。我们称为“离散状态机”的机械系统并不会发生这样的现象,这是它们的基本属性。且不说理想化机器,即使是一台实际的物理机器,只要掌握某个时刻合理准确的状态信息,也可以精确地预测其未来的一切状态。

我们所说的数字计算机属于离散状态机。但这样的机器所能够达到的状态数量是巨大的。例如,现在在曼彻斯特工作的机器大概有 2^165 000种状态,也就是10^50 000种。而在上文轮子的例子中,只有3种状态。不难解释为何状态数量如此庞大。计算机中有一个存储器,相当于计算员运算用的纸。记录在计算员的稿纸上的所有符号组合,都必须能够写入存储器中。为了简单起见,假设仅将0到9这10个数字作为符号,忽略手写体的差别。假如计算机的存储空间相当于100张纸,每张纸有50行,每行30位这么大。那么这台计算机的状态数量就会是10^100×50×30,即10^150 000,相当于3个曼彻斯特机状态的总和。状态数的基为2的对数通常被称为机器的“存储容量”。因此曼彻斯特机的存储容量大概是165 000位,而上文中轮子的存储大小大约是1.6位。如果两台机器加在一起,那么合成机器的存储容量应该是这两台机器存储容量相加的总和。因此我们说:“曼彻斯特机包含有64个磁带存储器,每个的存储容量是2560,此外还有8支电子管,每支的存储容量为1280位。各种各样的存储器加在一起大约是300个,存储容量达到174 380。”

只要给出与离散状态机对应的表格,就有可能预测机器将会做什么。这样的计算当然也能够通过数字计算机进行。只要执行的速度够快,数字计算机就能够模拟任何离散状态机的行为。如果让我们研究的机器和进行模仿的数字计算机分别充当模仿游戏中B与A,提问者将难以区分它们。当然,前提是数字计算机必须有足够大的存储空间和足够快的运行速度,而且它在模仿不同的机器之前必须被重新编程。

数字计算机因为可以模拟任意一个离散状态机器,这个特殊性质被称为“通用机器”。如果不考虑速度的话,这种机器的一个重要优点就是我们不必为不同的计算过程设计不同的新机器了。一台数字计算机就可以解决问题。我们需要做的是根据情况进行相应的编程。可以看出,所有的数字计算机在某种意义上是相互等价的。

现在,我们可以重新考虑一下在第三节末尾提出的问题。我们暂且用问题“在我们的想象中,是否存在可以在模仿游戏中表现出色的数字计算机?”来代替问题“机器能思维吗?”。如果各位不介意的话,我们再问一个貌似更加普遍的问题:“是否存在能够表现良好的离散状态机?”考虑到通用性,我们可以看出这两个问题事实上等价于这个问题:“让我们把注意力集中在一台特定的数字计算机C上。我们为C提供足够大的存储空间和足够快的计算速度,并且对它进行适当的编程。在游戏中,由人扮演B的角色,那么C能否令人满意地扮演A的角色?”

6. 主要问题的反方观点

现在一切准备工作已经就绪,我们可以就“机器能思维吗?”这一问题和上一节末尾所说的这个问题的变种展开辩论了。我们尚不能全盘摒弃原题。因为仍有一些人不认同用变种来替换原题。我们至少要听听不同的意见。

我想先就这个问题阐述一下自己的看法,希望可以帮助读者简化问题。首先,我们需要换个角度,更为精准地思考这个问题。我认为在未来50年的时间里,计算机的信息存储量将达到大约10^9,那时我们将能编写出计算机程序,使得计算机在模仿游戏中如鱼得水,标准是在提问5分钟后,一般的提问者能准确鉴别的概率不会超过70%。我认为原题“机器能思维吗?”没什么意义,也不值得讨论。到20世纪末,词汇的用法和普遍的成见都会发生较大的改变。那时候人们再谈论机器会思维时,就不会有如此的反对意见了。并且,我还认为,掩盖这些信念决不会带来任何益处。人们普遍认为,科学家们总是雷打不动地从可靠的事实到可靠的事实,从来不受任何未经验证的假设的影响。这种看法是相当错误的。假如能清楚地划分哪些是事实,而哪些又是未经验证的假设,那也没有什么坏处。假设非常重要,因为它们能够给研究指明道路。

我现在谈谈与我的看法相对立的观点。

(1) 来自神学的反对意见

思维是人类不朽灵魂的一项功能。上帝只赋予每个善男信女不朽的灵魂,但从未将之赐予任何其他的动物或机器。所以,动物或者机器不能思维。

尽管我不接受这种看法,但我可以试着用神学的说法来回应。我认为,如果将动物和人划为一个类别,这个观点会更有说服力些。在我看来,生物与非生物之间的差别远远大于人和其他动物之间的差别。如果把这一正统神学观点放在其他宗教团体里,就会显得更明晰。我认为,上述的论点隐含着对上帝无边神力的严重限制。必须承认,有些事情上帝也是无能为力的,比如,他不能让1等于2。但是,我们难道不应该相信,要是上帝愿意,他完全可以赋予一头大象灵魂吗?大家可能指望着,上帝能发挥无上神力造就基因变种,赐予大象一个升级版大脑,满足大象灵魂的需求。换成机器,我们也可以用同样的方式来论证。也许这看上去有点怪,不过是因为我们向前走得更远了一步。这其实只能说明,在这些情况下,上帝认为授予灵魂不合适。这些问题我们将在本文的其余部分再做讨论。话说回来,即使要制造这样的机器,我们也不应该傲慢地篡夺上帝创造灵魂的权力,就像人类不应该被剥夺生儿育女的权力一样。在这两种情况下,我们都只是上帝意志的工具,是他所创造的灵魂的居所。

但这仅仅是猜想而已。不管用神学论据来证明什么,我都不为所动。这样的论据在历史面前早已是漏洞百出。伽利略时代,有人企图用圣经中的“太阳在空中巍然不动……慢条斯理,不愿西落,已有一整日”(《约书亚书》,10:13)以及“他为大地奠定基础,叫它永远不动摇”(《诗篇》,104:5)作为论据来驳斥哥白尼的理论。用今天的知识来看,这种论据站不住脚。但当时没有知识,情况自然大不同。

(2)“鸵鸟”式的异议

机器思维会带来可怕的后果。但愿机器永远不会思考。

这种观点不如神学的说法那样直言不讳,但它还是影响了大多数人的想法。我们都愿意相信,在某些微妙的方面,人类比其他任何生物都更优越。这点要是能被证明,那再好不过了,因为人类就能稳居高高在上的统治地位了。神学的论点之所以这样风靡,很明显与这种情绪密切相关。这种观点尤其受知识分子的追捧,因为他们比其他人更看重思维能力,更信奉人类在这一方面的优越性。

但我认为这个论点不够充分,无须一驳。安慰倒是更需要的,这兴许能在灵魂轮回说中寻得些吧。

(3) 来自数学的异议

数理逻辑的一些结论可以用来证明离散状态机的能力是有限的。这些结论中最著名的是哥德尔定理。哥德尔定理(1931)声称,在任何一个足够强的逻辑系统里,都能形成一个陈述,这个陈述在本系统内无法被证明也无法被否证,除非这个系统本身就是不一致的。丘奇(1936)、克利尼(1935)、罗瑟和图灵(1937)等人也有同哥德尔定理很相似的结论。图灵的结果最方便,因为这个结果直接涉及机器,而其他人的结果只能用作相对间接的论断。比方说,要使用哥德尔定理,我们除了要通过机器来描述逻辑系统,还得再反过来,通过逻辑系统来描述机器。图灵讨论的机器是一台通用的数字计算机,已经证明存在着这样的机器不能干的事情。如果把这个结论套到模仿游戏中,那么就会存在某些问题。计算机要么回答错误,要么根本回答不了,无论给予多长时间。这类问题有很多,有些问题某台机器回答不了,或许换另一台机器就能满意地回答。我们假定,现在提的都是只需要回答“是”或者“不是”的问题,不会出现像“你认为毕加索怎么样?”之类的问题。我们知道的机器回答不了的问题都是如下类型的问题:“这台机器有以下特点……那么这台机器会对任何问题做出‘是’的回答吗?”这个问题的省略号部分是对某台机器的标准描述,就像是第五节中使用的机器。如果所描述的机器与被提问的机器具有某种相对简单的关联,可以证明,要么是答案错了,要么就是压根儿没有答案。这是数学结果:这个结论认定机器能力有限,而人类智能不存在这种局限性。

对于这个论点,我的回应是:尽管已经证明任意一台特定机器的能力都是有限的,但它没有任何证据表明,人类的智慧就没有这种局限性。我认为不应该轻易忽视这个论点。每当一台机器恰好碰上一个关键问题,并给出我们确定不是正解的答案时,这会让我们产生一种优越感。这种优越感是错觉吗?显然这种优越感是真实的,但我认为这没有多大的意义。我们人类自己平时也经常对问题做出错误的回答,没必要因为机器犯了错误就沾沾自喜。而且,优越感只是在小赢一台机器时体会到,而同时应对所有的机器,就不是那么回事了。简而言之,一个人有可能比一台特定的机器聪明,但也有可能就不如另一台机器机智。

我认为,大部分持数学异见的人,是可以接受把模仿游戏作为讨论基点的。而持前两种反对意见的人对判断标准问题估计根本就不会感兴趣。