神经网络的介绍_第1页
神经网络的介绍_第2页
神经网络的介绍_第3页
神经网络的介绍_第4页
神经网络的介绍_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、一、历史回顾 二、单层感知机与多层感知机 三、BP网络 四、卷积神经网络 五、内容小结 内容安排内容安排 1 历史回顾历史回顾 (1)第一次热潮(40-60年代未) 1943年,美国心理学家W.McCulloch和数学家W.Pitts在 提出了一个简单的神经元模型,即MP模型。1958年, F.Rosenblatt等研制出了感知机(Perceptron)。 (2)低潮(70-80年代初) 20世纪60年代以后,数字计算机的发展达到全盛时期, 人们误以为数字计算机可以解决人工智能、专家系统、模式 识别问题,而放松了对“感知器”的研究。人工神经网络进 入低潮期。 2 (3)第二次热潮 1982年,

2、美国物理学家J.J.Hopfield提出Hopfield网络.1986 年Rumelhart等提出的误差反向传播法,即BP法影响最为广泛。 直到今天,BP算法仍然是自动控制上最重要、应用最多的有效算 法。 (4)低潮(90年代初-2000年初) SVM算法诞生,与神经网络相比:无需调参;高效;全局最 优解。基于以上种种理由,SVM成为主流,人工神经网络再次 陷入冰河期。 (5)第三次热潮(2006年开始) 在被人摒弃的10年中,有几个学者仍然在坚持研究。这其中 的棋手就是加拿大多伦多大学的GeofferyHinton教授。2006年, Hinton在Science和相关期刊上发表了论文,首次提

3、出了 “深度学习”的概念。很快,深度学习在语音识别领域暂露头角。 接着,2012年,深度学习技术又在图像识别领域大展拳脚。 Hinton与他的学生在ImageNet竞赛中,用多层的卷积神经网络 成功地对包含一千类别的一百万张图片进行了训练,取得了分类 错误率15%的好成绩,这个成绩比第二名高了近11个百分点,充 分证明了多层神经网络识别效果的优越性。 单层感知机的介绍单层感知机的介绍 单层感知器是用于线性可分模式分类的最简单的神经网络模型。 用来调整这个神经网络中自由参数的算法最早出现F.Roseblatt (1958,1962)提出的用于脑感知模型的一个学习过程中。 5 网络模型结构网络模型

