单位文秘网 2021-07-10 08:14:03 点击: 次
摘 要:针对遗传算法优化SOFM神经网络的不足,提出利用合作型协同进化遗传算法实现SOFM神经网络优化的方法。其基本思想是:针对SOFM神经网络中存在的“死神经元”现象,在SOFM神经网络中引入全局搜索能力很强的合作型协同进化遗传算法,这样既解决了分类结果对样本输入顺序的过分依赖,又实现了SOFM神经网络在竞争过程中的全局最优性。将新算法用于矿井突水水源判定问题,结果表明,该算法具有较好的全局收敛性,且可在很大程度上避免“死神经元”现象。
关键词:SOFM神经网络;遗传算法;协同进化;矿井突水
DOI:10.11907/rjdk.143489
中图分类号:TP312
文献标识码:A 文章编号:1672-7800(2014)012-0059-04
基金项目:安徽省教育厅自然科学基金项目(2013kb236)
作者简介:姚卫粉(1981-),女,安徽淮南人,安徽理工大学理学院硕士研究生,研究方向为进化计算、群智能计算;许峰(1963-),男,安徽淮南人,硕士,安徽理工大学理学院教授,研究方向为进化计算、群智能计算。
0 引言
从20世纪80年代起,人工神经网络(Artificial Neural Network, ANN)设计就一直是神经网络的一个重要研究方向。ANN的设计是件极为复杂的工作,迄今没有系统的规则可循。ANN的设计主要包括ANN结构的确定和网络权值的选取两个方面,其实质就是根据性能评价准则搜索结构空间中满足问题要求的最优网络结构。对某些复杂问题,其搜索空间可能是巨大的且有许多局部最优点,这使得基于下降策略的传统优化方法如最速下降法、牛顿法和变尺度法等在解决这类问题时极易陷入局部最优解。
遗传算法(Genetic Algorithm, GA)作为一种模拟生物遗传和进化过程而形成的智能优化算法,具有很强的全局收敛性,使得将GA和ANN相结合成为一种必然。
利用GA设计ANN的一个关键问题是如何对ANN的结构进行编码,即网络参数编码方案的确定。ANN模型的参数主要包括:网络层数、每层神经元数、神经元的互连方式、各连接权重以及传递函数等。虽然用GA确定的参数越多,ANN设计的自动化程度越高,但这样势必会加大GA的搜索空间,因而确定哪些参数需要由GA进行优化是一个值得研究的问题。
从20世纪80年代末起,许多学者利用GA进行各种ANN设计,取得了丰硕的成果。但随着研究的深入,用GA设计ANN的缺陷也陆续暴露出来,如过早收敛、局部搜索能力较差和收敛速度较慢等。
为此,一些学者将各种改进GA用于ANN设计以克服上述缺陷。罗健提出一种带有BP算子的基于GA的ANN设计方法,改善了算法的收敛速度;李建珍提出一种基于GA的ANN学习算法,可有效避免过早收敛现象;杨梅提出一种基于改进GA的ANN优化方法,提高了算法的局部收敛性;胡仁平提出基于改进GA的ANN优化设计方法,提高了全局收敛速度;Soares等则独辟蹊径地将模拟退火和GA相结合用于ANN设计。
本文提出一种利用协同进化GA设计自组织特征映射(Self-Organizing Feature Mapping, SOFM) 神经网络的方法,并将此算法用于矿井突水水源的判别问题,取得了较为满意的结果。
1 SOFM神经网络
SOFM神经网络的学习算法步骤如下:
(1) 网络初始化。随机设定输入层和映射层间权值的初始值。
(2) 确定输入向量。将输入向量x=(x<sub>1</sub>,x<sub>2</sub>,…,xn)T赋以输入层。
(3) 计算映射层的权值向量和输入向量的距离。将输入向量x=(x<sub>1</sub>,x<sub>2</sub>,…,xn)T赋以输入层。
在映射层,计算各神经元的权值向量和输入向量的欧氏距离。映射层的第j个神经元和输入向量的距离按式(1)计算。
dj=∑ni=1(xi-wij)2(1)
其中,wij为输入层的i神经元与映射层的j神经元之间的权值。
(4) 选择与权值向量距离最小的神经元。计算并选择使输入向量和权值向量距离最小的神经元,如dj最小,则称其为胜出神经元,记为j*,并给出其邻接神经元集合。
(5) 权值的学习。胜出神经元和位于其邻接神经元的权值按式(2)更新。
Δwij=ηh(i,j*)(xi-wij)(2)
其中,
0<η<1(3)
h(i,j*)=exp(-|i-j*|2σ2)(4)
式(4)中的σ2随着学习的进行而逐步减小,即h(i,j*)的范围在学习初期很宽,随着学习的进行而变窄。从而,领域函数h(i,j*)可以起到产生有效映射的作用。
(6) 迭代结束判断。若达到要求则算法结束,否则返回步骤(2),进入下一轮学习。
2 基于遗传算法的神经网络设计
利用GA优化ANN的主要方法是同时优化ANN的结构和连接权值。这类方法需要同时对ANN的结构和连接权值进行编码,加大了算法的复杂度,也使得进化过程变得较为困难。黎明<sup>[8]</sup>提出了一种利用GA同时优化ANN的结构和连接权值的方法,采用二进制和实数混合编码方法,神经网络的结构采用二进制编码,而连接权值采用实数编码。李智勇<sup>[9]</sup>提出了将多物种进化GA用于优化神经网络的结构和连接权值的方法,算法对网络的拓扑结构和连接权值同时采用多维实数编码。但在进行遗传操作时,仅进化由连接值构成的个体基因,而不进化由神经网络结构构成的物种基因,而仅在多个随机产生的神经网络结构中选择。因此,此算法实质上仅仅优化了连接权值,最后得到的神经网络结构不一定最优。
3 合作型协同进化遗传算法
协同进化概念最早由Ehrlich和Raven提出,主要是指生物与生物、生物与环境之间在进化过程中的某种依存关系。
Hillis<sup>[10]</sup>最早将协同进化引入遗传算法。此后,陆续出现了多种协同进化遗传算法<sup>[11]</sup>。
合作型协同进化遗传算法<sup>[11]</sup>(Cooperative Co-evolutionary Genetic Algorithm, CCGA)是协同进化遗传算法的主流,其算法步骤如下:
步骤1:将优化问题的决策变量分组;
步骤2:初始化所有的子种群;
步骤3:对每一个进化的子种群的个体,选择代表个体,并组成合作团体,计算个体的适应度,进行个体评价;
步骤4:每一个子种群进行选择、交叉和变异等遗传操作,生成下一代子种群;
步骤5:判断算法是否满足终止条件,若满足,停止进化,输出结果;否则,转步骤3继续迭代。
4 基于CCGA的SOFM神经网络设计
SOFM神经网络对权值的调整缺乏全局最优性,这将形成一些从未得到学习的“死”神经元,直接影响了SOFM神经网络的全局最优性。“死”神经元在许多类型的神经网络中均存在,已有学者给出了一些解决办法<sup>[12]</sup>。
考虑到CCGA不仅具有较好的全局最优性,而且较传统GA更适宜优化复杂问题,有学者尝试用CCGA设计ANN。Potter<sup>[13]</sup>将合作型协同进化思想用于神经网络优化,获得了较为合理的神经网络结构;Pedrajas<sup>[14]</sup>也采用CCGA同时优化ANN的结构和权值;孙晓燕<sup>[15]</sup>等结合CCGA本身特性和神经网络的特点,给出了种群分割、混合编码等一些优化神经网络的方法。
本文将CCGA用于SOFM神经网络的优化设计,提出了一种基于CCGA的SOFM神经网络算法(CCGAS)。其基本思想是:针对SOFM网的某些神经元在竞争中永远无法获胜而产生的“死神经元”现象,在SOFM神经网络中引入了全局搜索能力很强的CCGA,这样既可提高SOFM神经网络的全局最优性,尽量避免“死神经元”现象,又可以适当降低算法的复杂度。
CCGAS的算法步骤如下:
步骤1:对SOFM神经网络进行纵向分割,第1层到第2层部分为第1个模块,第2层到第3层部分为第2个模块,依次类推共分成N个模块。对每个模块采用一个子种群优化其结构和连接权值。即当t=0时,对N个模块进行初始化生成N个子种群P<sub>1</sub>(t),P<sub>2</sub>(t),…,PN(t)。
步骤2:对每个模块(子种群)进行编码,其中结构(节点间的连接关系)采用二进制编码,连接权值采用实数编码。
步骤3:对每个子种群选择代表个体组成合作团体,经解码后得到各自的SOFM神经网络。选择时采用的适应度函数为:
Fp=11N∑Ni=1(ypi-ypi)2+ε(5)
其中,ypi为输入,ypi为输出,ε为适当小的正数。
步骤4:经交叉和变异操作优化SOFM神经网络结构,得到最优个体,进化后生成新的子种群。
步骤5:若满足终止条件则停止进化,输出最优的SOFM神经网络;否则t=t+1,转步骤3。
5 CCGAS在矿井突水问题中的应用
5.1 问题描述
迄今,基于GA的ANN已被用于材料、化工、生物医药、航空航天等领域[16-19]。本文将CCGAS用于矿井突水水源预测问题,以检验CCGAS的算法性能。
现采集到某煤矿的39个水源样本,分别来自4个主要含水层:二灰和奥陶纪含水层、八灰含水层、顶板砂岩含水层和第四系含水层。以每个水源样本中的Na+、K+、Ca2+ 、Mg2+、CI-、SO2-<sub>4</sub>和HCO-<sub>3</sub>这7种离子的含量作为判别因素,利用CCGAS设计的SOFM神经网络进行综合评价。
5.2 解决思路与步骤
问题解决步骤如下:
(1) 产生训练集和测试集。由于采集到的水源样本较少,为了保证所建立的判别模型具有较好的分辨性能,从每个含水层中各取出一个水源样本作为测试集,剩下的35个水源样本作为训练集。
(2) 用CCGAS创建、训练SOFM神经网络。应用CCGAS算法优化得到SOFM神经网络的结构和连接权值,并利用训练集对网络进行训练。
(3) 仿真测试。判别模型训练完成后,将测试集中的4个样本对应的7个判别因素输入模型,模型的输出即为各水源样本的预测类别。
5.3 结果分析与算法性能评价
为了检验新算法的性能,本文分别用常规SOFM神经网络和CCGAS神经网络对数据进行了分类,表1给出了两种算法的分类结果。
从表1中可以看出:
(1) 对于常规SOFM神经网络,第II类水源的获胜神经元应为第1个神经元;第III类水源的获胜神经元应为第2个神经元;第I类和第IV类水源的获胜神经元难以确定。因此,测试集中的37号和38号样本分类正确,而36号和39号样本难以判断。
(2) 对于CCGAS神经网络,第I类水源的获胜神经元编号为3、8、11、12、14;第II类水源的获胜神经元编号为14、15、16;第III类水源的获胜神经元编号为1、2、5、6;第IV类水源的获胜神经元编号为4、7、8、13。测试集中4个水源样本对应的神经元编号均在获胜神经元编号集中,即CCGAS神经网络的判别正确率为100%。
图1和图2分别给出了SOFM和CCGAS的获胜神经元统计结果,神经元编号方式为从左至右、从下至上,图中的数字为该神经元的获胜次数。
从图1可以看出,3号神经元从未赢得获胜机会,即成为“死”神经元。若测试集中某个水源样本的获胜神经元编号为3,则难以确定其属于哪一类水源,即SOFM神经网络的确存在“死”神经元现象。
图2显示,所有神经元均有获胜机会,在SOFM神经网络中成为“死”神经元3号神经元在CCGAS神经网络中恰恰成为获胜次数最高的神经元。这表明,CCGAS神经网络可在一定程度上避免“死”神经元现象。
由于神经网络在训练过程中采取的是随机抽样法,所以每次运行的结果不尽相同。为了科学地评价新算法的性能,表2给出了SOFM和CCGAS在10次运行中的节点数、分类成功次数和CPU耗时的平均值。其中,SOFM的节点数是固定的。
表2 SOFM和CCGAS性能对比
算法平均节点数平均成功率(%)平均CPU时间(s)
SOFM18(固定)7018.4
CCGAS12.09012.3
从表2可以看出,CCGAS算法的节点数和运行时间远少于SOFM,原因是CCGAS算法通过优化方法设计神经网络,优化后的神经网络不含有冗余的节点,降低了算法的复杂度。另外,CCGAS算法的分类成功率较SOFM算法有了较大幅度的提高,表明CCGAS算法具有较好的全局收敛性。
6 结语
遗传算法和神经网络是近二、三十年发展起来的人工智能算法。单个智能算法不可避免存在某种缺陷,将两种或多种智能算法相结合或在某智能算法中引入其它智能算法,是解决单个智能算法缺陷的有效方法,这种研究思路已被越来越多的学者所重视。
本文应用协同进化遗传算法设计SOFM神经网络,并通过矿井突水水源判别问题检验了新算法的性能,也进一步验证了用遗传算法对神经网络进行优化是神经网络设计的有效途径。
参考文献:
\[1] YAO X.A review of evolutionary artificial neural networks [J].International Journal of Intelligent Systems,1993,8(4): 539-567.
[2] 梁化楼,戴贵亮.人工神经网络与遗传算法的结合:进展及展望[J].电子学报,1995,23(10): 194-199.
[3] 罗健,刘军祥.一种基于遗传算法的新型神经网络设计[J].系统工程理论与实践,2001(10): 42-47.
[4] 李建珍.基于遗传算法的人工神经网络学习算法[J].西北师范大学学报, 2002,38(2): 33-37.
[5] 杨梅,卿晓霞.基于改进遗传算法的神经网络优化方法[J].计算机仿真, 2009, 26(5): 198-201.
[6] 胡仁平,刘刚.基于改进遗传算法的神经网络优化设计[J]. 计算机应用与软件,2011,28(1): 249-252.
[7] SOARES S,ANTUNES C H,ARA JO R.Comparison of a genetic algorithm and simulated annealing for automatic neural network ensemble development[J].Neurocomputing, 2013,121: 498-511.
[8] 黎明,严超华.遗传算法优化前向神经网络结构和权重向量[J].中国图象图形学报,2013,21(6): 4-6.
[9] 李智勇,童调生.基于多物种进化遗传算法的神经网络结构学习方法[J].计算机工程与应用,2013, 49(22): 80-83.
[10] HILLIS W D.Co-evolution parasites improve simulated evolution as an optimization procedure[C].Proceeding of 2nd Artificial Life Conference,1991:325-369.
[11] 巩敦卫,孙晓燕.协同进化遗传算法理论及应用[M].北京: 科学出版社,2009.
[12] 冯乃勤,南书坡,郭战杰.对学习矢量量化神经网络中“死”点问题的研究[J].计算机工程与应用,2009,45(4): 64-66.
[13] POTTER M A.The design and analysis of a computational model of cooperative co-evolution [D].Fairfax: George Mason University,1997.
[14] PEDRAJAS N G,MARTINEZ C H.Multi-objective cooperative co-evolution of artificial neural networks[J].Neural Networks,2009: 1259-1278.
[15] 孙晓燕,巩敦卫.基于合作式协同进化遗传算法的神经网络优化[J].中国矿业大学学报,2006,35(1): 114-119.
[16] 潘清跃,宋仁国.基于人工神经网络—遗传算法的表面熔凝工艺优化[J].材料研究学报,2008,12(3): 251-256.
[17] 彭黔荣,杨敏.基于混合遗传算法的人工神经网络模型及其对有机化合物熔点的预测[J].化工学报,2005,56 (10): 1922-1927.
[18] 陆震鸣,何喆.基于人工神经网络—遗传算法的樟芝培养基优化[J].生物工程学报,2011,17(12): 1773-1779.
[19] 谭伟,陆百川.神经网络结合遗传算法用于航迹预测[J].重庆交通大学学报,2010,29(1): 147-150.
(责任编辑:孙 娟)
(责任编辑:单位文秘网) )地址:https://www.kgf8887.com/show-157-63318-1.html
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用