我在神经网络上使用Lasagne。
我希望在第一层,相同的权重应用于输入层的许多神经元(显然我希望权重更新考虑所有这些神经元的贡献)
这是因为我的输入有很多对称性:我有24 * n个不同的输入,但我只想要4 * n个不同的权重(n是我仍然需要决定的参数)
我该怎么做?
答案 0 :(得分:0)
使用theano.shared
变量,例如:
l_in = lasagne.layers.InputLayer(10)
weights = theano.shared(np.zeros(10, 100))
layer_1 = lasagne.layers.DenseLayer(l_in, num_units=100, W=weights)
layer_2 = lasagne.layers.DenseLayer(l_in, num_units=100, W=weights)
layer_3 = lasagne.layers.DenseLayer(l_in, num_units=100, b=layer_2.b)
这种方式layer_1
的权重与layer_2
相同,而layer_2
与layer_3
具有相同的偏差。
http://lasagne.readthedocs.io/en/latest/user/layers.html#parameter-sharing