人工神经网络原理及实际应用.doc
《人工神经网络原理及实际应用.doc》由会员分享,可在线阅读,更多相关《人工神经网络原理及实际应用.doc(9页珍藏版)》请在冰豆网上搜索。
人工神经网络原理及实际应用
摘要:
本文就主要讲述一下神经网络的基本原理,特别是BP神经网络原理,以及它在实际工程中的应用。
关键词:
神经网络、BP算法、鲁棒自适应控制、Smith-PID
本世纪初,科学家们就一直探究大脑构筑函数和思维运行机理。
特别是近二十年来。
对大脑有关的感觉器官的仿生做了不少工作,人脑含有数亿个神经元,并以特殊的复杂形式组成在一起,它能够在“计算"某些问题(如难以用数学描述或非确定性问题等)时,比目前最快的计算机还要快许多倍。
大脑的信号传导速度要比电子元件的信号传导要慢百万倍,然而,大脑的信息处理速度比电子元件的处理速度快许多倍,因此科学家推测大脑的信息处理方式和思维方式是非常复杂的,是一个复杂并行信息处理系统。
1943年Macullocu和Pitts融合了生物物理学和数学提出了第一个神经元模型。
从这以后,人工神经网络经历了发展,停滞,再发展的过程,时至今日发展正走向成熟,在广泛领域得到了令人鼓舞的应用成果。
本文就主要讲述一下神经网络的原理,特别是BP神经网络原理,以及它在实际中的应用。
1.神经网络的基本原理
因为人工神经网络是模拟人和动物的神经网络的某种结构和功能的模拟,所以要了解神经网络的工作原理,所以我们首先要了解生物神经元。
其结构如下图所示:
从上图可看出生物神经元它包括,细胞体:
由细胞核、细胞质与细胞膜组成;轴突:
是从细胞体向外伸出的细长部分,也就是神经纤维。
轴突是神经细胞的输出端,通过它向外传出神经冲动;树突:
是细胞体向外伸出的许多较短的树枝状分支。
它们是细胞的输入端,接受来自其它神经元的冲动;突触:
神经元之间相互连接的地方,既是神经末梢与树突相接触的交界面。
对于从同一树突先后传入的神经冲动,以及同一时间从不同树突输入的神经冲动,神经细胞均可加以综合处理,处理的结果可使细胞膜电位升高;当膜电位升高到一阀值(约40mV),细胞进入兴奋状态,产生神经冲动,并由轴突输出神经冲动;当输入的冲动减小,综合处理的结果使膜电位下降,当下降到阀值时。
细胞进入抑制状态,此时无神经冲动输出。
“兴奋”和“抑制”,神经细胞必呈其一。
突触界面具有脉冲/电位信号转换功能,即类似于D/A转换功能。
沿轴突和树突传递的是等幅、恒宽、编码的离散电脉冲信号。
细胞中膜电位是连续的模拟量。
神经冲动信号的传导速度在1~150m/s之间,随纤维的粗细,髓鞘的有无而不同。
神经细胞的重要特点是具有学习功能并有遗忘和疲劳效应。
总之,随着对生物神经元的深入研究,揭示出神经元不是简单的双稳逻辑元件而是微型生物信息处理机制和控制机。
而神经网络的基本原理也就是对生物神经元进行尽可能的模拟,当然,以目前的理论水平,制造水平,和应用水平,还与人脑神经网络的有着很大的差别,它只是对人脑神经网络有选择的,单一的,简化的构造和性能模拟,从而形成了不同功能的,多种类型的,不同层次的神经网络模型。
2.BP神经网络
目前,再这一基本原理上已发展了几十种神经网络,例如Hopficld模型,Feldmann等的连接型网络模型,Hinton等的玻尔茨曼机模型,以及Rumelhart等的多层感知机模型和Kohonen的自组织网络模型等等。
在这众多神经网络模型中,应用最广泛的是多层感知机神经网络。
这里我们重点的讲述一下BP神经网络。
多层感知机神经网络的研究始于50年代,但一直进展不大。
直到1985年,Rumelhart等人提出了误差反向传递学习算法(即BP算),实现了Minsky的多层网络设想,其网络模型如下图所示。
它可以分为输入层,影层(也叫中间层),和输出层,其中中间层可以是一层,也可以多层,看实际情况而定。
输入层
影层
输出层
图34-1BP神经网络模型
BP网络的原理是把一个输入矢量经过影层变换成输出矢量,实现从输入空间到输出空间的映射。
由权重实现正向映射,利用当前权重作用下网络的输出与希望实现的映射要求的期望输出进行比较来学习的。
为减少总误差,网络利用实际误差调整权重。
BP网络必须要求与输入相对应的希望输出构成训练模式队,因而需要指导学习,BP网络在结构上具有对称性,网络中的每个输出处理元件基本具有相同的传递函数。
大致的工作原理就如上段所述,但要深入了解我们就先要了解一下BP网络学习算法——反传学习算法(即BP算法)。
BP算法不仅有输入层节点、输出层节点,还可有1个或多个隐含层节点。
对于输入信号,要先向前传播到隐含层节点,经作用函数后,再把隐节点的输出信号传播到输出节点,最后给出输出结果。
节点的作用的激励函数通常选取S型函数,如
式中Q为调整激励函数形式的Sigmoid参数。
该算法的学习过程由正向传播和反向传播组成。
在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层。
每一层神经元的状态只影响下一层神经元的状态。
如果输出层得不到期望的输出,则转入反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元的权值,使得误差信号最小。
社含有n个节点的任意网络,各节点之特性为Sigmoid型。
为简便起见,指定网络只有一个输出y,任一节点i的输出为Oi,并设有N个样本(xk,yk)(k=1,2,3,…,N),对某一输入xk,网络输出为yk节点i的输出为Oik,节点j的输入为
netjk=
并将误差函数定义为
其中为网络实际输出,定义Ek=(yk-ŷk)2,,且Ojk=f(netjk),于是
=δjkOik
当j为输出节点时,Ojk=ŷk
(1)
若j不是输出节点,则有
因此
(2)
如果有M层,而第M层仅含输出节点,第一层为输入节点,则BP算法为:
第一步,选取初始权值W。
第二步,重复下述过程直至收敛:
a.a. 对于k=1到N
a).计算Oik,netjk和ŷk的值(正向过程);
b).对各层从M到2反向计算(反向过程);
b. 对同一节点j∈M,由式
(1)和
(2)计算δjk;
第三步,修正权值,,μ>0,其中。
从上述BP算法可以看出,BP模型把一组样本的I/O问题变为一个非线性优化问题,它使用的是优化中最普通的梯度下降法。
如果把神经网络的看成输入到输出的映射,则这个映射是一个高度非线性映射。
设计一个神经网络专家系统重点在于模型的构成和学习算法的选择。
一般来说,结构是根据所研究领域及要解决的问题确定的。
通过对所研究问题的大量历史资料数据的分析及目前的神经网络理论发展水平,建立合适的模型,并针对所选的模型采用相应的学习算法,在网络学习过程中,不断地调整网络参数,直到输出结果满足要求。
3.实际工程中的应用
以上就是BP神经网络的的基本工作原理,下面我们就来看一下它在实际工程中的应用,在水电厂水质调节系统自适应控制中的应用。
随着我国火电厂高参数大容量机主的投产,对水汽品质和水质工况控制的要求越来越严格。
控制策略是决定水质调节效果的关键。
整个火电厂水质调节系统采用Smith-PID自适应控制方案,具体控制模型我们就不予考虑,这里就具体BP神经网络在这一方案中的应用。
由于系统采用PID算法中由三种控制作用,即互相联系又互相制约,且并不是简单的线性组合,必须用非线性方法在线自适应调整PID参数,才能保证时变对象的控制效果。
所以在此系统采用BP神经网络在线整定PID参数。
所以整个系统结构如下图所示:
基于BP神经网络的Smith-PID控制系统
PID参数BP网络整定方法
选择如下图所示4—5—3结构的BP网络,在线自学习整定系统Smith控制系统中控制器Gc(s)的PID参数,以给定值r(t)、系统响应值y(t)、偏差e(t)和常数1作为BP网络的输入,网络的输出为需要整定的PID参数kp、ki和kd。
PID参数整定BP网络结构
对于BP网络输入层,第j个神经元的输入为
(3)
对于BP网络的隐层,第i个神经元的状态为
(4)
对于第i个神经元的输出为
(5)
式
(1)~式(3)中,j=1,2,…M;i=1,2,…N。
M、N分别为输入层和隐层神经元数;上角标
(1),
(2),(3)分别代表输入层、隐层和输出层。
为隐
层权值,为隐层神经元的激发函数,文中取,可以实现从输入到输出的任意非线性映射,且输出为连续量。
对于BP网络输出层第p个神经元的状态为
(6)
第p个神经元的输出为
(7)
其中为输出层神经元激发函数,p=1,2,…,L。
L为输出层神经元数,文中L=3,、、分别对应PID参数的、、,即
、、(8)
由于PID参数、、取非负数,所以取,其中为S函数的饱和值,根据实际情况选定。
性能指标取二次型函数,按对权值的负梯度方向搜索调整,并附加使学习速度足够快且不易产生震荡的动量项,即得到按梯度法修改网络的权值
(9)
上式中为按梯度搜索的步长,亦即学习速率。
为动量因子,它取决于过去权值的变化对目前权值变化的影响程度。
而
(10)
在式(8)中
(11)
由商差近似,即(12)
(13)
(14)
同时,由系统结构原理和式(8),得
(15)
(16)
(17)
从而得到BP网络输出层权值得学习算法为
(18)
其中(p=1,2…,L)(19)
同理有隐层权值得学习算法
(20)
其中
(i=1,2…,N)(21)
在这一系统中,BP神经网络进行适当得改善。
常规BP网络的缺陷是收敛速度慢和陷入局部极小,这将影响被整定的PID参数对被控对象的跟踪性能。
式(9)中增加附加动量项,使网络在修正其权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响,允许网络忽略网络上的微小变化特性,起到了防止网络陷入浅的局部极小的作用。
然而,附加动量不应该是固定不变的,而应该考虑到当修正的权值在误差中导致太大的增长结果时,新的权值应被取消,同时动量作用停止下来,使网络不进入较大误差曲面;当新的误差变化率对其旧值超过一个事先设定的最大误差变化率时,也得取消所计算的权值变化。
学习速率η决定了网络每一次循环训练中所产生的权值变化量,大的学习速率可能导致系统的不稳定,而小的学习速率又使收敛太慢、训练时间太长。
文中为了加速PID参数的寻优,提高PID参数整定对被控对象的跟踪性能,同时又不至于导致振荡和发散,通过仿真研究,提出下列动量因子α和学习速率η在线自适应调整规则
(22)
将上述系统进行工程应用仿真,可以得到该系统具有很好得快速稳定性和准确性、很强得抗干扰性和鲁棒性。
所以在该系统中,将BP神经网络和Smith预估器组合成复