基于遗传算法优化的智能控制器

2010-07-25 08:43史永宏张茜
微型电脑应用 2010年2期
关键词:人工神经网络遗传算法运算

史永宏,张茜

0 引言

PID控制因其算法简单、可靠性高以及便于实现的特点,成为应用最为广泛的控制策略之一。目前,PID控制主要是与人工神经网络、模糊数学和遗传算法相结合,以实现智能化,使其能够较好地适应具有非线性、时变性和难以建立精确数学模型的被控对象;通过 FPGA的硬件方式来实现,则可以较好地适应实时性要求较高的嵌入式场合。

1 基于人工神经网络优化的PID控制

1.1 PID控制控制原理

PID控制器是最早发展起来的控制策略之一,其结构如图1所示。

图1 经典PID控制器原理图

根据给定值r(t)与实际输出值y(t)所构成的控制偏差:

将偏差的比例、积分和微分运算,通过线性组合构成控制量u(t),通过对Kp,Ki,Kd三个参数的调节,即可实现对被控对象的控制,其控制规律为:

随着微机技术的迅猛发展,实际应用中大多已采用数字PID控制器,其具有很好的灵活性,且实现方便。然而,现场状况千差万别,需要工程师具有丰富的现场经验,设置适当的 PID参数,才能得到可观的控制效果。因此,如何增强 PID控制的自适应性,使其具有参数自整定功能,成为PID控制研究的重要方向,而蓬勃发展的模糊数学,人工神经网络及遗传算法等,为PID控制的智能化提供了可能。

1.2 基于人工神经网络的优化技术

近年来,人工神经网络的理论研究取得了突破性进展,其中最具代表意义的是,1986年 Rumelhart,Hinton和Williams提出的误差反向传播训练算法(简称 BP算法),系统地解决了多层网络中隐含单元连接权的学习问题,应用此算法所构成的网络我们称为BP网络。

BP网络是前向反馈网络的一种,建立在梯度下降法的基础上,是当前应用最为广泛的一种网络。算法的主要思想是通过两个阶段完成对神经网络的训练:

第一阶段为正向传播过程:输入信息由输入层节点开始逐级向前传播,经过各层单元的激活函数运算后,运算结果由输出节点输出。

第二阶段即反向传播过程:若在输出层未得到符合精度要求的输出值,则将误差逐级返回,根据算法,修改各层连接权的权值,再经过正向传播过程得到输出。

经过以上两个过程若干次的循环,当输出值达到所期望的精度时,网络的训练过程结束。

对于控制领域的研究者来说,BP网络的优势在于:含有一个隐含层的BP网络,可以以任意精度逼近任何连续非线性函数,从而形成非线性动力学系统,以表示某些被控对象的模型,并能够学习和适应不确定性系统的动态特性;此外,信息分布式存储,运算具有极高的并行性。

因此,在控制理论的诸多领域,都能看到BP网络的应用。通过BP网络对系统性能的学习,可实现具有最佳组合的PID控制,基于BP网络的PID控制器如图2所示:

图2 基于BP网络的PID控制器

控制器由两个部分组成:

(1) 经典PID控制器,用于直接对被控对象进行闭环控制;

(2) BP网络根据系统的运行状态,调节PID控制器的参数,以达到系统误差的最小化。

但是,人们在使用过程中发现BP网络也存在诸多不足,例如:易陷入局部极小值,学习过程收敛速度慢,网络的结构难以确定等。科研工作者通过各种努力来弥补BP网络的缺陷,遗传算法的优良特性为改善BP网络的性能提供了新的思路。

2 遗传算法的优化策略

遗传算法是一种基于生物进化过程的全局优化方法,美国John H. Holland教授在其1975年出版的《Adaptation in Natural and Artificial Systems》一书中系统地提出了遗传算法理论,并给出了相应的数学理论证明。

一个标准的遗传算法一般包括以下3个步骤:

(1) 初始化:确定参数的编码方案,并根据编码方案构造合适的适应度函数,并产生初始种群;

(2) 进行遗传操作:运用复制、交叉和变异等操作对种群中的个体进行进化;

(3) 终止条件判断:当算法满足期望的精度时,终止算法,当前群体中的最优个体即为最终的寻优结果。否则,返回步骤2继续执行,直到满足终止条件为止。

