¿Por qué las redes neuronales convolucionales son excelentes para las imágenes?

Teorema de aproximación universal establece que una red neuronal con una sola capa oculta y una función de activación no lineal puede aproximar cualquier función continua.

Dejando de lado los problemas prácticos, de modo que el número de neuronas en esta capa oculta creciera enormemente, no necesitamos otras arquitecturas de red. Una simple red neuronal de avance podría hacer el truco.

Es difícil estimar cuántas arquitecturas de red se han desarrollado.

Cuando abres la popular plataforma de modelo AI Cara abrazada Hoy, encontrará más de un millón de modelos previos a la petróleo. Dependiendo de la tarea, utilizará diferentes arquitecturas, por ejemplo, transformadores para el procesamiento del lenguaje natural y las redes convolucionales para la clasificación de imágenes.

Entonces, ¿por qué necesidad tantos Red neuronal arquitecturas?

En esta publicación, quiero ofrecer una respuesta a esta pregunta desde una perspectiva física. Es la estructura en los datos que inspira nuevas arquitecturas de redes neuronales.

Simetría e invariancia

Los físicos aman la simetría. Las leyes fundamentales de la física emplean simetrías, como el hecho de que el movimiento de una partícula puede describirse mediante las mismas ecuaciones, independientemente de dónde se encuentre en el tiempo y el espacio.

La simetría siempre implica invariancia con respecto a alguna transformación. Estos cristales de hielo son un ejemplo de invariancia traslacional. Las estructuras más pequeñas se ven iguales, independientemente de dónde aparezcan en el contexto más amplio.

Por foto de PTRQS, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=127396876

Explotación de simetrías: red neuronal convolucional

Si ya sabe que una cierta simetría persiste en sus datos, puede explotar este hecho para simplificar su arquitectura de red neuronal.

Expliquemos esto con el ejemplo de clasificación de imágenes. El panel muestra tres escenas que incluyen un pez dorado. Puede aparecer en cualquier ubicación dentro de la imagen, pero la imagen siempre debe clasificarse como pez de colores.

Tres paneles que muestran el mismo pez dorado en diferentes lugares.
Imágenes creadas por el autor usando MidJourney.

Una red neuronal de avance ciertamente podría lograr esto, dados los datos de entrenamiento suficientes.

Esta arquitectura de red requiere una imagen de entrada aplanada. Luego se asignan pesos entre cada neurona de capa de entrada (que representa un píxel en la imagen) y cada neurona de capa oculta. Además, se asignan pesos entre cada neurona en la capa oculta y de salida.

Junto con esta arquitectura, el panel muestra una versión “aplanada” de las tres imágenes de peces dorados desde arriba. ¿Todavía te parecen iguales?

Esquema explicando el aplanamiento de una imagen y la arquitectura de red resultante.
Imagen creada por el autor. Uso de imágenes creadas por el autor con MidJourney y Ann Architecture creado con https://alexlenail.me/nn-svg/.

Al aplanar la imagen, hemos incurrido en dos problemas:

  • Las imágenes que contienen un objeto similar no se parecen una vez que están aplanadas,
  • Para imágenes de alta resolución, necesitaremos entrenar muchos pesos que conectan la capa de entrada y la capa oculta.

Las redes convolucionales, por otro lado, trabajan con núcleos. Los tamaños de núcleo generalmente oscilan entre 3 y 7 píxeles, y los parámetros del núcleo se pueden aprender en el entrenamiento.

El núcleo se aplica como un ráster a la imagen. Una capa convolucional tendrá más de un núcleo, lo que permite que cada núcleo se concentre en diferentes aspectos de la imagen.

Imagen creada por el autor.

Por ejemplo, un núcleo podría retomarse las líneas horizontales en la imagen, mientras que otro podría retomarse las curvas convexas.

Las redes neuronales convolucionales preservan el orden de los píxeles y son excelentes para aprender estructuras localizadas. Las capas convolucionales se pueden anidar para crear capas profundas. Junto con las capas de agrupación, se pueden aprender características de alto nivel.

Las redes resultantes son considerablemente más pequeñas que si usara una red neuronal totalmente conectada. Una capa convolucional solo requiere kernel_size x kernel_size x n_kernel Parámetros capacitables.

Puede ahorrar memoria y presupuesto computacional, todo explotando el hecho de que su objeto puede ubicarse en cualquier lugar dentro de tu imagen!

Arquitecturas de aprendizaje profundo más avanzados que explotan las simetrías son redes neuronales gráficas y redes neuronales informadas por física.

Resumen

Las redes neuronales convolucionales funcionan muy bien con las imágenes porque preservan la información local en su imagen. En lugar de aplanar todos los píxeles, lo que hace que la imagen no tenga sentido, los núcleos con parámetros aprendibles se capturan en las características locales.


Lectura adicional