人工神经网络,通常称为神经网络,其相关工作是由一个认识引起的:人类大脑以一种完全有别于传统数字计算机的方式进行计算。它是一个高度复杂、非线性、平行计算机(或者信息处理系统),具备自组织结构成分——也就是神经元——的能力,这样它能够以数倍于现存最快计算机的速度完成某种计算(比如模式识别、知觉、电动机控制)。例如可以试想人类的视觉,可以被看做一项信息处理任务。视觉系统的功能就是提供给我们所处周边环境的表达(representation),更重要的是提供给我们与环境交互所需的信息。具体点说,大脑一般在大约100-200ms内完成感知认识任务(e.g.,在一个不熟悉的场景中辨识出一张熟悉的脸),而一个复杂度远远小于此的任务却要消耗一台强大电脑多得多的时间。
再举一个蝙蝠的声纳系统的例子。声纳是一种主动回波定位系统。除了提供目标(e.g.,一个飞行的昆虫)距离多远的信息之外,蝙蝠的声纳还能够传递诸如目标飞行的相对速度、目标大小、目标的多个特征尺寸以及目标的水平角度、仰视角度等信息。从目标的回波中提取出这些信息所需要的大量神经计算就发生在一个蝙蝠只有李子大小的脑中。实际上,带有回波定位的蝙蝠能够以相当的熟练度和成功率追踪并且捕获它的目标,这足以令雷达或声纳工程师们心生嫉妒。
那么,人类大脑或者蝙蝠大脑是如何做到这一点的?在出生之际,大脑已经具备一定的结构和通过我们习惯称之为“经验”(experience)的东西来建立自己的行为规则的能力。实质上,经验随着时间一直在积累,而人类大脑的大部分成长(即hardwiring)是在最初两年内,虽然它也会在这个阶段之外正常继续。
一个“developing”的神经系统与可塑大脑是同义词:可塑性(plasticity)使得developing神经系统能够适应(adapt)周围的环境。可塑性是人脑中神经元发挥信息处理单元功能的前提,同样,人工神经元组成的神经网络也必须有可塑性。通常形式中,神经网络(neural network)是一种被设计来为大脑完成某个特殊任务或者感兴趣的功能时的方法建模(model)的机器;通常用电子元件实现或在数字计算机上软件仿真。本书中,我们关注的是神经网络中很重要的一类:通过学习(learning)阶段完成有意义的计算。为了得到好的性能,神经网络在“神经元”或叫做“处理单元”之间建立大量连接。因此,从自适应机器的角度来定义神经网络:
神经网络是一个由简单的处理单元组成的大型平行分布处理器,每个处理单元能够自然地储存经验知识并在实用中得到体现。它在两个方面与大脑类似:
1. 知识是网络通过学习阶段从环境中提取出来的;
2. 神经元间连接强度(已知为突触权重)用来存储获得的知识。
A neural networkis a massively parallel distributed processor made up of simple processingunits that has a natural propensity for storing experiential knowledge andmaking it available in use.
完成学习阶段的步骤被称为学习算法(learningalgorithm),它的作用是以一种有序方式修正网络的权重从而达到所要的设计目标。
突触权重的修正提供了神经网络设计的传统方法。这样的方法与线性自适应滤波器理论很接近,后者已经完善并成功应用在许多不同领域(Widrow and Stearns,1985;Haykin, 2002)。然而,神经网络是可能修正自身拓扑结构的,这一点可以由人脑中神经元的死亡和新突触连接的生长想见。
神经网络的优势
很明显神经网络从两个方面获得自身计算能力,一是大型平行分布结构,二是学习并普遍化的能力。普遍化(generalization)是指神经网络对在训练(学习)阶段中未遇到的输入能够给出合理的输出。这两项信息处理能力使得神经网络找到棘手的复杂(大规模)问题的近似解变为可能。然而实际上,神经网络不能独立工作提供解决方案。它需要整合进入一个相容的系统工程中。具体说,一个感兴趣的复杂问题被分解(decomposed)为多个相对简单的任务,神经网络被分派与它自身能力匹配的任务子集。有一点很重要,应当意识到要建立一个计算机系统来模拟人脑还有很长的路(如果有的话)要走。
神经网络具有以下实用的特性和能力:
1. 非线性(nonlinearity) 人工神经元可以是线性的也可以是非线性的。神经网络由非线性神经元之间的连接构成,本身也是非线性的。而且它的非线性很特别,因为它的分布(distribution)贯穿于整个网络。非线性是非常重要的特性,尤其对产生输入信号(e.e.,语音信号)的潜在机制是非线性的更是如此。
2. 输入输出映射(input-output mapping) 学习的最常见的范型是一种称为有老师的学习或者有监督学习(learning with a teacher or supervised learning),它通过利用有标记的训练样例或者任务样例(training example or task example)的集合来修正神经网络的权重。每个样例包含一个唯一的输入信号和一个相应的所需响应(目标响应target response)。神经网络从集合中随机取出样例,修正网络的权重(自由参数)来使得目标响应与输入信号通过网络得到的实际响应之间按照适当的统计度量体现出来的差异最小化。网络的训练对集合中的许多样例不断重复,直到网络达到一个稳定状态,它的权重不再有大的变化。之前使用过的训练样例可能会以不同方式再次被训练。因而网络为当前问题的输入输出之间建立映射关系来达到从样例中学习的目的。这种方式令我们联想到了统计学中利用自由模型估计处理数据的非参数统计推断(nonparametric statistical inference)相关研究,或者——从直观角度看——白板(tabularasa)学习(German et al);这里“非参数”用以表明对于输入数据没有任何模型的先验假设。可以试想一个例子——模式分类(pattern classification):要给代表一个物理对象或者事件的输入信号指派几个类别中的一个。在这个问题的非参方法中,要求是利用训练样例集合在模式分类的输入信号空间中估计任意的决策边缘,但不引入概率分布模型。有监督学习中也有这种类似观点,在神经网络得到的输入输出映射与非参数统计推断之间有着紧密的相似性。
3. 可适性(adaptivity) 神经网络有内涵的使权重适应于环境变化的能力。尤其是训练后的神经网络应用于具体场景中时,能够很容易地重新训练(retrained)来处理执行环境条件的微小变化。另外,当被运行在一个非静态(nonstationary)环境条件(例如数据随时间变化)中时,神经网络可以设计成实时改变权重。用来做模式分类、信号处理及控制应用的神经网络以其自然架构、网络自适应能力成为自适应模式分类、自适应信号处理和自适应控制领域的宠儿。原则上说,系统适应能力越强,也就是始终确保保持稳定,系统被应用于非静态环境中时的性能就会越趋于鲁棒。应当强调的是,可适性并不一定带来鲁棒性,反倒可能会有相反作用。例如,带有短时常量的自适应系统会变化很迅速,这会导致它对寄生干扰产生响应从而导致性能下降。要将可适性完全施展出来,既要使系统的主要时间参数足够长来忽略寄生干扰,又要使之足够短来响应环境中有意义的变化;这里描述的问题被称为稳定性-可适性困局(stability-plasticity dilemma,Grossberg 1988)。
4. Evidential Response 在模式识别中,神经网络不仅可以用来反映当前样本属于哪一模式,还能够提供属于这一模式的置信度。后者在需要时可以被利用来排斥偏模糊的模式,从而网络的分类性能。
5. 上下文信息(contextual information) 知识被承载于网络的结构和活性状态(例如权重、激活函数等信息)。网络中的每一个神经元都有可能被网络中其他神经元的全局活动影响(隐含层神经元可能通过训练过程被输出层神经元的活动影响)。因此,神经网络自然是能够利用上下文信息的。
6. 容错度(fault tolerance) 以硬件形式实现的神经网络天生就具有容错或者鲁棒计算的能力,也就是说在负面的执行条件下它的性能下降很缓慢。例如,如果一个神经元或者它的连接被破坏,一个已经被储存的模式(一个参加过训练的样本)会受到影响。然而,由于信息在网络中分布式存储的性质,破坏必须足够广泛才能够使网络的整体响应被严重影响。因此,原则上神经网络体现出性能上的缓慢下降而不是灾难性的失败。而对于鲁棒计算我们有一些经验上的证据,但通常并不受控。要确保神经网络确实是容错的,需要对网络的训练算法采取一些改进措施(Kerlirzin and Vallet, 1993)。
7. VLSI 可实现性(VLSIimplementability) 神经网络的大规模平行属性使它对于某些任务的计算可以非常快。同样这个特性使它很适合于用VLSI(very-large-scale-integrated)技术实现。VLSI的一个特别优势在于它提供了一种以高度分层方式hold住复杂行为的方法(Mead, 1989)。
8. 分析设计的一致性(uniformity of analysis and design) 基本上,神经网络作为信息处理器有着较高的一致性。这样说是因为神经网络在各个应用领域中都使用了相同的表示表达。这一点可以以不同方式得到神经网络的自证:
◆ 这样或那样的神经元对网络来说都是一种常见常用的组成部分
◆ 这种常见性使神经网络在不同应用中得以共享理论和学习算法
◆ 通过模块的无缝整合可以建立模块化的网络
9. 神经生物学上的模拟(neurobiological analogy) 神经网络的设计是对大脑的模拟,而大脑是“容错平行处理可行并且快速强大”活生生的证据。神经生物学家着眼于(人工)神经网络,把它作为一种探究神经生物学现象的工具。另一方面,工程师们则盯着神经生物学期待有什么新的想法能够解决比传统的电路设计问题更为复杂的问题。这两个观点将被下面两个例子分别佐证:
● 在Anastasio(1993),以及本书本章Section6、Chapter 15中详细描述了前庭眼反馈(VOR)的线性系统模型与基于回馈式网络的神经网络模型的对比。VOR是眼部运动系统的一部分。VOR的功能是当人体头部转动的时候,通过眼部转动来保持视觉获得图像(i.e.视网膜上的)稳定。VOR受控于前庭核中的前运动区神经元,它们接收并处理前庭感知神经元的头部转动信号,然后将结果发送给眼部肌肉运动神经元。因为VOR的输入(头部转动)和输出(眼部转动)可以是很具体而准确的,所以很适合建模。这是一个相对简单的反射系统,其组成神经元的神经生物属性也总结的很完善。在三种神经类型中,前庭核的前运动神经元(反射间神经元)是最复杂因而也得到了最多的关注。之前有人使用过集成线性系统描述子或者控制理论来为VOR建模。这些模型对VOR中的部分总体属性能够解释的很好,但是却没能深入到组成神经元属性。而通过神经网络建模这种情况大大改善了。VOR的回馈式网络模型(使用实时回馈学习算法构建,Chapter 15)能再现并辅助解释调控VOR的神经元在信号处理中体现出的静态、动态、非线性和分布式特性,尤其是前庭核神经元。
● 视网膜不同于大脑其他部分,它是我们开始将外部世界——表现为一个视觉感知,在接收器阵列上建立的实在图像——与第一个神经图像连接起来的地方。视网膜是一层薄薄的神经组织,陈列于眼球后部半球。它的责任是将光学图像转化成神经图像来沿着视神经传输到多个中心做下一步分析。视网膜的突触组织足以证明这个任务的艰巨。在所有脊椎动物的视网膜中,这一转化包含三个阶段(Sterling,1990):
(i) 接收神经元层的图像传导;
(ii) 通过神经突触传递结果信号(相应于光而产生)到一个双极细胞层;
(iii) 同样通过神经突触将这些信号传递到成为神经节细胞的输出神经元。
在两个传递阶段(从接收层到双极细胞,双极细胞到神经节细胞)中都有专门的水平连接神经元,分别称为水平细胞和无长突细胞。这些细胞的作用是修正在突触层的信号传输。还有一些离心元素称为丛间细胞,它们的作用是从内层突触层想外层传递信号。一些研究者已经用电子元器件来模拟这种结构。这些电子元件被称为神经形态集成电路,一个由Mead(1989)创造的词汇。神经形态成像感知器由光学感知器阵列和相应于每个图像元素(像素)的模拟电路组成。它仿真视网膜,可以局部地适应光照、检测边缘和检测运动的变化。神经形态集成电路佐证的神经生物学模拟,还有一个重要应用:它昭示,一定程度上证明,了对神经生物结构的物理理解会对电子学以及神经网络实现中的VLSI技术产生大有成效的影响。