前言:中文期刊网精心挑选了神经网络的前向传播范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
神经网络的前向传播范文1
【关键词】 图像识别技术 神经网络识别
模式识别研究的目的是用机器来模拟人的各种识别能力―比如说模拟人的视觉与听觉能力,因此图像识别的目的是对文字、图像、图片、景物等模式信息加以处理和识别,以解决计算机与外部环境直接通信这一问题。可以说,图像识别的研究目标是为机器配置视觉“器官”,让机器具有视觉能力,以便直接接受外界的各种视觉信息。
一、图像识别系统
一个图像识别系统可分为四个主要部分:被识图像、图像信息获取、图像预处理、图像特征提取、分类判决。
二、图像识别方法
图像识别的方法很多,可概括为统计(或决策理论)模式识别方法、句法(或结构)模式识别方法、模糊模式识别方法以及神经网络识别方法。重点介绍神经网络识别方法。
2.1神经网络识别方法
2.1.1人工神经网络的组成
人工神经网络(简称ANN)是由大量处理单元经广泛互连而组成的人工网络,用来模拟脑神经系统的结构和功能。而这些处理单元我们把它称作人工神经元。
2.1.2人工神经网络的输出
2.1.3人工神经网络的结构
人工神经网络中,各神经元的不同连接方式就构成了网络的不同连接模型。常见的连接模型有:前向网络、从输入层到输出层有反馈的网络、层内有互联的网络及互联网络。
2.1.4 学习算法
1)感知器模型及其算法
算法思想:首先把连接权和阈值初始化为较小的非零随机数,然后把有n个连接权值的输入送入网络中,经加权运算处理后,得到一个输出,如果输出与所期望的有较大的差别,就对连接权值参数按照某种算法进行自动调整,经过多次反复,直到所得到的输出与所期望的输出间的差别满足要求为止。
2)反向传播模型及其算法
反向传播模型也称B-P模型,是一种用于前向多层的反向传播学习算法。
算法思想是:B-P算法的学习目的是对网络的连接权值进行调整,使得调整后的网络对任一输入都能得到所期望的输出。学习过程包括正向传播和反向传播。正向传播用于对前向网络进行计算,即对某一输入信息,经过网络计算后求出它的输出结果;反向传播用于逐层传递误差,修改神经元之间的连接权值,使网络最终得到的输出能够达到期望的误差要求。
B-P算法的学习过程如下:
第一步:选择一组训练样例,每一个样例由输入信息和期望的输出结果两部分组成;第二步:从训练样例集中取出一样例,把输入信息输入到网络中;第三步:分别计算经神经元处理后的各层节点的输出;第四步:计算网络的实际输出和期望输出的误差;第五步:从输出层反向计算到第一个隐层,并按照某种原则(能使误差向减小方向发展),调整网络中各神经元的权值;第六步:对训练样例集中的每一个样例重复一到五的步骤,直到误差达到要求时为止。
3)Hopfield模型及其学习算法
它是一种反馈型的神经网络,在反馈网络中,网络的输出要反复地作为输入再送入网络中,使得网络具有了动态性,因此网络的状态在不断的改变之中。
算法思想是:
(a) 设置互连权值
其中xis是s类样例的第i个分量,它可以为1或0,样例类别数为m,节点数为n。
(b) 未知类别样本初始化。 Yi(0)=Xi 0≤i≤n-1
其中Yi(t)为节点I在t时刻的输出,当t=0时,Yi(0)就是节点I的初始值,Xi为输入样本的第I个分量。
(c) 迭代直到收敛
神经网络的前向传播范文2
[关键词]无线传感器,路由,BP神经网络
中图分类号:TN929.5 文献标识码:A 文章编号:1009-914X(2015)41-0243-01
1.概述
近年来,微电子机械系统、无线通讯和数字化电子领域快速发展,使得开发出用于短距离通信的低能耗、低成本、多功能传感器节点成为可能。这些节点能感知环境,数据处理和通讯[1]。基于传感器节点协作的传感器网络提升了应用领域与能量,传感器网络是传统传感器研究的重大改进。
传感器网络有广泛的应用领域,可以用于监控和收集分布式区域中的各种目标和信息。图1展示了一个经典的WSNs,该领域主要是设计一个有效的路由算法,增进通讯连通能力,目标是减少能量消耗、延长传感器网络的生命周期。与能量消耗相关的论文研究成功近年来不断涌现。
2.无线传感器路由问题建模
一个大的传感器网络由很多簇组成。传感器节点并不直接发送数据,而是在一个簇中由一个中心节点(Sink)完成数据收集工作。但是,由于发射信号限制,一个传感器节点只能和它发射半径之内的其它节点相连,本文的内容就是针对一个簇之内的信息收集工作展开的。
S是所有传感器节点的集合,E是一个节点的连接集合。是簇中的一个节点,代表着在节点u和v之间传输 1k的数据需要消耗的能量,本文使用如下无线通讯模型:接收1KB的数据包消耗传感器节点 1k的电能,发送放大器的能量消耗与距离相关,节点(u, v)之间用C(u, v)代表[2]。信息收集路径从sink节点开始,完成信息收集之后返回到同一节点,代表着一个完整的路径,so是sink节点。路由的能量消耗按如下公式定义:
D 代表传输数据的大小,是一个动态值。
3.基于BP神经网络的数据融合模型
反向传播网络(BP网络)是前向神经网络中最重要的一种,该网络的监督学习算法采用误差反向传播算法。该算法[3]的学习过程主要有两个:信号的正向传播与误差的反向传播。主要是通过修正各层神经元的权值,使得总的误差信号最小。近几年,,研究人员开展了很多基于神经网络的无线传感器网络数据融合方面的研究工作。实验结果表明,把BP神经网络应用传感器数据融合中,可以大大降低传送数据的特征维数,提高无线网络的数据融合效率。
3.1 BP神经网络
BP网络是利用BP算法的前向型神经网络,其是在多层感知器的基础上增加了反向传播信号,可以较好地处理非线性的数据信息,具有较好的泛化能力,广泛地应用在系统模型辨识、预测或控制。
BP神经网络中的神经元模型中的激发函数通常选用非线性的Sigmoid函数:
只有当系统特性在正负区间变化时,激发函数选择对称的Sigmoid函数,又称为双曲函数:
BP神经网络的网络结构由输入层、输出层和隐层组成,其中隐层可以有多层,不过最常用还是单隐层的三层BP网络。
3.2 BP神经网络权值调整规则
BP网络的学习过程是就将误差反向传播并修正网络权值直到网络的总误差最小。定义BP神经网络的输入输出模型对应的系统误差函数为:
利用梯度最速下降法解析如何调整连接权值使误差函数E最小。
BP神经网络训练过程[4]:当确定网络结构后,始对BP神经网络进行训练。BP神经网络的学习是由信号的正向传播与误差的反向传播两个过程组成的,在正向传播时,输入样本信号从输入层进入网络,通过隐层处理最后传送给输出层,如果输出结果与期望值不符,则把误差进行反向传播,根据上面的权值调整系数调整权值的变化,直到网络输出层的输出结果满足要求为止。
4.基于BP神经网络的 路由仿真实验
无线传感器网络与神经网络在有些地方很类似,比如无线传感器网络中的传感器节点具有感知数据处理信息的能力,相当于神经网络中的神经元;无线传感器网络节点之间通过一定的规则传递信息,则相当于连接神经元的突触。神经网络算法与无线传感器网络中应用的数据融合技术有相同的功能,即通过一定的规则对大量的数据进行运算处理,从而得到反映这些数据特征的结果。因此,可以把神经网络算法应用到无线传感器网络中实现数据的融合。
实验中,设置传感器节点数目为 100,200,300,400 和 500。传感器网络环境是一个 200m*200m 的空间[5-6]。令传输数据的大小为 1KB,发射半径分别为 20m 和 30m。实验结果是 50 次运行的平均值。图2 和图 3现实了算法在不同数据集上最有解的变化趋势,从中可以看出能量的逐步变化,并且,图 3 的能量消耗更小,因为发射半径较大。
5.结论
本文利用BP神经网络模型解决无线传感器网络路由问题,实验中,采用了不同规模的网络实验数据,并同该领域其它经典算法进行比较,验证了本文所提方法在该领域的有效性。下一步的可针对模型在大规模数据集上表现没有中小规模优秀的问题方面展开。
参考文献
[1]张重毅,适用于无线传感器网络的移动路由算法[D]. 吉林: 吉林大学计算机科学与技术学院, 2007.
[2] 李凤保,李凌.无线传感器网络技术综述[J]. 仪器仪表学报, 2005,26(3):559-561.
[3] Shih E, Cho S, Ickes N, Min R, Sinha A, Wang A, Chandrakasan A. Physical layer driven protocol and algorithm design forenergy-efficient wireless sensor networks[C]. Proceedings of the ACM MobiCom 2001, Rome: ACM Press, 2001, 272-286.
[4] 唐勇,周明天,张欣.无线传感器网络路由协议研究进展[J]. 软件学报,2006,17(3):410-421.
神经网络的前向传播范文3
关键词:神经网络;BP算法;网络模型
中图分类号:TP183
1 BP网络的定义
误差反向传播算法(Error Back Propagation,EBP,简称BP)在于利用输出层的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差。如此下去,就获得了所有其他各层的误差估计。这样就形成了将输出表现出的误差沿着与输入信号传送相反的方向逐级向网络的输入端传递的过程。因此,人们就又将此算法称为向后传播算法,简称BP算法。使用BP算法进行学习的多层前向网络称为BP网络。虽然这种误差估计本身的精度会随着误差本身的“向后传播”而不断降低,但它还是给多层网络的训练提供了十分有效的办法。所以,多年来该算法受到了广泛的关注。BP网络应用广泛,学习采用最小均方差,由输入层、若干隐层和输出层构成,它是一种典型的前馈网络。
图1 三层神经网络模型
常用的BP网络是三层前向网络(如图1所示),即:输入层、中间层和输出层。它的学习分为以下几个过程:由每个神经元网络的输入节点经中间层向输出层的一个正向传播,若网络的实际输出与期望输出有误差,将这个误差经输出层到中间层再传给输入层调整权值再学习的一个逆传播。通过不断的学习,最后的输出要在误差范围之内。
2 BP算法的基本思想
BP算法的基本思想归结如下:BP网络对于输入信号,通过输入层传播到隐含层,经过激励函数的作用,再将隐含层的输出作为输出层的输入传播到输出层,最后输出结果。对于每一个输入样本,神经网络的实际输出与目标输出不可能完全一样,两者之间必然会有一定的误差,定义均方差为:
3 BP算法的学习过程及两种改进算法的思想
学习是人工神经网络最重要的一个特点,学习的目的在于能对任何一个样本的输入通过调整相关参数输出期望的结果。学习的方法可以从以下几步阐述:第一步,向神经网络模型输入一系列样本,每一个样本都有包含输入和期待的输出两部分,把采集到的样本向神经网络输入后,先由第一个隐层进行相关计算然后逐层向下一层传递,直到传至输出层。第二步,将输出的结果与期望输出的结果做比较,如果误差不能满足要求,就按原来的路径逐层返回,神经网络的自学习能力这时候就要发挥作用了,它要根据误差的结果对权值、阀值做适当修改,再从第一个隐层开始重复的计算传递,直到输出的结果满足要求。
本文论述的算法都是以三层网络结构出发进行讨论的。
BP算法的改进主要集中在两个方面:其一是避免陷入局部极小值,一旦陷入要想办法逃出;其二是改进迭代算法,加快收敛速度,较常用的方法是共轭梯度法、Levenberg-Marquardt法等。
BP网络学习过程收敛速度慢的因素有两方面:(1)学习率s和势态因子α在训练中值不变。BP网络实际就是优化计算中的梯度下降法,利用输出的误差作为对权值、阀值调整的参考,目的是确保最终的输出误差最小。考虑到算法的收敛性,学习率s必须小于某一固定上界。BP网络中的学习率s和惯性因子α在训练过程中为一固定值。这一限制决定了BP网络的收敛速度不可能很快。(2)学习过程中出现“假饱和”。实际输出和期望输出的误差产生以后,通过调整网络训练的权值,不断学习后这种误差应该越来越小,如果多次学习后误差没有减小,经过一段时间后,误差才下降,称这种现象为学习过程中的“假饱和”。在BP网络中,初始权值、阈值一般是在一个范围内人为确定的。若作为网络输入的神经元的个数与阈值差别较大,考虑到神经元具有饱和非线性特征,那么神经元的实际输出只有两种结果:极大值或极小值。当输出层接收到的神经元的总输入进入到饱和区,且实际输出与目标输出相互矛盾,就是“假饱和”。这时对权值作大的修改才行,而实际上,由于此时导数值趋近于零,导数权值修改量很小。导致学习速度下降。对中间层的神经元也是一样。学习一旦进入“假饱和”状态,很难退出这种“假饱和”状态,可能需要一定的时间,有时可能会陷入僵局,要重新开始网络训练。
传统的BP算法主要的优点是简单、易于实现。但是BP算法有两个不可克服的缺陷:(1)BP算法很可能陷入局部极小值;(2)收敛速度慢。
像热导气体分析仪这类的仪器经常会用于一些恶劣而又危险的环境中,且要求其测量周期短暂,所以系统需要较强的抗震荡学习网络。基于热导传感器测量的主要因素,提出一种新的BP网络学习算法,对学习因子进行模糊自适应调节,这样系统能够快速、准确地将干扰因素与热导传感器的原始测量值进行拟合,有效减小测量误差。这种模糊自适应算法思想一样可用于发电机匝间短路故障的在线检测。
4 结束语
通过以上对BP算法的学习与分析总结如下:(1)传统的BP算法采用最小均方差的学习方式,是使用最广泛的网络,可用于语言综合、语言识别、自适应控制等,它是一种典型的前馈网络,优点是简单、易于实现,缺点是可能陷入局部极小值、收敛速度慢。(2)BP算法的改进主要集中在两个方面:其一是避免陷入局部极小值,一旦陷入要想办法逃出;其二是改进迭代算法,加快收敛速度。(3)多层前馈神经网络学习过程中,对学习因子进行模糊自适应调节,自动调节步长、势态因子、可以明显地提高收敛速度和误差精度。在一些特殊领域的应用取得较好的效果。从目前已有的研究成果来看,设计的模糊自适应算法有良好的研究方向。
参考文献:
[1]黄丽.BP神经网络算法改进及应用研究[D].重庆师范大学图书馆,2007.
[2]刘彩红.BP神经网络学习算法的研究[D].重庆师范大学图书馆,2006.
[3]王建梅,覃文忠.基于L-M算法的BP神经网络分类器[J].武汉大学学报,2005(10):928-931.
神经网络的前向传播范文4
【关键词】BP算法;SA算法;人工神经网络;梯度下降;教学质量评价
1.引言
教学质量评价是一个复杂的人性化过程,传统的评价方法无法体现评价指标和评价结论之间的逻辑关系,如常用的各项指标得分加权求和的方法就存在着用线性简化非线性,指标权重的确定较为主观化等问题。因此,为获得良好的教学质量评价成效,建立科学的评价模型具有重要的意义。
BP神经网络是使用BP算法进行训练的多层前向神经网络,具有极强的非线性映射能力,且网络结构规则,训练算法成熟,因此在工程领域得到了广泛的应用。但是,传统BP算法存在易陷入误差的局部极小,无法收敛到全局最优解的固有缺陷。
本文引入模拟退火算法(SA算法)改进BP算法的全局寻优能力,给出了SA-BP融合算法的具体步骤,并应用于教学质量评价模型的构建,应用结果表明该模型相对传统BP神经网络具有更高的精确度。
2.BP神经网络
BP神经网络是由输入层、输出层、一个或多个隐层组成的多层前向网络,一个典型的单隐层的BP神经网络如图1所示。
设网络的输入为,隐层神经元的输出为,网络的实际输出为,网络的期望输出为,n、r、m分别为输入层、隐层、输出层的节点数。输入层到隐层的权值为,阈值为,隐层到输出层的权值为,阈值为,i、j、k为输入层、隐层、输出层对应的节点编号,网络的激活函数为。
BP神经网络的运行分为两个过程:
(1)信号的前向传播,输入信号依次通过隐层和输出层,隐层的输出为:
,输出层的输出即为网络实际输出,计算式为:
(2)误差的反向传播,期望输出与网络实际输出差值就是误差信号,单个训练样本输出层瞬时误差为:
,所有训练样本的总体平均误差为:
,在线学习使用作为权值调整的目标函数,批量学习使用作为权值调整的目标函数。BP神经网络使用误差梯度下降法调整权值,权值调整量为,通过该式推导得出输出层的权值调整计算式为,局域梯度定义为,其中,为输出层节点k的诱导局部域,即节点k所有输入与权值的乘积;隐层的权值调整计算式为,局域梯度定义为:
通过上述两个过程的交替迭代进行,网络权值最终会收敛到误差的一个极值点。
3.SA-BP融合算法
3.1 SA算法概述
BP算法中梯度下降是一种“贪心”策略,它的每一步都会在局部误差下降最快的方向进行权值调整,而BP神经网络的误差曲面高度复杂,通常存在多个极值点,导致BP算法易陷入误差局部极小。SA算法是一种典型的全局寻优算法,源于对金属退火过程的模拟,金属原子在高温状态下会进行激烈的无序运动,经过逐渐冷却,这种运动会不断趋向于较低的能量状态,最终到达可能的全局能量最低状态,退火过程能量状态的概率分布由如下关系确定:,其中为处于能量状态E时的概率,T为绝对温度,k为Boltzmann系数。SA算法中能量趋于最低状态的特性能为BP算法加入了全局搜索能力,此时SA算法的能量函数等效于BP算法中的误差函数,SA算法的作用是引入参数的随机扰动,使权值调整有机会脱离误差局部极小区域,最终以较高概率收敛到误差的全局最小。
3.2 SA-BP融合算法具体步骤
SA-BP融合算法的具体步骤如下:
(1)设BP神经网络初始权值为,退火过程的初始高温为,停止温度为,温度衰减函数为,马尔科夫链长度为;
(2)使用BP算法对网络进行一次训练,求出当前状态下的各层权值,使用的权值调整公式为,动量项为动量系数与前一时刻权值修正量的乘积,它记忆了前一时刻权值的调整方向;
(3)用训练样本计算权值下的输出误差;
(4)为网络各层所有的权值上加上一个很小的随机扰动,使网络各层权值变为,权值调整公式为:;
(5)用训练样本计算权值下的输出误差;
(6)计算,若,则接受状态;否则,产生[0,1]之间均匀分布的随机数,计算概率,若,接受,否则,接受;
(7)将当前权值作为新的,循环执行上述(4)~(6)步次,获得权值;
(8)使用温度衰减函数降温,将当前权值作为初始权值,循环执行(2)~(7)步,直到温度降至预设的停止温度。
(9)此时得到的权值即为最终的BP神经网络参数。
4.应用实例
教学质量评价模型采用单隐层的网络结构,选择了4个评价指标作为网络的输入,分别为“内容选择”、“教态”、“逻辑性”、“教学方法”;将每个指标分为5档,分别为:很好、较好、中等、较差、很差;评价结论作为网络的输出,分为4档,分别为优秀、良好、中等、差等。用二进制数对评价指标和评价结论的档位编码。通过发放调查表,共采集到90组样本数据,其中60组作为训练数据,30组作为测试数据。
使用SA-BP融合算法对网络进行训练,网络初始权值设为0,学习率设为0.02,动量系数设为0.7,初始高温为100,温度衰减率为0.95,停止温度为1.0×10-3,马尔科夫链长度为20。与带动量项的传统BP算法进行对比,实验结果如表1所示。
从实验结果可知,SA-BP融合算法相对于传统BP算法训练误差更小,测试误差更小,但迭代次数更多,这说明了SA-BP融合算法的能收敛到更小的误差极值点,因而能更好的表达输入与输出之间的对应关系,但搜索的随机性更强而导致收敛速度更慢。这些结果与我们最初的设想基本一致。在选择最佳隐层神经元数时,我们还发现SA-BP融合算法相对所需的隐层神经元数更多,这也说明了SA-BP融合算法具有更强的计算能力。
5.结束语
SA-BP融合算法引入模拟退火原理,使BP神经网络具备了一定的全局寻优能力,能有效地解决BP算法易陷入局部极小,致使网络训练误差增大,实际应用时性能不佳的问题。将SA-BP融合算法用于教学质量评价模型的构建,实验结果证明SA-BP融合算法相对于传统BP算法训练误差和测试误差更小。但SA-BP融合算法也存在着收敛速度更慢的问题,该问题可能是由于SA算法在极值搜索过程中引入了更多的随机性导致,需要在进一步的研究中加以解决。
参考文献
[1]D.E.Rumelhart,G.E.Hinton,R.J.Williams.Learning representations by back-propagation errors[J].Nature,1986(323):533-536.
[2]S.Kirkpatrick,C.D.Gelatt,M.P.Vecchi.Optimization by simulated annealing[J].Science,1983(220):671-680.
[3]贾丽会,张修如.BP算法分析与改进[J].计算机技术与发展,2006(10):101-103.
[4]潘昊,张华伟,高美铃.基于SA-BP算法的主减速器品质诊断研究[J].武汉理工大学学报,2011(1):1-4.
神经网络的前向传播范文5
关键词:BP算法 训练样本 小车自动寻径
中图分类号:TP273.3 文献标识码:A 文章编号:1007-9416(2013)07-0102-02
1 引言
随着生产技术的发展和自动化程度的提高,在自动化领域中,许多复杂性操作或对人体有害的工作都由机器自动完成,为了实现这一工作,机器就必须具有智能性。
人工神经网络是由人工神经元(简称神经元)互连组成的网络,以大规模模拟并行处理为主,具有很强的鲁棒性和容错性自学习能力,是一个大规模自适应非线性动力系统;具有集体运算的能力。多层前向神经网络(BP网络)是神经网络结构形式中应用较多的自学设计方法之一。BP算法可以通过已知数据训练网络模型,应用于对未知数据的预测[3]。因此能很好的应用于小车自动寻径,使小车具有智能性。
2 BP算法神经网络
BP神经网络(Back-Propagation networks)包括三个层次:输入层、隐含层、输出层[2]。
2.1 BP算法流程简述
BP神经网络的本质是误差反向传输的多层前馈网络,BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,先自行对权重进行初始化,输入样本从输入层传入,经各隐层逐层处理后,传向输出层,如图1为BP神经网络模型[3],若输出层的实际输出与期望的输出(理想输出)不符,则转入误差的反向传播阶段。
2.2 隐层神经元个数的确定
一般情况下,隐层神经元个数是根据网络收敛性能的好坏来确定的,在总结大量网络结构的基础上,在单隐层神经网络中,得出以下经验公式:
其中,为输入层神经元个数,为输出层神经元个数。
3 创建BP神经网络模型
3.1 问题描述
随机的绘制一张彩色地图,地图中有各种颜色的建筑和一条贯穿的公路(白色),引入BP神经网络,使该小车具有一定的智能,可以自动地判断前方是否为公路,进而沿着公路从地图的一端走到另一端。本次实验所用的地图如图2所示(地图及小车由本人按照一定的比例用电脑的画图工具所画):
3.2 地图及小车图片的灰度化
由于Matlab默认为rgb模式打开图片,故为了更简单的解决问题,必须对图片进行灰度处理,处理之后地图及小车分别为520*1100和20*25维矩阵。
3.3 地图及小车图片的二值化
为了BP网络更好的收敛,需对相应图片进行二值化处理,如图3所示。由于本次实验公路为白色,小车为黑色。故将地图中除公路以外的部分的像素值置为0,公路上的像素值置为255,小车的像素值置为255。
所以,在小车的“眼里”,世界是黑白的。如下图:
3.4 小车的视野
小车必须有一定的视野,可以“看到”前方的路况,否则当小车发现情况不妙准备转弯的时候就已经撞到路边了。本次实验取的小车的视野为小车前方和左右方30像素范围,这样小车可以“预感到”自己前方和左右方向上的路况,进而及早调整方向。
3.5 训练BP神经网络
训练样本作为BP网络的输入数据集,对于网络的训练具有重要的作用[4],本文建立单隐层BP神经网络,训练样本选取为小车在地图上某个方位的对应位置的差矩阵,共20个样本,其中10个是对的样本(即小车在公路上),10个为错的样本(即小车的车体不完全在路面上)。这样输入的样本矩阵的大小即为小车图片对应的像素矩阵的大小,为20*25,故输入层神经元个数取为500。输出层只有两种情况,在公路上为对,不在公路上为错,故输出层神经元个数为2。
由式(2)可得隐层神经元的个数为42,选取误差精度10-4,初始学习速率0.5,初始权值为(-1,1)区间内随机值。
经过245次训练以后,总体期望误差达到了给定范围,网络训练过程中的误差变化曲线[15]如图4所示。
4 实验结果
所有算法均在MATLAB R2009a中运行,微机配置为Core Processor 4000+2.10GHz,内存为2G。
用前面选出的训练样本对BP神经网络进行训练,训练之后小车即具有了一定的智能,可以识别前方和左右方的路况,实验结果表明,小车可以很好的沿着公路从地图的一侧行驶到另一侧。
5 结论
通过对BP神经网络训练后,小车可以正确地沿着公路地图的一侧行驶到另一侧,说明BP神经网络可以很好地应用于路径识别和自动驾驶领域。
参考文献
[1] 杨国才,王建峰,王玉昆.基于Web的远程自学型教学系统的设计与实现[J].计算机应用, 2000,20(4):61-63.
[2] 安淑芝.数据仓库与数据挖掘[M].北京:清华大学出版社, 2005:100-101.
[3] 蔡自兴,徐光佑.人工智能及其应用[M].北京:清华大学出版社, 2003.
神经网络的前向传播范文6
关键词 神经网络;BP;优化算法
中图分类号:TP183 文献标识码:A 文章编号:1671-7597(2014)13-0066-01
1 人工神经网络模型
人工神经网络简称ANN,它是一种将人类大脑的组织结构和运行机制作为其研究基础来模拟人类大脑内部结构和其智能行为的处理系统。人工神经网络中的神经元细胞将其接收到的所有信号进行处理,如加权求和等操作,进行操作后经轴突输出。
2 人工神经网络的分类
2.1 前馈型神经网络
前馈型神经网络通过对其网络中的神经元之间的连接关系进行复合映射,因此这种网络模型具有非常强的非线性处理的能力。如图1所示,在这里前馈型神经网络模型被分为三层,分别为输入层、输出层和隐含层,一般常用的前馈型神经网络有BP神经网络、RBF神经网络、自组织神经网络等。
图1 前向神经网络模型
2.2 反馈型神经网络
反馈型神经网络其结构,在这个模型中我们假设网络总的神经元个数为N,则每个神经元节点都有N个输入值及一个输出值,每个神经元节点都如此,节点之间相互联系。现在被大量使用的反馈型神经网络一般有离散Hopfield神经网络模型、Elman神经网络模型等等。
3 BP神经网络
3.1 BP神经网络简介
1986年,Rumelhant和McCelland提出了BP神经网络的一般模型,BP神经网络是一种具有多层网络的反向传播学习算法。BP神经网络模型的基本思想是:整个过程主要由信号的正向传播和误差的反向传播两个过程组成。目前,BP神经网络的应用范围为数据压缩、数据分类、预测分析和模式识别等领域。
3.2 BP神经网络的结构
如图2所示,这里是BP神经网络的一种模型结构,在这种模型结构中输入信号量为m,具有隐含层的数量为j,输出信号量为q的模型结构。
BP神经网络一般具有一个或多个隐含层单元,其差别主要体现在激活函数的不同。针对BP神经网络所使用的激活函数一
图2 BP神经网络模型结构
般采用S型对数函数或者采用正切激活函数,而输出层则一般采用线性函数作为激活函数。
3.3 BP神经网络的改进方法
BP神经网络作为当今对研究电力负荷预测应用最多的一种神经网络,但标准的BP神经网络算法存在的一些缺陷,这里就对一些经常使用的典型改进方法进行描述。
1)增加动量项。在一般的BP神经网络算法中,其模型中的各层权值在进行更新的过程中,是按照t时刻误差曲线进行梯度下降方式进行调整的,在这里并没有考虑其之间的梯度下降的方向,如果使用这种方式进行调整则会造成训练的过程不稳定,容易发生振荡,导致收敛过程缓慢的结果。因此有些学者就为了使网络训练的速度提高,收敛过程加快,就在一般网络模型的权值更新环节添加了一个动量项因子即:
(1)
在这个式子中,W表示BP神经网络中每一层的权值矩阵,O则表示神经网络中每一层的输出向量矩阵,α则被称为该神经网络的动量系数因子,其取值范围在0到1之间,在该网络在进行训练的过程中,如果其误差梯度网线出现了局部极小值现象,虽然在这里的第一项会趋搂于零,但是这一项,
这样就会使该训练过程避免了限入局部极小值区域的形势,从而加快了其训练速度,使该神经网络收敛速度加快,因此这种带有动量项因子的BP神经网络算法应用到了很多的BP网络中。
2)学习速度的自适应调节方法。学习速度η在一个标准的BP神经网络中是以一个常数出现的我们也称为之步长,而在实际的运算过程中,很难找到一个数值作为最优学习速度。我们从误差曲面图形中可以看出,当曲面中区域处于一个平坦区域时,我们需要设置一个比较大的η值,使它能够跳出这个平坦的区域;而当曲面中的区域处于变化比较很大的区域时,这时的η的数值我们又需要将其进行减小或者增大操作。自适应调整学习速度η则可以根据网络的总误差来进行自我调整,在网络经过多次调整后,如果E总继续上升,则表明这里的调整是无效的,且η=βη, ;而经常调整这里的E总下降了,则表明这里的调整是有效果的,且η=αη,。
3)引入陡度因子(防止饱和)。在网络训练的过程中,由于其误差曲面具有平坦区,当处于这个区域时,由于S型激活函数有饱和特性,促使权值的调整速度放慢,从而影响了调整的速度。在训练的过程中,如果算法调整进入了这个区域,我们可以减小神经元的输入量,使其输出值迅速脱离激活函数的饱和区域,这里误差函数的数值则会随之发生改变,其权值的调整也就脱离了该平坦区。想要实现以上思路则需要在激活函数中引入一个陡度因子λ。
(2)
当趋近于0时,而数值较大时,调整其进入误差曲面中的平坦区,此时λ的值应选择大于1的数值;而当调整脱离平坦区域后,再设置λ大于1,使激活函数能够恢复到原始数值。
4 总结
综上所述,设计一个人工神经网络应用到实际问题中,可以归结为网络自身权值参数的学习与合理的设计网络拓扑结构这两大类优化问题。由于人工神经网络的训练是一个非常复杂的问题,使用传统的学习算法进行训练则要花费很长的时间,BP算法用到了梯度下降法,才只能在一定范围内找到合适的参数值及其模型结构。因此,为了更好的提高神经网络的泛化能力,及将网络拓扑结构设计的更加合理,大量关于神经网络的优化算法相继产生。
参考文献