Python/Pybrain: 如何在训练期间固定神经网络的权重?
Python/Pybrain: How can I fix weights of a neural network during training?
我对神经网络还很陌生,正在尝试使用 pybrain 来构建和训练网络。
我正在手动构建我的网络,在所有层(输入、两个隐藏层、输出)之间建立完全连接,然后使用 _SetParameters 将一些权重设置为零,因为我不希望某些特定节点之间存在连接。
我的问题是开始时为零的权重以与所有其他权重相同的方式进行调整,因此在通过反向传播训练网络后不再为零。如何在整个过程中强制 "zero-weights" 保持为零?
非常感谢您的回答。
菲奥娜
我正在为类似的问题而苦苦挣扎。
到目前为止,我正在使用 net._setParameters
命令在每个训练步骤后固定权重,但应该有更好的答案..
暂时可能会有帮助,我也在等待更好的答案:-)
看来您必须使用 Connections module to create your network with the specific connections between nodes. Use the inSliceFrom
and outSliceFrom
parameters. See this Whosebug answer 才能获得更多详细信息。
我对神经网络还很陌生,正在尝试使用 pybrain 来构建和训练网络。
我正在手动构建我的网络,在所有层(输入、两个隐藏层、输出)之间建立完全连接,然后使用 _SetParameters 将一些权重设置为零,因为我不希望某些特定节点之间存在连接。
我的问题是开始时为零的权重以与所有其他权重相同的方式进行调整,因此在通过反向传播训练网络后不再为零。如何在整个过程中强制 "zero-weights" 保持为零?
非常感谢您的回答。 菲奥娜
我正在为类似的问题而苦苦挣扎。
到目前为止,我正在使用 net._setParameters
命令在每个训练步骤后固定权重,但应该有更好的答案..
暂时可能会有帮助,我也在等待更好的答案:-)
看来您必须使用 Connections module to create your network with the specific connections between nodes. Use the inSliceFrom
and outSliceFrom
parameters. See this Whosebug answer 才能获得更多详细信息。