Click here to Skip to main content
15,881,173 members
Please Sign up or sign in to vote.
3.00/5 (2 votes)
Hi,

I'm trying to learn CNN (convolutional neural network), but I have problem with shared weights.
I mean, when I have a single weight, I don't know how to obtain new value in backpropagation algorithm.

In regular multilayer network new value is easy to calculate, it is:
w(i,j) += LearningRate * MyNeuron.Error * DerivativeActivationFunction(MyNeuron.Sum) * Neurons[m-i,k,j].Output;

where :
MyNeuron - is a neuron class which you enter our weight
MyNeuron.Error - is an error value which we calculated from next layer 
DerivativeActivationFunction() - is Derivate of activation function
MyNeuron.Sum - is sum of multiplication weights with neurons outputs from early layer  
Neurons[m-i,k,j].Output - is a neuron output from earlier layer (here comes our weight) 

But when I have shared weight, I don't know what to do, should I calculate an average from every neurons?

some help:
http://piczasso.com/i/es81j.png

Please help!
Posted
Updated 5-Mar-11 18:17pm
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900