BP神经网络的基本原理很清楚之欧阳德创编_第1页
BP神经网络的基本原理很清楚之欧阳德创编_第2页
BP神经网络的基本原理很清楚之欧阳德创编_第3页
BP神经网络的基本原理很清楚之欧阳德创编_第4页
BP神经网络的基本原理很清楚之欧阳德创编_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、欧阳德创编5.4 BP 神经网络原理时间:创作:欧阳德BP(Back Propagation )网络是1986 年 Rinehart McClelland为首的科学家小组提,是一种按误差逆传播算法训练的层前馈网络,是目前应用最广泛的经网络模型之一。BP 络能学习和存贮大量的输 输出模式映 射关系,而无需事前示描述这种映射关系的数学 方程。它的学习规则使用最速下降法,通过反向 传播来不断调整网络权值和阈值,使网络的误差 平方和最小。 BP 神经网络模型拓扑结包括输入 层(input)、隐层(hide 和输出层output layer)(如图 5.2 所示)。 BP 神经图 给出了第 j 个基本

2、BP 神经元(节点),只 模仿了生物神经元所有的三个最基本也是最重要欧阳德创编欧阳德创编的功能:加权、求和转移。其中 x x x1 2 in分别代表来自神经元 1、2 输入; 、j1w w w 则分别表示神经元 1、2in 与第 j2 ji 个神经元的连接强度即权值 b 为阈值;f()j传递函数; 为第 j 神经元的输出。j第 个神经元的净输入值 为(5.12其中:若视 , ,令 及包括 及 ,于是节点 j 的净输入 可表示:(5.13欧阳德创编欧阳德创编净输入 通传递函(Transfer )f ()后,便得到第 j 个神经元的输出 :(5.14)式中 f()是调上升函数,而且必须是有界函数,

3、 因为细胞传递的信号可能无限增加,必有一最大 值。 BP 网络BP 算法由数据流的前向计算(正向传播和误差 信号的反向传播两个程构成。正向传播时,传播 方向为输入层隐层输出层,每层神经元的状态 只影响下一层神经元 若在输出层得不到期望的输 出,则转向误差信号反向传播流 。通过这两个 过程的交替进行, 在向量空间执行误差函数梯度 下降策略 ,动态迭代索一组权向量,使网络误差 函数达到最小值,从完成信息提取和记忆过程。 正向传播欧阳德创编欧阳德创编设 BP 网络的输入层有 n 个节点,隐层 q 个节点,输出层有 m 个 节点,输入层与隐层间的权值为 ,隐层与输出 层之间的权值为 ,图 5.4 所示

4、。隐层的传递函 数为 f ,输出层的传递函数为 f (),则隐层节1 点的输出为(将阈值入求和项中):k=1,2, q (5.15 )输出层节点的输出为j=1,2, m (5.16)至此 B-P 网络就完成了 n 维空向量对 维空间 的近似映射。 反向传播1)定义误差函数欧阳德创编欧阳德创编输入 个学习样本,样本输入到网络后得输出来表示。第 个(j=1,2,m)。采用平方型误差函数,是得到第 样本的误差 :p(5.17式中: 为期望输出对于 个样本,全局差为:2)输出层权值的变化采用累计误差 BP 法调整 小,即(5.18),使全局误差 变(5.19)式中: 学习率定义误差信号 为:欧阳德创编

5、欧阳德创编(5.20其中第一项:( )第二项:( )是输出层传递函数的微分。 于是:( 由链定理得:(5.24)于是输出层各神经元权值调整公式为:( 欧阳德创编欧阳德创编3)隐层权值的变化(5.26)定义误差信号为:( )其中第一项:( )依链定理有:( 第二项:( )是隐层传递函数的偏分。 于是:欧阳德创编欧阳德创编(5.31)由链定理得:(5.32)从而得到隐层各神经的权值调整公式为:(5.33) BP 算法改进BP 算法理论具有依据可靠、推导过程严、精度 较高、通用性较好等点, 准 BP 法存在以 下缺点:收敛速度缓;容易陷入局部极小值;难 以确定隐层数和隐层点个数 在实际应用中, 算法

6、很难胜任,因此现了很多改进算法。1)利用动量法改进 BP 算法标准 BP 算法实质上是一种简单的最速降静态寻 优方法, 在修正 W(K),只按照第 K 的负梯度 方向进行修正 ,而没考虑到以前积累的经验,即欧阳德创编欧阳德创编以前时刻的梯度方向从而常 常使学习过程发生振,收敛 缓慢。动量法权值调算法的 具体做法是:将上一权值调整量的一部分迭加到本次误差计算所得的权值调 整量上,作为本次的际权值调整量,即:(5.34)其中:为量系数,通常 00.9学习 率,范围在 0.00110 之间。这种方法所加的动量 因子实际上相当于阻项,它减小了学习过程中的 振荡趋势,从而改善收敛性。动量法降低了网络 对

7、于误差曲面局部细的敏感性,有效的抑制了网 络陷入局部极小。2)自适应调整学习速率标准 BP 算法收敛速度缓慢的一个重要因是学习 率选择不当,学习率得太小,收敛太慢;学习率 选得太大,则有可能正过头,导致振荡甚至发 散。可采用图 5.5 示的自适应方法调整学率。欧阳德创编欧阳德创编调整的基本指导思想:在学习收敛的情况下,增 大,以缩短学习时间;大致使不能收敛时, 要及时减小,直到收敛止。3)动量 -自适应学习率调整算法采用动量法时,BP 算法可以找到更优解;采用 自适应学习速率法时 BP 法可以缩训练时 间。将以上两种方法合起来,就得到动 -自适 应学习速率调整算法4) L-M 学规则L-M )

