De las convoluciones a las redes neuronales convolucionales: de las operaciones en matrices al aprendizaje profundo

Estudiaremos la convolución, una operación popular en matrices que se utiliza en diversas formas en el procesamiento de señales, grabación digital, procesamiento de imágenes, procesamiento de video y visión por computadora.

· Dev Rishi Khare

En estas áreas de aplicación, la convolución a menudo se realiza como un filtro que transforma señales y píxeles en valores más deseables.

En la computación de alto rendimiento, el patrón de convolución a menudo se denomina cálculo de estarcido. La convolución típicamente implica un número significativo de operaciones aritméticas sobre cada elemento de datos. Cada elemento de datos puede calcularse independientemente de los demás, una característica deseable para la computación paralela. Por otro lado, existe un nivel sustancial de compartición de datos de entrada entre elementos de datos de salida con condiciones de frontera algo desafiantes. Esto hace que la convolución sea un caso de uso importante de los métodos sofisticados de fragmentación y de preparación de datos de entrada.

La convolución es una operación de matriz en la que cada elemento de datos de salida es una suma ponderada de un conjunto de elementos de entrada vecinos. Los pesos utilizados en el cálculo de la suma ponderada están definidos por un array de máscara de entrada, comúnmente conocido como núcleo de convolución. Nos referiremos a estos arrays de máscara como máscaras de convolución. La misma máscara de convolución se utiliza normalmente para todos los elementos del arreglo

A continuación se muestra un ejemplo de convolución para datos 1D, donde una máscara de convolución M de 5 elementos se aplica a un array de entrada N de 7 elementos.

Para el procesamiento de imágenes y la visión por computadora, los datos de entrada suelen ser matrices bidimensionales, con píxeles en un espacio x-y. Las convoluciones de imagen son, por tanto, convoluciones 2D. La máscara no tiene que ser un arreglo cuadrado.


1. De convolución 1D a convolución 2D

Conoces la convolución 1D:

Para imágenes, la entrada es 2D (altura × anchura), por lo que:

Esta es solo la misma idea que ya conoces, pero:


2. Múltiples canales (por ejemplo, RGB)

Las imágenes reales no son solo 2D, a menudo tienen canales:

Paso de convolución:

Así que conceptualmente: convolución 3D sobre el espacio y los canales, pero sigue siendo solo una “suma ponderada de vecinos”.


3. Filtros (kernels) y mapas de características

En las CNNs, no se usa solo un kernel; se usan muchos:

Entonces, si la forma de entrada es:

y utilizas núcleos de tamaño F, la forma de salida se convierte en:

Cada uno de esos F canales de salida captura un tipo diferente de patrón:

Pensar: Una capa CNN = aplicar muchas convoluciones (filtros) diferentes sobre la entrada.


4. Tamaño de paso y relleno

Dos detalles más sobre las matrices:

Matemáticamente, sigue siendo solo ventanas deslizantes y productos escalares, pero con control sobre:


5. No linealidad: adición de funciones de activación

Hasta ahora, todo es lineal: sumas ponderadas. Una capa CNN añade no linealidad:

Entonces, una única capa convolucional es:

  1. Convolución (sumas ponderadas lineales).
  2. Activación (no lineal).

Esta combinación permite a las CNNs aprender mapeos complejos y no lineales.


6. Apilar capas → jerarquías de características profundas

Un CNN completo es simplemente muchas capas de:

Intuición:

Todo esto sigue construido a partir del mismo principio que comprendes: “tomar los barrios locales y calcular sumas ponderadas.”


7. Conexión a capas completamente conectadas (densas)

Una capa completamente conectada también es solo sumas ponderadas:

Diferencia:

Entonces puedes ver las CNNs como:


Conclusión: De la operación simple a las redes potentes

"At each position, take neighbors and compute a weighted sum with a kernel,"

Entonces ya estás parado sobre la idea central detrás de las CNNs.

Las redes neuronales convolucionales toman ese bloque simple y:

La magia de las redes neuronales convolucionales (CNNs) no es un nuevo tipo de matemáticas, sino la composición de muchas operaciones convolucionales pequeñas y locales en una arquitectura profunda capaz de aprender representaciones visuales poderosas.

¿Listo para contratar con precisión?

Empieza gratis, invita a tu equipo y ve al primer candidato en 15 min.

es