BP神经网络详细讲解_第1页
BP神经网络详细讲解_第2页
BP神经网络详细讲解_第3页
BP神经网络详细讲解_第4页
BP神经网络详细讲解_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、PS:这篇介绍神经网络是很详细的,有一步一步的推导公式!神经网络是DL(深度学习)的基础。如果对神经网络已经有所了解,可以直接跳到三、BP算法的执行步骤“部分,算法框架清晰明了。另外,如果对NN很感兴趣,也可以参阅最后两篇参考博文,也很不错!学习是神经网络一种最重要也最令人注目的特点。在神经网络的发展进程中,学习算法的研究有着十分重要的地位。目前,人们所提出的神经网络模型都是和学习算法相应的。所以,有时人们并不去祈求对模型和算法进行严格的定义或区分。有的模型可以有多种算法.而有的算法可能可用于多种模型。不过,有时人们也称算法为模型。自从40年代Hebb提出的学习规则以来,人们相继提出了各种各样

2、的学习算法。其中以在1986年Rumelhart等提出的误差反向传播法,即BP(errorBackPropagation)法影响最为广泛。直到今天,BP算法仍然是自动控制上最重要、应用最多的有效算法。1.2.1神经网络的学习机理和机构在神经网络中,对外部环境提供的模式样本进行学习训练,并能存储这种模式,则称为感知器;对外部环境有适应能力,能自动提取外部环境变化特征,则称为认知器。神经网络在学习中,一般分为有教师和无教师学习两种。感知器采用有教师信号进行学习,而认知器则采用无教师信号学习的。在主要神经网络如BP网络,Hopfield网络,ART网络和Kohonen网络中;BP网络和Hopfiel

3、d网络是需要教师信号才能进行学习的;而ART网络和Kohonen网络则无需教师信号就可以学习。所谓教师信号,就是在神经网络学习中由外部提供的模式样本信号。一、感知器的学习结构感知器的学习是神经网络最典型的学习。目前,在控制上应用的是多层前馈网络,这是一种感知器模型,学习算法是BP法,故是有教师学习算法。一个有教师的学习系统可以用图17表示。这种学习系统分成三个部分:输入部,训练部和输出部。训练部敦卯信号(期望输出信号)图1-7神经网络学习系统框图输入部接收外来的输入样本X,由训练部进行网络的权系数W调整,然后由输出部输出结果。在这个过程中,期望的输出信号可以作为教师信号输入,由该教师信号与实际

4、输出进行比较,产生的误差去控制修改权系数Wo学习机构可用图18所示的结构表示。在图中,X|,X2,,Xn,是输入样本信号,Wi,W2,,Wn是权系数。输入样本信号Xi可以取离散值“眼"1:输入样本信号通过权系数作用,在u产生输出结果EWiXi,即有:U=EWiXi=WlXi+W2X2+WnXn再把期望输出信号丫(t)和U进行比较,从而产生误差信号e。即权值调整机构根据误差e去对学习系统的权系数进行修改,修改方向应使误差e变小,不断进行下去,使到误差e为零,这时实际输出值u和期望输出值Y(t)完全一样,则学习过程结束。期望输出y神经网络的学习一般需要多次重复训练,使误差值逐渐向零趋近,

5、最后到达零。则这时才会使输出与期望一致。故而神经网络的学习是消耗一定时期的,有的学习过程要重复很多次,甚至达万次级。原因在于神经网络的权系数W有很多分量Wi,W2,-Wn;也即是一个多参数修改系统。系统的参数的调整就必定耗时耗量。目前,提高神经网络的学习速度,减少学习重复次数是十分重要的研究课题,也是实时控制中的关键问题。二、感知器的学习算法感知器是有单层计算单元的神经网络,由线性元件及阀值元件组成。感知器如图1-9所示。图1-9感知器结构感知器的数学模型:Y=HWJWX-0j1(1-12)其中:f.是阶跃函数,并且有0是阀值。感知器的最大作用就是可以对输入的样本分类,故它可作分类器,感知器对

6、输入信号的分类如下:即是,当感知器的输出为知感知器的分类边界是:(1-14)1时,输入样本称为A类;输出为-1时,输入样本称为B类。从上可七阴-8=0(1-15)i=1在输入样本只有两个分量X1,X2时,则有分类边界条件:=O(1-16)WiXi+W2X2-e=0(1-17)也可写成这时的分类ff况如固110所示。感知器的学习算法目的在于找寻恰当的权系数w=(w1.w2,,Wn),使系统对一个特定的样本x=(xt,x2,,xn)熊产生期望值do当x分类为A类时,期望值d=1;X为B类时,d=-1。为了方便说明感知器学习算法,把阀值。并人权系数w中,同时,样本x也相应增加一个分量xn+1。故令:

