使用遗传算法学习人工神经网络的目的是什么?

时间:2014-08-13 23:47:05

标签: artificial-intelligence neural-network genetic-algorithm

我用遗传算法研究了人工神经网络的基础知识。我发现你基本上可以做两件事:

  1. 使用GA设计网络的结构(确定两个神经元之间是否应该存在边缘)。我想我们假设我们只能使用一定数量的神经元到神经元的连接。
  2. 使用GA计算最佳权重。
  3. 我还了解到GA只有在网络不规则的情况下才有意义。如果网络由层组成,则建议使用反向传播,因为它更快。

    如果反向传播更快并且需要由图层组成的网络,为什么我还要选择GA来学习或设计网络呢?

3 个答案:

答案 0 :(得分:1)

网络的结构不一定容易选择(即使是分层的)。网络的准确性将根据使用的神经元数量,组织和连接方式以及许多其他方面而有所不同。使用GA算法选择设置可能只会产生比人类猜测更好的结果。

权重也是如此。反向传播不一定产生完美的结果。它可能只会产生局部最优,其性能比网络可能具有不同的权重集。遗传算法也可能在这里找到更好的结果。

最后,它是解决人工神经网络构成的困难优化问题的另一种方法。

答案 1 :(得分:1)

  

使用GA设计网络的结构(确定是否存在   应该是两个神经元之间的边缘还是没有。)

一般来说,您似乎在谈论前馈网络,可能是MLP。

这些网络结构与神经元和层的数量以及神经元之间的连接有关。通常这些都是完全连接的,因此层n中的每个神经元都连接到层n + 1中的每一个神经元。训练方法将通过将一些权重训练为零或非常小的数字来理清部分连通性。

根据数据复杂性以及您希望他们做什么,有一些基于人工智能的规则。这些可以为您提供一个良好的起点。训练算法将神经元与神经元连接进行分类,但不会影响神经元或层的数量。

因此,GA可用于试验影响网络规模的参数。

  

使用GA计算最佳权重。

GA不保证这样做。 "最佳权重"不存在。经过训练的网络将在识别和错误之间取得平衡。你可以说"最佳权重"获得目标错误。

对于前馈MLP,GA将比Back Propagation花费更多的处理时间。

我也经历过GA不会微调,所以你可能有一个使用GA而不是BP的噪音容忍度低的网络。

这两种方法都不能保证精确到绝对最小值甚至是可接受的最小值。两者都可能陷入局部最小值。如果发生这种情况,有一些技术可以重新启动GA和BP。但请记住,您的网络架构可能不允许它在您的数据上实现可接受的错误。权重中的内存/空间有限,而我的解决方案就不存在。因此,当你认为你处于局部最小值时,你实际上可能处于绝对最小值但高于可接受的误差。

  

我还了解到GA只有在网络不规则的情况下才有意义。   如果网由层组成,则建议使用反向传播   因为它更快。

你就在这里,而不仅仅是英国石油公司。大多数具有专用训练算法的网络架构比GA更适合这种情况。

但对于不规则网络,可能没有专门的训练算法。对于这些,GA允许您进行实验和训练。在尝试编写专用的训练算法之前,测试体系结构以查看是否可以使用解决方案。

记得在BP发明之前,人工神经网络已有十年的中断,因为没有培训MLP的方法!

  

如果反向传播更快并且需要由图层组成的网络,   为什么我会费心选择GA来学习或设计网络?

如果您使用的是FF网络,BP通常是最好的学习选择。然而,学习只涉及操纵权重。 GA可以用来设计结构,并修改其他的东西,比如偏压,挤压功能...... ....

需要注意的一点是,Back Propagation通过调整权重来训练单个网络。 GA是具有固定权重的许多网络的群体,它发展了一种解决方案,该解决方案是出生的网络。固定重量。没有实际的网络培训/学习。

虽然是单个网络的初始参数;神经元数量,层数,偏差,初始权重,可能需要注意和实验。 GA参数;人口规模,初始值,突变率,交叉,......都会影响进化时间和可能或可能的解决方案的结果。

答案 2 :(得分:0)

因为您不知道如何将网络组织成图层;实际上,您可以使用GA来提供一种将其组织到图层中的方法,然后使用BP来计算所述网络中的权重。