当前位置:主页 > 科技论文 > AI论文 >

遗传算法在神经网络控制中的应用与实现

发布时间:2016-11-20 10:59

  本文关键词:遗传算法在神经网络控制中的应用与实现,,由笔耕文化传播整理发布。



第 13 卷第 5 期 2001 年 9 月
文章编号 1004-731X (2001) 05-0567-04

系 统 仿 真 学 报 JOURNAL OF SYSTEM SIMULATION

Vol. 13 No. 5 Sept. 2001

遗传算法在神经网络控制中的应用与实现
杨国军, 崔平

远, 李琳琳
哈尔滨工业大学航天学院, 哈尔滨 150001

摘 要 比较了遗传算法与神经网络的特点 并对将遗传算法用于前向神经网络的可能性进行了 研究 同时阐明了遗传算法和神经网络结合的必要性 提出了一种融合遗传算法的神经网络控制 方法 该方法采用多层前向神经网络作为遗传搜索表示方式的思想 以神经网络为基础 用遗传 算法来学习神经网络的权系数 既保留了遗传算法的强全局随机搜索能力 又具有神经网络的鲁 棒性和自学习能力 将遗传算法和神经网络相结合 分析了遗传算法基本参数及神经网络结构 隐层和输出层节点非线性函数的选择 设计了用遗传算法学习神经网络权系数的软件实现方法 成功地实现了机械手逆运动学求解问题及倒立摆的控制 仿真结果显示了遗传算法快速学习神经 网络权系数的能力 并且能够有效抑制遗传算法初期收敛的发生 有效地提高了多层前向神经网 络权系数的学习效率与收敛精度 确保了快速达到全局收敛 克服了多层前向神经网络传统的 BP 学习算法精度 低 收敛速度慢 容易陷入局部极小的缺陷 表明了该方法的可行性与有效性 关键词 遗传算法 神经网络 非线性控制 适应度函数 中图分类号 TP18 文献标识码 A

Applying and Realizing of Genetic Algorithm in Neural Networks Control
YANG Guo-jun, CUI Ping-yuan, LI Lin-lin
(School of Astronautics, Harbin Institute of Technology, Harbin 150001, China)

Abstract: The characteristics of neural networks and genetic algorithm are described. The possibility and the method of the application of genetic algorithm to the multi-layer forward neural networks are discussed. The necessity of combining neural networks with genetic algorithm is demonstrated. A kind of neural networks control method is proposed in which genetic algorithm and neural networks are mixed. In this method, the notion of using the multi-layer forward neural networks as the representation method of the genetic searching technique is introduced, and the weighs of neural networks are trained by genetic algorithm. So the method remains the global stochastically searching ability of genetic algorithm and the robustness and self-learning ability of neural networks. After the neural networks with genetic algorithm are combined organically, the selection of the basic parameters in genetic algorithm and the structure of neural networks and the nodes of the hidden layer and the output layer are all analyzed. The software in which the weights of neural networks are learned by genetic algorithm is designed. The inverse kinematics solution of the robot manipulators and the inverted pendulum control are successfully realized by the combination of genetic algorithm and neural networks. The simulation results indicate the capability of the new method in fast learning of neural networks and guarantee a rapid global convergence. Moreover, the premature convergence in genetic algorithm is restrained effectively, and the learning efficiency and the convergent precision for the weights of the multi-layer forward neural networks are improved greatly. The motivation of this approach is to overcome the shortcomings of traditional error back propagation algorithm for updating the weights of the multi-layer forward neural networks, such as the low precision of the solutions, the slow search speed and easy convergence to the local minimum points. These results show the proposed method in this paper is feasible and effective. Keywords: genetic algorithm; neural networks; nonlinear control; fitness function

1

引言1
神经网络 Neural Networks, NN 是一个具有高度非线

采用反向传播 Back Propagation, BP 算法及其改进算法来 学习 BP 算法是沿梯度下降 平方误差函数 来指导搜索 因而易陷入局部极小点 而且学习时间长 甚至达不到学习 的目的 难以解决应用问题的实例规模与网络规模之间的矛 盾 求解精度不高 遗传算法 Genetic Algorithm, GA 在一定程度上可以 克服 BP 算法的局限性 GA 是一种模拟自然选择和遗传机 制 在计算机上模拟生物进化机制的自适应概率性全局寻优 搜索算法 是近些年发展起来的新型优化算法 GA 在寻优 过程中 是在高维可行解空间随机产生多个起始点并同时开 始搜索 由适应度函数来指导搜索方向 因而 搜索区域广

性的超大规模连续时间自适应信息处理系统 它的应用已经 渗透到各个领域 并在智能控制 非线性优化 机器人控制 等领域取得了令人鼓舞的进展
[1]

多层前向神经网络是一个