7、Wn+1=-e,Xn+1=1(1-19)则感知器的输出可表示为:A11Y-irswiXj(1-20)感知器学习算法步骤如下:1 .对权系数w置初值对权系数W=(Wi.W2,,Wn,Wn+1)的各个分量置一个较小的零随机值,但Wn+1=-0并记为W|(0),W2(0),,Wn(0),同时有Wn+1(0)=-8。这里Wi(t)为t时刻从第i个输入上的权系数,i=1,2,,noWn+1(t)为t时刻时的阀值。图1-10感知器的分类例子2 .输入一样本X=(Xi,X2,,Xn+1)以及它的期望输出do期望输出值d在样本的类属不同时取值不同。如果x是A类,则取d=1,如果x是B类,则取-1期望输出d也即

8、是教师信号。3 .计算实际输出值丫(t)=fXwXt)xJi=14 .根据实际输出求误差ee=dY(t)(1-21)5 .用误差e去修改权系数Wi(t+1)=Wi(t)+7j-e*Xii=1,2,,n,n+1(1-22)其中,Y称为权重变化率,0刀1在式(122)中,刀的取值不能太大.如果1取值太大则会影响w“t)的稳定;的取值也不能太小,太小则会使Wi(t)的求取过程收敛速度太慢。当实际输出和期望值d相同时有:Wi(t+1)=Wi(t)6 .转到第2点,一直执行到一切样本均稳定为止。从上面式(114)可知,感知器实质是一个分类器,它的这种分类是和二值逻辑相应的。因此,感知器可以用于实现逻辑函

9、数。下面对感知器实现逻辑函数的情况作一些介绍。例:用感知器实现逻辑函数X1VX2的真值:X10011X20101X1VX20111以X1VX2=1为A类,以X1VX2=0为B类,则有方程组(1-23)rwro+w2-o-e<oW1-0+w2*i-eowrl+W2'O-0OWri+w2-i-eo即有:re>o(1-24)从式(124)有:Wi>ew>e令Wi=1,W2=2则有:e<i取e=0.5则有:X1+X2-0.5=0,分类情况如图iii所示。图1-11逻辑函数XiVX2的分类1.2.2神经网络学习的梯度算法使到网络对于所输入的模式权系数就反映了同类输人

10、由于权系数是分散存在的,故前面一节所讲的感知器学习算从感如器的学习算法可知,学习的目的是在于修改网络中的权系数,样本能正确分类。当学习结束时,也即神经网络能正确分类时,显然模式样本的共同特征。换句话讲,权系数就是存储了的输人模式。神经网络自然而然就有分布存储的特点。前面的感知器的传递函数是阶跃函数,所以,它可以用作分类器。法因其传递函数的简单而存在局限性。感知器学习算法相当简单,并且当函数线性可分时保证收敛。但它也存在问题:即函数不是线性可分时,则求不出结果;另外,不能推广到一般前馈网络中。为了克服存在的问题,所以人们提出另一种算法一一梯度算法(也即是LMS法)。为了能实现梯度算法,故把神经元

11、的激发函数改为可微分函数,例如Sigmoid函数,非对称Sigmoid函数为f(X)=1/(1+e-x),对称Sigmoid函数f(X)=(1-e-x)/(1+e-x);而不采用式(113)的阶跃函数。对于给定的样本集Xi(i=1,2,n),梯度法的目的是寻找权系数W*,使得fW*Xi与期望输出Yi尽可能接近。设误差e采用下式表示:其中,Y=fw*Xi是对应第i个样本Xi的实时输出Yi是对应第i个样本Xi的期望输出。要使误差e最小,可先求取e的梯度:(对每一个样本的期望与输出值求导)需4爵(1-26)令Uk=WXk,则有:泡匹叫血受kV泊西'丽二支无产(1-28)即有:11m-江巴qQ

12、-29)最后有按负梯度方向修改权系数W的修改规则:(Wk+i=Wk+AW)Wil=Wki/di-(1-30)i=?L-也可写成:Wk+Wk"(一券)|小巴(1-31)在上式(130),式(131)中,心是权重变化率,它视情况不同而取值不同,一般取0-1之间的小数。很明显,梯度法比原来感知器的学习算法进了一大步。其关键在于两点:1 .神经元的传递函数采用连续的s型函数,而不是阶跃函数;2 .对权系数的修改采用误差的梯度去控制,而不是采用误差去控制。故而有更好的动态特能,即加强了收敛进程。但是梯度法对于实际学习来说,仍然是感觉太慢;所以,这种算法仍然是不理想的。1.2.3反向传播学习的B

