应用微粒群算法优化以变结构策略为学习算法的
神经网络初始权值
夏志峰1,韩宁1,王亚慧2
(1. 北京林业大学 工学院,北京,100083;
2. 北京建筑工程学院,北京,100044)
摘要:应用变结构算法训练人工神经网络权值的问题,分析了初始权值对该算法训练效果的影响,在此基础上中提出了一种应用微粒群算法优化变结构训练的神经网络初始权值的方法,即将随机产生的初始权值通过经微粒群算法优化后再采用双滑模变结构算法进行训练从而提高网络的整体性能。应用此方法训练Adaline神经网络,并将训练后的神经网络用于MIMO系统辨识。研究结果表明:与未经优化的变结构学习算法相比,该方法显著提高了网络的训练精度和泛化能力。
关键词:人工神经网络;微粒群算法;滑模变结构控制
中图分类号:TP301.6 文献标志码:A 文章编号:1672-7207(2011)S1-0169-06
Optimize initial weights of neural network trained by variable structure learning strategy using PSO
XIA Zhi-feng1, HAN Ning1, WANG Ya-hui2
(1. Technology College, Beijing Forestry University, Beijing 100083, China;
2. Beijing University of Civil and Architecture Engineering, Beijing 100044, China)
Abstract: Variable structure learning strategy was used to train artificial neural network weights, the importance of initial weights in this process. Based on the analysis, in order to improve the performance of neural network, a method by which the weights were first initialized using particle swarm optimization and then trained by means of multi-objective sliding mode control algorithm. This method was applied to train the Adaline neural network which was used to identify the MIMO system. Comparing with the original algorithm whose initial weights were not optimized, the experimental results show that the proposed method efficiently improves the neural network’s precision and the ability of generalization.
Key words: artificial neural network; particle swarm algorithm; quasi-sliding mode variable structure control algorithm
自Utkin[1]在20世纪60年代初提出变结构控制的设计方法以来,该理论不断得到发展和改进,现在以滑模变结构控制为核心的相关理论已成为非线性控制领域研究的一个重要方面。因为滑模变结构控制的不连续性和算法本身的强鲁棒性,该理论在复杂的控制领域包括在机器人控制、电机伺服控制、电力系统控制等非线性控制系统中得到广泛应用和发展[2-4]。根据滑模变结构控制算法快速性和不变性的优点,将其用于训练人工神经网络(Artificial neural network, 简称ANN)有助于实时获取ANN的训练信息,同时提高网络学习的收敛速度。Fu[5]提出了应用变结构神经网络跟踪单输入单输出(SISO)系统。Pama[6]将变结构控制算法用于训练多层ANN,也得到了良好的逼近效果。张昌凡等[7]提出应用变结构控制算法训练自适应线性Adaline网络,减少了计算量和训练时间,同时提高了网络辨识的精度。为了提高训练网络的泛化能力,Costa等[8]提出了应用双滑模面结构的变结构控制算法(Variable structure learning, 简称VSL)提高ANN的容错能力。然而,通过分析可以发现,虽然相对于单滑模面而言,基于双滑模面的VSL算法训练神经网络得到的优化结果有明显的改进,但是,从整体训练效果来看,因为考虑到了训练时间以及泛化能力的影响,文献[9]中最终得到的网络权值与实际值还是存在一定的偏差。进一步分析可以发现,在整个训练过程中初始权值的选择对网络得到的最终效果有非常大的影响。为了提高网络的训练精度,同时兼顾网络泛化能力的要求,首先需要对网络权值进行优化,得到理想的初始权值,然后应用VSL算法提升网络的逼近度以及泛化能力。优化网络初始权值的方法有很多,包括改变权值的离散度[10-11]、基于模糊规则决定权值分布[12]、基于遗传算法优化[13]等。考虑到微粒群算法(Particle swarm optimization, 简称PSO)作为一种简单、有效的随机智能算法,它在优化神经网络方面具有很大的潜力[14],本文首先采用PSO算法优化网络的初始权值,再将该权值通过VSL算法进行训练,使得最终训练得到的神经网络即能准确快速地逼近实际系统,又具有较强的泛化能力。
1 双滑模变结构算法训练网络权值
将变结构控制理论的思想用于进行神经网络学习训练时,设计目标则可归纳为:选择滑模面si(x)和求取神经网络权值增量?wi(x)。
1.1 双滑模面设计
一个滑模与权值的范数有关,为:
(1)
另一个滑模面与误差平方e2有关,为:
(2)
其中:;e(k)和w(k)分别为当前神经网络的误差和权值;e(k-1)和w(k-1)分别为上次训练时神经网络的误差和权值。
1.2 权值增量的确定
根据滑模面的选择得到Adaline神经网络权值wi学习规则为:
(3)
其中:和为常数;X为系统状态变量[8]。
2 微粒群算法训练神经网络初始权值
微粒群算法(PSO)是基于群体智能理论的演化优化算法,是一种新型的智能进化算法。该算法的基本思想是将待解决的问题用微粒表示,最优值由初始微粒进行迭代得到。每个微粒在每一次迭代过程中根据目标函数将已得到的自身最优解和全局最优解通过下式进行优化:
(4)
其中:w表示惯性权值,用于改善算法的收敛性能;“i”表示微粒i;“j”表示第j维;t表示第t次迭代;c1和c2为加速度常数;,,为相互独立的随机函数[14]。
由于PSO算法的群体进化功能,随机产生的初始微粒将向最优解P(t)和G(t)靠拢,从而改进自身的速度与位置。因此,在应用微粒群算法优化网络过程中,将网络输出与实际输出的均方差作为目标函数,将随机产生的网络权值作为微粒,则通过最小化目标函数便可以得到优化的初始权值,再将该权值通过双滑模VSL算法进行训练便能进一步提高网络的整体性能。
整个算法具体的实施步骤列举如下。
Step 1:生成初始群体。群体由20个微粒构成,每个微粒的维数为所求的权值参数个数L=l1+l2,同时设定迭代次数N=300。
Step 2:确定目标函数。设测试点序列ti对应的期望输出为yi,神经网络输出为yid (i=1, 2, …, n),则可用测试点的均方差作为微粒进行优化的最小化目标函数。
(5)
Step 3:确定最优值。将每个微粒解码,并代入训练数据集进行训练,根据目标函数得到微粒自身的最优值Pi(t)以及全局最优值G(t)。
Step 4:根据Pi(t)以及G(t)由迭代方程(1)优化每个粒子的当前值。最后在达到要求的迭代次数N后停止训练,输出最优值。
Step 5:将得到的最优值作为VSL算法训练神经网络时的初始权值,再通过VSL算法神经网络权值wi学习规则方程(4)进行进一步优化,最终得到参数的辨识结果。
3 验证和仿真
下面以Adaline神经网络用于辨识一个双输入双输出系统的线性、离散、时滞系统为例,对不同的初始权值以及提出的优化算法进行验证。系统描述如下:
(6)
已知:
,
;
y1(0)=0, y2(0)=0; τ1=10, τ2=8;
取:
,
,
通过训练Adaline神经网络对参数和进行辨识。选用输入输出数据的前200组数据作为神经网络训练数据集,后200组数据作为验证数据集。训练数据集的数据变化范围为 [-3, 3],而验证数据集的数据变化范围为[-4, 5],选择这样的测试数据集目的在于验证神经网络的泛化能 力[15]。
3.1 分析初始权值对最终训练效果的影响
在[-3, 0],[0, 3],[-3, 3]范围内随机选取3组值作为Adaline网络的初始权值,经训练后得到网络权值的结果如表1所示。
通过训练后网络权值与待辨识参数的分析和比较可以得到:
(1) 采用不同的初始权值训练得到的神经网络的辨识精度存在非常大的差异;
(2) 初始权值选择不当会导致网络的训练结果根本无法逼近系统的实际模型。
因此,选择合适的初始权值对提高网络的训练效果有非常重要的影响。
表1 不同初始权值的训练结果
Table 1 Trained weights result from different ranges of initial weights
3.2 分析权值优化后对网络的影响
为了分析网络初始权值经PSO优化后对整个网络训练效果的影响,将文献[9]中用VSL算法对0初始权值进行训练与用VSL算法对用PSO优化后的权值再训练的结果进行比较和分析。
3.2.1 网络训练误差分析
网络的训练误差可用网络经过训练后得到的训练数据集输出与实际输出的均方差(由式(4)表示)以及网络的平均绝对误差(即)来表征。经实验仿真后得到的结果如表2所示。
通过比较和分析可以发现:当初始权值经PSO优化之后最终训练得到的网络的均方差分别降低了98.6%和96.7%,平均绝对误差分别降低了88.4%和86.0%,由此说明优化初始权值之后网络极大地提高了自身的逼近能力,改善了权值的训练效果。
表2 网络训练误差
Table 2 Training errors indexes
3.2.2 网络的泛化能力分析
神经网络的泛化能力是指学习后的神经网络对测试样本或工作样本做出正确反应的能力[16]。对于一个神经网络,泛化能力越强,意味着经样本点训练后,对于样本点附近非样本点(即测试点)的输入,网络输出与期望输出间的误差越小。因此,将后200组输入输出数据作为测试序列,n=200,代入已训练完成的2个网络得到系统的测试集输出曲线如图1和图2所示。
图1 初始权值经PSO优化后神经网络测试集输出值与期望值曲线
Fig.1 Expected output and ANN output when its initial weights is trained by PSO
图2 初始权值为0时神经网络测试集输出值与期望值曲线
Fig.2 Expected output and ANN output when its initial weights is 0
表3 网络辨识结果比较
Fig.3 ANN’s identification results after training
通过比较图1和图2可以发现:网络初始权值得到优化的网络相对于未得到优化的网络更能逼近于测试数据集的输出,而且对训练数据集之外的其他数据有更强的预测能力,说明通过PSO的优化后网络的泛化能力得到明显提高。
3.2.3 辨识结果比较
将初始权值经PSO优化的神经网络的训练结果与未经优化的网络的训练结果进行比较,如表3所示。
通过比较可以发现:初始权值经优化后神经网络辨识结果与参考量的相关系数可以达到99%,而原本初始权值未经优化的算法得到的相关系数只有95%。结果说明初始权值经优化后的网络在同样的训练步数后所得到的辨识结果优于未经优化的网络。
4 结论
(1) 将PSO算法引入到采用双滑模VSL算法训练的神经网络中,即先采用PSO算法优化网络初始权值,再通过VSL算法对权值进行调整,结果显示采用这种方式训练神经网络不仅可以降低网络的训练误差,而且能提高网络的泛化能力。
(2) 在神经网络的训练过程中,微粒群算法和变结构算法相互作用、相辅相成。其中微粒群算法以网络输出的均方差作为优化目标,虽然提高了网络的逼近度,但是过于依赖训练数据,容易出现过拟合现象,降低网络的泛化能力,使系统对于样本点附近非样本点的输入难以得到满意的输出。而双滑模变结构算法虽然提高了网络的泛化能力,但是,算法本身对网络的精确度训练不够充分。因此,将2种算法结合既可以提高网络的逼近程度,又能改善网络的泛化能力。
(3) 本文所提及的方法也存在局限性。首先,由于智能算法自身特点,神经网络的初始权值训练只能采用离线的方式,因此,在线学习只能通过VSL算法完成;其次,由于增加了初始权值优化的步骤,网络的训练速度相应地有所下降。
参考文献:
[1] Utkin V I. Variable structure systems with sliding modes[J]. IEEE Transactions on Automatic Control, 1977, 22(2): 212-222.
[2] 高为炳. 变结构控制的理论及设计方法[M]. 科技出版社, 1996: 328-361.
GAO Wei-bing. The theory and design methods of variable structure control[M]. Science and Technology Press, 1996: 328-361.
[3] Doulgeri Z. Sliding regime of nonlinear robust controller for robot manipulators[J]. IEEE Pro Control Theory Application, 1999, 146(6): 493-498.
[4] 孟祥萍, 薛昌飞, 张化光. 多区域互联电力系统的PI滑模符合频率控制[J]. 中国电机工程学报, 2001, 21(3): 6-11.
MENG Xiang-ping, XUE Chang-fei, ZHANG Hua-guang. PI sliding mode load frequency control of multi-area power systems[J]. Proceedings of the Chinese Society for Electrical Engineering, 2001, 21(3): 6-11.
[5] FU Li-chen. Neural network approach to variable structure based adaptive tracking of SISO systems[J]. IEEE International Workshop on Variable Structure Systems, VSS, Proceedings. Tokyo, Japan, 1996: 148-153.
[6] Pama. Sliding mode algorithm for training multilayer artificial neural networks[J]. Electronics Letters, 1998, 34(1): 97-98.
[7] 张昌凡, 何静. 滑模变结构的智能控制理论与应用研究[M]. 北京: 科学出版社, 2005: 74-104.
ZHANG Chang-fan, HE Jing. Research on intelligent control theory and applications of sliding mode variable structure[M]. Beijing: Science Press, 2005: 74-104.
[8] Costa M A, Braga A P, Menezes B R, et al. Training neural networks with a multi-objective sliding mode control algorithm[J]. Neurocomuting, 2003: 467-473.
[9] 赵亚丹. 多变量系统辨识在空调房间数学建模中的应用研究[D]. 北京建筑工程学院, 2008: 29-34.
ZHAO Ya-dan. The applied study of MIMO system identification in math model of air-conditioning area[D]. Beijing University of Civil Architecture and Engineering, 2008: 29-34.
[10] 肖伟, 周东辉. 初始权值优化技术在机器人学习中的应用[J]. 电子学报, 2005, 9(9): 1720-1722.
XIAO Wei, ZHOU Dong-hui. Implementation of optimal weights initialization technology in robot learning[J]. Acta Electronica Sinica, 2005, 9(9): 1720-1722.
[11] Marcel J J. Initial settings of weights in Kohonen’s neural network[J]. Neural Network World, 1997, 7(6): 641-648.
[12] LIN Ying-hua. Using fuzzy partitions to create fuzzy systems from input-output data and set the initial weights in a fuzzy neural network[J]. IEEE Transactions on Fuzzy Systems, 1997, 5(4): 614-621.
[13] Kim B W. Modeling of thin film process data using a genetic algorithm-optimized initial weight of backpropagation neural network[J]. Applied Artificial Intelligence, 2009, 23(2): 168-178.
[14] 曾建潮, 介婧, 崔志华. 微粒群算法[M]. 北京: 科学出版社, 2004: 80-91.
ZENG Jian-cao, JIE Qian, CUI Zhi-hua. Particle swarm algorithm[M]. Beijing: Science Press, 2004: 80-91.
[15] Karystinos G N, Pados G A. On overfitting, generalization, and randomly expanded training sets[J]. IEEE Transactions on Neural Networks, 2000, 11(5): 1050-1057.
[16] 魏海坤, 徐嗣鑫, 宋文忠. 神经网络的泛化理论和泛化方法[J]. 自动化学报, 2001(6): 806-815.
WEI Hai-kun, XU Si-xin, SONG Wen-zhong. Generalization theory and generalization methods for neural network[J]. Acta Automatica Sinica, 2001(6): 806-815.
(编辑 陈灿华)
收稿日期:2011-04-15;修回日期:2011-06-15
基金项目:北京市自然科学基金资助项目(8072008, Z07004)
通信作者:韩宁(1956-),女,北京人,教授,硕士生导师,从事智能控制、智能检测与数据处理技术等研究;电话:13501331829;E-mail: hn217@bjfu.edu.cn