强有力的学习系统 系统结构简单且易于编程 一个三层前 向网络可以逼近任意非线性函数 以往神经网络的权系数常
收稿日期 2000-09-12 作者简介: 杨国军(1970-) 男 制 神经网络 遗传算法等

博士, 研究方向为机器人轨迹规划及控

568





仿







2001 年 9 月

搜索效率高 GA 不需计算梯度 因而其目标函数不受限制 不必要求目标函数连续可微以及其它辅助信息 很强的鲁棒性 可以广泛应用于工程技术中 本文对 GA 在 NN 中的应用的可行性进行了分析 提 出了一种融合遗传算法的神经网络控制方法 该方法兼有遗 传算法的强全局随机搜索能力及神经网络的鲁棒性和自学 习能力 首先研究了 GA 实现中的一些问题 如编码方式 适应度函数的选择及调整 遗传操作的选择等 设计了软件 的实行方法 并对二自由度机械手逆运动学求解及倒立摆控 制做了仿真研究
[2]

2.2 GA 在 NN 学习中的应用
利用 GA 设计 NN 的关键问题是选择待编码的参数 确定网络参数的编码方案 选择 GA 控制参数 选取适应度 函数等 1 网络待学习的参数 有许多参数需要确 针对一个具体问题设计神经网络

上述特点

使 GA 成为一种全局性 并行性 快速性的优化方法 具有

定 虽然用 GA 确定的参数越多 神经网络设计的自动化程 度越高 网络的动态性能也越好 但参数越多 参数的位串 则越长 导致 GA 的搜索空间加大 搜索时间变长 因此神 经网络中究竟有那些参数需要 GA 来学习 是一个需要考虑 的问题 为了保证这一方法能够真正地投入工程应用 应该有 选择地预先处理神经网络的部分参数 仅用 GA 确定其余参 数 本文根据先验知识确定神经网络的结构 然后用 GA 去 学习网络的权系数 2 编码方式 常见的编码方式主要包括二进制编码 实数值编码 在二进制编码中 需要将二进制数转换成十进制数 存在量 化误差 降低了寻优速度 而实数值编码是对原参数直接进 行遗传操作 提高了求解精度 加快了寻优速度 使寻优范 围充满整个最优解可能存在的空间 本文采用实数值编码方 式 3 适应度函数 GA 的适应度函数 即神经网络性能评价函数 是遗传 算法指导搜索的唯一信息 它的选取是算法好坏的关键 适 应度函数要能有效地指导搜索沿着面向优化参数组合的方 向 逐渐逼近最佳参数组合 而不会导致搜索不收敛或陷入 局部最优解 同时 这个函数也应该易于计算 的倒数 即 (1) (2) 本文适应度函数采用均方差

2

遗传算法在神经网络学习中的应用与实现

2.1 GA 在 NN 中应用的可行性和必要性
GA 和 NN 都是将生物学原理用于科学研究的仿生学理 论成果 并且它们都有极强的解决问题的能力 已成为当前 研究的热点 二者各有各的优点 却也存在某些不足 不能 广泛地解决问题 对于某一具体问题 人工设计神经网络是件极其复杂 的工作 迄今尚没有系统的规则可循 仅凭主观经验判断或 试验的方法 通过试验设计网络不仅浪费大量的时间和资 源 而且很难保证一定能找到一个合适的 满足实际需要的 神经网络 更不能保证所设计出的网络是一定是最佳的 因 此 应该抛弃人工设计网络的方法 NN 需要高效的自动的 设计方法 描述一个神经网络模型的参数主要包括 网络层数 各层神经元数 神经元的互连方式 各连接权值及传递函数 等 设计一个网络,实质上就是根据某个性能评价准则搜索 确定适合于解决某个问题或某类问题的这些参数的组合 当 待解决的问题比较复杂时 完成这项工作就很困难 主要原 因有 1 在目前研究的神经网络控制系统中 BP 算法由于其 结构简单 算法稳定而得到了最广泛的应用 但它是一种沿 梯度下降来指导搜索的方法 因此会不可避免地存在有局部 极小问题 2 对神经网络初值的选取也有一定要求 若初值和步 长选取不当 则在控制过程中系统有可能出现一定的振荡 动态特性很不理想 3 对绝大多数应用 性能评价函数往往是多形态及不 连续的 由于这些原因 许多传统的搜索算法 如随机法 梯 度下降法 模拟退火法等 应用于完成搜索都存在着一定的 问题[3] Holland 的模式定理证明了遗传算法有解决这些问 题的能力 因而可将遗传算法与神经网络结合起来应用于控 制领域中

MSE 1 f = MSE 1 num MSE = ∑ [ y(k ) y(k )]2 Num k =1

其中 Num 为网络输入输出样本对的个数 别为网络理想输出与实际输出

