¿Qué son las redes neuronales convolucionales?
Explore la solución de redes neuronales de IBM Suscríbase para recibir actualizaciones sobre IA
Ilustración con collage de pictogramas de nubes, gráfico circular, pictogramas gráficos
¿Qué son las redes neuronales convolucionales?

Las redes neuronales convolucionales utilizan datos tridimensionales para tareas de clasificación de imágenes y reconocimiento de objetos.

Las redes neuronales son un subconjunto del aprendizaje automático, y están en el centro de los algoritmos de aprendizaje profundo. Están compuestas de capas de nodos, que contienen una capa de entrada, una o más capas ocultas y una capa de salida. Cada nodo se conecta a otro, y tiene un peso y umbral asociados. Si la salida de cualquier nodo individual está por encima del valor del umbral especificado, ese nodo se activa y envía datos a la siguiente capa de la red. De lo contrario, no se pasa ningún dato a la siguiente capa de la red.

Si bien nos enfocamos principalmente en redes de feedforward en ese artículo, existen varios tipos de redes neuronales que se utilizan para diferentes casos de uso y tipos de datos. Por ejemplo, las redes neuronales recurrentes se usan comúnmente para el procesamiento del lenguaje natural y el reconocimiento de voz, mientras que las redes neuronales convolucionales (ConvNets o CNN) se utilizan con mayor frecuencia para tareas de clasificación y visión artificial. Antes de las CNN, se usaban métodos manuales de extracción de características que consumían mucho tiempo a fin de identificar objetos en las imágenes. Ahora, las CNN proporcionan un enfoque más escalable para las tareas de clasificación de imágenes y reconocimiento de objetos, aprovechando principios del álgebra lineal, específicamente la multiplicación de matrices, para identificar patrones dentro de una imagen. Sin embargo, pueden ser muy exigentes desde el punto de vista informático, ya que requieren unidades de procesamiento gráfico (GPU) para entrenar los modelos.

El almacenamiento de datos para la IA

Descubra el poder de integrar una estrategia de data lakehouse (arquitectura que combina los beneficios de los data lakes [lagos de datos] y de los almacenes de datos) en su arquitectura de datos, incluyendo mejoras para escalar la IA y oportunidades de optimización de costos.

Contenido relacionado

Lea la guía para líderes de datos

¿Cómo funcionan las redes neuronales convolucionales?

Las CNN se distinguen de otras redes neuronales por su mejor desempeño con entradas de señal de imagen, voz o audio. Tienen tres tipos principales de capas, que son:

  • Capa convolucional
  • Capa de agrupamiento
  • Capa totalmente conectada (FC)

La capa convolucional es la primera capa de una red convolucional. Si bien a las capas convolucionales las pueden seguir capas convolucionales adicionales o capas agrupadas, la capa totalmente conectada es la capa final. Con cada capa, la CNN aumenta su complejidad, identificando mayores porciones de la imagen. Las primeras capas se enfocan en características simples, como colores y bordes. A medida que los datos de la imagen avanzan a través de las capas de CNN, se comienzan a reconocer elementos o formas más grandes del objeto, hasta que finalmente se identifica el objeto previsto.

Capa convolucional

La capa convolucional es el pilar central de una CNN, y es donde ocurre la mayor parte del cálculo. Requiere algunos componentes, que son datos de entrada, un filtro y un mapa de características. Supongamos que la entrada será una imagen en color, que se compone de una matriz de píxeles en 3D. Esto significa que la entrada tendrá tres dimensiones (altura, ancho y profundidad) que corresponden a RGB en una imagen. También hay un detector de características, conocido como kernel o filtro, que se moverá a través de los campos receptivos de la imagen, verificando si la característica está presente. Este proceso se conoce como convolución.

El detector de características es una matriz bidimensional (2-D) de pesos, que representa parte de la imagen. Aunque esto puede variar, el tamaño del filtro suele ser una matriz 3 x 3; esto también determina el tamaño del campo receptivo. Luego, el filtro se aplica a un área de la imagen y se calcula un producto de punto entre los píxeles de entrada y el filtro. Este producto de punto se introduce entonces en una matriz de salida. Después, el filtro cambia a pasos agigantados, repitiendo el proceso hasta que el kernel ha barrido toda la imagen. El resultado final de la serie de productos de puntos de la entrada y el filtro se conoce como mapa de características, mapa de activación o característica convolucionada.

