🧮 Computational Mathematics

Inicio · Parte 15 — Matemática de Deep Learning

312 — Pooling y downsampling

deep-learning clase 12 de 20 4 horas demostración pooling

Pooling reduce sin parámetros: max conserva la intensidad, average conserva el contexto.

Fórmulas

max pooling: máximo de cada ventana
average pooling: media de cada ventana
parámetros aprendidos: 0

Desarrollo

El pooling reduce la resolución espacial agregando ventanas de activaciones. No tiene parámetros aprendidos: es una operación fija que reduce el cómputo, amplía el campo receptivo e introduce cierta invariancia a pequeños desplazamientos.

Max pooling conserva la activación más fuerte de cada ventana. Es el más usado en clasificación porque preserva la evidencia de que una característica está presente, descartando dónde exactamente. Average pooling promedia y conserva más información de contexto, y es el habitual en la capa final como global average pooling, que sustituye a las capas densas y reduce enormemente los parámetros.

La invariancia que proporciona tiene un límite del que conviene ser consciente: es invariancia a desplazamientos pequeños, del orden del tamaño de la ventana. No hace la red invariante a traslaciones grandes, y como se vio en la clase 270, hacer submuestreo sin suavizado previo introduce aliasing que rompe la invariancia en vez de crearla.

La tendencia arquitectónica ha ido reduciendo su papel. Muchas redes modernas usan convoluciones con stride 2 en lugar de pooling, con el argumento de que así la reducción es aprendida en vez de impuesta. El pooling sobrevive sobre todo en su forma global al final de la red.

Ejemplo trabajado

Max y average pooling 2×2 sobre la misma entrada.

entrada 4×4

max pool 2×2:
  [[6,0   4,0]
   [7,0   9,0]]

average pool 2×2:
  [[3,75  2,25]
   [3,50  5,50]]

forma de salida: (2, 2)
reducción: 16 elementos → 4
parámetros aprendidos: 0

Max conserva el pico de cada ventana; average lo diluye.
Para "¿está presente esta característica?" conviene max;
para "¿cuánta hay en promedio?" conviene average.

Qué calcula el laboratorio

Max y average pooling: reducción con y sin pérdida de posición.

python classes/part-15-matematica-de-deep-learning/312-pooling-y-downsampling/lab.py
compmath run 312

Salidas del laboratorio (9)

Muestra de la ejecución real

{
  "entrada_shape": [
    4,
    4
  ],
  "max_pool_2x2": [
    [
      6.0,
      4.0
    ],
    [
      7.0,
      9.0
    ]
  ],
  "avg_pool_2x2": [
    [
      3.75,
      2.25
    ],
    [
      3.5,
      5.5
    ]
  ],
  "salida_shape": [
    2,
    2
  ],
  "reduccion_de_elementos": "16 → 4",
  "parametros_aprendidos": 0
}

Errores comunes

Dónde se usa

Redes convolucionales de clasificación, global average pooling como cabeza, reducción de cómputo y agregación en redes sobre grafos.

Idea rectora de la parte

Sin no linealidad, apilar capas sigue siendo una única transformación lineal.

Error a evitar

Mezclar estadísticas de batch normalization entre entrenamiento e inferencia.

Conexión con IA

Toda arquitectura moderna, incluido el Transformer, se construye sobre estos bloques y sobre este mismo mecanismo de derivación.

Bibliografía de la clase

Archivos de la clase