《人工神经网络模型.ppt》由会员分享,可在线阅读,更多相关《人工神经网络模型.ppt(144页珍藏版)》请在三一办公上搜索。
1、2023/3/4,1,第七讲 人工神经网络模型,随着人工神经网络应用研究酌不断深入,新的神经网络模型不断推出。现有的神经网络棋型已达近百种。在智能控制领域中,应用最多的是以下几种基本模型和它们的改进型,即前向多层感知器(BP网络)、HopfteN网络,自组织神经网络,动态递归网络,联想记忆网络(BAM)等神经网络的基本理论主要涉及到稳定性、学习算法、动态性能等几个方面。神经网络的特点:非线性 分布处理 学习并行和自适应 适用于多变量系统,2023/3/4,2,神经网络的研究内容 1)神经元模型 2)神经网络结构 3)神经网络学习方法,2023/3/4,3,人工神经元的基本构成,人工神经元模拟生
2、物神经元的一阶特性。输入:X=(x1,x2,xn)联接权:W=(w1,w2,wn)T网络输入:net=xiwi向量形式:net=XW,2023/3/4,4,激活函数与M-P模型 线性函数、非线性斜面函数、阈值函数 S形函数 M-P模型,2023/3/4,5,M-P模型,McCullochPitts(MP)模型,也称为处理单元(PE),2023/3/4,6,3.1.3 人工神经网络的拓扑特性,连接的拓扑表示,2023/3/4,7,1 联接模式,用正号(“+”,可省略)表示传送来的信号起刺激作用,它用于增加神经元的活跃度;用负号(“-”)表示传送来的信号起抑制作用,它用于降低神经元的活跃度。层次(
3、又称为“级”)的划分,导致了神经元之间的三种不同的互连模式:,2023/3/4,8,1 联接模式,1、层(级)内联接层内联接又叫做区域内(Intra-field)联接或侧联接(Lateral)。用来加强和完成层内神经元之间的竞争2、循环联接反馈信号。,2023/3/4,9,1 联接模式,3、层(级)间联接 层间(Inter-field)联接指不同层中的神经元之间的联接。这种联接用来实现层间的信号传递前馈信号反馈信号,2023/3/4,10,2 网络的分层结构,单级网 简单单级网,2023/3/4,11,简单单级网,2023/3/4,12,简单单级网,W=(wij)输出层的第j个神经元的网络输入
4、记为netj:netj=x1w1j+x2w2j+xnwnj其中,1 j m。取NET=(net1,net2,netm)NET=XWO=F(NET),2023/3/4,13,单级横向反馈网,2023/3/4,14,单级横向反馈网,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的情况。稳定性判定,2023/3/4,15,多级网,2023/3/4,16,层次划分 信号只被允许从较低层流向较高层。层号确定层的高低:层号较小者,层次
5、较低,层号较大者,层次较高。输入层:被记作第0层。该层负责接收来自网络外部的信息,2023/3/4,17,第j层:第j-1层的直接后继层(j0),它直接接受第j-1层的输出。输出层:它是网络的最后一层,具有该网络的最大层号,负责输出网络的计算结果。隐藏层:除输入层和输出层以外的其它各层叫隐藏层。隐藏层不直接接受外界的信号,也不直接向外界发送信号,2023/3/4,18,约定:输出层的层号为该网络的层数:n层网络,或n级网络。第j-1层到第j层的联接矩阵为第j层联接矩阵,输出层对应的矩阵叫输出层联接矩阵。今后,在需要的时候,一般我们用W(j)表示第j层矩阵。,2023/3/4,19,多级网h层网
6、络,2023/3/4,20,多级网,非线性激活函数 F(X)=kX+CF3(F2(F1(XW(1)W(2)W(3),2023/3/4,21,循环网,2023/3/4,22,循环网,如果将输出信号反馈到输入端,就可构成一个多层的循环网络。输入的原始信号被逐步地“加强”、被“修复”。大脑的短期记忆特征看到的东西不是一下子就从脑海里消失的。稳定:反馈信号会引起网络输出的不断变化。我们希望这种变化逐渐减小,并且最后能消失。当变化最后消失时,网络达到了平衡状态。如果这种变化不能消失,则称该网络是不稳定的。,2023/3/4,23,3 存储与映射,空间模式(Spatial Model)时空模式(Spati
7、altemporal Model)空间模式三种存储类型1、RAM方式(Random Access Memory)随机访问方式是将地址映射到数据。2、CAM方式(Content Addressable Memory)内容寻址方式是将数据映射到地址。3、AM方式(Associative Memory)相联存储方式是将数据映射到数据。,2023/3/4,24,3 存储与映射,后续的两种方式是人工神经网络的工作方式。在学习/训练期间,人工神经网络以CAM方式工作;权矩阵又被称为网络的长期存储(Long Term Memory,简记为LTM)。网络在正常工作阶段是以AM方式工作的;神经元的状态表示的模式
8、为短期存储(Short Term Memory,简记为STM)。,2023/3/4,25,4 人工神经网络的训练,人工神经网络最具有吸引力的特点是它的学习能力。1962年,Rosenblatt给出了人工神经网络著名的学习定理:人工神经网络可以学会它可以表达的任何东西。人工神经网络的表达能力大大地限制了它的学习能力。人工神经网络的学习过程就是对它的训练过程,2023/3/4,26,1 无导师学习,无导师学习(Unsupervised Learning)与无导师训练(Unsupervised Training)相对应 抽取样本集合中蕴含的统计特性,并以神经元之间的联接权的形式存于网络中。,2023
9、/3/4,27,1 无导师学习,2023/3/4,28,2 有导师学习,有导师学习(Supervised Learning)与有导师训练(Supervised Training)相对应。输入向量与其对应的输出向量构成一个“训练对”。有导师学习的训练算法的主要步骤包括:1)从样本集合中取一个样本(Ai,Bi);2)计算出网络的实际输出O;3)求D=Bi-O;4)根据D调整权矩阵W;5)对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。,2023/3/4,29,有导师学习,2023/3/4,30,其它,再例学习外部环境对系统的输出结果给出评价,学习系统通过强化受奖的动作来改善自身性
10、能。学习规则误差纠错学习Hebb学习竞争学习,2023/3/4,31,3.1.4 感知器,1 感知器与人工神经网络的早期发展 2 感知器的学习算法 2.1 离散单输出感知器训练算法 2.2 离散多输出感知器训练算法2.3 连续多输出感知器训练算法3线性不可分问题3.1 异或(Exclusive OR)问题 3.2 线性不可分问题的克服,实现!,问题的发现与解决!,2023/3/4,32,1 感知器与ANN的早期发展,McCulloch 和Pitts 1943年,发表第一个系统的ANN研究阈值加权和(M-P)数学模型。1947年,开发出感知器。1949年,提出Hebb学习律。,单输出的感知器(M
11、-P模型),2023/3/4,33,1 感知器与ANN的早期发展,1962年,Rosenblatt宣布:人工神经网络可以学会它能表示的任何东西,2023/3/4,34,2 感知器的学习算法,感知器的学习是有导师学习 感知器的训练算法的基本原理来源于著名的Hebb学习律 基本思想:逐步地将样本集中的样本输入到网络中,根据输出结果和理想输出之间的差别来调整网络中的权矩阵,2023/3/4,35,2.1离散单输出感知器训练算法,二值网络:自变量及其函数的值、向量分量的值只取0和1函数、向量。权向量:W=(w1,w2,wn)输入向量:X=(x1,x2,xn)训练样本集:(X,Y)|Y为输入向量X对应的
12、输出,2023/3/4,36,算法3-1离散单输出感知器训练算法,1.初始化权向量W;2.重复下列过程,直到训练完成:2.1 对每个样本(X,Y),重复如下过程:2.1.1 输入X;2.1.2 计算o=F(XW);2.1.3 如果输出不正确,则当o=0时,取 W=W+X,当o=1时,取 W=W-X,2023/3/4,37,2.2离散多输出感知器训练算法,样本集:(X,Y)|Y为输入向量X对应的输出输入向量:X=(x1,x2,xn)理想输出向量:Y=(y1,y2,ym)激活函数:F 权矩阵W=(wij)实际输出向量:O=(o1,o2,om),2023/3/4,38,算法3-2离散多输出感知器训练
13、算法,1.初始化权矩阵W;2.重复下列过程,直到训练完成:2.1 对每个样本(X,Y),重复如下过程:2.1.1 输入X;2.1.2 计算O=F(XW);2.1.3 for j=1 to m do 执行如下操作:if oj yj then if oi=0 then for i=1 to n wij=wij+xi else for i=1 to n do wij=wij-xi,2023/3/4,39,算法3-2离散多输出感知器训练算法,算法思想:将单输出感知器的处理逐个地用于多输出感知器输出层的每一个神经元的处理。第1步,权矩阵的初始化:一系列小伪随机数。,2023/3/4,40,算法3-2离散
14、多输出感知器训练算法,第2步,循环控制。方法1:循环次数控制法:对样本集执行规定次数的迭代改进分阶段迭代控制:设定一个基本的迭代次数N,每当训练完成N次迭代后,就给出一个中间结果,2023/3/4,41,算法3-2离散多输出感知器训练算法,方法2:精度控制法:给定一个精度控制参数精度度量:实际输出向量与理想输出向量的对应分量的差的绝对值之和;实际输出向量与理想输出向量的欧氏距离的和“死循环”:网络无法表示样本所代表的问题,2023/3/4,42,算法3-2离散多输出感知器训练算法,方法3:综合控制法:将这两种方法结合起来使用 注意:精度参数的设置。根据实际问题选定;初始测试阶段,精度要求低,测
15、试完成后,再给出实际的精度要求。,2023/3/4,43,2.3 连续多输出感知器训练算法,用公式wij=wij+(yj-oj)xi取代了算法3-2 第2.1.3步中的多个判断yj与oj之间的差别对wij的影响由(yj-oj)xi表现出来好处:不仅使得算法的控制在结构上更容易理解,而且还使得它的适应面更宽,2023/3/4,44,算法3-3 连续多输出感知器训练算法,1用适当的小伪随机数初始化权矩阵W;2.初置精度控制参数,学习率,精度控制变量d=+1;3While d do 3.1 d=0;3.2 for 每个样本(X,Y)do3.2.1 输入X(=(x1,x2,xn));3.2.2 求O=
16、F(XW);3.2.3 修改权矩阵W:for i=1 to n,j=1 to m dowij=wij+(yj-oj)xi;3.2.4 累积误差for j=1 to m dod=d+(yj-oj)2,2023/3/4,45,算法3-3 连续多输出感知器训练算法,1、程序实现:、d、i、j、n、m为简单变量来表示,W为n行m列的二维数组。样本集二维数组2、系统的调试3、Minsky在1969年证明,有许多基本问题是感知器无法解决4、问题线性可分性可能与时间有关5、很难从样本数据集直接看出问题是否线性可分6、未能证明,一个感知器究竟需要经过多少步才能完成训练。,2023/3/4,46,3 线性不可分
17、问题,3.1 异或(Exclusive OR)问题,2023/3/4,47,用于求解XOR的单神经元感知器,2023/3/4,48,线性不可分函数,2023/3/4,49,线性不可分函数,R.O.Windner 1960年,2023/3/4,50,3.2 线性不可分问题的克服,用多个单级网组合在一起,并用其中的一个去综合其它单级网的结果,我们就可以构成一个两级网络,该网络可以被用来在平面上划分出一个封闭或者开放的凸域来一个非凸域可以拆分成多个凸域。按照这一思路,三级网将会更一般一些,我们可以用它去识别出一些非凸域来。解决好隐藏层的联接权的调整问题是非常关键的,2023/3/4,51,两级单输出
18、网在n维空间中划分出m边凸域,2023/3/4,52,上次课内容回顾:学习算法,离散单输出感知器训练算法W=W+X;W=W-XW=W+(Y-O)X离散多输出感知器训练算法Wj=Wj+(yj-oj)X连续多输出感知器训练算法wij=wij+(yj-oj)xi,2023/3/4,53,上次课内容回顾:线性不可分问题,线性不可分问题的克服两级网络可以划分出封闭或开放的凸域多级网将可以识别出非凸域隐藏层的联接权的调整问题是非常关键,2023/3/4,54,3.4 BP网络,主要内容:BP网络的构成隐藏层权的调整分析Delta规则理论推导算法的收敛速度及其改进讨论BP网络中的几个重要问题 重点:BP算法
19、难点:Delta规则的理论推导,2023/3/4,55,3.4 BP网络,3.4.1 概述 3.4.2 基本BP算法 3.4.3 算法的改进 3.4.4 算法的实现 3.4.5 算法的理论基础 3.4.6 几个问题的讨论,2023/3/4,56,3.4.1 概述,1、BP算法的出现非循环多级网络的训练算法UCSD PDP小组的Rumelhart、Hinton和Williams1986年独立地给出了BP算法清楚而简单的描述1982年,Paker就完成了相似的工作1974年,Werbos已提出了该方法2、弱点:训练速度非常慢、局部极小点的逃离问题、算法不一定收敛。3、优点:广泛的适应性和有效性。,
20、2023/3/4,57,3.4.2 基本BP算法,3.4.2.1 网络的构成 神经元的网络输入:neti=x1w1i+x2w2i+xnwni神经元的输出:,2023/3/4,58,输出函数分析,应该将net的值尽量控制在收敛比较快的范围内可以用其它的函数作为激活函数,只要该函数是处处可导的,2023/3/4,59,网络的拓扑结构,2023/3/4,60,网络的拓扑结构,BP网的结构输入向量、输出向量的维数、网络隐藏层的层数和各个隐藏层神经元的个数的决定实验:增加隐藏层的层数和隐藏层神经元个数不一定总能够提高网络精度和表达能力。BP网一般都选用二级网络。,2023/3/4,61,网络的拓扑结构,
21、2023/3/4,62,3.4.2.2 训练过程概述,样本:(输入向量,理想输出向量)权初始化:“小随机数”与饱和状态;“不同”保证网络可以学。1、向前传播阶段:(1)从样本集中取一个样本(Xp,Yp),将Xp输入网络;(2)计算相应的实际输出Op:Op=Fl(F2(F1(XpW(1)W(2)W(L),2023/3/4,63,3.4.2.2 训练过程概述,2、向后传播阶段误差传播阶段:(1)计算实际输出Op与相应的理想输出Yp的差;(2)按极小化误差的方式调整权矩阵。(3)网络关于第p个样本的误差测度:,(4)网络关于整个样本集的误差测度:,2023/3/4,64,3.4.2.3 误差传播分析
22、,1、输出层权的调整,wpq=wpq+wpqwpq=qop=fn(netq)(yq-oq)op=oq(1-oq)(yq-oq)op,2023/3/4,65,2、隐藏层权的调整,2023/3/4,66,2、隐藏层权的调整,pk-1的值和1k,2k,mk 有关不妨认为pk-1通过权wp1对1k做出贡献,通过权wp2对2k做出贡献,通过权wpm对mk做出贡献。pk-1=fk-1(netp)(wp11k+wp22k+wpmm k),2023/3/4,67,2、隐藏层权的调整,vhp=vhp+vhp vhp=pk-1ohk-2=fk-1(netp)(wp11k+wp22k+wpmmk)ohk-2=opk
23、-1(1-opk-1)(wp11k+wp22k+wpmmk)ohk-2,2023/3/4,68,上次课内容回顾,基本BP算法neti=x1w1i+x2w2i+xnwni,2023/3/4,69,上次课内容回顾,2023/3/4,70,上次课内容回顾,样本权初始化向前传播阶段Op=Fn(F2(F1(XpW(1)W(2)W(n)误差测度,2023/3/4,71,上次课内容回顾,向后传播阶段误差传播阶段输出层权的调整wpq=qop=fn(netq)(yq-oq)op=oq(1-oq)(yq-oq)op隐藏层权的调整,vhp=opk-1(1-opk-1)(wp11k+wp22k+wpmmk)ohk-2
24、,2023/3/4,72,3.4.2.4 基本的BP算法,样本集:S=(X1,Y1),(X2,Y2),(Xs,Ys)基本思想:逐一地根据样本集中的样本(Xk,Yk)计算出实际输出Ok和误差测度E1,对W(1),W(2),W(L)各做一次调整,重复这个循环,直到Ep。用输出层的误差调整输出层权矩阵,并用此误差估计输出层的直接前导层的误差,再用输出层前导层误差估计更前一层的误差。如此获得所有其它各层的误差估计,并用这些估计实现对权矩阵的修改。形成将输出端表现出的误差沿着与输入信号相反的方向逐级向输入端传递的过程,2023/3/4,73,算法4-1 基本BP算法,1 for k=1 to L do1
25、.1 初始化W(k);2 初始化精度控制参数;3 E=+1;4 while E do 4.1 E=0;,2023/3/4,74,算法4-1 基本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,2023/3/4,75,3.4.3 算法的改进,1、BP网络接受样本的顺序对训练结果有较大影响。它更“偏爱”较后出现的样
26、本2、给集中的样本安排一个适当的顺序,是非常困难的。3、样本顺序影响结果的原因:“分别”、“依次”4、用(X1,Y1),(X2,Y2),(Xs,Ys)的“总效果”修改W(1),W(2),W(L)。w(k)ij=p w(k)ij,2023/3/4,76,算法4-2 消除样本顺序影响的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;,2023/3/4,77,4.3 对S中的每一个样本(Xp,Yp):4.3.1 计算出Xp对应的实际输出Op;4.3.2 计
27、算出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,2023/3/4,78,算法4-2 分析,较好地解决了因样本的顺序引起的精度问题和训练的抖动问题 收敛速度:比较慢偏移
28、量:给每一个神经元增加一个偏移量来加快收敛速度 冲量:联接权的本次修改要考虑上次修改的影响,以减少抖动问题,2023/3/4,79,算法4-2 分析冲量设置,Rumelhart等人1986年wij=joi+wijwij为上一次的修改量,为冲量系数,一般可取到0.9 Sejnowski与Rosenberg,1987年wij=(1-)joi+wij)wij也是上一次的修改量,在0和1之间取值,2023/3/4,80,3.4.4 算法的实现,主要数据结构WH,m输出层的权矩阵;Vn,H输入(隐藏)层的权矩阵;om输出层各联接权的修改量组成的向量;hH隐藏层各联接权的修改量组成的向量;O1隐藏层的输出
29、向量;O2输出层的输出向量;(X,Y)一个样本。,2023/3/4,81,算法的主要实现步骤,用不同的小伪随机数初始化W,V;初始化精度控制参数;学习率;循环控制参数E=+1;循环最大次数M;循环次数控制参数N=0;while E&NM do 4.1 N=N+1;E=0;4.2 对每一个样本(X,Y),执行如下操作,2023/3/4,82,4.2 对每一个样本(X,Y),执行的操作,4.2.1 计算:O1=F1(XV);O2=F2(O1W);4.2.2 计算输出层的权修改量 for i=1 to m4.2.2.1 oi=O2 i*(1-O2 i)*(Yi-O2 i);4.2.3 计算输出误差:
30、for i=1 to m 4.2.3.1 E=E+(Yi-O2 i)2;,2023/3/4,83,4.2 对每一个样本(X,Y),执行的操作,4.2.4 计算隐藏层的权修改量:for i=1 to H4.2.4.1 Z=0;4.2.4.2 for j=1 to m do Z=Z+Wi,j*oj;4.2.4.3 hi=Z*O1 i(1-O1 i);4.2.5 修改输出层权矩阵:for k=1 to H&i=1 to m4.2.5.1 Wk,i=Wk,i+*O1k*oi;4.2.5 修改隐藏层权矩阵:for k=1 to n&i=1 to H4.2.5.1 Vk,i=Vk,i+*Xk*hi;,20
31、23/3/4,84,建议,隐藏层的神经元的个数H作为一个输入参数同时将、循环最大次数M等,作为算法的输入参数 在调试阶段,最外层循环内,加一层控制,以探测网络是否陷入了局部极小点,2023/3/4,85,3.4.5 算法的理论基础,基本假设网络含有L层联接矩阵:W(1),W(2),W(L)第k层的神经元:Hk个自变量数:n*H1+H1*H2+H2*H3+HL*m样本集:S=(X1,Y1),(X2,Y2),(Xs,Ys)误差测度:,2023/3/4,86,用E代表EP,用(X,Y)代表(XP,YP)X=(x1,x2,xn)Y=(y1,y2,ym)该样本对应的实际输出为O=(o1,o2,om),误
32、差测度,2023/3/4,87,误差测度,用理想输出与实际输出的方差作为相应的误差测度,2023/3/4,88,最速下降法,要求E的极小点,取,2023/3/4,89,而其中的,所以,,最速下降法,要求E的极小点,2023/3/4,90,令,所以wij=joi为学习率,最速下降法,要求E的极小点,2023/3/4,91,ANj为输出层神经元,oj=f(netj)容易得到,从而,2023/3/4,92,ANj为输出层神经元,2023/3/4,93,所以,,故,当ANj为输出层的神经元时,它对应的联接权wij应该按照下列公式进行调整:,ANj为输出层神经元,2023/3/4,94,ANj为隐藏层神
33、经元,2023/3/4,95,ANj为隐藏层神经元,netk=,2023/3/4,96,ANj为隐藏层神经元,2023/3/4,97,ANj为隐藏层神经元,2023/3/4,98,ANj为隐藏层神经元,2023/3/4,99,3.4.6 几个问题的讨论,收敛速度问题 局部极小点问题 逃离/避开局部极小点:修改W、V的初值并不是总有效。逃离统计方法;Wasserman,1986将Cauchy训练与BP算法结合起来,可以在保证训练速度不被降低的情况下,找到全局极小点。,2023/3/4,100,3.4.6 几个问题的讨论,网络瘫痪问题 在训练中,权可能变得很大,这会使神经元的网络输入变得很大,从而
34、又使得其激活函数的导函数在此点上的取值很小。根据相应式子,此时的训练步长会变得非常小,进而将导致训练速度降得非常低,最终导致网络停止收敛 稳定性问题 用修改量的综合实施权的修改连续变化的环境,它将变成无效的,2023/3/4,101,3.4.6 几个问题的讨论,步长问题 BP网络的收敛是基于无穷小的权修改量步长太小,收敛就非常慢步长太大,可能会导致网络的瘫痪和不稳定自适应步长,使得权修改量能随着网络的训练而不断变化。1988年,Wasserman,2023/3/4,102,上次课内容回顾,基本BP算法算法的改进用(X1,Y1),(X2,Y2),(Xs,Ys)的“总效果”修改W(1),W(2),
35、W(L)w(k)ij=p w(k)ij,2023/3/4,103,上次课内容回顾,改进算法有关问题抖动、收敛速度、偏移量、冲量算法的实现循环控制、算法的调试算法的理论基础,2023/3/4,104,上次课内容回顾,问题的讨论收敛速度局部极小点网络瘫痪稳定性步长,2023/3/4,105,3.5 对传网,主要内容:CPN的网络结构,正常运行,输入向量的预处理,Kohonen层的训练算法及其权矩阵的初始化方法;Grossberg层的训练;完整的对传网重点:Kohonen层与Grossberg层的正常运行与训练难点:Kohonen层的训练算法及其权矩阵的初始化方法,2023/3/4,106,3.5
36、对传网,3.5.1 网络结构 3.5.2 网络的正常运行 3.5.3 Kohonen层的训练 3.5.4 Kohonen层联接权的初始化方法 3.5.5 Grossberg层的训练 3.5.6 补充说明,2023/3/4,107,3.5 对传网,Robert Hecht-Nielson 在1987年提出了对传网(Counterpropagation Networks,CPN)。CPN为异构网:Kohonen1981年提出的Self-organization mapSOMKohonen层Grossberg1969年提出的OutstarGrossberg层训练时间短:BP的1%。应用面:比较窄让网
37、络的隐藏层执行无导师学习,是解决多级网络训练的另一个思路,2023/3/4,108,3.5.1 网络结构,单向CPN,完整CPN(双向网)除拓扑结构外,网络的运行机制也是确定网络结构(同构、异构)和性能的重要因素 网络的层数计算,2023/3/4,109,3.5.1 网络结构,2023/3/4,110,3.5.1 网络结构,以Kohonen层的神经元为“中心”讨论问题K1W1=(w11,w21,wn1)T V1=(v11,v12,v1m)K2W2=(w12,w22,wn2)T V2=(v21,v22,v2m)KhWh=(w1h,w2h,wnh)T Vh=(vh1,vh2,vhm),2023/3
38、/4,111,3.5.2 网络的正常运行,5.2.1 Kohonen层“强者占先、弱者退出”(the winner takes all)knetj=XWj=(x1,x2,xn)(w1j,w2j,wnj)T=w1j x1+w2j x2+wnj xn向量形式KNET=(knet1,knet2,kneth),2023/3/4,112,3.5.2.1 Kohonen层,K1,K2,Kh的输出k1,k2,kh构成向量 K=(k1,k2,kh)1jh1knetj=Max knet1,knet2,kneth kj=0其它 几何意义,2023/3/4,113,3.5.2.2 Grossberg层,Grossb
39、erg层的每个神经元Gj(1jm)gnetj=K(v1j,v2j,vhj)T=(k1,k2,kh)(v1j,v2j,vhj)T=k1v1j+k2v2j+kh vhj唯一输出1的神经元为Ko gnetj=k1v1j+k2v2j+kh vhj=voj,2023/3/4,114,3.5.2.2 Grossberg层,GNET=(gnet1,gnet2,gnetm)=(vo1,vo2,vom)=Vo散射星:Vo的各个分量是从Ko到Grossberg层各神经元的联接权,2023/3/4,115,3.5.2.2 Grossberg层,CPN用于模式的完善,此时n=m:接受含有噪音的输入模式(x1,x2,x
40、n),而输出去掉噪音后的模式(vo1,vo2,vom)对训练启示W1,W2,Wh,各类X的共同特征V1,V2,Vh,X对应的理想输出Y的共同特征,2023/3/4,116,3.5.3 Kohonen层的训练,5.3.1 输入向量的预处理 单位化处理X=(x1,x2,xn)X=(x1,x2,xn)=(x1/X,x2/X,xn/X),2023/3/4,117,3.5.3.2 训练算法 5-1 Kohonen层训练算法,对所有的输入向量,进行单位化处理;对每个样本(X,Y)执行下列过程 2.1 for j=1 to h do 根据相应式子计算knetj;2.2 求出最大的kneto:2.2.1 ma
41、x=knet1;o=1 2.2.2 for j=1 to h do if knetjmax then max=knetj;o=j;,2023/3/4,118,算法 5-1 Kohonen层训练算法,2.3 计算K 2.3.1 for j=1 to h do kj=0;2.3.2 ko=1;2.4 使Wo更接近X:Wo(new)=Wo(old)+(X-Wo(old);2.5 对Wo(new)进行单位化处理,2023/3/4,119,Wo(new)=Wo(old)+(X-Wo(old),(0,1)Wo(new)=Wo(old)+(X-Wo(old)=Wo(old)+X-Wo(old)X-Wo(ne
42、w)=X-Wo(old)+(X-Wo(old)=X-Wo(old)-X+Wo(old)=X(1-)-Wo(old)(1-)=(1-)(X-Wo(old)由0(1-)1,Wo(new)比Wo(old)更接近X,2023/3/4,120,Wo(new)=Wo(old)+(X-Wo(old),Wo(old),2023/3/4,121,学习率,训练初期,一般取0.7左右,它将随着训练进展不断变小 过大可能导致有的X被放入错误的类中;使训练陷入抖动根据X的分布决定W的初值:防止类过小和过大,2023/3/4,122,启发,一般来说,一个类含有许多向量。这个类对应的Wj应该是样本集中这一类向量(输入向量部
43、分)的平均值。事先给问题一个粗略分类,并从这个分类中提取一个较有代表性的向量构成样本集启发我们采用训练和直接设定权向量的方式来完成该层的训练。,2023/3/4,123,上次课内容回顾,CPN为异构网Kohonen层 SOMGrossberg层 Outstar训练时间短:BP的1%。应用面:比较窄除拓扑结构外,网络的运行机制也是确定网络结构(同构、异构)和性能的重要因素,2023/3/4,124,拓扑结构,2023/3/4,125,上次课内容回顾,以Kohonen层的神经元为“中心”讨论问题Kohonen层:“强者占先、弱者退出”K=(0,0,1,0,0)Grossberg层:散射星gnetj
44、=k1v1j+k2v2j+kh vhj=vojGNET=(gnet1,gnet2,gnetm)=(vo1,vo2,vom)=VoCPN用于模式的完善,2023/3/4,126,上次课内容回顾,强调X和W的单位化处理对训练启示W1,W2,Wh,各类X的共同特征V1,V2,Vh,X对应的Y的共同特征Kohonen层的训练Wo(new)=Wo(old)+(X-Wo(old),2023/3/4,127,3.5.4 Kohonen层联接权初始化,理想情况下,W1,W2,Wh的初值应该依照样本集中的输入向量的分布来确定样本集中的输入向量的分布并不是均匀的,2023/3/4,128,Xi的非均匀分布要求Wi
45、非均匀分布,2023/3/4,129,凸状组合法,取wij=,将输入向量X=(x1,x2,xn)变换为X=(x1,x2,xn)其中,2023/3/4,130,凸状组合法,随着训练的进行,趋近于1,从而使X趋近于X,进而Wj趋近于一组X的平均值。,在训练的初期阶段,的值非常小,使得,W需要追踪一个变化的目标,2023/3/4,131,添加噪音法,在输入向量中加进适当的随机噪音,使输入向量的分布均匀。训练中逐渐去掉噪音Wj不断地调整自己的“运动方向”,去追踪其不断变化的目标。试验表明,这种方法的收敛速度比凸状组合法更慢。,W也需要追踪一个变化的目标,2023/3/4,132,X在加噪音后变成均匀分
46、布的,2023/3/4,133,初期全调法,Kohonen层训练的初期,对应一个输入向量,允许多个神经元同时处于激发状态。逐渐减少被激发的神经元的最大个数或者逐渐提高阈值,最后达到对一个输入向量,只有一个神经元激发 要解决的问题问题调整的范围的度量。,2023/3/4,134,初期全调法,另一种实现在训练的初期,算法不仅调整“获胜”的神经元对应的权向量,而且对其它的权向量也作适当的调整。随着训练的推进,被调整的范围逐渐缩小,直到最终只有“获胜”的神经元对应的权向量才被调整要解决的问题问题调整的范围的度量。其它的权向量的“适当调整”,2023/3/4,135,DeSieno法,当某一个权向量所获
47、得的匹配向量超过给定的数(1/h)后,它的阈值就被临时提高 问题:当最应该被某个神经元对应的权向量匹配的输入向量在较后的时候被输入时,它可能被拒绝,从而造成网络精度的损失 Kohonen 1988:在一个被完全训练过的网中,随机选取的输入向量与任何给定权向量是最接近的概率是1/h按均匀分布初始化的权向量具有相同被匹配概率,2023/3/4,136,3.5.5 Grossberg层的训练,训练标量形式voj=voj+(yj-voj)向量形式Vo(new)=Vo(old)+(Y-Vo(old)比较 Wo(new)=Wo(old)+(X-Wo(old),Kohonen层,2023/3/4,137,算
48、法5-2 CPN训练算法一,0 对W、V进行初始化;1 对所有的输入向量,进行单位化处理;2 对每个样本(X,Y)执行下列过程 2.1 for j=1 to h do 根据knetj=XWj计算knetj;2.2 求出最大的kneto:2.2.1 max=knet1;o=1;2.2.2 for j=1 to h do 2.2.2.1 if knetjmax then max=knetj;o=j;,2023/3/4,138,算法5-2 CPN训练算法一,2.3 计算K:2.3.1 for j=1 to h do kj=0;2.3.2 ko=1;2.4 使Wo更接近X:Wo(new)=Wo(old
49、)+(X-Wo(old);2.5 对Wo(new)进行单位化处理;2.6 使Vo更接近Y:Vo(new)=Vo(old)+(Y-Vo(old)。,2023/3/4,139,算法5-3 CPN训练算法二,对应Kohonen的每一个Ki,它将代表一组输入向量,所以希望这个Ki对应的Vi能代表这组输入向量对应的输出向量的平均值。0 对W、V进行初始化;0清空Kohonen层各神经元对应的纪录表:for j=1 to h do SKj=;1 对所有的输入向量,进行单位化处理;,2023/3/4,140,算法5-3 CPN训练算法二,2 对每个样本(Xs,Ys)执行下列过程2.1 for j=1 to
50、h do2.1.1 根据相应式子计算knetj;2.2 求出最大的kneto:2.2.1 max=knet1;o=1;2.2.2 for j=1 to h do 2.2.2.1 if knetjmax then max=knetj;o=j;,2023/3/4,141,算法5-3 CPN训练算法二,2.3 计算K:2.3.1 for j=1 to h do kj=0;2.3.2 ko=1;2.4 使Wo更接近Xs:Wo(new)=Wo(old)+(Xs-Wo(old);2.5 对Wo(new)进行单位化处理;2.6 将Ys放入SKo:SKo=SKoYs;3 for j=1 to h doVj=S