近年来单层全互联网络日益受到研究者的重视。多重分支全互联网络节点之间为多重分支连接,且不同分支上具有任意时间延迟,每个节点可以外加输入,网络动态特性更为明显,网络结构也更为紧凑。由于网络采用通用的梯度学习算法和一般化的网络结构,因此网络具有较好的函数逼近能力和柔性。
通用学习网络(ULN)即为一种多分支时间延迟递归神经网络,与其他神经网络对比,其结构有明显的特点。首先网络的所有节点都是互连的,既包含节点之间的反馈,也包含节点自身的反馈;其次,每两个节点之间可以具有多重分支,而不像常规神经网络节点之间只有一个连接;第三,每个分支上具有任意的时间延迟,使网络的时序特点更加明显,即网络各节点当前时刻的输出不仅取决于当前时刻网络的输入,还与前几个时刻网络各节点的输出有关,而且该时间可以根据对象的已知特性进行设置,这使得神经网络能够充分利用已知信息,提高网络的学习效率。
ULN网络结构如图5.11所示,图中Ni表示节点i,Dij(p)表示从节点i到节点j的第p条分支上的延迟时间,则网络节点输出的一般方程式如下:
式中:hj(t)为节点j在t时刻的输出;fj(·)为节点j的非线性函数;JF(j)为输出与节点j相连的节点集合;B(i,j)为节点i到节点j的分支集合;λm(t)为网络第m 个参数在t时刻的数值;M(j)为可变参数的下标集合;rn(t)为t时刻第n个节点的外部输入;N(j)为节点集合;t∈T,T为采样时间。
图5.11 通用学习网络的基本结构
可以看出,ULN具有一般化的柔性网络结构,根据实际对象的特性任意设置节点之间的延迟时间,同时结合多重分支的连接形式,使得网络可以更好地反映复杂系统的动态特性。
多重分支的引入也会增加网络结构的复杂程度和计算的难度。考虑到混沌时间序列预测的一些特点,在ULN的基础上引入了一种特殊的多重分支时间延迟递归神经网络——递归预测器神经网络(RPNN)。其节点代表过程状态,节点间的分支及分支上的延迟代表状态之间的关系,符合现实生活中多种复杂系统的内部关系。图5.12为RPNN的结构图,神经元节点按照功能分为输入节点,状态节点和输出节点。输入节点接受外部输入,输出节点输出网络对输入的响应,状态节点则反映了输入输出之间的映射关系。网络节点可以同时执行多项功能。该网络主要特点有:
图5.12 递归预测器神经网络结构
(1)网络不包含隐含层,确定网络结构只需选择网络节点数和相应分支数。显然,由式(5.43),节点数n≥m。
(2)考虑现实系统几乎都是因果系统,即系统的当前状态由系统当前输入和历史状态决定,而当前状态却不能反过来影响系统历史状态,所以网络具有局部反馈方式。设某节点对应的状态点为x(t),则该节点输出只反馈到本身及代表其后续状态x(t+τ),x(t+2τ),…等节点的输入,这种局部反馈结构可以减少计算量,同时避免多余分支对输出的干扰。
相应节点之间的分支数为P,则P≥m,对应时间延迟为0,τ,…,(P—1)τ。这种网络结构使得每个节点的输入输出始终满足式(5.39)所示相空间元素之间的关系。
用神经网络建立系统预测模型,首先就是网络输入、输出变量的选取。设RPNN网络具有n个节点,由以上讨论可知,网络输入对应为历史状态X(t)=﹛x(t),x(t—τ),…,x[t—(n—1)τ]﹜T,网络输出为待预测的值。则网络一般输出方程为
式中:yj(t)为t时刻节点j的输出;σj(·)为节点j的非线性函数;xj(t)为t时刻节点j的外部输入;bj(t)为节点j的阈值;Pij为节点i到节点j的分支数;Dij(p)为节点i到节点j的第p条分支延迟时间;(t)为节点i到节点j第p条分支的权系数在t时刻的值。
非线性函数σj(·)决定了神经元的输出。一般来说,神经元的非线性函数σj(·)应该满足:①简单、易于运算,满足可微、有界、非常值的条件,有界输入时给出有界输出;②因为神经网络学习算法大多是基于梯度的算法,σj(·)的偏导计算也应简单,最好是网络训练计算结果的副产品。
常用的神经元非线性函数有
线性单元
对数Sigmoid单元
双曲正切Sigmoid单元
2.网络算法描述
训练多重分支时间延迟神经网络,算法中需要考虑时序的影响。
时序偏微分[26]是一种全求导方式,它同时考虑了变量变化影响输出的直接和间接两种途径。以一个简单过程为例
y是变量x的一个函数,x的变化势必引起y的变化,并间接作用在z上,则有z对x的时序偏微分为
结合时序偏微分和BPTT算法训练多重分支时间延迟神经网络,包括两种基本方式:逐个处理和成批处理。逐个处理是指依次输入样本,每输入一个样本都进行连接权的调整;成批处理是在所有样本输入后计算其总误差,再进行连接权的调整。设Θ(t)=[θ1(t),θ2(t),…]T为包含所有网络可调参数的向量,则对可调参数θi(t),调整式为:
逐个处理方式中(www.xing528.com)
式中:为对应时序偏微分;yj(t)为神经元j在t时刻的输出;DO(θi)为输出受参数θi直接影响的节点集合。
成批处理方式为
式中:TS为采样时间集合。
下面以成批处理为例,说明递归预测器网络的训练算法。选取网络神经元函数为
式中:A 为幅值常参数;φj为斜率参数;其他变量含义同前。令网络输出节点个数为M,样本个数为S,(t)为期望输出信号,选定网络目标函数为
则网络训练的基本步骤为:
(1)随机选取网络权值初始值。
(2)设训练进行到t′步,基于现有网络参数,按式(5.59)、式(5.60)计算网络各节点输出。
(3)按照式(5.61)计算网络目标函数。如果ES足够小,则认为网络已收敛完毕,可以进行预测。否则进行下一步调整网络参数。
(4)进行网络参数调整,结束后返回步骤(2)。其中网络参数的调整步骤为
其中μ为学习率,0<μ<1。权值调整为
阈值调整为
节点j的输出被看作中间变量
K表示输入包含节点j输出的节点的集合,分别计算式(5.64)、式(5.65)和式(5.66)的右边各项如下:
MO为网络输出节点集合。因为式(5.61)中不包含权值和阈值的显式项,所以
分析上述网络的学习过程可知,基于梯度下降原则调整权值,网络目标函数必定能够收敛到一个解,因为
则误差的变化量表示为
所以误差总是向减少的方向变化,直到ΔES足够小为止。
以上过程中,学习率μ对收敛速度的影响很大。原则上μ的调整是使优化过程的梯度尽量保持较大的值,加速训练过程而又不致使学习过程失稳。根据误差变化的信息和误差函数对连接权梯度变化的信息可以对μ进行自适应调整。如果目标函数呈下降趋势,说明还未达到极小点,学习率应增加提高学习速度;如果目标函数呈上升趋势,说明可能已超出极小点范围,学习率应降低减少学习步长,使权值更新仍然在极小值范围内。设a0>1,a1、a2为常数,该迭代过程可描述如下:
上述计算步骤中,如果每输入一个样本,就进行一次(1)到(4)的运算,则转化为逐个处理方式。步骤(2)计算过程表明根据输入计算出节点输出后,在调整网络权值的过程中,直接应用了节点输出值,无需进行额外的指数运算,因此,可以简化计算,加快网络训练过程。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。