Atlasingeniería

Aprendizaje automáticoRedes neuronalesTema 3

Redes convolucionales

Conectar cada píxel con cada neurona es inviable y además desperdicia lo que ya sabemos de una imagen: que lo importante es local y se repite en cualquier posición.

Para este tema conviene tener claro:Cómo funciona realmente la retropropagación

Una imagen chica de 224 por 224 en color son más de 150.000 números. Una capa densa conectada a mil neuronas necesitaría 150 millones de pesos sólo para empezar. Las redes convolucionales evitan eso aprovechando dos propiedades que una imagen tiene y una tabla no.

Localidad e invariancia a la posición

El primer supuesto es la localidad: lo que define un borde o una textura está en un vecindario chico de píxeles, no repartido por toda la imagen. Así que cada neurona mira sólo una ventana.

El segundo es la invariancia a la traslación: un borde es un borde esté arriba o abajo. Entonces el mismo detector puede aplicarse en todas las posiciones, compartiendo los pesos. Esos dos supuestos son lo que reduce los parámetros en varios órdenes de magnitud.

Antes de seguir, predecí

Un gato aparece en la esquina de la imagen en vez del centro. ¿La convolución lo detecta igual?

La operación: deslizar un filtro chico

La operación es deslizar un filtro chico —típicamente de 3 por 3— sobre la imagen, multiplicando y sumando en cada posición. El resultado es un mapa de activación: dónde aparece el patrón que ese filtro detecta.

La imagen: negro a la izquierda, blanco a la derecha. Hay un borde vertical entre la columna 1 y la 2.

1 / 6
Los mismos nueve números se aplican en cada posición: eso es compartir pesos. La imagen tiene un borde vertical en el medio y el filtro se enciende justo ahí, en cualquier fila que esté.

Cada capa aprende muchos filtros en paralelo, cada uno sensible a algo distinto. Y lo importante es que los filtros se aprenden: antes se diseñaban a mano —detectores de borde, de esquina— y ahora salen del entrenamiento.

De bordes a texturas a objetos

Apilando capas aparece una jerarquía que se puede visualizar. Las primeras detectan bordes y colores. Las intermedias, texturas y partes: un ojo, una rueda. Las profundas, objetos completos.

Eso se parece a cómo funciona la corteza visual, y es la razón por la que estas redes son transferibles: las capas iniciales aprenden algo tan general que sirven para otra tarea. Reusar una red preentrenada y ajustar sólo las últimas capas es lo que permite entrenar con pocos datos propios.

Paso, relleno y agrupamiento

Hay tres parámetros estructurales. El paso, cuánto se desplaza el filtro: mayor a uno reduce el tamaño de la salida. El relleno, agregar ceros al borde para conservar dimensiones. Y la agrupación, que reduce resolución quedándose con el máximo o el promedio de cada vecindario.

La agrupación aporta cierta tolerancia a pequeños desplazamientos y baja el costo, aunque las arquitecturas modernas muchas veces la reemplazan por convoluciones con paso mayor. El otro concepto que conviene tener presente es el campo receptivo: cuánta imagen original influye en una activación profunda, que crece con la profundidad.

Las conexiones residuales destrabaron la profundidad

Entrenar redes muy profundas no funcionó hasta que aparecieron las conexiones residuales: sumar la entrada de un bloque a su salida, de modo que la capa aprenda la diferencia en vez de la transformación completa.

Eso le da al gradiente un camino directo hacia atrás y permitió pasar de decenas a cientos de capas. Junto con la normalización por lotes —que estabiliza la escala de las activaciones— son las dos ideas que hicieron viable la visión moderna.

Lo que le da fuerza es también su límite

Los supuestos que le dan su fuerza son también su límite: si el problema no tiene estructura local ni invariancia, la convolución no aporta. Sobre datos tabulares, donde el orden de las columnas es arbitrario, no tiene sentido.

Y sigue siendo un modelo estadístico: cambios imperceptibles en los píxeles pueden cambiar la predicción por completo —los ejemplos adversariales—, y funciona mal ante condiciones que no aparecían en el entrenamiento. Hoy compite con los transformers de visión, que abandonan el supuesto de localidad y ganan cuando hay muchísimos datos; con datos moderados, las convolucionales siguen siendo más eficientes.

Lo que se hace en la práctica

SituaciónQué hacerPor qué
Menos de mil imágenesajustar un modelo preentrenadoentrenar desde cero necesita órdenes de magnitud más
Miles de imágenesajustar las últimas capaslas primeras ya aprendieron bordes y texturas
Millones y un dominio raroentrenar desde cerorecién ahí conviene
Imágenes muy distintas de las naturalesajustar todo el modelolas capas iniciales también tienen que cambiar
Pocos datos y clases parecidasaumentar los datosrotar, recortar y variar el color multiplica el conjunto
La primera fila es la respuesta correcta en la enorme mayoría de los proyectos reales: casi nadie entrena una convolucional desde cero, y los que lo hacen suelen no necesitarlo.
Más a fondo · nivel seniorQué reemplazó a qué

Las convolucionales dominaron visión durante una década y hoy comparten el lugar con los transformers de visión, que parten la imagen en parches y los tratan como una secuencia. La diferencia es el sesgo inductivo: la convolucional asume localidad e invariancia y por eso aprende bien con pocos datos; el transformer no asume nada y tiene que aprenderlo, así que necesita muchísimos más datos y a cambio supera a la convolucional cuando los tiene.

La conclusión práctica es la de siempre: con datos abundantes, menos supuestos ganan; con datos escasos, los supuestos correctos valen más que la capacidad. Y las arquitecturas modernas suelen mezclar las dos cosas, con capas convolucionales al principio y atención después.

Cierre

Localidad e invariancia justifican filtros chicos con pesos compartidos, y eso baja los parámetros drásticamente. Apilarlos produce una jerarquía de atributos reutilizable por transferencia; residuales y normalización hicieron posible la profundidad; y los supuestos que la hacen fuerte la vuelven inútil donde no se cumplen.

Autoevaluación

¿Lo entendiste?

¿Qué dos supuestos sobre las imágenes explotan las convoluciones?
¿Qué significa compartir pesos?
¿Qué produce una convolución?
¿Para qué sirve el pooling?