Solved – VGG and max pool layers

computer visionconv-neural-networkmachine learningpooling

Why haven't VGG's config (https://arxiv.org/pdf/1409.1556.pdf) one max pooling layers after each conv layers?

Best Answer

Max pooling layers (and pooling layers more generally) are used to make training deep convolutional nets easier. When you insert a max pooling layer after a convolutional layer, it is effectively downsampling the output of the conv layer. In other words, it's reducing the amount of data that will be sent to the next layer (by a factor of 4 if your pooling stride is 2 horizontal and 2 vertical). Since max pool layers throw away information from the previous layers, if you insert a lot of pooling layers there's a good chance you will see a decrease in the performance of the network (although it will train faster).

For this reason (amongst others) there's been a recent trend of throwing away max pooling layers (such as in convolutional nets with residual connections).

Related Question