基于改进遗传算法的BP神经网络控制器

2013-03-25 03:55张贤慧
漳州职业技术学院学报 2013年1期
关键词:适应度遗传算法阈值

张贤慧



基于改进遗传算法的BP神经网络控制器

张贤慧

(漳州职业技术学院 机械与自动化工程系,福建 漳州 363000)

BP神经网络是一种按误差逆传播算法训练的多层前馈网络,其与遗传算法的结合可以得到一种拥有良好的全局优化搜索和局部时频特性的学习训练途径。针对BP网络的不足,提出了一种基于改进遗传算法的BP神经网络控制器,此方法可以克服基本遗传算法收敛速度慢,容易陷入“早熟”收敛,计算稳定性不好等一系列问题,进一步提高了BP神经网络控制器的性能。最后通过对轧制力模型的预报仿真,证明了控制器的有效性。

BP神经网络;改进遗传算法;轧制力模型

引言

人工神经网络(Artificial neural network, ANN)是一个由大量简单的处理单元广泛连接组成的系统,用以模拟人脑神经网络的结构和功能,其最大的特点是只需数据样本而不需要建立数学模型,就能建立输入与输出的非线性映射关系[1]。具有很强的非线性函数逼近、自学习和容错能力。在工业过程控制等复杂控制问题方面有其独到之处,非常适合复杂的非线性问题的建模和求解。

实际应用中,绝大部分的神经网络模型都是采用BP神经网络及其变化形式,BP网络是目前研究最多的神经网络形式之一[2],利用该网络可以实现函数逼近、模式识别、分类和数据压缩等功能。但BP神经网络的学习算法是基于梯度下降的,故其容易陷入局部极小值,同时存在收敛速度慢及网络参数和训练参数难以确定等问题。

遗传算法(Genetic algorithm, GA)是一种借鉴生物界自然选择和遗传机制的随机搜索算法,其主要特点是群体搜索策略和群体中个体间的信息交换。遗传算法的搜索效率高,且具有很强的全局搜索能力,尤其适用于处理传统搜索方法难以解决的复杂、非线性问题。

遗传算法与BP神经网络的结合,可以得到一种拥有良好的全局优化搜索和局部优化求解性能的学习训练途径。但是基本遗传算法存在收敛速度慢、稳定性不高、已陷入收敛“早熟”等问题,因此本文提出一种改进的遗传算法(Improved genetic algorithm, IGA)应用于BP神经网络。

1 BP神经网络和遗传算法

1.1 BP神经网络

BP网络由输入层、一个或多个隐含层及输出层组成,每层中的神经元即为网络的节点或单元。其实现过程共分两个阶段:①输入信息正向传播。输入信息通过隐含层和输出层的神经元和连接权实现正向传播,获得网络的实际输出;②网络误差的反向传播。由输出层开始向输入层方向逐层计算各层神经元的输出误差,实现权阈值沿误差的负梯度方向的调整,使修改后的最终输出能接近期望值[3]。

但是,由于BP神经网络进行的是单点搜索,其全局搜索能力欠佳。网络中初始权阈值的随机给定,使算法具有一定的盲目性。若给定的值不合适,则很容易导致网络陷入局部极值处。因此需要一种具有全局优化能力的算法对BP神经网络进行改进。

1.2 遗传算法

遗传算法(GA)是模仿自然界生物进化机制发展起来的随机全局搜索优化方法,它把搜索空间(解空间)中的所有可能解按照一定的方式编码成染色体串。按照适应度函数计算出的适应度大小选择优质个体,经选择、交叉、变异等遗传操作,一代一代地优化下去,直到求得最优个体为止。遗传算法的实现流程如图1所示。

遗传算法的寻优不是从一个点开始,而是从许多点开始的群体搜索,具有全局性,故可以防止收敛于局部最优解,容易找到全局最优解或是性能很好的次优解。因此用遗传算法来优化BP网络,可以克服BP网络容易限于局部最优解的弊端。

图1 GA算法流程图

2 基于改进遗传算法的BP神经网络

2.1 改进的遗传算法

