I am currently working on a face recognition software that uses convolution neural networks to recognize faces. Based on my readings, I've gathered that a convolutional neural network has shared weights, so as to save time during training. But, how does one adapt backpropagation so it can be used in a convolution neural network. In backpropagation, one uses a formula similar to this to train the weights.
New Weight = Old Weight + LEARNING_RATE * 1 * Output Of InputNeuron * Delta
However, since in convolutional neural networks, the weights are shared, each weight is used with multiple neurons, so how do I decide which Output of InputNeuron
is used?
In other words, since the weights are shared, how do I decide how much to change the weights by?