《前馈神经网络》ppt.ppt

上传人:天**** 文档编号:6944898 上传时间:2020-03-09 格式:PPT 页数:51 大小:2.29MB
返回 下载 相关 举报
《前馈神经网络》ppt.ppt_第1页
第1页 / 共51页
《前馈神经网络》ppt.ppt_第2页
第2页 / 共51页
《前馈神经网络》ppt.ppt_第3页
第3页 / 共51页
点击查看更多>>
资源描述
前馈神经网络 前馈神经网络是神经网络中一种典型分层结构 信息流从输入层进入网络后逐层向前传递至输出层 根据前愦网络中神经元转移函数 隐层数以及权值调整规则的不同 可形成具有各种功能特点的神经网络 3 1单层感知器 1958年 美国心理学家FrankRosenblatt提出一种具有单层计算单元的神经网络 称Perceptron 即感知器 感知器是模拟人的视觉接受环境信息 并由神经冲动进行信息传递 感知器研究中首次提出了自组织 自学习的思想 而且对所能解决的问题存在着收敛算法 并能从数学上严格证明 因而对神经网络的研究起了重要的推动作用 单层感知器的结构与功能都很简单 以至于目前很少被应用来解决实际问题 但它是研究其他神经网络的基础 3 1 1感知器模型 y1 yj ym W1 Wj Wm x1 x2 xi xn 单层感知器 处理层 输入层 处理层 m个神经接点 每节点均有信息处理能力 m个节点向外部处理输出信息 构成输出列向量Y Y Y1Y2 Yj Ym T 输入层 感知层 n个神经节点 无信息处理能力 只负责引入外部信息X X x1x2 xi xn T 两层间连接权值用权值列向量Wj表示 m个权向量构成单层感知器的权值矩阵W Wj w1jw2j wij wnj TW W1W2 Wj Wm T 由神经元数学模型 处理层中任一节点 其净输入netj来自输入层各节点的输入加权和 离散型单计算层感知器采用符号型转移函数 则j节点输出为 3 1 2感知器的功能 为便于直观分析 现考虑单计算节点感知器的情况 yj Wj x1 x2 xi xn w1j w2j wij wnj j 明显看出 单计算节点感知器实际上就是一个M P神经元模型 因为采用符号转移函数 又称符号单元 下面分三种情况讨论单计算节点感知器的功能 1 设输入向量X x1x2 T两个输入分量x1和x2构成一个二维平面 输入样本X可用该平面上一个点表示 节点j的输出yj为 则方程 成为二维输入样本空间上的一条分界线 线上方的样本用 表示 它们使 的区域都会使yj 1 线下方样本用 表示 它们使 的区域都会使yj 1 显然 由感知器权值和阈值确定的直线方程规定了分界线在样本空间的位置 可将输入样本分为两类 x1 x2 2 设输入向量X x1x2x3 T 则x1 x2 x3几何上构成一个三维空间 节点j的输出为 方程 确定的平面成为三维输入样本空间的 一个分界面 把输入样本 和 正确分两类 对应yj 1和 1 3 推广到n维空间的一般情况 输入向量X x1x2 xn T 则n个输入分量构成几何n维空间 方程 定义的n维空间超平面 将输入 样本分为2类 看出 一个简单的单计算节点感知器具有分类功能 其分类原理是将分类知识存储于感知器的权向量 包括阈值 中 由权向量确定的分类判决界面 线 可将输入模式分为两类 但是 权重系数和阈值一般是不可事先预知的 在初始人为给定的权值和阈值所确定的分界面也不可能将类别正确分开 只有用足够多的已知其类别的输入样本X 对神经网络进行训练 让神经元通过学习自动地找到那些权重系数和阈值 从而 确定的分界面 才是有实际意义的 神经元在实现其分类功能以前 必须有学习和训练阶段 在此阶段向神经元送入足够多数量的样本X 并需要指明每个矢量X所属类别 所以这是一种教师指导下的学习 单计算节点感知器实现逻辑运算问题 逻辑 与 功能 真值表 X1x2y00001000111 4个样本 两种输出 0 1 属分类问题 使用单节点感知器 用感知器规则训练 得到连接权及阈值如图 x1 x2 y 0 5 0 5 0 75 1 令计算节点净输出为0 得分类判决方程 0 5x1 0 5x2 0 75 0 该直线方程正确地把两类样本分类 将输出为1的样本点作 输出为0的样本点作 表示 按真值表作图 得 0 1 1 0 1 1 0 0 x1 x2 0 5x1 0 5x2 0 75 0 该分类线不唯一 取决于具体的权值训练 逻辑 或 功能 真值表 X1x2y00001101111 4个样本 两种输出 0 1 属分类问题 x1 x2 y 1 1 0 5 1 学习训练的w1 w2 1 0 5 净输入为0得分类判决方程 x1 x2 0 5 0 1 0 1 1 x2 0 1 0 0 x1 x1 x2 0 5 0 实现两类样本正确分类 例 设计一个感知器神经网络 完成下列分类 以MATLAB编程仿真程序 并画出分类线 解 1 问题分析 输入向量2个元素 取值范围 1 1 输出向量一个元素 是一个二值节点 取值0或1 可确定单层感知器神经网络结构 一个二维输入向量 一个神经元 神经元转移函数为hardlim 硬限幅函数 2 程序设计 已知 p1 p2 a 1 设计一个感知器神经网络 实现二维向量分类功能clearall 清除所有内存变量 初始化感知器网络pr 11 11 设置感知器网络输入向量每个元素的值域net newp pr 1 定义感知器网络 一个神经元net layers 1 transferFcn hardlims 指定感知层转移函数为对称硬限幅函数 训练感知器网络p 0 5 1 10 5 10 5 1 1 输入向量 训练样本值 t 0110 目标向量 net tr train net p t 训练感知器网络 存储训练后的网络savenet35net Example35Simclearall 清除所有内存变量 加载训练后的网络loadnet35net 网络仿真P 0 5 1 10 5 10 5 1 1 输入向量 测试样本 a sim net P 仿真结果 绘制网络的分类结果及分类线v 22 22 设置坐标的范围plotpv P a v 绘制分类结果plotpc net iw 1 net b 1 绘制分类线net iw 1 输出权值net b 1 输出阈值 TRAINC Epoch0 100TRAINC Epoch2 100TRAINC Performancegoalmet P 0 50001 0000 1 0000 1 0000 1 00000 50000 5000 1 0000a 0110ans 0 50001 5000 权 ans 0 阈值 3 1 3感知器的局限性 异或 问题 真值表 X1x2y00001101110 4个样本 两种输出 0 1 也是二值分类问题 1 0 1 1 x2 0 1 0 0 x1 任何直线均不能将两类样本正确分开 感知器由于净输入为0 确定的分类判决方程是线性方程 因而只能解决线性可分问题的分类 不能解决线性不可分问题 这称为单计算层感知器的局限性 3 1 4感知器的学习算法 感知器采用感知器学习规则进行训练 用t表示学习步的序号 权值看作t的函数 t 0对应学习开始前的初始状态 此时权值为初始值 训练过程如下 1 对各初始权值w0j 0 w1j 0 wnj 0 j 1 2 m m为计算层的节点数 赋予较小的非零随机数 2 输入样本对 Xp dp 其中Xp 1x1px2p xnp T dp为期望输出向量 教师信号 下标p代表样本对的模式序号 设样本集中的样本总数为P 则p 1 2 P 3 计算各节点的实际输出yjp t sgn WjT t Xp j 1 2 m 4 调整各节点对应的权值Wj t 1 Wj t djp yjp t Xpj 1 2 m 学习率 一般取0 1 用于调整控制速度 太大影响训练稳定性 太小使训练的收敛性变慢 5 返回到步骤 2 输入下一对样本 周而复始直到所有样本使感知器的实际输出与期望输出相等 dp yp 0 p 1 2 P 已经得到证明 如果输入样本线性可分 无论感知器的初始权向量如何取值 经过有限次调整后 总能稳定到一个权向量 该权向量确定的超平面能将两类样本正确分开 能够将样本正确分类的权向量并不唯一 一般初始权向量不同 训练过程和所得到的结果也不同 但都可满足误差为零的要求 例 单计算节点感知器有3个输入 现给定3对训练样本 X1 11 20 Td1 1 X2 101 5 0 5 Td2 1 X3 1 110 5 Td3 1 设初始权向量W 0 0 51 10 T 0 1 注意 输入向量中第一个分量x0恒等于 1 权向量中第一个分量为阈值 试训练该感知器网络 解 第一步 输入X1 WT 0 X1 0 51 10 11 20 T 2 5 Y1 0 sgn 2 5 1 W 1 W 0 d1 y1 X1 0 51 10 T 0 1 1 1 11 20 T 0 70 8 0 60 T 第二步 输入X2 WT 1 X2 0 70 8 0 60 101 5 0 5 T 1 6 Y2 1 sgn 1 6 1 W 2 W 1 d2 y2 1 X2 0 70 8 0 60 T 0 1 1 1 101 5 0 5 T 0 70 8 0 60 T 第三步 输入X3 WT 2 X3 0 70 8 0 60 1 110 5 T 2 1 Y3 2 sgn 2 1 1 W 3 W 2 d3 y3 2 X3 0 50 6 0 40 1 T 第四步 返回到第一步 继续训练 直到dp yp 0p 1 2 3 3 2多层感知器 单计算层感知器只能解决线性可分问题 多层感知器可解决线性不可分问题 如 采用两计算层感知器解决 异或 问题 1 2 3 1 1 x1 x2 y1 y2 y3 w11 w12 w21 w22 3 1 2 输出层节点以隐层两节点y1 y2的输出作为输入 其结构也相当于一个符号单元 隐层两节点相当于两个独立的符号单元 单计算节点感知器 具有两个计算层感知器 x1 x2构成的平面上 1 2两符号单元确定两条分界直线s1和s2 可构成开放式凸域如图 1 0 1 1 x2 0 1 0 0 x1 s1 s2 通过网络训练 调整两直线位置 可使 异或 两类线性不可分样本分别位于该开放式凸域内部和外部 1 0 1 1 x2 0 1 0 0 x1 s1 s2 1 2 3 x1 x2 y1 y2 w11 w12 w21 3 1 2 y3 y1 0 y2 0 y1 1 y2 1 对隐节点1 s1下面的样本 使其输出为y1 1 而s1上面样本使y1 0 对隐节点2 s2上面的样本 使其输出为y2 1 而s2下面样本使y2 0 这样可实现 输入 类信息时有 y1 1y2 1 在凸域内 输入 类样本时有 y1 0y2 1 同时处在s1 s2上方 即s1上面的 和有 y1 1y2 0 同时处在s1 s2下方 即s2下方的 这样 把输出层节点3以隐层两节点y1 y2为输入 经训练 使其具有逻辑 与非 功能 则 异或 问题得以解决 两个计算层的感知器求解 异或 问题各节点输出情况 x1x2y1y2y300110010111010111110 实现x1 x2y3 异或 逻辑 采用y1 y2y3 与非 逻辑 看出 单隐层感知器可以求解异或问题 具有解决线性不可分问题的分类能力 就单隐层感知器 当输入样本为二维向量时 隐层中每个计算节点确定了二维平面上的一条分界直线 多条直线 隐层中多个节点 经输出节点组合后会构成各种形状凸域 凸域是指其边界上任两点连线均在域内 开式凸域 闭式凸域 通过训练调整凸域形状 可将两类线性不可分样本分为域内域外 单隐层节点数增加可以使多边凸域边数增加 从而在输出层构建出任意形状的凸域 如果再增加第二隐层 则该隐层的每节点确定一个凸域 各种凸域经输出节点组合后 会得到任意形状域 分类能力大大提高 凸域组合的任意形状 已经过严格的数学证明 双隐层感知器足以解决任何复杂分类问题 另 为提高感知器分类能力 可采用非线性连续函数作为神经元节点的转移函数 使区域边界变成曲线 可形成连续光滑曲线域 多层感知器从理论上讲可解决线性不可分问题 但从感知器的学习规则看 其权值调整量取决于感知器期望输出与实际输出之差 即 Wj t dj yj t X 对各隐层节点来说 期望输出无法确定 因而该学习规则对隐层权值不适用 为了改进学习过程 后来提出最小均方 BP算法等 尽管简单的感知器学习算法有局限性 但这种神经元网络模型在神经元网络研究中有重要意义和地位 它提出了自组织 自学习的思想 简单的感知器给出了单个神经元的学习和运行算法 如果把多个这样的神经元连成一个网络 那么这种网络可能有很强的信息处理能力 3 3自适应线性单元 ADALINE 简介 1962年美国斯坦福大学教授widrow提出一种自适应可调的神经网络 其基本构成单元称为自适应线性单元 ADALINE AdaptiveLinearNeuron 这种自适应可调的神经网络主要使用于信号处理中的自适应滤波 预测和模式识别 3 3 1ADALINE模型 1 1 q y w0 w1 w2 wi wn x0 1 x1 x2 xi xn LMS算法 模拟输出 二值输出 误差 Widrow Hoff算法 输入向量X x0 x1 xn T的每个输入分量可以是数字量也可以是模拟量 ADALINE有两种输出情况 1 转移函数为线性函数 输出模拟量 y f WTX WTX 2 转移函数为符号函数 输出为双极数字量 q sgn y y 0 1y 0 数值输出情况 ADALINE与感知器的符号单元完全相同 可进行线性分类 期望输出 模拟输出情况 主要实现调节误差手段 如滤波 由于模拟量输出时的转移函数为线性 故称为自适应线性单元ADALINE 其功能是将ADALINE的期望输出与实际模拟输出相比较 得到一个同为模拟量的误差信号 根据误差信号不断在线调整权向量 以保证在任何时刻始终保持实际输出与期望输出相等 y d 从而可将一组输入模拟信号转变为任意期望的波形d 3 2 2ADALINE学习算法 ADALINE学习算法采用widrow Hoff学习规则 也称LMS LeastMeanSquare 即最小二乘算法 下面以单个自适应线性单元为例 讨论其学习算法 权向量调整量 W d WTX X 输出为模拟量时 ADALINE的转移函数为单位线性函数 所以有 y WTX 定义输出误差 d y则 W d y X X 实际修正权系数中 采用输入向量X除以其模的平方 即 看一下误差改变量 此式表明 永远与 符号相反 这意味着在训练中 的绝对值是单调下降的 即y总是不断接近d 因此 LMS算法能保证ADALINE在自适应学习时的收敛性 下面举例说明LMS算法的学习步骤 例ADALINE模型 输入向量X 11 22 7 T d 2 3 0 6 初始权值赋予随机数W 0 10 51 1 T 做LMS算法学习 解 第一步计算初始输出y 0 和初始误差 0 y 0 WT 0 X 10 51 1 11 22 7 T 4 57 0 d y 0 2 3 4 57 2 27 第二步计算输出y 1 和误差 1 y 1 WT 1 X 0 860 3320 722 11 22 7 T 3 21 1 d y 1 2 3 3 21 0 91 第三步计算输出y 2 和误差 2 得y 2 2 518 2 0 218 继续调整权值 看到 经两步学习 误差由 2 27降到 0 218 实际输出由初始4 57调整到2 518 大大接近d 2 3 收敛速度很快 3 3 3ADALINE应用 ADALINE主要应用于语音识别 天气预报 心电图诊断等医学系统 信号处理以及系统辩识等方面 ADALINE自适应滤波器 延迟 延迟 延迟 x t x t 1 x t 2 x t m w0 w1 w2 wm LMS d t y t 期望输出 滤波输出 x t 连续信号当前值 x t x t 1 信号各时刻采样值 对语音波形和控制信号等随时间连续变化的信息 可用其采样后的离散信号序列作为网络的输入 ADALINE滤波器的作用是用期望输出d t 与实际输出y t 之间的误差来调整权值 以达到使输入波形x t 得到期望波形d t 从而达到滤波的目的 系统辩识 建模 未知系统S ADALINE滤波器 系统输入xk 系统输出y yk y y yk S 未知系统 xk 已知输入信号 输入给S和ADALINE滤波器 y 未知系统输出 作为ADALINE滤波器期望响应 yk ADALINE滤波器实际输出 y yk误差 调节ADALINE滤波器的权值 通过调节权值wm m 0 1 n 则未知系统S的数学模型可表达为 如果未知系统是一个稳定时不变系统 输入信号是频谱较宽的白噪声或 脉冲 那么wm是可以收敛到定值 这样 未知系统S就可以用此确定的线性模型来描述 ADALINE线性神经网络用于噪声对消 如 医学中对胎儿心率的测量问题 由于胎儿的心率一定会受到母体心率的干扰 而且母亲的心率很强 但与胎儿的心率是互相独立的 存在着如何将母体心率的影响消除的问题 采用ADALINE的线性神经网络进行噪声对消 可以得到十分满意的结果 把母体心率 电话中自身的声音作为噪声源n1输入ADALINE中 混有噪声的胎儿心率信号 混有对方声音的信号作为目标响应 通过对消后 系统可以听到清晰的胎儿心率 电话中可以清晰听到来自对方的声音 再如 电话中的回声对消问题 在电话通话过程中 如果没有回声对消措施 那么 我们自身的声音回声和对方的声音一起传到听筒中 而自身的声音更强 影响通话质量 在工程中还有很多类似问题 对于一个优秀的滤波器 希望通过滤波将信号中的噪声去掉 这对一般的滤波器很难做到 ADALINE自适应线性网络实现噪声对消原理 信号源 噪声源 n1 n0 s S n0 y n1 AD S 原始输入信号 n0 与s不相关的随机噪声 n1 与n0相关的信号 系统输出 s n0为ADALINE期望输出 y ADALINE实际输出 则 s n0 y 通过ADALINE滤波调节 可得 Emin 2 Emin s2 Emin n0 y 2 当Emin n0 y 2 0时 y n0 其输出为s 则噪声抵消 设传输信号为正弦波信号 噪声信号为随机信号 正弦波信号与随机信号之和为ADALINE神经元的目标向量 输出信号为网络调整过程中的误差信号 现做噪声对消自适应线性神经网络程序实验 自适应线性神经网络实现噪声对消clearall 清楚所有内存变量 定义输入向量和目标向量time 0 01 0 01 10 时间变量noise rand 1 1000 0 5 4 随机噪声input sin time 信号p noise 将噪声作为ADALINE的输入向量t input noise 将噪声 信号作为目标向量 创建线性ADALINE神经网络net newlin 11 1 0 0 0005 线性神经网络自适应调整 训练 net adaptparam passes 70 net y output adapt net p t 输出信号output为网络调整过程中的误差 绘制信号 迭加随机噪声信号 输出信号的波形holdon 绘制信号波形subplot 3 1 1 plot time input b xlabel t position 10 5 1 ylabel 信号波形sin t fontsize 8 subplot 3 1 2 绘制迭加随机信号波形plot time t m xlabel t position 10 5 5 ylabel 随机噪声波形sin t noise t fontsize 8 绘制输出信号波形subplot 3 1 3 plot time output g xlabel t position 10 5 2 ylabel 输出信号波形y t fontsize 8 holdoff 网络运行结果如下图 看出输出信号除含有一定直流分量外 其波形与输入信号波形基本一致 消除了迭加的随机噪声 3 4多层前馈神经网络 BP网络 多层前馈神经网络的典型结构如图 它包含一个输出层和一个输入层 一个或多个隐含层 隐含层的变换函数一般为非线性函数 如S型函数或双曲线正切函数 tanh x 输出层的变换函数可以是非线性的 也可以是线性的 这由输入 输出映射关系的需要而定 多层前馈神经网络需要解决的关键问题是学习算法 以Rumelhart和McClelland为首的科研小组提出的误差反向传播 ErrorBackPropagation BP 算法 为多层前馈神经网络的研究奠定了基础 BP学习算法已在许多科学技术领域中得到成功的应用 在优化设计中 对复杂非线性优化等问题收到了良好应用效果 人们也常将多层前馈网络直接称为BP网 BP算法的基本思想是 学习过程由信号的正向传播与误差的反向传播两个过程组成 如图所示 正向传播时 输入样本经各隐层逐层处理后 传向输出层 若输出层的实际输出与期望的输出 教师信号 不符 则转入误差的反向传播阶段 误差反传是将输出误差以某种形式通过隐层向输入层逐层反传 并将误差分摊给各层的所有单元 从而获得各层单元的误差信号 此误差信号即作为修正各单元权值的依据 信号正向传播与误差反向传播的权值调整过程 周而复始地进行 权值不断调整的过程 也就是网络的学习训练过程 此过程一直进行到网络输出的误差减少到可接受的程度 或进行到预先设定的学习次数为止 3 4 1基于BP算法的多层前馈网络模型 采用BP算法的多层前馈网络是至今为止应用最广泛的神经网络 在多层前馈网的应用中 以图3所示的单隐层网络的应用最为普遍 三层BP网络结构 一般习惯将单隐层前馈网称为三层前馈网或三层感知器 所谓三层包括了输入层 隐层和输出层 为分析方便 现指定输入层 隐层 输出层分别以i j k表示 描述此三层前馈BP网络 输入向量 加入 隐层单元可引入阈值 隐层输出向量 加入 输出层单元可引入阈值 输出层输出向量 d 输入层到隐层间的权值矩阵 隐层第j个神经元对应的权列向量 隐层到输出层间的权值矩阵 输出层第k个神经元对应的权列向量 网络期望输出向量 下面分析各层信号之间的数学关系 输出层有 隐层有 1 2 3 4 BP网络一般都采用非线性变换的神经元 转移函数多采用单极性S形函数或双极性S函数 也采用线性函数 单极性S函数 双极性S函数 5 6 上述式 1 6 构成了三层BP网络的数学模型 对于多层网络 这种数学模型构筑的是一个非线性的超平面组成的区域 是比较柔和光滑的任意界面 这种网络容错性较好 另一重要特点是f x 连续可微 可以严格利用梯度法进行推算 得到十分明确的权解析式 BP网络可以理解为完成n维空间向量对维空间的近视映照 如果通过P个实际映照对 X1 O1 X2 O2 XP OP 的训练 学习 其训练的目的是得到网络权矩阵V和W 使其映照获得成功 训练后得到的连接权对其他不属于上述P的X子集进行测试 其结果仍能满足正确的映照 3 4 2BP网络的学习算法 BP网络学习是采用误差的梯度下降 GradientDescent 算法 用已知例子作为教师信号对网络的权进行学习 当网络输出与期望输出不等时 存在输出误差E 定义如下 将上式误差定义展开至隐层 进一步展开至输入层 此式看出 网络输入误差E是各层权值的函数 调整权值可以改变误差 调整权值的原则是使误差不断减小 因此 应使权值的调整与误差的负梯度方向一致 即 式中负号表示梯度下降 常数 0 1 为比例系数 训练中反映学习速率 下面具体推导权值调整计算式 约定 推导过程中 对输出层权下标均按 j 0 1 m k 1 2 l 对隐层均按 i 0 1 2 n j 1 2 m 对上式权值调整进行改写 得 对一般多层前馈网 设有h个隐层 按前馈顺序各隐层节点数为 m1 m2 mh 各隐层输出为 y1 y2 yh 各层权值矩阵分别为 W1 W2 Wh Wh 1 按此推到各层权值调整计算公式 看出 BP算法中 各层权值调整公式形式上都是一样的 均由3个因素决定 学习率 本层输出的误差信号 及本层输入信号Y 或X 其中输出层误差信号同网络的期望输出与实际输出之差有关 直接反映了输出误差 而各隐层的误差信号与前面各层的误差信号都有关 是从输出层开始逐层反传过来的 反传过程可以简述为
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!