I am trying understand Pooling part from the Deep Learning. Ian Goodfellow and Yoshua Bengio and Aaron Courville. 2016:. I am confuse in this figure: enter image description here

A pooling unit that pools over multiple features that are learned with separate parameters can learn to be invariant to transformations of the input. Here we show how a set of three learned filters and a max pooling unit can learn to become invariant to rotation. All three filters are intended to detect a hand-written 5. Each filter attempts to match a slightly different orientation of the 5. When a 5 appears in the input, the corresponding filter will match it and cause a large activation in a detector unit. The max pooling unit then has a large activation regardless of which pooling unit was activated. We show here how the network processes two different inputs, resulting in two different detector units being activated. The effect on the pooling unit is roughly the same either way.

What I understand from this text is: We have an input image '5' and we have 3 filter of different orientations. When the input image is convolve with the filters and it matches with the first filter. Therefore, it cause a large activation in the detector unit. When it goes to the pooling layer, it will select the maximum regardless of which unit of activated.

Please correct me if I am wrong to understand this part.

For the second part:

This principle is leveraged by maxout networks (Goodfellow et al., 2013a) and other convolutional networks. Max pooling over spatial positions is naturally invariant to translation; this multi-channel approach is only necessary for learning other transformations.

I couldn't this part.

Anyone, please explain this part in easy way or with examples.


1 Answer 1


Both paragraphs delve around the same idea. Object detection should be invariant to the object pose. In the first case, you have an array of detectors for different orientations. You just want to know if the object is present, so you just go for the orientation giving you the best possible match. You can regard this bank of detectors as a whole, and handle it as a orientation invariant detector.

They take this same idea to the case of position invariance. You take that orientation independent detector and sweep it across the image, and keep the best resulting scores. This way you are position invariant, because you employ the same filters for all image positions. Hence, you end with a position and rotation invariant detector.

  • $\begingroup$ first please tell me the above figure works the same as the architecture of CNN? So I can start me discussion with this point. $\endgroup$ Commented Oct 9, 2016 at 9:03
  • $\begingroup$ Not all cnn use max-pooling necessarily. There are other alternatives. Please check this really nice tutorial cs231n.github.io/convolutional-networks $\endgroup$
    – jpmuc
    Commented Oct 9, 2016 at 9:06
  • $\begingroup$ OK but that is the one case. lets say we have a pooling layer then In the first part,it is mentioned that the max pooling is rotation invariant which makes me confuse that how it is rotation invariant. If it is rotation Invariant than CNN is also rotation invariant? $\endgroup$ Commented Oct 9, 2016 at 9:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.