《人工神经网络课程.ppt》由会员分享,可在线阅读,更多相关《人工神经网络课程.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章 前馈型人工神经网络vM-P模型v感知机模型与学习算法v多层感知机网络v自适应线性单元与网络v非线性连续变换单元组成的前馈网络vBP算法2.3 非线性连续变换单元组成的网络 由非线性连续变换单元组成的前馈网络,简称为BP(Back Propagation)网络。1.网络的结构与数学描述 2.(i).非线性连续变换单元3.对于非线性连续变换单元,其输入、输出变换函数是非线性、单调上升、连续的即可。但在BP网络中,我们采用S型函数:2.3 非线性连续变换单元组成的网络函数 是可微的,并且这种函数用来区分类别时,其结果可能是一种模糊的概念。当 时,其输出不是1,而是大于0.5的一个数,而当 时
2、,输出是一个小于0.5的一个数。若用这样一个单元进行分类,当输出是0.8时,我们可认为属于A类的隶属度(或概率)为0.8时,而属于B类的隶属度(或概率)为0.2。2.3 非线性连续变换单元组成的网络(ii).网络结构与参数 下面以四层网络为例来介绍BP网络的结构和参数,一般情况类似。2.3 非线性连续变换单元组成的网络 网络的输入输出关系为:显然可以将阈值归入为特别的权,从而网络的参数可用 表示(为一个集合)。上述网络实现了一个多元连续影射:2.3 非线性连续变换单元组成的网络(iii).网络的学习问题学习的目标:通过网络(或 )来逼近一个连续系统,即连续变换函数 。学习的条件:一组样本(对)
3、对于样本对 ,存在 使得 对于所有样本的解空间为:),(iiyx2.3 非线性连续变换单元组成的网络(iv).Kolmogorov定理Kolmogorov定理(映射神经网络存在定理,1950s)给定任何连续函数 ,则 能够被一个三层前馈神经网络所实现,其中网络的隐单元数为 。注意:定理未解决构造问题。2.3 非线性连续变换单元组成的网络2.BP学习算法(i).基本思想 BP算法属于 学习律,是一种有监督学习:对于辅助变量并将阈值归入权参数:则有:2.3 非线性连续变换单元组成的网络考虑第 个样本的误差:进一步得总误差:引入权参数矩阵:和总权参数向量:2.3 非线性连续变换单元组成的网络根据总误
4、差得到一般性的梯度算法:终止规则:这里用梯度法可以使总的误差向减小的方向变化,直到 或梯度为零结束。这种学习方式使权向量 达到一个稳定解,但无法保证 达到全局最优,一般收敛到一个局部极小解。2.3 非线性连续变换单元组成的网络(ii).BP算法的推导 令 为迭代次数,则得一般性梯度下降法:其中 为学习率,是一个大于零的较小的实数。先考虑对于 的偏导数:2.3 非线性连续变换单元组成的网络在上式中,为第 个样本输入网络时,的对应值。另外令则:为了方便,引入记号:2.3 非线性连续变换单元组成的网络对于 的偏导数,我们有:2.3 非线性连续变换单元组成的网络这样我们有:类似的推导可得:(iii).
5、BP算法Step 1.赋予初值:Step 2.在 时刻,计算 及其广义误差 2.3 非线性连续变换单元组成的网络Step 3.修正权值:Step 4.计算修正后的误差:若 ,算法结束,否则返回到Step 2。2.3 非线性连续变换单元组成的网络BP算法的讨论:a).这里的梯度是对于全部样本求的,因此是一种批处理算法,即 Batch-way,它符合梯度算法,稳定地收敛到总误差的一个极小点而结束。(注意:按总误差小于 可能导致算法不收敛.)b).实际中更常用的是对每个样本修改,即自适应算法,当每次样本是随机选取时,可通过随机逼近理论证明该算法也是收敛的。特点是收敛速度快。C).为了使得算法既稳定,
6、又具有快的收敛速度,可以使用批处理与自适应相补充的算法,即选取一组样本(远小于全部样本)进行计算梯度并进行修正,其它不变。2.3 非线性连续变换单元组成的网络3.BP网络误差曲面的特性 BP网络的误差公式为:是一种非线性函数,而多层的BP网络中 又是上一层神经元状态的非线性函数,用 表示其中一个样本对应的误差,则有:可见,与 有关,同时也与所有样本对有关,即与 有关。2.3 非线性连续变换单元组成的网络假定样本集 给定,那么 是 的函数。在前面考虑的4层网络中,权值参数的总个数为:那么在加上 这一维数,在 维空间中,是一个具有极其复杂形状的曲面。如果在考虑样本,其形状就更为复杂,难于想象。从实
7、践和理论上,人们得出了下面三个性质:(i).平滑区域 2.3 非线性连续变换单元组成的网络(ii).全局最优解 不唯一 中的某些元素进行置换依然是全局最优解,这从右边的简单模型可以看出。(iii).局部极小 一般情况下,BP算法会收敛到一个局部极小解,即:当 ,算法以希望误差收敛;当 ,算法不以希望误差收敛,但可按梯度绝对值小于预定值结束。2.3 非线性连续变换单元组成的网络4.算法的改进(i).变步长算法(是由一维搜索求得)Step 1.赋予初始权值 和允许误差 ;Step 2.在时刻 ,计算误差 的负梯度(方向):Step 3.若 ,结束;否则从 出发,沿 做一维搜索,求出最优步长 :St
8、ep 4.,转 Step 2。2.3 非线性连续变换单元组成的网络步长(学习率)的确定方法:(a).求最优解:对 求导数,并令其为零,直接求解:(b).迭代修正法:令 2.3 非线性连续变换单元组成的网络(ii).加动量项 为了防止震荡并加速收敛,可采用下述规则:注意注意:上式类似于共轭梯度法的算式,但是这里 不共轭。因此可能出现误差增加的现象,即 ,这时可令 ,即退回到原来的梯度算法。2.3 非线性连续变换单元组成的网络(iii).加入 因子 当算法进入平坦区,即 ,则 。为了消除或减弱这种现象,引入 因子,使得:(iv).模拟退火方法 在所有权上加一个噪声,改变误差曲面的形状,使用模拟退火
9、的机制,使算法逃离局部极小点,达到全局最优而结束。2.3 非线性连续变换单元组成的网络5.BP网络的设计(i).输入输出层的设计 BP网络输入、输出层单元个数是完全根据实际问题来设计的,我们分三种情况讨论:A.系统识别 这时输入单元个数为 ;输入单元个数为 。nm2.3 非线性连续变换单元组成的网络B.分类问题(a).若 ,则令 ,这样输出层仅需要一个单元。(b).若 ,则令:这样输出层则需要 个单元。(c).二进制编码方法 对 进行二进制编码,编码位数为2.3 非线性连续变换单元组成的网络 ,这样输出层仅需 个单元。(ii).隐单元数与映射定理1989年,R.Hecht-Nielson证明了
10、任何一个闭区间内的连续函数都可以用一个三层(仅有一个隐层)BP网络来逼近(任意给定精度)。引理2.1 任意给定一个连续函数 及精度 ,必存在一个多项式 ,使得不等式 对任意 成立。引理2.2 任意给定一个周期为 的连续函数 及精度 ,必存在一个三角函数多项式 ,使得 对于 成立。2.3 非线性连续变换单元组成的网络在 维空间中,任一向量 都可表示为 其中 为 的一个正交基。同样考虑连续函数空间 或 ,必然存在一组正交函数序列 ,那么对 ,则 ,bacp2c2.3 非线性连续变换单元组成的网络当 充分大时,对每个 成立:进一步考虑 中的多元连续函数:根据傅立叶级数展开理论,若则同样存在一个 步傅
11、立叶级数和函数:2.3 非线性连续变换单元组成的网络其中系数为:并且当 时,满足即 在 可以完全收敛达到 。现在考虑对一个任意连续映射:其中 ,则 的每个分量也都可以用上面的傅立叶级数表示,依此就可以得到下面的影射定理(定理中所考虑的三层网络输出单元为线性单元)。n1,0)(xh2.3 非线性连续变换单元组成的网络映射定理(Hecht-Nielsen):给定任意精度 ,对于一个连续影射 ,其中:那么必存在一个三层BP神经网络来逼近函数,使得在每点上的误差不超过 。证明:由于输出单元是独立 的,分别与 的每个分量 函数相对应,我们仅需要 对单个输出单元和分量函 数来证明。2.3 非线性连续变换单
12、元组成的网络根据傅立叶级数理论,对于 的分量 ,则其中 是 的 步傅立叶级数和函数:下面证明傅立叶级数中任意三角函数可以用三层BP子网络来逼近,那么通过傅立叶级数的线性组合就可以保证用三层BP网络来逼近函 。考虑结构为 的三层BP网络,其输出为:)(xh)(xhj)(xhj)(xhj2.3 非线性连续变换单元组成的网络 我们来证明输出函数 能够逼近任何三角函数:令考虑函数 ,当 ,趋向于单位阶跃函数(见右图),则 为一些近似单位阶跃函数 的线性叠加,故当 充分 jau2.3 非线性连续变换单元组成的网络大时,我们可将区间 充分的细分,选取 和 ,使得 ,或 即得:对于 ,我们有下面的展开:2.
13、3 非线性连续变换单元组成的网络2.3 非线性连续变换单元组成的网络使用充分多的隐单元,可得令2.3 非线性连续变换单元组成的网络(iii).隐单元数的选择隐单元数:小,结构简单,逼近能力差,不收敛;大,结构复杂,逼近能力强,收敛慢。对于用作分类的三层BP网络,可参照多层感知机网络的情况,得到下面设计方法:(a).其中 为样本个数,选取满足上式最小的 。(b).2.3 非线性连续变换单元组成的网络(iv).网络参数初始值的选取 初试权:随机,比较小(接近于0),保证状态值较小,不在平滑区域内。6.BP网络的应用(i).模式识别、分类。用于语音、文字、图象的识别,用于医学图象的分类、诊断等。(i
14、i).函数逼近与系统建模。用于非线性系统的建模,拟合非线性控制曲线,机器人的轨迹控制,金融预测等。2.3 非线性连续变换单元组成的网络(iii).数据压缩。在通信中的编码压缩和恢复,图象数据的压缩和存储及图象特征的抽取等。例1.手写数字的识别 由于手写数字变化很大,有传统的 统计模式识别或句法识别很难得到 高的识别率,BP网络可通过对样本的学习得到较高的学习率。为了克服字体大小不同,我们选取这些数字的一些特征值作为网络输入。(可提取)特征如:1,2,3,7:具有两个端点;0,6,8,9:具有圈;2:两个端点前后;2.3 非线性连续变换单元组成的网络对于一个样本,若具有那个特征,所对应的特征输入
15、单元取值为1,否则为0。我们可选择34个特征,即输入单元个数为34。输出可取10个单元,即1个输出单元对应一个数字(该单元输出为1,其它为0)。如果选取200个人所写的1000个样本进行学习,使用三层BP网络,隐层单元数 应如何选择呢?根据前面的经验公式,可得到下面结果:2.3 非线性连续变换单元组成的网络在实际中,我们选择 。通过对1000个样本的学习所得到的网络对6000个手写数字的正确识别率达到95%。例2.非线性曲线的拟合。在控制中往往希望产生一些非线性的输出输入关系。例如,已知一个机械臂取物的轨迹,根据这个轨迹可计算出机械臂关节的角度 和 (两个关节),按照机械臂的 要求应该反演计算
16、出驱动马达的力或频率这是一个相当复杂的计算问题。但我们可2.3 非线性连续变换单元组成的网络采用BP网络对一些样本的学习得到这些非线性曲线的拟合,根本无须知道机械臂的动力学模型。在一维情况下,就是拟合 ,其中 表示 角,为所对应的马达驱动力。在某些位置,我们容易得到这些对应值,因此可以得到足够的样本。2.3 非线性连续变换单元组成的网络例3.数据压缩BP网络相当于一个编码、解码器,越小,压缩率越小,但太小可能达不到唯一译码的要求。2.3 非线性连续变换单元组成的网络作业:1.推导k层前馈网络的BP算法,并且考虑跨层连接的权值。2.采用2-2-1结构的前馈网络通过BP算法求解XOR问题,其中逼近精度 。3.采用2-m-1结构的前馈网络通过BP算法来逼近定义于 连续函数 ,其中逼近精度 。请按均匀格点选择10000个样本点,随机选取5000个作为训练样本,且剩余的5000个作检测样本。根据该学习问题,可选取三种不同的m值,并观察所得网络在检测样本上的误差变化。