Artificial intelligence 使用遗传算法学习神经网络的目的是什么

Artificial intelligence 使用遗传算法学习神经网络的目的是什么,artificial-intelligence,neural-network,genetic-algorithm,Artificial Intelligence,Neural Network,Genetic Algorithm,我学习了用遗传算法学习人工神经网络的基础知识。我发现基本上你可以做两件事: 使用遗传算法设计网络的结构(确定两个神经元之间是否应该有一条边)。我想我们假设我们只能使用一定数量的神经元之间的连接 使用遗传算法计算最优权重 我还了解到,遗传算法只有在不规则网络的情况下才有意义。如果网络由层组成,建议使用反向传播,因为它更快 如果反向传播速度更快,并且需要一个由层组成的网络,为什么我要费心选择GA来学习或设计网络 因为你不知道如何将你的网络组织成层;事实上,你可以使用遗传算法来找到一种将其组织成层的方

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

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


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

    因为你不知道如何将你的网络组织成层;事实上,你可以使用遗传算法来找到一种将其组织成层的方法,然后使用BP来计算所述网络中的权重。

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

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

    最后,它是一种不同的方法来解决复杂的优化问题,人工神经网络提出

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

    一般来说,您似乎在谈论前馈网络,大概是MLP

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

    根据数据复杂性和您希望ANN执行的操作,有一些设置ANN的规则。这些可以给你一个很好的起点。训练算法将对神经元之间的连接进行分类,但不会影响神经元或层的数量

    因此GA可用于试验影响网络大小的参数。

    使用遗传算法计算最优权重

    GA不能保证做到这一点。“最佳权重”实际上并不存在。经过培训的网络将在识别和错误之间取得平衡。您可以说“最佳权重”以获得目标误差

    对于前馈MLP,GA将比反向传播花费更多的处理时间。

    我还经历过遗传算法不能很好地进行微调,因此使用遗传算法的网络可能比使用BP的网络抗噪性差

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

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

    你就在这里,不仅仅是BP。大多数具有专用训练算法的网络架构比遗传算法更适合这种情况

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

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

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

    如果使用FF网络,BP通常是最佳学习选择。然而,学习只涉及操纵重量遗传算法可用于设计结构,并修改偏差、挤压函数等其他内容

    需要注意的一点是,经常被忽略的是,反向传播通过调整权重来训练单个网络。遗传算法是由许多具有固定权重的网络组成的群体,它进化出一种解决方案,即“天生”具有固定权重的网络。没有实际的网络培训/学习


    而单个网络的初始参数;神经元的数量、层数、偏差、初始权重可能需要注意和实验。遗传算法参数;种群大小,初始值,变异率,交叉,。。。所有这些都会影响进化时间以及可能或可能的解决方案的结果。

    我不理解将网络划分为多个层次的原则。也许是我缺乏经验,但有什么问题呢?层是一个平凡的结构。一组神经元,每个神经元与前一层的每个神经元相连。你可以有一层、两层、三层或十层,每层有两个、六个或二十九个神经元。因此,有无数种可能的设置,它们的性能都会有所不同。哪一个是最好的?这通常很难说。一个遗传算法可能会出现