Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Redes Residuales (ResNet)

Explora el poder de las redes residuales (ResNet). Descubre cómo las conexiones omitidas resuelven el problema del gradiente desaparecido para permitir el aprendizaje profundo en la visión artificial.

Las redes residuales, ampliamente conocidas como ResNets, son un tipo específico de arquitectura de red neuronal artificial (ANN) diseñada para permitir el entrenamiento de redes extremadamente profundas. Introducida por investigadores de Microsoft 2015, ResNet resolvió un cuello de botella crítico en el aprendizaje profundo conocido como el problema del gradiente desaparecido. En las redes tradicionales , el apilamiento de más capas a menudo provocaba la saturación o degradación del rendimiento, ya que la señal necesaria para actualizar los pesos del modelo se desvanecía a medida que se propagaba hacia atrás a través de las capas. ResNet introdujo las «conexiones de salto» (o conexiones residuales), que permiten que los datos omitan una o más capas y fluyan directamente a las etapas de procesamiento posteriores. Esta innovación demostró que las redes más profundas podían entrenarse de manera eficaz, lo que condujo a importantes avances en visión artificial (CV) y se convirtió en un concepto fundamental para las arquitecturas modernas.

El concepto fundamental: aprendizaje residual

La característica definitoria de una ResNet es el «bloque residual». En una red neuronal convolucional (CNN) estándar, cada capa intenta aprender una correspondencia directa entre la entrada y la salida. A medida que las redes se hacen más profundas, aprender esta correspondencia directa se vuelve cada vez más difícil.

ResNet cambia este enfoque formulando el objetivo de aprendizaje de manera diferente. En lugar de esperar que cada pila de capas aprenda todo el mapeo subyacente, el bloque residual obliga a las capas a aprender el «residuo», o la diferencia, entre la entrada y la salida deseada. A continuación, la entrada original se vuelve a añadir al residuo aprendido a través de una conexión de salto. Este cambio estructural implica que, si una asignación de identidad (que pasa la entrada sin cambios) es óptima, la red puede aprender fácilmente a empujar los residuos a cero. Esto hace que los modelos de aprendizaje profundo (DL) sean mucho más fáciles de optimizar, permitiéndoles escalar de docenas a cientos o incluso miles de capas.

Variantes clave de la arquitectura

Desde su creación, varias variaciones de ResNet se han convertido en puntos de referencia estándar en la comunidad de IA.

  • ResNet-50: Una versión de 50 capas que utiliza un diseño de «cuello de botella». Este diseño utiliza convoluciones 1x1 para reducir y luego restaurar las dimensiones, lo que hace que la red sea computacionalmente eficiente y mantenga una alta precisión.
  • ResNet-101 y ResNet-152: Variantes más profundas con 101 y 152 capas, respectivamente. A menudo se utilizan cuando los recursos computacionales permiten una mayor complejidad para capturar mapas de características más intrincados .
  • ResNeXt: Una evolución de ResNet que introduce una dimensión de «cardinalidad», dividiendo el bloque residual en múltiples rutas paralelas, lo que mejora la eficiencia y el rendimiento.

Aplicaciones en el mundo real

La solidez de las arquitecturas ResNet las ha convertido en la opción preferida para una amplia gama de tareas visuales.

  • Análisis de imágenes médicas: En el ámbito sanitario, es fundamental identificar anomalías sutiles en exploraciones de alta resolución. Los modelos basados en ResNet se emplean con frecuencia para detect como tumores en imágenes médicas, donde la profundidad de la red ayuda a discernir patrones muy detallados en datos de resonancia magnética o tomografía computarizada.
  • Vehículos autónomos: Los coches autónomos requieren una extracción fiable de características de las imágenes de las cámaras para identificar peatones, señales y obstáculos. Las redes ResNet suelen servir de base para los sistemas de detección de objetos en la IA en aplicaciones automovilísticas, ya que proporcionan las ricas características visuales necesarias para una navegación segura.

ResNet vs. Otras Arquitecturas

Es útil distinguir ResNet de otras arquitecturas populares para comprender su utilidad específica.

  • ResNet frente a VGG: Las redes VGG (Visual Geometry Group) también son CNN profundas, pero carecen de conexiones residuales. En consecuencia, son mucho más difíciles de entrenar a profundidades comparables a las de ResNet y, en general, son más costosas desde el punto de vista computacional debido a sus grandes capas totalmente conectadas.
  • ResNet frente a Inception: Las redes Inception se centran en la anchura, utilizando filtros de múltiples tamaños dentro de la misma capa para capturar características a diferentes escalas. ResNet se centra en la profundidad. Las arquitecturas modernas como Inception-ResNet combinan ambos conceptos.
  • ResNet frente a Vision Transformer (ViT): Mientras que los ViT utilizan mecanismos de autoatención para procesar imágenes de forma global, las ResNet se basan en convoluciones locales. Sin embargo, las ResNet siguen siendo una base sólida y suelen ser más rápidas para conjuntos de datos más pequeños o inferencias en tiempo real .

Ejemplo de aplicación

Las bibliotecas modernas de aprendizaje profundo como PyTorch el acceso a modelos ResNet preentrenados. Estos modelos son inestimables para el aprendizaje por transferencia, en el que un modelo entrenado con un gran conjunto de datos como ImageNet se ajusta para una tarea específica.

El siguiente Python muestra cómo cargar un modelo ResNet-50 preentrenado utilizando torchvision (parte del PyTorch ) y realizar un simple paso hacia adelante. Mientras que los usuarios de Plataforma Ultralytics puede usar a menudo YOLO26 Para la detección, comprender los conceptos básicos subyacentes como ResNet es crucial para una personalización avanzada.

import torch
import torchvision.models as models

# Load a pre-trained ResNet-50 model
resnet50 = models.resnet50(weights=models.ResNet50_Weights.DEFAULT)
resnet50.eval()  # Set model to evaluation mode

# Create a dummy input tensor (batch_size, channels, height, width)
input_tensor = torch.randn(1, 3, 224, 224)

# Perform a forward pass to get predictions
with torch.no_grad():
    output = resnet50(input_tensor)

print(f"Output shape: {output.shape}")  # Expect [1, 1000] for ImageNet classes

Importancia en la IA moderna

Aunque las arquitecturas más recientes, como YOLO26, emplean estructuras altamente optimizadas para obtener la máxima velocidad y precisión, los principios del aprendizaje residual siguen siendo omnipresentes. El concepto de conexiones de salto es ahora un componente estándar en muchas redes avanzadas, incluidos los transformadores utilizados en el procesamiento del lenguaje natural (NLP) y los últimos modelos de detección de objetos. Al permitir que la información fluya más libremente a través de la red, ResNet allanó el camino para los modelos profundos y complejos que impulsan la inteligencia artificial actual.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora