第15章动态驱动递归网络15.1介绍给定多层感知器作为基本模块,应用全局反馈可以有不同的形式。反馈可以从多层感知器的输出神经元到输入层。而且另一个可能的全局反馈可以从网络的隐单元到输入层。递归网络有两个基本功能:联想记忆输入输出映射网络递归网络动态地响应外部应用的输入信号,称递归网络为动态驱动递归网络.而且,反馈的应用使得递归网络获得状态表示.优势:大大减少记忆需求.本章分四部分:体系结构,理论,学习算法和应用。第一部分15.2讨论递归网络的结构。第二部分,包括15.3节至15.5节,讨论递归网络的理论部分。15.3讨论了状态空间模型和相关的可控性和可观察性的问题。15.4导出了一个状态空间模型的等价模型,被称为有外部输入的非线性自回归的模型。15.5讨论了递归网络计算能力的一些理论问题。第三部分,包括15.6节至15.12节,讨论递归网络的学习算法和相关问题.开始在15.6节有个综述,15.7讨论了在第4章的材料基础上所建立的通过时间的反向传播算法。15.8讨论了另一个流行算法:实时回归学习.15.2递归网络体系结构递归网络的结构布局有很多不同形式。本节我们讨论了四个特殊结构,每一个都强调了全局反馈的一种特殊形式1。他们都有如下特点:都有结合了静态多层感知器或一部分。都利用了多层感知器的非线性映射能力。输入输出递归网络图15.1显示了一个多层感知器的自然推广得到的递归网络的模型。模型有唯一的输入,被应用到q个单元的分支延迟线记忆。单一的输出通过另一个q个单元分支延迟线记忆反馈到输入。利用两个分支延迟线记忆的内容反馈到多层感知器的输入。模型输入的当前值用u(n)代表,相对应的输出用y(n+1)表示;也就是输出领先输入一个时间单位。因此应用到多层感知器输入层的的信号向量的数据窗口数据如下:现在和过去的输入,即u(n),u(n-1),……u(n-q+1),表示来自网络外部的输入。输出的延迟值,即y(n),y(n-1),……y(n-q+1),在此基础上对y(n+1)进行回归。有外部输入的非线性自回归模型(nonlinearautoregressivewithexogenousinputsmodel,NARX)2。NARX的动态行为描述如下:y(n+1)=F(y(n),…,y(n-p+1),u(n),…,u(n-q+1))状态空间模型状态空间模型,隐层的神经元定义了网络的状态。隐层的输出通过一个延迟模块反馈回输入。输入层为反馈节点和源节点联合。网络是通过源节点和外部连接的。用于将隐层输出反馈回输入层的延迟单元的数目决定了模型的阶数。m1维的向量u(n)代表输入,q1向量x(n)代表隐层在n时刻的输出向量。我们可以用下列两个联立方程组描述在图15.2中的模型的动态行为:x(n+1)=f(x(n),u(n))y(n)=Cx(n)这里f()是一个刻划隐层特征的非线性函数,C是代表输出层特征的的突触权值矩阵。隐层是非线性的,但输出是线性的。回归多层感知器回归多层感知器,它有一个或多个隐层,同样的原因,静态多层感知器比那些用在单个隐层的感知器更有效和节约。RMLP的每一个计算层对它的邻近层有一个反馈,如图15.4所示,此时RMLP有两个隐层3。可用如下联立方程组描述:x1(n+1)=1(x1(n),u(n))x11(n+1)=11(x11(n),x1(n+1))x0(n+1)=0(x0(n),uk(n+1))(15.4)这里1(.,.),11(.,.),…….0(.,.)分别表示代表第一隐层,第二隐层……和RMLP输出层的激活函数;K表示网络中隐层的数目。二阶网络在图15.2的状态空间模型中,我们用“阶”来表示隐层的数目,其输出通过延迟单元模块反馈回输入层。例如:一个多层感知器神经元k的诱导局部域vk定义如下:iiki,bjjkj,akuwxwv(15.5)这里xj源于隐层神经j的反馈信号,ui是输入层应用于节点i的源信号;w表示网络中对应的突触权值。把方程15.5所描述的神经元称为一阶神经元。但是,有时诱导局部域vk由乘法组成,表示如下:ijjikijkuxwv(15.6)我们称这里神经元为二阶神经元。二阶神经元k用了单一的权值wkij,使得它和输入输出信号i,j连接起来。二阶神经元组成了基本的二阶递归网络(Gilesetal,1990),它的一个例子如图15.5所示。网络接受时间顺序的输入并且动态进行发展,由下方程组所定义:ijjikijkknunxwbnv)()()((15.7)且xk(n+1)=(vk(n))=1/(1+exp(-vk(n))(15.8)这里vk(n)隐单元k的诱导局部域,bk为相关偏置,xk(n)神经元k的状态(输出),uj(n)是应用于原信号j的输入,w,kij二次神经元k的权值。15.3状态空间建模假设无噪声,系统的动态行为的数学表达用下非线性方程表示:x(n+1)=(wax(n)+wbu(n))(15.10)y(n)=Cx(n)(15.11)这里wa是一个q×q的矩阵,wb是一个q×(m+1)的矩阵,C是一个p×q的矩阵,是对角映射:)(...)()(...:2121qqxxxxxx(15.12)对于一些无记忆的,各个分量都非线性的:RR.空间Rm,Rq和Rp分别称为输入空间,状态空间和输出空间。状态空间的大小,即q就是系统的阶。因此图15.2状态空间模型是m输入,p输出的q阶回归模型。方程(15.10)是模型的运行方程,方程(15.11)是观测方程。运行方程(15.10)是方程(15.2)的特殊形式。方程(15.10)和(15.11)描述的状态空间模型的递归网络一个重要的性质是它能逼近一个很大范围的非线性动力系统。但这种逼近只在一个状态空间紧子集和有限的时间区间的情况下有效,因此感兴趣的动态特征并没有反映出来。可控性和可观察性研究系统论时,稳定性、可控性和可观察性是重要的特征。这节我们讨论可控性和可观察性,因为它们经常一起讨论。前面以讨论过,许多递归网络能用图15.2的状态空间模型来表示,这里状态定义为通过一系列延迟单元反馈回输入层的隐层输出。在此背景下,知道递归网络是否可控和可观察是很重要的。可控性是指我们能否控制递归网络的动态行为。可观察性是指我们能否观察到应用于递归网络的控制结果。从这种意义来说,可观察性是可控性的对偶。递归网络可控是指在有限时间步内,初始状态可以控制到任意想达到的状态;输出与这个定义无关。递归网络可观察是指在有限的输入/输出观测中网络的状态可以确定。我们把自己限制在可控性和可观察性的局部形式。局部是指将这些概念应用于网络平衡状态的邻域。如果状态x是方程(15.10)的平衡状态,那么对于输入u,它满足如下条件:x=(Ax+Bu)(15.15)不失一般性,让x=0,u=0。平衡状态如下:x=(0)换句话说,原点(0,0)代表平衡点。也不失一般性,我们可以限制到一个单一的输入,单输出系统以简化一下我们的论述。可以对方程(15.10)和(15.11)分别改写如下:x(n+1)=(wax(n)+wbu(n))(15.16)y(n)=cTx(n)(15.17)这里wb和c都是q列向量,u(n)是标量输入,y(n)标量输出。既然对应于(15.13)的或方程(15.14)的Sigmoid函数是连续可微的,我们可以通过展开它在平衡点附近x=0,u=0的Taylor级数,而仅保留一次项得到如下:x(n+1)=(0)wax(n)+(0)wbu(n)(15.18)这里x(n)和u(n)是分别应用到状态和输入的小扰动。qq矩阵(0)是(v)的关于v的在v=0时Jaccobi式。我们可以描述线性化的系统如下:x(n+1)=Ax(n)+bu(n)(15.19)y(n)=cTx(n)(15.20)这里qq矩阵A和q1列向量b分别定义如下:A=(0)wa15.21及b=(0)wb状态方程(15.19)和(15.20)是标准线性形式。利用线性动力系统的可控性和可观察性的著名的结果。局部可控性从线性化的方程(15.19),重复迭代产生下列结果:x(n+1)=Ax(n)+bu(n)x(n+2)=Ax(n+1)+bu(n+1)…….x(n+q)=Aqbx(n)+Aq-1bu(n+q-1)+……+Abu(n+1)+bu(n)这里q是状态空间的维数。方程(15.19)表示的线性化的系统是可控的如果矩阵满足下列条件Mc=[Aq-1b,……,Ab,b](15.23)有秩q,即满秩,因为这样线性化方程(15.19)有唯一的解。矩阵Mc叫做线性系统的可控矩阵。方程(15.16)描述的递归网络由一系列输入系列uq(n)所驱动,其定义如下:uq(n)=[u(n),u(n+1),……,u(n+q-1)]T(15.24)因此考虑映射G(x(n),uq(n))=(x(n),x(n+q))(15.25)这里G:R2qR2q。可以证明:状态x(n+q)是关于过去的值x(n)和输入u(n),u(n+1),…,u(n+q-1)的嵌套非线性函数.关于uq(n)的x(n+q)的Jaccobi矩阵在原点的值等于(15.23)的可控性的矩阵Mc。我们可以表示映射G关于uq(n)和x(n)的Jaccobi矩阵在原点(0,0)的值如下:)0,0()0,0()0,0()0,0()0,0()()()()()()()()(nuqnxnxnxnxqnxnxnxJqqc=cMXI0这里I是单位矩阵,0是空矩阵,X关紧要。因为它的特殊形式,J(c)(0,0)的行列式等于单位矩阵I的行列式(等于1)和可控矩阵Mc的行列式乘积。如果Mc是满秩矩阵,那么J(c)(0,0)也是。(x(n),x(n+q))=G-1(x(n),uq(n))(15.27)方程(15.27)实际上指出存在一个输入序列能局部驱动网络在q个时间步中从状态x(n)到x(n+q)。相应的,正式的局部可控定理如下:对于(15.16)和(15.17)定义的递归网络,它在原点附近(即,平衡点)的线性化方程由(15.19)和(15.20)所定义。如果线性系统是可控的,则递归网络是在原点附近是局部可控的。局部观察性重复用线性化的方程(15.19)和(15.20),可以得y(n)=cTx(n)y(n+1)=cTx(n+1)=cTAx(n)+cTbu(n)y(n+q-1)=cTAq-1x(n)+cTAq-2bu(n+q-1)+……+cTAbu(n+q-3)+cTbu(n+q-2)这里q是状态空间的维数。可以陈述方程(15.19)和(15.20)描述的线性化系统是可观察的,如果下列矩阵Mo=[c,cAT,…,c(AT)q-1]的秩为q,即满秩。矩阵Mc称为线性系统的可观察矩阵。如果线性化系统的可观察性矩阵Mo是满秩的,则存在一个反映射:(uq-1(n),x(n))=H-1(uq-1(n),yq(n))(15.33)实际上,这个方程表明在原点的局部邻域,x(n)是uq-1(n)和yq(n)的非线性函数,非线性函数是递归网络的观察者。因此局部可观察性定理可正式地陈述如下由(15.16)和(15.17)所定义的递归网络,让它在原点(即,平衡点)附近线性化的形式由(15.19)和(15.20)所定义。如果线性系统是可观察的,则递归网络在原点局部是可观察的。15.4有外输入的非线性自回归模型考虑单输入单输出的递归网络,其行为由状态方程组(15.16)和(15.17)所描述。给定这种状态模型,希望把它修改为一个输入输出模形,作为代表递归网络的一个等价物。用方程(15.16)和(15.17),输出y(n+1)可以用状态x(n)和输入向量uq(n)表示如下:y(n+q)=(x