对于DHNN,其网络状态是输出神经元信息的集合。
对于一个输出层是n个神经元的网络,则其t时刻的状态为一个n维向量:
y(t)=[y1(t),y2(t),...,yn(t)]
因为yi(t)可以取值为1或0,故n维向量y(t),即网络状态,有2n种状态.
对于一个由n个神经元组成的DHNN,则有nn权系数矩阵w={wij|i=1,2,...,n;j=1,2,...,n},同时,有n维阈值向量=[1,2,...,n]。
一般而言,w和可以确定一个唯一的DHNN.
当wi,j在i=j时等于0,则说明一个神经元的输出并不会反馈到它自己的输入。
这时,DHNN称为无自反馈网络.
当wi,j在i=j时不等于0,则说明—个神经元的输出会反馈到它自己的输入。
这时,DHNN称为有自反馈的网络.
2.1.1.2、工作方式
DHNN有二种不同的工作方式:
串行(异步)方式和并行(同步)方式.
1、串行(异步)方式
在时刻t时,只有某一个神经元j的状态产生变化,而其它n-1个神经元的状态不变这时称串行工作方式。
并且有:
在不考虑外部输入时,则有
2、并行(同步)方式
在任一时刻t,所有的神经元的状态都产生了变化,则称并行工作方式。
并且有
在不考虑外部输入时,则有
2.1.1.3、学习算法
Hopfield网络按动力学方式运行,其工作过程为状态的演化过程,即从初始状态按“能量”减小的方向进行演化,直到达到稳定状态,稳定状态即为网络的输出状态。
下面以串行方式为例说明Hopfield网络的运行步骤:
第一步对网络进行初始化;
第二步从网络中随机选取一个神经元
;
第三步求出神经元
的输入
:
第四步求出神经元
的输出
,此时网络中的其他神经元的输出保持不变;
说明:
为激励函数,可取阶跃函数或符号函数。
如取符号函数,则
Hopfield网络的神经元输出
取离散值1或-1,即:
第五步判断网络是否达到稳定状态,若达到稳定状态或满足给定条件,则结束;否则转至第二步继续运行。
这里网络的稳定状态定义为:
若网络从某一时刻以后,状态不再发生变化。
即:
。
2.1.2、连续Hopfield神经网络
连续Hopfield网络(简称CHNN)的拓扑结构和DHNN的结构相似.这种拓扑结构和生物的神经系统中大量存在的神经反馈回路是相一致的。
在CHNN中,和DHNN一样,其稳定条件也要求Wij=Wji。
CHNN和DHNN不同的地方在于其函数g不是阶跃函数,而是S形的连续函数.一般取g(u)=1/(1+e-u)
CHNN在时间上是连续的.所以,网络中各神经元是处于同步方式工作的。
2.1.2.1网络结构
考虑对于一个神经细胞,即神经元i,其内部膜电位状态用uj表示,生物神经元的动态(微分系统)由运算放大器来模拟,其中微分电路中细胞膜输入电容为Ci,细胞膜的传递电阻为Ri,输出电压为Vi,外部输入电流用Ii表示,神经元的状态满足如下动力学方程.
模仿生物神经元及其网络的主要特性,连续型Hopfield网络利用模拟电路构造了反馈人工神经网络的电路模型,图2-4为其网络结构:
电路中
微分系统的暂态过程的时间常数通过电容Ci,和电阻Ri并联实现,
跨导Tij模拟神经元之间互连的突触特性
运算放大器模拟神经元的非线性特性
Hopfield用模拟电路设计了一个CHNN的电路模型,如图2-3所示:
图2-3
图2-4
2.1.2.2基本算法
取参数
得:
过程:
先设定初态(
),运行至稳定,得到稳定状态。
对应输出:
由于Hopfleld网络是全反馈网络,因此当网络中神经元节点数目比较多时,网络的结构就过于复杂,并且Hopfleld网络中没有隐含层,使得网络的非线性性能比较差,因此在一定程度上限制了它的应用。
2.2、Elman神经网络
Elman网络是部分反馈网络的突出代表。
Elman网络是JeffreyL.Elman于1990年首先针对语音处理问题而提出来的,Elman神经网络是一种动态的反馈网络,它除了具有输入层、隐层、输出层单元外,还有一个特殊的联系单元(关于该网络的更详细内容可参考文献[6])。
联系单元是用来记忆隐层单元以前时刻的输出值,可认为是一时延算子,它使该网络具有动态记忆的功能。
2.2.1、网络结构
Elman网络结构如图2-5所示[7]。
图2-5Elman网络结构示意图
Elman网络由4层组成:
输入层信号传输作用
隐含层
承接层也称上下文单元或状态层,承接层从隐含层接收反馈信号,用来记忆隐含层神经元前一时刻的输出值,承接层神经元的输出经延迟与存储,再输入到隐含层。
这样就使其对历史数据具有敏感性,增加了网络自身处理动态信息的能力。
输出层仅起线性加权作用。
2.2.2、数学模型
其中连接权
为联系单元与隐层单元的连接权矩阵,
为输入单元与隐层单元的连接权矩阵,
为隐层单元与输出单元的连接权矩阵,
和
分别表示联系单元1和隐层单元的输出,
表示输出单元的输出,
为自连接反馈增益因子。
多取为sigmoid函数,
2.2.3学习算法
设第k步系统的实际输出为
,则Elman网络的目标函数即误差函数可表示为:
根据梯度下降法,分别计算E(k)对权值的偏导数并使其为0,可得到Elman
网络的学习算法:
Elman神经网络学习算法流程图
图2-6
2.3、无反馈神经网络
时延神经网络是一种典型的无反馈网络,这种网络模型是在多层前向神经网络模型的基础上引入时间延迟器得到的,该网络自隐层至输出层的所有节点,与上一层每个节点的输出之间存在一组并行延迟单元。
图2-7为延时器连接结构,图2-8为l层节点i到l+1层节点j之间的延时器内部结构,节点j时输入为上一层节点i在
时刻输出的加权和,
为层延时器的延迟单元数目,延迟单元的引入使神经元不但了解当前时刻输入的信息,还了解过去时刻输入的信息,有利于序列数据的识别。
图2-7图2-8
3、DNN实际应用
动态神经网络具有很强的学习能力和逼近任意非线性函数的特点,自20世纪80年代末以来,将动态神经网络作为一种新的方法引入复杂非线性系统建模中引起了工程控制领域许多学者的关注。
动态神经网络现在已经广泛地用于模式识别、语音识别、图象处理、信号处理、系统控制、AUV自适应航向和机器人控制、故障检测、变形预报、最优化决策及求解非线性代数问题等方面[8]。
3.1、故障检测
估计方法在故障检测中应用广泛,如发动机的故障检测。
用故障参数估计实现发动机故障检测,由于构建的发动机数学模型的不精确性,影响了检测性能。
静态反推神经网络可以实现系统的动态辨识过程,但反推神经网络的学习算法存在局部极小问题,在线学习收敛速度比较慢,不易满足工程上实时性要求。
动态神经网络直接用李雅诺夫方法推出神经网络的权值修改公式,得到稳定的学习规则,并且学习收敛到全局最优,因此可以考虑用动态神经网络来辨识发动机的动态响应过程,估计发动机传感器测量信号。
基于发动机测量信号与动态神经网络辨识信号得到的残差信号,然后将残差信号的某一特定范数输入检测逻辑,得到发动机故障检测结果,实现动态神经网络的故障检测策略[9]。
3.2、变形预报
静态神经网络模型用于在线时间序列的预报时具有局限性,即网络的泛化能力有限,且模型不能不断地适应新增样本的变化。
如果每增加一个样本对神经网络重新训练,需要大量的计算时间。
由此产生了动态神经网络预报模型。
在获得新增样本数据之后,通过比较预报值与实际值之差的绝对值是否大于敏感因子a,决定模型是否需要修正。
使用在线动态修正方法降低了模型修正的计算时间,,实现了增加样本而矩阵阶数不增加,且避免了矩阵求逆运算,提高了计算效率。
该方法在计算时间和预报精度两个方面都具有一定优势,可应用于在线实时变形预报及相关领域[10]。
3.3、交通事件自动检测
交通事件的自动检测算法发展至今已有几十年的历史,较早期代表性算法有:
California算法及其10个版本的改进算法、时间序列算法、贝叶斯算法、动态模型算法、突变论算法等,这些算法均有各自的特点,但都不能完全满足事件检测的要求,不同的算法只是在不同的情况下性能优越,从理论上讲,动态模型法捕捉交通动态过程及自适应方面较好,且其可移植性好,但是它的计算效率需要进一步改善;突变论方法从计算效率和实时运行以及实现上具有无可比拟的优越性,但是它的检测性能指标需要进一步的提高。
近二十年随着神经网络的迅速发展,尤其是在处理非线性问题上的优势,使得神经网络已经应用于事件检测中并充分显示出它优于其他算法的特点。
目前应用于事件检测中的神经网络大多是应用静态前馈神经网络进行模式分类,这种网络的特点是结构简单、训练方法成熟,但是它的动态性能比较差,满足不了像交通流这样高度复杂的动态大系统。
在动态神经网络的基础上融合了基于状态估计的非线性系统故障检测的方法,以改善神经网络的动态性,使其更适合进行检测交通事件。
具体做法是:
依据基于状态估计的非线性系统故障检测的基本原理,利用动态神经网络根据一段高速公路两端的检测数据来估计路段中间的交通状态,并将状态的估计值与实测值进行比较,产生残差向量,通过对残差向量的分析,确定事件的发生及性质[11]。
3.4、最优化问题计算
人工神经网络的大部分模型是非线性动态系统,若将计算问题的目标函数与网络某种能量函数对应起来,网络动态向能量极小值方向移动的过程则可视作优化问题的解算过程,稳态点则是优化问题的局部的或全局最优动态过程解。
这方面的应用包括组合优化、约束条件优化等一类求解问题,如:
任务分配、货物调度、路径选择、组合编码、排序、系统规划、交通管理以及图论中各类问题的解算等。
3.5通信
卫星通信逐渐从单纯的军用通信,转向了民用领域。
随着OFDM,WCDMA等高峰均比调制技术在新一代卫星通信中的大量使用,这些宽带信号会引起带外干扰,从而造成发射信号的失真。
为了解决上述问题,双盒Wiener预失真方法、双盒Hammerstein预失真方法、Volterra滤波预失真方法和人工神经网络方法等预失真方法被广泛应用于星载功率放大器线性化处理。
现在卫星上正在使用的预失真方法主要集中于双盒Hammerstein预失真方法和双盒Wiener预失真方法,这两种方法均采用2个子块,一个用于消除功率放大器的非线性,另一个用于消除功率放大器的记忆效应,但是随着高峰均比调制技术在卫星通信中的应用,功率放大器的非线性特性和记忆效应呈现出交互特性,将非线性特性和记忆效应分别进行处理已不能满足卫星通信的需求。
针对下一代卫星通信的需求,预失真技术主要采用Volterra滤波预失真方法和神经网络预失真方法。
文献[12]和文献[13]提出基于前馈法和反馈法的Volterra滤波预失真方法,为了追求一定的线性化精度,但这两种方法所采用的Volterra模型的阶数都较长,导致预失真器的系数更新速度较慢,当发射信号的变化较大时,会产生很大的延时。
神经网络预失真方法也是目前最热门的预失真技术,文献[14]提出了一种基于多个隐层来消除记忆效应和非线性特性的方法,但随着隐层数量和神经元的增加,会导致计算量急剧增长,从而使神经网络的系数产生较大的延时。
文献[15]提出了一种基于幅度和相位的双神经网络预失真方法,该方法由于采用非直接的训练算法,导致卫星长时间工作的记忆效应无法得到修正,并且神经网络模型系数采用矢量来代替矩阵,随着时间的延长,会产生较大的误差。
针对上述缺点,采用直接学习法的动态神经网络预失真方法,该方法首先通过对输入信号进行幅度和相位的分离,并分别利用神经网络预失真方法对数据进行处理,在处理过程中引入前M个时刻的输出所构造的记忆效应反馈模型,并详细推导整个神经网络预失真方法的数学算法。
该方法与没有经过预失真处理的方法相比可以有效消除功率放大器的非线性特性和记忆效应,在高速卫星通信中具有较好的应用价值[16]。
3.6模式信息处理和模式识别
所谓模式,从广义上说,就是事物的某种特性类属,如:
图像、文字、声纳信号、动植物种类形态等信息。
模式信息处理就是对模式信息进行特征提取、聚类分析、边缘检测、信号增强噪声抑制、数据压缩等各种变换。
模式识别就是将所研究客体的特性类属映射成“类别号”,以实现对客体特定类别的识别。
人工神经网络所具有的非线性映射能力和高度并行运算能力为非线性动态负荷模型的辨识提供了一条有效的途径。
动态神经网络特别适宜解算这类问题,形成了新的模式信息处理技术。
它在各领域的广泛应用是神经网络技术发展的重要侧面。
这方面的主要应用有:
图形符号、符号、手写体及语音识别,雷达及声纳等目标的识别,药物构效关系等化学模式信息辨识,机器人视觉、听觉,各种最近相邻模式聚类及识别分类等等。
目前基于动态神经网络的研究、应用越来越广。
动态神经网络已推广到方方面面。
例如:
Hopfield神经网络及其应用的图像边缘检测[17];Hopfield网络及其在图像识别中的应用[18];基于Elman神经网络的股票价格预测研究[19];改进的Elman网络在火工品气动压力机建模中的应用[20];基于Elman动态神经网络的煤质预测算法研究[21];基于动态BP神经网络的财务危机预警算法研究[22]等等。
4、DNN改进
Elman网络采取与BP网络一致的权值更新方法——梯度下降法,其缺陷是容易陷入局部最小值,可以借助遗传算法来训练优化初始权值。
遗传算法针对所给问题进行编码,通过选择、复制、交叉、变异这几种进化机制来寻找最优解。
因此,遗传算法全局变异算子可以避免陷入局部最优,并且由于其具有并行搜索的特性,保证了算法的快速、稳定。
Elman网络的初始权值由随机产生的1到l之间的均匀实数组成。
每次训练完毕,计算一次均方误差MSE。
同时,把误差平方和E(t)作为遗传算法的适应度函数,通过引用遗传算法优化误差平方和,来确定最优的初始权值。
由于适应度函数通常寻求最大值,而网络要求误差平方和最小,所以这里用f=1/E(t)代替目标函数。
改进后的GA.Elman神经网络模型的工作流程如下:
(1)Elman网络初始化以及初始权值编码。
遗传算法将Elman网络的初始随机基于动态神经网络的股价预测模型研究权值编码为若干染色体组成的初始种群。
(2)适应度函数的选取适应度函数式。
(3)选择算子。
(4)交叉算子。
遗传算法的交叉操作分为控制基因交叉和参数基因交叉。
这里,对控制基因串采用单点交叉。
由于参数基因采用实值编码,为保证交叉后产生新的参数值,并开辟出新的搜索空间,参数基因的交叉操作采用线性组合方式,将两个基因串对应交叉位的值相组合生成新的基因串,
(5)变异算子
对控制基因,变异操作可以以一定的概率对变异位进行取反运算;而对参数基因的变异操作,可采用均匀变异,即以一定概率给变异位基因加一个符合某一范围内均匀分布的随机数。
(6)形成新的一代并检验是否满足停止准则,最后产生优化后的神经网络初始权值。
(7)Elman网络开始工作,进行学习和训练,并更新权值,计算网络误差,检验是否达到要求精度并利用测试集检验网络效果。
参考文献
[1]张青贵.人工神经网络导论[M]、北京:
水利水电出版社,2004.5-20
[2]王颖.基于动态神经网络的系统建模理论及优化技术研究[D].大庆.东北石油大学计算机与信息技术学院.2011
[3]GrossbergS,Adaptivepatternclassificationanduniversalrecording.I:
Paralleldevelopmentandcodingofneuralfeaturedetectors,Biolog.Cybernetics[M],Boston,1976,23:
121-134.
[4]GrossbergS,Adaptivepatternclassificationanduniversalrecording.II:
Feedback,expectation,olfaction,andillusion,BiologyCybernetics[M],Boston,1976,23:
187-202
[5]杨盈.Hopfield神经网络的改进及其应用基于Hopfield神经网络的脱机手写数字识别[D].无锡.江南大学物联网工程学院.2008
[6]Shi,X.H.,Liang,Y.C.,Lee,H.P.,Lin,W.Z.,Xu,X.andLim,S.P.ImprovedElmannetworksandapplicationsforcontrollingultrasonicmotors[J].AppliedArtificialIntelligence,2004,18:
603-629.
[7]韩旭明.Elman神经网络的应用研究[D].天津.天津大学.2006
[8]李嘉刚.动态神经网络的模型[D].青岛.中国海洋大学.2010
[9]黄敏超,张育林,陈启智.动态神经网络在液体火箭发动机故障检测与分离中的应用[J].航空动力学报,1996,11
(2):
149-152.
[10]邓兴升,王新洲.动态神经网络在变形预报中的应用[J].武汉大学学报,2008,