Inicio Topics ¿Qué son las redes neuronales convolucionales? ¿Qué son las redes neuronales convolucionales?
Explore la solución de redes neuronales de IBM Suscríbase a actualizaciones de IA
Ilustración con collage de pictogramas de nubes, gráfico circular, pictogramas gráficos sobre
¿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 machine learning y son el núcleo de los algoritmos de deep learning. Se componen 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 un umbral asociados. Si la salida de cualquier nodo individual está por encima del valor umbral especificado, ese nodo se activa, enviando datos a la siguiente capa de la red. En caso contrario, no se envía ningún dato a la siguiente capa de la red.

Aunque en ese artículo nos centramos principalmente en las redes predictivas, existen varios tipos de redes neuronales que se utilizan para diferentes casos prácticos y tipos de datos. Por ejemplo, las redes neuronales recurrentes se suelen usar 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 computer vision. Antes de las CNN, se utilizaban métodos manuales de extracción de características que requerían mucho tiempo para identificar objetos en imágenes. Sin embargo, actualmente las redes neuronales convolucionales proporcionan un enfoque más escalable para las tareas de clasificación de imágenes y reconocimiento de objetos al aprovechar los principios del álgebra lineal, en concreto la multiplicación de matrices, para identificar patrones en una imagen. No obstante, estas redes pueden exigir un uso intensivo de recursos informáticos y requerir unidades de procesamiento gráfico (GPU) para entrenar los modelos.

El almacén de datos para la IA

Descubra el poder de integrar una estrategia basada en un lakehouse de datos en su arquitectura de datos, incluidas las mejoras para escalar la IA y las 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 redes neuronales convolucionales se distinguen de otras redes neuronales por su rendimiento superior con entradas de imagen, voz o señales de audio. Se componen de tres tipos principales de capas:

  • Capa convolucional
  • Capa de agrupación
  • Capa totalmente conectada

La capa convolucional es la primera capa de una red convolucional. Si bien las capas convolucionales pueden ir seguidas de otras capas convolucionales o de capas de agrupación, la capa final es la capa totalmente conectada. Con cada capa, la CNN aumenta en complejidad, identificando partes cada vez más grandes de la imagen. Las primeras capas se centran en características simples, como colores y bordes. A medida que los datos de la imagen avanzan a través de las capas, la CNN comienza a reconocer elementos o formas más grandes hasta que finalmente identifica el objeto esperado.

Capa convolucional

La capa convolucional es el bloque de creación principal de una CNN, y es donde se realizan la mayoría de los cálculos. Requiere algunos componentes, como datos de entrada, un filtro y un mapa de características. Supongamos que la entrada es una imagen en color compuesta por una matriz de píxeles en 3D. Esto significa que la entrada tendrá tres dimensiones: altura, anchura y profundidad, que corresponden a la composición RGB en una imagen. También hay un detector de características, conocido como kernel o filtro, que se mueve por los campos receptivos de la imagen para comprobar si la característica está presente. Este proceso se denomina convolución.

El detector de características es una matriz bidimensional (2D) de pesos que representa una parte de la imagen. Aunque su tamaño puede variar, el tamaño del filtro suele ser una matriz de 3x3; esto también determina el tamaño del campo receptivo. A continuación, el filtro se aplica a un área de la imagen y se calcula un producto escalar entre los píxeles de entrada y el filtro. Este producto escalar se introduce en una matriz de salida. Después, el filtro se desplaza un poco y repite el proceso hasta que el kernel haya recorrido toda la imagen. El resultado final de la serie de productos escalares de la entrada y el filtro se conoce como mapa de características, mapa de activación o característica convolucionada.

Observe que los pesos del detector de características permanecen fijos a medida que se desplaza por la imagen, lo que también se conoce como compartición de parámetros. Algunos parámetros, como los valores de peso, se ajustan durante el entrenamiento a través del proceso de retropropagación y descenso del gradiente. Sin embargo, hay tres hiperparámetros que afectan al tamaño del volumen de la salida y que deben configurarse antes de que comience el entrenamiento de la red neuronal. Entre ellos se incluyen:

1. El número de filtros afecta a la profundidad de la salida. Por ejemplo, tres filtros distintos producirían tres mapas de entidades diferentes, lo que crearía una profundidad de tres. 

2. El stride es la distancia, o el número de píxeles, que el kernel mueve 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 suele utilizarse cuando los filtros no se ajustan a la imagen de entrada. Esto pone a cero todos los elementos que quedan fuera de la matriz de entrada, produciendo una salida de mayor o igual tamaño. Existen tres tipos de padding:

  • Valid padding: también conocido como no padding. En este caso, la última convolución se descarta si las dimensiones no se alinean.
  • Same padding: este garantiza que la capa de salida tenga el mismo tamaño que la capa de entrada.
  • Full padding: este tipo de padding aumenta el tamaño de la salida añadiendo ceros al borde de la entrada.

