在刘易斯·卡罗尔(Lewis Carroll)的故事《乌龟对阿契利斯说了什么》( What the Tortoise Said to Achilles )中,飞毛腿勇士赶上了奋力挪行的乌龟,使芝诺的经典悖论落了空。芝诺的悖论中,只要乌龟稍微先行一小步,阿契利斯就永远也赶不上它。在阿契利斯赶上原来差距的时候,乌龟会又往前前进一点;阿契利斯赶上这段差距的时候,乌龟又往前挪动更少一点,如此往复,永无止境。乌龟又给了阿契利斯一个类似的悖论。阿契利斯从它头盔里拿出一个巨大的笔记本和一支铅笔,然后乌龟开始口授欧几里得第一定理:
(A)与同一个东西相等的东西彼此相等。
(B)这个三角形的两边是与同一个东西相等的东西。
(Z)这个三角形的两边彼此相等。
阿契利斯让乌龟同意,任何人只要接受A和B以及“如果A并B,那么Z”,那么他就一定接受Z。但现在,乌龟不同意阿契利斯的逻辑。它说它有权拒绝结论Z,因为没有人在它必须接受的前提清单上写下过“如果-那么”规则。于是阿契利斯在它笔记本的清单上又在后面增加了一条C:
(C)如果A和B都真实,那么Z也一定真实。
乌龟回答说,它没看出为什么应该假设:只是因为A和B和C真实,Z就也真实。于是阿契利斯又增加了一条陈述:
(D)如果A和B和C都真实,那么Z也一定真实。
然后宣布“逻辑(必须)掐着你的喉咙,强迫你”接受Z。乌龟回答说,无论什么好得要告诉我的逻辑都值得写下来。所以录入到你的本子上吧。我们把它称作:
(E)如果A和B和C和D都真实,那么Z也一定真实。
“我明白了。”阿契利斯说,他的语调中透着一丝悲伤。
这时,叙述者因为有公务要急着赶往银行,只好作别这快乐的一对,直到几个月后才又经过这个地方。当他又经过时,阿契利斯还坐在极有耐力的乌龟背上,在他的笔记本上奋笔写着,那本子似乎已经快写满了。乌龟说:“你写下那最后一步了吗?我要没数错的话,那是第1 001条。还有好几百万条等着呢。”
这个悖论的解决方法当然是,没有一个推导系统会一直因循明确的规则。在某一点上,系统必须像杰瑞·鲁宾(Jerry Rubin)所说的,做就是了 。也就是说,规则只需被系统反射性地、强力操作执行即可,无须再提更多的问题。在那一点上,系统如果像一台机器那样运行,将不会去遵循规则,而是会服从物理学定律。类似地,如果表征是由“小幽灵(后台程序)”来读写的(用符号来代替符号的规则),“小幽灵(后台程序)”之中又有更小的(和更笨的)“小幽灵(后台程序)”,最终你得向“捉鬼敢死队”求救了,并用机器来取代最小最笨的“小幽灵(后台程序)”——对于人和动物,机器是用神经元制造的,也就是神经网络。我们来看看心智如何工作的图景,是如何建立在大脑如何工作的简单想法基础上的。
最初的线索来自数学家沃伦·迈卡尔洛克(Warren McCulloch)和沃尔特·匹茨(Walter Pitts),他们写了一些关于相互联结的神经元的“神经-逻辑”性质。神经元很复杂,仍不为人所完全理解,但迈卡尔洛克和匹茨以及大多数神经网络的建模者已经识别出神经元所做的最重要的一件事。事实上,神经元累积到一定数量,然后将总数与一个阈限相比较,来确定是否超过这个阈限。这就是对神经元所做的概念性描述;相应的物理描述是,一个触发的神经元其激活程度在不断变化,它的激活水平受到来自轴突的激活水平的影响,而轴突从附着在突触上的其他神经元一直延伸到本神经元的树突(输入结构)。突触具有的电量从正(兴奋的)到零,再到负(抑制的)。每个到来的轴突的激活水平再乘上突触的电量,神经元将这些到来的激活水平累加到一起;如果总数超过了阈限,神经元就会变得更活跃,继而向任何与它相连的神经元发送一个信号。尽管神经元总是处在激活状态,而到来的信号只是使它的激活水平变化为更快或更慢的可察觉速率,但有时将它们描述为关(静息率)或开(动作率)还是比较方便。
迈卡尔洛克和匹茨证明了,这些模型神经元是如何联结在一起组成逻辑门的。逻辑门执行了最基本的关系“且”“或”“非”,这些关系构成了简单推理的基础。如果A为真且B为真,那么“A且B”为真(概念上的)。如果它的两个输入都是开的状态,一个且门(物理上的)会产出一个输出。为了从模型神经元中做出一个且门,要将输出单位的阈限调至比每个输入分量大但小于它们的和,如图2-2左图中的微型网络所示。如果A为真或B为真,那么“A或B”为真(概念上的)。如果两个输入中任意一个为开的状态,一个或门(物理上的)产出一个输出。要做一个或门,将阈限设定为小于每个输入分量,如图2-2中间的微型网络所示。最后,如果A为假,“非A”(概念上的)为真,反之亦然。当一个非门(物理上的)没收到输入时,会产出一个输出;反之亦然。要做一个非门,将阈值设定为零,这样当没收到任何输入时,神经元会触发;令输入分量为负,这样输入的信号就会抑制神经元,正如图2-2右图中的微型网络所示。
图2-2 体现“且”“或”“非”关系的逻辑门
我们假设,每个模型神经元都表征一个简单的命题。微型网络可以联结在一起,其中一个的输出供应了另一个的输入,这样就可以评估一个复杂命题的真伪了。例如,一个神经网络能够评估命题{[(X咀嚼它反刍的食物)和(X有偶蹄)]或[(X有鳍)且(X有鳞)]},概括什么样的动物才清洁可食 。事实上,如果一个模型神经元网络被联结到某种可延伸的内存记忆(比如在一个橡皮印章和一块橡皮下滚动的一卷纸)时,它就成了一台图灵机,一台全速运转的计算机。
但是,在逻辑门中表征命题或组成命题的概念是完全不现实的,无论这些逻辑门是用神经元还是用半导体做的。问题在于,每个概念或命题都必须事先作为分开的单位并联结好。而计算机和大脑都是将概念表征为对于几组单位的活动模式。一个简单的例子就是,普通的字节代表着你计算机中的一个字母数字字符。字母B的表征为01000010,其中的数字(比特)对应到排列成行的小小硅片上。第二和第七小片充上了电荷,对应于1;其他小片没充电荷,对应于0。一个字节也可以用模型神经元来做,识别B模式的电路可以做成图2-3这样的简单神经网络:
图2-3 一种简单神经网络
你可以想象,这个网络是组成一个“小幽灵(后台程序)”的一部分。如果模型神经元的最底下一行与短期记忆相连,最上面的将检测短期记忆中是否包含一个符号B的情况。图2-4表示有一个“小幽灵(后台程序)”局部网络,它将符号B写入内存记忆。
图2-4 “小幽灵(后台程序)”局部网络
我们正在用模型神经元构建一个传统数字计算机,不过让我们略微调整一下方向,做一台更具生物形态的计算机。首先,我们可以用模型神经元来执行模糊逻辑而不是经典逻辑。在许多情况下,人们对某事是否正确并没有“全部或者没有”的十足把握。一件东西可以是某个类别中比较好或比较差的一个例子,而不是要么属于要么不属于。以类别“蔬菜”为例,绝大多数人同意,芹菜是彻底的蔬菜而大蒜是个一般般的例子。如果在里根政府鼓吹简化学校午餐项目时,我们相信政府的话,那么就连番茄酱也是一种蔬菜了——尽管在遭到如潮的批评后,里根政府承认那不是一个很好的蔬菜。从概念上讲,我们避开认为某种东西是或不是蔬菜的观点,而是说这东西会是比较好还是比较差的一个蔬菜的例子。从物理上讲,我们不再坚持一个表征“蔬菜性”的单位要么开要么关,而是允许它有一个值的范围,从0(如石头)到0.1(如番茄酱),再到0.4(如大蒜),最后到1(如芹菜)。
我们也可以取消任意代码,如果它们将概念与一串没有意义的比特建立关联。每个比特必须代表什么东西才能存在下去。一个比特可能代表绿色,另一个代表有叶子,还有一个代表咬起来嘎吱响,等等。所有这些蔬菜性的单位都以很小的权重联结到蔬菜这个单位本身。其他代表蔬菜没有的性质的单位(如“磁性”或“移动性”),可以以负权重与蔬菜单位相连,如图2-5所示。从概念上讲,一个东西具有的蔬菜性质越多,它就是一个更好的蔬菜的例子。从物理上讲,越多的蔬菜性质单位被开启,蔬菜单位的激活水平就越高。
图2-5 蔬菜性的神经网络
一旦一个网络被允许启动,它就能代表证据的可信程度和实践的概率,也能做出统计决策。假设一个网络的每个单位都代表一条证据显示“是男管家”(如刀子上的指纹,给受害者妻子的情书,等等),假设顶端的节点代表结论为“是男管家干的”。从概念上讲,显示可能“是男管家干的”的线索越多,我们推测“是男管家干的”的可能性就越大。从物理上讲,越多的线索单位被开启,结论单位就被激活得越多。我们可以通过将结论单位设计为以不同的方式整合输入,来在网络中执行不同的统计程序。例如,结论单位可以是一个阈限单位,就像那些开闭式逻辑门中的一样;那些单位只有在证据的权重超过一个临界值时(比如说,“排除合理怀疑”),才执行政策做出决定。或者结论单位能够逐渐地增加其活跃度;它的置信度会随着最初线索的逐渐渗入而慢慢递增,积累得越来越多,然后在收益递减的一点趋于稳定。这是神经网络建模者喜欢使用的两种模型。
我们甚至可以再大胆些,从神经元比硅芯片的联结更为方便这一事实中获得启发。为什么不把每个单位都与其他所有单位联结在一起呢?这样的网络所包含的将不只是“绿色”预测“蔬菜性”和“咬起来嘎吱响”预测“蔬菜性”这样的知识,而且还包括“绿色”预测“咬起来嘎吱响”,“咬起来嘎吱响”预测“有叶子”,“绿色”预测“缺乏移动性”,等等(见图2-6)。
图2-6 所有单位连接
随着这一变化,有趣的事情就开始发生了。网络开始产生类似于人类思维的过程,而这是联结疏松的网络做不到的。因为这个原因,心理学家和人工智能研究人员已经在使用“所有联结所有”式网络来对许多简单模式识别的例子建立模型。在他们建立的网络中,同样的线条出现在不同的字母中,同样的字母出现在不同的单词中,同样的身体部分出现在不同的动物身上,同样的家具部件出现在不同的房间中。顶端的节点往往已被摒弃掉,而只计算各性质之间的相关度。这些网络,有时被称为自动协关器,它有5个典型的特征:
首先,自动协关器是一个重构的、内容寻址的记忆内存。在商业计算机中,比特本身是没有意义的,它们组成的字节有着任意的地址,就像街道中的房子一样,其地址与内容没有任何关系。根据地址获得内存记忆的位置,然后确定一个模式是否储藏在记忆的某个地方,需要你去那里寻找(或利用聪明的快捷方式)。而在内容寻址的内存记忆中,确定某件东西自动会照亮记忆中包含了一个那东西复制品的位置。因为在自动协关器中表征一件东西是通过开启代表其性质的单位(在芹菜的例子中,绿色、有叶子,等等),而这些单位都彼此很紧密地联结着,所以被激活的单位会相互强化,过了几轮之后整个网络就都传遍了激活的信号,所有与这件东西相关的单位都将被锁止在“开”的位置。这表明这件东西已经被识别出了。事实上,一个自动协关器的联结电储能够支持许多组分量,不只是一个,所以它能够一次储存许多件东西。
更好的是,联结是冗余的,即使这东西只有一部分模式呈交到自动协关器那里,比方说仅仅是绿色和咬时的嘎吱声,模式的其余部分,“是否有叶子”也将自动完成。从某种方面说,这就是心智的回忆。我们不需在记忆中预先设定取回东西的标签,一件物体的几乎任何方面都能将整个物体带到心智中。例如,我们要回想起“蔬菜”,只要想到绿色和有叶的东西;或是绿色和咬起来嘎吱作响的东西;或是有叶的和咬起来嘎吱作响的东西。一个视觉的例子是,我们能够从一个词的几个零散部分就推测出这个词。我们不会将这些黑影看作随机的线段,或是任意序列的字母(像MIHB),而是看作一些更可能的东西(见图2-7)。
图2-7 一个视觉例子
第二个特征被称为“优雅地降解”,有助于处理嘈杂的输入或硬件失灵。当输入打印命令pritn file(打印文档)时,计算机回复为信息错误pritn: command not found(pritn:未找到命令)(print拼错为pritn),谁能忍得住不把鞋扔到电脑屏幕上?在伍迪·艾伦的《拿了钱就跑》( Take the Money and Run )中,银行抢劫犯维吉尔·斯塔科维尔由于他的书写而抢劫未遂,因为出纳员问他为什么写下他在拿着一支gub指着她。在那个装点了很多认知心理学家办公室大门的加里·拉尔森卡通片中,一个飞行员正飞临搁浅在一个沙漠孤岛上的一艘遇害难船,他读到画在沙地上的讯息,然后对着步话机大声喊:“等等!等等!……取消行动,我想它写的是‘HELF’。”在现实生活中我们干得要好得多,可能是因为我们装有自动协关器,使用了占优势的相互一致的信息来压倒一个不寻常的信息。“Pritn”会激活更为熟悉的“print”模式,“gub”会倾向于“gun”,“HELF”到“HELP”。类似地,一台计算机如果磁盘中有一个坏比特,一个插槽中有一点腐蚀,或者电源供应中滴入了一滴水,都会导致死机和系统崩溃。但一个疲惫的人、宿醉的人,或是脑受损的人并不会僵掉或崩溃;通常他或她会慢一些,也不太准确,但能够做出一个有智能的回复。
第三种特征是自动协关器能够做一种简约版的计算,称为限制性满意。人们解决的许多问题都有“鸡和蛋”的特点。第一章中的一个例子是我们根据对平面角度的猜测来计算平面的光亮度,并根据对光亮度的猜测来计算平面的角度,而二者都不能提前确定。这些问题在知觉、语言和常识推理中大量存在。我是在看一个折还是在看一个边?我听到的是元音[I](就像pin中的一样)还是有着南方口音的元音[e](就像pen中的一样)?我是一次恶意行为的受害者,还是一次愚蠢行为的牺牲者?这些模糊之处有时可以通过选择与对其他模糊事件最多数量的解释相一致的解释而解决,如果它们都能被一次解决的话。例如,如果一个发音的声可以被解释为send(传递)或sinned(犯罪的),要是我们听到一个讲话者用同样的元音嘟囔出这两个词我们就能够解决这个不确定性了。我会推断说,他一定是想说send和pen,因为send a pen(传递一支钢笔)是不违反同样约束条件下唯一可能的推测。Sinned和pin会让我说成sinned a pin(犯罪的一支别针),这违反了语法规则和可理解的含义;send和pin可以通过两个元音发音相同的约束条件而摒弃;sinned和pen能够被剔除是因为它们违背了这两个约束条件。
如果所有的相容性都只能一次检测一个,这种推理需要花很长时间。但在一个自动协关器中,它们都被提前编码在联结中,网络能够一次性评估所有的相容性。假设每个解释都是一个模型神经元,一个对sinned,一个对send,等等。假设那对解释一致的单位被联结到正电荷,那对解释不一致的被联结到负电荷。激活将会围绕着网络飞掠,如果一切运转正常,它会确定在一个状态,在这种状态中有最大数量相互一致的解释被激活。用一个恰当的比喻:就像是一个肥皂泡在鸡蛋形和变形虫形状之间摇摆不定,被周边邻近的分子拖拽着进到一块区域。
有时,一个约束网络可以有相互不一致但相等的稳定状态。这说明了这个现象整体的模糊性,即以两种方式来解释整个物体,而不是其各个部分。如果你盯着看图2-8(a)时(称作耐克尔立方),你的知觉会在顶面的俯视感和底面的仰视感之间不停转换。当整体转换发生的时候,对各个局部的解释也被拖着进行转换。每个近边成为远边,每个凸角成为凹角,等等。反之亦然,如果你试着将一个凸角看作凹的,你有时能够将对整个立方体的感觉翻转过来。这种动态可以用一个网络来表示[见图2-8(b)],图中单位代表着局部的解释,三维物体中一致的彼此相互激活,不一致的相互抑制。
图2-8 耐克尔立方(a)与动态网络的局部解释(b)
第四种特征来自网络自动归纳概括的能力。如果将字母监测器(将一堆输入单位汇集到决策单位)联结到字母打印器(有一个意图单位散开到一堆输出单位中),我们就制造了一个简单的读写或查询“小幽灵(后台程序)”——例如,一个打印出C来回应输入B的机器。但如果你略过中间人,直接将输入单位联结到输出单位,有趣的事情就发生了。你得到的不是一个忠诚的逐个到字母的查询“小幽灵(后台程序)”,而是一个能够做一些查询归纳的机器(见图2-9)。这种网络被称为一个模式协关器(pattem associator)。
假设底端的输入单位代表动物的外表:“长毛发的”“四足的”“长羽毛的”“绿的”“长脖子的”,等等。有了足够的单位,就能通过开启代表每个动物独特的那组特征的单位来表示它们。开启代表“长羽毛的”单位,关闭代表“长毛发的”单位等,就代表了鹦鹉。现在假设顶端的输出单位代表动物学事实,一个代表动物食草,另一个代表动物是温血的,等等。没有单位代表某个特定的动物(也就是说,没有“鹦鹉”单位),但权重自动地代表了动物类别在统计上的知识。它们隐含了这样的知识:长羽毛的动物倾向于是温血的,长毛发的倾向于是年轻的,等等。任何储存在对一个动物的联结中的事实(鹦鹉是温血的)自动地转移到类似的动物(虎皮鹦鹉是温血的),因为网络根本不在乎联结从属于任何一个动物。网络只是说哪些可见的特征可以推测出哪些可见的特征,而略去了关于动物种类共同的表象(见图2-9)。
图2-9 模式协关器
从概念上讲,模式协关器的原理就是,如果两个物体在某些方式上相似,那么它们很可能在其他方式上也相似。从物理上讲,相似的物体是由一些完全相同的单位所表征的,所以任何与一个单位的物体相联结的信息事实上就会与其他物体的许多单位相联结。此外,不同程度的包容级别被添加到相同的网络中,因为任何几个单位的小集合都隐含地界定了一个级别。单位越少,级别越大。比如说有对于“移动”“呼吸”“长毛发”“吠叫”“咬”和“见到消防栓就抬腿”这样的输入单位,发散出所有这六项的联结就触发有关狗的事实。发散出前三项的联结触发了关于哺乳动物的事实。发散出前两项的联结触发了关于动物的事实。只要有合适的权重,为一个动物设定的知识能够既与他的直接家庭成员也与他的远亲成员共同使用。
神经网络的第五个特征是它们从例子中学习,这些学习构成了联结权重的变化。模型建立者(或进化)不需要亲手确定令输出正确所需的上千个权重。假设“老师”将一个输入连同其正确输出供给一个模式协关器,学习机制将网络的实际输出(最初是很随机的)与正确输出相比较,并调整权重使二者的差异最小化。如果网络在一个老师说应当停的输出结点停了下来,我们就想让当前激活输入的汇集更可能在今后也把它开启。所以激活输入对于这个输出的权重就会略微提高。此外,这个输出结点本身的域限也略微地降低了,这样可以让整体都更能感受到这种触发-愉悦。如果网络开启了一个输出结点,老师却说应当关闭,相反的情况就会发生:当前激活的输入线权重会略为下调(有可能将原来超过零的权重调至负值),目标结点的域限则有所上升。这些都使得这个极度活跃的输出结点在今后对应那些输入时更可能关闭。整个系列的输入和它们的输出都呈交到网络,不断往复,导致一浪接一浪的联结权重微调,直到使得每个输入有了正确的输出,至少是尽可能正确的输出。
具有这种学习技术的模式协关器被称为感知器。感知器很有意思,但有一个很大的缺陷。它们就像来自地狱的厨师一样,认为每种成分要是有一点不错,所有成分就一定会更好。在决定一组输入是否合理地解释了一个输出的开启时,感知器给予了它们更多的权重并把它们累加起来。这往往会给出错误答案,即使是对于非常简单的问题。这个缺陷的一个教科书般的例子是感知器对于一个称为“异或”的简单逻辑操作的处理,这个逻辑意为“A或者B,但不是二者都”(见图2-10)。
图2-10 “异或”的简单逻辑
当A开启时,网络应该开启A异或B。当B开启时,网络应该开启A异或B。这些事实会诱使网络增加与A相联结的权重(比如说,到0.6),并增加与B相联结的权重(比如说,到0.6),令每一个都足够高,以至超过输出单位的域限(比如说,0.5)。但当A和B都开启时,我们的好东西就太多了——即使当我们想让它关闭的时候,A异或B仍一路狂呼乱喊。如果我们尝试小一些的权重或者高一些的域限,当A和B都开启的时候我们可以让它保持安静,但不幸的是,那样的话,当只有A或者只有B开启的时候,它将仍旧不出声。你可以用你自己的权重实验,但你会看到什么也不会发生。“异或”只是不能从感知器中构建的一种“小幽灵(后台程序)”;其他的包括确定开启的单位数是奇数还是偶数的“小幽灵(后台程序)”,确定一串激活的单位是否对称的“小幽灵(后台程序)”,以及得出简单加法问题答案的“小幽灵(后台程序)”。
解决方法是使得网络更不像一个刺激-反应的生物,并在输入和输出层之间给它一个内部表征。它需要一个表征令关于输入的关键信息彰显出来,这样每个输出单位只需累加它的输入就能够得到正确答案。以下就是对于“异或”所能做的(见图2-11)。
图2-11 “异或”的输入与输出
输入与输出之间两个隐藏的单位计算了有用的中间产品。左边的这个计算了简单的情况“A或B”,从而激活了输出结点。右边这个计算繁复的情况“A且B”,抑制了输出结点。输出结点可以只计算“(A或B)而不是(A且B)”,这对于它虚弱的力量来说也是力所能及的。要注意,即使是在用模型神经元构建最简单“小幽灵(后台程序)”的微观水平,内部表征也是必不可少的;仅仅刺激-反应的联结是不够的。
还有更好的,一个隐含层网络经过训练,能够运用一个更加新式的感知器学习程序来确定自己的权重。就像以前一样,老师将每个输入的正确输出都提供给网络,由网络来上下调整联结的权重,试着减少差异。但这提出了一个感知器无须担心的问题:如何将联结从输入单位调整到隐含单位。这是一个问题,因为老师又读不出心智,他无从知道封藏在网络内部的隐含单位的“正确”状态。心理学家戴维·鲁梅尔哈特(David Rumelhart)、杰弗里·辛顿(Geoffrey Hinton)和罗纳德·威廉姆斯(Ronald Williams)找到一个聪明的解决方法。输出单位对每个隐含单位反向传播了一个信号,代表着隐含单位对其所联结的所有输出单位的误差总和(“你传递了太多的激活”或者“你传递了太少的激活”,以及多多少或少多少)。这个信号可以作为代理教学信号用来调整隐含层的输入。从输入层到每个隐含层的联结都能够被上下推动,来减少隐含层在给定当前输入模式的条件下调整过量或不足的倾向。这个程序被称为“误差反向传播”,简称为“反向传播”,可以被后向迭代至无数层。
我们已经到达了许多心理学家看作是神经网络建模者的艺术的高度。在某种方式上,我们已经兜了一圈又回到原点,因为一个隐含层网络就像是麦卡尔洛克和匹茨对他们的神经逻辑计算机所提出的逻辑门的任意路线图。概念上讲,隐含层网络是将一组或对或错的命题组合成一个由多个“和”“或”及“非”联结在一起的复杂逻辑函数的一种方式,这种组合是通过两个扭转而成的。第一个扭转是值可以是连续的,而不是或开启或关闭,所以它们可以表征一些陈述的正确程度或真实的概率,而不是只能处理完全对或完全错的陈述。第二个扭转是网络在许多情况下能够被训练得通过提供输入和它们正确的输出而采用适当的权重。位于这两个扭转上面的是一种态度:从脑中神经元之间的许多联结获得启发,并对构成网络的门和联结数目的天文数字无所愧疚。这种道德观使一个人能够设计出计算许多概率的网络,因而也是利用了外部世界特征之间的统计冗余性的网络。而这反过来又使得神经网络能够从一个输入概括到类似的输入而无须更多训练,只要这个问题是类似的输入产生类似的输出。
这几个观点是关于我们最小的“小幽灵(后台程序)”及其公告板作为模糊的神经机器是如何运作的。这些观点起到一个桥梁的作用,到现在这桥还有点摇晃,它们的解释之路始于概念领域(祖母的直觉心理学以及它背后的各种知识、逻辑和概率理论),延续到规则和表征,最终抵达真实的神经元。神经网络还带来了一些令人愉快的惊喜。在解开心智软件时,最后我们可能会只使用蠢到足以用机器取代的“小幽灵(后台程序)”。如果我们似乎需要聪明点的“小幽灵(后台程序)”,有人就会弄明白怎样用更蠢笨的“小幽灵(后台程序)”来做出这些聪明的来。这一切都发展得太快了,而且有时发展得有所不同,比如当从下至上研究神经元的神经网络建模者能够构建一些“小幽灵(后台程序)”存货时,这些“小幽灵(后台程序)”存货可以做近便的事情,就像一个内容寻址的内存记忆,或是自动概括的模式协关器。心智软件工程师们(事实上,是逆向工程师们)有一个很好的部件目录,他们可以从中订取聪明的“小幽灵(后台程序)”。