4、结构 其中x(x1,xm)T 输入向量,y为输出,wi是权系 数;输入与输出具有如下关系: m i ii bxwfy 1 )( b为阈值,f(X)是激发函数;它可以是线性函数,也可 以是非线性函数 单位阶跃函数 : 0,0 0, 1 )( x x xf S型激发函数型激发函数: , 1 1 )( x e xf ; 1)(0 xf ,)( xx xx ee ee xf . 1)(1xf tanh型激发函数:型激发函数: 常见的三类激发函数常见的三类激发函数 单层感知器工作原理单层感知器工作原理 对于只有两个输入的判别边界是直线(如下式所示)对于只有两个输入的判别边界是直线(如下式所示),选择选择

5、 合适的学习算法合适的学习算法可训练出满意的结果,当它用于两类模式的可训练出满意的结果,当它用于两类模式的 分类时,相当于在高维样本空间中,用一个超平面将两类样分类时,相当于在高维样本空间中,用一个超平面将两类样 本分开。本分开。 1 12 2 0wxwxb 感知机的学习策略:感知机的学习策略: Mx ii i bxwy).(b)L(w,min bw, ).sgn()( fbxwx 感知机的算法是基于梯度下降法的对损失函感知机的算法是基于梯度下降法的对损失函 数的最优化算法。数的最优化算法。 l单层感知器是线性可分模型单层感知器是线性可分模型 l感知器的输出只能取感知器的输出只能取-1或或1(

6、0或或1).只能用来解只能用来解 决简单的分类问题。决简单的分类问题。 l当感知器输入矢量中有一个数比其他数都大或当感知器输入矢量中有一个数比其他数都大或 小得很多时,可能导致较慢的收敛速度小得很多时,可能导致较慢的收敛速度。 单层感知机的缺点单层感知机的缺点 多层感知机的介绍多层感知机的介绍 n多层感知器相对于单层感知器,输出端从一个变到了多 个;输入端和输出端之间也不光只有一层,可以有多层: 输出层和隐藏层。 网络模型结构网络模型结构 例:如图是一个含有两个输入,三个感知机隐层神经元和一例:如图是一个含有两个输入,三个感知机隐层神经元和一 个输出神经元的三层感知机网络,若取个输出神经元的三

7、层感知机网络,若取 y1 y2 z x1 x2 y3 y1=sgn(2x1+2x2+1) y2=sgn(- -x1+0.25x2+0.8) y3=sgn(0.75x1- -2x2+1.4) z = sgn(y1+y2+y3- -2.5) 实现了非线性分类实现了非线性分类 y1 y2 y3 隐藏神经元的功能隐藏神经元的功能 隐藏神经元扮演者着特征检测算子的角色。随着学隐藏神经元扮演者着特征检测算子的角色。随着学 习过程通过多层感知器不断进行,隐藏神经元开始逐习过程通过多层感知器不断进行,隐藏神经元开始逐 步步“发现发现”刻画训练数据的突出特征。它们是通过输入刻画训练数据的突出特征。它们是通过输入

8、 数据非线性变换到新的称为特征空间的空间而实现的。数据非线性变换到新的称为特征空间的空间而实现的。 BP网络与多层感知机的差别网络与多层感知机的差别 n感知机和BP网络都可具有一层或多层隐含层,其主要差 别也表现在激活函数上。 nBP网络的激活函数必须是处处可微的,因此它不能采用 二值型的阀值函数0,1或符号函数1,1 nBP网络经常使用的是S型的对数或正切激活函数和线性函 数 nBP网络的寻找最优参数w和b,采用的是实际输出和期望输 出的误差的最佳平方逼近的思路 16 BP神经网络模型 n三层BP网络 1 x 2 x 1 N x 1 y 2 y 2 N y 1 z 2 z 3 N z 1 2

9、 3 N 1 T 2 T ih w hj w - - - - - 隐含层输出层输入层 3 N T n激活函数 必须处处可导 n一般都使用S型函数 n使用S型激活函数时BP网络输入与输出关 系 输入 输出 1122 . nn netx wx wx w 1 f() 1e net ynet BP网络的标准学习算法 n学习的过程: 神经网络在外界输入样本的刺激下不断改变网 络的连接权值,以使网络的输出不断地接近期 望的输出。 n学习的本质: 对各连接权值的动态调整 n学习规则: 权值调整规则,即在学习过程中网络中各神经 元的连接权变化所依据的一定的调整规则。 BP网络的标准学习算法-算法思想 n学习的

10、类型:有导师学习 n核心思想: 将输出误差以某种形式通过隐层向输入层逐层反传 n学习的过程: 信号的正向传播 误差的反向传播 将误差分摊给各层的所有将误差分摊给各层的所有 单元各层单元的误单元各层单元的误 差信号差信号 修正各单元权修正各单元权 值值 BP网络的标准学习算法-学习过程 n正向传播: 输入样本输入层各隐层输出层 n判断是否转入反向传播阶段: 若输出层的实际输出与期望的输出(教师信号)不 符 n误差反传 误差以某种形式在各层表示修正各层单元 的权值 n网络输出的误差减少到可接受的程度 进行到预先设定的学习次数为止 BP网络的标准学习算法 n网络结构 输入层有n个神经元,隐含层有p个

11、神经元, 输出层有q个神经元 n变量定义 输入向量; 隐含层输入向量; 隐含层输出向量; 输出层输入向量; 输出层输出向量; 期望输出向量; 12 , n xxxx 12 , p hihihihi 12 , p ho hohoho 12 , q yiyiyiyi 12 , q yoyoyoyo 12 , q ddd o d 输入层与中间层的连接权值: 隐含层与输出层的连接权值: 隐含层各神经元的阈值: 输出层各神经元的阈值: 样本数据个数: 激活函数: 误差函数: ih w f( ) ho w h b 1,2,km o b q o ky o k d o e 1 )()( 2 2 1 n第一步,

12、网络初始化 给各连接权值分别赋一个区间(-1,1)内 的随机数,设定误差函数e,给定计算精度 值 和最大学习次数M。 n第二步,随机选取第 个输入样本及对应 期望输出 k 12 ( )( ),( ),( ) n kx kx kx kx 12 ( )( ),( ),( ) q kd kdkdk o d n第三步,计算隐含层各神经元的输入和 输出 1 ()()1, 2, n hihih i hikwxkbhp ()f () )1, 2 , hh h okh ikhp 1 ()()1, 2, p ohoho h yikwhokboq ()f()1, 2, oo yokyikoq n第四步,利用网络期

