3.4 - La Convolución

Lección 4 de la sección “Redes Convolucionales” del curso Fundamentos de Deep Learning con Python.

Introducción

En la lección anterior hablamos del filtro o kernel, que resulta siendo el elemento esencial de una Red Convolucional pues permite extraer diferentes características de la imagen que está procesando.

Pero para lograr extraer dichas características es necesario aplicar la convolución entre la imagen y el filtro, lo que en últimas equivale a una comparación entre estos dos elementos y que arroja como resultado el mapa de características esperado.

En esta lección veremos en detalle en qué consiste esta convolución.

Contenido exclusivo suscriptores

Suscríbete para tener acceso al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Ejemplo: la convolución en imágenes en escala de grises

Para simplificar los cálculos asumiremos una imagen con un sólo plano de color y de un tamaño pequeño: 3x3.

De igual manera supondremos que el kernel, que debe ser más pequeño que la imagen, tendrá un tamaño de 2x2.

En la primera iteración el filtro estará ubicado en la esquina superior izquierda de la imagen, y la convolución será simplemente la multiplicación punto a punto del kernel con la porción correspondiente de la imagen, seguido por la suma de los valores resultantes.

En la segunda iteración simplemente desplazamos el kernel un pixel a la derecha y repetimos la misma operación descrita en el párrafo anterior.

Para la tercera iteración lo único que cambia es que el kernel se desplazará un pixel hacia abajo y uno hacia la izquierda, para continuar con el barrido de la imagen. De manera similar, en la cuarta y última iteración el kernel se desplazará una posición a la derecha.

Como resultado de esta convolución tendremos la imagen resultante (el mapa de características) con un tamaño de 2x2.

Los coeficientes del filtro

Pues resulta que dependiendo de los valores que tengan los coeficientes del filtro, lograremos que a través de la convolución se detecten diferentes tipos de características en la imagen que está siendo procesada.

En el procesamiento de imágenes clásico estos coeficientes eran definidos por un experto en el área, con el problema de la incapacidad de generalizar mencionado en una lección anterior.

En el caso de las Redes Convolucionales estos coeficientes se inicializan de manera aleatoria y se afinan progresivamente a través del entrenamiento, ¡tal como ocurría con los coeficientes de una Red Neuronal!

Lo anterior quiere decir que ¡podemos aprovechar los mismos conceptos vistos en la sección anterior acerca de las Redes Neuronales, para la implementación y entrenamiento de las Redes Convolucionales! Pero esto lo veremos poco a poco a medida que avancemos en esta sección.

Contenido exclusivo suscriptores

Recuerda suscribirte para acceder al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Acabamos de ver en qué consiste la convolución y cómo esta, junto con los valores específicos de los coeficientes del filtro, permite extraer diferentes características de la imagen a procesar.

En la siguiente lección hablaremos del padding, una operación que nos permite preservar el tamaño de la imagen una vez es procesada por el filtro, y que resulta de mucha utilidad en diferentes fases de implementación de las Redes Convolucionales.

Ver todas las lecciones de este curso