按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
一个麦卡洛克-皮茨神经网络是一个麦卡洛克-皮茨神经元系统:把每一神经元的输出分解成为线路而相互关联起来,其中一些输出还与其他神经元的输入相关联(图5.16)。尽管这种系统概念非常简单,但是任何“经典的”冯·诺意曼计算机都可以用这种神经元网络进行模拟。1954年,约翰·冯·诺意曼写了一篇报告稿。它以首次明确阐述存贮程序的思想而闻名,存贮程序与其要操作的数据都可驻留在计算机的记忆装置中。该历史文献表明,冯·诺意曼完全意识到用麦卡洛克-皮茨网络进行计算的可能性。
数学上,一台冯·诺意曼计算机可以设想为一台有限自动机,包括有限输入集X、有限输出集Y和状态的有限集Q。有限自动机的动力学用下一状态的函数&来定义,将时刻t的状态q和输入X变换为时刻t+1的状态&(q,X),以及将输出函数B与状态q关联成为输出B(q)。
一台冯·诺意曼计算机的组件,诸如输入…输出单元、存贮器、逻辑控制单元和算法单元,都容易表明是有限自动机。甚至一台现代的数值计算机,它是由数千元素集成在芯片上的网络,也可以理解为麦卡洛克…皮茨类型的神经网络。一般地说,每一寄存机、图林机或递归函数,都可以用适当的有限自动机网络来模拟。但是这些麦卡洛克…皮茨神经网络的应用仍然是在程序控制系列计算机的框架中工作。
最先试图将图林的通用计算机概念扩展到自繁殖自动机思想又是约翰冯诺意曼。他注意到,一台建造其他机器的机器,会降低被建造机的复杂性,因为它使用的材料不可能多于由建造机所给定的材料。与这种传统的机械观点相反,生物进化中的活的有机体看来至少是可以与其父代一样复杂,而在长期进化中会增加其复杂性(赫伯特·斯宾塞)。
冯·诺意曼的细胞自动机概念,把活的有机体设想为细胞的自繁殖网络从而首次提出了为其建立数学模型的线索。态空间是均一点阵,它被划分为相同的元胞如同棋盘。一台初等的元胞自动机是一个元胞,它可以具有不同的状态,例如可以有“占态”(用一个记号)、“空态”或“色态”。初等自动机的集合体,被叫做一台复合自动机或构型。每一自动机都以其环境即相邻元胞为标志。自动机的动力学是由同步变换规则确定的。冯·诺意曼证明,活系统的典型特征,它们的繁殖自身的趋势,都可以用(平面上的)200000个元胞的自动机来模拟,在此每一元胞有29种可能的状态,4个相邻角上的元胞则作为环境。
这种思想由约翰·康韦发展了,他的元胞自动机可以模拟活系统群体的生长、变化和死亡。下面是一个简单的例子,其中元胞有两种可能的状态“占态”(记号)或“空态”,使用同步规则:
1)生存规则:一个有2至3个占态相邻元胞的占态元胞保持不变化。
2)死亡规则:一个元胞丢失了它的记号,如果它有3个以上的邻居元胞(“群体过密”)或少于两个邻居(“孤立”)。
3)新生规则:如果一个空的元胞正好具有3个占态的相邻元胞,那么它就获得一个记号。
图5.17a示意了一种构型在第三代的“死亡”,图5.17b示意在第二代的“生存”。康韦的理论还有一些更令人吃惊的结果,它们是通过计算机实验发现的。
元胞自动机不仅仅是优美的计算机游戏。它们还是描述了其动力学演化的非线性偏微分方程复杂系统的离散化和量子化模型。让我们再想像一块类似棋盘的元胞的平面。一条有限的元胞串,构成了一台1维元胞机自动机,其中每一个元胞都可以取两种状态之一(“黑”(0)或“白”(1)),它仅仅与其两个最近相邻发生关联,在此它们交换关于其状态的信息。1维元胞自动机的紧随的(下一个)状态是空时平面紧随的元胞串,其中每一都由取得一种或两种状态的元胞构成,依赖于它们先前的(上一个)状态和它们的两个最近相邻。图5.18b-e表示4个元胞自动机在60步中的时间演化。因此,1维元胞自动机的动力学是由3个变量的布尔函数确定的,其中的每一个变量都可以取值0或1。
对于3个变量和两个值,3个近邻有2'3'=8种可能性。在图5.18a中,它们是按照相应的3个数字的二进制数排序的。对于3个近邻中的每一个,必定有一个规则确定中间元胞的随后状态。对于8个数字的序列和两种可能状态,有2'8'=256种可能的组合。这些可能的组合之一,确定了一个1维元胞自动机的动力学,这示意在图5.18a中。
每一规则,由8个数字的二进制数的状态来标志,这些状态是每一随后的元胞串可以采取的。这些二进制数可以按照它们的相应的十进制数来排序。
这些规则的时间演化标志了1维元胞自动机的动力学,从随机的初始条件出发产生出非常不同的元胞模式。计算机实验给出了演化的元胞模式所要采取的如下的吸引子类型。经过一些步骤以后,类型1的系统到达了与起始条件无关的平衡均匀态。这种平衡终态示意为完全的白平面,并相应于某种作为吸引子的不动点(图5.18b)。
类型2的系统,经过一些步骤后,表现出恒定的或周期的演化模式,它是相对独立于其起始条件的。模式的特定位置可能依赖于起始条件,但不是总体模式结构都取决于起始条件。
类型3的系统向混沌态作为终态吸引子演化,而没有任何的总体周期性。这些混沌模式敏感地取决于起始条件,并表现出具有分数维数的自相似行为(图5.18d)。类型4的系统产生高度复杂的结构,具有局域传播形式(图5.18e)。类型3和4的系统对于微小的涨落是敏感的,微小的涨落可以影响秩序的总体变化(“蝴蝶效应”)。因此,在这些情形中,演化过程不可能作出长期预测。
显然,这4种类型的元胞自动机模拟了自组织过程中大家熟悉的非线性复杂系统的吸引子行为。在前面的章节中,我们已经看见了许多物质、生命和精神-大脑进化的例子。在第6章中,我们将要考虑许多与人类社会进化的类似性。一般地,自组织被理解为复杂系统中的相变。宏观模式从微观元素的复杂非线性相互作用中出现。相变的不同终态相应于数学上不同的吸引子。
在图2.27a-e中,已经对于流体的不同吸引子进行了考察,流速是逐步加速的。这些流体模式,与相应的元胞自动机的演化模式有许多相似之处。在最初的水平上,流体到达了均匀的平衡态(“不动点”)。在较高速度时,可以观察到两个或多个顶点的分叉,相应于周期的和准周期的吸引子。最后,有序衰退为确定论混沌,它是复杂系统的分形吸引子。元胞自动机的类型3和类型4对于建立过程模型极为有趣。类型3提供了混沌系统的演化模式。类型4表现了耗散系统的演化模式,这样的系统有时具有拟有机形式,它们可以在有机体和群体的进化中观察到。
从方法论的观点看,一个一维的元胞自动机提供了一种离散的量子化相图模型,描述了依赖于一个空间变量的具有非线性偏微分演化方程的复杂系统的动力学行为。人们局限在离散模型的原因是多方面的。非线性系统的复杂性往往太大了,难以在合理的时间内计算出近似数值。在这种情形下,一个离散的模型对于系统的长期的总体动力学行为,可以提供大致的,但是充分的信息。如果进化规则的相关性被扩大到元胞串中的两个邻居以上,动力学行为就不同了。
二维的元胞自动机,在康韦的生命游戏中已经使用了,可以被解释为采取非线性演化的复杂系统的离散模型,依赖于两个空间变量。显然,当非线性系统的复杂性增加,以及由求解微分方程或甚至由计算数值近似来确定其行为变得越来越无望时,元胞自动机是非常灵活有效的建模工具。
从历史角度看,元胞自动机的现代发展可追溯到冯·诺意曼早期的自繁殖自动机思想。除了自繁殖以外,与传统的计算机相比较,还有另一个特征对于自然复杂系统是根本性的。人的大脑具有学习的可能性,例如,通过感知进行学习。在麦卡洛克-皮茨网络提供的大脑的一级逻辑模型中,人工神经元的功能对于所有时间都是不变的。麦卡洛克-皮茨成功地揭示出,这种类型的形式神经元网络可以计算任何有限的逻辑表示。
但是,为了使神经计算机能够执行复杂的任务,有必要去发现自组织机制,使神经网络能够进行学习。唐纳德·霍布1949年提出的第一个神经生理学习现则,在神经计算机的发展中具有重要意义。神经元突触的敏感性并非一成不变,而是在改变着自身,以有利于重复出过去已经反复出现过的发放模式。
1958年,罗森布洛特设计了第一台学习神经计算机,它以名字“感知机”而闻名。罗森布洛特原先是一位生理学家,专注于人的学习过程的生理学活动。他设计的学习机具有复杂的适应性行为,工程师和物理学家都很感兴趣。因此,用不着惊奇,生理学家的新颖思想被工程师抓住了,那些工程师对机器人和计算机技术,比对于模拟人脑中的过程,具有更大的兴趣。从技术的观点来看,神经计算机的学习程序是否与心-脑系统的学习过程类似不是根本性的。它们必须在管理复杂的适应行为时是有效的,但是可以利用完全不同于已知的生物进化中的方法。
罗森布洛特的神经计算机是一种馈向网络,采用二进制阈值单元,有3个层次。第一层是感知面,叫做“视网膜”,它由刺激细胞构成(S单元)。S单元与中间层相联接,其间的权重固定,在学习中不发生变化。中间层的元素叫做联想细胞(A单元)。每一A单元都有某些S单元的固定权重的输入。换言之,一些S单元将其输出投射到一个A单元上。一个S单元还可以将其输出投射到几个A单元上。中间层是完全与输出层相联接的,输出层的元素叫做反应细胞(R单元)。中间层与输出层之间的权重是变量,因此是能够学习的。
感知机被看作神经计算机,它可以将感知模式分成可能的若干组。在两组的情况下,每一R单元学习以激活和去活方式去区别输入模式。感知机的学习程序是受指导的。因此,必须清楚地认识与所要学习的模式相应的所希望的每一R单元的状态(激活或未被激活)。要学习的模式提供给了该网络,在中间层和输出层之间的权重按照学习规则进行适应。重复此程序,直至所有的模式产生出正确的输出。
学习程序是一种简单的算法:对输出层的每一元素i,实际上输出o,它是由一定模式产生出来的,与所希望的输出d;相比较。如果oi=di,那么该模式就已正确地分类。如果所希望的输出di等于1以及实际上的输出oi等于0,那么在时刻t的所有的权重wij(t)以及激活单元(oj>0)在随后的步骤t+1树放大,或形式上有wij(t+1)=Wij(t)+σoj。常数u是学习速率,它可以按照其大小增加或减少学习的速度。如果所希望的输出等于0,实际上输出等于1,那么所有具有激活元素的权重都会消失,或形式上有wij(t+1)=wij(t)-σoj。
感知机看来是以无所不能的神经网络开创了一个计算机技术的新时代。感知机小组在早期的文章中进行了如此的夸张。但是,1969年,尖锐的批评使得这种热情消失了。那一年,马尔文·闵斯基和西摩·帕佩特出版了一本著名的书《感知机》,书中以数学精确性讨论了感知机的局限性。对于这一分析的反应是,大多数研究小组都放弃了它们对于神经网络和复杂系统探究方式的兴趣,而转向经典的AI和计算机技术,看来这比感知机迷的“猜测”要更有益。
但是1969年以后的这种科学共同体的态度,当然是又一次反应过度了。无批判的热情和无批判的谴责,对于科学的进化都是不合适的做法。达尔文进化用了成千上万年,才使得我们的大脑具有了模式识别的能力。如果我们的工程师只用几年就成功地构造出来类似的神经计算机,那就是奇迹了。
关键是随后的一些问题。感知机能够干什么?不能干什么?感知机为何不能干?回答这些问题的一个基本步骤是闵斯基和帕佩特证明的所谓感知机收敛定理。它保证了原则上可用此种网络学习并可在有限的学习步骤中发现解。在这种意义上,系统收敛到一个解已经得到了证明。
但是由此引出的问题是,特定的解是否原则上可以用感知机进行学习。一般地说,我们必须确定适用于感知机的问题类型。一些简单的例子表明,感知机并非如最初热情中所相信的那样是通用的。例如,一台感知机是不可能区别偶数和奇数的。一个特例是所谓的奇偶性问题对于初等逻辑的如下应用。
感知机不能学习排除OR(缩写为XOR)。这种无法解决的认知任务是感知机应用于AI的一个严重局限。此原因容易说明。排除OR对于xXORy,仅当或x或y为真时为真,并非x和y都为真。一条OR语句的xORy,仅当x和y都为假时为假,否则为真。如下的表提供了布尔函数OR和XOR的值:
现在,设想一个网络,有两个输入单元x和y,以及一个输出单元z,它们可以采取状态1(激活)和0(末激活)。要模拟XOR,对于一个偶的输入(两个输入单元都是激活的或都是末激活的),输出应该为0,而对于一个奇的输入(一个单元是激活的,另一个是末激活的),输出应该为1。在图5.19a,b中OR和XOR的可能输入构型示意在一个坐标系中,其中输人x和y作为坐标。
坐标x和y的每一对(x,y)具有相应的值z,它是用白点(0)或黑点(1)来标记的。一个线性的阈值元素Θ计算加权输入x和y,权重是w1和w2,形式上即是Θ=w1x+w2y。一个简单的求导提供了一条直线,示意在图5.19a,b中。直线的位置是由权重w1和w2确定的。它将阈值元素的激活和末激活的状态隔离开来。
为了求解(“学习”)OR问题或XOR问题,权重w1和w2必须以这样的方式加以调整,使点(x,y)以及值z=1与具有0值的点隔离开。这种线性的隔离对于OR问题从几何上是可能的,但是对于XOR问题是不可能的。一般地说,感知机对于输入模式的分类,局限在线性隔离模式的范围。
这种结果能够容易地被推广到两个以上输入单元和真值。许多问题在线性不可隔离的意义上,类似于XOR。实际上大多数有趣的计算问题都具有这种特征。XOR问题可以由加上一个隐含单元到具有两个输入与输出相关联的网络中来解决。隐含的元素是与输入和输出都关联的(图5。19c)。
当两个输入都是0时,具有正值的隐含中间单元就关闭了。一个0信号到达输出,以及由于在这种情况下阈值为正,所以输出为零。如果两个输入中只有一个为1,隐含单元保持关闭,输出单元由输入和输出之间的直接关联而接通。最后,当两个输入都是1,隐含的单元发放到1,并以负的权重…2抑制了输出的接通。
因此,隐含单元允许某种适当的内部表示。XOR问题已经成为一个在三维坐标体系中用二维平面进行线性分隔的问题,3维坐标系以输出单元的3个输入为坐标。分割是可能的,因为输入(1,1),现在z平面上移动到了点(1,1,1)(图5.19d)。
一台感知机只有一个中间层,它是可以学习的处理元素。对于多层网络,问题是,对于与外界没有关联的多层神经元,产生的错误是不可能直接察觉的。一个错误可以是直接在输出层和其下的中间层之间产生的。
多层神经网络可能具有的表示能力和问题求解能力,取决于学习层的数目和在这些层中的单元数目。因此,对于神经计算机的一个至关重要的问题就是要研究计算的复杂性,因为神经网络的复杂性的增加是从感知机的局限性中走出来的方式。
在4.2节中,我们已经讨论了在多层神经网络中的后向传播(图4.17)。一个后向传播的学习算法使得我们去定义甚至处于隐含层上的一个错误的信号。输出层上的错误是递归地向后传播给下面的层次的。该算法是能够构造具有许多隐含层的网络的,其神经元能够进行学习。比起单层网络来,多层网络在其隐含的层次中可以表示多得多的信息,所以后向传播网络对于克服感知机的弱点是非常有用的模型。
但是,后向传播仅仅从技术上提供了成功的模型,这些模型一般并不与生物进化相类似。它们的权重调整看来很不同于人们所知道的生物突触的行为。计算机技术的目的并不