y(k) 和 y (k ) 分

选择好适应值函数后 还需进行适应值调整 这是因 为 1 在 GA 刚开始运行时 通常在多数平常个体存在几 个超级个体 这些个体往往会在后代中大量复制 从而导致 初期收敛 2 在 GA 运行后期 种群中需存在多样性 而 这时种群中大多数个体都有很高的适应值 从而种群平均适 应值与最大适应值相差无几 使选择变成了近乎随机的过程 了 为抑制初期收敛 采用线性调整法来调整适应度 其 表达式如下

f ′ =af +b

(3)

第 13 卷第 5 期
其中

杨国军等 遗传算法在神经网络控制中的应用与实现
为原适应度 调整前后应满

569

f ' 为调整后的适应度 f
f ′ avg = f avg ′ f max = cf max

足的条件为 (4)

p c = k1 ( f max f c′ ) / ( f max f ) p =k c 3 p m = k 2 ( f max f ) / ( f max f ) pm = k 4
其中 k1=k3 =1.0, k2 =k4 =0.5 应值较大的那个适应值

f c′ ≥ f f c′ < f f≥f f<f

(8)

其中 f max 和 f avg 分别为种群中最大及平均适应度 a, b 为调整系数 它们的选择如下
a=(c1.0)× favg / 1 b= favg×(fmax c× favg) /1 a= favg / 2 b=fmin× favg /2
2 = f avg f min

c 是种

f c ′ 为要交叉的两个父串中适

群最优成员的期望复制 对小种群(N=50~100) 选 c =1.2~2

f 为需变异位串的适应值 这样
对于性能好的解 防止 GA 陷于局

使 pc 和 pm 随解的适应度函数而变化 均适应值的解 令 pc 和 pm 是取高一些

令 pc 和 pm 取低一些 帮助 GA 快速收敛 而对于低于平 (5)
其 他

fmin>(cfavg fmax) / (c1.0)

部解

[4]

2.3 GA 学习 NN 的流程图
遗传算法设计神经网络的流程可见图 1
种群初始化

其 中 f min 为 种 群 最 小 适 应 度 4 遗传操作

1 = f max f avg

遗传操作主要包括繁殖 交叉和变异 繁殖 又称选择 复制 是从旧种群中选择生命力强 的个体产生新种群的过程 选择的根据是每个位串所对应的 适应值的大小 一般说来 一个位串的适应值越高 则它在 种群中扩大的机率也越多 即适合于生存环境的优良个体有 更多繁殖后代的机会 从而使优良特性得以遗传 常见的选 择方法有适应值比例法 两两竞争法 排位次法等几种 本文采用适应度比例法与最优保留策略进行繁殖操作 某个体 Ai 被选中进行复制的概率 ps 为

解码参数集位串 计算适应度函数 评价网络 是

网络性能是否收敛到 指定的精度范围内 否 遗传操作 形成新一代种群

p s = fi / ∑ f j (6) 其中 f i 为 Ai 的适应值 ∑ f j 为种群中各个体适应值之和 具体是这样实现的 先计算出当前种群中的 ∑ f j 然后产 生一个 0 与 ∑ f j 之间的随机数 rand ( ∑ f j ) 并将满足下列
条件的第 m 个位串加入到匹配池
m 1 i =1

输出学好的神经网络 图1 遗传算法学习神经网络流程图

3

仿真研究
为了验证遗传算法学习神经网络的可行性与有效性



f i < rand ( ∑ f j ) 和

i =1

∑ f i ≥ rand (∑ f j )

m

本文以两自由度机械手逆运动学求解及倒立摆控制为例 应 (7) 用 Matlab 软件进行了仿真研究

重复此过程 直至匹配池中包含 N 个位串为止 交叉是两个位串重组的操作 是遗传算法区别于其他 传统优化方法的重要标志 交叉分两步进行 首先按一定的 交叉概率随机地从匹配池中取出要匹配的两个位串 然后以 某种交叉方法互换这两个位串中的信息 匀交叉等 尽管选择和交叉很重要 但也不能确保一些重要的位 码信息不被丢失 需进行变异操作 变异是以一定变异概率 从种群中随机选取若干个体 对于选中的个体 在需变异的 整数位上随机产生 0~9 之间的数来取代原来的数 本文采用单点交叉 按照下式自适应调整交叉概率 及变异概率 产生一对新的位 串 常见的交叉方式有单点交叉 两点交叉 多点交叉及均

3.1 两自由度机械手
图 2 为一两杆平面机械手 表 1 给出了两个连杆的参 数 机械手的前向运动学方程为

x1 = cos θ1 + cos ( θ 1 +θ 2 )
x 2 = sin θ 1 + sin(θ 1 + θ 2 )
其中 x1

