人工神经网络原理及实际应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人工神经网络原理及实际应用
摘要:本文就主要讲述一下神经网络的基本原理,特别是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-1 BP神经网络模型
BP网络的原理是把一个输入矢量经过影层变换成输出矢量,实现从输入空间到输出空间的映射。由权重实现正向映射,利用当前权重作用下网络的输出与希望实现的映射要求的期望输出进行比较来学习的。为减少总误差,网络利用实
际误差调整权重。BP网络必须要求与输入相对应的希望输出构成训练模式队,因而需要指导学习,BP网络在结构上具有对称性,网络中的每个输出处理元件基本具有相同的传递函数。
大致的工作原理就如上段所述,但要深入了解我们就先要了解一下BP网络学习算法反传学习算法(即BP算法)。BP算法不仅有输入层节点、输出层节点,还可有1个或多个隐含层节点。对于输入信号,要先向前传播到隐含层节
点,经作用函数后,再把隐节点的输出信号传播到输出节点,最后给出输出结果
节点的作用的激励函数通常选取S型函数,如
1
f(X)x/Q
1 e
式中Q为调整激励函数形式的Sigmoid参数。该算法的学习过程由正向传播和反向传播组成。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层。每一层神经元的状态只影响下一层神经元的状态。如果输出层得
不到期望的输出,则转入反向传播,将误差信号沿原来的连接通道返回,通过修
改各层神经元的权值,使得误差信号最小。
社含有n个节点的任意网络,各节点之特性为Sigmoid型。为简便起见,
指定网络只有一个输出y,任一节点i的输出为O i,并设有N个样本(x k,y k)(k=1,2,3,…,N),对某一输入x k,网络输出为y k节点i的输出为O ik,节点j 的输入为
y k )2
其中y k
为网络实际输出,定义E k =(y k -?k )2, ik
=S jk O ik
O
)r9k )f (net jk )
E k jk
W ij n et jk W j
当i 为输出节点时, jk
y k n et jk
net jk
,且 O jk = f(net jk ),于是 net jk
(1)
若j 不是输出节点, E k
E k Ojk
E k
f (net jk )
net jk
O jk
net jk
O jk
E k _____ net mk
n et mk O jk
E k _
O jk i
则有
E
k O jk jk
E k
O jk
net mk
E k net mk
W mi O ik
因此
jk
f (netjQ
W mj
E k W
mk O ik
第三步,修正权值,W ,1 W .1
E W j
卩>0,其中需
ij
E k W j
net jk = i
并将误差函数定义为
如果有M 层,而第M 层仅含输出节点,第一层为输入节点,则 BP 算法为:
第一步,选取初始权值W 。
第二步,重复下述过程直至收敛:
a. a. 对于k=1到N
a) .计算O ik , net jk 和?的值(正向过程); b) .对各层从M 到2反向计算(反向过程);
b. 对同一节点j € M,由式(1)和⑵计算冰;