基本遗传算法采用二进制编码、轮盘赌选择算子、单点交叉算子、基本位变异算子。本文主要针对编码方法、交叉算子、变异算子对基本遗传算法进行改进。

2.1.1 编码

本文中遗传算法主要用于优化BP网络的权阈值,这是一个复杂的连续参数优化问题,但二进制编码方式在处理连续性问题上存在一定误差。因此本文采用实数编码方式,即将BP网络的各个权阈值按一定的顺序级联为一个长串,形成一个实数数组,作为一个染色体,个体的解码值即为对应的权值和阈值。

2.1.2 适应度函数

本文中遗传算法优化BP网络的目的是在满足精度要求的基础上使得网络的结构最简化,网络的误差达最小值。故选用的适应度函数为:

2.1.3 遗传算子

(1)选择

选择就是根据当前群体中个体的适应度,按照一定规则选出优质个体,使其有机会作为父代为下一代繁殖子代。适应度越大,个体被选择的概率也就越大。本文采用最基本的适应度比例法进行选择复制。

(2)交叉

交叉是以一定的概率将两个父代个体上的部分染色体进行替换或重组形成新个体的操作。由于本文中采用的编码方式为实数编码,故选用算术交叉方式,即将两个基因串对应交叉位的值相组合生成新的基因串。

(3)变异

2.2 GA与BP的融合点

遗传算法与神经网络相结合主要是利用遗传算法优化神经网络的参数来实现的。具体方式有:

① 利用遗传算法对神经网络的初始权值和阈值进行优化。

② 遗传算法优化选取BP网络的结构参数,主要是优化网络隐含层单元数。

③ 用遗传算法优化选取BP网络网络的学习率和动量因子等的性能参数[4]。

本文采用第一种优化方式实现对神经网络的优化,具体实现过程见2.3。

2.3 IGA-BP算法流程

利用遗传算法优化BP网络的初始权阈的基本思想是:首先利用遗传算法找出权值空间中网络的最优初始权阈值,然后再用BP算法根据该最优初始值找出权阈值的最优解。

本文中所建立的IGA-BP模型包括主遗传算法模块和神经网络模块,其中神经网络模块中又包含神经网络和子遗传算法两部分。采用了嵌套式计算结构,主遗传算法在程序入口处对BP网络的初始权阈值及隐层神经元数进行修正;在神经网络进行反向计算误差时,利用子遗传算法再次修正隐层与输出层之间的权重和隐层阈值。具体的实现步骤如下:

(1)主遗传算法产生含有N个个体的初始种群,种群中的每个个体由BP网络的初始权值、阈值以及隐层单元数的染色体串构成;

(2)进入神经网络模块。将上述N个个体解码后代入BP网络,输入数据样本,利用BP算法对个体进行进一步的学习。利用子遗传算法对个体进行适应度检验,检验不合格(适应度达不到精度要求)的个体进行选择、交叉、变异等遗传操作,生成新的个体重新进行神经网络的学习计算,直至满足适应度要求为止;对满足精度要求的个体,返回主遗传算法模块;

(3)返回主遗传算法后,对个体重新进行适应度计算,对不合格个体进行选择、交叉、变异,直到满足精度要求,算法结束。具体的程序流程图如图2所示。

图2 IGA-BP模型程序流程图

3 仿真结果与分析

本文中模型的仿真环境为MATLAB7.1,算法的实现语言为MATLAB编程语言。先利用改进的遗传算法优化BP网络的权阈值,然后用优化后的BP网络预报冷轧轧制力[5-6]。

在改进的遗传算法中,种群个数为100个,初始权阈值的范围设定为[-0.1,0.1],交叉率Pc为0.8,变异率Pm为0.04,同时在优化网络参数的过程中,适应度函数值和误差均会不断发生变化,最终误差为0.01时,迭代终止。

经过80组训练样本对网络的学习,网络的训练误差曲线如图3所示。从图3中可以看出进过63步后,误差值稳定在0.01,达到了误差要求。因此,可以看出改进遗传算法解决了收敛速度慢且学习时间长,误差不稳定等问题,很好的优化了BP神经网络。

