El problema de tratar una imagen como un vector plano
Una red como la de la lección 5 podría, en teoría, recibir una imagen aplanando todos sus píxeles en un único vector. El problema es que eso destruye la estructura espacial: dos píxeles vecinos, que casi siempre están relacionados (forman parte del mismo borde o la misma textura), pasan a ser dos entradas cualquiera sin relación especial entre sí. Las redes neuronales convolucionales (CNN) están diseñadas específicamente para explotar esa estructura espacial.
La convolución: un filtro que se desliza sobre la imagen
La operación central de una CNN es la convolución: un pequeño filtro (o kernel, por ejemplo de 3×3 píxeles) con pesos aprendibles se desliza sobre toda la imagen, y en cada posición calcula un producto punto entre el filtro y el trozo de imagen que cubre. El resultado es un mapa de características (feature map): un valor alto donde el patrón que codifica el filtro aparece en la imagen, y un valor bajo donde no aparece. Un filtro puede aprender a detectar, por ejemplo, bordes verticales, bordes horizontales o manchas de un color concreto — y lo aprende solo, ajustando sus pesos con el mismo descenso de gradiente de siempre.
La clave es que el mismo filtro se reutiliza en toda la imagen: un detector de bordes verticales sirve igual de bien en la esquina superior izquierda que en el centro. Esto reduce drásticamente el número de parámetros comparado con una capa totalmente conectada, y hace que la red reconozca un patrón sin importar en qué parte de la imagen aparezca.
Pooling: reducir sin perder lo importante
Tras una o varias convoluciones, es habitual aplicar pooling (agrupamiento): se divide el mapa de características en pequeñas regiones (por ejemplo 2×2) y se conserva un único valor por región — típicamente el máximo (max pooling). Esto reduce el tamaño espacial del mapa, hace la red más eficiente y más robusta a pequeños desplazamientos del objeto en la imagen (si el patrón se mueve un par de píxeles, el máximo de la región probablemente sigue siendo el mismo).
Jerarquía de características
Al apilar varias capas de convolución + pooling, la red construye una jerarquía de características cada vez más abstracta: las primeras capas detectan patrones simples (bordes, esquinas, colores); las capas intermedias combinan esos patrones en formas y texturas (círculos, rejillas, ojos); y las capas más profundas combinan esas formas en conceptos de alto nivel (una cara, una rueda, un texto). Al final de la red, una o más capas totalmente conectadas (como las de la lección 5) toman ese resumen de características de alto nivel y lo combinan para producir la clasificación final.
Flujo típico de una CNN de clasificación de imágenes, de la entrada a la predicción:
Autocomprobación:
¿Cuál es el propósito principal de una capa de pooling en una CNN?