Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Backpropagation in Pooling Layer (Subsamplig layer) in CNN

My doubt is how do I backpropagate error in the Pooling layer, because when I calculate the derivative, there is only 1 element of 4 (for example, when using a 2x2 pooling kernel) that affects the result of the feedforward.

like image 202
Malvrok Avatar asked Nov 21 '16 02:11

Malvrok


People also ask

Can backpropagation be applied when using pooling layers?

BackPropogation can be applied on pooling layers too.

Is subsampling same as pooling?

Pooling in the convolutional network is termed as downsampling or subsampling, which minimizes the number of neurons in the convolutional layer by retaining the important information. There exists a different type of pooling in deep CNN to perform the data processing system.

Can backpropagation be used for CNN?

Summing it up: CNN uses back-propagation and the back propagation is not a simple derivative like ANN but it is a convolution operation as given below.

What is the effect of using pooling layer in CNN?

Pooling layers are used to reduce the dimensions of the feature maps. Thus, it reduces the number of parameters to learn and the amount of computation performed in the network. The pooling layer summarises the features present in a region of the feature map generated by a convolution layer.


1 Answers

Suppose you have a matrix M of four elements

a  b
c  d

and maxpool(M) returns d. Then, the maxpool function really only depends on d. So, the derivative of maxpool relative to d is 1, and its derivative relative to a,b,c is zero. So you backpropagate 1 to the unit corresponding to d, and you backpropagate zero for the other units.

like image 135
Ash Avatar answered Oct 10 '22 11:10

Ash