¿Qué es la convolución?

Autor: | Última modificación: 22 de agosto de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

Saber qué es la convolución una vez te enfrentas al desarrollo de análisis dentro del Deep Learning es de suma importancia, puesto que esta es la base de la que parten las redes neuronales convolucionales. Por ello, en este post, te explicamos qué es la convolución.

¿Qué es la convolución?

Estrictamente, lo que es la convolución se utiliza, sobre todo, en el tratamiento de señal y se trata de una operación matemática que permite combinar dos señales. En el tratamiento digital de la señal, la convolución se emplea para conocer qué le va a pasar a una señal después de «pasar» por un determinado dispositivo.

Por ejemplo, para saber cómo cambia nuestra voz tras haber pasado por el micrófono de nuestro móvil. Así, podríamos calcular la convolución de nuestra voz con la respuesta al impulso del micrófono. Si sientes curiosidad, aquí tenéis un muy buen recurso para verlo mejor.

Fuera de lo estrictamente técnico, las redes neuronales convolucionales se han hecho famosas gracias a su capacidad para detectar patrones que después clasifican. Pues bien, esos detectores de patrones son las convoluciones.

Vamos a ver cómo entiende un ordenador una imagen:

¿Qué es la convolución? 1

Como puedes ver, una imagen en color se representa como una matriz de 3 dimensiones: Ancho x Alto x Canales. Existen varias formas de representar las imágenes, pero la más común es usando el espacio de colores RGB. Esto quiere decir que un ordenador, al final, ve 3 matrices de Ancho x Alto, donde la primera le indica las cantidades de rojo que tiene la imagen, la segunda, de verde, y la tercera, de azul.

Si la imagen fuese en escala de grises, el ordenador la vería como una sola matriz bidimensional de Ancho x Alto.

Por último, los valores que pueden tomar los elementos de la matriz dependen del tipo de variable utilizada. Las más comunes son:

  • Si usamos enteros de 8 bits: pueden ir de 0 a 255.
  • Si usamos floats: de 0 a 1.

Ejemplo de convolución

Para entender mejor qué es la convolución, te ponemos un ejemplo. Sabiendo que la imagen es una matriz, lo que hace la convolución es definir un filtro o kernel por el que va a multiplicar a la matriz de la imagen. Fíjate en la siguiente imagen:

¿Qué es la convolución? 2

Se define un kernel, de 3×3 píxeles y se multiplica a la input_image. ¿Qué es lo que pasa? Que el kernel es mucho más pequeño que la imagen, por lo que, para poder multiplicar toda la imagen, primero situamos el kernel sobre los primeros 3×3 píxeles y, después, lo movemos uno hacia la derecha, luego otro, luego otro… De esta forma, vamos calculando la suma de la multiplicación de cada elemento del kernel por cada píxel correspondiente de la imagen. El resultado de esta operación se almacena en la imagen de salida, como puedes observar.

Aquí podrás verlo de manera más clara:

¿Qué es la convolución? 3

Y ahora con un ejemplo animado para que veas mejor el proceso:

¿Qué es la convolución? 4

¿Cuál es el siguiente paso?

En este post, te hemos explicado qué es la convolución para que comprendas cómo funcionan las redes neuronales convolucionales en el análisis del Deep Learning para el manejo de los macrodatos. Sin embargo, este es tan solo un primer acercamiento al respecto.

Por esta razón, desde KeepCoding te aconsejamos echarle un vistazo al Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning si lo que deseas es continuar aprendiendo y formarte como un data scientist profesional. Por medio de 11 módulos y de la mano de grandes expertos en el mundo Big Data, podrás instruirte en los sistemas, lenguajes y programas más importantes para el manejo de los macrodatos. ¡No esperes más para inscribirte!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Sabías que hay más de 5.000 vacantes para desarrolladores de Big Data sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!