O que é o máximo em redes neurais convolucionais?
O Pooling Máximo é uma estratégia de downsampling em Redes Neurais Convolucionais. Veja a figura a seguir para um entendimento mais abrangente (Esta figura é da minha tese de doutorado). Quora some how blurs the image]Aqui na figura, nós mostramos a operação sobre o espaço de pixels. Alternativamente, podemos fazer uma operação similar em algum outro espaço matemático. Além disso, pode-se mudar a operação de levar o 'Max' para outra coisa, digamos, levar uma 'Média' (Isto é o que é feito em Average Pooling).
Geralmente, para fins pedagógicos, a representação do Max Pooling é feita para regiões não sobrepostas. Isto às vezes leva a uma conjectura de que o "max pooling" é normalmente realizado sem sobreposições. No entanto, na realidade, esta noção não é seguida na sua maioria. Em quase todas as arquiteturas famosas da CNN, o max pooling tem sido realizado com regiões sobrepostas. [Tamanho do Kernel, Stride] - AlexNet = [3x3, 2]; GoogleNet = [3x3, 2] , [3x3, 1]; VGG_CNN_S = [3x3,3], [2x2,2]; VGG_CNN_M e variantes = [3x3, 2]; VGGG_CNN_F = [3x3, 2]. Mostramos assim na figura todas as variantes de pooling máximo através das famosas arquiteturas CNN ([3x3,3] é similar em natureza a [2x2,2]).
Uma pessoa pode Google estas configurações ou consultar os arquivos de implantação no BVLC Caffe !!
As sobreposições de pooling são de fato necessárias nas CNNs. Como foi apontado por Hinton, que sem sobreposições, a operação de pooling pode perder informações importantes sobre a localização do objeto.