8、算法比前述几种 使用梯度下降法的 BP 算要快得多,对于复杂 问题,这种方法需要当大的存储空间 L- M(Levenberg-Marquardt) 优化方法的权值调整 率选为(5.35其中:误差向量;网络误差对权值导数的 可比( )矩阵;标量,当很时上 式接近于梯度法,当很上式变成了 Gauss-欧阳德创编欧阳德创编 法,在这种法中,也自适应调整 的。综合考虑,拟采用 L-M 习规则和动量法分别作为 神经网络的训练函数学习函数。 BP 神经网络的训练策略及结果本文借助于 MATLAB 神经网络工具箱来实现多层 前馈 BP 网络(Multi-layer feed-forward backprop

9、agation )颜色空间转换, 免去了许多编写计算程序的烦恼。神经网络的实 际输出值与输入值以各权值和阈值有关,为了使 实际输出值与网络期输出值相吻合,可用含有一 定数量学习样本的样集和相应期望输出值的集合 来训练网络。训练时然使用本章 5.2 节中所述的 实测样本数据。另外,目前尚未找到好的网络构造方法。确定神 经网络的结构和权系来描述给定的映射或逼近一 个未知的映射,只能过学习方式得到满足要求的 网络模型。神经网络学习可以理解为:对确定的 网络结构,寻找一组足要求的权系数,使给定的欧阳德创编欧阳德创编误差函数最小。设计层前馈网络时,主要侧重试 验、探讨多种模型方,在实验中改进,直到选取

10、一个满意方案为止,按下列步骤进行:对任何实 际问题先都只选用一隐层;使用很少的隐层节点 数;不断增加隐层节数,直到获得满意性能为 止;否则再采用两个层重复上述过程。训练过程实际上是根目标值与网络输出值之间误 差的大小反复调整权和阈值,直到此误差达到预 定值为止。 确定 络的结构确定了网络层数、每节点数、传递函数、初始权 系数、学习算法等也确定了 网。确定这些 选项时有一定的指导则,但更多的是靠经验和试 凑。)隐数的确定:1998 年 Hecht-Nielson 证明了对何在闭 区间内的连续函数,可以用一个隐层的 BP 络 来逼近,因而一个三的 BP 网络可以成任意的欧阳德创编欧阳德创编n 维到

11、 维的映照。因此我们从含有一个隐层的网 络开始进行训练。) BP 网络常用传递函数BP 网络的传递函数有多种 Log-sigmoid 型函数 的输入值可取任意值输出值在 0 和 之间; sigmod 型传递函数 tansig 的入值可取任意值, 输出值在 -1 到+ 之间;线性传递函 purelin 的输 入与输出值可取任意。 网通常一个或多 个隐层,该层中的神元均采用 sigmoid 型传递函 数,输出层的神经元采用线性传递函数,整个网 络的输出可以取任意。各种传递函数如图 5.6 示。只改变传递函数而其参数均固定,用本章 5.2 所述的样本集训练 BP 网时发现,传函数使用欧阳德创编欧阳德

