【问题标题】:How to normalize neural networks for genetic algorithms?如何为遗传算法标准化神经网络?
【发布时间】:2011-07-04 04:51:20
【问题描述】:

我正在尝试使用遗传算法训练一个简单的前馈神经网络,但事实证明它的效率相当低,因为同构神经网络看起来与遗传算法不同。

可能有多个神经网络,它们的行为方式相同,但它们的神经元以不同的方式从左到右和跨级别排序。对于遗传算法,这些网络的基因型将显得完全不同。因此,任何跨界尝试都是毫无意义的,而 GA 最终会像爬山一样有效。

您能否推荐一种方法来规范化网络,使它们对遗传算法显得更加透明?

【问题讨论】:

  • 大多数通过遗传算法训练的神经网络通常使用反向传播的混合,然后使用进化来确定允许哪些神经元成为网络的一部分。使用进化来训练权重不知道其上下文,并且可能基本上是随机的。不理想。

标签: normalization neural-network genetic-algorithm


【解决方案1】:

在这种情况下,我将交叉称为“低效”,而不是“毫无意义”。解决您提到的重复的一种方法可能是以某种规范顺序对隐藏层神经元进行排序,并在交叉期间使用此顺序,这至少可以减少隐藏权重空间中遇到的重复。

此外,您可以通过比遗传算法更直接的方法来拟合输出层权重。你没有说正在使用什么性能指标,但许多常见的度量都有相当简单的优化。因此,例如,您可以使用遗传算子生成一个新的隐藏层,然后通过逻辑回归拟合输出层,并让 GA 评估整个网络。

【讨论】:

    猜你喜欢
    • 2010-10-24
    • 2019-04-15
    • 2011-01-06
    • 2011-06-30
    • 2018-05-11
    • 2017-10-25
    • 2015-12-14
    • 2020-08-19
    • 2018-10-22
    相关资源
    最近更新 更多