APP下载

进化神经网络的编码方法与应用

2016-08-30赵吉昌李颖

软件 2016年5期
关键词:网络结构神经网络

赵吉昌 李颖

摘要:进化神经网络将进化算法与人工神经网络进行了有机结合,进化算法的参与使神经网络系统在进化发育过程中可自适应的进行网络结构与连接权值的调整,改善了神经网络在模拟仿真过程中自主智能化不足的缺陷,提高了神经网络系统的生物真实性。随着研究的深入,大量不同类型的进化神经网络相继出现,根据基因编码方式的不同,可将进化神经网络分为直接编码型和间接编码型两类。本文对神经网络中基因的编码方式进行了阐述分析,最后总结了间接编码方法的应用领域。

关键词:进化算法;神经网络;网络结构;间接编码

中图分类号:TP183 文献标识码:A DOI:10.3969/j_issn.1003 6970.2016.05.019

本文著录格式:赵吉昌等.进化神经网络的编码方法与应用[J].软件,2016,37(5):77-80

引言

随着社会的发展和科技的进步,人工智能、智能计算已成为各科研院所和公司的热门研究对象。进化神经网络(Evolutionary Neural Networks)结合了更具生物真实性与可解释性的人工神经网络(Artificial Neural Networks,ANNs)和进化算法(Evolutionary Algorithms,EAs),在生物大脑运作机制的研究和智能化模拟应用方面都有广泛的应用。进化算法是源自于自然界生物进化中选择、交叉及变异等机制的一种拥有高鲁棒性和广泛适用性的全局概率性优化算法。进化算法根据其计算侧重点和最终实现目的的不同可以分为遗传算法、进化规划、进化策略及在遗传算法基础上发展而来遗传规划四种。

人工神经网络从信息处理的角度对生物神经网络进行了抽象和模拟,以神经元为基本组成单元,按神经元之间不同的连接方式组成不同结构的网络。1943年由心理学家W.S.McCulloch和数理逻辑学家W.Pitts提出并建立了神经元的第一个数学模型,即MP模型,开创了人工神经网络的研究时代。随后人工神经网络有了进一步发展,感知器(Perceptron)等更加完善的神经网络模型相继被提出。这一时代的神经网络模型称为第一代人工神经网络。经历了一个短暂的低潮之后,1986年Kumelhart等人提出了误差反向传播(Back Propagation)神经网络,简称BP网络,至今依然被广泛使用。这一时代的神经网络模型称为第二代人工神经网络。脉冲神经网络作为第三代人工神经网络,采用了脉冲编码信息的方式,与采用频率编码的第一代感知器模型和第二代BP神经网络相比,更加具有生物可解释性。脉冲神经网络将脉冲发放的时间点加入到神经网络模型中,通过对神经元突触连接权值的调整和脉冲发放时间的精确模拟,并将网络的输出编码成输出脉冲。这种基于脉冲发放时间的神经网络模型,提高了信息维度和模型的计算能力,可以更好地模拟整个网络结构中信息的动态传递过程。

进化神经网络通过加入进化算法来设计神经网络模型,在神经网络结构中引入选择、交叉和变异等算子,使得神经网络的自适应性和自主性得到了很大程度的提高,解决了全局搜索易陷入局部最优的难题。进化神经网络根据基因编码方式的不同可分为直接编码方式(Direct Encoding)和间接编码方式(Indirect Encoding)两类。

1.进化神经网络的直接编码方法

直接编码是将网络结构中所有互联的信息处理单元即神经元或节点进行直接编码,网络中的每个连接由自身的二进制表示直接指定。在遗传算法中,通常采用二进制字符串将连接权值进行直接编码,按照一定的顺序,遍历整个网络结构。在进化神经网络中不再将权值进行二进制转换,而是建立了连接矩阵,如一个N*N的矩阵W=(wii)可以表示一个含有N个神经元的神经网络,其中wii表示神经元i与j之间的连接权值。若w=0则说明两个神经元之间无连接;若w不为零则说明两神经元之间有连接且连接权值w。在进化计算下,这种构造可以使网络结构和连接权值在程序中同步进化。矩阵w与神经元之间存在着一对一的映射关联,若权值w不为零,则将其赋值为l,可得新矩阵c,矩阵c就可通过二进制字符串编码方式来表示结构约束。在前馈网络和递归网络中直接编码网络结构如图1和图2所示。

