5人工神经网络ppt课件.ppt_第1页
5人工神经网络ppt课件.ppt_第2页
5人工神经网络ppt课件.ppt_第3页
5人工神经网络ppt课件.ppt_第4页
5人工神经网络ppt课件.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

智能信息处理技术 华北电力大学 1 第5章人工神经网络 2 5 2前馈神经网络 3 5 2 1 单层感知器 1958年 罗森布拉特 Rosenblatt 提出一种具有单层计算单元的神经网络 称为 感知器 Perceptron 感知器是模拟人的视觉接受环境信息 并由神经冲动进行信息传递 感知器研究中首次提出了自组织 自学习的思想 而且对所能解决的问题存在着收敛算法 并能从数学上严格证明 单层感知器的结构与功能非常简单 较易学习和理解 是研究其他网络的基础 感知器模型 如图所示 单层感知器是指只有一层处理单元的感知器 图中输入层也称感知层 有n个神经元节点 这些节点只负责引入外部信息 自身无信息处理能力 每个节点接收一个输入信号 输出层也称处理层 有m个神经元节点 每个节点均有信息处理能力 输入列向量 X x1 x2 xn T输出列向量 O o1 o2 om T权值列向量 Wj w1j w2j wnj T离散型单层感知器的转移函数一般采用符号函数 4 5 2 1 单层感知器 感知器功能考虑如图所示单计算节点感知器的情况 则 设输入向量X x1 x2 T 则两个输入分量在几何上构成一个二维平面 输入样本可以用该平面上的一个点表示 则由方程确定的直线成为二维输入样本空间上的一条分界线 设输入向量X x1 x2 x3 T 则三个输入分量在几何上构成一个三维空间 节点j的输出为由方程确定的平面成为三维输入样本空间上的一个分界面 推广到n维空间的一般情况 设输入X x1 x2 xn T 则n个输入分量在几何上构成一个n维空间 由方程可定义一个n维空间上的超平面 此平面可以将输入样本分为两类 5 5 2 1 单层感知器 感知器的局限性如果两类样本可以用直线 平面或超平面分开 称为线性可分 否则称为线性不可分 由感知器分量的几何意义可知 由于净输入为零确定的分类判决方程是线性方程 因而它只能解决线性可分问题而不能解决线性不可分问题 由此可知 单计算层感知器的局限性为 仅对线性可分问题具有分类能力 感知器的学习算法采用感知器学习规则进行训练 训练步骤为 对各初始权值w0j 0 w1j 0 w2j 0 wnj 0 j 1 2 m m为计算层的节点数 赋予较小的非零随机数 输入样本对 Xp dp 其中Xp 1 dp为期望的输出向量 教师信号 上标p代表样本对的模式序号 设样本集中的样本总数为P 则p 1 2 P 计算各节点的实际输出 调整各节点对应的权值 其中 为学习率 用于控制调整速度 太大会影响训练的稳定性 太小则使训练的收敛速度变慢 一般取0 1 返回步骤 输入下一对样本 周而复始直到对所有样本感知器的实际输出与期望输出相等 6 5 2 1 单层感知器 例单计算节点感知器有3个输入 给定3对训练样本如下X1 1 1 2 0 Td1 1X2 1 0 1 5 0 5 Td2 1X3 1 1 1 0 5 Td3 1设初始权向量W 0 0 5 1 1 0 T 0 1 训练该感知器 解 第一步输入X1 得第二步输入X2 得 第三步输入X3 得 第四步返回到第一步 继续训练直到dp op 0 p 1 2 3 7 5 2前馈神经网络 8 5 2 2 多层感知器 单计算层感知器只能解决线性可分问题 在输入层和输出层之间引入隐层作为输入模式的 内部表示 将单计算层感知器变成多 计算 层感知器 可以实现线性不可分问题 例 用两输入层感知器解决 异或 问题 如图具有单隐层的感知器 其中隐层的两个节点相当于两个独立的符号单元 这两个符号单元可分别在x1和x2构成的平面上确定两条分界直线S1和S2 构成如图所示的开放式凸域 通过适当调整两条直线的位置 可使两类线性不可分样本分别位于开放式凸域内部和外部 输出层节点以隐层两节点的输出y1 y2作为输入 其结构也相当于一个符号单元 经过训练 使其具有逻辑 与非 功能 则 异或 问题即可得到解决 9 5 2 2 多层感知器 当输入样本为二维向量时 隐层中的每个节点确定了二维平面上的一条分界直线 多条直线经输出节点组后后构成下图所示的各种形状的凸域 所谓凸域是指其边界上任意两点之连线均在域内 通过训练调整凸域的形状 可将两类线性不可分样本分为域内和域外 输出层节点负责将域内外的两类样本进行分类 单隐层节点数量增加可以使多边形凸域边数增加 从而在输出层构建出任意形状的凸域 如果在此基础上增加第二个隐层 则该隐层的每个节点确定一个凸域 各种凸域经输出层节点组合后可称为下图所示的任意形状域 已经证明 双隐层感知器足以解决任何复杂的分类问题 采用非线性连线函数作为神经元节点的转移函数将使区域边界线的基本线素由直线变成曲线 从而使整个边界线变成连线光滑的曲线 10 5 2 2 多层感知器 从感知器学习规则看 其权值调整量取决于感知器期望输出与实际输出之差 即 对于各隐层来说 不存在期望输出 因而该学习规则对隐层权值不适用 11 5 2前馈神经网络 12 5 2 3 误差反传 BP 算法 20世纪80年代中期 帕克 Parker 和鲁姆尔哈特 Rumelhart 等人研究了非线性连线转移函数的多层前馈网络的误差反向传播算法 ErrorBackProragation 简称BP BP算法解决了多层感知器的学习问题 促进了神经网络的发展 BP学习过程描述为 工作信号的正向传播 输入信号从输入层经隐层 传向输出层 在输出端产生输出信号 这是工作信号的正向传播 在信号的向前传递过程中网络的权值是固定不变的 每一层神经元的状态只影响下一层神经元的状态 如果输出层不能得到期望的输出 则转入误差信号反向传播 误差信号的反向传播 网络的实际输出与期望输出之间的差值即为误差信号 误差信号由输出端开始逐层向前传播 这是误差信号的反向传播 在误差信号反向传播过程中 网络的权值由误差反馈进行调节 通过权值的不断修正使网络的实际输出更接近期望输出 13 5 2 3 误差反传 BP 算法 基于BP算法的多层前馈网络模型以单隐层网络为例 输入向量为X x1 x2 xi xn T 隐层的输出向量为Y y1 y2 yj ym T 输出层输出向量为O o1 o2 ok ol T 期望输出向量为d d1 d2 dk dl T 输入层到隐层之间的权值矩阵用V表示 V V1 V2 Vj Vm 其中列向量Vj为隐层第j个神经元对应的权向量 隐层到输出层之间的权值矩阵用W表示 W W1 W2 Wk Wl 其中列向量Wk为输出层第k个神经元对应的权向量 对于输出层 有 对于隐层 有 14 5 2 3 误差反传 BP 算法 BP学习算法 以三层前馈网络为例 然后推广到一般多层前馈网络 网络误差与权值调整当网络输出与期望输出不等时 存在输出误差E 定义如下 将以上误差定义展开到隐层 有进一步展开至输入层 有权值的调整原则是使误差不断减小 因此应使权值的调整量与误差的负梯度成正比 即 15 5 2 3 误差反传 BP 算法 BP学习算法 续 BP算法推导对于输出层 有对于隐层 有令 则令 则对于输出层 可展开为对于隐层 可展开为其中 16 5 2 3 误差反传 BP 算法 BP学习算法 续 取转移函数为单极性Sigmoid函数f x 1 1 e x 则f x f x 1 f x 得到三层前馈网络的BP学习算法权值调整计算公式为对于一般多层前馈网 设共有h个隐层 按前向顺序各隐层节点数分别记为m1 m2 mh 各隐层输出分别记为y1 y2 yh 各层权值矩阵分别记为W1 W2 Wh Wh 1 则各层取值调整计算公式为 输出层 第h隐层 17 5 2 3 误差反传 BP 算法 标准BP算法的程序实现 单样本训练 初始化 对权值矩阵W V赋随机数 将样本模式计数器p和训练次数计数器q置为1 误差E置0 学习率 设为0 1间小数 网络训练后达到的精度Emin设为一正的小数 输入训练样本对 计算各层输出 计算网络误差 设公有P对训练样本 网络对应不同的样本具有不同的误差Ep 可用其中最大者或均方根为网络总误差 计算各层误差信号 计算 调整各层权值 计算W V中各分量 检查是否对所有样本完成一次轮训 若p P 计数器p q增1 返回步骤 否则转步骤 检查网络总误差是否达到精度要求 若E Emin 训练结束 否则E置0 p置1返回步骤 18 5 2 3 误差反传 BP 算法 标准BP算法的程序实现 批训练 采用单样本训练 每输入一个样本都要回传误差并调整权值 使整个训练的次数增加 收敛速度过慢 可以采用批处理方式 输入所有样本后 计算网络的总误差E总 然后根据总误差计算各层的误差信号并调整权值 采用批训练方式 在样本数较多时 收敛速度快于单样本训练 19 5 2 3 误差反传 BP 算法 多层前馈神经网络的主要能力非线性映射能力 只要能提供足够多的样本模式对供BP网络进行学习训练 便能误差由n维输入空间到m维输出空间的非线性映射 泛化能力 多层前馈网络训练后将非线性映射关系存储在权值矩阵中 当网络输入训练时未曾见过的非样本数据时 网络也能误差由输入空间向输出空间的正确映射 容错能力 允许输入样本中带有较大的误差甚至个别错误 BP算法的局限性存在平坦区域 梯度变化很小 收敛缓慢 存在多个极小点 使训练陷入局部极小点 20 5 2前馈神经网络 21 5 2 4 标准BP算法的改进 标准BP算法缺陷易形成局部极小而得不到全局最优 训练次数多使得学习效率低 收敛速度慢 隐节点的选取缺乏理论指导 训练时学习新样本有遗忘旧样本的趋势 22 5 2 4 标准BP算法的改进 3种常用的改进方法增加动量项标准BP算法调整权值时 没有考虑t时刻以前的梯度方向 常使训练过程发生振荡 收敛缓慢 提出在权值调整公式中增加一动量项 即从前一次权值调整量中取出一部分叠加到本次权值调整量中 称为动量系数 一般有 0 1 动量项反映了以前积累的调整经验 对于t时刻的调整起阻尼作用 自适应调节学习率学习率 在标准BP算法中定为常数 而在实际应用中 很难确定一个从始至终都合适的最佳学习率 在平坦区域 太小会使训练次数增加 因而希望增大 值 而在误差变化剧烈的区域 太大会因为调整量过大而夸过较窄的 坑凹 处 使训练出现振荡 反而增加迭代次数 因此在训练过程中采用自适应的学习率 使其该大时增大 该小时减小 设一初始学习率 若经过一批次权值调整后使总误差E总 则本次调整无效 且 1 23 5 2 4 标准BP算法的改进 3种常用的改进方法 续 引入陡度因子权值调整存在平坦区域是因为神经元输出进入到转移函数的饱和区 如果调整进入平坦区后 设法压缩神经元的净输入 使其输出退出转移函数的饱和区 就可以改变误差函数的形状 从而使调整脱离平坦区 在原转移函数中引入一个陡度因子 当发现 E接近零而d o仍较大时 可判断已进入平坦区 此时令 1 当退出平坦区后 再令 1 应用结果表明 该方法对于提高BP算法的收敛速度十分有效 24 5 2前馈神经网络 25 5 2 5 基于BP算法的多层前馈神经网络设计基础 神经网络的开放设计方面至今还没有一套完善的理论作为指导 应用中主要采用的设计方法是 在充分了解待解决问题的基础上将经验和试探相结合 通过多次改进性实验 最终选出一个较好的设计方案 1 网络信息容量与训练样本数多层前馈网络的分类能力与网络的信息容量相关 如用网络权值和阈值总数nw表征网络信息容量 研究表明 训练样本数P与给定的训练误差 之间应满足以下匹配关系 2 训练样本集的准备输入输出量的选择 输出量代表系统要实现的功能目标 输入量必须选择对输出影响大且能够检测或提取的变量 输入量的提取与表示 连续型和离散型 输出量的表示输入输出数据的预处理训练集的设计 1 训练样本数的确定 经验规则 训练样本数是网络连接权总数的5 10倍 2 样本的组织与选择 样本类别均衡 尽量使每个类别数量大致相同 另外样本的输入顺序应将不同类别样本交叉输入 26 5 2 5 基于BP算法的多层前馈神经网络设计基础 3 初始权值的设计网络权值的初始化对缩短网络的训练时间至关重要 神经元的转移函数都是关于零点对称的 如果每个的节点的净输入均在零点附近 则其输出均处在转移函数的中点 这个位置不仅远离转移函数的饱和区 而且是其变化最灵敏的区域 必然使网络的学习速度较快 为了使各节点的初始净输入在零点附近 有两种方法 一是使初始权值足够小 另一种方法是使初始值为 1和 1的权值数相等 应用中对隐层权值可采用第一种方法 而对输出层可采用第二种方法 27 5 2 5 基于BP算法的多层前馈神经网络设计基础 4 多层前馈网络结构设计网络的训练样本确定后 网络的输入层节点数和输出层节点数便确定 多层前馈网络的结构设计主要是解决隐层数和隐节点数的问题 隐层数的设计理论分析证明 具有单隐层的前馈网络可以映射所有连续函数 只要当学习不连续函数时 才需要两个隐层 在设计多层前馈网时 先考虑一个隐层 当一个隐层的节点数很多仍不能改善网络性能时 才考虑增加一个隐层 隐节点数的设计隐节点的作用是从样本中提取并存储其内在规律 隐节点数量太少 网络不足以概括和体现训练集中的样本规律 隐节点数量过多 又可能把样

温馨提示

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

评论

0/150

提交评论