第1章 概 论
1.1 计算机、生物神经网络与人工神经网络
神经网络作为人工智能的一个分支,在近二十年来,受到人们的广泛关注。工业革命以来,人类大量采用机器来减轻人们的体力劳动,并获得了巨大的效益。同样,人类为了通过使用某种机器来减轻人类的脑力劳动,也一直进行着不懈的努力。到了20世纪40年代,由于计算机的发明,使得人类的文明进入到计算机时代。通过使用计算机,人们可以解决科学计算和工程设计中的一些复杂的问题,在一定程度上减轻了人们的脑力劳动。然而,计算机需要在人们事先编制好的程序的指挥下才能工作,从这个意义上讲,计算机并没有真正意义上的智能。目前,计算机的主要应用仍然是信息处理和科学计算,对于智能计算,像分析、推理、判断、综合等方面,现代计算机仍然显得能力低下。
因此,智能计算机的开发研究成了一个十分引人关注的问题,科学家们也为此投入了巨大的研究热情,一些发达国家也投入大量的人力物力来开发智能计算机。然而,由于人类对于智能的理解还十分肤浅,开发智能计算机也遇到了巨大的挑战,可以说,到目前为止,智能计算机还仅仅是一个梦想。揭开智能之谜还需要进行大量的研究,这里面涉及到诸多方面的理论知识,包括计算机理论、信息处理、语言学、认知科学、数学、生理学、解剖学、哲学等方面的知识。因此,智能计算机的发展还需有一个相当漫长的过程。
在应用方面,对于智能计算和智能计算机的发展也是非常迫切的。例如,一些危险行业以及恶劣的工作环境,人们需要机器人来帮助工作,然而,机器人技术的发展离不开智能计算和智能计算机。可以说,智能计算机在当今人类社会发展的进程中,已经被提到了议事日程,是当今人类社会所面临的一项迫切而又重大的科技问题。
自从20世纪40年代人类发明计算机以来,可以说其发展速度一日千里。计算机改变了人们的生活方式,带来了信息技术的革命。传统计算机的存储能力、计算速度的发展非常快,主要得益于硬件的发展。相对而言,计算机体系结构的发展比较缓慢,基本上还是冯·诺依曼体系。它只能在人的指挥下工作,没有学习、创造等反映智能特征的能力。对于许多模式识别的问题,现代计算机的工作能力和效率还远不如人。笔者认为,智能计算及其发展需要突破传统的冯·诺依曼体系,建立新型的计算机体系结构,当然,任重道远,需要科学家们的不懈努力。
智能计算的核心问题是关于人脑功能的模拟问题,这需要回答什么是智能、什么是计算、什么是智能计算等复杂的问题。然而,遗憾的是,人类对于这些问题尚缺乏深刻的认识,还处在探索阶段。尽管如此,人类并没有在研究智能计算机的道路上止步不前,目前认为,人类的大脑中的神经元对于人脑的智能起着关键的作用,这些神经元的数量非常多,组成了十分复杂的生物神经网络。神经网络系统理论是以人脑的智能功能为研究对象,研究人类大脑的信息处理能力与方法,特别是研究与人类大脑的智能信息处理能力相关的信息处理理论与方法,建立智能计算的理论与方法,为智能计算机的研究开发奠定理论基础。
由于生物神经网络的复杂性,目前人们主要是通过人工神经网络的方法进行研究,所以本书中考虑的神经元不是生物神经元,而是模拟生物神经元的人工神经元,人工神经元是对生物神经元极其简单的抽象,可以使用现代电子、光学等技术制造出来。所谓人工神经网络是由人工神经元按照一定的拓扑结构互连而成的网络,用来模拟人的大脑的一些行为。虽然由这些人工神经元组成的网络的能力远远不及人脑的那么强大,但是可对其进行训练,可以实现一些有用的功能。目前主要是利用人工神经网络模拟一些比较低级的行为,至于如何模拟人的智能中比较高级的功能,还需要进行大量的深入研究。
人类是智慧生命,生命的每一天都要处理许多复杂的事物,要完成生理的、心理的等复杂的信息处理,比如呼吸、运动、阅读、思考等,而完成这些功能需要使用一个复杂的生物神经网络。人的大脑有约为1011个神经元,每一个生物神经元都是生物组织和化学物质的有机结合。某些神经结构是与生俱来的,而其他一些则是在实践中形成的。这些神经元高度互连的集合,构成了生物神经网络,网络中的每个神经元都是基本的处理单元,一种观点认为,每一个生物神经元都是一个复杂的微处理器。
人类大脑的工作机理十分复杂,目前,人类对大脑的认识还很肤浅,揭开大脑思维之谜任重道远,需要坚持不懈的努力。一般认为,所有生物神经功能,包括记忆在内,都存储在神经元以及各个神经元之间的相互连接上,这种连接称为连接权或简称为权。生物神经网络的学习过程被看作是在生物神经网络的神经元之间建立新的连接或对已有的连接进行修改的过程。
正是基于对生物神经网络的这样一个基本认识,使得人们想到利用一些简单的“人工神经元”构造一些人工系统,然后对其进行训练,目的是使这些系统具有一定的智能。
本书主要是对于大脑的学习能力进行了一些人工模拟,本书中的所有算法都是作者提出的,这些算法不同于传统的算法,希望能够起到抛砖引玉的作用。
1.2 本书的目的与价值
创新是本书的目的。本书中提出了一系列全新的前馈神经网络理论与算法,这些新的理论与算法主要分成两类:一类本书将其取名为代数算法,另一类本书将其取名为样条函数神经网络算法。
衡量一个新理论与方法的价值在于把它和已有的传统方法相比较,如果新理论与方法能革除传统理论方法的缺点,那么新理论方法就有价值,革除得越彻底,价值就越大。衡量本书的价值应与传统的优化类算法进行比较(例如BP算法等梯度下降类最优化算法)相比较。
1.代数算法
代数算法不再采用以梯度下降为核心思想的误差反向传播学习算法,只要隐层神经元个数与样本个数满足一个简单的代数关系,代数算法便能快速实现给定样本的精确映射(或者说,准确地“回想”起所学过的样本)。
(1)本书提出的代数算法在理论和应用上能使代价函数为0。对BP(反向传播)算法而言,通常代价函数大于0,这意味着代数算法的精度远高于BP算法。或者更确切地说,代数算法能准确地获得全局最优点,而BP算法通常无法获得全局最优点。
(2)从时间复杂度上来看,代数算法无须迭代计算,是一种多项式阶算法,而BP算法的时间复杂度目前尚未见到理论上的报道,但通过一些实验研究认为其时间复杂度为指数阶(见第3章)。多项式阶算法的时间效率远优于指数阶算法,因而本书算法较BP算法要快得多,可求解问题的规模也要大得多。
(3)从工程应用上看,代数算法给出了隐层所需神经元个数的准确计算方法,而BP算法只能给出一些经验数据,这意味着本书新方法在工程应用中具有比BP算法优越得多的指导作用。
综上所述,可以认为代数算法开辟了多层前馈人工神经网络算法的一个新领域,在理论和应用上都具有重要的价值。
另外,本书的另一个重要创新是对工程上常用的三层神经网络的极限逼近能力进行了深入的分析,得出了一系列重要的结果。这些结果指出,必然存在代价函数最小值为0的三层神经网络(此时对应的解为全局最优解);如果三层神经网络的隐层神经元个数固定(即为某一确定的不可调整的常数),则对一些给定的样本,该三层神经网络的代价函数最小值将大于0,这意味着此时三层神经网络的逼近精度是有限的,它不可能使神经网络以任意精度趋近于0。这一结论深刻地揭示了隐层神经元个数的选择将直接影响到三层神经网络的极限逼近能力,或者说,将直接影响到三层神经网络的全局最小代价函数值的大小。不仅如此,还给出了一个非常有实用价值的便于计算的估计公式。利用这一估计公式,可使网络在训练之前就知道该网络对给定训练样本的极限逼近能力,这一结果对前馈网络训练学习算法的停机准则有重要的理论指导意义。以上的创新构成了本书的核心与精华。
2.样条函数神经网络算法
虽然代数算法克服了传统算法的主要缺点(例如速度慢,难以求得全局最优值,无法确定隐层神经元个数等),但由于代数算法实现精确映射的一个充分条件是隐层神经元的个数等于训练样本的个数(见第3章),这使得当训练的样本数量很多时会使得神经网络隐层神经元的个数太多,使得神经网络的结构复杂。另外,代数算法与传统算法的共同缺点是训练后的权值是常数,难以反映样本的内在信息。为了克服代数算法的缺点,本书作者提出了样条函数神经网络算法。样条函数神经网络算法首先改造了传统神经网络的结构,使得神经网络的结构与训练样本个数无关。另外,样条函数神经网络算法将常数权改成了权函数,即看成输入样本的函数,采用三次样条函数来实现。这样做将权与样本之间建立起了联系,可以反映训练样本的信息。训练后的神经网络,其权函数可以很好地反映样本的特征信息。
样条函数神经网络算法同样可以实现代价函数为0的精确映射,能够方便地求得全局最优点。不仅如此,样条函数神经网络算法还具有很好的泛化能力(见第6章)
另外,从时间复杂度上来看,样条函数神经网络算法的主要计算工作是求线性方程组,确定三次样条函数,是一种多项式阶算法,因而样条函数神经网络算法较BP算法要快得多,可求解问题的规模也要大得多。
总之,样条函数神经网络算法既具有代数算法的优点,又克服了代数算法和传统算法的缺点,是一种非常好的算法,笔者认为值得推广。
1.3 神经网络的发展历史简介
人工神经网络的发展起源于何时,说法不一。一般认为,其起源可追溯到Warren McCulloch和Walter Pitts于1943年的论文[1],这篇文献根据已知的神经细胞生物过程原理,构造了一个简单的人工神经元模型,后来,人们称它为M-P模型。文献[1]介绍了第一个神经元数学模型,其神经元的输入信号加权和与阀值比较再决定神经元是否输出。这是人类历史上第一次对大脑工作原理描述的尝试,从原理上证明了人工神经网络可以计算任何算术和逻辑函数。
20世纪40年代末期,Donala
O.Hebb在文献[2]中首先定义了一种调整权的方法,称为Hebb学习规则(Hebbian rule)。这本著作的主要假定是行为可以由神经元的行为来解释。在这本书中Hebb提出的第一个学习规则,可以认为是在细胞一级进行学习的基本原理。Donald
Hebb指出,经典的条件反射是由单个神经元的性质引起的。他提出了生物神经元的一种学习机制。
20世纪50年代后期,Frank
Rosenblatt定义了一种以后常用的神经网络结构,称为感知器(perceptron)。Frank Rosenblatt[3]提出了感知机网络和联想学习规则。Rosenblatt构造了一个感知机网络,演示了进行模式识别的能力。这是人工神经网络第一个实际应用,这次成功应用引起了许多学者对神经网络的研究兴趣。但后来的研究表明基本的感知机网络只能解决有限的几类问题。
20世纪60年代,两个训练自适应神经元的方法——感知机规则及LMS算法规则相继出现。Bernard Widrow和Ted Hoff在文献[4]中介绍了能进行快速、准确学习的神经网络,文中假设系统的输入和对每一个输入所期望的输出,然后神经网络计算实际输出与所希望的输出的误差,采用梯度下降法调整权值,以达到最小均方误差(最小均方误差算法或LSM算法)。另外,Bernard Widrow和Ted Hoff提出了一个新的学习算法用于训练自适应线性神经网络。
在这些方法出现后的若干年内,神经网络领域的一些新技术得到迅速发展,如Steinbuch的学习矩阵,Widrow的Madaline规则,竞争学习,等等。
20世纪70年代,Grossberg提出了自适应共振理论。Grossberg研究了两种记忆机制 (短期记忆和长期记忆),提出了一种基于可视系统的自组织神经网络[5],这是一种连续时间竞争网络,是构成自适应谐振理论(ART)网络的基础。
另外,Kohonen创立了自组织理论。
20世纪80年代,Hopfield及一些学者提出了Hopfield网络模型[6],这是一种全连接的反馈型网络。Hopfield提出了按内容寻址的神经网络,同时还给出了有关他的网络是如何工作的以及该网络能够做什么的完整描述。
另外,Hinton等提出了Boltzman机。Kosko发展了Hopfield及Grossberg的一些概念,提出了双向自联想记忆网络,该网络中使用了微分Hebb及竞争学习规则。另外,20世纪80年代末期,Chua等人提出了细胞神经网络。
多层前馈网络是目前应用最为广泛的神经网络模型之一,其神经元结点分层排列,组成输入层、隐层和输出层,每层的神经元只接收前层神经元的输出信号。多层前馈神经网络的反向误差传播训练算法(可简称为BP算法)首先是由Werboss在他的博士毕业论文中提出[7],但不幸的是,他首先发表于1974年的这一成果并没有引起当时科技界的重视。直到1982年,Parker重新发现了这一方法,不久以后Rumelhart、Hinton和Williams也重新报导了这一方法[8],才使得该算法广为流传。
Rumelhart等人使用的神经元不同于以往人们在Madaline网络中使用的神经元。早期的Madaline网络中使用的神经元是硬限幅(Signums)神经元,而BP算法中网络所使用的神经元是可微分的非线性神经元或Sigmoid函数神经元。Rumelhart等人提出的BP算法(或如他们自己称作的广义S规则)克服了Minskey和Papert(1969)所指出的感知机算法的局限性[9]。BP算法似乎再次打开了Minskey和Papert早已关闭的研究大门。
BP算法很快在神经网络中占据了主导地位。一些学者转为企业家开发、销售廉价的BP算法软件,而另一些人却平静地用BP算法预测股票价格,成百上千的科技工作者在科技学会上报道BP算法的应用成果。一些企业投资者与大公司资助个人(PC)机及工作站上的BP算法加速板的开发。大众媒体也把BP算法喻为人们期待已久的机器智能研究的突破,它能从经验中学习,并预示着制造业的自动化;如不同语言间的翻译,能自我修复的机器人,等等。生理学家们在寻找人脑中枢神经系统中的BP算法,而理论家们猜想BP算法能学会任意样本函数。
BP算法的普及也引起了人们激烈的批评,BP算法的主要缺点(这些缺点是本质的,也是致命的)是常不收敛,或收敛于局部极小,即使收敛其速度也很慢,这使得BP算法只能解决小规模的问题。由于BP算法的这些缺点,人们对它进行了改进研究。以往,人们的改进研究大都集中在变学习率,加惯性项,寻求良好的初始条件等方面。应该承认,这些改进研究有一定的效果,但它们都没有摆脱BP算法思想框架的束缚——梯度下降思想,正因为如此,它们不可能从根本上克服BP算法的本质缺点。
20世纪90年代以来,神经网络在向纵深发展的同时,也在与模糊技术、遗传算法、进化计算等智能方法相结合的方向上发展。
虽然在几十年的发展过程中,神经网络理论取得了一些进步,但其发展过程并非一帆风顺,曾经历了较长一段时间的低潮期,直到20世纪80年代后期才进入发展的高潮期。但是,正当人们满怀热情地应用神经网络的已有成果去解自己的实际工作中的问题时,人们发现了大量原有模型和算法所存在的问题,因此,必须从理论上再做进一步的研究。本书正是在这样的背景下对多层前馈网络算法进行了进一步深入的研究,取得了重要的成果。
本书首次提出了一系列全新的理论和算法,并将其称为代数算法(详见第3章)和样条函数神经网络算法(详见第6章),这些理论和算法摆脱了梯度下降思想的束缚,使复杂的非线性映射问题转变为线性代数方程组的求解问题,因而从根本上克服了BP算法的本质缺点。具体内容请读者见书中的各章。
参考文献
[1] McCulloch
W and Pitts W. A logical calculus of the ideas immanent in nervous activity.
Bulletin of Mathematical Biophysics, V01.5, p115~133, 1943
[2] Hebb
O. The Organization Behavior. New York:Wiley,
1949
[3] Rosenblatt P. The perceptron:A probabilistic model for information storage and
organization in the brain. Psychological Review, V01.65, p388~408, 1958
[4] B. Widrow and Hoff M E. Adaptive switching
circuits. 1960 IRE WESCON Convention Record. New York:IRE Part 4, p96~104,
1960
[5] Grossberg S. Adaptive pattern classification
and universal recoding:I.Parallel
development and coding of neural feature detectors. Biological Cybernetics, Vo1.23,
p121~134, 1976
[6] Hopfield J J. Neural networks and physical
systems with emergent collective computational abilities, Prceedings of the National
Academy of Sciences, V01. 79, p2554~2558,
1982
[7] Werbos P J. Beyond regression: New tools for
prediction and analysis in the behavioral sciences. Ph D Thesis, Harvard
University, Cambridge, MA, 1974
[8] Rumelhart D E, G E Hinton, R J Williams. Learning
representations by back-propagetiong errors. Nature(London), 323, 533~536, 1986
[9] Minskey M L, Papert S. Perceptrons: An
introduction to computational geometry. M I T Press, Cambridge, MA, 1969
No comments:
Post a Comment