为什么在神经网络训练中使用Crossover?

时间:2018-02-15 14:44:33

标签: neural-network genetic-algorithm crossover

为什么要使用它?

我知道它增加了可能有助于探索问题空间的变化,但是它增加了多少能够及时找到最佳解决方案/配置?它还有什么其他优势吗?

它是否总是有帮助,或者是否存在增加寻找最佳解决方案所需时间的情况?

1 个答案:

答案 0 :(得分:2)

正如Patrick Trentin所说,交叉可以提高收敛的速度,因为它可以结合已经在人群中发现的优质基因。

但是,对于神经进化,交叉正面临着排列问题"也被称为"竞争惯例问题"。当两个父母是同一网络的排列时,除了在极少数情况下,他们的后代总是具有较低的适应性。因为网络的相同部分被复制到两个不同的位置,因此后代正在失去这两个位置之一的可行基因。

例如,网络A,B,C,D和D,C,B,A是同一网络的排列。后代可以是:

A,B,C,D (copy of parent 1)           
D,C,B,A (copy of parent 2)

A,C,B,D OK
A,B,C,A
A,B,B,A 
A,B,B,D
A,C,B,A
A,C,C,A
A,C,C,D

D,B,C,A OK
D,C,B,D
D,B,B,A 
D,B,B,D
D,B,C,D
D,C,C,A
D,C,C,D

因此,对于这个例子,2/16的后代是父母的副本。 2/16是没有重复的组合。并且12/16有重复的基因。

排列问题的出现是因为作为另一个排列的网络具有相同的适应性。因此,即使对于精英GA,如果选择一个作为父级,另一个也经常被选为父级。

排列可能只是部分的。在这种情况下,结果优于完全排列,但在很多情况下,后代的适应性仍然低于父母。

为了避免排列问题,我听说similarity based crossover计算神经元及其连接的突触的相似性,在最相似的神经元之间进行交叉而不是基于位点的交叉。< / p>

当网络的拓扑结构发展时,一些NEAT专家认为排列问题是更广泛问题的一部分:&#34;变量长度基因组问题&#34;。并且NEAT似乎通过网络的形态来避免这个问题,当两个网络在拓扑和权重上太不同时,它们不允许交配。因此,NEAT算法似乎认为置换网络太不同,并且不允许它们交配。

A website about NEAT也说:

  

然而,在另一种意义上,可以说可变长度的基因组问题永远不会被解决&#34;因为它是任何系统中固有的,它可以生成解决相同问题的不同结构。例如,鸟和蝙蝠都代表飞行问题的解决方案,但它们不兼容,因为它们是做同样事情的不同惯例。在NEAT中也可能发生同样的情况,在这种情况下可能出现完全不同的结构,它们会做同样的事情当然,这种结构不会交配,避免后代受损的严重后果。尽管如此,可以说由于不同的表示可以同时存在,因此仍然存在不相容的基因组,因此问题不会被解决。&#34;最终,问题是否已经解决是主观的。这取决于你会考虑什么解决方案。然而,至少可以说,#34;可以避免变长基因组的问题。&#34;

编辑:回答你的评论。

你可能适合基于相似性的交叉,我不确定它是否完全避免了排列问题。

关于交叉的最终目标,不考虑排列问题,我不确定它对神经网络的演化是否有用,但我的想法是:如果我们将神经网络分成几个部分,每个部分有助于健身,因此两个具有高适应性的网络可能具有不同的良好部分。结合这些部分应该可以创建一个更好的网络。一些后代当然会继承坏的部分,但其他一些后代会继承好的部分。

像Ray建议的那样,有和没有交叉的神经网络的演化可能是有用的。由于进化中存在随机性,问题是运行大量测试,以计算平均进化速度。

关于进化除神经网络以外的其他东西,我发现a paper表示使用交叉的算法优于仅用于突变的算法来解决所有对最短路径问题(APSP)。

编辑2:

即使排列问题似乎只适用于神经进化这样的某些特定问题,我也不认为我们可以对交叉进行同样的说法,因为我们可能会错过一些关于问题的问题。 ; t似乎适合交叉。

我找到了关于基于相似性的神经进化交叉的论文a free version,它表明:

  • 使用天真交叉的算法比仅使用突变的算法表现更差。

  • 使用基于相似性的交叉,对于所有测试案例,它比仅基于突变的算法表现更好。

  • NEAT算法有时比仅基于突变的算法表现更好。

交叉是复杂的,我认为缺乏将其与仅突变算法进行比较的研究,可能因为其有用性高度依赖:

  • 其工程,与排列问题等特定问题有关。所以我们使用的交叉类型(基于相似性,单点,均匀,边缘重组等)。

  • 交配算法。例如,this paper表明性别遗传算法强大地优于用于解决TSP的非性别遗传算法。为了解决另外两个问题,该算法没有强大的优势,但它优于非性别化的GA。在这个实验中,选择雄性的健康状况,并选择雌性产生良好后代的能力。不幸的是,这项研究并没有将结果与仅有突变的算法进行比较。