2016-10-20 1 views
0

신경망에서 라자뉴와 함께 일하고 있습니다.라자냐에서 체중 대칭을 부과하는 법

나는 첫 번째 레이어에 같은 무게가 입력 층의 많은 뉴런에 적용되는 것을 원하는 (그리고 분명히 나는 ​​무게 업데이트는이 모든 신경 세포의 기여 고려하고 있다고합니다) 내 입력이 많은이이 때문에

대칭성 : 24 * n 개의 서로 다른 입력이 있지만 4 * n 개의 다른 가중치 만 필요합니다 (n은 여전히 ​​결정할 필요가있는 매개 변수입니다)

어떻게해야합니까?

답변

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_3 같은 편견이있을 것이다 layer_2layer_2과 동일한 가중치를해야합니다 이런 식으로 layer_1.

http://lasagne.readthedocs.io/en/latest/user/layers.html#parameter-sharing

관련 문제