【发布时间】:2016-02-08 14:54:24
【问题描述】:
我正在研究 PyBrain 中的前馈网络。为了让我比较改变某些参数的效果,我自己初始化了网络权重。我这样做的假设是如果权重总是相同的,那么输出应该总是相同的。这个假设不正确吗?下面是用于设置网络的代码
n = FeedForwardNetwork()
inLayer = LinearLayer(7, name="in")
hiddenLayer = SigmoidLayer(1, name="hidden")
outLayer = LinearLayer(1, name="out")
n.addInputModule(inLayer)
n.addModule(hiddenLayer)
n.addOutputModule(outLayer)
in_to_hidden = FullConnection(inLayer, hiddenLayer, name="in-to-hidden")
hidden_to_out = FullConnection(hiddenLayer, outLayer, name="hidden-to-out")
n.addConnection(in_to_hidden)
n.addConnection(hidden_to_out)
n.sortModules()
in_to_hidden_params = [
0.27160018, -0.30659429, 0.13443352, 0.4509613,
0.2539234, -0.8756649, 1.25660715
]
hidden_to_out_params = [0.89784474]
net_params = in_to_hidden_params + hidden_to_out_params
n._setParameters(net_params)
trainer = BackpropTrainer(n, ds, learningrate=0.01, momentum=0.8)
更新
看起来即使是随机数生成器,可重复性仍然是一个问题。见the GitHub issue here
【问题讨论】:
标签: machine-learning neural-network pybrain