13、望输出和实际输出, 计算误差函数对输出层的各神经元的偏 导数 。 o hooho eeyi wyiw ( ) ( ) ( ) p hoho oh h hoho w ho kb yi k ho k ww 2 1 1 ( ( )( ) 2 ( ( )( )( ) ( ( )( )f( )( ) q oo o ooo oo oooo d kyo k e d kyo k yo k yiyi d kyo kyi kk ( ) o k ( )( ) o oh hooho eeyi k hok wyiw 1 ( ) ( ) ( ) ( ) ( ) h ihhih n ihih hi i ihih eehik

14、 whikw w xkb hik xk ww p第五步,利用隐含层到输出层的连接权第五步,利用隐含层到输出层的连接权 值、输出层的值、输出层的 和隐含层的输出计算误和隐含层的输出计算误 差函数对隐含层各神经元的偏导数差函数对隐含层各神经元的偏导数 。 ( ) h k ( ) o k 2 1 2 1 2 11 1 ( )( ) ) ( )2 ( )( )( ) 1 ( )f( ) ) ( )2 ( )( ) 1 ( )f( ) ) ( )2 ( )( ) q oo ho hhh q oo ho hh qp ohoho hoh hh dkyok ehok hikhokhik dkyik hok h

15、okhik dkwhokb hok hokhik 1 1 ( ) ( )( )f ( ) ( ) ( )f ( )( ) q h oooho o h q ohohh o hok dkyokyikw hik k whikk n第六步,利用输出层各神经元的 和隐含 层各神经元的输出来修正连接权值 。 1 ( )( )( ) ( )( ) hooh ho NN hohooh e w kk ho k w wwk ho k ( ) o k ( ) ho wk 第七步,利用隐含层各神经元的 和输入层 各神经元的输入修正连接权。 ( ) h k 1 ( ) ( )( ) ( ) ( ) ( ) ( ) h

16、ihhi ihhih NN ihihhi eeh i k w kkxk wh i kw wwkxk n第八步,计算全局误差 n第九步,判断网络误差是否满足要求。当误差 达到预设精度或学习次数大于设定的最大次数, 则结束算法。否则,选取下一个学习样本及对 应的期望输出,返回到第三步,进入下一轮学 习。 2 11 1 ( )( ) 2 qm oo ko Edky k m 应用之例:蚊子的分类应用之例:蚊子的分类 已知的两类蚊子的数据如表1: v翼长 触角长 类别 v1.78 1.14 Apf v1.96 1.18 Apf v1.86 1.20 Apf v1.72 1.24 Af v2.00 1.2

