编者按语 当前,一门新的“神经工程学”正在勃然兴起。许多杰出的科学家和工程师,以及国家科技、军、政部门,均对神经网络寄予厚望。发达国家纷纷投入巨大的人力、财力,用以开展神经网络的基础理论研究,开发神经网络计算机产业。国内一些科研机构和高等院校,也开始行动起来,试图应用神经网络信息处理的原理和方法,来解决一些具体的工程问题,解决智能计算机的设计问题。国家自然科学基金会已经把神经网络的原理和应用研究列为重点课题。神经网络理论,从本质上讲,是从神经生理学和心理物理学研究成果出发,应用数学方法,描述具有大脑风格的信息处理机的本质和能力。它涉及物理学、复杂系统,涉及计算机科学、人工智能、知识工程、机器人学。不言而喻,这是一门新兴的边缘性交叉学科。本刊曾在1989年第7期介绍过神经网络研究和神经计算机研制的概况,引起了读者广泛的兴趣。现再发表“神经网络计算机的应用”、“并行分布处理的理论框架”(下期发表)等两篇文章,以进一步满足读者的需要。
§1. 神经网络的运算特点
神经网络计算机的近年来的蓬勃发展,是由于它具有不同于现代数字计算机的运算特点和解算能力。因此,在介绍神经计算机的应用前景之前,本节探索神经计算机的数学基础——神经网络理论的运算特点。
所谓神经网络的数学理论是真实神经网络时空性质的数学抽象,因此是研究大量基本运算单元经过众多的相互联系而成的信息系统的动态功能表现,其基本运算单元的性质是简单的,但往往具有非线性,单元之间的联系也是简单的,但可能随时间而改变。这样的系统,具备下列功能上和运算上的特点:
(1)神经网络是一种变结构的系统,因此表现出对环境的适应性,以及对事物的学习能力。现在文献中发表的多数工作是研究网络的学习能力,而学习和适应体现在时间过程中系统内部结构和联系方式的改变。目前广泛采用的Hebb学习律,假设了二个神经元若同时兴奋则引起它们之间联系效率的改变,这种规则最终导致在外界输入作用下系统内部有的信息通道增强,有的变弱甚至阻断,客观上造成系统内部结构和状态的变化。神经网络的学习能力,使它在一定程度上类似于人脑的学习功能,也是它优于现代数字计算机的地方。这种能力使神经计算机有广泛应用的可能性。
(2)现代神经网络大多用一组非线性微分方程来描述,人们感兴趣于它的动态行为。因为神经网络的数学理论本质上是非线性动态系统,可以具有非常复杂的功能表现,必然会产生包括“混沌”(Chaos)在内的种种复杂的动态性质。生物学中的许多过程,如进化、自适应、自学习、突变等过程,神经网络中的相互激活、协作竞争过程,都是在时间过程中发生的,也许是只有非线性系统才能具备的功能表现。因此,原则上讲,神经网络是这些过程的良好的描述。Hopfield仅研究了一些简单的情况,而他的模型可以良好地说明联想记忆现象以及解决最优化问题之一(TSP问题,见下节)。
(3)多层神经网络具有强大的解算能力和处理实际问题的能力。Minsky & Papert当初认为感知机不能解决的“异或问题”(XOR问题,见下节),在三层神经网络中,应用反传算法,可轻易地解决,而且在不同的初始条件和参数情况下,可以得到不同的解,更有兴趣的是,有些结果是研究者始料不及的。
(4)神经网络可以处理一些环境信息十分复杂,知识背景不清楚,推理规则不明确的问题。在语言识别,手写体识别,医学诊断,市场估计等等问题中,信源提供的模式丰富多变,甚至互相矛盾、而判定决策原则又无条理可循,这类问题神经网络通过学习(按学习法则),从典型事例,学会处理具体事例,给出比较满意的解案。
(5)神经网络中的信息处理是在大量单元中平行而又有层次地进行的,因此,运算速度快,大大超过序列式运算的数字机。神经网络的运算还表现在大规模集团运算上,因此、系统的信息处理能力是由整个网络决定的,所以具有较强的容错能力和鲁棒性。
§2. 典型的应用范例
本节将列举四个文献中著名的例子,说明神经网络的解算能力,为下节估计神经计算机的发展前景作必要准备。
(1)TSP和XOR问题:
这二个都是纯数学上的问题。TSP问题是旅行推销员问题(Traveling Salesman Problem)的英文缩写。该问题要求一个推销员从某城出发历遍若干个城市,最后回到原地,希望整个路程最短,当然各城市之间距离是已知的。这个问题在数学上是可解的、在某些情况下还有唯一解。问题性质是求最优(最短路程)解的问题。困难在于,随着城市个数的增多,计算量呈指数式上升,所以在具体求解过程中,用普通计算机难以胜任。Hopfield处理TSP问题时,首先把这一问题数学化。设有n个城市A,B,…H,而每一城市都可能成为整个路程n站中某一站,于是可列出n × n矩阵,矩阵左侧表示城市名,上方表示旅行路线中各站的先后顺序。例如从A出发,经过H…最后到B,回到A,这样一个路线,可用下列矩阵表示。
TSP问题规定,每城市只经过一次,每站只停一地,所以上述n × n矩阵中每行每列只有一个*存在,其余都是0元素。Hopfield解TSP问题时,第二步把上述n × n矩阵中每一个元素设想为一个神经元,那么在这个神经元的网络中,每行每列中只有一个神经元可以兴奋(取*号),而其余的都处于抑制状态。神经生理学告诉我们,竞争性神经网络可以实现这一要求。Hopfield提议用运算放大器作为神经元的电子模型。第三步根据TSP的具体条件设计一个电子网络实现TSP的解法。这个网络设计中的关键是神经元之间联系权重如何设置,Hopfield提出x行i列上的神经元与y行j列上的神经元之间的联系权重Txi,yj由下列公式算出:
式中等式右侧第一项表示每行内的抑制性联系,第二行表示每列内的抑制性联系,C表示整体性抑制作用。而末项是数据项。Hopfield证明,在对称性矩阵条件下,势函数有极小值,从而保证用该式联系而成的网络,最后趋向于某一极小值,找到一个解案。
对10个城市的TSP问题的计算机模拟结果如图1所示,其中第四图表示一个解。对于十个城市的TSP问题,可能有105条路线,而神经网络可从中挑出二个最优解。至于30个城市的TSP问题,可能路线有1030个方案,用900个神经网络可以在0.1 ~ 0.2秒时间内排除1023个非优解,选出107个“好”的解。由此可见网络的解算能力是很强的。
XOR问题是异或(exclusive or)问题的英文缩写,异或问题希望设计一种网络实现如下映射:
问题要求二个输入端同时活动或同时停止,则输出为0,有一个输入活动则输出为1。也可把这种XOR问题看作一种分类器,把10和01归为一类,把11和00归为另一类。正如Minsky指出的,XOR问题属于非线性分类问题,用二层网络无法实现。而用三层网络,只要添加一个隐单元层(hidden unit),使用反传算法,可以有效地解决这一问题。例如图2就是一个例子,圆圈代表神经元,园内数字代表阈值大小,带箭头的实线代表兴奋性联系,带圆点的线是抑制性联系,线旁用数字注出联系强度。有兴趣的是,解决XOR问题的方案不止一种,不同的初始条件,不同的算法以及学习的不同阶段,可以得到不同的结果,而这些结果都能实现XOR问题。
(2)NETtalk网朗(朗读英语课文的神经网络)
英语的发音规则是没有严格的原则可循的,这使得初学者感到十分困难。过去,想用机器把课文朗读出来的尝试,没有取得像样的结果。现在,Sejnowski和Rosenberg设计的一种神经网络,称为NETtalk,相当出色地实现了这一功能。这是一种三层网络系统(图3),第一层为输入单元层,是由203个单元排成的阵列,每次可输入课文中的七个字,输入讯号通过相互联系送到第二层,称为隐单元层(有80个单元),最后到达输出层(有26个单元),驱动一个发声装置。整个网络有18,624条联系。开始时各单元之间联系是随机的。在学习阶段像小孩一样“呀呀学语”,时常出错,这时教师在旁指出其错误,网络调整它内部联系权重,使用反传学习算法,逐渐越来越好。在DEC VAX机上训练12个小时,NETtalk对于已学过课文发音的准确率可达95%以上,而用机器从未见过的课文来试验,也可达80%左右。要知道100%准确的英语发音者,是难以找到的,所以,这个系统是相当成功的例子。NETtalk工作的意义在于,神经网络通过学习能对一些规则不十分清楚的问题加以完善的处理。人们往往把这类问题归于认知科学研究的问题,能处理这类问题表示具备了一定的智能。
(3)T—C问题与表象问题
所谓T—C问题是使机器学会区别二种几何图形:一种是T形,另一种是C形(见图4),问题的困难在于这二个图形的面积相等,仅仅几何构型不同,而且要求不论如何摆放,都能区分。Minsky称之为“级数为三”问题。T—C问题可以使用三层神经网络,采用反传算法,经过几千次的学习后,学会区分这种图形。在学会T—C问题后,我们来考察隐单元中究竟存贮了什么信息变成什么模样时,发现一些极有兴趣的现象。每个隐单元只与一定范围内的输入单元相联系,我们把这个特定的区城称之为它的“感受野”。而感受野中每个输入单元与这个隐单元的关系并非完全一样。图5列出几种不同类型感受野的例子。(A)图表示中间一个输入单元对隐单元的作用是兴奋,周围是抑制的,其构型与视觉生理中的On—中心感受野一样,(B)类似条形感受野,而(C)图正像青蛙视网膜上的变暗检察器。神经网络中高层次上神经元在不同的图形连续刺激下,经过学习调正过程,最终不仅学会区别不同的图形,而且在系统内部建立起完成识别任务的必备的结构和表象形式。这种表象形式和结构与神经生理中发现的真实情景十分近似,看来其中有某种必然性存在。无独有偶,Lehky和Sejnowski报道,训练神经网络模型从影阴去识别三维曲面的主轴的实验中,发现中间层次上隐单元的感受野类似于猫视皮层上简单细胞的感受野,而输出层上单元的感受野类似于复杂细胞和超复杂细胞的特性。
这些结果可以对视觉系统中感受野的形成机制作出某种解释,因此,神经网络理论研究可以对神经科学这样的基础科学作出贡献。
(4)机器人运动控制
控制机器人的手臂运动和躯体动作是十分困难的任务。通常是设计一个程序用数字机去实现这一点,但效果欠佳。Kuperstein在1989年华盛顿召开的第三届国际神经会议上展示了一种自适应手眼协调系统,取名“婴儿”,引起人们极大兴趣。这个系统由二个表眼睛的摄像机和一个五自由度的手臂组成,其关键部分是执行控制的神经网络。在学习阶段,让“婴儿”手中握一圆棒,表示需要抓握的物体,并让它随机地摆成各种姿态和不同距离。每摆一个状态,摄像机把看到的信息送入网络,经变换后给出一组猜想的多关节坐标位置,把这组数据与当时的实际关节数据进行比较,用误差来纠正网络中的各联系权重。经过一千多次学习后,神经网络中各数收敛到一组稳定值,表示机器人已学会了这一任务。然后,在检查考察阶段,只要把圆棒放入机器手臂的活动范围,不论何种姿势、角度和距离,机器手能根据摄像机提供的信息,精确无误地抓住目标。如果在它的底座上垫上一本书,改变了原来的视场角度,让它去抓目标物,开始时会失误,但很快能适应这种变化,重新学会这一动作。这个系统的学习行为极像小孩初学用手抓握东西一样,需要经过反复尝试,才能最后学会。这个过程实质上是一种自适应学习过程,与目前流行的用数字机上事先编好程序去控制的办法,有原则的区别。这是神经计算机用于机器人运动控制的良好例子。
§3. 应用领域
由于神经网络具备特有的解算能力和信息处理能力,所以根据它的基本原理设计制造的神经计算机,具有广阔的应用前景。按R. Necht-Nielsen的看法,神经计算机的应用领域,大致上属于下列三大方面。
(1)模式处理和模式识别:
所谓模式是指文字、符号、图形、语言、声呐、雷达讯号等等时空信息。模式处理就是对模式进行压缩、增强、去噪声、特征提取、边缘检测以及各种变换。模式识别就是对输入模式映射到某些特定的类别。神经网络计算机广泛应用于这一领域,并已取得相当出色的结果。
(2)知识处理工程:
神经网络计算机能够对模糊的、不确定的、存在矛盾和假象的信息环境中的知识进行处理。在市场估计、医学诊断等等实际情况中经常遇到这种不完整的信息,各种特例甚至反例的复杂情况,而且作出判断、决策的规则也不是条理清楚有章可循的。而神经计算机在这些复杂情况下,能对不完整的信息补全,根据以往的经验作出合理的判断决策,或者对未来的过程作出有效的估计预测。
(3)运动控制过程:
机器人的运动控制属于多变量、自适应、最优控制。神经计算机在这领域有良好应用前景。上节中列举的手眼协调自适应系统就是一个范例。据报道,第8届国际神经网络会议上展出一个用神经网络控制的重心很高的物体(如倒立的扫帚),在可移动的平台上保持平衡的装置,给人留下深刻印象。
神经计算机在军事、工业、管理等多部门,已经或近期内可能应用的具体内容,大致有以下几个方面。
· 财 务——信用评估,新产品分析和优化,顾客行为分析。
· 银 行一一市场分析,支票读识,安全保密,贷款评估,客户信用打分。
· 保 险——保险政策分析,开支趋势分析。
· 防 务——雷达、声纳和图像处理(去噪声,资料压缩,特征提取,模式识别),电子对抗模型,武器瞄准等。
· 娱乐业——市场分析和预报,效果评价。
· 汽车业——汽车自动驾驶,修配分析,装配控制。
· 交 通——货运单处理,车辆编排和调度,飞机票订售业务。
· 通 讯——语言和图像压缩,自动问询服务,客户交费系统。
· 联营业——分店选址。
· 医 学——患者感觉综合,手术结果预测,EEG脑电分析,助听、朗读器。
· 证 券——股票交易咨询系统,零售日用品咨询,技术市场分析。
· 手器人——机器视觉,机器人肢体控制。
· 制造业——低价的检测系统,无损测试,装配过程规划。
· 电 子——大规模集成电路设计、加工和检测,
· 航 空——空难事故检察,航空航天控制系统,自动驾驶。
§4. 市场估计
基于神经网络特有的解算能力,以及神经计算机已经获得的实际应用,本节根据有关材料,估计神经计算机有关产品的市场情况。与神经计算机有关的产业大体上可分为二大类:一是硬件设备的生产,包括用各种技术手段实现的神经计算机部件和整机;二是神经计算机的软件产品。
(1)现在市场上出售的神经计算机硬件,虽然用上了神经计算机的名字,但是从总体设计和体系结构上来说,还不是真正的神经计算机,只是一些在专门设计的芯片上制成协处理器和附加插件板,这类附件与通用数字机联合使用,实现神经网络的某些功能。造成这种状况的原因在于,神经计算机一般来讲是专用的,而且以大规模平行计算为特征的神经计算机,在总体设计上还不成熟,怎样与数字计算机联合行动,完满地配合问题,是当前的最大困难。人工智能权威Simon在东京1988年日本五代机讨论会上,曾就此问题发表意见,认为应当熔这两大类计算机于一炉,这是计算机设计思想上的一件大事。但是他也没有提出一个具体方案实现这一目标。因此,目前市场上和近期在公司和实验室中研制开发的神经计算机硬件,大体上有下列两方面产品。
(A)神经网络大规模集成电路芯片,包括数字式和数 - 模混合式的。目前正在大力开发可编程的神经网络芯片。
(B)光学神经计算机。由于光学信息处理的固有平行方式,因此某些类型的神经网络可以在光学系统上轻而易举地实现。在国际上一些实验室内已制成联想记忆式光学神经计算机样机,可以演示从部分图片信息联想出完整的图形。目前的趋势是把光学电子技术结合起来,利用各自的优点,制作光电混合型神经计算机。
(2)神经计算机软件产品。这类产品有教学软件,在微机和工作站上可模拟神经网络功能的专用软件等。现在市场上已有售的有几美元一张的软盘,能在微机上表演几种简单的神经网络的原理,也有价格昂贵的在工作站上、Vax机型上实现神经网络的仿真系统。因为神经网络研究,特别是学习算法探讨,需要大量的运算实践,研究者可使用这些软件产品在通用机上“虚拟地”建立一个神经网络,实现某种算法,修改各种参数,考察算法优劣,学习快慢,效果如何等等。这种方法可利用手头已有的计算机,方便易行地进行工作,所以,在神经计算机硬件尚未完善之前,这类软件产品会有大量销路的。
下面列举两张表格,一张是88~93年五年间神经计算机产品的市场统计和预测,另一表是这些产品在各应用领域的分布情况。从这两张表中可看出,神经计算机产品的年增长率是很高的(达110%),也可看到,军事部门对神经计算机的需求是越来越大。