我对神经网络很陌生,试图用pybrain来构建和训练一个网络。Python/Pybrain:如何在训练期间修正神经网络的权重?
我建立我的网络与所有图层(输入,两个隐藏层,输出)之间的完全连接,然后设置一些权重为零使用_SetParameters,因为我不希望某些特定节点之间的连接。
我的问题是,开始时零的权重与所有其他权重的调整方式相同,因此在通过反向传播训练网络后不再更改为零。我怎样才能迫使“零权重”在整个过程中保持零?
非常感谢您的回答。 菲奥娜
我对神经网络很陌生,试图用pybrain来构建和训练一个网络。Python/Pybrain:如何在训练期间修正神经网络的权重?
我建立我的网络与所有图层(输入,两个隐藏层,输出)之间的完全连接,然后设置一些权重为零使用_SetParameters,因为我不希望某些特定节点之间的连接。
我的问题是,开始时零的权重与所有其他权重的调整方式相同,因此在通过反向传播训练网络后不再更改为零。我怎样才能迫使“零权重”在整个过程中保持零?
非常感谢您的回答。 菲奥娜
看起来您必须使用Connections模块来创建具有节点间特定连接的网络。使用inSliceFrom
和outSliceFrom
参数。有关更多详细信息,请参见this StackOverflow answer。
我正在努力解决类似的问题。
到目前为止,我使用net._setParameters
命令来修复每个训练步骤之后的权重,但应该有一个更好的答案..
这可能帮助此期间,我在等待更好的回答还有: - )