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!