Antes de las CNN, la forma estándar de entrenar una red neuronal para clasificar imágenes era aplanarla en una lista de píxeles y pasarla a través de una red neuronal de propagación hacia adelante para generar la clase de la imagen. El problema con aplanar la imagen es que se descarta la información espacial esencial de la imagen.
En 1989, Yann LeCun y su equipo introdujeron las redes neuronales convolucionales, la columna vertebral de la investigación en visión artificial durante los últimos 15 años. A diferencia de las redes de propagación hacia adelante, las redes neuronales convolucionales conservan la naturaleza 2D de las imágenes y son capaces de procesar la información espacialmente.
En este artículo, repasaremos la historia de las CNN específicamente para tareas de clasificación de imágenes, desde aquellos primeros años de investigación en los años 90 hasta la era dorada de mediados de los 2010, cuando se concibieron muchas de las arquitecturas de aprendizaje profundo más geniales de la historia. y finalmente discutir las últimas tendencias en la investigación de CNN ahora que compiten con los transformadores de atención y visión.
Revisar la Video de Youtube que explica todos los conceptos de este artículo de forma visual con animaciones. A menos que se especifique lo contrario, todas las imágenes e ilustraciones utilizadas en este artículo las genero yo mismo durante la creación de la versión en video.
En el corazón de una CNN se encuentra la operación de convolución. Escaneamos el filtro a lo largo de la imagen y calculamos el producto escalar del filtro con la imagen en cada ubicación superpuesta. Esta salida resultante se denomina mapa de características y captura cuánto y dónde está presente el patrón de filtro en la imagen.
En una capa convolucional, entrenamos múltiples filtros que extraen diferentes mapas de características de la imagen de entrada. Cuando apilamos varias capas convolucionales en secuencia con cierta no linealidad, obtenemos una red neuronal convolucional (CNN).
Entonces, cada capa de convolución hace simultáneamente dos cosas:
1. filtrado espacial con la operación de convolución entre imágenes y núcleos, y
2. Combinando los múltiples canales de entrada y generar un nuevo conjunto de canales.
El 90 por ciento de la investigación en CNN ha consistido en modificar o mejorar sólo estas dos cosas.
El documento de 1989
Este artículo de 1989 nos enseñó cómo entrenar CNN no lineales desde cero mediante retropropagación. Introducen imágenes en escala de grises de 16×16 de dígitos escritos a mano y pasan a través de dos capas convolucionales con 12 filtros de tamaño 5×5. Los filtros también se mueven con una zancada de 2 durante el escaneo. La convolución zancada es útil para reducir la resolución de la imagen de entrada. Después de las capas de conversión, los mapas de salida se aplanan y pasan a través de dos redes completamente conectadas para generar las probabilidades de los 10 dígitos. Utilizando la pérdida de entropía cruzada de softmax, la red se optimiza para predecir las etiquetas correctas para los dígitos escritos a mano. Después de cada capa, también se utiliza la no linealidad tanh, lo que permite que los mapas de características aprendidos sean más complejos y expresivos. Con sólo 9760 parámetros, se trataba de una red muy pequeña en comparación con las redes actuales que contienen cientos de millones de parámetros.
Sesgo inductivo
El sesgo inductivo es un concepto de aprendizaje automático en el que introducimos deliberadamente reglas y limitaciones específicas en el proceso de aprendizaje para alejar nuestros modelos de las generalizaciones y orientarnos más hacia soluciones que sigan nuestra comprensión humana.
Cuando los humanos clasificamos imágenes, también hacemos filtrado espacial buscar patrones comunes para formar múltiples representaciones y luego combinarlos para formar nuestras predicciones. La arquitectura de CNN está diseñada para replicar precisamente eso. En las redes de avance, cada píxel se trata como su propia característica aislada, ya que cada neurona en las capas se conecta con todos los píxeles; en las CNN se comparten más parámetros porque el mismo filtro escanea toda la imagen. Los sesgos inductivos también hacen que las CNN tengan menos hambre de datos porque obtienen reconocimiento de patrones locales de forma gratuita debido al diseño de la red, pero las redes de avance necesitan pasar sus ciclos de capacitación aprendiendo sobre ello desde cero.