为了评价网络的泛化能力,用没有参加训练的20组数据样本对网络进行测试,网络输出数据的拟合曲线如图4所示。从结果中可以看出,拟合效果良好。因此本文所设计的BP神经网络控制器具有良好的鲁棒性和优化效果。

图3 IGA-BP网络的训练误差

图4 IGA-BP网络测试数据拟合曲线

将GA-BP(遗传神经网络)与BP网络模型的预报情况进行比较,得到表1所示系统预测结果的比较。

表1 GA-BP网络与BP网络预报结果对比

由表易知,采用相同样本数据对网络进行训练和测试,改进的遗传神经网络(IGA-BP网络)的预报效果明显优于BP网络,在相同的学习次数条件下,IGA-BP网络的误差范围为0~±6%,而BP网络的误差范围为0~±8%。

4 结语

本文提出了一种基于改进遗传算法的BP神经网络控制器,该控制器不仅充分利用了BP网络的局部时域特性和遗传算法的全局优化搜索能力,增强了网络的智能搜索能力,而且克服了基本遗传算法带来的一些不足,提高了优化的效果,加快了搜索效率和收敛速度。通过仿真的结果可以看出,本文设计的控制器可以稳定地对冷轧轧制力大小进行预报,并且具有良好的抗干扰能力。从实际的仿真结果可以看出,本文设计的IGA-BP神经网络控制器是有效的。当然,基于GA的神经网络技术还有待继续研究学习,不断的完善和发展,使GA-BP网络更加成熟。

[1] 高隽.人工神经网络原理及仿真实例[M].北京:机械工业出版社,2003.

[2] Rainer K, Michael k, Meinert M,Uwe P. Optimizaiton of material properties for bars and wire rod l[J].MPT International,2002(2):56-62.

[3] 朱剑英.智能系统非经典数学方法[M].武汉:华中科技大学出版社,2001.

[4] 苑希民,李鸿雁,刘树坤,崔广涛.神经网络和遗传算法在水科学领域的应用[M].北京:中国水利水电出版社,2002:75-98.

[5] Yen G G, Lu H M. Hierachical genetic algorithm based on neural network design[M].IEEE Symposium on Combinations of Evolutionary Computation and Network,2000.

[6] Lee D M, Choi S G. Application of on-line adaptable neural network for the rolling force set-up of a plate mill[J].Engineering Application of Artificial Intelligence,2004,17(5):557-565.

[7] 韩力群.人工神经网络理论、设计及应用[M].北京:化学工业出版社,2007:55-62.

BP Neural Network Controller Based on Improved Genetic Algorithm

ZHANG Xian-hui

(Department of Mechanical and Automation Engineering,Zhangzhou Institute of Technology,Zhangzhou 363000,China)

BP neural network is a kind of error back propagation training algorithm for the multilayer feed forward network. The combination of genetic algorithm and BP neural network can get one type of training way with good global optimization search and local time-frequency characteristics. This paper aims at the shortage of BP network, and proposes a kind of BP neural network controller based on improved genetic algorithm, which can overcome a series of problems, such as the slow convergence of standard genetic algorithm, falling into the premature convergence easily, and the instability of computation. It further improves the performance of BP neural network controller. Finally, through the simulation of the rolling force prediction model,the paper proves the effectiveness of the proposed controller.

BP neural network; improved genetic algorithm; rolling force model

TP183

A

1673-1417(2013)01-0001-06

2013-01-12

张贤慧(1983-),女,湖南古丈人,助教,硕士,研究方向:智能技术与自动化装置。

(责任编辑:季 平)

猜你喜欢
适应度遗传算法阈值
改进的自适应复制、交叉和突变遗传算法
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
小波阈值去噪在深小孔钻削声发射信号处理中的应用
基于遗传算法的智能交通灯控制研究
一种基于改进适应度的多机器人协作策略
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于改进的遗传算法的模糊聚类算法
基于迟滞比较器的双阈值稳压供电控制电路
基于改进多岛遗传算法的动力总成悬置系统优化设计
一种改进的小波阈值降噪方法