Python 脑神经元操作
有没有一种好方法可以将神经元及其相关连接添加/删除到完全连接的大脑网络中?假设我从以下几点开始:Python 脑神经元操作,python,neural-network,pybrain,Python,Neural Network,Pybrain,有没有一种好方法可以将神经元及其相关连接添加/删除到完全连接的大脑网络中?假设我从以下几点开始: from pybrain.tools.shortcuts import buildNetwork net = buildNetwork(2,3,1) 在保持所有旧权重的同时(并像初始化网络时那样,将任何新权重初始化为随机权重),我将如何使其成为(2,4,1)或(2,2,1)网络?我之所以想这样做,是因为我试图使用进化学习策略来确定最佳架构,“变异”步骤涉及以一定概率添加/删除节点。(输入和输出模块
from pybrain.tools.shortcuts import buildNetwork
net = buildNetwork(2,3,1)
在保持所有旧权重的同时(并像初始化网络时那样,将任何新权重初始化为随机权重),我将如何使其成为(2,4,1)或(2,2,1)网络?我之所以想这样做,是因为我试图使用进化学习策略来确定最佳架构,“变异”步骤涉及以一定概率添加/删除节点。(输入和输出模块应始终保持不变。)
编辑:我找到了NeuronDecomposableNetwork,这应该会使这更容易,但似乎我仍然必须单独跟踪神经元和连接。我想你是按照算法的思路来做的? 您的问题有两种不同的答案:
sortModules()
方法NeuronalDecomposableNetwork
),但我不建议这样做
一般评论:对于pybrain的更高级使用,如您的pybrain,依赖“buildNetwork”快捷方式实在是太有限了,您需要直接使用网络/模块/连接API。太棒了,这对我很有帮助,谢谢!我真的很喜欢第一个想法。从来没有想过使用层作为单独的神经元。是的,在尝试了大约三天之后,我也不推荐手动管理lol(另一个stackoverflow帖子就是我想到的)。我会在做了一些实验后回来(这是我第一次发现它,但几乎正是我想要得到的),并用结果更新我的帖子。