Glosario

Red neuronal convolucional (CNN)

Learn the fundamentals of Convolutional Neural Networks (CNNs) and their applications in image classification, object detection, and computer vision.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

Una Red Neuronal Convolucional (CNN) es un tipo de modelo de aprendizaje profundo especialmente adecuado para analizar imágenes visuales. Las CNN se inspiran en la organización de la corteza visual animal y están diseñadas para aprender de forma automática y adaptativa jerarquías espaciales de características a partir de imágenes de entrada. Se han convertido en una piedra angular en el campo de la visión por ordenador, impulsando avances en diversas aplicaciones, desde la clasificación de imágenes y la detección de objetos hasta tareas más complejas como la segmentación de imágenes y el análisis de vídeo.

Conceptos clave en las CNN

Las CNN se basan en varios conceptos fundamentales que permiten sus potentes capacidades de procesamiento de imágenes. En su núcleo, las CNN utilizan capas convolucionales para escanear las imágenes de entrada con pequeños filtros, extrayendo características relevantes al tiempo que preservan sus relaciones espaciales. Estos filtros, aprendidos durante el entrenamiento, detectan patrones como bordes, texturas y formas.

Las capas de agrupamiento son otro componente esencial, ya que reducen las dimensiones espaciales de los mapas de características producidos por las capas convolucionales. Este proceso de reducción de muestreo ayuda a disminuir la complejidad computacional y proporciona cierto grado de invariabilidad de traslación, lo que significa que la red puede reconocer rasgos independientemente de su ubicación precisa en la imagen.

Las funciones de activación introducen la no linealidad en la red, lo que permite a las CNN aprender relaciones complejas y no lineales dentro de los datos. Entre las funciones de activación habituales está la ReLU (Unidad Lineal Rectificada), que ayuda a mitigar el problema del gradiente evanescente y acelera el entrenamiento.

Estructura de una CNN

Una arquitectura típica de CNN consiste en una serie de capas convolucionales y de agrupamiento, seguidas de una o más capas totalmente conectadas. Las capas convolucionales realizan la extracción de características, mientras que las capas de agrupamiento reducen la dimensionalidad. Las capas totalmente conectadas, similares a las de las redes neuronales tradicionales, clasifican las características extraídas en varias categorías.

La entrada de una CNN suele ser una imagen multicanal (por ejemplo, RGB), y cada capa convolucional aplica un conjunto de filtros aprendibles a esta entrada, produciendo un conjunto de mapas de características. A continuación, estos mapas de características pasan por una función de activación y, a menudo, por una capa de agrupación antes de introducirse en la siguiente capa convolucional. Este procesamiento jerárquico permite a las CNN aprender características cada vez más complejas en cada capa.

Aplicaciones de las CNN

Las CNN han revolucionado diversos dominios gracias a su capacidad para procesar e interpretar datos visuales. Dos aplicaciones destacadas en el mundo real son:

Clasificación de imágenes

La clasificación de imágenes consiste en asignar una etiqueta a una imagen completa. Las CNN han alcanzado un rendimiento puntero en esta tarea, categorizando con precisión las imágenes en clases predefinidas. Por ejemplo, una CNN puede entrenarse para distinguir entre distintos tipos de animales, vehículos o enfermedades en las imágenes. Esta capacidad se utiliza en diversas aplicaciones, como el diagnóstico médico automatizado, el etiquetado de contenidos en las redes sociales y el control de calidad en la fabricación.

Detección de objetos

La detección de objetos va más allá de la clasificación, ya que no sólo identifica los objetos dentro de una imagen, sino que también los localiza con cuadros delimitadores. Ultralytics YOLO (You Only Look Once) es una arquitectura popular que aprovecha las CNN para la detección de objetos en tiempo real. YOLO divide una imagen en una cuadrícula y predice los cuadros delimitadores y las probabilidades de clase para cada celda de la cuadrícula. Este enfoque permite una detección rápida y precisa, por lo que es adecuado para aplicaciones como la conducción autónoma, los sistemas de vigilancia y la gestión de inventarios. Más información sobre arquitecturas de detección de objetos.

Cómo distinguir las CNN de otras redes neuronales

Aunque las CNN son un tipo de red neuronal, difieren significativamente de otras arquitecturas como las Redes Neuronales Recurrentes (RNN) y los Perceptrones Multicapa (MLP).

  • MLP: Son redes totalmente conectadas en las que cada neurona de una capa está conectada a todas las neuronas de la capa siguiente. Aunque son eficaces para diversas tareas, los MLP son costosos desde el punto de vista informático para datos de alta dimensión como las imágenes y no aprovechan la estructura espacial inherente a los datos visuales.
  • RNNs: Están diseñadas para procesar datos secuenciales manteniendo un estado oculto que capta información de entradas anteriores. Las RNN son adecuadas para tareas como el procesamiento del lenguaje natural y el análisis de series temporales, pero son menos eficaces para los datos de imágenes, donde las relaciones espaciales son cruciales.

Las CNN, en cambio, están diseñadas específicamente para explotar la estructura espacial de las imágenes mediante capas convolucionales y de agrupamiento. Esta especialización las hace muy eficaces para las tareas de visión por ordenador.

Avances y herramientas

El campo de las CNN evoluciona continuamente, y la investigación en curso da lugar a nuevas arquitecturas y técnicas. El aprendizaje por transferencia, en el que los modelos preentrenados se afinan para tareas específicas, se ha convertido en una práctica común, que reduce la necesidad de grandes conjuntos de datos etiquetados y un tiempo de entrenamiento prolongado. Más información sobre el aprendizaje por transferencia.

Herramientas como Ultralytics HUB proporcionan plataformas para entrenar y desplegar modelos CNN, simplificando el proceso de desarrollo. Además, marcos como PyTorch y TensorFlow ofrecen un sólido soporte para construir y entrenar CNN, con amplias bibliotecas y recursos comunitarios. Más información sobre el reconocimiento de imágenes.

Para los interesados en profundizar en las arquitecturas de las CNN, recursos como "Deep Learning with Python" de François Chollet y artículos académicos en Google Scholar proporcionan conocimientos en profundidad. Para saber más sobre cómo se comparan las CNN con otras redes neuronales, el glosarioUltralytics ofrece comparaciones detalladas.

Leer todo