1、 神经网络几乎与AI同时起步,但30余年来却并未取得人工智能那样巨大的成功,中间经历了一段长时间的萧条。直到80年代,获得了关于人工神经网络切实可行的算法,以及以Von Neumann体系为依托的传统算法在知识处理方面日益显露出其力不从心后,人们才重新对人工神经网络发生了兴趣,才是神经网络理论得到复兴。到目前为止,已经出现许多神经网络模型及相应的学习算法。其中误差逆传播(Error Back-propagation)算法(简称BP算法)是一种较常用的算法。人工神经网络可用于对物群的目标拟合、模式分类和预测。神经网络基本结构神经网络基本结构神经元神经元 人工神经网络结构和基本原理基本上是以人脑的
2、组织结构和活动规律为背景,它反映料人脑的某些基本特征,是人脑的某些抽象、简化或模仿。神经网络有许多并行运算的功能简单的单元组成,每个神经元有一个输出,它可以连接到许多其它神经元,每个神经元输入有多个连接通路,每个连接通路对应一个连接权系数。X1 X2 Xn y1 y2 ym 输入层节点 隐层节点 输出层节点 这个算法的学习过程,由正向传播和反相传播组成,在正向传播过程中,输入信息从输入层经隐单元层逐层处理,并传向输入层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望得输出,则转入反向传播,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,使得误差信号减小,然后再转
3、入正向传播过程,反复迭代,直到误差小于给定的值为止。BP网络的学习过程主要由四部分组成:输入模式顺传播、输出误差逆传播、循环记忆训练、学习结果判别。(1)输入模式顺传播 根据神经元模型原理,计算中间层各神经元的激活值:(j=1,2,p)式中:wij-输入层至中间层连接权;-中间层单元阀值;P中间层单元数。jiniijjaWs*1jj 激活函数采用S型函数,即 这里之所以选S型函数作为BP神经元网络的激活函数是因为它是连续可微分的,而且更接近于生物神经元的信号输入形式。1)exp(1()(xxf 阀值在学习过程中和权值一样也不断的被修正。同理可求出输出端的激活值和输出值。设输出层第t个单元的激活
4、值为则 设输出层第t个单元的实际输出值为则 (t=1,2,q)pjtjjttbvl1*)(ttlfc(2)输出误差的逆传播输出误差的逆传播 在第一步的模式顺传播计算中我们得到了网络的实际输出值,当这些实际输出值与希望的输出值不一样时或其误差大于所限定的数值时,就要对网络进行校正。这里的校正是从后向前进行的,所以叫做误差逆传播,计算时是从输出层到中间层,再从中间层到输入层。(3)循环记忆训练)循环记忆训练 为使网络的输出误差趋于极小值。对于BP网输入的每一组训练模式,一般要经过数百次甚至上万次的循环记忆训练,才能使网络记住这一模式。这种循环记忆训练实际上就是反复重复上面介绍的输入模式顺传播和输出
5、误差逆传播过程,使网络记住训练过程中权值的变化。(4)学习结果的判别)学习结果的判别 开始 连接权及阀值初始化 学习模式对提供给网络 计算中间层各单元的输入、输出 计算输出层各单元的输入、输出 计算输出层各单元校正误差 计算中间层各单元的校正误差 调整中间层至输出层之间的连接权及输出层各单元的输出阀值 调整输入层至中间层之间的连接权及中间层各单元的输出阀值 误差n 学习结束 是 否 BP算法存在的缺陷 BP模型把一组样本的I/O问题变为一个非线性优化问题,使用了优化中最普通的梯度下降法,用迭代运算求解权相应于学习记忆问题,加入隐节点使优化问题的可调参数增加,从而可得到更精确的解。神经网络是一种
6、映射表示方法,它是对简单的非线性函数进行复合,经过少数复合后,则可实现复杂的函数,这对数学映射方法有着重要的启事。但正因为它采用的的是非线性规划中的最速下降法,按误差的负梯度方向修改权值,因而通常存在着一些问题。1由于学习速率是固定的,因此网络的收敛速度较慢,需要较长的收敛时间。这主要是由于学习速率太小造成的可采用变化的学习速率或自适应的学习速率加以改进。2由于是一个非线性优化问题,则不可避免地存在有局部极小的问题。通常,在BP算法中,随机设置初始权值时,网络的训练一般较难达到全局最优。3网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者是通过反复实验来确定。因此网络往往存在很大的冗余性,在一定程度上也增加了网络学习的负担。4网络的学习和记忆具有不稳定性。如果增加了学习样本,训练好的网络就需要从头开始重新训练,对于以前的权值和阈值是没有记忆的。