动态神经网络的模型
李嘉刚
(中国海洋大学信息科学与工程学院电子系,青岛264005)
摘要:动态神经网络(DNN)由于具有很强的学习能力和逼近任意非线性函数的特点而被广泛应用。本文主要介绍动态神经网络的几种常见模型,比较不同模型之间的区别,在此基础上介绍一下动态神经网络的功能及应用。
关键词:动态神经网络,动态神经网络模型
神经网络按是否含有延迟或反馈环节可以分为静态神经网络和动态神经网络,含有延迟或反馈环节的神经网络称为动态神经网络。动态神经网络主要包括Hopfield型神经网络及细胞神经网络模型。Hopfield型神经网络模型是由N个节点全部互相联结而构成的反馈型动态网络系统。由于它可以实现联想记忆,并能进行优化问题的求解,因而受到人们的高度重视,并对神经网络理论的研究产生了重大的影响。细胞神经网络系统与Hopfield神经网络系统结构上有很大的相似之处,不同之处在于Hopfield神经网络系统的神经元为全联结,而细胞神经网络系统不是全联结。反映在模型的数学表述上就在于关联矩阵的特性不一样。特性的不一样就决定了它们的应用范围不一样。细胞神经网络系统主要在图象处理和汉字识别等方面有良好的应用前景,因此也受到了人们的广泛关注[1]。
一、动态神经网络模型
根据网络结构特点,将它们分为3类:全反馈网络结构,部分反馈网络结构以及无反馈的网络结构。
1.1全反馈网络
全反馈网络的突出代表就是Hopfield 网络,是由Hopfield在1982年提出的,如图1所示,是一种单层对称全反馈的结构。Hopfield根据系统动力学和统计力学的原理,将“能量函数”的概念引入到对称Hopfield网络的研究中,给出了网络的稳定性判据。可以证明,采用Hebb规则进行训练的Hopfield网络系统总是朝着能量减小的方向变化,最终进入稳定状态,即收敛于某个平衡点。
由于Hopfield网络的连接是全连接,因此当节点数目比较多时,网络的结构过于复杂,而网络结构中没有隐含层,使得网络的非线性性能较差,尤其是对于复杂的非线性动态过程系统,因此在一定程度上限制了它的应用[2]
静态网站和动态网站区别
图1Hopfield网络结构图
1.2部分反馈的神经网络
全反馈的神经网络结构复杂,在实际应用的时候往往需要简化,同时保留动态的性能,比较典型的有Elm络、Jord络、内回归网络、外回归网络等。这样的网络结构常常是看作在多层前向网络的基础上加入各种反馈。
1.2.1Elman神经网络
Elman神经网络是在三层前向网络的基础上将隐含节点输出反馈到输入端而得到的,如图2所示,包含虚线。隐含节点的输出可以看作系统的状态(虚拟状态),因此这种反馈网络又叫做状态反馈网络。Elm络结构可由非线性离散时间系统的状态空间
描述得出:
Y(k+1)=f2(X(k+1))
=f2(f1(X(k),U(k)))
=f(X(k),U(k))
由上式的,系统的k+1时刻的输出可以表示为第k时刻的系统状态和外界输入的函数。值得注意的是,式中X为真实系统状态,而Elm络中隐含节点输出没有具体的物理意义,但都起到记录过去的系统信息的作用。隐含节点的数目或虚拟状态的数目可以凭借经验来确定,但这样的方式往往不可靠,而且费时;比较好的方法是采用剪枝法来确定虚拟状态的数目。理论上,Elm络可以对n阶系统建模,如果采用前向网络,则需要2n个输入节点,对于Elm络输入节点只需要1个或者n+1个(这时反馈节点被看作是输入节点),因此Elm络结构要简单得多。Elm络适用于一阶线性系统建模,对高阶系统有困难,大的学习速率导致振荡或者不稳定,学习速率小时又导致训练过程耗时大,又不能增加隐含层节点的数目太多。基于此情况,提出了一种改进的Elm络,即在反馈节点上加自反馈,系数为α,如图2中虚线所示。α值在0-1之间,越接近1,则反馈中包含的过去的输出越多,因为系统的阶数与当前输出对过去时刻输入的依赖程度有关,自反馈的引入提高了Elm络对高阶系统的建模能力。Elm络的训练可以采用传统的BP算法,也可以采用遗传算法(D.T.Pham,1999)[3]
图2Elman
网络结构图
图3Jord络结构图
1.2.2Jordan神经网络
Jord络结构如图3所示,不包含虚线部分。网络的输出反馈到输入层。由非线性系统状态空间方程可以推出:
X(k+1)=f-12(Y(k+1))
Y(k+1)=f2(X(k+1))
=f2(f1(X(k),U(k))
=f2(f1(f-12(Y(k)),U(k))
=f′(Y(k),U(k))
从上式可知,系统k+1时刻的输出可以表示为k时刻的输出Y和输入U的函数的形式。反映在网络结构上就是将网络的输出延迟一个时间步长后反馈到系统的输入端,从而得到Jord络结构。Jord络也不能实现一般n阶系统的建模,因此,类似于修正的Elm络,也将Jord络在状态层加自反馈进行修正,使得网络可以记住过去更多时刻状态的信息,网络的非线性性能大大提高。
D.T.Pham等结合这两种网络的特点,提出了一种混合网络结构,即网络中同时包含从输出层和隐含层来的反馈,此种网络理论上能对任意阶数线性动态系统和任意阶数的非线性系统建模。
1.2.3多层反馈RNN网络
根据Elm络及其局限性,文献中提出了适用于化工复杂系统建模的神经网络结构,如图4所示。即在原Elman神经网络的基础上增加多层反馈子层,这样n个反馈子层可以保存n个时刻的隐含层节点的输出,各个反馈子层可进行短时记忆,与Elm
络比较,保存了更多的一些空间状态信息,更加接近实际模型,表现出更强的动态特性。与改进的Elm络相比,多层反馈子层与隐含层之间的连接权重可以在训练过程中不断的修正,更能真实地反映出过去时刻系统状态对当前时刻输出的贡献程度,而修正的Elm络中的自反馈系数是不变的[4]
图4
多层反馈神经网络结构
图5对角回归神经网络模型
1.2.4对角回归神经网络
对角回归神经网络根据对角回归元所在位置分为内回归对角神经网络(有的文献中也叫IRNN,即internal recurrent neural network)和外回归对角网络(ERNN,external recurrent neural network)。前者是一种仅在网络隐含层有内部时延自反馈的神经网络结构,可以看作Elm络的一种简化,结构简单,但也能
实现动态映射。隐含层中每一个均为激励函数为S型函数的回归元,如图5所示,其中,有阴影的神经元代表为对角回归元。正因为对角回归元的存在使得网络具有很强的描述动态系统的能力。方框中z-1表示延迟一个时间步长。可以证明当网络采用梯度方法进行训练的时候,若学习速率满足一定的值,那么能保证在二次型指标函数下训练算法收敛。外回归对角神经网络与对角回归神经网络结构类似,只是对角回归元在输出层。根据两类网络的特点,提出的一种混合的对角回归神经网络(IERNN),具有更好
的性能。这一点类似于D.T.Pham提到的混合神经网络,而实际上这里的IERNN可以看作混合神经网络的简化形式。
1.3无反馈的神经网络结构
1.3.1时延神经网络
时延神经网络,即TDNN(time-delayed neural network)。这种网络就是将实际系统的输入和输出的过去值当作网络的输入,下一个输出作为教师信号,结构如图6所示。网络结构本身是静态的,但是通过时延输入,就把一个时域问题转变为空间领域的建模问题。我们将离散时间系统状态空间表示通过变换而对此网络结构给出合理化的解释。
Y(k+1)=f2(X(k+1))
=f2(f1(X(k),U(k)))
=f′(X(k),U(k))
=f″(X(k-1),U(k),U(k-1))
=f(n-1)(X(k-n),U(k),…,U(k-n))
如式上式所示,k+1时刻的输出可以表示为第k-n时刻系统状态和前n个时刻系统输入的函数,而当n足够大时,可以将X(k-n)项忽略,这样,k+1时刻的输出就表示为前n个时刻的输入变量的函数,即:
Y(k+1)=f(U(k),U(k-1),…,U(k-n))(6)
这种网络仍然是多层前向网络,优点就是利用现有的输入输出数据,算法成熟,网络模型收敛性好,缺点是输入变量多,容易受外界噪声的影响,对于高阶系统预测精度要差。
1.3.2DBPNN神经网络
文献中提出一种DBPNN网络结构,在传统的多层前向网络的基础上加以改进,即利用输入时延,使得网络能够反应系统的动态特性,并通过引入集中节点,而使得网络的结构大为简化。这样的网络结构已经成功地应用于炼油厂分馏装置质量参数预测建模
中,与相应的静态BP网络所建立的模型比较,具有更高的预测精度。网络结构如图7
所示。
图6TDNN
结构图
图7DBPNN结构图
二、动态神经网络的功能
动态神经网络(DNN)具有很强的学习能力和逼近任意非线性函数的特点,自20世纪80年代末以来,将动态神经网络作为一种崭新的非线性模型引入复杂系统的建模中引起了许多学者广泛关注[2]。动态神经网络现在广泛地用于模式识别、语音识别、图象处理、信号处理、系统控制、AUV自适应航向和机器人控制、故障检测、变形预报、最优化决策及求解非线性代数问题等方面。
2.1故障检测
估计方法在故障检测中应用广泛,如发动机的故障检测。用故障参数估计实现发动机故障检测,由于构建的发动机数学模型的不精确性,影响了检测性能。静态反推神经网络可以实现系统的动态辨识过程,但反推神经网络的学习算法存在局部极小问题,在线学习收敛速度比较慢,不易满足工程上实时性要求。动态神经网络直接用李雅诺夫方法推出神经网络的权值修改公式,得到稳定的学习规则,并且学习收敛到全局最优,因此可以考虑用动态神经网络来辨识发动机的动态响应过程,估计发动机传感器测量信号。基于发动机测量信号与动态神经网络辨识信号得到的残差信号,然后将残差信号的的某一特定范数输入检测逻辑,得到发动机故障检测结果,实现动态神经网络的故障检测策略[3]。
2.2变形预报
静态神经网络模型用于在线时间序列的预报时具有局限性,即网络的泛化能力有限,且模型不能不断地适应新增样本的变化。如果每增加一个样本对神经网络重新训练,需要大量的计算时间。由此产生了动态神经网络预报模型。在获得新增样本数据之后,通过比较预报值与实际值之差的绝对值是否大于敏感因子a,决定模型是否需要修正。使用在线动态修正方法降低了模型修正的计算时间,,实现了增加样本而矩阵阶数不增加,且避免了矩阵求逆运算,提高了计算效率。该方法在计算时间和预报精度两个方面都具有一定优势,可应用于在线实时变形预报及相关领域[4]。
2.3模式信息处理和模式识别
所谓模式,从广义上说,就是事物的某种特性类属,如:图像、文字、声纳信号、动植物种类形态等信息。模式信息处理就是对模式信息进行特征提取、聚类分析、边缘检测、信号增强噪声抑制、数据压缩等各种变换。模式识别就是将所研究客体的特性类属映射成“类别号”,以实现对客体特定类别的识别。人工神经网络所具有的非线性映射能力和高度并行运算能力为非线性动态负荷模型的辨识提供了一条有效的途径[5]。动态神经网络特别适宜解算这类问题,形成了新的模式信息处理技术。它在各领域的广泛应用是神经网络技术发展的重要侧面。这方面的主要应用有:图形符号、符号、手写体及语音识别,雷达及声纳等目标的识别,药物构效关系等化学模式信息辨识,机器人视觉、听觉,各种最近相邻模式聚类及识别分类等等。
2.4最优化问题计算
人工神经网络的大部分模型是非线性动态系统,若将计算问题的目标函数与网络某种能量函数对应起来,网络动态向能量极小值方向移动的过程则可视作优化问题的解算过程,稳态点则是优化问题的局部的或全局最优动态过程解。这方面的应用包括组合优化、约束条件优化等一类求解问题,如:任务分配、货物调度、路径选择、组合编码、排序、系统规划、交通管理以及图论中各类问题的解算等。
2.5复杂控制
神经网络在诸如机器人运动控制等复杂控制问题方面有独到之处。较之传统数字计算机的离散控制方式,更适宜于组成快速适时自适应控制系统。这方面主要应用是:多变量自适应控制、变结构优化控制、并行分布控制、智能及鲁棒控制等。
2.6通信
神经网络的自学习和自适应能力使其成为对各类信号进行多用途加工处理的一种天然工具,尤其在处理连续时序模拟信号方面有很自然的适应性。这方面的主要应用有:自适应滤波、时序预测、谱估计和快速傅里叶变换、通信编码和解码、信号增强和降噪、噪声相消、信号特增检测等。神经网络在作弱信号检测、通信、自适应滤波等方面的应用尤其引人注目,已在许多行业得到运用。
2.7基于动态神经网络的AUV航向自适应控制
为保障AUV在海上航行的安全性、操纵性和经济性,航向控制一直都是AUV控制领域的一个重要课题。航向控制的主要任务有两个:保持航向和改变航向。海洋环境的复杂性以及自身模型的不确定性,给自主潜航器(AUV)航向控制带来很大困难。
动态神经网络被应用到AUV控制领域起源于1990年Yull用一个三层BP神经网络控制器直接替代了传统控制器。他把传统控制器直接用神经网络控制器代替,形成一个单反馈回路,设定点或者期望的系统输出送到控制器作为输入,神经网络控制器产生对AUV推进器或舵的输入信号,AUV的实际输出信号反馈给神经网络控制器。神经网络基于AUV实际输出信号和期望输入信号进行学习,通过这种完全在线学习过程,神经网络控制器调整权值适应系统的动态变化。
目前,基于神经网络的AUV自适应控制的主要研究热点集中在控制系统的稳定性、收敛速度以及鲁棒性方面。针对AUV 的动态特点和控制方面所存在的问题,可以采用带衡量因子的动态B P神经网络控制器控制AUV的航向。
采用动态BP神经网络作为AUV航向控制器,控制器结构如图8所示控制器由10-6-1三层前向网络组成,即10个输入神经元、6个隐含层神经元和1个输出神经元,网络输入由指定航向,K、K-1和K-2时刻神经网络控制器输出的舵角,K、K-1和K-2时刻AUV的实际航向角Ψ,K、K-1和K-2时刻的偏航率r组成。
理论分析和仿真结果表明,与传统的PID控制器相比,在扰动存在的情况下,神经网络控制器具有更好的自适应性和鲁棒性。
2.8动态神经网络在机器人控制中的应用
机器人的精确控制问题是机器人研究领域中极具挑战性的课题传统,PD控制是常用的不依赖于系统模型的控制方法,由于机器人系统的动态不确定性,使得只采用PD控制器的系统跟踪性能并不理想。在传统PD控制器的基础上,增加动态神经网络控制器。此时的神经网络控制器起着前馈控制器的作用,建立被控对象的逆模型。神经网络控制器以PD控制器的输出建立其学习的性能指标函数,通过学习PD控制器的输出信号,在线学习,调整连接权值,直至达到使反馈误差趋近于零的目的。
有人提出一种新的动态递归网络结构——状态延迟输入动态递归网络作为机器人控制系统的神经网络控制器。拓扑结构如图3所示,网络将输入输出状态向量作为单独一组输入,称其为状态结构单元。这一组输入作为结构单元的平行结构,它们与隐层神经元相连接的矩阵有自己的含义,称为前向滤波权矩阵,其性能将依赖于设计者对滤波系数的选取。这里将该矩阵设计为可变