12、创编tansig 函数时要比 logsig 函数的误差小。于是在 以后的训练中隐层传函数改用 tansig 函数,输 出层传递函数仍选用 purelin 函。) 每层节点数的确定:使用神经网络的目的实现摄像机输出 RGB 颜色 空间与 CIE-XYZ 色空间转换,因此 BP 网络的输入 层和输出层的节点个分别为 3 。面主要介绍隐 层节点数量的确定。对于多层前馈网络来,隐层节点数的确定是成败 的关键。若数量太少则网络所能获取的用以解决 问题的信息太少;若量太多,不仅增加训练时 间,更重要的是隐层点过多还可能出现所谓“过 渡吻合”(Overfitting问题,即测试误差增大导 致泛化能力下降,因

13、合理选择隐层节点数非常重 要。关于 隐层数及其点数的选 较复杂, 一般 原则是:在能正确反输入输出关系的基础上,应 选用较少的隐层节点,以使网络结构尽量简单。 本论文中采用网络结增长型方法,即先设置较少 的节点数,对网络进训练,并测试学习误差,然欧阳德创编欧阳德创编后逐渐增加节点数,到学习误差不再有明显减少 为止。 误差的选取在神经网络训练过程选择均方误差 MSE 较为合 理,原因如下: 标准 BP 算中,误差定义为:(5.36每个样本作用时,都权矩阵进行了一次修改。由 于每次权矩阵的修改没有考虑权值修改后其它样 本作用的输出误差是也减小,因此将导致迭代次 数增加。 累计误差 BP 算法的全局

14、误差定义:(5.37)这种算法是为了减小个训练集的全局误差,而不 针对某一特定样本,此如果作某种修改能使全局 误差减小,并不等于每一个特定样本的误差也都欧阳德创编欧阳德创编能同时减小。它不能来比较 和 不同的网络 性能。因为对于同一络来说 P 越大, 也越 大; P 值,m 越大 也大。 均方误差 :(5.38其中: 节点的个数, 训练样本数目,网络期望输出值, 网络实际输出值。均方误 差克服了上述两种算的缺点,所以选用均方误差 算法较合理。 训练结果训练一个单隐层的三 网络,根据下经验公 式选择隐层节点数 :(5.39)式中: 为输入节点个数, m 为输出节点个数, 为 1 到 10 间的常

15、数。针对本论文 n 取值范围为1313。训练结果如表 5.1 所示。欧阳德创编欧阳德创编表 5.1 隐层节点数与误差的关系隐层神经元个数345678910111213由上表可以看出:训练误差1.256610.7977460.6318490.5702140.5528730.4451180.3855780.2596240.1857490.1838780.168587测试误差1.12750.82320.72780.67070.68950.65750.64970.45550.66440.480.6671增加隐层节点数可以少训练误差,但超过 10 后测试误差生波动,即泛化能力发生 变化。综合比较隐层点数

16、为 10 12 训练误差 和测试误差,决定隐节点数选用 。训练误差和测试误差很 ,而收敛速度极慢(训练过程如 5.7 所示,这个问题可以 通过对输出量进行归化来解决。根据 Sigmoid 型传递函数输入和输出的围,对 输入变量不进行归一处理,只对输出变量进行归 一化,这是因为在输数据要求归一化的同时,对欧阳德创编欧阳德创编输入数据也进行归一的话,权值的可解释性就更 差了。目标值按下式行变化:(5.40)使目标值落在 0.05 之间,这样靠近数据变 化区间端点的网络输值就有一波动范围,网络的 性能较好。用新生成训练样本与测试样本对隐层 节点数为 12 的网络进行训练得到的训练误差为,测试误差为 ,达到了预定的目标(训练过如图 5.8 所示)。 终训练后的神网络结构采用三层 BP 网络实现摄像机输出 RGB 色空与 CIEXYZ 色空间转换,其中隐层有 个节点,传 递函数采用 函数;输层传递函数选用 purelin 数。经过测试后结果满意可以认为该 神经网络可以用来实这个关系映射。网络的结构 如图 所示:得到的 神经网络的权值和阈值为 章小结欧阳德创编欧阳德创编1)定量地分析了用线性系转换摄像机 RGB空间到 CIE-XYZ 空间数据后产生的均方误差,表明 摄像机与标准察者之间有比较明显的差 别,也就是说 RGB CIE-XYZ 间的转换是非线性 的。2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论