数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
楼主: b

数字神经网络系统

  [复制链接]
b
 楼主| 发表于 2004-5-28 02:28:31 | 显示全部楼层
<TABLE height=3252 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=12>< align=center>1.4 自适应共振理论ART模型</P></TD></TR><TR><TD width="100%" height=501><>自适应共振理论ART(Adaptive Resonance Theory)模型是美国Boston大学的S.Grossberg和A.Carpenet在1976年提出的。 <>ART是一种自组织神经网络结构,是无教师的学习网络。当在神经网络和环境有交互作用时,对环境信息的编码会自发地在神经网中产生,则认为神经网络在进行自组织活动。ART就是这样一种能自组织地产生对环境认识编码的神经网络理论模型。</P><P>ART模型是基于下列问题的求解而提出的:</P><P>1.对于一个学习系统,要求它有适应性及稳定性,适应性可以响应重要事件,稳定性可以存储重要事件。这种系统的设计问题。</P><P>2.学习时,原有的信息和新信息如何处理,保留有用知识,接纳新知识的关系如何及解决的问题。</P><P>3.对外界信息与原存储的信息结合并决策的问题。</P><P>......</P><P>Grossberg一直对人类的心理和认识活动感兴趣,他长期埋头于这方面的研究并希望用数学来刻划人类这项活动,建立人类的心理和认知活动的一种统一的数学模型和理论。ART就是由这种理论的核心内容并经过提高发展然后得出的。
目前,ART理论已提出了三种模型结构,即ARTt,ART2,ART3。ART1用于处理二进制输入的信息;ART2用于处理二进制和模拟信息这两种输人;ART3用于进行分级搜索。ART理论可以用于语音、视觉、嗅觉和字符识别等领域。</P><P>1.4.1ART模型的结构</P><P>ART模型来源于Helmboltz无意识推理学说的协作——竞争网络交互模型。这个模型如图1—19所示。</P><P>从图中看出这个模型由两个协作——竞争模型组成。无意识推理学说认为:原始的感觉信息通过经历过的学习过程不断修改,直到成为一个真实的感知结果为止。在图1—19中协作——竞争网络交互模型可以看出;环境输入信号和自上而下学习期望同时对协作——竞争网络1执行输入;而自下而上学习是协作——竞争网络1的输出;同时,自下而上学习是协作——竞争网络2的输人.而自上而下学习期望则是其输出。真实感知是通过这个协作——竞争网络的学习和匹配产生的。</P><P>环境输人信号对自上而下学习期望进行触发,使协作——竞争网络1产生自下而上学习的输出。这种输出送到协作——竞争网络2,则产生自上而下学习期望输出,并送回协作——竞争网络1。这个过程很明显是自上而下学习和自下而上学习的过程,并且这个过程中不断吸收环境输人信息。经过协作——竞争的匹配,最终取得一致的结果;这也就是最终感知或谐振感知。协作——竞争网络交互作用有下列基本要求:</P><P>第一,交互作用是非局域性的;</P><P>第二,交互作用是非线性的;</P><P>第三,自上而下的期望学习是非平稳随机过程。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht19.gif"></P></TD></TR><TR><TD width="100%" height=18><P align=center>图1-19  协作——竞争网络交互模型</P></TD></TR><TR><TD width="100%" height=903><P>受到协作——竞争网络交互模型的启发.Grossberg提出了ART理论模型。他认为对网络的自适应行为进行分析,可以建立连续非线性网络模型,这种网络可以由短期存储STM和长期存储LTM作用所实现。STM是指神经元的激活值.即末由s函数处理的输出值,LTM是指权系数。 <P>Grossberg所提出的ART理论模型有如下一些主要优点:</P><P>1.可以进行实时学习,能适应非平稳的环境。</P><P>2.对于已经学习过的对象具有稳定的快速识别能力;同时,亦能迅速适应未学习的新对象。</P><P>3.具有自归一能力,根据某些特征在全体中所占的比例,有时作为关键特征,有时当作噪声处理。</P><P>4.不需要预先知道样本结果,是无监督学习;如果对环境作出错误反映则自动提高“警觉性”,迅速识别对象。</P><P>5.容量不受输入通道数的限制,存储对象也不要是正交的。</P><P>ART的基本结构如图1—20所示。</P><P>它由输入神经元和输出神经元组成。它用前向权系数及样本输入来求取神经元的输出,这个输出也就是匹配测度;具有最大匹配测度的神经元的活跃级通过输出神经元之间的横向抑制得到进一步增强,而匹配测度不是最大的神经元的活跃级就会逐渐减弱,从输出神经元到输人神经元之间有反馈连接以进行学习比较。同样,还提供一个用来确定具有最大输出的输出神经元与输入模式进行比较的机制。
ART模型的框图如图1—21所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht21.gif"></P><P align=center>图1-20</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht22.gif"></P><P align=center>图1-21  ART模型</P></TD></TR><TR><TD width="100%" height=927><P>它由两个子系统组成,一个称为注意子系统(Attcntional Subsystem),一个称为取向子系统(Orienting Subsystem),也称调整子系统。这两个子系统是功能互补的子系统。ART模型就是通过这两个子系统和控制机制之间的交互作用来处理熟悉的事件或不熟悉的事件。在注意子系统中,有F1,F2这两个用短期存储单元组成的部件,即STM FI和STMF2。在FI和F2之间的连接通道是长期存储LTM。增益控制有两个作用:一个作用是在F1中用于区别自下而上和自上而下的信号;另一作用是当输入信号进入系统时,F2能够对来自F1的信号起阀值作用。调整子系统是由A和STM重置波通道组成。 <P>注意子系统的作用是对熟悉事件进行处理。在这个子系统中建立熟悉事件对应的内部表示,以便响应有关熟悉事件;这在实际上是对STM中的激活模式进行编码。同时,在这个子系统中还产生一个从F2到F1的自上而下的期望样本,以帮助稳定己被学习了的熟悉事件的编码。</P><P>调整子系统的作用是对不熟悉事件产生响应。在有不熟悉事件输入时,孤立的一个注意子系统无法对不熟悉的事件建立新的聚类编码;故而设置一个调整子系统,当有不熟悉事件输入时,调整子系统马上产生重置波对F2进行调整,从而使注意子系统对不熟悉事件建立新的表达编码。实际上,当自下而上的输入模式和来自F2的自上而下的引发模式即期望在FI,中不匹配时,调整子系统就会发出一个重置波信号到F2,它重新选择F2的激活单元.同时取消F2原来所发出的输出模式。</P><P>简而言之,注意子系统的功能是完成由下向上的向量的竞争选择,以及完成由下向上向量和由上向下向量的相似度比较。而取向子系统的功能是检验期望向量v和输入向量I的相似程度;当相似度低于某一给定标准值时,即行取消该时的竞争优胜者,转而从其余类别中选取优胜者。</P><P>ART模型就是由注意子系统和调整子系统共同作用,从而完成自组织过程的。</P><P>1.4.2 ART的基本工作原理</P><P>在ART模型中,其工作过程是采用2/3规则的。所谓2/3规则,就是在ART网络中,三个输入信号中要有二个信号起作用才能使神经元产生输出信号。ART网络的整个工作过程中,2/3规则都在起作用。在说明ART模型的工作原理之前,先介绍2/3规则。</P><P>一、2/3规则</P><P>考虑因1—21所示的ART模型,很明显在FI层中,有三个输入信号源:输入信号I,增益控制输入,自上而下的模式输人。所谓2/3规则,就是指F1中这三个输入信号对F1的激发作用和关系。</P><P>2/3规则可以用图1—22所示的图形来说明。</P><P>1.自上而下的单输人情况</P><P>这时的情况如图1—22(a)所示。F1从三个输入信号源中,只接收来自F2的自上而下的引发模式。故而,FI中的三个输入信号源中,并没有二个输入信号源起作用;而只有一个输入信号源即来自F2的自上而下的引发模式。所以F1中的神经元不会被激活,F1的神经元不会产生信号输出。</P><P>2.自下而上的二输人情况</P><P>这时的情况如图1—盟(b)所示。这时,在F1的三个输入信号源中,有输入信号I进行输入.并且有I通过增益控制后所产生的对F1的输入;由于这两个输入信号起作用,故而F1中的神经元被激活,F1能产生信号输出:</P><P>3.自下而上输入及自上而下引发模式输入的情况</P><P>这时的情况如图1—22(c)所示。它说明了自下而上输入模式和自上而下的引发模式共同作用于Fl的过程。这个过程也就是输入模式I和来自F2的自上而下的引发模式匹配过程。在这时,F2的输出信号会加到增益控制中对其中的输入信号I产生抑制作用,所以,增益控制不会产生信号送去Fl。在F1中,同时接收到自下而上输人信号以及自上而下的F2输出信号的神经元才会被激话;而只接收到其中一个信号的神经元则不会被激活。</P><P>4.模态竞争情况</P><P>当注意子系统从一个模态向另一个模态转移时,在这个转移的瞬间中会禁止F1被激活;因为,这种是一个过渡过程,它不反映模式的实质内容。固Fl不能被激活。模态竞争的情况如图1—22(d)所示。</P><TABLE cellSpacing=0 cellPadding=0 width="100%" border=0><TR><TD width="50%"><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht23.gif"></P></TD><TD width="50%"><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht24.gif"></P></TD></TR><TR><TD width="50%"><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht25.gif"></P></TD><TD width="50%"><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht26.gif"></P></TD></TR></TABLE></TD></TR><TR><TD width="100%" height=18><P align=center>图1-22  2/3规则</P></TD></TR><TR><TD width="100%" height=366><P>二、ART模型的基本工作原理 <P>在ART模型中,显然分为F1,F2两层神经网络。对于注意子系统,F1和F2这两层的作用可以用图1—23表示。 <P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht27.gif"></P></TD></TR><TR><TD width="100%" height=18><P align=center>图1-23   F1和F2层的信息处理</P></TD></TR><TR><TD width="100%" height=465><P>Fl层接收输人模式I,则在F1中被转换成激活模式X,X由F1中的激活神经元表示,如图1—23中的长方形所示。这个模式x被短期存储在F1中。只有激活值足够高的神经元才能产生输出信号并通过连接传送到F2的神经元去。 <P>在F1中,由x所产生的F1输出模式为S,S模式通过连接送到F2的神经元输入端。并在F2的神经元的输入端土产生一个和s不同的模式T。从s到T的转换称为自适应滤波。无论F1还是P2,其神经元是一般形式的神经元结构。一般而言,这些神经元的状态.输入和输出并不相同。</P><P>在F2层中.模式T经过F2神经元的相互作用会迅速地被转换。这个相互作用是对输入模式T的比较及除弱增强过程。其结果产生一个短期存储在F2中的模式Y,这也是F2的状态。</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:29:06 | 显示全部楼层
<TABLE height=3252 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=465><>在一般情况时,从T到Y这个比较,除弱增强的转换会使多个神经元处于激活状态。这时,这种转换结果变由F2中的多个神经元群来表达。这个转换过程自动地把F1的输入模式I划分到不相交的各个识别聚类中去,每个类对应于F2中的某个特征神经元。在特殊情况时,从T到Y的比较、除弱增强过程就是在F2中选择一个与当前输入I相对应的而输出值最大的神经元的过程。所选择的神经元就是用于表示激活模式的唯一神经为了说明ART模型的有关工作基本原理,下面分五点进行介绍:</P><>1.自下而上的自适应滤波和STM中的对比度增强过程。</P><>输入信号I加到注意子系统的F1的输入端,经过F1的节点变换成激活模式X,这一过程起到特征检出作用。
在F1中,激活值较高的神经元就会有输出到F2的信号,并成为输出模式s.s经过F1到F2的连接通道时受到加权组合(LTM),变换成模式T后作用于F2的输入端。S到T的变换称为自适应滤波。F2接收到T后通过神经元间的相互作用迅速产生对比度增强了的激活模式Y,并且存储于F2中。如图1—24(a)所示。</P><P>这个阶段的学习是一个变换系列:I—X—S—T—Y</P><P>2.自上而下的学习期望匹配和对已学习编码的稳定。</P><P>一旦当自下而上的变换X—Y完成之后.Y就会产生自上而下的输出信号的模式u,并送向F1,只有激活值足够大的才会向反馈通道送出信号u。 u经加权组合变换成模式v。v称为自上而下的模板,或学习期望。</P><P>由于x和V这两个模式对F1输入,则它们的共同作用在F1中产生激活模式X<SUP>*</SUP>;—般而言,x*和只由输入信号产生的x模式不同。这时,F1的作用就是试图使v和I匹配,其匹配结果确定了以后的作用过程。
这时的情况如图1—24(b)所示。</P><P>3.注意子系统和取向子系统相互作用过程。</P><P>这个过程和输入I有关。在图1—24(a)中,在输入模式I产生x的同时,也会激活取向子系统A;只是在A产生输出之前,F1中的x对A所产生的输出端就起禁止作用。当F2的反馈模式v与P1的输入模式[失配时,就会大大减弱这一禁止作用,当减弱到一定的程度时,A就被激活。如图1—24(c)所示。</P><P>A被激活之后就向F2送出重置信号.并作用于F2的全部神经元,从而改变F2的状态.取消了原来的自上而下的学习期望V;终止了V和I的失配;于是输入I再次作用直到F2产生新的状态Y*。如图1—24(d)所示。</P><P>Y*会产生新的自上而下的学习期望v*,如果v*仍然和I失配,那么,取向子系统A继续起作用;这样.产生一个快速的一系列匹配与重置过程。这个过程控制LTM的搜索从调整了LW对外界环境的编码。这个过程一直执行下去,直到F2送出的模式v和输人I相互匹配为止。</P><TABLE cellSpacing=0 cellPadding=0 width="100%" border=0><TR><TD width="50%"><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht28.gif"></P></TD><TD width="50%"><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht29.gif"></P></TD></TR><TR><TD width="50%"><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht30.gif"></P></TD><TD width="50%"><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht31.gif"></P></TD></TR></TABLE></TD></TR><TR><TD width="100%" height=8><P align=center>图1-24  ART模型的工作过程</P></TD></TR><TR><TD width="100%" height=10><P>4.需考虑的一些特点 <P>在注意子系统的增益控制及起动这一自上而下的学习期望匹配过程中,还应考虑一些有关特点。</P><P>例如在F1输出向下而上的作用之前,F2已被激活,这时F2就会产生自上而下的学习期望并作用于Fl;这时则F1也会被激活,并产生自下而上的作用过程。显然,需要对来自外部输入的激活以及来自F2的反馈激活进行区分。所以,设置一个辅助机构进行区分激活来源的工作。这个辅助机构称为注意增益控制。</P><P>为F2被激活时,注意起动机构会向F1选出学习期望信号,注意增益控制就会给出禁止作用,从而影响Fl对输入响应灵敏度,使得F1可以区分激活信号的来源。</P><P>5.匹配</P><P>采用2/3规则,以确定F1的输出。这实际上是把存储模式和输入模式进行匹配的规则。</P><P>三、ART模型的工作过程</P><P>在图1—21所示的ART结构中,F1可称为比较层,F2可称为识别层。</P><P>比较层F1接收输入模式I,初始时不作任何变动作为输出向量S送去识别层F2;此后,F1同时接受识别层输出的向量v和输人模式I,还有增益控制的输出,并按2/3规则产生输出。在初始时,增益控制的输出为I,而v设置为o,故有S等于输入I。</P><P>识别层F2是用作输入向量分类器的。在识别层中,只有一个神经元和输入的向量s最优匹配,这个神经元就会被激活,而其它神经元则被抑制。根据神经元的结构原理,最优匹配规则如下:</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht32.gif"></P><P>其中: S是输入F2的向量;s=(sl,s2,…,Sn);</P><P>w3是识别层中第j个神经元和比较层中神经元从F1一F2的权系数向量wj=(W1j,W2j......),</P><P>wc是识别层中最优匹配神经元c从FI—F2的权系数向量Wc=(W1c,W2c……)。</P><P>应该注意:最优匹配神经元c到比较层神经元有从F2一FI的权系数向量Wc’,Wr’=(Wc1,Wc2……)很明显,Wc和Wc’就组成了输入向量的类别样本;也即是权系数的形态表示一类模式。</P><P>在识别层中,为了使一个神经元有最大输出值并取得竞争的优胜,并抑制其它神经元。故而识别层有横向连接,每个神经元的输出和正的权系数相乘后作本神经元的一个输入,而其它神经元的输出和负权系数相乘后再作为本神经元的输入。这种作用等于加强自身,抑制其它。从而保证了只有一个神经元被激活。这种情况如图1—25所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht33.gif"></P></TD></TR><TR><TD width="100%" height=7><P align=center>图1-25 F2层的横向连接</P></TD></TR><TR><TD width="100%" height=11><P>增益控制有两部分,它们的作用功能不同。识别层F2的增益控制输出原则为:只要输入向量I有一个元素为1,则输出1。比较层F1的增益控制原则为:只要在I有一个元素为1,同时F2的输出向量U全部元素为0时,才输出1。 <P>重置作用是在输入信号I和F1的输出s之间的匹配存在问题,差别大于某警戒值时.则发清零信号到F2。以便重新进行识别。</P><P>ART网络的学习分类分为三部,即识别,比较和搜索。下面作简要说明。</P><P>1.识别</P><P>初始化时,网络无输人信号,故I全部元素为0;识别层F2增益控制输出为0;识别层F2输出全部为0。在有模式I输入后,I必有元素为1,故F1增益控制、F2增益控制均输出1;比较层F1按2/3规则全部复制I作为输出;S=(s<SUB>1</SUB>,s<SUB>2</SUB>,…,S<SUB>n</SUB>)。接着识别层F2的每个神经元j执行下面操作;从而求出最优匹配神经元C:</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht34.gif"></P><P>则神经元C输出1,其余输出U。这些输出送回比较层F1。F2输出的值为U=(U1,U2……)。找寻最优匹配神经元C的过程就是识别。</P><P>2.比较</P><P>从识别层F2反馈到Fl的向量U不再全部为0,故而,F1增益控制输出0。按2/3规则,只有输人向量I及反馈向量U的元素同时为1所激励的神经元才会被激活。从另一个角度讲.就是来自F2的反馈强迫输入向量I中那些不匹配存储模式u的S元素为0。</P><P>如果I与U不匹配,则产生的S只有少数元素为1,这也说明模式U不是所要寻找的I模式。取向子系统对I和s的相符程度进行判别,如果低于结定的警戒值,则发出重置信号,使识别层F2激活的神经元清零;这也说明该神经元失去竞争的资格。则到此这个阶段分类比较过程结束。如果I与U匹配,则输入模式I所属的类别已找到,分类结束。</P><P>3.搜索</P><P>在I与U不匹配时,为了找到较好的匹配必须对其余的模式进行搜索。重置信号把识别层F<SUB>2</SUB>的神经元全部清0,则F<SUB>1</SUB>增益控制又输出1,网络返回到初始状态。输入模式I再进行输入,识别层的另一个神经元会取得优胜,则反馈一个新的存储模式U送回比较层F<SUB>1</SUB>。接着又进行匹配比较,如不匹配,则又重置识别层……不断执行下去。</P><P>搜索过程直到产生下列情况之一才会停止:</P><P>(1)找到一个存储模式,在警戒值范围内和输入模式I匹配;则ART网络进入学习阶段。修正和匹配神经元C相关的权系数W<SUB>ic</SUB>和W<SUB>ci</SUB>。</P><P>(2)搜索了全部模式后,没有一个模式能够和I相似匹配;则网络也进人学习阶段。把原来来分配模式的神经元j赋于输人模式I,构造相应的权系数W<SUB>ij</SUB>和W<SUB>ji</SUB>,并作为样本模式存储。</P><P>特别应指出的是:搜索过程是包含了识别和比较二个阶段的。搜索不过是识别—比较—识别—比较……的多次重复。</P><P>严格来说,ART应分成搜索和学习这两种最主要的过程和功能。</P><P>1.4.3ART模型的数学描述</P><P>在ART模型中,F<SUB>1</SUB>或F<SUB>2</SUB>中的神经元用N<SUB>k</SUB>表示,神经元被激活后产生的激活值用X<SUB>k</SUB>表示,从神经生理学的研究结果,可以知道神经元的激活值,即神经元未经s函数处理的输出X<SUB>k</SUB>满足下面的微分方程:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="78%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht35.gif"></TD><TD width="22%">(1-60)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=10>其中:e是远小于1的正实数; <P>J<SUB>k</SUB><SUP>+</SUP>是送到神经元Nk的所有激励输入之和</P><P>J<SUB>k</SUB><SUP>-</SUP>是送到神经元Nh的所有抑制输入之和</P><P>A,B,C是非负常数;</P><P>X<SUB>k</SUB>的取值范围为[-BC<SUP>-1</SUP>,A<SUP>-1</SUP>]</P><P>一、F<SUB>1</SUB>层的数学描述</P><P>用N<SUB>i</SUB>表示F<SUB>1</SUB>的神经元,并且i=1,2,…,n,</P><P>则有</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="71%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht36.gif"></TD><TD width="29%">(1-61)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=8><P>很明显,有F<SUB>1</SUB>的激活模式X <P>X={X<SUB>1</SUB>,X<SUB>2</SUB>,...X<SUB>n</SUB>}</P><P>1.J<SUB>i</SUB><SUP>+</SUP>的形式</P><P>由于F<SUB>1</SUB>神经元N<SUB>t</SUB>的激励输入J<SUB>i</SUB><SUP>+</SUP>是自下而上的输入I<SUB>i</SUB>以及自上而下的输入v<SUB>i</SUB>之和,故而有</P><P>J<SUB>i</SUB><SUP>+</SUP>=I<SUB>i</SUB>+V<SUB>i</SUB></P><P>其中Ii是一个n维输入向量;I={I<SUB>1</SUB>,I<SUB>2</SUB>,…I<SUB>n</SUB>};</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht37.gif">;这里,f(X<SUB>j</SUB>)是F<SUB>2</SUB>中神经元N<SUB>i</SUB>的输出,W<SUB>ji</SUB>是N<SUB>j</SUB>到N<SUB>i</SUB>的连接权系数;</P><P>D1是系数。</P><P>v={v<SUB>1</SUB>,v<SUB>2</SUB>,…,v<SUB>n</SUB>},也是n维间量。</P><P>2.J<SUB>i</SUB><SUP>-</SUP>的形式</P><P>对F1层,抑制输入Ji-是由注意子系统增益控制信号来控制,即</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="29%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht38.gif"></TD><TD width="71%">j=n+1,n+2,...,n+m</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=113><P>当且仅当F2的激活值很高时,J<SUB>i</SUB><SUP>-</SUP>=0,否则J<SUB>i</SUB><SUP>-</SUP>&gt;0。 <P>二、F<SUB>2</SUB>层的数学描述</P><P>用N<SUB>j</SUB>表示F<SUB>2</SUB>的神经元.并且j=n+1,n+2,…,n+m,则有:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="71%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht39.gif"></TD><TD width="29%">(1-62)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=362><P>则有F<SUB>2</SUB>的激活模式Y <P>Y={X<SUB>n+1</SUB>,X<SUB>n+2</SUB>,...X<SUB>n+m</SUB>}</P><P>选择F<SUB>2</SUB>中的激活模式的输入和参数,使到F<SUB>2</SUB>中具有来自F<SUB>1</SUB>的最大输入的神经元取得竞争的胜利。故而对J<SUB>j</SUB><SUP>+</SUP>和J<SUB>j</SUB><SUP>-</SUP>考虑应有如下形式:</P><P>1.J<SUB>j</SUB><SUP>+</SUP>的形式</P><P>Jj+=g(Xj)+Tj</P><P>其中:g(x<SUB>j</SUB>)为N<SUB>j</SUB>的自反馈信号;
T<SUB>j</SUB>是从F<SUB>1</SUB>来的到F<SUB>2</SUB>的输入模式;<img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht40.gif">,这里的h(x<SUB>i</SUB>)是F中神经元N<SUB>i</SUB>的输出,D<SUB>2</SUB>是系数;</P><P>W<SUB>ij</SUB>是F<SUB>1</SUB>到F<SUB>2</SUB>的神经元的连接权系数。</P><P>2.J<SUB>j</SUB><SUP>-</SUP>的形式</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.4/4.4.ht41.gif"></P><P>对应于图1—24中的情况,可以看出向量S,T,U,V的关系,并且有</P><P>S={h(X<SUB>1</SUB>),h(X<SUB>2</SUB>),...,h(X<SUB>n</SUB>)}</P><P>T={T<SUB>n+1</SUB>,T<SUB>n+2</SUB>,...,T<SUB>n+m</SUB>}</P><P>U={f(X<SUB>n+1</SUB>),f(X<SUB>n+2</SUB>),...,h(X<SUB>n+m</SUB>)}</P><P>V={V<SUB>1</SUB>,V<SUB>2</SUB>,...,V<SUB>n</SUB>}</P><P>并且有   I={I<SUB>1</SUB>,I<SUB>2</SUB>,...,I<SUB>n</SUB>}</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:29:19 | 显示全部楼层
<TABLE height=197 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=12><>1.4.4 ART模型的学习算法</P></TD></TR><TR><TD width="100%" height=177><>ART模型是一种有自组织能力的神经网络模型,它是通过竞争机制在F2中建立对应于输入模式I的编码的。
在F2中形成对应于输人模式I的编码;在本质上就是对外界输入模式I进行学习,使网络的权系数取得恰当的对应值。这就要按照一定的规则或者学习算法来对权系数进行修改。 <>下面分别就F<SUB>1</SUB>到F<SUB>2</SUB>,F<SUB>2</SUB>到F<SUB>1</SUB>的权系数学习过程进行介绍。</P><P>一、自下而上的权系数学习算法</P><P>所谓自下而上,也即是从F<SUB>1</SUB>到F<SUB>2</SUB>的方向;自下而上的权系数就是从F<SUB>1</SUB>到F<SUB>2</SUB>的权系数。F<SUB>1</SUB>中的神经元用N<SUB>i</SUB>表示,F<SUB>2</SUB>中的神经元用N<SUB>j</SUB>表示;则从F<SUB>1</SUB>的神经元N<SUB>i</SUB>到F<SUB>2</SUB>的神经元N<SUB>j</SUB>的权系数用w<SUB>ij</SUB>表示。</P><P>在学习时,权系数W<SUB>ij</SUB>用下面的方程来修正:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="67%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.42.gif"></TD><TD width="33%">(1-63)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=18><P>其中:f(x<SUB>j</SUB>)是神经元N<SUB>j</SUB>到F<SUB>1</SUB>的输出信号; <P>h(X<SUB>i</SUB>)是神经元N<SUB>i</SUB>到F<SUB>2</SUB>的输出信号;</P><P>E<SUB>ij</SUB>是参数;</P><P>K<SUB>1</SUB>是参数。</P><P>对于参数E<SUB>ij</SUB>,一般按下式选取</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="67%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.43.gif"></TD><TD width="33%">(1-64)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=18><P>其中:L为常数L<SUP>-1</SUP>=1/L。 <P>如果取K1为常数,并且有K<SUB>1</SUB>=KL,则权系数W<SUB>ij</SUB>的微分方程可以写成</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.44.gif"></P><P>这个方程说明:当F<SUB>2</SUB>层中神经元N<SUB>j</SUB>的输出为正时,来自F<SUB>1</SUB>层中神经元N<SUB>i</SUB>正的输出信号以速率(1-W<SUB>ij</SUB>)Lh(X<SUB>i</SUB>)Kf(X<SUB>j</SUB>)来影响权系数Wij的改变。
在上面方程中,<img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.45.gif">所有输入神经元中i≠k的输出信号h(X<SUB>k</SUB>)的总和;这个信号也就是F<SUB>1</SUB>中除N<SUB>i</SUB>以外的其它所有神经元对F<SUB>2</SUB>中神经元N<SUB>j</SUB>的输人信号。ART模型就根据这个信号的大小来增强与Nj相对应的连接权系数。</P><P>二、自上而下的权系数的学习算法</P><P>从F<SUB>2</SUB>到F<SUB>1</SUB>的权系数称为自上而下的权系数,它用W<SUB>ji</SUB>表示。权系数W<SUB>ji</SUB>满足如下方程:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="76%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.46.gif"></TD><TD width="24%">(1-65)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=18><P>其中:f(x<SUB>j</SUB>)是神经元N<SUB>j</SUB>到F<SUB>1</SUB>的输出信号; <P>h(X<SUB>i</SUB>)是神经元N<SUB>i</SUB>到F<SUB>2</SUB>的输出信号;</P><P>K<SUB>2</SUB>,E<SUB>ji</SUB>是参数,一般简单取K<SUB>2</SUB>=E<SUB>ji-1</SUB></P><P>很明显,W<SUB>ji</SUB>的微分方程可以写成下式:</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.47.gif"></P><P>如果从F<SUB>2</SUB>来的学习期望和外部输入在F<SUB>1</SUB>中不能匹配时;调整子系统A就会产生一个重置信导到F<SUB>2</SUB>中去,改变F<SUB>2</SUB>的状态,取消原来的学习期望输出。显然,在这时取向子系统处于工作状态。输入模式为I,它是一个n维向量,故有n个元素。当I输人到ART网络的F<SUB>1</SUB>层时,它就会送m个大小固定为P的信号到A中。这样,从输入端到A的所有激励信号为n’P。同样,F<SUB>1</SUB>中的神经元也同时产生一个大小固定为Q的抑制信号送到A中;F<SUB>1</SUB>中的激活模式为X,而对应于激活模式X从F1到A的激话连接个数为I;那么,从F<SUB>1</SUB>到A的所有的抑制信号为IQ。如存在条件</P><P>n'p&gt;IQ</P><P>则说明激励作用大于抑制作用.则取向子系统A就会收到激励信号,并产生一个重置信号到F<SUB>2</SUB>中,令</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="64%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.48.gif"></TD><TD width="36%">(1-67)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=21><P>并称为取向子系统的警戒线参数。 <P>考虑在n'P&gt;IQ时有</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="83%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.49.gif"></TD><TD width="17%" rowSpan=2>(1-68)</TD></TR><TR><TD width="83%">显然有</TD></TR><TR><TD width="55%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.50.gif"></TD><TD width="45%">(1-69)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=13><P>这时,则A会产生重置信号到F<SUB>2</SUB>。反亦反之。
当A把重置信号送到F<SUB>2</SUB>时,F<SUB>2</SUB>中的神经元的输出按下式进行修正: <DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="66%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.51.gif"></TD><TD width="34%">(1-70)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=12><P>其中:T<SUB>j</SUB>是从F<SUB>1</SUB>来的到F<SUB>2</SUB>的输入模式;<img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.52.gif"> <P>J是F<SUB>2</SUB>中神经元的一些集合;这些神经元在学习过程中末被置以新值。</P><P>在学习的过程中,每个学习周期开始把J置为(n+1,n+2,……m)。随着学习过程的继续,在这个周期内每次递归都应从J中清去一个F<SUB>2</SUB>神经元的下标.直到产生了正确的匹配才停止。</P><P>自适应共振理论模型ART的数学分析以及学习算法有关情况可以用图1—26所示的框图表示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.53.gif"></P></TD></TR><TR><TD width="100%" height=1><P align=center>图1-26  数学分析及算法有关图示</P></TD></TR><TR><TD width="100%" height=9><P>1.4.5 ART模型的Lippman学习算法 <P>ART网络有多种学习算法,在这部分介绍Lippman在1987年提出的算法。这个算法的步骤及执行过程如下</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:29:36 | 显示全部楼层
<TABLE height=197 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=9><>一、初始化</P><>初始化时对从F<SUB>1</SUB>到F<SUB>2</SUB>的权系数W<SUB>ij</SUB>,F<SUB>2</SUB>到F<SUB>1</SUB>的权系数W<SUB>ji</SUB>以及警戒值P进行初设定。</P><>1.F<SUB>1</SUB>到F<SUB>2</SUB>的权系数w<SUB>ij</SUB>初始化</P><P>W<SUB>ij</SUB>的初始值按下式设定:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="73%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.54.gif"></TD><TD width="27%">(1-71)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=7><P>其中:n为输入向量I的元素个数; <P>L为大于1的常数,一般取L=2。</P><P>为了方便,可直接取:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="73%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.55.gif"></TD><TD width="27%">(1-72)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=10><P>W<SUB>ij</SUB>(0)的值不能太大,太大则网络可能把识别层F2的所有神经元都分配给一个输入模式。 <P>2.F<SUB>2</SUB>到F<SUB>1</SUB>的权系数W<SUB>ij</SUB>初始化</P><P>W<SUB>ji</SUB>的初始值取为1,即有</P><P>W<SUB>ji</SUB>(0)=1      (1-73)</P><P>Wji(0)的值不能太小,太小则导致比较层F1不匹配。</P><P>3.警戒值P的初始化</P><P>P的值按下列范围选取:</P><P>0≤P≤1         (1-74)</P><P>P的值的选择要恰当。P的值太大,则网络会过细辩别差异iP的值太小,则容易把稍有某点相似的输入模式都当作同一类。在学习中,一开始取小的P值,进行粗分类;然后,逐渐增大警戒值P,进行逐步细分类。</P><P>二、输入一个新的模式</P><P>三、进行匹配度计算</P><P>由于识别层是输入向量I的分类器,为了考虑输入向量I和识别层中对应的神经元相关的权系数形态是否匹配,故而要求其匹配程度。这时,计算识别层每个神经元j的激活量Y<SUB>j</SUB>。</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="83%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.56.gif"></TD><TD width="17%">(1-75)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=72><P>其中:Yj为识别层神经元j的激活值; <P>Si为比较层神经元i的输出;</P><P>k是学习的次数。</P><P>四、选择最优匹配神经元C</P><P>ART网络在识别层通过横向抑制,从而使到只有激活值最大的神经元c才能输出1,其它神经元则输出0。神经元C的激活值用Yc表示,则:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="83%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.57.gif"></TD><TD width="17%">(1-76)</TD></TR><TR><TD width="83%">考虑识别层的神经元传递函数f为阶跃型函数,即有输出Uj</TD><TD width="17%"></TD></TR><TR><TD width="83%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.58.gif"></TD><TD width="17%">(1-77)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=8><P>其中:Y<SUB>j</SUB>是神经元j的激活值; <P><FONT size=3>θ</FONT><SUB>j</SUB>是神经元j的阀值;</P><P>U<SUB>j</SUB>是神经元j的输出。</P><P>五、比较和试验警戒值</P><P>识别层的神经元在选择出最优匹配的神经元之后,则有1输出,故而比较层增益控制输出0。依据2/3规则,比较层中U和I的元素均为1的神经元被激活。取向子系统A则对比较层输出的向量s和输入向量I进行比较,如果相似率低于警戒值P,则向识别层发出重置信号,对识别层进行清零。向量S和向量I的相似率用R表示,则有</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="83%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.59.gif"></TD><TD width="17%">(1-78)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=10><P>其中:‖S‖是s向量的元素值之和,‖s‖=ΣS<SUB>i</SUB>; <P>‖I‖是I向量的元素值之和,‖I‖=ΣI<SUB>i</SUB></P><P>在上面‖S‖和‖I‖的实际计算方法如下:</P><P>S=101O1011 ‖S‖=5</P><P>I=11111001 ‖II‖=6</P><P>由于比较层输出s是由输入向量I和识别层输出向量U共同作用产生的;同时,因神经元c的输出为1,向量U在本质上是等于取得最优匹配的神经元c从F<SUB>2</SUB>到F<SUB>1</SUB>的权系数向量W<SUB>ci</SUB>。</P><P>按2/3规则,两个输入同时为1时输出才能为1。则向量s的元素s<SUB>i</SUB>;可表示为:</P><P>S<SUB>i</SUB>=W<SUB>ci</SUB><SUP>.</SUP>I<SUB>i   </SUB>(1-79)</P><P>故而</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="83%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.1.gif"></TD><TD width="17%">(1-80)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=5><P>如果相似率R大于警值P,即有 <P>R&gt;P</P><P>则转向第七点执行,否则继续向下执行第六点。</P><P>六、最优匹配无效及其处理</P><P>如果相似率R小于警戒值p,即R&lt;P,所以,应对其余存储的模式进行搜索,以便找到一个和输入模式更加接近的存储模式。</P><P>这时,重置信号到识别层去对神经元清0,则原来选中的最优匹配神经元为0,也说明取消了该神经元的优胜性;把比较层增益控制设置为输出1,转到第三点,重复上面过程。</P><P>在识别层一个神经元所取得的相似率大于警似值,则转向策七点,结束分类过程。</P><P>在识别层的全部神经元都被搜索过,但没有一个神经元能匹配,则经学习后确定识别层—个神经元作为输入模式的最优匹配单元;然后停止分类学习过程;则输入模式被存储。分类过程结束时,则从F<SUB>2</SUB>到F<SUB>1</SUB>的权系数全部为1;比较层输出S等于I,相似率等于1。</P><P>七、自学习过程</P><P>自学习时,给出一组模式样本向量,按一定顺序作为网络的输入向量,对ART网络的权系数进行调整.使相似类向量都激活识别层同一神经元。</P><P>自学习算法如下:</P><P>1.计算F<SUB>1</SUB>到F<SUB>2</SUB>的权系数W<SUB>ij</SUB></P><P>计算公式如下:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="70%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.2.gif"></TD><TD width="30%">(1-81)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=10><P>其中:S<SUB>i</SUB>是比较层输出向量S的第i个元素; <P>j是识别和最优匹配神经元序号;</P><P>W<SUB>ij</SUB>是比较层神经元i与识别层神经元j之间的权系数</P><P>L是大于1的常数。</P><P>2.计算F<SUB>2</SUB>到F<SUB>1</SUB>的权系数W<SUB>ji</SUB></P><P>把W<SUB>ji</SUB>调整为等于向量S中相应元素的二进制值:</P><P>W<SUB>ji</SUB>=S<SUB>i        </SUB>(1-82)</P><P>在实际求W<SUB>ij</SUB>和W<SUB>ji</SUB>时,可以采用下面的有效式子。</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="74%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.3.gif"></TD><TD width="26%">(1-83)</TD></TR><TR><TD width="74%">考虑到学习次数k,则上面式子写成</TD><TD width="26%"></TD></TR><TR><TD width="74%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.4.gif"></TD><TD width="26%">(1-84)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=8><P>用其它向量对网络继续进行学习时,则会把这些向量中元素值为0的对应权系数置0。这样.一组向量全部学习完毕时,则这组向量的元素中有多少个0,则相应位置中的权系数都被置0。学习之后所存储的权系数形态,是全组向量的“交”形式。这时的权系数形态也是全组向量基本特征。显然,这等于抽取插入模式的特征。 <P>3.比较层输出S中1的个数越多,则从F<SUB>1</SUB>到F<SUB>2</SUB>的权系数W<SUB>ij</SUB>越小。</P><P>从F1到F2的权系数调整公式为:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="74%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.4.4/4.4.4.5.gif"></TD><TD width="26%">(1-85)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=230><P>在分母中,ΣS<SUB>k</SUB>是比较层输出S中1的个数,它表示了向量S的“大小”。显然,ΣS<SUB>k</SUB>越大则W<SUB>ij</SUB>越小。也就是比较层输出S的“大小”对权系数W<SUB>ij</SUB>有自动调节作用。 <P>这是一个重要特点,它可以判别两个输入向量中,其中一个是否是另一个的子集。ART网络在自学习过程结束之后,则自动返回第二点;从而准备开始对输入的新模式进行分类。 <P>在上面Lippman学习算法中可以看出有如下一些特点: <P>1.F2到F1t的权系数Wij(0)必须初始值取1。 <P>因为.比较层的输出s是由输入向量I和最优匹配神经元的权系数Wji;按2/3规则产生。只有I和Wji都为1,s的元素才会为1。 <P>如果W<SUB>ji</SUB>(0)=0,则S的元素会全部为0。则无法进行模式识别。 <P>实际上,搜索过程是一个“剪裁”与输入向量不匹配的存储模式元素的过程,这是一个不可逆的过程;一旦权系数取值为0,那么,学习算法是无法使其再取非零的值的。 <P>2.抽取输入模式的特征 <P>对于一组相似的向量,会被ART网络中识别层F<SUB>2</SUB>中的一个神经元识别为同一类。 <P>在用这组相似的向量对网络执行学习时,第一个向量学习的结果选中F<SUB>2</SUB>中的一个神经元。</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:29:57 | 显示全部楼层
<TABLE height=71 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=16>< align=center>1.5 Kohonen模型</P></TD></TR><TR><TD width="100%" height=194><>在对人类的神经系统及脑的研究中,人们发现:人脑的某些区域对某种信息或感觉敏感,如人脑的某一部分进行机械记忆特别有效;而某一部分进行抽象思维特别有效。这种情况使人们对大脑的作用的整体性与局部性特征有所认识。 </P><>对大脑的研究说明,大脑是由大量协同作用的神经元群体组成的。大脑的神经网络是一个十分复杂的反馈系统;在这个系统含有各种反馈作用,有整体反馈,局部反馈;另外,还有化学交互作用。在大脑处理信息的过程中,聚类是其极其重要的功能。大脑通过聚类过程从而识别外界信号,并产生自组织过程。</P><P>依据大脑对信号处理的特点,在1981年,T.Kohonen提出了一种神经网络模型,也就是自组织特征映射模型SOM(Seh—Organizing fenture Map)。</P><P>Kohonen认为人的大脑有如下特点:</P><P>1.大脑的神经元虽然在结构上相同,但是它们的排序不同。排序不是指神经元位置的移动,而是指神经元的有关参数在神经网络受外部输入刺激而识别事物的过程中产生变动。</P><P>2.大脑中神经元参数在变动之后形成特定的参数组织;具有这种特定参数组织的神经网络对外界的特定事物特别敏感。</P><P>3.根据生物学和神经生理学,大脑皮层分成多种不同的局部区域,各个区域分别管理某种专门的功能,比如听觉、视觉、思维等。</P><P>4.大脑中神经元的排序受遗传决定,但会在外界信息的刺激下,不断接受传感信号,不断执行聚类过程,形成经验信息,对大脑皮层的功能产生自组织作用,形成新功能。</P><P>Kohonen的思想在本质上是希望解决有关外界信息在人脑中自组织地形成概念的问题。对于一个系统来说,就是要解决一个系统在受外界信息作用时在内部自组织地形成对应表示形式。这包括神经网络的权系数调整。</P><P>神经网络的自调整过程和大脑的自组织过程是相仿的。由于神经网络是由可以自调整的神经元组成;所以,可以自组织成对外界信息中某一种特征敏感的形式。</P><P>1.5.1 神经元的侧向交互原理</P><P>目前对人脑的研究说明:大脑皮层中,神经元是呈2维空间排列的;它的输人信号很明显来自两个部分。这种输人情况如图1—27所示。在图中可以看出:有外部区域的输入和同一区域的反馈输入。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht6.gif"></P><P align=center>图1—27 大脑神经网络2维结构示图</P></TD></TR><TR><TD width="100%" height=18><P>神经元之间的信息交互方式有很多种,不过研究表明:相邻近的神经元之间的局部交互的方式是侧向交互。这种侧向交互方式遵从下列有关规则: </P><P>1.以发出信号的神经元为圆心,对近邻的神经元的交互作用表现为兴奋性侧反馈;</P><P>2.以发出信号的神经元为圆心,对远邻的神经元的交互作用表现为抑制性侧反馈。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht7.gif"></P><P align=center>图1-28  侧交互模式</P></TD></TR><TR><TD width="100%" height=18><P>这种规则说明近邻者相互激励,远邻者相互抑制。一般而言,近邻是指从发出信号的神经元为圆心.半径约为50—500&micro;m左右的神经元;远邻是指半径为200&micro;m—2mm左右的神经元。比远邻更远的神经元则表现的是弱激励作用。这样,这种局部交互方式如图1—28所示。由于这种交互作用的曲线类似于墨西哥人带的帽子,所以也称这种交互方式为“墨西哥帽”。 </P><P>神经网络中,邻近的各个神经元之间通过相互的侧向交互作用,从而产生相竞争的过程,自适应地形成了针对特殊信息的组织结构。很明显,这种结构可以成为检测特殊信息的特殊检测器。这样,神经网格的自组织过程和行为,可以成为一种检测各种不同信息模式的检测相识别器。这也是自组织持征映射的意义所在。</P><P>1.5.2二维阵列SOM模型</P><P>自组织特征映射SOM模型可以用二维阵列表示。这种结构如图1-29所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht8.gif"></P><P align=center>图1-29 二维阵列SOM模型</P></TD></TR><TR><TD width="100%" height=18><P>二维阵列神经网络由输入层和竞争层组成。输入层是一维的神经元。竞争层是二维的神经元。输入层的神经元和二维阵列竞争层的神经元每个都相互连接。二维阵列竞争层也称输出层。 </P><P>在二维阵列竞争层中,可以清楚看出:每一个输出神经元都和最近相邻的8个神经元相连;当然,最边沿的神经元和3—5个神经元相连,但这只是最边沿的神经元才会这样。而从二维阵列内部一般有:每个输出神经元和8个最相邻的神经元相连。在SOM模型中,对于神经元j,它的外部输入信号可以用I<SUB>j</SUB>表示:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="73%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht9.gif"></TD><TD width="27%">(1-86)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=40><P>其中:x<SUB>i</SUB>是外部输入信号; </P><P>W<SUB>ij</SUB>是输入神经元i到输出神经元j之间的权系数。</P><P>对神经元j来说,它的输出Y<SUB>j</SUB>的活动可以用如下微分方程表示:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="73%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht10.gif"></TD><TD width="27%">(1-87)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=5><P>其中:S<SUB>j</SUB>是和神经元j相联系的神经元子集; </P><P>r<SUB>k</SUB>是系数,它和权系数和横向连接结构有关;</P><P>g(Y<SUB>j</SUB>)是非线性损失,如神经元饱和,分流和泄漏效应等。</P><P>神经元的输入情况可以用因1—30来表示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht11.gif"></P><P align=center>图1-30 神经元的输入情况</P></TD></TR><TR><TD width="100%" height=13><P>神经元的输出Y<SUB>j</SUB>的初始分布可能是随机的;但随着时间的变化,由于输出层神经元有侧向交互的作用,Y<SUB>i</SUB>的分布就会因对环境的组织而形成“气泡”状,这种状态如图1—28所示。 </P><P>在神经网络中,随外部环境的输入,神经元的权系数是自适应变化的;这一过程就是神经网络自学习的过程。神经元自适应过程是和其输出值,外部输入,权系数都有关系,一般用如下方程表示:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="73%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht12.gif"></TD><TD width="27%">(1-88)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=438><P>其中:w<SUB>j</SUB>是权系数向量,W<SUB>j</SUB>=(W<SUB>1j</SUB>,W<SUB>2j</SUB>,…W<SUB>nj</SUB>)<SUP>T</SUP>; </P><P>X是输入向量,X=(X<SUB>1</SUB>,X<SUB>2</SUB>,…,X<SUB>n</SUB>)<SUP>T</SUP>;</P><P>α,β是正的标量常数。</P><P>神经元在自适应过程中所形成的“气泡”,在本质上是产生和输入模式对于表示形态。</P><P>而这种“气泡”是以特定的神经元c为中心的,并且是以一定半径所包围的神经元子集Nc,如果令</P><P>Y<SUB>j</SUB>∈(0,1)</P><P>β∈(0,α)</P><P>并且有</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht13.gif"></P><P>这在实质上要求神经元在所给定的半径范围之内的Nc子集中时,则其输出为1;而在子集N<SUB>c</SUB>之外时,则其输出为0。同时,系数β在神经元处于N<SUB>c</SUB>之内时,取值为α;否则取值为0。</P><P>很明显,这时的神经元自适应过程表示如下:</P><DIV align=center><CENTER><TABLE height=184 cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="84%" height=145><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht14.gif"></TD><TD width="16%" height=145>(1-89)</TD></TR><TR><TD width="84%" height=2><P>考虑j∈N<SUB>c</SUB>和j/∈N<SUB>c</SUB>两种情况,则自组织过程可用两个不同条件的式子表示,并且有</P></TD><TD width="16%" height=2></TD></TR><TR><TD width="84%" height=18><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht15.gif"></TD><TD width="16%" height=18>(1-90)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=22><P>上式说明:在自组织过程中,SOM模型神经元所处的位置对学习结果有影响。当和中心神经元C的距离较近,在给定半径之内时,权系数以输入模式和现行权系数Wj之差的一定水平进行修改;和神经元C的距离较远,则权系数不变。 </P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:30:15 | 显示全部楼层
<TABLE height=71 cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%" height=22><>1.5.3 SOM模型的学习算法</P><>在神经网络的SOM模型中,每一个权系数的有序序列 Wj=(W1j,W2j,...Wnj)都可以看作是神经网络的一种内部表示,它是有序的输入序列X=(X1,X2,...,Xn)的相对应映象。</P><>SOM模型可以实现自组织功能。自组织的目的就是通过调整权系数Wij,使神经网络收敛于一种表示形态,在这一表示形态中的一个神经元只对某种输入模式特别匹配或特别</P><P>敏感。换而言之.自组织映射的目的就是使神经元的权系数的形态表示可以间接模仿输入的信号模式。
自组织特征映射SOM的学习算法是由两部分组成的,这两部分如下</P><P>1.最优匹配神经元的选择;</P><P>2.网络中权系数的自组织过程。</P><P>这两部分是相互相成的,它们共同作用才能完成自组织特征映射的学习过程。选择最优匹配神经元实质是选择输入模式对应的中心神经元C。权系数的自组织过程则是以“墨西哥帽”的形态来使输入模式得以存放。</P><P>每执行一次学习,则SOM网络中就会对外部输入模式执行一次自组织适应过程;其结果是强化现行模式的映射形态,弱化以往模式的映射形态。下面分别对自组织特征映射SOM的学习算法两个部分进行介绍。</P><P>一、最优匹配神经元的选择</P><P>设有输入模式x</P><P>x=(x<SUB>1</SUB>,x<SUB>2</SUB>,…,x<SUB>n</SUB>)<SUP>T</SUP></P><P>对于自组织特征映射SOM网络的输出层神经元j,则有权系数向量W<SUB>j</SUB></P><P>W<SUB>j</SUB>=(W<SUB>1j</SUB>,W<SUB>2j</SUB>,...W<SUB>nj</SUB>)<SUP>T</SUP><SUB>  </SUB>j=1,2,...,n</P><P>权系数向量是对输入模式的映射,也即是说,权系数向量某一形态对应于某一输入模式。输入模式x和权系数W<SUB>j</SUB>的匹配程度是用两者的内积表示的,即用X<SUP>T</SUP>W<SUB>j</SUB>表示。内积最大处正是“气泡”中心。内积x<SUP>T</SUP>w<SUB>j</SUB>最大时,则必定有x和W<SUB>j</SUB>之间的向量差的范数‖x—W<SUB>j</SUB>‖最小,这个最小矩离就确定了最优匹配的神经元C;从而有“气泡”中心C,满足:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="73%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht16.gif"></TD><TD width="27%">(1-91)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=26><P>其中:Wc是神经元c的权系数向量。 </P><P>这个式子也就是匹配规则。</P><P>上面式子说明:气泡中心就是神经元C,它的权系数向量Wc同输入模式x有最优匹配。</P><P>注意‖x—W<SUB>j</SUB>‖是欧几里德距离。它由下面式子求出:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="73%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht17.gif"></TD><TD width="27%">(1-92)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=81><P>根据匹配规则求出的Wc是神经元C的权系数向量,它是以C为中心的气泡的一种表示形态;Wc的表示形态就是和输人模式x的最优匹配。一般称wc是x的最优匹配。在求出Wc之后,也即是求出了气泡中心C。接着,就可以考虑对神经元C为中心的邻域Nc有关神经元的权系数的自组织过程。因为,Wc虽然是求出的对输入模式x的最优匹配;但wc仍然不是充分表示X;为了使见能够在改进之后,其形态能充分表示x;故还应对权系数向量Wc进行自组织学习,才能真正形成对应x的气泡。 </P><P>二、网络权系数的自组织</P><P>在SOM网络中,每一个输出神经元都接收相同的输入模式X。对于输出神经元j来说,其最简单的输出是线性的;并且,可以用下式表示:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="73%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht18.gif"></TD><TD width="27%">(1-93)</TD></TR><TR><TD width="73%" height=2><P>在权系数进行自组织学习时,权系数的调整方程如下:</P></TD><TD width="27%" height=2></TD></TR><TR><TD width="73%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht19.gif"></TD><TD width="27%">(1-94)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=19><P>其中:Y(t)是随时间t变化的递减增益函数; <P>Yj(t)是输出神经元i的输出;</P><P>Xi(t)是输入神经元i的输人;</P><P>Wij(t)是输入神经元i和输出神经元j在时间t时的权系数;</P><P>r是常系数。</P><P>对于气泡中心神经元c,以其为中心考虑一个邻近的区域Nc。Nc是以神经元C为中心的某一半径范围内全部神经元的集合。</P><P>在Nc区域之内,所有神经元的输出为1;在Nc区域之外,所有神经元的输出为0。即有</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht20.gif"></P><P>如果令常系数r为1,即</P><P>r=1</P><P>则权系数的调整方程成为</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="64%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht21.gif"></TD><TD width="36%">(1-95)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=19><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht22.gif"></P><P align=center>图1-31 邻近区域Nc随时向的变化</P></TD></TR><TR><TD width="100%" height=92><P>区域Nc的范围宽度是时变的,在开始时可以选择范围宽一些,通常不妨为网络宽度的一半以上;随着时间的推移,Nc向以C为中心的小范围单调变小,最后甚至可以终结在神经元C处,即Nc={C}。 </P><P>邻近区域Nc随时间而变化的示意图如图1—31中所示。从图中可以看出Nc(tk-1)时的范围比Nc(tk-2)时要小;也就是说,随时间的推移所考虑的邻近区域变小。当到达时间tk时,邻近区域Nk则处在神经元c处,也即处于气泡中心位置。</P><P>上面式(1—95)的权系数调整方程可以写为下面形式</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht23.gif"></P><P>在离散系统中,如果以△t为采样周期T,则有△t=1T。所以,权系灵敏调整方程写成</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht24.gif"></P><P>考虑离散系统中的权系数调整为差分方程:</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht25.gif"></P><P>即是:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="77%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht26.gif"></TD><TD width="23%">(1-96)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=22><P>这就是权系数自组织的离散数字表达式。 </P><P>对于增益函数η(t)而言,它是一个随时间变化的递减函数。一般要求</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht27.gif"></P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht28.gif"></P><P>实际上有</P><P>0&lt;η(t+k)&lt;1  k=1,2,...,∞</P><P>在实际的权系数自组织过程中,对于连续系统,取:</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht29.gif"></P><P>或者</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht30.gif"></P><P>对于离散系统,则取</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht31.gif"></P><P>或者</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht32.gif"></P><P>从上面可以看出:无论是连续系统还是离散系统,随时间的增加或采样周期的推移,增益函数7的值会越来越小。通常取500≤t≤10000或500≤t+k≤10000时,结束自组织过程。</P><P>1.5.4 SOM模型学习的具体步骤</P><P>在计算机中可以采取一定的恰当步骤对自组织特征映射模型SOM进行学习。这些步骤介绍如下:</P><P>一、权系数初始化</P><P>对于有n个输入神经元,P个输出神经元的SOM网络,对连接输入神经元和输出神经元之间的权系数设定为小的随机数a,一般有:</P><P>0&lt;a&lt;1</P><P>同时,设定邻近区域的初始半径。</P><P>二、给出一个新的输入模式X<SUB>k</SUB></P><P>Xk={X<SUB>1k</SUB>,X<SUB>2k</SUB>,...X<SUB>nk</SUB>}</P><P>k=1,2,...</P><P>三、求模式X<SUB>k</SUB>和所有的出神经元的距离</P><P>对于输出神经元j,它和特定的输入模式X<SUB>k</SUB>之间的距离用d<SUB>jk</SUB>表示,并且有</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="80%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht33.gif"></TD><TD width="20%">(1-97)</TD></TR><TR><TD width="80%">j=1,2,...,p</TD><TD width="20%"></TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=23><P>四、选择最优匹配的输出神经元C </P><P>和输入模式X<SUB>k</SUB>的距离最小的神经元就是最优匹配的输出神经元c。</P><P>用W<SUB>c</SUB>表示神经元C对输入神经元的权系数向量,则应有</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="80%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht34.gif"></TD><TD width="20%">(1-98)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=31><P>五、修正权系数 </P><P>根据设定的邻近区域,或递减变小后的区域,对区域Nc中的神经元进行权系数修正。</P><P>修正按下式执行</P><P>W<SUB>ij</SUB>(t+1)=W<SUB>ij</SUB>(t)+η(t)[X<SUB>i</SUB>(t)-W<SUB>ij</SUB>(t)]     (1-99)</P><P>对于区域Nc外的神经元,其权系数不变,即有</P><P>W<SUB>ij</SUB>(t+1)=W<SUB>ij</SUB>(t)    (1-100)</P><P>其中,η(t)是递减的增益函数,并且有0&lt;η(t)&lt;1。
通常取:</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="80%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht35.gif"></TD><TD width="20%">(1-101)</TD></TR><TR><TD width="80%">或</TD><TD width="20%"></TD></TR><TR><TD width="80%"><img src="http://www.jgchina.com/ednns/ednnsbk/4.5/4.5.ht36.gif"></TD><TD width="20%">(1-102)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%" height=196><P>六、对于不同的t=1,2,…,z(500≤z≤10000),雷新返回第2步去执行。 </P><P>在自组织特征映射模型的学习中,当N<SUB>c</SUB>不止包含一个神经元时,这种竞争学习实际上是泄漏竞争学习。
在学习中,增益函数η(t)也即是学习率。由于学习率η(t)随时间的增加而渐渐趋向零.因此,保证了学习过程必然是收敛的。</P><P>自组织特征映射网络的学习是一种无教师的学习,输人信号模式是环境自行给出的,而不是人为给出的。当然,这种学习也可以是有教师的,这时则是人为给出教师信号作为输入肋M模型在检索时是按下面方式对输入模式进行分类的:</P><P>首先对输入层输入模式x,再找出在输出层中和它有员优匹配的神经元C。则表示输入模式x属于神经元c所对应的类别。</P><P>SOM网络学习的不足有如下二点:</P><P>第一,当输入模式较少时,分类结果依赖于模式输入的先后次序。</P><P>第二,和ART网络不一样,SOM网络在没有经过完整的重新学习之前,不能加入新的类别。</P><P>Kohonen已经证明:在学习结束时.每个权系数向量w<SUB>j</SUB>都近似落入到由神经元j所对应的类别的输入模式空间的中心,可以认为权系数向量w<SUB>j</SUB>形成了这个输入模式空间的概率结构。所以,权系数向量W<SUB>j</SUB>可作为这个输入模式的最优参考向量。 <P>自组织特征映射网络由于有上述作用,所以很适宜用于数据的量化;故也称作学习向量量化器。</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:30:34 | 显示全部楼层
<TABLE cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%">< align=center>第二章 神经网络控制</P></TD></TR><TR><TD width="100%"><>神经网络控制的研究始于20世纪60年代,1960年,widrow和Hoff首先把神经网络用于控制系统。 Kilmer和McCulloch提出了KMB神经网络模型,并在“阿波罗”登月计划中应用取得良好的效果。1964年,widrow等用神经网络对小车倒立摆系统控制取得了成功。70年代神经网络研究处于低谷,所以神经网络控制没有再发展。在80年代后期开始,神经网络控制随着形势发展至重受到重视.但大多数集中在自适应控制方法上。目前,正朝智能控制深度的方向发展。 </P><>神经网络控制可以分为监视控制,逆控制,神经适应控制,实用反向传播控制和适应评价控制等。</P><P>在智能控制系统中,最重要的有两点。一点是和知识基有关的推理机型,另—点是随环境变化的适应能力。一般而言.推理是以符号为元素执行的.而客观世界中的信号是数值,为了理解过程的状态.需要实施数值数据到符号数据的映射,这就要把数值数据进行分类。</P><P>另外,对过程的控制需要自适应控制器。神经网络的分类功能和学习能力使到它可以有效地用于智能控制系统。
神经网络用于控制系统是“物尽其用”的必然结果。目前,神经网络在各种控制系统的应用及典型例子如表2—1所示。</P><P align=center>表2-1 神经网络控制概况</P></TD></TR><TR><TD width="100%"><DIV align=center><CENTER><TABLE height=171 cellSpacing=1 cellPadding=0 width=500 bgColor=#999999 border=0><TR bgColor=#ffffff><TD width="33%" height=16>控制方法</TD><TD width="33%" height=16>神经网络</TD><TD width="34%" height=16>典型例子</TD></TR><TR bgColor=#ffffff><TD width="33%" height=68>自适应线性控制</TD><TD width="33%" height=68>Hopfield <P> </P><P>ARTⅡ</P></TD><TD width="34%" height=68>Chi等(1990) <P>Zak(1990)</P><P>Kumar,Gucz(1990)</P></TD></TR><TR bgColor=#ffffff><TD width="33%" height=81>自适应非线性控制</TD><TD width="33%" height=81>BP <P> </P><P> </P><P> </P><P>Kohonen</P><P> </P><P>CMAC</P></TD><TD width="34%" height=81>Goldberg等(1998) <P>Bassi,Beckey(1989)</P><P>Sanner,Akin(1990)</P><P>Ungar等(1990)</P><P>Graf等(1988)</P><P>Martinez等(1988)</P><P>Atkenson等(1989)</P></TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%"><P align=center><A>2.1 神经网络控制系统的结构</A></P><P>神经网络的非线性,学习功能,并行处理和综合能力,使到它十分适用于智能控制:神经网络控制系统的形式很多。英国Glasgow大学K.J.Hunt等神经网络控制系统分为监视控制、直接逆控制、模型参考控制、内部模型控制、预测控制、适应控制等。IEEE神经网络协会出版刊物主席Toshio Fukuda教授和“神经计算应用手册”作者P.J.Werbos则把神经网络控制系统主要分成如下五大类: <P>1.监视控制(Supervised Control) <P>2.逆控制(Inverse Control) <P>3.神经适应控制(Neural Adaptive Control) <P>4.实用反问传播控制(Back—propagation of Utility) <P>5.适应评价控制(Adaptive Critics) <P>根据这五大类的划分情况,神经网络控制系统有五类不同的结构;而且,神经网络在控制系统中的位置和功能有所不向.学习方法也相异。</P></TD></TR><TR><TD width="100%"><P>2.1.1监视控制系统 </P><P>用神经网络模拟人的作用而组成的控制器去对被控对象执行控制称为监视控制。在很多情况中,人们可以根据对象的输出状态而提供恰当的控制信号,从而实现良好的控制;也即是说人们在系统中能执行反馈控制作用。往往在这种情况中,无法取得对象的分析模型;也即是说,用标准的控制技术无法设计出合适的控制器。
由子交替逼近的专家系统可以用于提供知识表达和控制形式;所以.神经网络可以用于模拟人的作用的控制器中。监视控制系统的结构如图2—1中所示。从图中可知:神经网络的功能在于取代人的控制作用。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5/5.htm37.gif"></P><P align=center>图2-1 监视控制系统的结构</P></TD></TR><TR><TD width="100%"><P>在监视控制系统中,神经网络需要脱机进行训练。训练时是采用一系列示教数据的,这些数据是人们执行人工控制时的输入输出数据。输入数据一般是传感器所检测出的数据,输出数据则是人所确定的数据。也就是说,神经网络的学习是执行传感输入到人工控制作用的影射。这种控制在机器人控制等领域中有相当大的作用。 </P><P>2.1.2 逆控制系统</P><P>逆控制系统有时也称直接逆控制系统。在逆控制系统中,如果被控对象的模型用F表示,那么,神经网络所构成的控制器的模型则是F<SUP>-1</SUP>,也即是说是一个逆模型。逆控制系统的结构如图2—2所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5/5.htm38.gif"></P><P align=center>图2-2 逆控制系统的结构</P></TD></TR><TR><TD width="100%"><P>如果被控对象的模型可以表示为F </P><P>y=F(u)   (2.1)</P><P>那么,逆控制系统中神经网络控制器的模型则为F<SUP>-1</SUP>:</P><P>u=F<SUP>-1</SUP>(y)   (2.2)</P><P>在实际上,被控对象可以是一个未知的系统;在被控对象输入端加入u*,则其输出就会产生y*。用y*作为输人,u*作为输出去对神经网络进行训练.则得到的神经网络就是被控对象的逆模型。在训练时,神经网络的实际输出用u’表示。则用(u'-u*)这个偏差可以控制网络的训练过程。</P><P>一般来说,为了获取良好的逆动力学性能.通常在训练神经网络时所取值的范围比实际对象的输入输出数据的取值范围要大一些。</P><P>在逆控制系统,神经网络直接连在控制回路作为控制器用。则控制效果严重地依赖于控制器对对象逆向模型的真实程度。由于这种系统缺少反馈环节;所以,其鲁棒性严迈不足。对于要求有—定鲁棒性的应用目的,这种控制系统则存在问题。</P><P>一般而言.通过在线学习可以在一定程度克服其鲁棒性不好的问题。在允许在线学习的情况中.在线学习可以调整神经网络的参数.使神经网络对逆模型的真实度提高。直接逆控制在机器人中应用较为广泛。</P><P>2.1.3 神经适应控制系统</P><P>神经适应控制是把神经网络用于传统适应控制方法而产生的新的控制方法。</P><P>神经适应控制有两种基本形式。一种是模型参考适应控制,一种自校正调节器。</P><P>神经网络模型参考适应控制系统的结构如图2—3所示。它由参考模型M,非线性对象P,神经网络N<SUB>c</SUB>,神经网络N<SUB>i</SUB>等四个主要环节组成。</P><P>神经网络模型参考适应控制简称NMRAC(Neural Model Reference Adaptive Control).在系统结构中,参考模型M是期望模型,其输出y<SUB>m</SUB>是期望输出。参考模型M由下式描述:</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:30:48 | 显示全部楼层
<TABLE cellSpacing=0 cellPadding=0 width=778 border=0><TR><TD width="100%"><>M={r(t),y<SUB>m</SUB>(t)}   (2.3)</P>< align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5/5.htm39.gif"></P>< align=center>图2-3 神经网络模型参考适应控制系统的结构</P></TD></TR><TR><TD width="100%" height=20><P>神经网络Ni是非线性对象P的辩识器。它主要是利用对象P当前和以前时刻的输入输出数据来预报下一时刻对象的输出。预报输出Y<SUB>p</SUB>和对象输出y<SUB>p</SUB>的伯差e<SUB>i</SUB>反映了预报的准确度: </P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="86%"><img src="http://www.jgchina.com/ednns/ednnsbk/5/5.htm40.gif"></TD><TD width="14%">(2.4)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%"><P>神经网络N<SUB>c</SUB>是控制器。它根据自身输出,对象输出和给定信号r而产生下时刻的控制信号u。N<SUB>c</SUB>通常是N<SUB>i</SUB>对对象辨识之后所得到的对象逆模型。 </P><P>NMRAC控制的目的在于产生一个恰当的控制信号u(k),使对象输出y<SUB>p</SUB>和参考模型的输出y<SUB>m</SUB>的偏差小于给定误差值c,即</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="80%" border=0><TR><TD width="86%"><img src="http://www.jgchina.com/ednns/ednnsbk/5/5.htm41.gif"></TD><TD width="14%">(2.5)</TD></TR><TR><TD width="86%" height=2><P>y<SUB>p</SUB>和y<SUB>m</SUB>的偏差用e<SUB>c</SUB>来表示,可以写下式:</P></TD><TD width="14%" height=2></TD></TR><TR><TD width="86%">e<SUB>c</SUB>(k)=y<SUB>p</SUB>(k)-y<SUB>m</SUB>(k)</TD><TD width="14%">(2.6)</TD></TR></TABLE></CENTER></DIV></TD></TR><TR><TD width="100%"><P>如果e<SUB>c</SUB>=0.则说控制结果和期望值一样。在NMRAC控制系统中,首先对辨识器Ni进行训练,预报偏差e<SUB>i</SUB>用于训练N<SUB>i</SUB>。如果学习之后,N<SUB>i</SUB>能精确地描述对象P,并P的逆模型存在;那么,则有Ni输出y<SUB>p</SUB>(k+1): </P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="75%" border=0><TR><TD><img src="http://www.jgchina.com/ednns/ednnsbk/5/5.htm42.gif"></TD></TR></TABLE></CENTER></DIV><P align=right>(2.7)</P><P>设参考模型为</P><P>y<SUB>m</SUB>(k+1)=h[y<SUB>m</SUB>(k),y<SUB>m</SUB>(k-1),......y<SUB>m</SUB>(k-s)]+r(k)   (2.8)</P><P>则有逆模型</P><DIV align=center><CENTER><TABLE cellSpacing=0 cellPadding=0 width="75%" border=0><TR><TD><img src="http://www.jgchina.com/ednns/ednnsbk/5/5.htm43.gif"></TD></TR></TABLE></CENTER></DIV><P>以ym(k+1)取代yp(k+1),代入式(2.9)有</P><P>u(k)=g<SUP>-1</SUP>{h[y<SUB>m</SUB>(k),y<SUB>m</SUB>(k-1),......,y<SUB>m</SUB>(k-s)]+r(k)-f[y<SUB>p</SUB>(k),y<SUB>p</SUB>(k-1),......,y<SUB>p</SUB>(k-n)]}-g'[u(k-1),......,u(k-m)]               (2.10)</P><P>为了构成控制器,用对象输出y<SUB>p</SUB>取代式(2.10)中的参考模型输出y<SUB>m</SUB>,有</P><P>u(k)=g<SUP>-1</SUP>{h[y<SUB>p</SUB>(k),y<SUB>p</SUB>(k-1),......,y<SUB>p</SUB>(k-s)]+r(k)-f[y<SUB>p</SUB>(k),y<SUB>p</SUB>(k-1),......,y<SUB>p</SUB>(k-n)]}-g'[u(k-1),......,u(k-m)]                (2.11)</P><P>用式(2.11)就可以组成神经网络控制器Ne。显然,控制器Nc的输入由三部分组成,即是给定r(t),对象输出yp(t)和控制器的输出u(t)。</P><P>如果对象P的逆模型难以用式(2.9)表示,那么.可以用辨识器Ni的输出和参考模型M输出的偏差;或者对象输出和参考模型的偏差ec=yp(k)—ym(k)对神经网络Nc进行训练.从而最终确定Nc。</P><P>神经网络自校正控制简称NSTC(Neural Self-Tuning Control)。在这种控制方式中,神经网络是一个自校正调节器。</P><P>设对象模型和式(2.7)式同,则有</P><P>y<SUB>p</SUB>(k+1)=f[y<SUB>p</SUB>(k),y<SUB>p</SUB>(k-1),......,y<SUB>p</SUB>(k-n)]+g[u(k),u(k-1),......,u(k-m)]      (2.12)</P><P>如果对象的逆模型存在,则得</P><P>u(k)=g<SUP>-1</SUP>{y<SUB>p</SUB>(k+1)-f[y<SUB>p</SUB>(k),y<SUB>p</SUB>(k-1),......y<SUB>p</SUB>(k-n)]}-g'[u(k-1),......,u(k-m)]    (2.13)</P><P>在g-1[·]和g’[·]未知时,可以采用两个神经网络通过学习来逼近。则所得的神经网
络控制器就是一个自校正控制器。这个系统就是NSTC系统。在系统中,要求y<SUB>p</SUB>(k+1)向I(k+1)逼近,故而上式(2.13)可写成:</P><P>u(k)=g<SUP>-1</SUP>{r(k+1)-f[y<SUB>p</SUB>(k),y<SUB>p</SUB>(k-1),......,y<SUB>p</SUB>(k-n)]}-g'[u(k-1),......,u(k-m)]     (2.14)</P><P>NSTC系统的结构如图2—4所示。很明显</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5/5.htm44.gif"></P><P align=center>图2-4 NSTC系统的结构</P></TD></TR><TR><TD width="100%"><P>神经网络控制器Nc是出实现g‘和g功能的两个网络组成的。学习训练时,用偏差信
号e<SUB>p</SUB><SUB>。</SUB> </P><P>e<SUB>p</SUB>=r(k+1)-y<SUB>p</SUB>(k+1)</P><P>来描述神经网络对逆模型的逼近程度。</P><P>2.1.4 实用反向传播控制和适应评价控制</P><P>实用反向传播控制和适应评价控制是用神经网络实现最优控制的通用方法。这两种方法有着不同的思想。</P><P>一、实用反向传播(Back-propagation of utility)控制</P><P>实用反向传播是依时间反向传播的一种扩展算法。由Werbos提出的依时间反向传播
(Back—Propagation through time)是一种通常用于训练循环网络的算法。在其基础上发展的
实用反向传搅在控制系统上可以形成间接逆控制系统。这种系统如图2—5所示。
在这种系统中,一般是在逆模型神经网络执行误差反向传播时,其最后一层误差是由正
模型神经网络的误差反传过来的。很明显,在控制系统中,对象的正向模型Ni的作用是进
行误差回传。在实际应用中.这种方法存在—些问题;既然,反向传播的信号是通过正向模
型的;所以,实用反向传播算法需要一个良好的模型。但是.要用神经网络建立一个好的模
型并非—件容易的事。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5/5.htm45.gif"></P><P align=center>图2-5 实用反向传播控制</P></TD></TR><TR><TD width="100%"><P>实用反向传播在目前要很透彻描述还存在一定困难;但是,它毕业是—种具有多方面应用潜力的方法。 </P><P>二、适应评价控制</P><P>适应评价(Adaptive Critics)概念是增强学习(Reinforcement Learning)的扩充方法。增强学习是Barto等人提出来的;它用两个神经网络执行工作。适应评价控制的结构如图2-6所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5/5.htm46.gif"></P><P align=center>图2-6 适应评价网络</P></TD></TR><TR><TD width="100%"><P>适应评价的学习机构由一个联想搜索单元ASE(Associative Search Element)和一个适应评价单元(Adaptive Critic Element)组成。在学习时,ASE在增强反馈的影响下通过搜索求取输入与输出的相联关系;ACE构成比增强反馈单独可以提供的更丰富的信息评价函数。在这种学习算法中,ASE是作用网络;ACE是评价网络;并且无需被控过程的模型。 </P><P>这种由两个网络组成的适应评价算法 已经在很多小的控制问题上取得了很好的效果。但是,由于评价的输出J用于表示总效果,也即表示评价结果;而评价结果不足以确定作用网络在学习中寻优的方向。所以,在大的控制问题还有各种困难。</P><P>和实用反向传播一样,适应评价在目前还存在不少困难;但是它仍是一种有潜力的方法。</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:31:12 | 显示全部楼层
<TABLE height=2787 cellSpacing=0 cellPadding=0 width="100%" border=0><TR><TD width="100%" height=10>< align=center>2.2 神经网络控制器与学习</P></TD></TR><TR><TD width="100%" height=465><>在神经网络控制系统中,有时需要对对象进行仿真;所以,在系统中设置有神经对象仿真器NPE(Neural Plant Emulator);同时,在系统中还有神经控制器NC(Neural Controller)。不论对象仿真器PC,还是神经控制器NC,都需要学习;而对于控制系统中,联机学习是最重要的。在这一节中,介绍对象仿真器,神经控制器,学习训练的结构,联机学习方法及算法。 </P><>2.2.1 对象仿真器及神经控制器</P><P>在控制中,大量采用多层前向神经网络。多层神经网络MNN(Multilayer Neural Network)可以认为是一个有映射学习能力的结构。基于映射能力,得到两种通用的神经控制结构:即对象仿真器PE和神经控制器NC。</P><P>对于一个单输人单输出的过程,从数字控制技术可知有如下离散数学模型:</P><P>y(k+1)=f[y(k),y(k-1),......,y(k-P+1),u(k),u(k-1),......,u(k-Q)]      (2.15)</P><P>其中:y是输出,u是输入,k是离散时间系数,P,Q是正整数.f[·]是函数。</P><P>在很多情况中,对象的输入信号u是在幅度上范围有限的;既存在下限u<SUB>m</SUB>和上限u<SUB>M</SUB>对于任何k,有</P><P>u<SUB>m</SUB>≤u(k)≤u<SUB>M         </SUB>(2.16)</P><P>在描述对象的式(2.15)中,对应P,Q的估计值分别用P,q表示。</P><P>一、对象仿真器PE</P><P>对象仿真器PE的作用和意义如图2—7所示。其中,图2—7(a)表示PE在按制系统和对象之间的关系;图2—7(b)表示PE的框图。在图中u(k)Z<SUP>-1</SUP>和u(k-1)是一样的.z<SUP>-1</SUP>是延时算子,其意义是延时一拍,即延时一个采样周期。</P><P>从图中看出,用多层神经网络MNN组成的PE有p+q+1=m个输入,一个输出。它可以用于对式(2.15)描述的对象进行仿真。PE的映射功用Ψ<SUB>E</SUB>(.)表示,输出用y<SUB>E</SUB>表示当输入为m维向量X<SUB>E</SUB>(k),且 </P><P>X<SUB>E</SUB>(k)=[y(k),......,y(k-p+1),u(k),......,u(k-q)]<SUP>T    </SUP>(2.17)</P><P>则仿真器PE有输出</P><P>y<SUB>E</SUB>=Ψ<SUB>E</SUB>(X<SUB>E</SUB>)     (2.18)</P><P>对仿真器进行训练,应使仿真误差e<SUB>E</SUB></P><P>e<SUB>E</SUB>=y(k+1)-y<SUB>E</SUB></P><P><SUB>达到最小。</SUB></P><TABLE cellSpacing=0 cellPadding=0 width="95%" align=center border=0><TR><TD align=middle width="50%"><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht1.gif"> <P align=center>(a)</P></TD><TD align=middle width="50%"><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht2.gif"> <P align=center>(b)</P></TD></TR></TABLE></TD></TR><TR><TD width="100%" height=18><P align=center>图2-7 对象仿真器PE</P></TD></TR><TR><TD width="100%" height=501><P>二、神经控制器NC </P><P>神经控制器NC的作用和意义如图2-8所示。图2-8(a)是NC在系统中的位置,图2-8(b)是NC框图。</P><P>假定由式(2.15)所描述的过程对象是可逆的,则会存在函数g[·],并且有</P><P>u(k)=g[y(k+1),y(k),......,y(k-p+1),u(k-1),u(k-2),......,u(k-Q)]      (2.19)</P><P>以神经网络可实现式(2.19)所描述的对象逆模型。并且,输入为m维向量X<SUB>c</SUB>,输出为U<SUB>c</SUB>,则输出输入关系表示为</P><P>U<SUB>c</SUB>=ψ<SUB>c</SUB>(X<SUB>c</SUB>)    (2.20)</P><P>其中:ψ<SUB>c</SUB>为输入输出映射。
如果ψ<SUB>c</SUB>(·)的输出逼近g(·)的输出.则逆模型的神经网络可以看作是控制器。在k时刻,假设输入x<SUB>c</SUB>(k)为</P><P>Xc(k)=[r(k+1),y(k),......,y(k-p+1),u(k-1)...,u(k-q)]<SUP>T</SUP>     (2.21)</P><P>在上式(2.21)中,以给定输入r(k+1)取代未知的y(k+1);p和q分别是P和Q的估计值。</P><P>根据式(2.20),则神经网络控制器NC有输出</P><P>u<SUB>c</SUB>(k)=ψ<SUB>c</SUB>[r(k+1),y(k),...,y(k-p+1),u(k-1),...,u(k-q)]    (2.22)</P><P>在神经网络控制器NC的训练结果足以使输出偏差e(k)=r(k)-y(k)保持为一个很小的值时.则有</P><P>X<SUB>c</SUB>(k)=[r(k+1),r(k),...,r(k-p+1),u(k-1),...,u(k-q)]<SUP>T</SUP>    (2.23)</P><P>在上式中,是以r(t)取代y(t);这个式子明显突出了神经网络控制NC的前馈特性。</P><TABLE cellSpacing=0 cellPadding=0 width="95%" align=center border=0><TR><TD align=middle width="50%"><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht3.gif"> <P align=center>(a)</P></TD><TD align=middle width="50%"><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht4.gif"> <P align=center>(b)</P></TD></TR></TABLE></TD></TR><TR><TD width="100%" height=208><P align=center>图2-8 神经控制器NC</P><P>2.2.2学习训练的结构</P><P>在神经网络控制器的训练中,一般要求对象输出的偏差e(k)=r(k)—y(k)所定义的偏差函数J最小化。为了能采用梯度法进行学习,同时还需考虑J对NC输出的微分,即δ=—3J/Juc。有S之后,通过BP算法就可以改善NC的权系数。在这种基础上,考虑直接逆控制,直接适应控制和间接适应控制的训陈结构。直接逆控制中的神经网络控制器NC是对象的逆模型。因此,可以通过图2-9所示的结构训练逆模型。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht5.gif"></P><P align=center>图2-9 直接逆控制训练结构</P></TD></TR><TR><TD width="100%" height=473><P>在K+1时刻,设神经网络控制器NC的学习输入为X<SUB>c</SUB><SUP>*</SUP>(k) <P>X<SUB>c</SUB><SUP>*</SUP>(k)=[y(k+1),y(k),...,y(k-p+1),u(k-1),...,u(k-q)]<SUP>T</SUP>    (2.24)</P><P>则神经网络控制器NC有输出U<SUB>c</SUB>(k)</P><P>u<SUB>c</SUB>(k)=ψ<SUB>c</SUB>[X<SUB>c</SUB><SUP>*</SUP>(k)]    (2.25)</P><P>即有</P><P>u<SUB>c</SUB>(k)=ψ<SUB>c</SUB>[y(k+1),y(k),...,y(k-p+1),u(k-1),...,u(k-q)]    (2.26)</P><P>对于NC而言,有训练输出偏差e<SUB>c</SUB></P><P>e<SUB>c</SUB>(k)=u(k)一u<SUB>c</SUB>(k)     (2.27)</P><P>定义偏差函数J为</P><P>J(k)=0.5[e<SUB>c</SUB>(k)]<SUP>2</SUP>=0.5[u(k)—u<SUB>c</SUB>(k)]<SUP>2</SUP>    (2.28)</P><P>则J对u<SUB>c</SUB>的导数为δ<SUB>k</SUB></P><P><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht6.gif">(2.29)</P><P>很明显,这种训陈结构用BP算法是十分方便的。</P><P>二、直接适应控制训练结构</P><P>直接适应控制中,神经网络控制器NC是通过对象的输出偏差e(k)=r(k)-y(k)来实现训练效果判别和训练的执行的。显然,这和逆模型的训练不同。这种训练结构如图2—10所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht7.gif"></P><P align=center>图2-10  直接适应控制训练结构</P></TD></TR><TR><TD width="100%" height=64><P>假定对象的逆模型存在.那么,应有式(2.19)所示的形式。如果逆模型是准确的.那么,以逆模型构成的神经控制器NC对对象的控制总可以使输出偏差e(k)=r(k)—v(k)趋于无穷小。 </P><P>直接适应控制不是先给出逆模型,而是根据输出的偏差e,去对Nc进行训练.令其逼近于逆模型。在直接适应控制结构中,先期已知的条件有两个:</P><P>1.神经网络控制器NC有式(2.19)的结构形式。</P><P>2.输出偏差e(k)=r(k)—y(k)</P><P>为了进行训练,偏差函数J的格式取</P><P>J(k)=0.5[e(k)]<SUP>2</SUP>=0.5[r(k)-y(k)]<SUP>2</SUP>    (2.30)</P><P>由于,NC的输出为u(k),而在训练中需要求取偏差函数J对M的导数,则有3</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="71%"><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht8.gif"></TD><TD width="29%">(2.31)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=105><P>其中:ζ<SUB>k</SUB>是二进制因子,取1或0,它用于说明对输入u(k)的约束。同时避免错误训练NC而无法跟踪给定输入I。 </P><P>令</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="71%"><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht9.gif"></TD><TD width="29%">(2.32)</TD></TR><TR><TD width="71%"><FONT size=2>对于以式(2.15)、(2.16)描述的系统,在k时刻ζk取值如下</FONT></TD><TD width="29%"></TD></TR><TR><TD width="71%"><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht10.gif"></TD><TD width="29%">(2.33)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=297><P>在式(2.31)中加入电等于在Nc输出和对象输入之间存在一个限幅器。当式(2.16)所表示的u(k)产生错误输出而超界时,这时限幅器就会饱和,同时,式(2.31)产生因ζ<SUB>k</SUB>=0而得到的ζ<SUB>k</SUB>=0;这时就会禁止学习。而当给定输入r可以被跟随时,则学习正常执行。 </P><P>三、间接适应控制训练结构</P><P>间接适应控制与直接适应控制不同;神经网络控制器的训练的依据是给定信号r和对象仿真器的偏差e<SUB>E</SUB>=r(k)—y<SUB>E</SUB>(k);而对象仿真器的训练的依据是对象输出y(k)与对象仿真器输出y<SUB>E</SUB>(k)的偏差e<SUB>c</SUB>=y(k)—y<SUB>E</SUB>(k)。间接适应控制训练结构如图2—11所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht11.gif"></P><P align=center>图2-11  间接适应控制训练结构</P></TD></TR><TR><TD width="100%" height=1521><P>在训练时,偏差函数J对NC输出u的导数δ=-aJ/au,它的算术符号足以指示出J的梯度方向。 </P><P>在不少实际情况中,式(2.31)中的导数</P><P><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht12.gif"></P><P>可以容易地用导数的符号,即+1或-1取代;不过,这不带有普遍性。所以,通常需要求导数d<SUB>y</SUB>(k)/d<SUB>u</SUB>(k)的结果;但是,d<SUB>y</SUB>(k)/d<SUB>u</SUB>(k)的结果是相当难求取的。</P><P>在间接适应控制中,对象仿真器PE用于计算偏差函数J对NC输出u的导数6。由于PE是一个多层前向网络。采用BP算法可以容易计算出δ。这就克服了d<SUB>y</SUB>(k)/d<SUB>u</SUB>(k)在前述的求取困难的问题。</P><P>图2—11所示的结构还有一个特别的优点,这就是当对象的逆模型不能求取时,这种结构特别有用。为了改进控制器的性能,NC和PE可以认为是m维输入单输出的多层神经网络的可变部件和固定部件。对于PE,可以采用对象足够丰富的有关数据进行前期的脱机训练;然后,再把NC、PE进行联机训练。在某种意义上讲,既是执行系统对象辨识的;所以.对于状态变化迅速的系统,考虑到鲁捧性,修改PE的频繁度比修改Nc的频繁度高是合理的。</P><P>2.2.3联机学习方法及算法</P><P>神经网络控制需要良好的控制器,而神经网络控制器的训练收敛速度和时间相当长,这使到在实际控制中执行联机学习几乎不可能。为了使神经网络控制器可以进行实时学习,人们对提高训练收敛速度进行了不少研究。这些研究的主要思想有如下几种:</P><P>1.开发有效的BP算法。</P><P>2.在多层神经网络结构中,对象结构知识具体化。</P><P>3.和控制结构相关的神经网络混合系统。</P><P>4.预学习和有效的初始化过程。</P><P>在控制系统中,如果提高采样频率,显然,每个采样周期Ts执行一次学习,就会减少学习时间。但是,实际控制系统中,往往对采样周期Ts有一定的要求。比如温度,化学反应控制过程等就要求采样周期Ts较长。同时,高速采样也会要求系统有相应的复杂控制结构;从而使代价提高。</P><P>如果在不改变采样频率的条件下提高学习频率;很明显会减少学习时间。这样在联机中学习就成为可能;神经网络控制实时学习就可以实现。</P><P>为了实现实时学习,考虑学习周期TL,由于学习周期TL只是由计算机运算时间决定,所以,一般学习周期TL比采样周期Ts要小得多。显然,只要在一个采样周期Ts中执行多次学习周期TL会大大加快学习过程。</P><P>一、对象仿真器PE训练学习</P><P>假定在k+1时刻对象的输出为y(k+1),而对象先前的p-1+t个输出值存贮在存贮器中,即有y(k),y(k-1),...,y(k-p+1-t)</P><P>同时,对象的输人为u(k+1),而先前的q+t个输入值存在存贮器中,即有</P><P>u(k),u(k-1),...,u(k-q-t)</P><P>很明显可以用X<SUB>E</SUB>(k-i),y(k+1-i)数据对对系统的PE进行训练。当取i=0,1,2,...,t-1时,显然有t对X<SUB>E</SUB>(k-i),y(k+1-i)。并且注意,这是在采样序号k+1时,也即k+1为定值时对PE执行训练。k+1时刻第i个m维输人学习向量为</P><P>X<SUB>E.i</SUB>(k-i)=[y(k-i),y(k-1-i),...,y(k-p+1-i),u(k-i),u(k-1-i),...,u(k-q-i)]<SUP>T</SUP>    (2.34)</P><P>则在PE的输出产生输出结果y<SUB>E</SUB>(k+1-i)</P><P>y<SUB>E.i</SUB>(k+1-i)=ψ<SUB>E</SUB>[X<SUB>E.i</SUB>(k-1)]    (2.35)</P></TD></TR></TABLE>
b
 楼主| 发表于 2004-5-28 02:31:30 | 显示全部楼层
<TABLE height=2787 cellSpacing=0 cellPadding=0 width="100%" border=0><TR><TD width="100%" height=1521><>考虑偏差函数J<SUB>E</SUB></P><><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht13.gif"></P><>其中:1≥λ<SUB>0</SUB>≥λ<SUB>1</SUB>≥...≥λ<SUB>t-1</SUB>是一个权系数序列,它们的作用用于强调最新的数据,减弱旧数据的影响。</P><P>对象仿真器PE训练的结果应使偏差函数J<SUB>E</SUB>最小。</P><P>对象仿真器PE执行训练,为了方便说明训练算法起见,考虑在采样序号为k的时刻的m维输入学习向量X<SUB>Ei</SUB>(k-1-i),根据式(2.34)有</P><P>X<SUB>E.i</SUB>(k-1-i)=[y(k-1-i),...,y(k-p-i),u(k-1-i),...,u(k-q-1-i)]<SUP>T</SUP>    (2.36)</P><P>在学习中,BP算法以下式表示</P><P>BP(ψ,X,y,y<SUB>E,i</SUB>)</P><P>其中:BP为四算法名称,为映射,x为输入向量,y为期望输出,yE,i为实际输出。</P><P>PF训练的算法过程如下:</P><P>Step1:READ y(k)</P><P>step2:{仿真器PE训练 }</P><P>i——t-1</P><P>REPEAT</P><P>y<SUB>E</SUB><SUB>,i</SUB>——E(X<SUB>E,i</SUB>)</P><P>BP(ψ<SUB>E</SUB>,X<SUB>E,i</SUB>,λ<SUB>i</SUB>y(k-i),y<SUB>E,i</SUB>)</P><P>i——i-1</P><P>UNTIL(i&lt;0)</P><P>Step 3:{产生控制信号u}</P><P>X<SUB>c</SUB>——[r(k+1),y(k),...,y(k-p+1),u(k-1),...,u(k-q)]<SUP>T</SUP> or [r(k+1),r(k),...,r(k-p+1),u(k-1),...,u(k-q)]<SUP>T</SUP></P><P>u(k)——ψ<SUB>c</SUB>(X<SUB>c</SUB>)</P><P>Step 4:以u(k)去控制对象,并持续T<SUB>s</SUB>时间。</P><P>Step 5:{数据移动}</P><P>i——t-1</P><P>REPEAT</P><P>X<SUB>E,i</SUB>=X<SUB>E,i-1</SUB></P><P>i——i-1</P><P>UNTIL(i=0);</P><P>Step 6:{产生最新数据向量}</P><P>X<SUB>E,0</SUB>——[y(k),y(k-1),...,y(k-p+1),u(k),...,u(k-q)]<SUP>T</SUP></P><P>Step 7:k——k+1</P><P>Step 8:转向Step 1</P><P>对象仿真器PE训练例子:设k=10,则采样结果有y(10),并且取p=3,q=2,t=3.则在存贮器中存放有(p—1+t)=5个先前输出值y1即</P><P>y(9),y(8),……,y(5)</P><P>同时,有(q+t)=5个先前的控制值u,即</P><P>u(9),u(8),…,u(5)</P><P>则PE的输入学习向量为:</P><P>X<SUB>E,0</SUB>(9)=[y(9),y(8),y(7),u(9),u(8),u(7)]<SUP>T</SUP></P><P>X<SUB>E,1</SUB>(8);[y(8),y(7),y(6),u(8),u(7),u(6)]<SUP>T</SUP></P><P>X<SUB>E,2</SUB>(7)=[y(7),y(6),y(5),u(7),u(6),u(5)]<SUP>T</SUP></P><P>用PE<SUP>k·i</SUP>表示取在采样时刻k时,第i次学习后的状态;用ψ<SUB>E</SUB><SUP>k.i</SUP>表示PE<SUP>k·i</SUP>所执行的映射.则有ψ<SUP>10.0</SUP>,ψ<SUP>10.1</SUP>,ψ<SUP>10.2</SUP>。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht14.gif"></P><P align=center>图2-12 对象仿真器PE的训练</P></TD></TR><TR><TD width="100%" height=294><P>根据式(2.35).对于第k时刻应有 </P><P>y<SUB>E,i</SUB>(k-i)=ψ<SUB>E</SUB><SUP>k,i</SUP>[X<SUB>E,i</SUB>(k-1-i)]   (2.37)</P><P>从而有</P><P>y<SUB>E,0</SUB>(10)=ψ<SUB>E</SUB><SUP>10,0</SUP>[X<SUB>E,0</SUB>(9)]</P><P>y<SUB>E,1</SUB>(9)=ψ<SUB>E</SUB><SUP>10,1</SUP>[X<SUB>E,1</SUB>(8)]</P><P>y<SUB>E,2</SUB>(8)=ψ<SUB>E</SUB><SUP>10,2</SUP>[X<SUB>E,2</SUB>(7)]</P><P>很明显,有</P><P>ψ<SUB>E</SUB><SUP>9,0</SUP>(.)=ψ<SUB>E</SUB><SUP>10,1</SUP>(.)</P><P>即有</P><P>ψ<SUB>E</SUB><SUP>k,0</SUP>(.)=ψ<SUB>E</SUB><SUP>k+1,1</SUP>(.)</P><P>在这个例子中,PE训练的情况如图2—12所示。</P><P>二、神经控制器NC训练学习</P><P>神经网络控制器NC的训练学习有两种不同的逼近方法, 一种是直接逆控制误差逼近(The Direct Inverse Control Error Approach),另一种是预测输出误差逼近(The Predicted Output Error Approach)。根据上述这两种不同的逼近方法其训练学习的过程不同。</P><P>1.直接逆控制误差逼近训练学习</P><P>假定在k+1采样时刻的现行输出为y(k+1);y先前的P-1+t个值,u先前的q+t个值存贮在存贮器中;有y(k)…,y(k-p+1-t);u(k)…,u(k-q-t)。</P><P>从图2—9所示的直接逆控制结构可知:可以用X<SUB>c</SUB><SUP>*</SUP>(k-i),u(k-i)数据对对神经网络控制器NC进行训练;其中</P><P>X<SUB>c</SUB><SUP>*</SUP>(k)=[y(k+1),...,y(k-p+1),u(k-1),...,u(k-q)]<SUP>T</SUP>       (2.38)</P><P>当取i=0,1,…,t-1,时,显然有t对X<SUB>c</SUB><SUP>*</SUP>(k—i),u(k—i);它们用于k+1时刻对NC的训练。</P><P>k+1时刻的第i个m维输入学习向量为</P><P>X<SUP>*</SUP><SUB>c,i</SUB>(k-i)=[y(k+1-i),......,y(k-p+1-i),u(k-1-i),......,u(k-q-i)]<SUP>T</SUP>      (2.39)</P><P>则在神经控制器NC的输出有u<SUB>c</SUB>(k—i)</P><P>u<SUB>c,i</SUB>(k-i)=ψ<SUB>c</SUB>[X<SUP>*</SUP><SUB>c,i</SUB>(k-i)]         (2.40)</P><P>考虑偏差函数J<SUB>c</SUB>。</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="80%"><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht15.gif"></TD><TD width="32%">(2.41)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=1537><P>其中:1≥λ<SUB>0</SUB>≥λ<SUB>1</SUB>≥...≥λ<SUB>t-1</SUB> </P><P>并有δ<SUB>k,i</SUB>=-aJ<SUB>c</SUB>/a<SUB>uc,i</SUB></P><P>δ<SUB>k,i</SUB>=λ<SUB>i</SUB>[u(k-i)-u<SUB>c,i</SUB>(k-i)]     (2.42)</P><P>从式(2.41)看出,以J<SUB>c</SUB>为训练时的偏差函数并不直接涉及系统的输出y的偏差。因此,会产生神经控制器NC训练结果为零偏差,但控制性能很差的效果。所以,为了克服这种问题,一般把直接逆控制误差最小化的训练方法和其它方法,例如与对象输出误差最小化的法相结合,从而使NC训练和控制性能效果都能取得良好的结果。为了便于说明神经控制器NC的训练.考虑在采样序号为k时的m维学习向量X<SUP>*</SUP><SUB>c,i</SUB>(k-1-i)</P><P>X<SUP>*</SUP><SUB>c,i</SUB>(k-1-i)=[y(k-i),y(k-1-i)...,y(y(k-p-i),u(k-2-i),...,u(k-q-1-i)]<SUP>T</SUP>     (2.43)</P><P>在学习中,BP算法以下式表示</P><P>BP(ψ,X,u,u<SUB>c,i</SUB>)</P><P>其中:ψ为NC映射,x为输入学习向量,u为NC期望输出,u<SUB>c</SUB><SUB>,i</SUB>为NC实际输出。</P><P>NC的训练算法过程如下:</P><P>Step 1:READ y(k)</P><P>Step 2:{取最新数据向量}</P><P>X<SUP>*</SUP><SUB>c,0</SUB>——[y(k),...,y(k-p),u(k-2),...,u(k-q-1)]<SUP>T</SUP></P><P>Step 3:{控制器训练}</P><P>i——t-1</P><P>REPEAT</P><P>u<SUB>c,i</SUB>——ψ<SUB>c</SUB>(X<SUP>*</SUP><SUB>c,i</SUB>)</P><P>BP(ψ<SUB>c</SUB>,X<SUP>*</SUP><SUB>c,i</SUB>,λ<SUB>i</SUB>u(k-1-i),λ<SUB>i</SUB>u<SUB>c,i</SUB>)</P><P>i——i-1</P><P>UNTIL(i&lt;0)</P><P>Step 4:{产生控制信号u}</P><P>X<SUB>c</SUB>=[r(k+1),y(k),...,y(k+1-p),u(k-1),...,u(k-q)]<SUP>T</SUP> or [r(k+1),r(k)...,r(k+1-p),u(k-1),...,u(k-q)]<SUP>T</SUP></P><P>u(k)——ψ<SUB>c</SUB>(X<SUB>c</SUB>)</P><P>Step 5:用u(k)去控制对象,并持续T。</P><P>Step 6:{数据移动}</P><P>i——t-1</P><P>REPEAT</P><P>X*c,i——X*ci-1</P><P>i——i-1</P><P>UNTIL(I=0)</P><P>Step 7:K——k+1</P><P>Step 8:转向Step 1</P><P>用直接逆控制偏差逼近法对NC训练的例子:设现行采样时刻为k=9,故对象有输出y(9);取P=2,q=3,t=3,则在存贮器中存放有(p+t-1)=4个先前输出值y,即</P><P>y(8),y(7),y(6),y(5)</P><P>同时,有(q+1)=5个先前控制值u,即</P><P>u(7),u(6),u(5),u(4),u(3)</P><P>根据式(2.43),则NC的输入学习向量在k=9时有</P><P>X<SUP>*</SUP><SUB>c,0</SUB>(8)=[y(9),y(8),y(7),u(7),u(6),u(5)]<SUP>T</SUP></P><P>X<SUP>*</SUP><SUB>c,1</SUB>(7)=[y(8),y(7),y(6),u(6),u(5),u(4)]<SUP>T</SUP></P><P>X<SUP>*</SUP><SUB>c,2</SUB>(6)=[y(7),y(6),y(5),u(5),u(4),u(3)]<SUP>T</SUP></P><P>用NC<SUP>k·1</SUP>表示NC在采样时刻k时.第i次学习后的状态;用ψ<SUB>c</SUB><SUP>k.i</SUP>表示NC<SUP>k.i</SUP>所实现的映射.则有ψ<SUB>c</SUB><SUP>9.0</SUP><SUB>,</SUB>ψ<SUB>c</SUB><SUP>9.1</SUP><SUB>,</SUB>ψ<SUB>c</SUB><SUP>9.2</SUP></P><P>根据式(2.40),在第k采样周期中,有</P><P>u<SUB>c,i</SUB>(k-i)=ψ<SUB>c</SUB><SUP>k+1,i</SUP>[X<SUP>*</SUP><SUB>c,i</SUB>(k-i)]    (2.44)</P><P>从而有映射结果:</P><P>u<SUB>c,0</SUB>(8)=ψ<SUB>c</SUB><SUP>9,0</SUP>[X<SUP>*</SUP><SUB>c,0</SUB>(8)]</P><P>u<SUB>c,1</SUB>(7)=ψ<SUB>c</SUB><SUP>9,1</SUP>[X<SUP>*</SUP><SUB>c,1</SUB>(7)]</P><P>u<SUB>c,2</SUB>(6)=ψ<SUB>c</SUB><SUP>9,2</SUP>[X<SUP>*</SUP><SUB>c,2</SUB>(6)]</P><P>而训练NC时,有数据输入u(8),u(7),u(6)它们和u<SUB>c,0</SUB>(8),u<SUB>c,1</SUB>(7),u<SUB>c,2</SUB>(6)的偏差就组成了式(2.41)所示的偏差函数Jc。</P><P>在实际训练中需要把图2—10所示的直接适应控制或图2—11所示的间接适应控制方法和直接逆控制误差逼近方法相结合,才能实现取得对象输出误差最小的结果。</P><P>把间接适应控制的简单学习和直接逆控制误差逼近的多次学习相结合,从而在一个采样周期含有4个训练周期。这种情况如图2—13所示。</P><P>在图2—13中.左边3个学习训练过程是神经网络控制器NC单独学习的过程,其学习步骤在上面已经给出。而右边的1个学习训练过程是间接适应控制和直接逆控制误差逼近相结合的学习;由于这时采样时刻是k=9,故对象仿真器表示为PE<SUP>9</SUP>,神经控制器表示NC<SUP>9</SUP>在PE<SUP>9</SUP>和NC<SUP>9</SUP>相结合的学习中,输入的训练学习数据对为r(9),X<SUB>c</SUB>(8),并有</P><P>X<SUB>c</SUB>(8)=[r(9),y(8),y(7),u(7),u(6),u(5)]<SUP>T</SUP></P><P>而r(9)是采样时刻k=9时的给定输入信号</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht16.gif"></P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht17.gif"></P><P align=center>(b)</P><P align=center>图2-13  直接逆控制误差和间接适应控制逼近NC的过程</P></TD></TR><TR><TD width="100%" height=335><P>神经网络控制器NC在这时的状态用NC<SUP>9</SUP>表示.则其映射用ψ<SUB>c</SUB><SUP>9</SUP>,根据式(2.21)(2.22)从而有控制输出u<SUB>c</SUB>(8): </P><P>u<SUB>c</SUB>(8)=ψ<SUB>c</SUB><SUP>9</SUP>[X<SUB>c</SUB>(8)]</P><P>对象仿真器PE这时的状态用PE<SUP>9</SUP>表示,则其映射用ψ<SUB>E</SUB><SUP>9</SUP>表示,这时有X<SUB>E</SUB>(8)</P><P>X<SUB>E</SUB>(8)=[y(8),y(7),y(6),uc(8),u(7),u(6)]<SUP>T</SUP></P><P>从而有PE输出y<SUB>E</SUB>(9)</P><P>y<SUB>E</SUB>(9)=ψ<SUB>E</SUB><SUP>9</SUP>[X<SUB>E</SUB>(8)]</P><P>利用偏差e<SUB>E</SUB>.即e<SUB>E</SUB>=r(9)—y<SUB>E</SUB>(9),取偏差函数J<SUB>E</SUB></P><P>J<SUB>E</SUB>=0.5[r(9)-y<SUB>E</SUB>(9)]<SUP>2</SUP></P><P>则可以对NC进行训练学习。</P><P>2.预测输出误差逼近训练学习</P><P>直接逆控制误差逼近是以神经网络控制器NC输出的控制信号uc和期望控制信号u的误差进行逼近训练的。预测输出误差逼近的训练方法与之不同,它是以对象仿真器PE的输出yE和期望给定r的误差进行训练的,训练的对象是神经网络控制器NC。预测输出误差逼近训练学习的系统结构框图如图2—14所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht19.gif"></P><P align=center>图2-14  预测输出误差逼近训练的结构</P></TD></TR><TR><TD width="100%" height=309><P>从图2—14所示结构可知:NC接收输入向量X<SUB>c</SUB>,从而产生u<SUP>*</SUP>输出;而PE接收输入向量x<SUB>E</SUB>,x<SUB>E</SUB>由u*,y形成,从而产生输出y<SUP>*</SUP>。最后有 </P><P>e<SUB>E</SUB>=r-y<SUP>*</SUP></P><P>则可用于构成偏差函数J,用于训练。</P><P>假定在k+1采样周期内,给定值r有t个值存贮于存贮器中.即有</P><P>r(k+1-i) i=0,1,......,t-1</P><P>即是  r(k+1),r(k),......,r(k+2-t)</P><P>对象输出y有包括y(k+1)在内的p+t个值存于存贮器中,即有</P><P>y(k+1),y(k),y(k-1),......,y(k+2-p-t)</P><P>控制器输出u的先前q+t个值也存于存贮器中,即有</P><P>u(k-1),u(k-2),...,u(k-q-t)</P><P>从式(2.21)和式(2.23)可知在存贮器中等于存放了x<SUB>c.i</SUB>(k-i)</P><P>X<SUB>c,i</SUB>(k-i)=[r(k+1-i),y(k-i),...,y(k-p+1-i),u(k-1-i),u(k-2-i),...,u(k-q-i)]<SUP>T</SUP></P><P><SUP>或者</SUP></P><P>X<SUB>c,i</SUB>(k-i)=[r(k+1-i),r(k-i),...,r(k-p+1-i),u(k-1-i),u(k-2-i),...,u(k-q-i)]<SUP>T</SUP></P><P>在进入k+1采样周期时,神经网络控制器NC的状态为NC<SUP>k+1,1</SUP>,故其映射表示为ψ<SUB>c</SUB><SUP>k+1</SUP>;对象仿真器PE不执行学习,其状态表示为PE<SUP>k+1</SUP>,映射表示为ψ<SUB>E</SUB><SUP>k+1</SUP>。</P><P>首先,在有输入向量x<SUB>c.i</SUB>(k-i)时,NC产生输出u<SUP>*</SUP></P><P>u<SUP>*</SUP>(k-i)=ψ<SUB>c</SUB><SUP>k+1</SUP>,i[X<SUB>c,i</SUB>(k-i)]      (2.45)</P><P>很明显,则在对象的输入形成向量X<SUP>*</SUP><SUB>E,i</SUB>(k-i)</P><P>X<SUP>*</SUP><SUB>E,i</SUB>(k-i)=[y(k-i),...,y(k-p+1-i),u<SUP>*</SUP>(k-i),...,u<SUP>*</SUP>(k-q-i)]<SUP>T</SUP>   (2.46)</P><P>随后,则由对象仿真器PE输出预测值y<SUP>*</SUP></P><P>y<SUP>*</SUP>(k+1-i)=ψ<SUB>E</SUB><SUP>k+1</SUP>[X<SUP>*</SUP><SUB>E</SUB>,i(k-i)]   (2.47)</P><P>最后,则可以得到预测偏差e<SUB>E</SUB></P><P>e<SUB>E</SUB>=r(k+1-i)-y<SUP>*</SUP>(k+1-i)   (2.48)</P><P>取偏差函数J<SUB>E</SUB>为</P><TABLE cellSpacing=0 cellPadding=0 width="80%" align=center border=0><TR><TD width="65%"><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht18.gif"></TD><TD width="35%">(2.49)</TD></TR></TABLE></TD></TR><TR><TD width="100%" height=1460><P>神经网络控制器NC训练过程可以理解如下:把NC和PE看成一个单一的多层神经网络MNN,在k+1采样周期中,每一个输入向量X<SUB>c.i</SUB>(k—i),i=0,1,…,t-1;都会产生相应的预测偏差如式(2.48)所示。训练的目的就是使式(2.49)所示的偏差函数JE最小化。 </P><P>神经网络控制器KC的预测输出误差逼近方法进行训练学习的过程中,考虑k采样时刻的输入向量X<SUB>c,i</SUB>(k-1-i)</P><P>X<SUB>c,i</SUB>(k-1-i)=[r(k-i),y(k-1-i),...,y(k-p-i),u(k-2-i),...,u(k-q-1-i)]<SUP>T</SUP>         (2.50)</P><P>或者</P><P>X<SUB>c,i</SUB>(k-1-i)=[r(k-i),r(k-1-i),...,r(k-p-i),u(k-2-i),...,u(k-q-1-i)]<SUP>T</SUP>         (2.51)</P><P>在结构中,把NC和PE看成一个单一的网络,并且用(ψ<SUB>c</SUB>+ψ<SUB>E</SUB>)表示。则BP算法用下式表示</P><P>BP(ψ<SUB>c</SUB>+ψ<SUB>E</SUB>,X,r,y<SUP>*</SUP>)</P><P>其中:ψ<SUB>c</SUB>+ψ<SUB>E</SUB>为NC和PE组成的单一网络,x为输入学习向量,r为给定值即期望值,y*为预测输出。
NC的训练算法步骤如下:</P><P>Step 1:READ y(k)</P><P>Step 2:{NC通过预测误差逼近训练}</P><P>i——t-1</P><P>REPEAT</P><P>j——0</P><P>REPEAT</P><P>u<SUB>j</SUB><SUP>*</SUP>——ψ<SUB>c</SUB>(X<SUB>c,i+j</SUB>)</P><P>j——j+1</P><P>UNTIL(j&gt;q)</P><P>{产生PE的输入向量}</P><P>X<SUP>*</SUP><SUB>E,i</SUB>——[y(k-1-i),...,y(k-p-i),u<SUB>0</SUB>*,u<SUB>1</SUB>*,...,u<SUB>q</SUB>*]<SUP>T</SUP></P><P>{产生预测输出}</P><P>y*——E(X<SUP>*</SUP><SUB>E,i</SUB>)</P><P>BP(ψ<SUB>c</SUB>+ψ<SUB>E</SUB>,X<SUB>c,i</SUB>,λ<SUB>i</SUB>r(k-i),λ<SUB>i</SUB>y*)</P><P>i——i-1</P><P>UNTIL(i=0)</P><P>Step 3:{用最新数据训练}</P><P>BP(ψ<SUB>c</SUB>+ψ<SUB>E</SUB>,X<SUB>c,0</SUB>,λ<SUB>i</SUB>r(k),λ<SUB>i</SUB>y(k))</P><P>Step 4:{数据移动}</P><P>i——t+q+1</P><P>REPEAT</P><P>Xc,i——Xc,i-1</P><P>i——i-1</P><P>UNTIL(i=0)</P><P>Step 5:{产生控制信号}</P><P>X<SUB>c,0</SUB>=[r(k+1),y(k),...,y(k+1-p),u(k-1),...,u(k-q)]<SUP>T</SUP> or [r(k+1),r(k),...,r(k+1-p),u(k-1),...,u(k-q)]<SUP>T</SUP></P><P>u(k)——ψ<SUB>c</SUB>(X<SUB>c,0</SUB>)</P><P>Step 6:用u(k)去控制对象,并持续T。</P><P>Step 7:k—k+1</P><P>Step 8:转回Step 1</P><P>下面给出一个用预测输出误差逼近方法训练NC的例子:假定现行采样周期为k=9,则有对象输出y(k),取P=2,q=3,t=3;则在存贮器中存有先前输出值y共(p+t-1)=4个,即y(8),y(7),y(6),y(5)</P><P>同时,有(q+t)=5个先前控制值u,即</P><P>u(7),u(6),u(5),u(4),u(3)</P><P>根据式(2.50),则有</P><P>x<SUB>c.0</SUB>(8)=[r(9),y(8),y(7),u(7),u(6),u(5)]<SUP>T</SUP></P><P>x<SUB>c.1</SUB>(7)=[r(8),y(7),y(6),u(6),u(5),u(4)]<SUP>T</SUP></P><P>x<SUB>c.2</SUB>(6)=[r(7),y(6),y(5),u(5),u(4),u(3)]<SUP>T</SUP></P><P>参考图2—14所示的学习结构,则学习过程如图2—15中所示。</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht20.gif"></P><P align=center>(a)</P><P align=center><img src="http://www.jgchina.com/ednns/ednnsbk/5.2/5.2.ht21.gif"></P><P align=center>(b)</P></TD></TR><TR><TD width="100%" height=13><P align=center>图2—15 预测输出误差逼近训练NC</P></TD></TR></TABLE>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-5-17 03:34 , Processed in 0.060283 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表