遗传算法与神经网络的结合. 联系客服

发布时间 : 星期四 文章遗传算法与神经网络的结合.更新完毕开始阅读3571a35c7d1cfad6195f312b3169a4517623e512

系统工程理论与实践

Systems Engineering——Theory & Practice 1999年 第2期 第19卷 vol.19 No.2 1999 遗传算法与神经网络的结合 李敏强 徐博艺 寇纪淞

摘要 阐明了遗传算法和神经网络结合的必要性和可行性,提出用多层前馈神经网络作为遗传搜索的问题表示方式的思想。用遗传算法和神经网络结合的方法求解了短期地震预报问题,设计了用遗传算法训练神经网络权重的新方法,实验结果显示了遗传算法快速学习网络权重的能力,并且能够摆脱局部极点的困扰。

关键词 遗传算法 进化计算 神经网络

On the Combination of Genetic Algorithms and Neural Networks Li Minqiang Xu Boyi Kou Jisong

(Institute of Systems Engineering, Tianjin University, Tianjin 300072 Abstract In this paper, we demonstrate the necessity and possibility of combining neural network (NN with GAs. The notion of using multilayered feed forward NN as the representation method of genetic and the searching technique is introduced. We combine GA and NN for solving short term earthquake forecasting problem, design a novel method of using GAs to train connection weights of NN.The empirical test indicates the capability of the new method in fast learning of NN and escaping local optima.

Keywords genetic algorithms; evolutionary computation; neural networks

1 引言

智能可以分为三个层次:高层次的是生物智能(BI,其次是人工智能(AI, 处于低层次的是计算智能(CI。 计算智能是国际上新近提出的学科概念,在计算智能中,计算的概念是传统计算概念的拓展,计算对象不仅局限于数和字符,运算符号也不再局限于加减乘除等运算,在这个范畴内的加减乘除也需赋于新的含义。但一般来说,AI 偏重于逻辑推理,而CI则偏重于数值计算。

目前,计算智能正处于迅猛发展的阶段,其主要技术包括模糊技术、神经网络、进化计算等[5]。这几项技术各自均有了数十年的历史,但当时这些方法并未受到足够的重视,一是当时这些方法还不很成熟,二是受当时计算机软硬件的限制,而这些方法一般需要较大的计算量,难以取得实际应用。随着计算机技术的发展和普及,它们在最近十年得到了突飞猛进的发展,引起了诸多领域专家学者的关注,成为一个跨

学科的研究热点。近年来,这些方法呈互相融合的趋势[3],它们之间的相互补充可增强彼此的能力,从而获得更有力的表示和解决实际问题的能力。如对模糊神经网络、模糊遗传算法、模糊分类器系统、用遗传算法优化模糊系统的隶属度函数及神经网络的进化设计方法等的研究都体现了这种融合的优点[1,2]。

2 遗传算法与神经网络的融合 2.1 神经网络为什么需要遗传算法

对于一个实际问题建立神经网络通常包括下面四个阶段:首先研究者根据自己的理论、经验和研究兴趣选择一个问题域,如模式识别、神经控制、经济预测等。第二,根据学习任务设计网络结构,包括处理单元个数、各层的组织结构及处理单元之间的联结。第三,根据已知的网络结构和学习任务用梯度下降学习算法,如BP算法来训练联结权值。最后,研究者以测量到的目标性能,如解决特殊问题的能力、学习速度和泛化能力对训练过的网络进行评价。这个过程可以不断重复以获得期望的结果。 描述一个ANN模型结构的主要参数有:网络层数、每层单元数、单

元间的互连方式等。设计ANN的结构,实际上就是根据某个性能评价准则确定适合于解决某个问题或某类问题的参数的组合。当待解决的问题比较复杂时,用人工的方法设计ANN是比较困难的。即使小的网络的行为也难以理解,大规模、多层、非线性网络更是十分神秘,几乎没有什么严格的设计规则。Kosmogorov定理说明在有合理的结构和恰当的权值的条件下,三层前馈网络可以逼近任意的连续函数,但定理中没给出如何确定该合理结构的方法,研究者只能凭以前的设计经验或遵循这样一句话“问题越困难,你就需要越多的隐单元”来设计ANN的结构。而标准工程设计方法对于神经网络的设计也是无能为力,网络处理单元间的复杂的分布交互作用使模块化设计中的分解处理技术变得不可行,也没有直接的分析设计技术来处理这种复杂性,更困难的是,即使发现了一种足以完成某一特定任务的网络,又怎能确定我们没有丢失一个性能更好的网络呢?

到目前为止,人们花费了大量的时间和精力来解决这一难题,而神经网络的应用也正向大规模、复杂的形式发展,人工设计网络的方法应该抛弃,ANN需要高效的自动的设计方法,GAs则为其提供了一条很好的途径。

遗传算法用于ANN的另一个方面是用遗传算法学习神经网络的权重,也就是用遗传算法来取代一些传统的学习算法。评价一个学习算法的标准是:简单性、可塑性和有效性。一般的,简单的算法并不有效,可塑的算法又不简单,而有效的算法则要求算法的专一性、完美性,从而又与算法的可塑性、简单性相冲突。目前广泛研究的前馈网络中采用的是Rumelhart等人推广的误差反向传播(BP算法,BP算法具有简单和可塑的优点,但是BP算法是基于梯度的方法,这种方法的收敛速度慢,且常受局部极小点的困扰,采用GAs则可摆脱这种困境。当然,使用GAs可以把神经网络的结构优化和权值学习合并起来一起求解,但这对计算机的处理能力要求很高。

2.2 遗传搜索技术为什么需要神经网络

现在我们所面对的系统越来越复杂,所处理的系统问题也是越来越复杂,用传统GAs中的串表示方式来表达复杂系统的规律性是很困难的。遗传规划中采用