Max pooling y average pooling en redes neuronales

Clase 6 de 15Curso de Redes Neuronales Convolucionales

Resumen

Desarrollar redes neuronales convolucionales implica seguir pasos específicos como la aplicación de capas convolucionales y funciones de activación. Un aspecto clave en este proceso es el pooling, que reduce la dimensionalidad espacial, disminuyendo así el tamaño de matrices numéricas y agilizando cálculos.

¿En qué consiste la técnica de pooling?

La técnica de pooling es usada para reducir las dimensiones espaciales de una imagen o del resultado de operaciones convolucionales previas. Este proceso se realiza mediante ventanas de análisis específicas que recorren matrices numéricas para obtener resultados más pequeños. Se identifican dos tipos comunes:

  • Max pooling: selecciona el valor máximo dentro del área analizada.
  • Average pooling: calcula el promedio de todos los valores incluidos dentro de la ventana.

¿Cuál es la diferencia entre max pooling y average pooling?

Ambos tipos se basan en estadísticas locales, sin embargo, cada uno tiene un propósito propio:

  • Max pooling: útil para destacan aspectos dominantes como bordes o contornos definidos.
  • Average pooling: empleado para suavizar detalles y mantener una perspectiva más generalizada y suave, evidenciado principalmente en imágenes con menos detalles marcados.

Cuando no exista plena certeza sobre cuál utilizar, average pooling es aconsejable por su robustez general.

¿Cómo se implementa el pooling en un notebook?

Para implementar pooling en un notebook, los pasos generales son:

  1. Importar librerías necesarias.
  2. Definir matriz numérica o imagen inicial.
  3. Establecer el tamaño de ventana y el stride (distancia de desplazamiento de la ventana entre cada cálculo).

Al aplicar una ventana fija (por ejemplo, tamaño dos por dos), se tomarán segmentos específicos (uno, dos, cinco y seis inicialmente), avanzando luego de acuerdo al stride definido. Por ejemplo:

  • Con stride dos: se obtiene una matriz reducida.
  • Con stride uno: se obtienen más cálculos y, por ende, una matriz menos condensada.

Al experimentar con distintos strides, se apreciarán diferentes niveles de reducción dimensional y detalles en la imagen o matriz resultante.

¿Pooling es similar a redimensionar imágenes con métodos tradicionales?

La reducción de dimensiones por medio de pooling no corresponde a redimensionar (resize). Pooling utiliza métodos estadísticos específicos y valores locales definidos en ventanas, distinto del tradicional resize con fórmulas matemáticas específicas.

La diferencia visual tras aplicar pooling en imágenes es evidente. Tomando como ejemplo imágenes en blanco y negro o el logo de Platzi, se observan:

  • Mayor pixeleado, dado que la dimensión se reduce.
  • Bordes resaltados con max pooling.
  • Suavización general con average pooling.

Se recomienda experimentar con distintas imágenes para determinar qué tipo de pooling es más apropiado según la necesidad específica.

¿Has tenido experiencia usando pooling en tus proyectos? Comparte en comentarios cuáles resultados has visto más útiles al aplicar esta técnica.