Redes convolucionales para imagen
Por qué un MLP es absurdo con imágenes, cómo se calcula una convolución y cómo leer las dimensiones de una CNN real de principio a fin.
Redes convolucionales para imagen
Tome una foto en color de 224 × 224 píxeles y conéctela a una capa densa de 1000 unidades. Haga el cálculo: $224 \times 224 \times 3 = 150,528$ entradas, multiplicadas por 1000 salidas, más los sesgos. Ciento cincuenta millones de parámetros. Para una sola capa, sobre una sola imagen de resolución modesta. Seiscientos megabytes de pesos antes de haber empezado a aprender nada.
Sin embargo, el problema no es en primer lugar una cuestión de tamaño. Es que este modelo trata la imagen como una bolsa de 150 528 números independientes. El píxel de la esquina superior izquierda y su vecino inmediato son, para él, tan ajenos entre sí como dos píxeles situados en esquinas opuestas. Toda la estructura de la imagen —el hecho de que la vecindad importa, de que un borde es un borde esté donde esté— se descarta antes del primer cálculo. La red tendrá que reaprenderla a partir de los ejemplos, lo cual es posible, pero exige una cantidad absurda de datos para redescubrir algo que ya sabíamos.
Las redes convolucionales inscriben ese conocimiento en la arquitectura. Solo dos hipótesis: los patrones útiles son locales, y un patrón útil en un lugar lo es también en otro. La primera sustituye la conexión total por una pequeña vecindad. La segunda permite reutilizar los mismos pesos en toda la imagen. Estas dos ideas reducen los 150 millones de parámetros a unos pocos miles y, sobre todo, proporcionan al modelo una estructura que ya no tiene que adivinar.