How backpropagation works in Convolutional Neural

2019-09-15 03:43发布

问题:

I have few question regarding CNN. In the figure below between Layer S2 and C3, 5*5 sized kernel has been used.

Q1. How many kernel has been used there? Do each of these kernel connected with each of the feature map in Layer S2 ?

Q2. When using Max-pooling, while backpropageting error how a max-pooling feature/neuron knows/determines from which (feature map/neuron) in its previous immediate layer it got the max value ?

Q3. If we want to train kernel then we initialize with random value, is there any equation to update these kernel values using backpropagated error value ?

Q4. In the above figure how the backpropagation works between 'Input' and 'C5' layer after getting error from Layer F6 ?

回答1:

Q1: C1 -> 6 Kernels C3 -> 16 Kernels

S2 and S4 are just subsampling, this means 2*2 Pixel will be decreased to 1 Pixel The most populare Pooling Mechanism is the MAX Pooling:

 (  5   10 ) -->
 (         ) -->  (10)
 (  7    8 ) --> 

Q2: You can save the information or if you have enough time re-run the max_pooling and check where the maximum is and then put the error at this position. The other values in this 2*2 Block are zero