CGP与演化神经网络
Posted 知图智演
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CGP与演化神经网络相关的知识,希望对你有一定的参考价值。
一、Cartesian genetic programming(CGP)介绍
在CGP中,CGP被表示为一种索引图,该索引图是以线性整数字串的形式编码的,其输入、终端集以及输出节点都按照顺序进行编号,终点函数也分别编号,从而将基因型被一一映射到索引图中。由于存在大量冗余,有大量的基因型映射到相同的基因型。在进化的开始阶段,节点冗余非常大,因为在早期的种群中,许多节点没有连接起来。在运行过程中,节点冗余逐渐减少到一个平均节点数。CGP的另一种冗余形式,也存在于所有其他形式的GP中,是功能冗余即多个节点实现了一个子函数,而实际上可以用更少的节点实现该子函数。冗余节点数量的增长构成了膨胀。第三种形式的冗余被称为输入冗余,即某些节点函数没有连接到某些输入节点。未连接的节点可能会经历中性更改,然后连接起来——这可能是实现更高的适应度所必需的。一个具有冗余输入的节点,在经历了改变节点函数的特性的突变之后,可能突然变得有用起来。功能冗余可能对目标函数或程序的可演化性有积极作用[1]。
二、演化神经网络介绍
演化神经网络的主要流程是:生成初始种群,确定好种群规模后,循环生成染色体,将每一代染色体加入到初始种群中;按照个体网络(chromesome)生成规则生成个体网络。
三、CGP与演化神经网络的区别与联系
1.种群规模
101个网络
2.交叉
pass
3.变异
两种变异:
3.1 change learningrate
3.2 change networkstructure
3.2.1 remove layer
3.2.2 add layer
3.2.3 replacelayer
4.适应度函数
fitness = accuracy ofdataset
while condition:
Parent Selection (rouletteselection method)
Mutuate two times
Select the best offspring
Evaluate generation innew train epoch
generation ← (generation +1)
conditon:
种群里的网络每次迭代训练若干次(人为设定)
or
将适应度fitness 倒数前十的网络杀掉,直到剩下的最后一个网络
下图描述了一个具有6个输入和3个输出的程序的基因型和基因型-表现型映射的例子:
图1 基因型——表现型映射图
上图中有6个输入、3个输出和3个函数的程序(0、1、2矩形节点,斜体表示基因型)。灰色方块表示未连接在索引图内的节点。
图2 一个简单的BP网络结构
下图是一个更加简化的神经网络:
图3 BP网络的简化图
不算输入层,上面的网络结构总共有两层,隐藏层和输出层,它们“圆圈”里的计算都是下图的计算组合:
图4 隐层的计算公式
使用函数运算是为了将输出的值域压缩在(0,1),也就是进行归一化,因为在这个网络中每一层输出的值都将作为下一层的输入,只有经过归一化,才可以避免某个输入无限大,从而导致其他输入无效,最终网络训练效果会非常不好。在CGP索引图中并没有如上图所示的权值,整个网络中只有前馈,并没有反馈,而神经网络具有反向传播,并且通过反馈对连接权值进行调整,其完整的网络结构如下图所示:
图5 完整的BP神经网络结构图
神经网络的训练是有监督的学习,也就是输入X有与之对应的真实值Y,神经网络的输出Y与真实值之间的损失LOSS就是网络反向传播的东西,整个网络的训练过程就是不断缩小损失LOSS的过程。在CGP索引图网络中,没有损失LOSS值,只是通过前馈的方式传递计算误差,整个索引图的编码方式都是以基因型为准的,神经网络中也不会有节点冗余、功能冗余和输入冗余的情况出现(本节引用链接:)。
综上,CGP索引图与演化神经网络可以理解为“形似”但原理上还存在很多差别,它们的相似之处在于在整个网络中都使用上层个节点的输出当做下一层节点的输入;它们的不同之处在于在神经网络中,要对每一个输入进行归一化计算,而在CGP中没有归一化操作。CGP存在的冗余问题在神经网络中是不存在的。CGP索引图的输入、终端集、终点函数以及输出节点都是按照顺序进行编号的并且节点之间没有设置连接权值,但神经网络每一层的节点之间有连接权值并且通过反向传播将计算的损失LOSS值在网络中进行一个反馈,从而不断降低LOSS值,使整个网络达到更好的训练效果。
参考文献
https://blog.csdn.net/chile_wang/article/details/101047811
图1来源具体见参考文献[1]
图2、3、4、5来源具体见
以上是关于CGP与演化神经网络的主要内容,如果未能解决你的问题,请参考以下文章
城市轨道交通灾害链演化网络模型及其风险分析——以地铁水灾为例