并行分布处理(Parallel Distributed Processing,简称PDP)模型,主要探索认知过程的微结构,也就是说,在网络层次上模拟人的认知活动。当前,PDP模型势如长风出谷,迅若雷电,它正在向我们提供一种新的计算形式,一种不同于冯 · 诺依曼计算机的体系结构。
在考察人类执行图像识别、语言处理、运动控制等活动射,人们终于发现:这些活动原来都属于解“约束满足”问题,而它的一个自然的机制,就是一类PDP模型。这类模型假定:信息处理是由一组相当简单的单元通过相互作厂完成的。每个单元向其他单元发送兴奋性信号或抑制性信号。单元表示可能存在的假设,单元之间的相互联接则表示单元之间存在的约束。这些单元的稳定的激活模式就是问题的解。
有理由认为,上述单元集合实际上相当于一个“神经网络”。因为各种具体的PDP模型都是具有某些生理学味道的。从心理学和计算的角度来看,PDP模型就更令人瞩目了,因为它们作为解释人类认知心理现象的机制是相当成功的,它们执行计算的能力是非常强大的。PDP模型从根本上改变了人们对信息处理、学习机制、表象本质等重要概念的传统见解。粗略地说,PDP模型的信息处理是并行的,信息的表达是分布的,知识被各单元之间的联接所编码。由于知识是用联接强度表示的,因此学习的目的就是要找到一组正确的联接强度,以便在一定的条件下产生正确的激活模式。处理本身就在使用知识,而学习也就在处理过程中完成。从PDP模型得到的这些新概念、新思维,为正确理解人类的认知活动,从而把人类的智能赋予机器,提供了一种新的基础。
由于一个PDP模型相当于一个神经网络,而神经网络的功能是特化的,因此PDP模型是专用的,通常是一个模型解决一个问题。在人脑中估计有成千上万个网络,因此PDP模型必然是多种多样的。实际上,人们已经提出了大量的PDP模型,每个模型在具体细节上都有所不同,但它们又都反映了PDP思想的某个侧面。毫无疑问,在这些PDP模型之间必然有许多共同的特性。因此有必要给出一个能包容所有具体模型的总体框架(即数学描述),以作为我们了解并使用神经网络计算机的基础。本文的主要内容有:(1)PDP模型的理论框架,(2)模型的一般分类,(3)并行分布处理和串行符号处理的关系。
§1. PDP模型的理论框架
要描述一个PDP模型,一般需要考虑以下八方面的具体情况。这八个方面是:
1.一个处理单元集合;
2.单元集合的激活状态;
3.各个单元的输出函数;
4.单元之间的联接模式;
5.通过联接网络传送激活模式的传递规则;
6.把单元的输入和它的当前状态结合起来,以产生新激活值的激活规则;
7.通过经验修改联接模式的学习规则;
8.系统运行的环境。
1.1一个处理单元集合
任何一种并行激活模型,都是从一个处理单元集合着手建立起来的。指定一组处理单元,指定单元表达什么东西,这是建立一个PDP模型应采取的第一个步骤。在一些模型中,单元可能表示特定的知觉实体,例如特征、字母、单词、概念等。在另一些模型中,单元仅表示抽象的元素,有意义的模式是用这些元素定义的。当提到分布式表象时,我们的意思是指:在这个表象中,单元表示的是很小的类特征信息。在这种情况下,正是作为整体的模式,才是有意义的分析层次。这恰与一个单元表示一个概念的传统表象系统形成了鲜明的对比。
在任何一个我们要建立模型的系统中,把单元分成输入单元、输出单元、隐单元三类,往往是有用的。输入单元接收来自系统外部的输入信号。它们可以是感觉输入,也可以是模型外的系统输入。输出单元向系统外部发送信号。它们可以直接影响运动系统,也可以只影响模型外的系统。隐单元是输入、输出都在建模系统内部的那些单元,从系统外部是看不到隐单元的。
1.2激活状态
除确定一组处理单元外,我们还必须把系统在t时刻的状态表达清楚。系统的状态由一个N维实向量a(t)指定,它表示处理单元集上的激活模式。每一个分量则表示对应单元在t时刻的激活值。单元ui在t时刻的激活值记为ai(t)。正是单元集上的激活模式刻画了系统在t时刻所表示的对象。系统的处理过程可以看成是单元集上的激活模式随时间演化的过程。
不同的模型对其单元激活值的取值范围假设不尽相同。激活值可以是连续的,也可以是离散的。如果取连续值,它们可以有界也可以无界。如果取离散值,它们可以是二值的也可以是多值的。在一些模型中,单元激活值是连续的,并允许取任何实数值。在另一些情况下,激活值被限定在某个最小值和某个最大值之间,例如取[0,1]区间内任一实数值。在另一些模型中,单元激活值是离散的,大都是取二值的。有时限定只取0和1,其中1通常指单元是活动的,0则指单元不活动;有时限定只取 - 1和+1(常简记为{ - ,+})当然,也有取多个离散值的,例如把激活值限制于{ - 1,0,+1}或{1,2,3,4,5,6,7,8,9}。值得注意的是,上述每一个具体的假定,都会导致模型具有某种略微不同的特性。因此,确定不同假设的意义,是一项重要的工作。
1.3单元的输出
单元之间存在着相互作用,这是由相邻单元之间的信号传送造成的。信号的强度即它们对相邻单元影响的大小,取决于单元激活值的大小。每一个单元都有一个输出函数fi(ai(t)),它将单元的当前激活值ai(t)映射成一个输出信号oi(t),即oi(t)= fi(ai(t))。在向量记法中,用o(t)表示当前输出值的集合。在某些模型中,输出值正好等于激活值,这时f是恒同函数,即f(x)=x。但更常见的,f是某种阈值函数;因此除非单元激活值超过某一数值,否则它就不影响其它单元。有时,还假定f是一个随机函数;在这种情况下,单元的输出将以概率的方式依赖于激活值。
1.4联接模式
单元之间是互相联接的。正是这种联结模式,构成了系统的知识,决定了系统对任一输入的响应方式,在一个PDP模型中、指定处理系统,指定在系统内部被编码的知识,其实就是要确定处理单元之间的这一联接模式。
在许多情况下可以假定,每个单元都向它联接的单元提供一个可加性输入。因此一个单元的总输入就是从各单元发出的各独立输入的加权和,即该单元的总输入等于和它相联的各个单元的输入乘以相应的权重之和。只要确定了系统中各个联接的权重,就能表示出整个联接模式。通常,这样一种联接模式是用权重矩阵W表示的,其中矩阵元素wij表示从单元uj到ui单元的联接强度和性质。如果uj兴奋ui,则wij是一个正数;相反,如果uj抑制ui,则wij是一个负数。wij的绝对值则表示联接的强度。
联接模式是极其重要的。因为正是这种模式决定着每个单元表达的是什么东西。而且,许多问题,例如:一个系统是不是分层次的?如果是分层的,那么要分几层?一个多层系统是采用自下而上处理,还是采用自上而下处理?这些完全取决于联接矩阵的性质。一个网络能够贮存多少信息?它必须执行多少串行处理?这些问题也和联接模式有关、决定于一个单元的扇入和扇出。一个单元的扇入是指能兴奋或抑制该单元的单元数目,一个单元的扇出则是指该单元能直接影响的单元数目。
1.5传递规则
把输出向量o(t)(它表示若干个单元的输出值)和联接矩阵结合起来,使各类输入进入单元以产生净输入的规则,叫做传递规则。单元uj的第i类净输入记作netij。如果只有一类联接,那么就略去第一个下标,用netj表示单元uj的净输入。使用向量记号,第i类输入引起的净输入可记作neti(t)。传递规则通常是直截了当的。例如,假定有两类联接,即兴奋性联接和抑制性联接,那么净兴奋性输入通常就是某单元兴奋性输入的加权和,即nete=Weo(t),同样净抑制性输入由neti=Wio(t)给出。对于更复杂的联接模式,一般需要使用更复杂的传递规则。
1.6激活规则
把某一特定单元的各类净输入互相结合起来,再和该单元的当前状态结合起来,以产生一个新的激活状态的规则,叫做激活规则(也叫做更新规则)。这个规则用函数F表示。也就是说,当前激活状态a(t)和各类不同联接的净输入向量netj,通过F的作用,就能产生一个新的激活状态。在最简单的情况下,F是恒同函数,全部联接是同一类联接,这时激活规则可写成a(t+1)=net(t)。有时F是一个阈值函数,只有当净输入超过某个数值后,才对新的激活状态有所贡献。通常,一个新的激活状态不但取决于单元当前的状态,而且还取决于单元旧有的状态。但是一般情况下总有:
a(t+1)=F(a(t),net(t)1,net(t)2,…)
这个函数F就是我们所说的激活规则。
1.7联接模式作为经验的函数而进行修改
在PDP模型中,改变处理过程或知识结构,就是修改相互联接模式。实际上,一切修改都可以归结为通过经验而修改联接强度。而且可以认为,PDP模型的所有学习规则都是Hebb学习律的某种派生形成。D. Hebb的基本想法是:如果一个单元ui接收从另一个单元uj来的输入,那么当这两个单元都猛烈活动时,从uj到ui的权重wij就应当增大。Hebb学习律一般形式是
?wij=g(ai(t),ti(t))h(oi(t),wij)
式中ti(t)是ui的某种教师输入。简单地说,该方程说明从uj到ui的联接强度的改变等于两个函数的乘积:一个是g(),它是ui的激值ai(t)及其教师输入ti(t)的函数;另一个是h()。它是uj的输出值oj(t)和联接强度wij的函数。最近发展起来的有名的学习规则是玻尔兹曼机学习规则和误差反传学习规则。
1.8环境的表达方式
在发展任何一种PDP模型时,至关重要的一点,是对它所处的环境要有一个清晰的模型。在PDP模型中,一般是用输入模式空间上的一个时变随机函数来表达环境的。也就是说,在任一时刻,任何一个可能的输入模式都会以某个概率进入输入单元。这个概率函数通常不但可能依赖于系统的输出,而且还可能依赖于系统的输入历史。实际上,大多数PDP模型所涉及的环境特性要简单得多。典型的情况是:对可能的输入模式集合使用一个和系统以往输入及响应无关的、稳定的概率分布,来刻画环境特性,
§2?PDP模型的一般类型
2.1模式联想和规则发现
在PDP模型中,多数学习规则大致具有上一节提到的形式,但从不同的应用目的考虑,我们不妨把学习分成两类。一类是联想学习,另一类是规则发现。粗略地说,联想学习指:每当在某一单元集上出现某一特定模式时,系统学习在另一个单元集上产生另一个特定模式。规则发现则指:一组单元学习只对输入中“有意义的”模式作出响应,从而产生特征。显然,这两类学习的目标是各不相同的(虽然在某些情况下,它们可以混用)。如果我们要在特定的输入和输出模式之间建立对应关系,或者我们要记住某个特定的模式,以便将来能回忆出来,那么就需要使用联想学习。联想学习的规则主要和模式之间的关系有关。而规则检测器关注的则是单个单元响应的意义。所以,如果特征的发现是手头的重要工作,那么就应当使用规则发现学习。
联想学习可以再细分为两种:一种是模式联想或异联想,另一种是自联想。模式联想是要在分别出现于两个不同单元集上的两个模式之间建立起联想关系,并且要找到一组联接,以保证每当一个特殊的模式在第一个单元集上重现时,被联想的模式就会在第二个单元集上出现。在联想学习训练期内,在第二个单元集上通常有一个教师输入,直接指明意欲联想的模式。自联想是输入模式与自身的联想,主要用来实现模式补全。每当输入模式的一部分出现时,模式的其余部分就由系统自动补齐。自联想的输入模式既是教师输入,又是意欲联想的模式;除这一点外,自联想类似于简单的模式联想。因此可以认为,简单模式联想是自联想的一个特例。
2.2 PDP模型的分层次组织
(1)自下而上的处理
自下而上系统的基本特点是:第i层单元对i层以下单元的活动不产生任何影响。为了用PDP语言来表达这一特点,按照输入来自若干不同的层次,把单元分成若干类是有用的。单元分类的假设是,每一类单元的输入至多来自一个层次。假定系统第i层有Li个单元,把这些单元依次排列起来,使L1层的次序是u1,…uL1,L2层的次序是UL1+1,…, UL1+L2等等,那么自下而上系统受到的约束,就等价于当uj处于不高于ui的层次时,系统联接矩阵W的元素wij为零。因此W主对角线右上方的元素全部为零(参见表)。一个12单元的三层次系统如表1所示,每一层有4个单元,这个12×12的程接矩阵分9个区域。左上区表示第一层单元内部的相互作用,左中区表示第一层单元对第二层单元的作用,左下区则表示第一层对第三层的作用。由于系统不允许i层单元影响i+2层,因此左下区是零。此外,对自下而上系统还假定:最低层(第1层)是输入层,它接受外部输入;最高层(第3层)是输出层,它影响系统的外部世界。
(2)自上而下的处理
自上而下系统的基本特点是:第i层单元对i层以上单元的活动不产生任何影响。仿照自下而上系统的描述和分析方法易知,自上而下系统的联接矩阵,主对角线左下方全部是零(下层单元不影响上层单元),右上区也是零(第3层单元不影响第1层)。
(3)相互作用模型
相互作用模型是自下而上联接和自上而下联接并存的系统。从原则上说,联接矩阵的任何一个元素都可以是非零的。但是,在信息的双向流动仅限于相邻层次之间这个限制下,只有和主对角线相邻的区域才取非零值。大多数实际模型在这个意义下都可以认为是相互作用模型。
2.3同步更新和异步更新
即使给出了上面描述的PDP模型的各个方面,也还有一个重要的问题,尚有待于发展特殊的模型加以解决。这就是激活规则应用的时间选择问题。在某些模型中存在一种中央定时脉冲,在这个“时钟”嘀嗒一声之后,就同时给系统的所有单元确定了一个新的值。这就是同步更新过程。它通常被看作是对所有单元连续更新的连续微分方程的一种离散差分逼近。在另一些模型中,单元激活值的更新是非同步的,随机的。通常使用的一个假设是:在每一时刻、对每个单元都有一个估计并应用其激活规则的确定的概率。这个由J. Hopfield发展起来的方法在理论上有一定的优点。主要优点在于:各单元的更新是独立进行的,因此在很短的时间间隔内一次只有一个单元更新。另外,它比同步更新过程更容易避免振荡,因而有利于稳定网络。
§3.并行分布处理和串行符号处理的关系
在上述总体框架下,我们就不难理解PDP模型的若干重要特例,例如:感知机(F. Rosenblatt)、线性联想模型(T. kohonen),限制在一个盒内的脑状态(J. Anderson)、热力学模型(H. Hopfield,G. Hinton和J. Sejnowski)、自适应共振网络(S. Grossberg)、相互作用的激活模型(D. Rumelhart和J. Me Clelland)、联接主义模型(J. Feldman和D. Ballard),等等。限于篇幅,不可能在这里作具体的描述(虽然这对揭示神经网络共性和个性之间的关系很重要)。下面我们仅就并行分布处理与串行符号处理的关系予以一般的讨论。
关于人和机器智能的研究,众所周知,最困难的问题在于如何理解并模拟感知系统(例如视觉、语言理解、模式识别等)和运动控制系统。PDP模型之所以特别引人注目,就因为它在这些领域中能作出重大的贡献。但是,我们似乎不宜过于乐观,指望光靠并行计算就能解决全部认知问题。事实上,注意力限制了人同时思考若干个问题的能力。在有意识的活动这一层次上(例如思想、计划、问题求解等),大脑是以一时一事的串行方式解决问题的,而不是并行工作的。因此,对大脑执行的是并行处理还是串行处理,采取非此即彼的态度看来是不适当的。一个比较谨慎而可靠的推测是:大脑是由并行和串行两个部分组成的。作为智能的计算理论,必须能适用于这两者,而不宜有所偏废。由是观之,搞清楚并行处理和串行处理之间到底有什么关茅,这是极为重要的。
在传统的认知科学和人工智能理论中,串行符号处理的一个最重要的概念是图形理论(Schema,例如M. Minsky的框架理论,R. Schank的脚本理论等)。这些理论认为,图形是某种数据结构。它们作为描述物体、情景、(一系列)事件、(一系列)动作的基础,乃是在记忆中确实存在的东西。大体上说,图形好比是外部世界的模式,而图形的某个具体结构则是对外界输入作出的一个解释。因此,一方面,图形是有结构的,另一方面,它还必须具有柔性,以适应新的情况。这使传统方法陷入了两难的境地。因为在现有的各种图形理论方案中,没有一个是满足上述要求的。但是,从PDP模型的观点来看,图形实际上并不等于“事物”。与其说它是某种明显的实体,还不如说它是某种隐含的知识,它由环境创造出来,因而能对环境作出解释。证实这一点并不困难。
本文一开始就提到,PDP能够自然地解决的一大类问题是约束满足问题,而最成功的PDP模型就是约束满足网络。J. Hopfield(l982,1984)指出,对任一对称的异步更新网络,都可以找到一个全局量即能量函数,其极小值就是网络的稳定状态,在输入作用下,系统总是从满足较少约束的状态向满足较多约束的状态演化,直到达到某一相对稳定的状态、尽可能多地满足约束为止。假定图形是一个决定型网络,网络单元的激活值取[0,1]中任一实数,单元的更新规则为:
这里ei(t)是单元i接收到的外界输入,wij是从单元j到单元i的联接权重。在这种情况下,系统状态本身就是网络各单元之间相互作用的结果,而稳定的激活模式(作为一个整体)就是网络的特殊构型。因此能量地形图上的极小值对应于输入的解释。
上述观点把握住了图形理论的最重要的特点,因为约束满足网络既具有一定的结构,又能对各种输入作出相应的解释,具有柔性。因此,我们不妨把传统的图形理论看成是PDP模型的某种逼近。但是应当注意,在PDP意义下,在记忆中根本就没有存入与图形相对应的具体东西。网络所贮存的不过是一组联接强度,但当网络被激活时,它们有能力产生出与图形具体样例相对应的状态。所谓学习,也不过是调整网络的联接强度罢了(仅仅是联接!)。
还应当注意,PDP模型具有一定的串行性质。一组单元的激活模式就是一种表达形式,在任一时刻,它只能包含一个模式。但是,一组给定的单元是可以表达一系列事件的。当系统接受一个输入时,它就松弛到一个相应的稳态,对输入作出解释;系统占据这一状态,直到刺激条件发生变化为止,当下一个新的输入到达时,系统就松弛到下一个新的状态。系统的状态就这样随输入而不断转移。如果在很短的时间内(或低层次上)看系统,占主导地位的是松弛处理过程,所有各单元协同工作,找出对输入的一种解释。如果在稍长一点的时间内(或高层次上)看系统,系统的串行性就会显示出来,它依次占据一系列相对的稳态,一个输入对应于一个稳态。这种双重性质,使PDP模型具有极强的计算功能。
但是,事情也并非如此简单。实际上,即使是一个最好的PDP模型,也不可能表达人的全部信息处理过程。一个完全的认知模型看来应当是由成千上万个独立的PDP模块组成的,在任一时刻,一个子模块只能稳定于一个状态。在解决复杂任务时,并行性将会受到各子任务优先级的限制。如果各子任务是紧密相连的,那么就会失掉并行处理的大部分潜在能力,因为一些子任务只有在它们前面的那些子任务完成以后才能执行。并行性降低,就意味着串行性增加。看来并行处理是不能完全取代串行处理的。自然进化的一个主要结果是:在自然界占主导地位的体系结构是分层次的。人脑也是一个分层次的结构。脑中固然存在着神经元网络层次,但这些网络本身实现的,很可能是上一层次即串行符号系统的元结构和元操作。因此,要阐明并行分布处理和串行符号处理之间的关系,就必须重视并研究系统中各模块的相互作用及各层次之间的相互关系,虽然目前的PDP模型几乎还没有考虑到这些问题。