通过图1可以看出,在前馈网络中,由于所有的神经元之间的连接都是由前向后推进的,因此只需考虑提取转换矩阵c的右上三角形区域的二进制字符串进行直接编码。而在其他网络结构中,由于神经元之间存在反馈或随机的连接,如递归网络中的回馈连接和自回馈连接,在进行编码时必须提取整行(列)的二进制字符串来编码,之后将进化算法应用到神经元染色体中来进化其种群。为了评估每个染色体的适应值,需要将神经元连接权值初始化之后再进行训练,训练误差可以作为适应值的权衡。

采用直接编码方式可以在神经网络中很容易的实现一个连接的添加和删除操作,促进种群进化的速度及适应值的优化。但是直接编码存在着可扩展性不强的局限性。随着网络规模的扩大,连接权值矩阵的规模和用来编码连接信息的基因数量也会成倍增加。除了前馈连接可以将连接编码简化外,其他连接方式采用直接编码会将相互无连接的神经元也进行编码,导致程序中有大量的冗余存在,这会使进化计算的时间复杂度和存储空间增加,降低搜索效率,甚至无法实现进化功能。

2.进化神经网络的间接编码方法

为了减少网络结构中信息编码染色体的长度,研究者们提出了进行神经网络基因编码的间接编码方式。在间接编码方式下,基因型与网络的表现型之间不再是一一映射的关系,而是模拟生物神经系统的形成发育,将网络结构的一些特性编码到染色体中,如神经元细胞的发育分裂、突触的形成、轴突和树突的生长等。这种以神经元特性来编码的基因组在重复度极高的神经网络结构中可以表达大量的神经元群,具有很高的重复利用率。网络结构中虽然不同的神经元模块表达的功能不同,但是构成功能模块的子结构大体相似,也就是说可以通过修改基因组少量的信息来形成不同的网络模块,从而使编码效率得以提升。下面介绍三种常用的间接编码方式:文法规则编码方法、细胞指令编码方法和基因调控网络方法。2.1

文法规则编码方法

Kitan0161运用了“图文生成语法(graph-generationgrammar)”来进行网络框架的构建,实现了神经网络的进化。首先应用LHS(1eft-hand side)和RHS(right-hand side)方法来定义文法规则G=((S,A,B,C,D,a,b,e,h,1),(0,1),S,P)。基因组中可能出现的等位基因从象征符号A-Z和a-p中选择。染色体的第一个基因组是固定的开始象征符s,将开始符s纳入到一个2×2的矩阵中作为网络构建的起点,其它象征符号由随机选择产生,通过在染色体中应用文法规则编码进行一定数量的迭代来构建网络。染色体的编码方式如图3所示,染色体中五个基因为一组,后四位基因为第一个基因的RHS编码。

2.2细胞指令编码方法

细胞指令编码(Cellular Encoding)方法以类似编程语言中树形结构的编码原理来实现神经网络发育时基因的复用,进化过程由每个发育节点相对应的发育指令进行控制,如神经元的分裂、变异和连接方式的改变等。这种编码方式具有很高的准确性与可控性,但指令设定与基因递归调用方式使其在进化大规模网络和求解复杂性问题方面有较多的限制。针对这种不足,Luke等人提出了用指令修改边发育来控制网络增长的边编码(Edge Encoding)方法,精简了编码指令;Suchorzewski给出了以指令集合的形式来控制网络发育过程的发育符号编码(Developmental Symbolic Encoding)方法,使神经网络的结构模块化,提高了网络的扩展性。

2.3基因调控网络方法

基因调控网络(Genetic Regulatory Networks)方法是以生物细胞中DNA或RNA为原型建立的动态网络模型。基因作为分子控制调节器的集合,通过其相互作用或者与细胞中其他物质的反应来进行信息的转录与传递,在生物中以生成蛋白质等有机物的形式表达,而在人工神经网络中则是整个网络的进化发育过程。在人工基因组模型中构建了类似生物DNA中嘌呤与嘧啶碱基的线性序列基,值从集合{0,l,2,3}中取得。图4给出了基于人工基因组模型的编码方式,每个基因包括调控区域、启动子、基因编码区域和接口区域四个部分,转换后控制发育的基因调控网络表示为由N个节点构成的基因调控网络。网络可分三层,分别为由N1个节点构成的输入层,由N2个节点构成的调控层和由No个节点构成的输出层,‰由基因组中的基因决定,Ⅳ,和No由相应的发育模型决定。