13、P算法反向传播算法也称BP算法。由于这种算法在本质上是一种神经网络学习的数学模型,所以,有时也称为BP模型。BP算法是为了解决多层前向神经网络的权系数优化而提出来的;所以,BP算法也通常暗示着神经网络的拓扑结构是一种无反馈的多层前向网络。故而.有时也称无反馈多层前向网络为BP模型。在这里,并不要求过于严格去争论和区分算法和模型两者的有关异同。感知机学习算法是一种单层网络的学习算法。在多层网络中.它只能改变最后权系数。因此,感知机学习算法不能用于多层神经网络的学习。1986年,Rumelhart提出了反向传播学习算法,即BP(backpropagation)算法。这种算法可以对网络中各层的权系数

14、进行修正,故适用于多层网络的学习。BP算法是目前最广泛用的神经网络学习算法之一,在自动控制中是最有用的学习算法。一、BP算法的原理112所示BP算法是用于前馈多层网络的学习算法,前馈多层网络的结构一般如图图1-12网络学习结构它含有输人层、输出层以及处于输入输出层之间的中间层。中间层有单层或多层,由于它们和外界没有直接的联系,故也称为隐层。在隐层中的神经元也称隐单元。隐层虽然和外界不连接.但是,它们的状态则影响输入输出之间的关系。这也是说,改变隐层的权系数,可以改变整个多层神经网络的性能。设有一个m层的神经网络,并在输入层加有样本X;设第k层的i神经元的输入总和表示为Uik,输出Xik;从第k

15、1层的第j个神经元到第k层的第i个神经元的权系数为Wij各个神经元的激发函数为f,则各个变量的关系可用下面有关数学式表示:Xk=f(Uik)(1-32)U晨/声I(1-33)反向传播算法分二步进行,即正向传播和反向传播。这两个过程的工作简述如下。1 .正向传播输入的样本从输入层经过隐单元一层一层进行处理,通过所有的隐层之后,则传向输出层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。2 .反向传播反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修

16、改,以望误差信号趋向最小。二、BP算法的数学表达BP算法实质是求取误差函数的最小值问题。这种算法采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权系数。为了说明BP算法,首先定义误差函数e。取期望输出和实际输出之差的平方和为误差函数,则有:(监督类学习一般对损失函数求最小)e=J2(XT-Y尸(1-34)其中:Yi是输出单元的期望值;它也在这里用作教师信号;Xim是实际输出;因为第m层是输出层。由于BP算法按误差函数e的负梯度方向修改权系数,故权系数Wj的修改量Awij,和e也可写成(1-36)其中:刀为学习速率,即步长。很明显,根据BP算法原则,求ae/aWj最关键的。下面求ae/

17、aWij;有(1-37)戒。一瓯一(1-38)故而3e3叫一叫卜从而有W-可X?7(1-39)(1-40)=一可k-1(1-41)则有学习公式:Wj=-Td&XjkT(1-42)其中:刀为学习速率,即步长,一般取0-1间的数。从上面可知,dik实际仍末给出明显的算法公式,下面求dik的计算公式。3U/de*一陪河)(1-43)从式(1-32)可知在式(1-43)中,有(1-44)为了方便进行求导,取f为连续函数。一般取非线性连续函数,例如Sigmoid函数。当取f为非对称Sigmoid函数时,有:KUi,止则有:f'(Uik)=f'(Uik)(1-f(Uik)=Xik(

18、1-Xik)(1-45)再考虑式(143)中的偏微分项ae/aXik,有两种情况需考虑的:如果k=m,则是输出层,这时有Yi是输出期望值,它是常数。从式(1-34)有ax”I=(xr-w)(1-46)从?1有di=X(1-Xi)(Xi-Yi)(1-47)2.如果k<ni则该层是隐层.这时应考虑上一层对它的作用,故有:叫k+l从式(141)中,可知有:-dik+1au尸d(1-48)(1-49)从式(133)中,可知有:(m为输出层)心对(1-X/)斗%d产1上面公式中,求取本层dj时,要用到高一层的dik+1;可见,误差函数的求取是从输出层开始,到输入层的反向传播过程。在这个过程中不断进

19、行递归求误差。通过多个样本的反复训练,同时向误差渐渐减小的方向对权系数进行修正,以达最终消除误差。从上面公式也可以知道,如果网络的层数较多时,所用的计算量就相当可观,故而收敛速度不快。为了加快收敛速度,一般考虑上一次的权系数,并以它作为本次修正的依据之一,故而有修正公式:W4+D=串卜号i+sAWijk)(1-54)其中:刀为学习速率,即步长,刀=0.10.4左右a为权系数修正常数,取0.70.9左右。在上面,式(153)也称为一月化的De代a法则。对于没有隐层的神经网络,可取园二式丫广为)*(1-55)其中:,Yi为期望输出;Xj为输出层的实际输出;Xi为输入层的输入。这显然是一种十分简单的情况,式(155)也称为简单De代a法则。在实际应用中,只有一般化的De代a法则式(153)或式(154)才有意义。简单De代a法则式(155)只在理论推导上有用。三、B

温馨提示

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

最新文档

评论

0/150

提交评论