




已阅读5页,还剩71页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 人工神经网络 ArtificalNeuralNetwork 张凯副教授 武汉科技大学计算机学院 2 第五章BP神经网络 1 研究背景 2 学习规则 3 感知机结构 4 感知机学习规则 研究背景 罗斯布莱特的感知机学习规则和伯纳德和玛西娅的LMS算法是设计用来训练单层的类似感知器的网络的 如前面几章所述 这些单层网络的缺点是只能解线性可分的分类问题 罗斯布莱特和伯纳德均意识到这些限制并且都提出了克服此类问题的方法 多层网络 但他们未将这类算法推广到用来训练功能更强的网络 研究背景 韦伯斯 Werbos 在他1974年博士的论文中第一次描述了训练多层神经网络的一个算法 论文中的算法是在一般网络的情况中描述的 而将神经网络作为一个特例 论文没有在神经网络研究圈子内传播 研究背景 直到20世纪80年代中期 反向传播算法才重新被发现并广泛地宣扬 这个算法因被包括在 并行分布式处理 ParallelDistributedProcessing RuMc86 一书中而得到普及 才使之成为迄今为止最著名的多层网络学习算法 BP算法 由此算法训练的神经网络 称之为BP神经网络 研究背景 DavidRumelhart J McClelland 研究背景 BP网络广泛应用于函数逼近 模式识别 分类 数据压缩等 80 90 的人工神经网络模型是采用BP网络或它的变化形式 它也是前馈网络的核心部分 体现了人工神经网络最精彩的部分 异或问题 0 1 1 0 多层网络求解异或问题 输出函数 用一个简单的三层感知器就可得到解决 多层网络求解异或问题 x1 x2 0 5 0 x1 x2 1 5 0 0 7 y1 0 4y2 1 0 多层网络求解异或问题 BP神经元及BP网络模型 BP神经元及BP网络模型 BP神经元与其他神经元类似 不同的是BP神经元的传输函数为非线性函数 最常用的函数是logsig和tansig函数 其输出为 BP神经元及BP网络模型 BP神经元及BP网络模型 BP网络一般为多层神经网络 由BP神经元构成的二层网络如图所示 BP网络的信息从输入层流向输出层 因此是一种多层前馈神经网络 BP神经元及BP网络模型 如果多层BP网络的输出层采用S形传输函数 如logsig 其输出值将会限制在较小的范围内 0 l 用线性传输函数则可以取任意值 BP神经元及BP网络模型 前一层的输出是后一层的输入 网络的输入 网络的输出 BP神经元及BP网络模型 BP网络的学习 在确定了BP网络的结构后 要通过输入和输出样本集对网络进行训练 亦即对网络的阈值和权值进行学习和修正 以使网络实现给定的输入 输出映射关系 BP网络的学习 BP网络的学习过程分为两个阶段 第一个阶段是输入已知学习样本 通过设置的网络结构和前一次迭代的权值和阈值 从网络的第一层向后计算各神经元的输出 第二个阶段是对权值和阈值进行修改 从最后一层向前计算各权值和阈值对总误差的影响 梯度 据此对各权值和阈值进行修改 BP网络的学习 以上两个过程反复交替 直到达到收敛为止 由于误差逐层往回传递 以修正层与层间的权值和阈值 所以称该算法为误差反向专播 errorbackpropagation 算法 这种误差反传学习算法可以推广到有若干个中间层的多层网络 因此该多层网络常称之为BP网络 BP网络的学习 标准的BP算法也是一种梯度下降学习算法 其权值的修正是沿着误差性能函数梯度的反方向进行的 针对标准BP算法存在的一些不足 出现了几种基于标准BP算法的改进算法 如变梯度算法 牛顿算法等 函数逼近 直到现在为止 在本书中看到的神经网络的应用多是在模式分类方面 神经网络在本质上也可被看作是函数逼近器 例如 在控制系统中 目标是要找到一个合适的反馈函数 应用举例 求解函数逼近问题有21组单输入矢量和相对应的目标矢量 试设计神经网络来实现这对数组的函数关系 2020 3 14 23 函数逼近 它能将测量到的输出映射为控制输入 考虑图中的两层的1 2 1网络 函数逼近 此例中 第一层的传输函数是logsig函数第二层的是线性函数 函数逼近 注意网络的响应包括两步 每一步对第一层中的一个logsig形神经元的响应 通过调整网络的参数 每一步的曲线形状和位置都可以发生改变 如在下面讨论中将会见到的那样 函数逼近 目标矢量相对于输入矢量的图形初始网络的输出曲线 2020 3 14 27 函数逼近 2020 3 14 28 训练1000次训练2000次 函数逼近 2020 3 14 29 训练3000次训练5000次 函数逼近 从这个例子中 可以看到多层网络的灵活性 看起来 只要在隐层中有足够数量的神经元 我们可以用这样的网络来逼近几乎任何一个函数 事实上 研究已表明两层网络在其隐层中使用S形传输函数 在输出层中使用线性传输函数 就几乎可以以任意精度逼近任何感兴趣的函数 只要隐层中有足够的单元可用 Host89 函数逼近 我们已经有了对多层感知机网络在模式识别和函数逼近中的能力一些概念 下一步是要设计一个算法来训练这样的网络 反向传播算法 反向传播算法 如前所述 多层网络中某一层的输出成为下一层的输入 描述此操作的等式为 这里 M是网络的层数 第一层的神经元从外部接收输入 它是等式的起点 最后一层神经元的输出是网络的输出 多层网络的BP算法是LMS算法的推广 两个算法均使用相同的性能指数 均方误差 算法的输入是一个网络正确行为的样本集合 这里是网络的输入 是对应的目标输出 每输入一个样本 便将网络输出与目标输出相比较 算法将调整网络参数以使均方误差最小化 性能指数 近似误差的最速下降法为 这里是学习速度 性能指数 这里 x是网络权值和偏置值的向量 若网络有多个输出 则上式的一种形式为 这里 均方误差的期望值被第k次迭代时的均方误差所代替 敏感性的反向传播 现在还需要计算敏感性 正是这个过程给出了反向传播这个词 因为它描述了第m层的敏感性通过第m 1层的敏感性来计算的递推关系 误差不是隐层中的权值的显式函数偏导数不易求得 链法则 链法则计算隐层偏导数 设有一个函数f 它是变量n的显示函数 函数n是w的显示函数 现在球f关于第三个变量w的导数 若 链法则 梯度计算 梯度计算 敏感性 梯度 最速下降 Jacobian矩阵 Jacobian矩阵 Jacobian矩阵 反向传播 敏感性 现在我们可以看到反向传播算法得名的原因了 敏感性从最后一层通过网络被反向传播到第一层 初始化 最后一层 第一步 通过网络将输入向前传播 BP算法总结 下一步 通过网络将敏感性反向传播 BP算法总结 最后 使用最速下降法更新权值和偏置值 BP算法总结 BP算法总结 1 2 1Network t a e p 例子 函数逼近 网络 初始条件 下一步定义网络要解决的问题 假定我们用此网络来逼近函数训练集可以通过计算函数在几个p值上的函数值来得到 初始条件 在开始BP算法前 需要选择网络权值和偏置值的初始值 通常选择较小的随机值 下一章将讨论为什么要这样做 现在 选择的值网络对这些初始值的响应如图所示 图中还包括要逼近的正弦函数的曲线 初始条件 现在可以开始执行算法了 对初始输入 我们选择p 1 第一层的输出为 前向传播 第二层的输出为误差将为 前向传播 算法的下一阶段是反向传播敏感性值 在开始反向传播前需要先求传输函数的导数和 对第一层 反向传播 对第二层 下面可以执行反向传播了 起始点在第二层 反向传播 第一层的敏感性由计算第二层的敏感性反向传播得到 反向传播 算法的最后阶段是更新权值 为简单起见 学习速度设为 权的修正 权的修正 这就完成了BP算法的第一次迭代 下一步可以选择另一个输入 执行算法的第二次迭代过程 迭代过程一直进行下去 直到网络响应和目标函数之差达到某一可接受的水平 权的修正 接着讨论与反向传播法的实际实现相关的一些问题 包括网络结构的选择 网络收敛性和一般化的问题 1 网络结构的选择如本章前面所述 多层网络可用来逼近几乎任一个函数 只要在隐层中有足够的神经元 然而 通常并不能说 多少层或多少神经元就可以得到足够的性能 本节中我们通过一些例子来考察这个问题 反向传播应用 第一个例子 假定要逼近如下的函数 其中i取值1 2 4和8 随i的增加 函数变得更为复杂 在的区间内将有更多的正弦波周期 当i增加时 很难用隐层中神经元数目固定的神经网络来逼近g p 网络结构的选择 对这个例子 我们使用一个1 3 1网络 第一层的传输函数为 logsig 形 第二层的传输函数是线性函数 根据前面的函数逼近例子 这种两层网络的响应是三个 logsig 形函数之和 或多个logsig形函数之和 只要隐层中有同样多的神经元 显然 对这个网络能实现的函数有多么复杂有一个限制 图6 18是网络经训练来逼近g p 对i 1 2 4 8 后的响应曲线 最终的网络响应用图中画出的曲线来表示 网络结构的选择 网络结构的选择 1 3 1Network i 1 i 2 i 4 i 8 由于网络的能力受隐层中神经元数目的限制 尽管BP算法可以获得使均方误差最小化的网络参数 网络的响应却不能精确逼近所期望的函数 i 1 i 2 i 4 i 8 网络结构的选择 可以看到 对i 4 这个1 3 1网络达到了它的最大能力 当i 4时 网络不能生成g p 精确的逼近曲线 从图右下方的图中可以看致1 3 1网络试图逼近i 8时的函数g p 网络的响应和g p 之间的均方误差达到了最小化 但网络响应曲线只能与函数的一小部分相匹配 网络结构的选择 下一个例子中将从一个稍有些不同的角度来解决此问题 这次我们选择函数g p 然后使用越来越大的网络直到能精确地逼近函数为止 g p 采用 网络结构的选择 1 5 1 1 2 1 1 3 1 1 4 1 网络的能力受隐层中神经元数目的限制 若要逼近有大量拐点的函数 隐层中就要有大量的神经元 通常不知道多少层或多少神经元就能得到足够的性能 BP网络的局限性 在人工神经网络的应用中 绝大部分的神经网络模型采用了BP网络及其变化形式 但这并不说明BP网络是尽善尽美的 其各种算法依然存在一定的局限性 BP网络的局限性主要有以下几个方面 BP网络的局限性 1 学习率与稳定性的矛盾梯度算法进行稳定学习要求的学习率较小 所以通常学习过程的收敛速度很慢 附加动量法通常比简单的梯度算法快 因为在保证稳定学习的同时 它可以采用很高的学习率 但对于许多实际应用 仍然太慢 以上两种方法往往只适用于希望增加训练次数的情况 如果有足够的存储空间 则对于中 小规模的神经网络通常可采用Levenberg Marquardt算法 如果存储空间有问题 则可采用其他多种快速算法 例如对于大规模神经网络采用trainscg或trainrp更合适 BP网络的局限性 2 学习率的选择缺乏有效的方法对于非线性网络 选择学习率也是一个比较困难的事情 对于线性网络 我们知道 学习率选择的太大 容易导致学习不稳定 反之学习率选择的太小 则可能导致无法忍受过长的学习时间 不同于线性网络 我们还没有找到一种简单易行的方法 选择学习率的问题 对于快速训练算法 其默认参数值通常留有裕量 BP网络的局限性 3 训练过程可能陷于局部最小从理论上说 多层BP网络
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国卫星投资管理办法
- 《农村公路管理办法》
- 股票可转债管理办法
- 财务关于食堂管理办法
- 诗书影画院管理办法
- 装配化装修管理办法
- 上线基础资料管理办法
- 2025年收费的生产服务项目合作计划书
- 设备进出场管理办法
- 不明生物标识管理办法
- 电缆敷设施工方案及安全措施
- 三级电工职业技能等级认定理论考试复习题及答案
- DB34T 3709-2020 高速公路改扩建施工安全作业规程
- 初中道德与法治教研组工作计划
- 企业级IPv6网络改造及升级服务合同
- 地基沉降量计算-地基沉降自动计算表格
- 巨人通力电梯NOVA GKE调试说明书故障代码GPN15 GVN15-GKE - 51668093D01-2022
- 《弟子规》全文及解释(拼音版)
- 2025数学步步高大一轮复习讲义人教A版复习讲义含答案
- 《立在地球边上放号》《峨日朵雪峰》联读课件32张高中语文必修上册
- 家具厂封边技能培训
评论
0/150
提交评论