CategoríaBig Data

Qué son las Redes Neuronales Convolucionales

Tiempo de lectura: 5 min
14

En nuestra vida cotidiana realizamos acciones todos los días de forma natural en las que detrás de ellas hay una inteligencia artificial bajo modelos de aprendizaje automático de forma transparente para nosotros. Por ejemplo, la detección de la matrícula de un vehículo al pasar a un parking o la detección facial de nosotros mismos para poder acceder a un Smartphone son dos claros casos de identificación de imágenes a través de algoritmos de redes neuronales convolucionales. De esto venimos a hablarte en este post, ¡no te lo pierdas!

También te puede interesar: Master en Data Science

Como empezaron las Redes Neuronales Convolucionales (CNN)

La identificación de objetos en imágenes es uno de los problemas clásicos de la Inteligencia Artificial. Al inicio de la tecnología de identificación de imágenes, el aprendizaje automático se basaba en redes neuronales y era más que suficiente para detectar elementos en imágenes pequeñas, sin embargo, esos mismos algoritmos se vuelven ineficientes cuando aumentamos el tamaño de dichas imágenes.

A mayor tamaño de la imagen mayor número de píxeles que producen un aumento exponencial de las variables de entrada (features) imposibles de manejar por una red neuronal o redes neuronales convolucionales de arquitectura tradicional.

Video

Cómo eliminar las barreras en proyectos Machine Learning y Deep Learning

Descargar

¿Qué son las redes neuronales convolucionales o convolutional neural networks?

Las convolutional neural networks o redes neuronales convolucionales (CNN), solucionan este problema ya que asumen ciertas características espaciales de los inputs que permiten simplificar las arquitecturas de la red reduciendo, en gran medida, el número de variables de entrada. Por tanto, son especialmente útiles en problemas de visión por computador, y en particular, en el reconocimiento de objetos.

En 2012, una convolutional neural network, ganó por primera vez y con gran margen la competición de reconocimiento de objetos ImageNet, consistente en la clasificación de 1000 objetos en un conjunto de más de un millón de imágenes. Durante los años siguientes, nuevas redes profundas aumentaron enormemente la capacidad de clasificar imágenes hasta el punto de que el problema se considera prácticamente resuelto.

Estructura de capas de una red neuronal convolucional CNN y su funcionamiento

Las CNN utilizan distintos tipos de capas o layers. La capa más importante, y la que da nombre a la red, es la capa convolucional.

Esta layer funciona a partir de unos filtros de tres dimensiones de pequeño tamaño, que van desplazándose por la imagen obteniendo las salidas de la capa.

Veamos un ejemplo para una imagen RGB de 32 pixeles de ancho y alto. La imagen en este caso tiene un tamaño de 32x32x3, mientras que el filtro es más pequeño, 5x5x3. Los filtros siempre tienen la misma profundidad (depth) que la imagen (en este caso, 3), ya que se desplazarán a través de la primera y segunda dimensión (paso 1 de la imagen). 

El filtro recorre todas las posiciones posibles en la imagen (paso 2 de la imagen), de izquierda a derecha y de arriba a abajo, y por cada posición obtiene una activación o un valor de salida.

La idea aquí es que el filtro va recorriendo la imagen y obteniendo features relevantes reduciendo al mismo tiempo el tamaño de la imagen resultante.

Master en Business Intelligence y Data Science

Lidera el cambio digital

¡Quiero apuntarme!

Es habitual aplicar varios filtros para obtener más features en cada posición de la imagen (paso 3 de la imagen). La idea es que cada uno de estos filtros obtenga ciertas características de la imagen que serán importantes a la hora de obtener una representación suficientemente expresiva de la misma.

Qué son las Redes Neuronales Convolucionales - pKIsMeJYzG93FdCJK5J cVLUZeADMqyIECVPP8Ie7N12RKEgJHMR2OPzVTAupeZPWRwehK9EYzRnBPtX xHNlsvZKXCdtf8EQCosB6z7Be8lpsCs2 MsQmav9ywHQARfdOlNwE0

Creando una red neuronal convolucional CNN

Como se puede ver, las capas convolucionales aplican distintos filtros sobre una imagen de entrada y crean nuevos volúmenes, por lo que las propiedades espaciales de la imagen se mantienen.

Lo más común es aplicar capas convolucionales seguidas de funciones de activación llamadas ReLU (paso 4). La unidad ReLU se aplicaría sobre cada valor de activación salido de un filtro aplicado sobre un área. 

Qué son las Redes Neuronales Convolucionales - 8b7bQg00M NVe DIkJ0DaACO Uxkpj7Y1bXw7oaDhK24FVYdEX6NQaeNJTBuXwAaPt Dq1SEgspzIUpqGOZiLwMKJRnqhapymrEhubkLkoZq dEtTOvVl2Bjv0eSxYsbxtTL900

La idea aquí es que, al configurar una red de esta forma, las distintas capas van obteniendo una representación jerárquica de las features, con las primeras capas reconociendo elementos más simples en una imagen y las siguientes obteniendo representaciones de más alto nivel a partir de estos elementos simples.

Por ejemplo, las primeras capas pueden detectar bordes, para que en capas sucesivas se puedan detectar objetivos.

Ejemplo de una red neuronal convolucional

En la siguiente imagen, podemos ver un ejemplo de una red convolucional aplicada a un problema de clasificación de imágenes. 

Qué son las Redes Neuronales Convolucionales - ORNgIzqRWuXWU6da4c6W8O KAOZEvkmNIQdaNIEFOWo0s9wHmDp7QJYInsp0gO23QwCALadP tSZ5c15kM t35 TWU wDLGHqmnSmN6RsPi QH4Lqf3H6B0z3CxEdjRdJA25T3I

La capa de pooling (POOL) es un tipo de capa que está presente en una gran cantidad de arquitecturas CNN. Su utilidad consiste en reducir las representaciones obtenidas de manera que estas se hagan más pequeñas y sean más manejables computacionalmente, reduciendo el número de parámetros necesarios.

La última capa de una red convolucional para problemas de clasificación es una fully connected layer, ya que necesitamos una neurona de salida para cada clase que nos diga, por ejemplo, si hay o no un coche en una imagen cualquier.

Normalmente, esto se hace mediante una capa softmax. Muchas CNN llevan varias fully connected layers como últimas capas para obtener las representaciones finales después de las capas de convolutions + pooling.

Aunque parezca complejo, el problema de detección de objetos en imágenes está resulta y existen muchas aplicaciones empresariales que ya incorporan esta arquitectura de capas en sus algoritmos de Machine Learning.

Si quieres aprender de Machine Learning y otras aplicaciones de la Inteligencia Artificial, no puedes perderte el Master en Data Science con el que aprenderás, desde la práctica, a utilizar todas las herramientas que la Ciencia de Datos, el Big Data y el Business Intelligence nos proporcionan y serás capaz de utilizar algoritmos de IA, a través de Machine Learning para anticipar y predecir el futuro. 

Master en Business Intelligence y Data Science

Lidera el cambio digital

¡Quiero apuntarme!

Pascual Parada Torralba

Director de Innovación y Data de IEBS Business School, Pascual Parada es también asesor digital de Red.es para la realización de proyectos de transformación digital. Profesor de estrategia y operaciones... Leer más

Deja una respuesta

Síguenos en las redes