第三章 BP 神经网络原理
神经网络算法是一种基于许多学科的技术,其中涉及生物神经科学、高等数 学、统计学、物理学、计算机科学等[5]。它的一个重要特点是,在有教师或无教 师的情况下能够从给定的数据中进行自主学习,这使得它在建模、信号处理、控 制理论、模式识别等多个领域中得到应用。从 20 世纪 20 年代起,神经网络引起 了许多科技研究者的兴趣,并逐渐成为了近代非线性科学和计算研究方向的主要 研究内容之一。经历了 20 多年的发展,它多表现出的独特知识表示结构和信息 处理方法使许多应用领域取得了显著地成效。通过使用神经网络算法,一些传统 计算机极难求解的问题得到了满意的解答。论文网
BP 神经网络算法是众多神经网络算法中的一种,其全称为反向传播神经网络 算法(back-propagation neural networks algorithm),它是基于误差修正规 则的学习方法[6]。在 BP 神经网络中学习过程需要两次经过网络:输入信号前向 传播,误差信号反向传播,因此其学习的过程被称为反向传播学习。下面具体介 绍 BP 神经网络算法。
3。1 人工神经网络模型
BP 神经网络的工作模式模拟人类的神经系统。人的神经系统大致可分为三 个模块:神经网络(即人脑)、感受器和效应器。感受器把人体或外界环境造成 的刺激转换为电信号,将信息传递给神经网络。神经网络对接收到的电信号进行 出来,并将处理结果发送给效应器作为系统输出[7]。其工作流程如图(3-1)所示:
图(3-1) 人类神经网络系统工作原理
在人类的神经网络中,神经元是组成神经网络的基本单元。神经元与神经元 之间由突触连接,且一个突触会连接多个神经元。在神经网络工作时前端的神经 元会扩散化学物质到突触,通过突触将信号传递给下一层的神经元。这样神经与 神经之间就紧密地连接在了一起,形成了一个错综复杂地网络。
众所周知,人类的神经系统会不断地学习以适应周边的环境,即神经网络具 有可塑性。在成年人的大脑中,可塑性可以归结为两点:创建神经元间的新连接
和修改连接。人工神经网络就将模拟这一过程,并将其抽象化,以数学方法重新 描述为可应用的算法。
图(3-2)为神经网络算法中神经元的非线性模型,它是神经网络算法的基础。
图(3-2) 神经元非线性模型 在此给出神经元模型的三种基本元素: 1。突触或连接链。每一个突触都由其权值或强度作为特征。特别的,在连接
到神经元 k 的突触 j 上的输入信号 Xj 被乘以 k 的突触权值 Wkj,其中需要注意的 是下标表示,第一个下标表示该神经元,第二个下标表示权值所在的突触的输入 端。与人类神经系统中的突触不同的是,人工神经元的突触权值在一个范围内取 值,且可取正值也可取负值。
2。加法器。加法器用于求取输入信号与相应突触的加权和。这个操作构成线 性组合器,即统计所有外界刺激对该神经元的影响。
3。激活函数。激活函数用于限制神经元输出的幅值。激活函数也被称为压制 函数,这是因为它将输出信号压制在一个允许的范围之内。通常情况下,一个神 经元的输出幅度被限制在区间[0,1]或[-1,0]之间。
图(3-2)中的神经元模型还包含了一个外部偏置 bk。偏置的作用是调节激活 函数的网络输入,使加权和更为合理。
如果用数学语言描述一个神经元 k,则可用式(3-1)和式(3-2)表示:
其中 x1,x2 ,…,xm 是输入信号,w1,w2,…,wm 是神经元 k 的突触加权值,uk 是 输入信号的线性组合输出,偏置为 bk,激活函数为ψ(•),yk 为神经元的输出。