Tenga en cuenta que los pesos en el detector de características permanecen fijos a medida que se mueve por la imagen, lo que también se conoce como intercambio de parámetros. Algunos parámetros, como los valores de peso, se ajustan durante el entrenamiento mediante el proceso de retropropagación y descenso de gradiente. Sin embargo, hay tres hiperparámetros que afectan el tamaño del volumen de la salida y que deben establecerse antes de que comience el entrenamiento de la red neuronal. Estos incluyen:

1. El número de filtros afecta la profundidad de la salida. Por ejemplo, tres filtros distintos producirían tres mapas de características diferentes, creando una profundidad de tres. 

2. Stride es la distancia, o número de píxeles, que el núcleo se desplaza sobre la matriz de entrada. Aunque los valores de stride iguales o superiores a dos son poco frecuentes, un stride mayor produce una salida menor.

3. El zero-padding se usa generalmente cuando los filtros no se ajustan a la imagen de entrada. De este modo, todos los elementos que quedan fuera de la matriz de entrada se ponen en cero, lo que produce una salida mayor o del mismo tamaño. Hay tres tipos de relleno:

  • Relleno válido: Esto también se conoce como "sin relleno". En este caso, la última convolución se descarta si las dimensiones no se alinean.
  • Mismo relleno: este relleno garantiza que la capa de salida tenga el mismo tamaño que la capa de entrada.
  • Relleno completo: este tipo de relleno aumenta el tamaño de la salida al agregar ceros al borde de la entrada.

Después de cada operación de convolución, una CNN aplica una transformación de Unidad lineal rectificada (ReLu) al mapa de características, introduciendo la no linealidad en el modelo.

Capa convolucional adicional

Como se mencionó anteriormente, otra capa de convolución puede seguir a la capa de convolución inicial. Cuando esto sucede, la estructura de la CNN puede convertirse en jerárquica, ya que las capas posteriores pueden ver los píxeles dentro de los campos receptivos de las capas anteriores.  Por ejemplo, supongamos que intentamos determinar si una imagen contiene una bicicleta. Pensemos en la bicicleta como una suma de partes. Está compuesta por una estructura, un manubrio, llantas, pedales, etc. Cada parte individual de la bicicleta constituye un patrón de nivel inferior en la red neuronal, y la combinación de sus piezas representa un patrón de nivel superior, creando una jerarquía de características dentro de la CNN. En última instancia, la capa convolucional convierte la imagen en valores numéricos, lo que permite a la red neuronal interpretar y extraer patrones relevantes.

Capa de agrupamiento

La agrupación de capas, también conocida como reducción de muestreo, reduce la dimensionalidad y, por lo tanto, el número de parámetros en la entrada. De manera similar a la capa convolucional, la operación de agrupación muestra un filtro en toda la entrada, pero la diferencia es que este filtro no tiene pesos. En cambio, el kernel aplica una función de agregación a los valores dentro del campo receptivo, poblando la matriz de salida. Hay dos tipos principales de agrupación:

  • Agrupación máxima: a medida que el filtro se mueve a través de la entrada, selecciona el píxel con el valor máximo para enviar a la matriz de salida. Como dato informativo, este enfoque tiende a usarse con más frecuencia en comparación con la agrupación promedio.
  • Agrupación promedio: a medida que el filtro se mueve a través de la entrada, calcula el valor promedio dentro del campo receptivo para enviarlo a la matriz de salida.

Aunque se pierde mucha información en la capa de agrupación, también tiene una serie de beneficios para la CNN. Ayuda a reducir la complejidad, mejorar la eficiencia y limitar el riesgo de sobreajuste. 

Capa totalmente conectada

El nombre de la capa totalmente conectada es claro. Como se mencionó antes, los valores de píxeles de la imagen de entrada no se conectan de manera directa a la capa de salida en capas parcialmente conectadas. Sin embargo, en la capa totalmente conectada, cada nodo de la capa de salida establece una conexión directa a un nodo en la capa anterior.