(9a) (9b)
θ2 为机械手连杆转角
两杆平面机械手参数
[5]

x 2 为机械手终端位置

θ1

表1

图2

两杆平面机械手模型

pc

图 3 给出了两杆机械手所要达到的期望运动轨迹 欲 求相应的连杆转角 采用三层前向神经网络建立机械手逆运动学模型 所选

pm

570





仿







2001 年 9 月

神经网络结构为 N 2,5,2 手的位置 x1

其中输入层两个节点分别接收机械 其节点激发函数为
(1+ex)

初始位置 由神经网络控制器给小车底座施加一个向左或向 右的力 F 在尽可能长的时间 如 100 s 内 将小车保持 在预先定义的轨迹界限 如 1.2 m 内 且不让摆倒下 即不超过一预先定义好的垂直偏离角度范围 如 10 神经网络的结构为 N4,5,1 输入层四个节点分别接收倒 立摆系统的 4 个状态值 网络的权系数为 31 个 隐层的激发函数仍为非对称的 Sigmoid 函数 输出层的激发函数为 F(x) =10(1ex) (1+e+x) 分布在[ 511.5 +511.5]之间 & 倒立摆系统的初值如下选择 [ θ 0 , X 0 ,θ&0 , X 0 ]=[-2,

1 (1+ex)

输出层有两个节点 其输出在 [π, π] 连续取值 其节点激发函数为 π (1ex) 网 图 4

x2

隐层五个节点

的机械手连杆转角

络的权系数为 27 个 假定网络权值分布在区间 [20,+20] 经过近 1500 代的学习 得到了较理想的结果 给出了每代中的最大适应度 线

f max 随迭代次数

T 变化的曲

θ1 与 θ 2 的均方差分别为 2.29×104 与 3.56×104

-0.1, 0, 0] 图 6 给出了仿真结果 由图可见 在控制过程中 倒立摆能较好地控制在摆动范围不大于 40 的状态 小车位 置偏离中心点不超过 0.2 m 满足控制要求

图 6 控制过程中倒立摆系统的状态变化图

4

结论
本文研究了遗传算法和神经网络的结合 实现了机械手

逆运动学求解问题及倒立摆的控制 通过仿真可以看出 采 用遗传算法学习神经网络权系数的方法 兼顾了神经网络的 广泛映射能力和遗传算法的快速全局收敛的优点 可以避免 传统的 BP 算法易陷于局部极小点的缺点 具有良好的学习

3.2 倒立摆
图 5 为一级倒立摆系统 一个带轮的小车 其顶端用 铰链系一刚性摆 小车可沿一笔直的有界轨迹自由地向左或 向右运动 同时摆可在垂直平面内自由运动 在任一时刻 该系统的状态可由四个变量描述 即小车位置 X 小车平

与控制能力

参考文献
[1] Hunt K J, Sbarbaro D, Zbikowski R, Gawthrop P J. Neural Networks for Control Systems — A Survey [J]. Automatica. 1992, 28(6): 1083-1112. [2] [3] Goldberg D E. Genetic Algorithms in Search, Optimization, and Machine Learning [M]. Addison-Wesley, Reading, MA, 1989. 梁化楼, 戴贵亮. 人工神经网络与遗传算法的结合:进展与展望 [J]. 电子学报. 1995, 23(10): 194-199. Srinivas M, Patnaik L M. Adaptive Probability of Crossover and Mutation in Genetic Algorithms [J]. IEEE Trans on SMC, 1994, 24(4): 656-667. [5] [6] Tejomurtula S, Kak S. Inverse Kinematics in Robotics Using Neural Networks [J]. Information Science, 1999, 116(2): 147-158. Anderson C W. Learning to Control an Inverted Pendulum Using Neural Network [J]. IEEE Control Systems Magazine, 1989, 4(1): 31-35.

& 移速度 X

& 摆偏离垂直方向的角度 θ 以及摆的角速度 θ
&2 & ( M + m ) g sin θ cos θ [ F + ml θ sin θ ] θ&= 2θ ( 4 / 3 )×( M + m ) l ml cos & && && F + ml [ θ sinθ θ cos θ ] X= (M + m )

该系统运动方程如下 (10a) (10b)

[4]

其中小车的质量 M = 0.455 kg 倒立摆的质量 m = 0.21 kg 摆长的一半 l = 0.3 m 忽略小车对地及倒立摆对小车的摩 擦 重力加速度 g =9.8 m/s 控制的目的
2

F 为神经网络控制器输出的控 小车一个

制力 在[-10,+10]N 范围内连续取值[6] 先给定倒立摆一个初始偏角


  本文关键词:遗传算法在神经网络控制中的应用与实现,由笔耕文化传播整理发布。



本文编号:183365

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/rengongzhinen/183365.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户b431b***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com