Answers.Body: <p>In addition to JCP's answer I would like to add some more detail. At best, max pooling is a less than optimal method to reduce feature matrix complexity and therefore over/under fitting and improve model generalization(for translation invariant classes).</p>
  
  <p>However as JCP begins to hit on.. there are problems with this method. Hinton perhaps sums the issues in <a href="https://www.youtube.com/watch?v=rTawFwUvnLE" rel="nofollow noreferrer">his talk here</a> on what is wrong with CNNs. This also serves as motivation for his novel architecture capsule networks or just capsules. </p>
  
  <p>As he talks about, the main problem is not translational variance per se but rather pose variance. CNNs with max pooling are more than capable of handling simple transformations like flips or rotation without too much trouble. The problem comes with complicated transforms, as features learned about a chair facing forwards, will not be too helpful towards class representation if the real-world examples contain chairs upside down, to the side, etc. </p>
  
  <p>However there is much work being done here, mostly constrained to 2 areas. Those being, novel architectures/methods and inference of the 3d structure from images(via CNN tweaks). This problem was one of the bigger motivators for researchers throughout the decades, even <a href="https://en.wikipedia.org/wiki/David_Marr_(neuroscientist)" rel="nofollow noreferrer">David Marr</a> with his primal sketches.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-05T05:55:17.730Z
Answers.LastActivityDate: 2019-04-05T05:55:17.730Z
Answers.UserDisplayName: hisairnessag3
Answers.Body: <p>Max pooling isn't bad, it just depends of what are you using the convnet for. For example if you are analyzing objects and the position of the object is important you shouldn't use it because the translational variance; if you just need to detect an object, it could help reducing the size of the matrix you are passing to the next convolutional layer. So it's up to the application you are going to use your CNN. </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-04-05T04:46:10.343Z
Answers.LastActivityDate: 2019-04-05T04:46:10.343Z
Answers.UserDisplayName: JCP
Body: <p>Hinton doesn't believe in the pooling operation (<a href="http://www.youtube.com/watch?v=rTawFwUvnLE&amp;t=10m12s" rel="nofollow noreferrer">video</a>). I also heard that many max-pooling layers have been replaced by convolutional layers in recent years, is that true?</p>
  
Tags: <deep-learning><convolutional-neural-networks><pooling><max-pooling>
Title: Is max-pooling really bad?
UserDisplayName: user559678
ThreadText: # Is max-pooling really bad?
  
  (Asked by: username_0 on 2019-04-04)
  
  Hinton doesn't believe in the pooling operation ([video](http://www.youtube.com/watch?v=rTawFwUvnLE&t=10m12s)). I also heard that many max-pooling layers have been replaced by convolutional layers in recent years, is that true?
  
  **Tags:** deep-learning, convolutional-neural-networks, pooling, max-pooling
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2019-04-05. Score: 4
  
  In addition to JCP's answer I would like to add some more detail. At best, max pooling is a less than optimal method to reduce feature matrix complexity and therefore over/under fitting and improve model generalization(for translation invariant classes).
  
  However as JCP begins to hit on.. there are problems with this method. Hinton perhaps sums the issues in [his talk here](https://www.youtube.com/watch?v=rTawFwUvnLE) on what is wrong with CNNs. This also serves as motivation for his novel architecture capsule networks or just capsules.
  
  As he talks about, the main problem is not translational variance per se but rather pose variance. CNNs with max pooling are more than capable of handling simple transformations like flips or rotation without too much trouble. The problem comes with complicated transforms, as features learned about a chair facing forwards, will not be too helpful towards class representation if the real-world examples contain chairs upside down, to the side, etc.
  
  However there is much work being done here, mostly constrained to 2 areas. Those being, novel architectures/methods and inference of the 3d structure from images(via CNN tweaks). This problem was one of the bigger motivators for researchers throughout the decades, even [David Marr](https://en.wikipedia.org/wiki/David_Marr_(neuroscientist)) with his primal sketches.
  
  
  ---
  
  ### Answer by username_2 on 2019-04-05. Score: 1
  
  Max pooling isn't bad, it just depends of what are you using the convnet for. For example if you are analyzing objects and the position of the object is important you shouldn't use it because the translational variance; if you just need to detect an object, it could help reducing the size of the matrix you are passing to the next convolutional layer. So it's up to the application you are going to use your CNN.
  
  
  ---
  
  