Después de cada operación de convolución, la 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 ha mencionado anteriormente, la capa de convolución inicial puede ir seguida de otra capa de convolución. Cuando esto sucede, la estructura de la CNN puede volverse jerárquica, ya que las capas siguientes pueden ver los píxeles en los campos receptivos de las capas anteriores.  Por ejemplo, supongamos que queremos determinar si una imagen contiene una bicicleta. Podemos considerar la bicicleta una suma de varias partes. Se compone de un cuadro, un manillar, ruedas, pedales, etc. Cada parte de la bicicleta forma un patrón de nivel inferior en la red neuronal, y la combinación de todas las partes representa un patrón de nivel superior, lo que crea 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 agrupación

La agrupación de capas, también conocida como submuestreo, permite reducir la dimensión mediante la reducción del número de parámetros de la entrada. De manera similar a la capa convolucional, la operación de agrupación barre toda la entrada con un filtro, pero la diferencia es que este filtro no tiene ningún peso. En su lugar, el kernel aplica una función de agregación a los valores dentro del campo receptivo y llena así la matriz de salida. Hay dos tipos principales de agrupación:

  • Agrupación máxima: a medida que el filtro recorre la entrada, selecciona el píxel con el valor más alto para enviarlo a la matriz de salida. Este enfoque suele utilizarse más que la agrupación media.
  • Agrupación media: conforme el filtro avanza por 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, esta tiene una serie de beneficios para la CNN. Ayuda a reducir la complejidad, mejora la eficiencia y limita el riesgo de sobreajuste. 

Capa totalmente conectada

El nombre de la capa totalmente conectada describe con precisión la capa en sí. Como se ha mencionado anteriormente, los valores de píxel de la imagen de entrada no están conectados directamente con la capa de salida en las capas parcialmente conectadas. Sin embargo, en la capa totalmente conectada, cada nodo de la capa de salida sí está conectado directamente a un nodo de la capa anterior.

Esta capa realiza la tarea de clasificación basándose en las características extraídas de las capas anteriores y sus diferentes filtros. Las capas convolucionales y de agrupación suelen utilizar funciones ReLU, mientras que las capas totalmente conectadas generalmente usan una función de activación softmax para clasificar adecuadamente las entradas y generar una probabilidad entre 0 y 1.

Tipos de redes neuronales convolucionales

Kunihiko Fukushima y Yann LeCun sentaron las bases de la investigación en torno a las redes neuronales convolucionales en sus trabajos de 1980 (enlace externo a ibm.com) y "Backpropagation Applied to Handwritten Zip Code Recognition" de 1989, respectivamente. Más conocido es el caso de Yann LeCun, que aplicó con éxito la retropropagación para entrenar redes neuronales que identificaran y reconocieran patrones en una serie de códigos postales escritos a mano. Continuó su investigación con su equipo durante la década de los noventa, culminando con "LeNet-5", que aplica los mismos principios de su investigación anterior para el reconocimiento de documentos. Desde entonces, han surgido diferentes arquitecturas de CNN con la introducción de nuevos conjuntos de datos, como MNIST y CIFAR-10, y también competiciones, como ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Estas otras arquitecturas incluyen:

  • 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 considera la arquitectura clásica de CNN.

Redes neuronales convolucionales y computer vision

Las redes neuronales convolucionales potencian las tareas de reconocimiento de imágenes y computer vision. La computer vision es un campo de la inteligencia artificial (IA) que permite a los ordenadores y los sistemas obtener información significativa de imágenes digitales, vídeos y otras entradas visuales, y tomar medidas basándose en esas entradas. Esta capacidad de proporcionar recomendaciones la distingue de las tareas de reconocimiento de imágenes. Hoy en día algunas aplicaciones habituales de esta computer vision pueden verse en:

  • Marketing: las plataformas de medios de comunicación sociales ofrecen sugerencias sobre quién podría aparecer en las fotografías publicadas en un perfil, lo que permite etiquetar fácilmente a amigos en álbumes de fotos. 
  • Asistencia médica: la computer vision se ha integrado en la tecnología de radiología para ayudar a los médicos a identificar mejor los tumores cancerosos en una anatomía sana.
  • Ventas minoristas: la búsqueda visual se ha incorporado en algunas plataformas de comercio electrónico, lo que permite a las marcas recomendar artículos que complementan el vestuario de los clientes.   
  • Sector automovilístico: si bien la era de los automóviles sin conductor aún no ha llegado, la tecnología subyacente ya ha comenzado a abrirse camino en la industria automotriz, aumentando la seguridad de conductores y pasajeros con características como la detección de carriles.
Soluciones relacionadas
IBM SPSS Neural Networks

IBM SPSS Neural Networks puede ayudarle a descubrir relaciones complejas y obtener más valor de sus datos.

Más información sobre IBM SPSS Neural Networks
IBM Watson Studio

Cree y escale una IA de confianza en cualquier cloud. 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 para crear una red neuronal convolucional.

Redes neuronales doblemente convolucionales

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

Entrenamiento de redes neuronales convolucionales mediante incrustaciones de partes profundas

Los investigadores de IBM proponen un concepto novedoso de incrustación de partes profundas (DPE, por sus siglas en inglés) que se puede utilizar para entrenar nuevas redes neuronales convolucionales (CNN) de diferentes clases.

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

Ajuste de un modelo de detección de objetos preentrenado.

Dé el siguiente paso

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para constructores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Explore watsonx.ai Solicite una demostración en directo