相对于BP网络易陷入局部极值的缺陷,遗传算法从多个起点同时计算,可以有效地避开局部最优解。但是,遗传算法往往能够快速地逼近到全局最优解附近,却不易获得最优解,其局部寻优能力较弱,而BP网络却有较强的局部寻优能力。因此,将神经网络和遗传算法相融合,可以弥补各自的不足,基于遗传算法优化的智能控制器结构如图 3所示:

图3 基于遗传算法优化的智能控制器结构图

目前有关遗传算法与神经网络相结合的研究工作主要包括3个方面:

(1) 利用遗传算法进化神经网络的连接权:

神经网络的权值训练过程即通过某种确定的规则逐步调整,最终得到一个较好权值分布的过程。但是目前广泛使用的BP网络,有关参数的选取尚无理论指导,完全凭借经验确定,如果取值不当,极易引起网络不收敛,又易陷入局部极值等问题。用遗传算法作为训练规则进化神经网络的连接权,则可以有效地改善上述缺陷。

(2) 利用遗传算法进化神经网络的结构:

神经网络的结构对其处理能力有很大的影响,好的网络结构应含有较少的冗余节点和冗余连接权。目前,网络结构的设计主要是采取试探法,也没有系统的理论指导,经验的因素占有很大的比例。因此,可以利用遗传算法在多种网络结构组成的群体中,通过遗传运算,进化出一个较优的网络结构。

(3) 利用遗传算法进化神经网络的学习规则:

神经网络在训练过程中,学习规则是确定的,但未必是最优的。可以利用遗传算法来设计神经网络的学习规则,使神经网络能够适应多变的具体环境。在学习规则的进化中,对规则的编码还没有非常成功的范例,因此,对学习规则的进化研究还只处于起步阶段。

3 基于FPGA的实现方法

随着计算机技术的迅猛发展,智能控制在工业现场控制中得到了广泛应用,实现手段也多种多样。传统的方法是在冯·诺曼体系结构的数字计算机上编制程序,利用微处理器、微控制器等丰富的数学运算功能,通过软件模拟实现人工神经网络、遗传算法等智能算法。此种方法成本低、灵活性强,但数字计算机的特点是存储程序,顺序执行,因此,计算机只能把神经网络和遗传算法中大量的并行运算,通过串行的方法来模拟实现,从根本上失去了算法并行处理信息的特征。因而,研究人员将目光投向了硬件直接实现的方式,而ASIC高昂的成本令许多厂商望而却步,FPGA则为研究人员提供了新的解决方案。

FPGA的并行架构非常适合实现人工神经网络及遗传算法,并且,各FPGA厂商提供了多种成熟的IP(Intellectual Property)以供使用,因此可以将原本设计在板卡上的诸多功能(如通信模块等)集中在FPGA内部实现,可大大减小板卡的设计复杂度,以提升系统的稳定性。使用FPGA实现的智能控制器已经取得了长足的进步。基于FPGA的设计,一般采用自顶而下的设计方法,将整个系统分割成若干个小模块,每个模块独立实现,并通过接口相互传递信息,当系统模块划分完毕,即可使用硬件描述语言(VHDL或 Verilog)完成模块设计,利用有限自动机或者内嵌的处理器(软核或硬核)完成对系统的控制。

4 小结

随着微电子技术的迅猛发展,实现基于遗传算法,人工神经网络和 PID控制技术的智能片上系统已经成为可能,尤其是基于可重构技术的系统,以FPGA为载体,其高性能与灵活性已经引起了研究人员的极大热情,但是无论是理论研究还是实践应用都还有待深化。

[1] 龚安,张敏.网络自适应学习率研究[J] .科学技术与工程,2006,6(1):64-66.

[2] 周明,孙树栋.遗传算法原理及应用[M] .北京:国防工业出版社,1999:7-8.

[3] 赖鑫生.神经网络结合遗传算法优化应用[J] .贵州大学学报.2004,21(2):179-184.

[4] 鲁华祥,王守觉.半导体人工神经网络的研究与发展[J] .电子科技导报,1996,(9):10-12.

[5] 李昂,王沁,李占才,万勇.基于FPGA的神经网络硬件实现方法[J] .北京科技大学学报,2007,29(1):90-95.

猜你喜欢
人工神经网络遗传算法运算
重视运算与推理,解决数列求和题
有趣的运算
利用人工神经网络快速计算木星系磁坐标
人工神经网络实现简单字母的识别
滑动电接触摩擦力的BP与RBF人工神经网络建模
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
“整式的乘法与因式分解”知识归纳
基于遗传算法和LS-SVM的财务危机预测
软件发布规划的遗传算法实现与解释
人工神经网络和安时法电池SOC估计