张 勇,孙亚民,吴建洪
(1.佛山科学技术学院 电子与信息工程学院,广东 佛山 528000;2.南京理工大学计算机科学与技术学院,江苏 南京 210094)
从功能上来说,模糊系统和神经网络都是无模型的函数逼近器,更明确地说,它们旨在从一个函数f中提取样本,从而得到未知函数f:Rr→Rs的逼近[1]。理论研究表明:无论是神经网络还是模糊推理系统都是通用逼近器,换言之,只要给出足够多的隐层神经元或者模糊规则,它们就能以任意规定的精度逼近任意函数。由于模糊神经网络不仅吸取了模糊逻辑和神经网络二者的优点,还克服了各自具有的缺点,即模糊神经网络有着明确的物理意义,专家知识很容易结合到模糊神经网络中,这对提高收敛速度、缩短训练时间是很有帮助的[2]。正因如此,模糊神经网络成为当前研究的一个热点,并形成了一个较为完善的体系。本文提出了一种动态模糊神经网络结构的快速学习算法,该模糊神经网络结构基于扩展的径向基神经网络。
本文所研究的动态模糊神经网络在结构逻辑上分5层。第1层称为输入层,每个节点分别表示一个输入的语言变量;第2层称为隶属函数层,每个节点分别代表一个隶属函数;第3层称为T-范数层,每个节点分别代表一个可能的模糊规则中的IF-部分;第4层称为归一化层,称这些节点为N节点。第5层称为输出层,该层中的每个节点分别表示一个输出变量,该输出是所有输入信号的叠加。模糊神经网络等同于一个扩展的RBF神经网络。多输入单输出的RBF网络结构如图1所示,图2 是RBF神经网络逼近[3]。
图1 RBF神经网络结构
图2 RBF神经网络逼近
在RBF网络结构中,X=[x1,x2,…,xn]T为网络的输入向量。设RBF网络的径向基向量μ=[μ1,μ2,…,μm]T,其中μj为高斯函数:
(1)
其中RBF网络第j个节点的高斯函数的中心为cj=[cj1,…,cjm]
设高斯函数宽度为
σ=[σ1,σ2,…,σm]T
(2)
σj为节点j的高斯函数宽度,且大于零的数。网络的权向量为
W=[w1,w2,…,wm]T
(3)
RBF网络的输出为
ym(t)=w1μ1+w2μ2+…+wmμm
(4)
RBF网络性能指标函数[5]:
(5)
RBF网络输出权值、高斯函数中心及高斯函数宽度的迭代算法如下:
wj(t)=wj(t-1)+η(y(t)-ym(t)μj+
α(wj(t-1)-wj(t-2))
(6)
(7)
σj(t)=σj(t-1)+ηΔσj+
α(σj(t-1)-σj(t-2))
(8)
(9)
cji(t)=cji(t-1)+ηΔcji+
α(cji(t-1)-cji(t-2))
(10)
其中,η为学习速率,α为动量因子[4]。与一个标准的RBF相比,所谓的“扩展的RBF神经网络” 这个术语是指:具有超过3层的网络结构;未考虑偏置量;权值可以是输入的函数而不是实常数[5]。
本文采用列主元SVD-QR方法作为修剪策略。Mouzouris和Mendel用列主元SVD-QR方法从给定的规则库中提取重要的模糊规则[6]。这种方法的基本思想是用H(b)θ(b)替换如下线性回归问题中的Hθ
D=Hθ+E
(11)
其中,H(b)∈Rn×b由H的b个列构成,这b个列在H中的位置决定了用规则库中哪些规则来逼近向量D。
从本质上来说,该方法同特征值分解方法是紧密相关的,它可以看作是把H=U∑ST式代入Φpp
Φpp=HTH=(U∑ST)TU∑ST=S∑2ST
(12)
ISVD-QR= [ISVD-QR 1,ISVD-QR2,…,ISVD-QRv]=
[‖s1‖2,‖s2‖2,…,‖sv‖2]T=
(13)
IED= [IED1,IED2,….IEDv]T=
(14)
式(14)替换式(13)或者用式(13)替换式(14),则这两种算法本质上是相同的。SVD-QR算法不需要明确地构造相关矩阵,因此,避免了不必要的数字和舍入误差。如果在学习进行时,用SVD-QR算法检测到不活跃的模糊规则并加以剔除,则可获得更为紧凑的D-FNN结构[9]。
分级学习算法能自动地确定模糊规则并能达到系统的特定性能。模糊规则是否加入,加入的条件是什么?本文引入了分级学习算法。增加一条新的模糊规则条件:一是系统误差,二是可容纳边界。
设
‖ei‖=‖ti-yi‖
(15)
当
‖ei‖>ke
(16)
时需要增加一条新规则。其中ti是期望的输出,yi是D-FNN系统的输出,ei是系统误差,ke是预先选定的精度。
设
di(j)=‖Xi-Cj‖j=1,2,…,u
(17)
dmin=argmin(di(j))
(18)
当
dmin>kd
(19)
时需要增加一条新模糊规则。其中di(j)是输入向量Xi和高斯函数中心Cj之间的距离,u是模糊规则数或RBF单元数。kd是可容纳边界有效半径。
分级学习主要思想式(17)和式(18)中的ke、kd不是常数,而是动态地调节的:
ke=max[emax×βi,emin]
(20)
kd=max[dmax×γi,dmin]
(21)
其中,emax是最大误差,emin是期望的精度,β(0<β<1)是收敛常数,dmax是输入空间的最大长度,dmin是最小长度,γ(0<γ<1)是衰减常数。
在这里,被逼近的函数为如下的Hermite多项式:
(22)
为了学习这个被逼近的函数,使用区间[-4,4]内的随机样本函数来产生250个输入输出数据作为训练集。预先确定的参数如下,且跟文献[10]和文献[11]所选一样:dmax=2,dmin=0.2,γ=0.977,β=0.9,σ0=2,emax=1.1,emin=0.02,k=1.1,kw=1.1,kerr=0.001 5采用列主元SVD-QR方法修剪策略与分级学习仿真程序输出的模糊规则及均方根误差如图3和图4所示。
图3 模糊规则产生过程
图4 训练数据均方根误差
表1列出了使用不同算法的均方根误差输出结果对比。输入49个训练数据后,系统规则数趋于稳定,如图3所示。由于D-FNN系统结构是动态变化的,当模糊规则处于不活跃的状态时将被剔出,使得系统规则处于不断更新状态。在本次实验中,当第151个训练数据到来时,系统产生了一条新规则,原来不活跃模糊规则被剔出,如图4所示,产生了陡峭的均方根误差。
表1 不同算法的均方根误差输出结果对比
D-FNN和这些系统结构上主要不同之处在于模糊规则的结论部分。D-FNN的结论是一个线性函数而不像OLS、RANEKF和M-RAN的结论那样是个常数。如果这些系统具有相同的复杂性,当非线性参数以相同的方法选择时,D-FNN中的更多参数就得到了全局估计。这也许就是TSK模糊推理和神经网络的结合可以更加有利于设计智能系统的原因之一。从仿真结果来看(表1),也可以得出这样的结论。
RBF单元的误差指数和有效半径是根据式(20)和式(21)动态调节的。开始时,误差指数ke和有效半径kd设置较大,称为初学习;随着不断学习,误差指数ke和有效半径kd的逐渐减小,开始进入细学习。由于分级学习策略的使用使得学习速度快而有效,网络结构不会持续增长,本算法应用于实时学习和控制成为可能。
图5、图6显示了用Hermite函数逼近的仿真结果,在这里没有使用分级学习方法,而其他的参数选择和使用分级学习方法一样。表2列出了使用和不使用分级学习的D-FNN性能比较。由图5、图6以及表2可以看出,不使用分级学习的D-FNN,由于RBF单元的有效半径kd和误差指数ke总是很小,因此具有更小的输出误差和RMSE。然而,尽管两者的RMSE几乎相同,但采用分级学习的算法能保证更小的D-FNN结构和快速的学习速度。
图5 模糊规则产生
图6 训练数据均方根误差
表2 使用和不使用分级学习的D-FNN性能比较
Table 2 Performance comparison of use and do not use the classification to learn D-FNN
方 法规则数训练时均方根误差运行时间/s采用分级学习的D⁃FNN系统70 00555 77未采用分级学习的D⁃FNN系统90 00546 56
D-FNN算法中,非线性参数(前提参数)是由训练样本(中心)和启发式方法(高斯宽度)直接决定的,而没有用优化算法来确定。虽然高斯宽度在学习时可以自适应地调整,但学习规则却很简单。另一方面,线性参数(结论参数)在每一步由LLS或KF进行修正,用这种方法得到的解是全局最优的,因此,只需一步训练就可达到而目标而不需要迭代学习。这种方法的学习速度显然比文献[12-14]中采用的BP算法快得多。运行非线性系统辨识、函数逼近和Mackey-Glas时间序列预测仿真时间列于表3中。
表3 仿真运行时间
值得一提的是,D-FNN学习的快速性是以它不能获得最优为代价的。D-FNN采用在线学习方法,每个样本只学习一次,而不像文献[12-14]那样,一个学习过程是基于整个学习样本,并对整个神经网络参数优化处理,这一点可以从Mackey-Glas时间序列预测中看出来。
仿真结果表明,D-FNN具有以下明显优点:
1)学习速度更快。线性参数在每一步由LLS或KF进行修正,用这种方法得到的解是全局最优的,因此,只需一步训练就可达到而目标而不需要迭代学习。这种方法的学习速度显然比采用的BP算法快得多。
2)系统结构紧凑。仿真结果均表明:分级学习的思想能保证更简洁的结构和更短的学习时间。
3)泛化能力强大。从泛化能力的角度来看,仿真结果均表明:对测试数据的误差与对训练数据的训练误差很接近。这就是说,D-FNN具有很强的泛化能力。
参考文献:
[1]HONG Z. Algebraic feature extraction of image for recognition[J]. Patt Recog, 2009,24(2): 211-219.
[2]TURK M A, PENTLAND A P. Eigenfaces for recognition[J]. Cognitive Neuroscience, 2010,3(1): 71-86.
[3]CHELLAPPA R, WILSON C L, SIROHEY S. Human and machine recognition of faces: a survey[J]. Proc. IEEE, 2011,93(2): 705-740.
[4]刘金琨. 机器人控制系统的设计与MATLAB仿真[M]. 北京:清华大学出版社, 2008.
[5]POLYCARPOU M M, CONWAY J Y. Indirect adaptive nonlinear control of drug delivery systems[J]. IEEE Trans Automat Contr, 2009, 43:849-856.
[6]何正风, 张德丰, 孙亚民. 高斯激活函数特征值分解修剪技术的D-FNN算法研究[J]. 中山大学学报:自然科学版, 2013, 52(1): 34-39.
[7]WANG L X, MENDEL J M. Fuzzy basis function, universal approximation, and orthogonal least squares learning[J]. IEEE Trans Neural Networks, 2012, 3: 907-914.
[8]任爱红. 模糊随机过程函数列均方差一致Henstock积分的可积性[J]. 中山大学学报:自然科学版, 2010, 51(4): 41-44.
[9]WU S Q, ER M J. Dynamic fuzzy neural networks: a novel approach to function approximation[J]. IEEE Trans Syst, Man, Cybern: Part B, 2011, 30: 358-36.
[10]LU Y, SUNDARARAJAN N, SARATCHANDRAN P. A sequential learning scheme for function approximation by Using minimal radial basis function networks[J]. Neural Computation, 2012, 19(2):461-478.
[11]KADIRKAMANATHAN V, NIRANJAN M. A function estimation approach to sequential learning with neural networks[J]. Neural Computation,2011, 16(4): 954-975.
[12]CHO C B, WANG B H. Radial basis function based adaptive fuzzy systems and their application to system identification and prediction[J]. Fuzzy Sets and Systems, 2011, 83:325-339.
[13]CHAO C T, CHEN Y J, TENG C C. Simplification of fuzzy neural systems using similarity analysis[J]. IEEE Trans Syst, Man, Cybern:Part B, Cybern, 2011, 26: 344-354.
[14]JANG J-S R. ANFIS: adaptive-net work-based fuzzy inference system[J]. IEEE Trans Syst, Man, Cybern, 2012, 23: 665-684.