西安电子科技大学软件学院130513班黎建文13051234摘要“人工神经网络”这个词汇对不少人来说并不新鲜,但是它的内涵,原理对很多人来说并不清楚。本文试图对人工神经网络及其原理进行一个简单的介绍。关键字人工神经网络IntroducetotheArtificialNeuralNetworkAlgorithmsAbstractInrecentyears,theword”artificialneuralnetworkisnotfreshtomanypeople,whoseintensionandtheoremisnotsocleartothem.Theywillbeintroducedinthisarticle.KeywordsArtificialneuralnetwork一背景人工神经网络的研究,可以追溯到1957年Rosenblatt提出的感知器(Perceptron)模型。它几乎与人工智能——AI(ArtificialIntelligence)同时起步,但30余年来却并未取得人工智能那样巨大的成功,中间经历了一段长时间的萧条。直到80年代,获得了关于人工神经网络切实可行的算法,以及以VonNeumann体系为依托的传统算法在知识处理方面日益显露出其力不从心后,人们才重新对人工神经网络发生了兴趣,导致神经网络的复兴。二人工神经网络在介绍人工神经网络及其原理之前,让我们先了解一下生物的神经网络的工作原理。从神经细胞处理刺激的角度看,每个神经细胞可以简单地看做由三部分组成:树突,轴突,细胞体。对每个神经细胞,树突可以由多个,它们是接受来自其他神经细胞的刺激的通道;细胞体只有一个,它接受刺激并进行相应的处理;轴突也只有一个,它负责输出刺激,通过神经连接传递给其他神经元。当某个来自大脑或者感受器的刺激发生,神经细胞就通过树突-胞体-轴突-神经连接-其他细胞这样的迅速将刺激通过处理传到其他神经细胞。这样一条通路就是一个信息处理的通路。整个神经系统由无数的神经细胞及神经连接组成,构成一个神奇的巨大的信号处理系统。胞体3胞体1胞体2神经连接树突轴突刺激处理刺激输出刺激输入但是刺激在神经系统里并非毫无规律地广播式地传播。通常某条通道对某类刺激传播的速度比较快,而且神经细胞每传播一次这类刺激,似乎这类刺激就在这个神经细胞里留下了痕迹,就好像很多动物会在走过的路上留下分泌物。渐渐地这类刺激在大多数情况下多会从这条通道经过,通过这条通道相同的处理后输出。聪明的科学家从生物的神经系统里得到启示,创造了一种新的处理信号的具有一定智能的人工神经网络。他们仿造生物神经系统建立了这样一个信号处理的模型:每个信息处理单元接受n个输入X1,X2…Xn,对每个输入的灵敏度为W1,W2…Wn,处理单元的处理功能用一个函数y=f(X1*W1+X2*W2+…Xi*Wi+…Xn*Wn-Θ)表示,而处理单元处理的结果就是输出Y。由多个这样的信息处理单元构成的一个网络就是人工神经网络。让我们看一下美国神经网络学家HechtNielsen对人工神经网络的定义:人工神经网络是由多个非常简单的处理单元彼此按某种方式相互连接而形成的计算机系统,该系统考其状态对外部输入信息的动态响应来处理信息。三人工神经网络算法1设计信息处理单元连接的方式按照信息处理单元的连接方式,神经网络可以分为多种类型。这里介绍按照结点有无反馈划分的两种典型的网络结构:(1)前馈网络网络可以分为几个层。各层按信号传输先后顺序依次排列,第i层的神经元只接受第i-1层神经元给出的信号。各神经元之间没有反馈。输入层结点与输出层结点称为“可见层”,其他中间层则称为“隐层”。(2)反馈网络网络分层,某些结点除了接受外加输入以外,还要接受其他结点的反馈,或者是自身的反馈。当然,除了这种划分方式,还有按照层数划分为单层网络与多层网络,按照输入数据的特点划分为离散网络和连续网络等。不同的网络在性能和效率上会有很大的差异,一般来说,跨层连接的结点越多,网络越是可靠;层数越多,网络的效率越低;反馈越多,网络的学习能力越强;结点个数越多,网络的记忆能力就越好。因此往往要根据实际应用设计网络的连接。在这里,我们不难得出一个结论:信息处理单元连接的方式的设计是人工神经网络算法设计的一个重要方面。目前研究得相对成熟的是BP误差反传神经网络,Hopfield反馈神经网络,BAM双向联想记忆神经网络,CMAC小脑神经网络,RBF径向基函数神经网络,SOM自组织特征映射神经网络,CPN对偶传播神经网络,ART自适应谐振理论,量子神经网络。有兴趣的读者可参照相关资料。2设计学习算法在人工智能领域,人工神经网络是模拟人脑的模式匹配的主要手段。根据常识我们很容易理解,人脑要对某个模式得到正确匹配,需要大量的训练和纠正。训练越多,纠正越多,匹配就越准确。人工神经网络也是如此,要通过大量的学习才能投入正确使用,在使用中又不断地自我学习。这里摘抄一段来自百度网站的例子,虽然并不够权威,但能够很简单地说明问题。现以人工神经网络对手写“A”、“B”两个字母的识别为例进行说明,规定当“A”输入网络时,应该输出“1”,而当输入为“B”时,输出为“0”。所以网络学习的准则应该是:如果网络作出错误的的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图象模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能作出正确的判断。如果输出为“0”(即结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到“A”模式输入时,减小犯同样错误的可能性。如此操作调整,当给网络轮番输入若干个手写字母“A”、“B”后,经过网络按以上学习方法进行若干次学习后,网络判断的正确率将大大提高。这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够作出迅速、准确的判断和识别。一般说来,网络中所含的神经元个数越多,则它能记忆、识别的模式也就越多。这个例子引出了一个“学习算法”。学习算法的设计是人工神经网络算法设计的另外一个重要的方面。学习算法设计得好,网络的学习能力就越强,容错能力也越强。经典的学习算法有Hebb规则,误差修正法学习规则,胜者为王学习规则,有兴趣的读者可参照相关资料。3设计功能函数信息处理单元的功能是人工神经网络算法设计的又一重要方面,一般以功能函数的形式给出(及模型中的F函数)。功能函数的设计直接影响到网络的功能。常见的功能函数有:(1)简单线性函数神经元功能函数F连续取值,输入X由连接矩阵W加权产生输出。F(X)=X(2)对称硬限幅函数F(X)=SGN(X-Θ).此函数只有二值,大于阀值Θ输出+1,小于阀值Θ输出-1。(3)正线性函数F(X)=0ifX0;F(X)=XifX=0。另外还有硬限幅函数,线性函数,饱和线性函数,对称饱和线性函数,淡极性S形函数,双曲正切S形函数,竞争函数等。综上,设计信息处理单元的连接方式,设计网络学习算法,设计信息处理单元的功能,是人工神经网络算法设计的三个基本的方面。具体的算法细则应该根据网络的性能,功能,应用场合等设计。四实际应用受当前脑科学,集成技术发展的限制,各种人工神经网络模型还过于简单,远远达不到模拟自然神经网络的智能。但即便这样,人工神经网络仍有很大的用武之地。各种基于人工神经网络的与实际问题相结合的模型不断地被建立,如人脸识别,车牌自动扫描等。五当前研究现状及趋势目前在神经网络研究方法上已形成多个流派,最富有成果的研究工作包括:多层网络BP算法,Hopfield网络模型,自适应共振理论,自组织特征映射理论等对神经网络研究可以分为理论研究和应用研究两大方面。理论研究可分为以下两类:(1)利用神经生理与认知科学研究人类思维以及智能机理。(2)利用神经基础理论的研究成果,用数理方法探索功能更加完善、性能更加优越的神经网络模型,深入研究网络算法和性能,如:稳定性、收敛性、容错性、鲁棒性等;开发新的网络数理理论,如:神经网络动力学、非线性神经场等。应用研究可分为以下两类:(1)神经网络的软件模拟和硬件实现的研究。(2)神经网络在各个领域中应用的研究。这些领域主要包括:模式识别、信号处理、知识工程、专家系统、优化组合、机器人控制等六结论目前,对人工神经网络及相关算法的研究正如火如荼地展开。某些算法已经应用到实际生产中。人工神经网络的应用领域正在不断扩大,不仅可以广泛应用于工程,科学和数学领域,也可广泛应用于医学,商业,金融甚至于文学领域。随着各种神经网络模型的创建和各种硬件,网络设备制造工艺的提高,人工神经网络的应用将会越来越广泛。参考资料[1]朱大奇史慧等《人工神经网络原理及应用》科学出版社2006年[2]张青贵《人工神经网络导论》中国水利水电出版社2004年10月[3]蒋宗礼《人工神经网络电子》讲稿北京工业大学计算机学院[4]刘长安《人工神经网络的研究方法及应用》讲稿所属不明[5]中科永联