我需要一种训练神经网络的方法,而不是反向传播
i need a way to train a neural network other than backpropagation
这是一个持续的冒险,一些细节被故意混淆了。
我有一个有多个输入和一个输出的盒子。输出电压随着输入电压的变化而变化。在许多状态通过并评估回顾过程之前,无法评估输出序列的可取性。
我想设计一个神经网络,将盒子的多个输出作为输入,并为盒子生成正确的输入设置,以产生最佳的下一个输出。
我无法使用反向传播训练该网络。我该如何训练这个网络?
遗传算法在这里是个不错的选择。染色体可以编码神经网络的权重。评估后,您可以根据染色体的性能为其分配适应度值。具有更高适应值的染色体有更高的繁殖机会,有助于在下一代中产生性能更好的染色体。
对权重进行编码是一个相对简单的解决方案,更复杂的甚至可以定义网络的拓扑结构。
您可能会在这里找到一些额外的有用信息:
爬山法是最简单的优化算法。只是随机修改权重,看看它是否做得更好,如果没有重置它们并重试。它通常也比遗传算法更快。但是它很容易陷入局部最优,所以尝试运行几次并选择最好的结果。
这是一个持续的冒险,一些细节被故意混淆了。
我有一个有多个输入和一个输出的盒子。输出电压随着输入电压的变化而变化。在许多状态通过并评估回顾过程之前,无法评估输出序列的可取性。
我想设计一个神经网络,将盒子的多个输出作为输入,并为盒子生成正确的输入设置,以产生最佳的下一个输出。
我无法使用反向传播训练该网络。我该如何训练这个网络?
遗传算法在这里是个不错的选择。染色体可以编码神经网络的权重。评估后,您可以根据染色体的性能为其分配适应度值。具有更高适应值的染色体有更高的繁殖机会,有助于在下一代中产生性能更好的染色体。
对权重进行编码是一个相对简单的解决方案,更复杂的甚至可以定义网络的拓扑结构。
您可能会在这里找到一些额外的有用信息:
爬山法是最简单的优化算法。只是随机修改权重,看看它是否做得更好,如果没有重置它们并重试。它通常也比遗传算法更快。但是它很容易陷入局部最优,所以尝试运行几次并选择最好的结果。