我想用遗传算法进化一个神经网络,以逼近数学函数(线性、立方、正弦、tanh等)。其要求是神经网络应根据神经元的拓扑结构、权值和激活函数进行演化。求值函数是计算神经网络输出与需要逼近的函数(均方误差)之间的误差的函数。
我最关心的是,我想要对表达/编码/基因组有绝对的控制,因为我想同时进化一层神经元,它们的重量和激活功能,所以我必须想出一个包含所有这些东西的染色体。
你推荐什么工具?我正在检查DEAP是否进化了神经网络,我正在考虑使用PyLearn 2来实现GA将产生的实际最佳配置。
发布于 2015-11-06 00:48:51
神经网络的最新进展是用Lua编写的Torch7 .这是Facebook AI和Google DeepMind所使用的(以及我的实验室)。但我认为lua并不是实现抽样算法的最佳语言。
另一种最先进的框架是用python编写的--叫做Theano,但我对火炬有强烈的偏好。但是,对于您的任务来说,这两种方法都可能太多了。
一个简单的选择也可以是使用Autograd,一个自动的numpy微分库https://github.com/HIPS/autograd来轻松地训练你的神经网络并对它有绝对的控制。他们的文档中有几个例子。
最后,遗传算法是Monte的另一个名称,围绕实现python (ex )有很多资源。https://codereview.stackexchange.com/questions/41004/organising-code-for-a-genetic-algorithm-in-python或github)。
DEAP听起来是个不错的选择,而且PyEvolve已经过时了。
编辑:我忘了提到Keras (http://keras.io/),这实际上可能是另一个很好的选择,并且是基于Theano的。
发布于 2015-11-11 18:42:33
您还可以查看区块。它是一个建立在theano上的库,它通过变量注释来管理计算图。它允许更丰富的(即,更复杂,更递归,更多的那些奇怪的神经堆栈一样的结构,你白日做梦)的模型,比库如角,pylearn2,和拉斯涅。尽管这些库可能会更好,如果您只想‘进化’的经典MLP架构的变化。
https://stackoverflow.com/questions/33555506
复制相似问题