BP神经网络课件ppt.ppt
2022-8-41BP人工神经网络人工神经网络 Back-propagation Artificial Neural Networks2022-8-42张凌张凌数计学院数计学院联系电话:联系电话:13605935915Email:2022-8-43主要参考书目主要参考书目1、Philip D. Wasserman, Neural Computing: Theory and Practice,Van Nostrand Reinhold,19892、胡守仁、余少波、戴葵,神经网络导论,、胡守仁、余少波、戴葵,神经网络导论,国防科技大学出版社,国防科技大学出版社,1993年年10月月3、杨行峻、郑君里,人工神经网络,高等教、杨行峻、郑君里,人工神经网络,高等教育出版社,育出版社,1992年年9月月4、闻新、周露、王丹力、熊晓英,闻新、周露、王丹力、熊晓英,MATLABMATLAB神神经网络应用设计,科学出版社,经网络应用设计,科学出版社,2001.5. 2001.5. 2022-8-44课程目的和基本要求课程目的和基本要求 作为人工神经网络的入门课程,用于将学作为人工神经网络的入门课程,用于将学生引入人工神经网络及其应用的研究领域。生引入人工神经网络及其应用的研究领域。 介绍介绍BPBP人工神经网络及其基本网络模型,人工神经网络及其基本网络模型,使学生了解智能系统描述的基本模型使学生了解智能系统描述的基本模型掌握人工神经网络的基本概念、单层网、多层网、掌握人工神经网络的基本概念、单层网、多层网、循环网等各种基本网络模型的结构、特点、典循环网等各种基本网络模型的结构、特点、典型训练算法、运行方式、典型问题型训练算法、运行方式、典型问题掌握软件实现方法。掌握软件实现方法。2022-8-45课程目的和基本要求课程目的和基本要求 了解了解BPBP人工神经网络的有关研究思想,从中人工神经网络的有关研究思想,从中学习开拓者们的部分问题求解方法。学习开拓者们的部分问题求解方法。 通过实验进一步体会有关模型的用法和性通过实验进一步体会有关模型的用法和性能,获取一些初步的经验。能,获取一些初步的经验。 查阅适当的参考文献,将所学的知识与自查阅适当的参考文献,将所学的知识与自己未来研究课题相结合起来,达到既丰富己未来研究课题相结合起来,达到既丰富学习内容,又有一定的研究和应用的目的。学习内容,又有一定的研究和应用的目的。2022-8-46主要内容主要内容 基于基于Matlab的的BP神经网络设计与应用神经网络设计与应用 BPBP(BackpropagationBackpropagation)网络的构成及其训)网络的构成及其训练过程;隐藏层权调整方法的直观分析,练过程;隐藏层权调整方法的直观分析,BPBP训练算法中使用的训练算法中使用的DeltaDelta规则(最速下降规则(最速下降法)的理论推导;算法的收敛速度及其改法)的理论推导;算法的收敛速度及其改进讨论;进讨论;BPBP网络中的几个重要问题。网络中的几个重要问题。实验:实现实验:实现BP算法。算法。 2022-8-47 引言引言1人工神经网络的提出人工神经网络的提出2 人工神经网络的特点人工神经网络的特点3 历史回顾历史回顾2022-8-48第第1章章 引言引言 人类对人工智能的研究可以分成两种方式人类对人工智能的研究可以分成两种方式对应着对应着两种不同的技术两种不同的技术:传统的人工智能技术传统的人工智能技术: :心理的角度模拟心理的角度模拟基于人工神经网络的技术基于人工神经网络的技术: :生理的角度模拟生理的角度模拟2022-8-49人工神经网络的提出人工神经网络的提出 人工神经网络(人工神经网络(Artificial Neural Networks,简记作简记作ANN),是对人类大脑系统的一阶),是对人类大脑系统的一阶特性的一种描述。简单地讲,它是一个特性的一种描述。简单地讲,它是一个数数学模型学模型,可以用,可以用电子线路电子线路来实现,也可以来实现,也可以用用计算机程序计算机程序来模拟,是人工智能研究的来模拟,是人工智能研究的一种方法。一种方法。 2022-8-410 人工神经网络的提出人工神经网络的提出智能与人工智能智能与人工智能 一、一、 智能的含义智能的含义 智能是个体有目的的行为,合理的思维,智能是个体有目的的行为,合理的思维,以及有效的、适应环境的综合能力以及有效的、适应环境的综合能力。 智能是个体认识客观事物和运用知识解决问智能是个体认识客观事物和运用知识解决问题的能力题的能力。 人类个体的智能是一种综合能力。人类个体的智能是一种综合能力。2022-8-411人工神经网络的提出人工神经网络的提出智能可以包含智能可以包含8个方面个方面感知与认识感知与认识客观事物、客观世界和自我的能力客观事物、客观世界和自我的能力感知是智能的基础最基本的能力感知是智能的基础最基本的能力 通过通过学习学习取得经验与积累知识的能力取得经验与积累知识的能力这是人类在世界中能够不断发展的最基本能力。这是人类在世界中能够不断发展的最基本能力。理解知识理解知识,运用知识运用知识和经验分析、解决问题的能力和经验分析、解决问题的能力这一能力可以算作是智能的高级形式。是人类对世界进这一能力可以算作是智能的高级形式。是人类对世界进行适当的改造,推动社会不断发展的基本能力。行适当的改造,推动社会不断发展的基本能力。2022-8-412 人工神经网络的提出人工神经网络的提出联想、推理、判断、决策语言联想、推理、判断、决策语言的能力的能力这是智能的高级形式的又一方面。这是智能的高级形式的又一方面。预测和认识预测和认识主动和被动之分。联想、推理、判断、决策的能主动和被动之分。联想、推理、判断、决策的能力是主动的基础。力是主动的基础。运用进行抽象、概括的能力运用进行抽象、概括的能力上述这上述这5 5种能力,被认为是人类智能最为种能力,被认为是人类智能最为基本基本的能力的能力 2022-8-4131.1 人工神经网络的提出人工神经网络的提出作为作为5 5种能力综合表现形式的种能力综合表现形式的3 3种能力种能力发现、发明、创造、创新的能力发现、发明、创造、创新的能力 实时、迅速、合理地应付复杂环境的能力实时、迅速、合理地应付复杂环境的能力 预测、洞察事物发展、变化的能力预测、洞察事物发展、变化的能力 2022-8-414人工神经网络的提出人工神经网络的提出二、人工智能二、人工智能 人工智能:研究如何使类似计算机这样的设备去人工智能:研究如何使类似计算机这样的设备去模拟人类的这些能力。模拟人类的这些能力。 研究人工智能的目的研究人工智能的目的增加人类探索世界,推动社会前进的能力增加人类探索世界,推动社会前进的能力进一步认识自己进一步认识自己 三大学术流派三大学术流派符号主义(或叫做符号符号主义(或叫做符号/逻辑主义)学派逻辑主义)学派联接主义(或者叫做联接主义(或者叫做PDP)学派)学派进化主义(或者叫做行动进化主义(或者叫做行动/响应)学派响应)学派2022-8-415人工神经网络的提出人工神经网络的提出物理符号系统物理符号系统 人脑的反映人脑的反映 形式化形式化 现实现实 信息信息 数据数据 物理系统物理系统 物理符号系统物理符号系统 表现智能表现智能2022-8-416人工神经网络的提出人工神经网络的提出 Newell Newell和和SimonSimon假说假说 :一个物理系统表现:一个物理系统表现智能行为的充要条件是它有一个物理符号智能行为的充要条件是它有一个物理符号系统系统 概念:物理符号系统需要有一组称为符号概念:物理符号系统需要有一组称为符号的实体组成,它们都是物理模型,可以在的实体组成,它们都是物理模型,可以在另一类称为符号结构的实体中作为成分出另一类称为符号结构的实体中作为成分出现,以构成更高级别的系统现,以构成更高级别的系统 2022-8-417人工神经网络的提出人工神经网络的提出 困难:困难:抽象抽象:舍弃一些特性,同时保留一些特性舍弃一些特性,同时保留一些特性形式化处理形式化处理:用物理符号及相应规则表达物理系用物理符号及相应规则表达物理系统的存在和运行。统的存在和运行。 局限:局限:对全局性判断、模糊信息处理、多粒度的视觉信对全局性判断、模糊信息处理、多粒度的视觉信息处理等是非常困难的。息处理等是非常困难的。2022-8-418人工神经网络的提出人工神经网络的提出联接主义观点联接主义观点 核心:智能的本质是联接机制。核心:智能的本质是联接机制。 神经网络是一个由大量简单的处理单元组神经网络是一个由大量简单的处理单元组成的高度复杂的大规模非线性自适应系统成的高度复杂的大规模非线性自适应系统 ANNANN力求从四个方面去模拟人脑的智能行为力求从四个方面去模拟人脑的智能行为物理结构物理结构 计算模拟计算模拟 存储与操作存储与操作 训练训练 2022-8-419人工神经网络的提出人工神经网络的提出两种模型的比较两种模型的比较心理过程心理过程 逻辑思维逻辑思维 高级形式(思维的表象)高级形式(思维的表象) 生理过程生理过程 形象思维形象思维 低级形式(思维的根本)低级形式(思维的根本) 仿生仿生人工神经网络人工神经网络联结主义观点联结主义观点物理符号系统物理符号系统2022-8-420 人工神经网络的提出人工神经网络的提出物理符号系统和人工神经网络系统的差别物理符号系统和人工神经网络系统的差别 项目项目物理符号系统物理符号系统人工神经网络人工神经网络处理方式处理方式逻辑运算逻辑运算模拟运算模拟运算执行方式执行方式串行串行并行并行动作动作离散离散连续连续存储存储局部集中局部集中全局分布全局分布2022-8-421 人工神经网络的提出人工神经网络的提出两种人工智能技术的比较两种人工智能技术的比较项目项目传统的传统的AIAI技术技术 ANN技术技术 基本实现基本实现方式方式 串行处理;由程序实现串行处理;由程序实现控制控制 并行处理;对样本数据进行多目标学习;并行处理;对样本数据进行多目标学习;通过人工神经元之间的相互作用实现控制通过人工神经元之间的相互作用实现控制 基本开发基本开发方法方法 设计规则、框架、程序;设计规则、框架、程序;用样本数据进行调试用样本数据进行调试(由人根据已知的环境(由人根据已知的环境去构造一个模型)去构造一个模型) 定义人工神经网络的结构原型,通过样本定义人工神经网络的结构原型,通过样本数据,依据基本的学习算法完成学习数据,依据基本的学习算法完成学习自动从样本数据中抽取内涵(自动适应应自动从样本数据中抽取内涵(自动适应应用环境)用环境) 适应领域适应领域 精确计算:符号处理,精确计算:符号处理,数值计算数值计算非精确计算:模拟处理,感觉,大规模数非精确计算:模拟处理,感觉,大规模数据并行处理据并行处理模拟对象模拟对象 左脑(逻辑思维)左脑(逻辑思维)右脑(形象思维)右脑(形象思维)2022-8-422人工神经网络的特点人工神经网络的特点信息的分布表示信息的分布表示运算的全局并行和局部操作运算的全局并行和局部操作处理的非线性处理的非线性 2022-8-423人工神经网络的概念人工神经网络的概念1、定义、定义 1)Hecht Nielsen(1988年)年)人工神经网络是一个并行、分布处理结构,它由人工神经网络是一个并行、分布处理结构,它由处理单元及其称为联接的无向讯号通道互连而成。处理单元及其称为联接的无向讯号通道互连而成。这些处理单元(这些处理单元(PE Processing Element)具有局)具有局部内存,并可以完成局部操作。每个处理单元有部内存,并可以完成局部操作。每个处理单元有一个单一的输出联接,这个输出可以根据需要被一个单一的输出联接,这个输出可以根据需要被分枝成希望个数的许多并行联接,且这些并行联分枝成希望个数的许多并行联接,且这些并行联接都输出相同的信号,即相应处理单元的信号,接都输出相同的信号,即相应处理单元的信号,信号的大小不因分支的多少而变化。信号的大小不因分支的多少而变化。2022-8-424 人工神经网络的概念人工神经网络的概念(1)Hecht Nielsen(1988年)(续)年)(续) 处理单元的输出信号可以是任何需要的处理单元的输出信号可以是任何需要的数学模型,每个处理单元中进行的操数学模型,每个处理单元中进行的操作必须是完全局部的。也就是说,它作必须是完全局部的。也就是说,它必须仅仅依赖于经过输入联接到达处必须仅仅依赖于经过输入联接到达处理单元的所有输入信号的当前值和存理单元的所有输入信号的当前值和存储在处理单元局部内存中的值储在处理单元局部内存中的值。2022-8-425人工神经网络的概念人工神经网络的概念强调:强调: 并行、分布处理结构;并行、分布处理结构; 一个处理单元的输出可以被任意分枝,且大一个处理单元的输出可以被任意分枝,且大小不变;小不变; 输出信号可以是任意的数学模型;输出信号可以是任意的数学模型; 处理单元完全的局部操作处理单元完全的局部操作 2022-8-426 人工神经网络的概念人工神经网络的概念(2) Rumellhart,McClelland,Hinton的的PDP 1) 一组处理单元一组处理单元(PE或或AN););2) 处理单元的处理单元的激活状态激活状态(ai););3) 每个处理单元的每个处理单元的输出函数输出函数(fi););4) 处理单元之间的处理单元之间的联接模式联接模式;5) 传递规则传递规则(wijoi););6) 把处理单元的输入及当前状态结合起来产生激把处理单元的输入及当前状态结合起来产生激活值的活值的激活规则激活规则(Fi););7) 通过经验修改联接强度的通过经验修改联接强度的学习规则学习规则;8) 系统运行的环境(系统运行的环境(样本样本集合)。集合)。 2022-8-427人工神经网络的概念人工神经网络的概念(3) Simpson(1987年)年)人工神经网络是一个非线性的有向图,图中人工神经网络是一个非线性的有向图,图中含有可以通过改变权大小来存放模式的加含有可以通过改变权大小来存放模式的加权边,并且可以从不完整的或未知的输入权边,并且可以从不完整的或未知的输入找到模式。找到模式。 2022-8-428 人工神经网络的概念人工神经网络的概念2、关键点、关键点(1 1) 信息的分布表示信息的分布表示(2 2) 运算的全局并行与局部操作运算的全局并行与局部操作(3 3) 处理的非线性特征处理的非线性特征3、对大脑基本特征的模拟、对大脑基本特征的模拟1) 形式上:神经元及其联接形式上:神经元及其联接;BN对对AN2) 表现特征:信息的存储与处理表现特征:信息的存储与处理2022-8-429 人工神经网络的概念人工神经网络的概念4、别名、别名人工神经系统(人工神经系统(ANS)神经网络(神经网络(NN)自适应系统自适应系统(Adaptive Systems)、自适应网)、自适应网(Adaptive Networks)联接模型(联接模型(Connectionism)神经计算机神经计算机(Neurocomputer)2022-8-430人工神经元的基本构成人工神经元的基本构成 人工神经元模拟生物神经元的人工神经元模拟生物神经元的一阶特性一阶特性。输入:输入:X=(x1,x2,xn)联接权:联接权:W=(w1,w2,wn)T网络输入:网络输入:net=xiwi向量形式:向量形式:net=XWxn wnx1 w1x2 w2net=XW2022-8-431 激活函数激活函数(Activation Function) 激活函数执行对该神经元所获得的网络输入激活函数执行对该神经元所获得的网络输入的变换,也可以称为激励函数、活化函数:的变换,也可以称为激励函数、活化函数: o=f(net) 1、线性函数(、线性函数(Liner Function) f(net)=k*net+c netooc2022-8-4322、非线性斜面函数、非线性斜面函数(Ramp Function) if netf(net)= k*netif |net|0为一常数,被称为饱和值,为该神经元的为一常数,被称为饱和值,为该神经元的最大输出。最大输出。 2022-8-4332、非线性斜面函数、非线性斜面函数(Ramp Function) - - net o 2022-8-4343、阈值函数(、阈值函数(Threshold Function)阶跃函数)阶跃函数if netf(net)=-if net 、均为非负实数,均为非负实数,为阈值为阈值二值形式:二值形式:1if netf(net)=0if net 双极形式:双极形式:1if netf(net)=-1if net 2022-8-4353、阈值函数(、阈值函数(Threshold Function)阶跃函数)阶跃函数 -onet02022-8-4364、S形函数形函数 压缩函数(压缩函数(Squashing Function)和逻辑斯特)和逻辑斯特函数(函数(Logistic Function)。)。f(net)=a+b/(1+exp(-d*net)a,b,d为常数。它的饱和值为为常数。它的饱和值为a和和a+b。最简单形式为:最简单形式为:f(net)= 1/(1+exp(-d*net) 函数的饱和值为函数的饱和值为0和和1。 S形函数有较好的增益控制形函数有较好的增益控制 2022-8-4374、S形函数形函数 a+b o(0,c)netac=a+b/22022-8-438课内容回顾课内容回顾生物神经网生物神经网六个基本特征六个基本特征神经元及其联接神经元及其联接、信号传递信号传递、训练训练、刺激刺激与与抑制、抑制、累积效果累积效果、 阈值阈值。人工神经元的基本构成人工神经元的基本构成xn wnx1 w1x2 w2net=XW2022-8-439上次课内容回顾上次课内容回顾激活函数与激活函数与M-P模型模型 线性函数、非线性斜面函数、线性函数、非线性斜面函数、阈值函数阈值函数 S形函数形函数 M-P模型模型x2 w2 fo=f(net)xn wnnet=XWx1 w12022-8-440简单单级网简单单级网x1x2xno1o2omwnmw11w1mw2mwn1输出层输出层输入层输入层2022-8-441简单单简单单级网级网W=(wij)输出层的第输出层的第j个神经元的网络输入记为个神经元的网络输入记为netj:netj=x1w1j+x2w2j+xnwnj其中其中, 1 j m。取。取NET=(net1,net2,netm)NET=XWO=F(NET)2022-8-442单级横向反馈网单级横向反馈网输出层输出层x1o1w11w1mx2o2w2mxnomwn1输入层输入层V2022-8-443单级横向反馈网单级横向反馈网 V=(vij)NET=XW+OVO=F(NET)时间参数时间参数神经元的状态在主时钟的控制下同步变化神经元的状态在主时钟的控制下同步变化考虑考虑X总加在网上的情况总加在网上的情况NET(t+1)=X(t)W+O(t)VO(t+1)=F(NET(t+1)O(0)=0考虑仅考虑仅在在t=0时加时加X的情况。的情况。 稳定性判定稳定性判定2022-8-444多级网多级网输出层输出层隐藏层隐藏层输入层输入层o1o2omx1x2xn2022-8-445层次划分层次划分 信号只被允许从较低层流向较高层。信号只被允许从较低层流向较高层。层号确定层的高低:层号较小者,层次较层号确定层的高低:层号较小者,层次较低,层号较大者,层次较高。低,层号较大者,层次较高。输入层输入层:被记作第:被记作第0层。该层负责接收来自层。该层负责接收来自网络外部的信息网络外部的信息输出层输出层隐藏层隐藏层输入层输入层o1o2omx1x2xn2022-8-446第第j层层:第:第j-1层的直接后继层(层的直接后继层(j0),它直接),它直接接受第接受第j-1层的输出。层的输出。输出层输出层:它是网络的最后一层,具有该网络的:它是网络的最后一层,具有该网络的最大层号,负责输出网络的计算结果。最大层号,负责输出网络的计算结果。隐藏层隐藏层:除输入层和输出层以外的其它各层叫:除输入层和输出层以外的其它各层叫隐藏层。隐藏层不直接接受外界的信号,也不隐藏层。隐藏层不直接接受外界的信号,也不直接向外界发送信号直接向外界发送信号输出层输出层隐藏层隐藏层输入层输入层o1o2omx1x2xn2022-8-447约定约定 :输出层的层号为该网络的层输出层的层号为该网络的层数:数:n层网络,或层网络,或n级网级网络。络。第第j-1层到第层到第j层的联接矩阵为层的联接矩阵为第第j层联接矩阵,输出层联接矩阵,输出层对应的矩阵叫输出层联接矩阵。今后,在需要层对应的矩阵叫输出层联接矩阵。今后,在需要的时候,一般我们用的时候,一般我们用W(j)表示表示第第j层矩阵层矩阵。输出层输出层隐藏层隐藏层输入层输入层o1o2omx1x2xnW(1)W(2)W(3)W(h)2022-8-448多级网多级网 层网络层网络输出层输出层隐藏层隐藏层输入层输入层o1o2omx1x2xnW(1)W(2)W(3)W(h)2022-8-449多级网多级网非线性激活函数非线性激活函数 F(X)=kX+CF3(F2(F1(XW(1)W(2)W(3)2022-8-450循环网循环网x1o1输出层输出层隐藏层隐藏层输入层输入层x2o2omxn2022-8-451循环网循环网 如果将输出信号反馈到输入端如果将输出信号反馈到输入端,就可构成一个多层的就可构成一个多层的循环网络。循环网络。输入的原始信号被逐步地加强、被修复。输入的原始信号被逐步地加强、被修复。大脑的大脑的短期记忆特征短期记忆特征:看到的东西不是一下子就从脑看到的东西不是一下子就从脑海里消失的。海里消失的。稳定稳定:反馈信号会引起网络输出的不断变化。我们:反馈信号会引起网络输出的不断变化。我们希望这种变化逐渐减小,并且最后能消失。当变希望这种变化逐渐减小,并且最后能消失。当变化最后消失时,网络达到了平衡状态。如果这种化最后消失时,网络达到了平衡状态。如果这种变化不能消失,则称该网络是不稳定的。变化不能消失,则称该网络是不稳定的。 2022-8-452人工神经网络的训练人工神经网络的训练 人工神经网络最具有吸引力的特点是它的学人工神经网络最具有吸引力的特点是它的学习能力。习能力。1962年,年,Rosenblatt给出了人工神经网络著名给出了人工神经网络著名的学习定理:人工神经网络可以学会它可的学习定理:人工神经网络可以学会它可以表达的任何东西。以表达的任何东西。人工神经网络的表达能力大大地限制了它的人工神经网络的表达能力大大地限制了它的学习能力。学习能力。人工神经网络的学习过程就是对它的训练过人工神经网络的学习过程就是对它的训练过程程2022-8-453无导师学习无导师学习 无导师学习无导师学习(Unsupervised Learning)与无导师与无导师训练训练(Unsupervised Training)相对应相对应 抽取样本集合中蕴含的统计特性抽取样本集合中蕴含的统计特性,并以神经,并以神经元之间的联接权的形式存于网络中。元之间的联接权的形式存于网络中。2022-8-454 有导师学习有导师学习 有导师学习有导师学习(Supervised Learning)与有导师训练与有导师训练(Supervised Training)相对应。相对应。输入向量与其对应的输出向量构成一训练。输入向量与其对应的输出向量构成一训练。有导师学习的训练算法的主要步骤包括:有导师学习的训练算法的主要步骤包括:1) 从样本集合中取一个样本(从样本集合中取一个样本(Ai,Bi););2) 计算出网络的实际输出计算出网络的实际输出O; 3) 求求D=Bi-O;4) 根据根据D调整权矩阵调整权矩阵W; 5 5) 对每个样本重复上述过程,直到对整个样本集来对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。说,误差不超过规定范围。 2022-8-455Delta规则规则 Widrow和和Hoff的写法的写法:Wij( (t+1) )=Wij( (t) )+( (yj- aj( (t)oi( (t) )也可以写成:也可以写成:Wij( (t+1) )=Wij( (t) )+Wij( (t) )Wij(t(t) )=joi(t(t) )j=yj- aj(t(t) )Grossberg的写法为:的写法为: Wij(t)=a(t)=ai i(t)(o(t)(oj j(t)-W(t)-Wijij(t(t)更一般的更一般的Delta规则为:规则为: Wij( (t) )=g( (ai(t),yj,oj( (t) ),Wij( (t)2022-8-456BP网络网络1 概述概述 2 基本基本BP算法算法 3 算法的改进算法的改进 4 算法的实现算法的实现 5 算法的理论基础算法的理论基础 6 几个问题的讨论几个问题的讨论 2022-8-457一一 概述概述 1、BP算法的出现算法的出现非循环多级网络的训练算法非循环多级网络的训练算法UCSD PDP小组的小组的Rumelhart、Hinton和和Williams1986年年独立地给出独立地给出了了BP算法清楚而简单的描述算法清楚而简单的描述1982年,年,Paker就完成了相似的工作就完成了相似的工作1974年,年,Werbos已提出了该方法已提出了该方法2、弱点、弱点:训练速度非常慢、局部极小点的逃离问题、:训练速度非常慢、局部极小点的逃离问题、算法不一定收敛。算法不一定收敛。3、优点:、优点:广泛的适应性和有效性。广泛的适应性和有效性。2022-8-458概述概述4、BP网络主要用于1)函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。2)模式识别:用一个特定的输出向量将它与输入向量联系起来。3)分类:把输入向量 以所定义的合适方式进行分类。4)数据压缩:减少输出向量维数以便于传输或存储。2022-8-459二二 基本基本BP算法算法 1 网络的构成网络的构成 神经元的网络输入:神经元的网络输入:neti=x1w1i+x2w2i+xnwni神经元的输出:神经元的输出:netenetfo11)()1 ()()1 (1)(22ooooeenetfnetnet2022-8-460输出函数分析输出函数分析 0.5f (net)0.25o0 1 1(0,0.5) net(0,0)oneteo11应该将应该将net的值尽量控制在收敛比较快的范围内的值尽量控制在收敛比较快的范围内可以用其它的函数作为激活函数,只要该函数是可以用其它的函数作为激活函数,只要该函数是处处可导的处处可导的2022-8-461网络的拓扑结构网络的拓扑结构x1o1输出层输出层隐藏层隐藏层输入层输入层x2o2omxnW(1)W(2)W(3)W(L)2022-8-462网络的拓扑结构网络的拓扑结构 1. BP网的结构网的结构2.2. 输入向量、输出向量的维数、网络隐藏层输入向量、输出向量的维数、网络隐藏层的层数和各个隐藏层神经元的个数的决定的层数和各个隐藏层神经元的个数的决定3.3. 实验:增加隐藏层的层数和隐藏层神经元实验:增加隐藏层的层数和隐藏层神经元个数不一定总能够提高网络精度和表达能个数不一定总能够提高网络精度和表达能力。力。4.4. BPBP网一般都选用二级网络。网一般都选用二级网络。2022-8-463网络的拓扑结构网络的拓扑结构x1o1输出层输出层隐藏层隐藏层输入层输入层x2o2omxnWV2022-8-4642 训练过程概述训练过程概述 样本:样本:(输入向量,理想输出向量输入向量,理想输出向量) )权初始化:权初始化:小随机数与饱和状态;不同保证小随机数与饱和状态;不同保证网络可以学。网络可以学。1 1、向前传播阶段:、向前传播阶段:(1)从样本集中取一个样本)从样本集中取一个样本(Xp,Yp),将,将Xp输入网络;输入网络;(2)计算相应的实际输出)计算相应的实际输出Op:Op=Fl(F2(F1(XpW(1)W(2)W(L)2022-8-4652 训练过程概述训练过程概述 2 2、向后传播阶段、向后传播阶段 误差传播阶段:误差传播阶段:(1)计算实际输出)计算实际输出Op与相应的理想输出与相应的理想输出Yp的差;的差;(2)按极小化误差的方式调整权矩阵。)按极小化误差的方式调整权矩阵。(3)网络关于第)网络关于第p p个样本的误差测度:个样本的误差测度:mjpjpjpoyE1221(4) 网络关于整个样本集的误差测度:网络关于整个样本集的误差测度:ppEE2022-8-4663 误差传播分析误差传播分析 1、输出层权的调整、输出层权的调整wpq= wpq+wpqwpq=qop=fn (netq)(yq-oq)op=oq(1-oq) (yq-oq)op wpqANpANq第第L-1层层第第L层层wpq2022-8-4672 2、隐藏层权的调整、隐藏层权的调整 ANpANqANhvhppk-11kwp1wpqqkwpmmk第第k-2层层第第k层层第第k-1层层2022-8-4682 2、隐藏层权的调整、隐藏层权的调整pk-1的值和的值和1k,2k, ,mk 有关有关不妨认为不妨认为pk-1通过权通过权wp1对对1k做出贡献,做出贡献,通过权通过权wp2对对2k做出贡献,做出贡献,通过权通过权wpm对对mk做出贡献。做出贡献。pk-1= fk-1(netp) (wp11k+ wp22k+ wpmm k)2022-8-4692 2、隐藏层权的调整、隐藏层权的调整vhp=vhp+vhp vhp=pk-1ohk-2 =fk-1 (netp)( wp11k+ wp22k+ + wpmmk)ohk-2=opk-1(1-opk-1)( wp11k+ wp22k+ + wpmmk)ohk-2ANpANqANhvhppk-11kwp1wpmqkwpqmk第第k-2层层第第k层层第第k-1层层2022-8-470内容回顾内容回顾基本基本BP算法算法 neti=x1w1i+x2w2i+ +xnwninetenetfo11)()1 ()()1 (1)(22ooooeenetfnetnet2022-8-471内容回顾内容回顾x1o1输出层输出层隐藏层隐藏层输入层输入层x2o2omxnWV2022-8-472内容回顾内容回顾样本样本权初始化权初始化向前传播阶段向前传播阶段Op=Fn(F2(F1(XpW(1)W(2)W(n)误差测度误差测度mjpjpjpoyE12212022-8-473内容回顾内容回顾向后传播阶段向后传播阶段 误差传播阶段误差传播阶段输出层权的调整输出层权的调整wpq= qop =fn (netq)(yq-oq)op =oq(1-oq) (yq-oq)op隐藏层权的调整隐藏层权的调整ANpANqANhvhppk-11kwp1wpqqkwpmmkvhp =opk-1(1-opk-1)( wp11k+ wp22k+ + wpmmk)ohk-22022-8-4744 基本的基本的BP算法算法 样本集:样本集:S=(X1,Y1),(,(X2,Y2),),(,(Xs,Ys) ) 基本思想基本思想 :逐一地根据样本集中的样本逐一地根据样本集中的样本(Xk,Yk)计算出实际输出计算出实际输出Ok和误差测度和误差测度E1,对,对W(1) ,W(2) ,W(L)各做各做一次调整,重复这个循环,直到一次调整,重复这个循环,直到Ep do 4.1 E=0; 2022-8-476基本基本BP算法算法 4.2 对对S中的每一个样本(中的每一个样本(Xp,Yp):): 4.2.1 计算出计算出Xp对应的实际输出对应的实际输出Op; 4.2.2 计算出计算出Ep; 4.2.3 E=E+Ep; 4.2.4 根据相应式子调整根据相应式子调整W(L); 4.2.5 k=L-1; 4.2.6 while k0 do 4.2.6.1 根据相应式子调整根据相应式子调整W(k); 4.2.6.2 k=k-1 4.3 E=E/2.0 2022-8-477算法的改进算法的改进 1、BP网络接受样本的顺序对训练结果有较大网络接受样本的顺序对训练结果有较大影响。它更偏爱较后出现的样本影响。它更偏爱较后出现的样本2、给集中的样本安排一个适当的顺序,是非常给集中的样本安排一个适当的顺序,是非常困难的。困难的。3、样本顺序影响结果的原因:样本顺序影响结果的原因:分别依次分别依次4、用用(X1,Y1),(,(X2,Y2),), ,(,(Xs,Ys)的)的总效总效果果修改修改W(1) ,W(2) , ,W(L)。w(k)ij=p w(k)ij2022-8-478消除样本顺序影响的消除样本顺序影响的BP算法算法 1 for k=1 to L do1.1 初始化初始化W(k);2 初始化精度控制参数初始化精度控制参数;3 E=+1;4 while E do 4.1 E=0;4.2 对所有的对所有的i,j,k: w (k)ij=0; 2022-8-4794.3 对对S中的每一个样本(中的每一个样本(Xp,Yp):):4.3.1 计算出计算出Xp对应的实际输出对应的实际输出Op;4.3.2 计算出计算出Ep;4.3.3 E=E+Ep;4.3.4 对所有对所有i,j根据相应式子计算根据相应式子计算p w (L)ij;4.3.5 对所有对所有i,j: w (L)ij= w (L)ij+p w (L)ij;4.3.6 k=L-1;4.3.7 while k0 do4.3.7.1 对所有对所有i, ,j根据相应式子计算根据相应式子计算p w (k)ij;4.3.7.2 对所有对所有i, ,j: w (k)ij= w (k)ij+p w (k)ij;4.3.7.3 k=k-1 4.4 对所有对所有i,j,k:w (k)ij= w (k)ij+ w (k)ij;4.5 E=E/2.0 2022-8-480算法分析算法分析 较好地解决了因样本的顺序引起的精度问题较好地解决了因样本的顺序引起的精度问题和训练的抖动问题和训练的抖动问题 收敛速度:比较慢收敛速度:比较慢偏移量:给每一个神经元增加一个偏移量来偏移量:给每一个神经元增加一个偏移量来加快收敛速度加快收敛速度 冲量冲量:联接权的本次修改要考虑上次修改的联接权的本次修改要考虑上次修改的影响,以减少抖动问题影响,以减少抖动问题 2022-8-481 算法的实现算法的实现 主要数据结构主要数据结构WH,m 输出层的权矩阵;输出层的权矩阵;Vn,H 输入(隐藏)层的权矩阵;输入(隐藏)层的权矩阵;m输出层各联接权的修改量组成的向量;输出层各联接权的修改量组成的向量;H隐藏层各联接权的修改量组成的向量;隐藏层各联接权的修改量组成的向量;O1隐藏层的输出向量;隐藏层的输出向量;O2输出层的输出向量;输出层的输出向量;(X,Y)一个样本。一个样本。 2022-8-482算法的主要实现步骤算法的主要实现步骤 1 1用不同的小伪随机数初始化用不同的小伪随机数初始化W,V;2 2初始化精度控制参数初始化精度控制参数;学习率;学习率 ; 3 3循环控制参数循环控制参数E=+1;循环最大次数;循环最大次数M;循环次数控制参数循环次数控制参数N=0; 4while E & N0,此时,此时wij0取取ijwEE0wij2022-8-489ijjjijwnetnetEwE而其中的而其中的 kkkjjownet所以,所以, iijkkkjijjowowwnet最速下降法,要求最速下降法,要求E的极小点的极小点2022-8-490ijijkkkjjijjjijonetEwownetEwnetnetEwE令令jjnetE所以所以wij=joi为学习率为学习率最速下降法,要求最速下降法,要求E的极小点的极小点2022-8-491ANj为输出层神经元为输出层神经元 oj=f(netj) 容易得到容易得到 )net(fnetojjj)net(foEnetooEnetEjjjjjjj从而从而 202