Esta capa realiza la tarea de clasificación basada en las características extraídas a través de las capas anteriores y sus diferentes filtros. Mientras que las capas convolucionales y agrupadas tienden a usar funciones ReLu, las capas FC suelen aprovechar una función de activación softmax para clasificar las entradas adecuadamente, produciendo una probabilidad de 0 a 1.

Tipos de redes neuronales convolucionales

Kunihiko Fukushima y Yann LeCun sentaron la base de la investigación en torno a redes neuronales neuronales convolucionales en su trabajo de 1980 (enlace externo a ibm.com) y "Backpropagation Applied to Handwritten Zip Code Recognition" en 1989, respectivamente. Yann LeCun aplicó con éxito la propagación inversa para entrenar redes neuronales a fin de identificar y reconocer patrones dentro de una serie de códigos postales escritos a mano. Continuó su investigación con su equipo durante la década de los 90, que culminó con “LeNet-5”, que aplicaba los mismos principios de investigación previa al reconocimiento de documentos. Desde entonces, surgieron varias arquitecturas CNN variantes con la introducción de nuevos conjuntos de datos, como MNIST y CIFAR-10, así como competidores, como el ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Algunas de estas otras arquitecturas son:

  • AlexNet  (enlace externo a ibm.com)
  • VGGnet  (enlace externo a ibm.com)
  • GoogLeNet (enlace externo a ibm.com)
  • ResNet  (enlace externo a ibm.com)
  • ZFNet

Sin embargo, LeNet-5 se conoce como la clásica arquitectura CNN.

Redes neuronales convolucionales y visión artificial

Las redes neuronales convolucionales impulsan el reconocimiento de imágenes y las tareas de visión artificial. La visión artificial es un campo de la inteligencia artificial (IA) que permite a los equipos y sistemas obtener información significativa de imágenes digitales, videos y otras entradas visuales, en función de las cuales puede actuar. Esta capacidad de proporcionar recomendaciones la distingue de las tareas de reconocimiento de imágenes. Algunas aplicaciones comunes de la visión artificial se pueden apreciar hoy en día en:

  • Marketing: las plataformas de redes sociales ofrecen sugerencias sobre quién podría estar en la fotografía que se ha publicado en un perfil, lo que facilita etiquetar a amigos en álbumes de fotos. 
  • Atención médica: la visión artificial se ha incorporado a la tecnología radiológica, lo que permite a los médicos identificar mejor tumores cancerosos en una anatomía saludable.
  • Retail: la búsqueda visual se ha incorporado a algunas plataformas de comercio electrónico, permitiendo a las marcas recomendar artículos que complementarían un guardarropa existente.   
  • Automotriz: si bien la era de los automóviles sin conductor aún no ha surgido, la tecnología subyacente ha comenzado a abrirse camino, mejorando la seguridad del conductor y los pasajeros a través de características como la detección de línea de carril.
Soluciones relacionadas
IBM SPSS Neural Networks

IBM SPSS Neural Networks puede ayudarle a descubrir relaciones complejas y obtener un mayor valor de sus datos.

Explore IBM SPSS Neural Networks
IBM Watson Studio

Cree y amplíe la IA de confianza en cualquier nube. Automatice el ciclo de vida de la IA para ModelOps.

Más información sobre IBM Watson Studio
Recursos Redes neuronales convolucionales con Python

Use Python para implementar una red simple que clasifique dígitos escritos a mano.

Introducción a las redes neuronales convolucionales

Explore los diferentes pasos implicados en la creación de una red neuronal convolucional.

Redes neuronales doblemente convolucionales

En este documento, la investigación de IBM propone que las redes neuronales convolucionales dobles (DCNN) pueden mejorar significativamente el rendimiento de las CNN.

Aprendizaje de redes neuronales convolucionales con incrustaciones de partes profundas

Los investigadores de IBM proponen un concepto novedoso de Deep Part Embeddings (DPE), que se puede utilizar para aprender nuevas redes neuronales convolucionales (CNN) para diferentes clases.

Capacite un modelo de detección de objetos YOLOv8 en Python

Ajuste un modelo de detección de objetos previamente capacitado.

Dé el siguiente paso

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de aprendizaje automático con IBM® watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Explore watsonx.ai Reserve una demostración en vivo