17、6 Apf v2.00 1.28 Apf v1.96 1.30 Apf v1.74 1.36 Af 目标值目标值 0.9 0.9 0.9 0.1 0.9 0.9 0.9 0.1 v翼长 触角长 类别 v 1.64 1.38 Af v 1.82 1.38 Af v 1.90 1.38 Af v 1.70 1.40 Af v 1.82 1.48 Af v 1.82 1.54 Af v 2.08 1.56 Af 目标t 0.1 0.1 0.1 0.1 0.1 0.1 0.1 n输入数据有15个,即p=1,15; j=1, 2; 对应15个 输出。 n建模:(输入层,中间层,输出层,每层的元素 应取多

18、少个?) n建立神经网络 n规定目标为: 当t(1)=0.9 时表示属于Apf类,t(2)=0.1表 示属于Af类。 n设两个权重系数矩阵为: )3 ,2()2,2()1 ,2( )3 , 1()2, 1()1 , 1( 111 111 1 www www W )3 , 1()2, 1()1 , 1( 2222 wwwW )()3 ,(jjw ii 为阈值 其中 分析如下: 为第一层的输出,同时作为第二层的输入。 )2()2()2 , 2() 1 () 1 , 2()2( ) 1 ()2()2 , 1 () 1 () 1 , 1 () 1 ( 101011 101011 awawu awawu

19、 )1 () 1 ( 11 ufa )2()2( 11 ufa 其中, 为阈值, 为激励函数 i f 1)3( 0 a若令 (作为一固定输入) (阈值作为固定输入神经元相应的权系数) j jw)3,( 1 2,1j 3 1 010101011 3 1 010101011 )(), 2()3()3 , 2()2()2 , 2() 1 () 1 , 2()2( )(), 1 ()3()3 , 1 ()2()2 , 1 () 1 () 1 , 1 () 1 ( j j jajwawawawu jajwawawawu 则有: x e xf 1 1 )(取激励函数为 )()( 11 iufia= )(e

20、xp(1 1 1 iu 2 , 1i 则 同样,取 , 1) 3( 1 a )3 , 1 ( 2 w )1 (exp(1 1 ) 1 ( )(), 1 () 1 ( 2 2 3 1 122 u a jajwu j (1)随机给出两个权矩阵的初值;例如用MATLAB软件时可 以用以下语句: 令p=0 具体算法如下:具体算法如下: )0( 1 W=rand(2,3); )0( 2 W=rand(1,3); (2) 根据输入数据利用公式算出网络的输出 3 1 010101011 3 1 010101011 )(), 2() 3() 3 , 2()2()2 , 2() 1 () 1 , 2()2( )

21、(), 1 () 3() 3 , 1 ()2()2 , 1 () 1 () 1 , 1 () 1 ( j j jajwawawawu jajwawawawu )()( 11 iufia )(exp(1 1 1 iu = 2, 1i , 1) 3( 1 a )1 (exp(1 1 ) 1 ( )(), 1 () 1 ( 2 2 3 1 122 u a jajwu j 取取 (3)计算 x e xf 1 1 )( 因为 所以 2 )1 ( )( x x e e xf )1 ()1 () 1 () 1 ( 2 22 ufat 2 222 )1 (exp(1/()1 (exp()1 () 1 (uua

22、t (4)取 (或其他正数,可调整大小) 1 . 0 )( )1( 1 i p (5) 计算 和 :),( )1( 1 jiW p )( )1( 1 i p 2 22 )1( 2 )1( 2 )1 (exp(1/()1 (exp(), 1 () 1 (uuiW pp )()(),(),( ) 1( 0 ) 1( 1 )( 1 ) 1( 1 jaijiWjiW pppp j=1,2,3, i=1,2,3, 计算 j=1,2,3 ), 1( )1( 2 jW P )() 1 (), 1 (), 1 ( ) 1( 1 ) 1( 2 )( 2 ) 1( 2 jajWjW pppp j=1,2,3 n(

23、6) p=p+1,转(2) 注:仅计算一圈(p=1,2,15)是不够的,直 到当各权重变化很小时停止,本例中,共计算了 147圈,迭代了2205次。 最后结果是: 2764. 02875. 05787. 0 5765. 05976. 75921. 5 1 W 9829. 34838. 04075. 8 2 W n即网络模型的解为: 2764. 0)2(2875. 0) 1 (5787. 0)2( 5765. 0)2(5976. 7) 1 (5921. 5) 1 ( 001 001 aau aau )()( 11 iufia )(exp(1 1 1 iu 2 , 1i = )1 (exp(1 1

24、 ) 1 ( 9829. 3)2(4838. 0) 1 (4075. 8) 1 ( 2 2 112 u a aau nBP网络特点 输入和输出是并行的模拟量 网络的输入输出关系是各层连接的权因子决定,没有 固定的算法 权因子通过学习信号调节。学习越多,网络越聪明 隐含层越多,网络输出精度越高,且个别权因子的损 坏不会对网络输出产生大的影响 只有当希望对网络的输出进行限制,如限制在0和1之 间,那么在输出层应当包含S型激活函数 在一般情况下,均是在隐含层采用S型激活函数,而输 出层采用线性激活函数 42 网络训练 n训练BP网络,需要计算网络加权输入矢量以及网 络输出和误差矢量,然后求误差平方和

25、 n当所训练矢量的误差平方和小于误差目标,训练 停止;否则在输出层计算误差变化,且采用反向 传播学习规则来调整权值,然后重复此过程 n网络完成训练后,对网络输入一个不是训练集合 中的矢量,网络将以泛化方式给出输出结果 43 网络设计 3.1 网络的层数 3.2 隐含层神经元数 3.3 初始权值的选取 3.4 学习速率 3.5 期望误差的选取 3.6 应用举例 3.7 局限性 44 网络的层数 n理论上已经证明:具有偏差和至少一个S型隐含层加上 一个线性输出层的网络,能够逼近任何有理函数 定理: n增加层数主要可以进一步的降低误差,提高精度,但 同时也使网络复杂化,从而增加了网络权值的训练时 间

26、。 n一般情况下应优先考虑增加隐含层中神经元数 n仅用具 有非线性激活函数的单层网络来解 决问题没有必要或效果不好 线性问题 非线性问题 45 隐含层神经元数 n网络训练精度的提高,可以通过采用一个隐含层,而 增加其神经元数的方法来获得。这在结构实现上,要 比增加更多的隐含层简单得多 n定理: 实现任意N个输入向量构成的任何布尔函数的前向网络所需权 系数数目为 n在具体设计时,比较实际的做法是通过对不同神经元 数进行训练对比,然后适当地加上一点余量 46 内容小结 n反向传播法可以用来训练具有可微激活函数的多层前 向网络,以进行函数逼近,模式分类等工作 n反向传播网络的结构不完全受所要解决的问

27、题所限制。 网络的输入神经元数目及输出层神经元的数目是由问题的要 求所决定 输入和输出层之间的隐含层数以及每层的神经元数是由设计 者来决定的 n已经证明,两层S型线性网络,如果S型层有足够的神 经元,则能够训练出任意输入和输出之间的有理函数 关系 47 n反向传播法沿着误差表面的梯度下降,使网络误差最 小,网络有可能陷入局部极小值 n附加动量法使反向传播减少了网络在误差表面陷入低 谷的可能性并有助于减少训练时间 n太大的学习速率导致学习的不稳定,太小值又导致极 长的训练时间。自适应学习速率通过在保证稳定训练 的前提下,达到了合理的高速率,可以减少训练时间 n80-90的实际应用都是采用反向传播

28、网络的。改进 技术可以用来使反向传播法更加容易实现并需要更少 的训练时间 48 BP网络的标准学习算法-算法思想 n学习的类型:有导师学习 n核心思想: 将输出误差以某种形式通过隐层向输入层逐层反传 n学习的过程: 信号的正向传播 误差的反向传播 将误差分摊给各层的所有将误差分摊给各层的所有 单元各层单元的误单元各层单元的误 差信号差信号 修正各单元权修正各单元权 值值 第七步,利用隐含层各神经元的 和输入层 各神经元的输入修正连接权。 ( ) h k 1 ( ) ( )( ) ( ) ( ) ( ) ( ) h ihhi ihhih NN ihihhi eeh i k w kkxk wh i kw wwkxk n规定目标为: 当t(1)=0.9 时表示属于Apf类,t(2)=0.1表 示属于Af类。 n设两个权重系数矩阵为: )3 ,2()2,2()1 ,2( )3 , 1()2, 1()1 , 1( 111 111 1 www www W )3 , 1()2, 1()1 , 1( 2222 wwwW )()3 ,(jjw ii 为阈值 其中 3 1 010101011 3 1 010101011 )(), 2()3()3 , 2()2()2 , 2

温馨提示

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

最新文档

评论

0/150

提交评论