3.间接编码方法的应用

作为进化神经网络传统的直接编码方法的改进,间接编码方法的主要特点是在基因重用机制下实现对大规模神经网络的快速搜索。因此,该类方法除了在其经典的非线性分类与预测问题得到应用外,还推广到了自主智能体、进化机器人、模式识别、图像处理、微电路进化等应用领域。

(1)非线性分类与预测。文献针对经典的XOR问题,以及奇偶和对称问题,采用细胞编码方法验证了对这些非线性问题求解的有效性,说明间接编码方法适合于应用少量的基因进化具有大量重复结构的神经网络。

(2)自主智能体与机器人进化。进化基于神经驱动的自主智能体与机器人是神经计算领域中的一个重要分支,由于它具有高度的自主能力,这一方面的研究正受到越来越多的重视。文献进化的自主智能体包括感觉神经系统、运动神经系统和脉冲神经控制器三部分,感觉神经系统和运动神经系统多达64个神经元,隐含层的脉冲神经控制器包含1000个以上的神经元,在虚拟的自然场景中凸显出智能的食物采集行为。文献利用间接编码方法实现了自主智能体避障行为的进化。文献应用基于基因调控网络控制的发育模型进化了具有容错特性的脉冲神经网络,控制Khepera机器人实现了智能导航。Jin等人进一步提出了形态生成机器人(Morphogenetic Robotics)的概念,应用发育与进化机制生成了具有自组织、自重构与自修复特征的单机器人和多机器人系统。

(3)模式识别与图像处理。Kashtan和Alon提出的视网膜问题是一个典型的模式识别问题,利用发育符号编码方法成功地解决了视网膜问题,验证了该方法对模块化神经网络的进化能力。文献应用结构模式生成网络(Compositional Pattern Producing Network,CPPN)方法进化神经网络,解决了视觉分辨问题。实验中分别针对11×11、33×33、55×55三种不同分辨率的视觉图像,CPPN最终生成的网络连接数分别达到14641(121×121)、1185921(1089×1089)、9150625(3025×3025),如此大规模神经网络的进化,直接编码方法由于基因空间过大很难进行有效的求解。文献进一步将CPNN方法应用于目标识别与跟踪问题中,取得了良好的效果。

(4)微电路硬件进化。目前,应用间接编码方法进化微电路硬件的研究已经取得了诸多研究成果。文献提出了模拟遗传编码(Analog GeneticEncoding)方法,并应用该方法进化了模拟电子电路,实现了温度传感器和高斯函数发生器,并进化了神经网络的硬件电路,实现了XOR函数。Shayani等人进一步应用间接编码方法在FPGA(FieldProgrammable Gate Array)上进化了脉冲神经网络微电路,具有可扩展性、鲁棒性和容错特性。

上述应用研究仅仅是进化神经网络间接编码方法应用的一部分,凭借其良好的基因重用能力和大规模神经网络的发育生成能力以及自适应计算等特点,间接编码方法正在不断地被应用到不同的技术工程研究领域。可以认为,不能应用传统的直接编码方法进行有效求解的应用领域都将会成为间接编码方法潜在的拓展空间。

4.结论

通过自然进化形成的生物脑组织包含几十亿的神经元和上万亿的神经连接,并表现出复杂的信息处理能力和特有的智能行为。应用计算机技术进行生物脑功能结构的建模模拟研究越来越引起人工智能界的重视,在许多领域得到广泛应用。进化神经网络模型把进化计算的进化自适应机制与人工神经网络的学习机制进行了有机结合,有效地克服了传统人工神经网络的诸多限制和缺点。神经元作为进化神经网络中最基本的信息处理单元,其基因的编码方式直接关系着整个网络的构建与执行效率。进化神经网络的基因编码方式主要有直接编码方式和间接编码方式两种,基于间接编码方法的进化神经网络已应用到了非线性分类与预测、自主智能体与机器人进化等诸多领域,并取得了一定的成果。如何改进现有的基因编码机制存在的不足或找出新的编码方式来提高进化神经网络的进化效率和规模将是今后研究工作的重点。

猜你喜欢

网络结构神经网络
神经网络抑制无线通信干扰探究
大型火力发电厂烟气脱硫控制网络结构渐变趋势
基于神经网络的拉矫机控制模型建立
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
沪港通下A+ H股票网络结构演化的实证分析
复杂网络结构比对算法研究进展
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于神经网络分数阶控制的逆变电源