基于遗传算法的神经网络权重优化 [英] Weights optimization of a neural network using Genetic Algorithm

查看:173
本文介绍了基于遗传算法的神经网络权重优化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人告诉我实施神经网络进行预测.因此,我使用反向传播算法创建了一个前馈多层感知器,它工作正常.但是我需要越来越快地得到结果.因此,我想出了遗传算法来优化训练过程中的权重.

I was told to implement a neural network to do forecasting. So I created a Feed Forward MultiLayer Perceptron with a Backpropagation algorithm and it is working fine. But I need to get results faster and faster. So I thaught about genetic algorithm t ooptimize the weights in the training session.

您如何建议对染色体进行编码?

How do you suggest to encode the chromosme ?

我已经将其作为随机生成的权重表(-100,100)进行了处理,但是并没有给出出色的结果.我想问题是即使突变概率很高,生成随机的权重表也会限制解空间.

I already done it as a table of weights generated randomly (-100, 100) but it's not giving extraordinary results. I guess that the problem is that generating a random table of weights limit the solutions space even if the probability of mutation is high.

有什么想法如何在染色体中对权重进行编码,以使遗传算法更好地工作?

Any idea how to encode the weights in the chromosme in order to let the genetic algorithm work great ?

谢谢.

推荐答案

简而言之(已在注释中建议):请勿这样做.遗传算法是针对无法有效优化的问题的简单元优化器,因为它们缓慢,启发式,并且需要大量资源.特别是,应该从不起诉那些训练神经网络的神经网络,为此,我们拥有许多非常有效的训练方法(SGD,Rmsprop,Adam).但是,它们可以用于优化一些更抽象的部分,例如网络体系结构等,在这种情况下,人们无法计算有效的梯度,甚至无法使用其他定义明确的数学程序.

In short (which has been already suggested in the comments): don't do this. Genetic algorithms are a simple metaoptimizers for problems which cannot be efficiently optimized, as they are slow, heuristic and require lots of resources. In particular they should never be sued to train a neural network, for which we have dozesns of very efficient training methods (SGD, Rmsprop, Adam). They can be used to optimize some more abstract parts though, like network architecture etc., where one cannot compute valid gradients or even use other well defined mathematical procedures.

这篇关于基于遗传算法的神经网络权重优化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