Backbone
Una backbone es la red preentrenada en la base de un modelo de visión que convierte píxeles en mapas de características multiescala para el neck y la head.
Un backbone es la parte de una red neuronal que convierte la entrada sin procesar en mapas de características para el resto del modelo. En visión artificial, suele ser una red neuronal convolucional (CNN) o un transformador de visión (ViT) preentrenado con un conjunto de datos grande, como ImageNet. Las capas posteriores, normalmente un neck y una cabeza específica para la tarea, convierten sus características en etiquetas de clase, cuadros delimitadores, máscaras o puntos clave. Backbone, codificador y extractor de características suelen usarse como sinónimos; codificador es el nombre habitual en modelos codificador-decodificador como U-Net.
Cómo funciona un backbone#
Un backbone de visión procesa una imagen por etapas. Cada etapa aplica una pila de bloques de convolución o atención, reduce a la mitad la resolución espacial y, por lo general, aumenta el número de canales; así, una entrada de 640×640 se convierte en un mapa de 80×80 con stride 8, uno de 40×40 con stride 16 y uno de 20×20 con stride 32. Las primeras etapas responden a bordes, colores y texturas. Las posteriores responden a partes de objetos y a objetos completos, porque cada una de sus posiciones de salida abarca un campo receptivo mayor de la imagen de entrada. Los modelos de detección y segmentación utilizan las tres últimas etapas y las pasan a un neck, como una red piramidal de características (FPN), que permite al modelo detectar objetos pequeños en el mapa de alta resolución y objetos grandes en el de baja resolución.
Backbone frente a neck y head#
La mayoría de las arquitecturas modernas de detección de objetos se dividen en tres partes, y sus límites son importantes al sustituir componentes o congelar capas.
- Backbone: Realiza la extracción de características y produce mapas de características con varias resoluciones. Contiene conocimientos visuales generales que se transfieren entre tareas y conjuntos de datos.
- Neck: Fusiona las escalas del backbone para que cada nivel de salida incluya tanto detalles espaciales como información semántica de alto nivel. FPN añade una ruta descendente y PANet añade después una segunda ruta ascendente. Los modelos de clasificación normalmente no tienen neck y reducen la última etapa del backbone a un único vector.
- Cabeza: Convierte cada mapa de características fusionado en resultados de la tarea. Una cabeza de detección predice cuadros y puntuaciones de clase; las cabezas de segmentación y pose predicen máscaras y puntos clave a partir del mismo tipo de características.
Familias habituales de backbones#
- ResNet: Las conexiones residuales permiten que la señal omita bloques, lo que facilita entrenar redes de hasta 152 capas; un conjunto de modelos ResNet ganó la tarea de clasificación ILSVRC 2015. ResNet-50 sigue siendo un backbone de referencia habitual para comparar detectores.
- CSPNet: Las redes Cross Stage Partial envían solo una parte de los canales de cada etapa a través de sus bloques y vuelven a combinar el resto al final, lo que redujo el cálculo un 20 % con una precisión de ImageNet igual o superior. CSPDarknet53, el backbone de YOLOv4, se compone de estas etapas.
- ConvNeXt: Una versión modernizada de ResNet que incorpora decisiones de diseño tomadas de los Transformer, como kernels grandes y menos capas de normalización; alcanza una precisión top-1 del 87,8 % en ImageNet y supera a Swin Transformer en detección COCO.
- ViT y Swin Transformer: Un ViT estándar conserva una sola resolución de principio a fin, por lo que los modelos de detección suelen utilizar Swin, que calcula la atención dentro de ventanas locales desplazadas y produce una jerarquía de etapas similar a la de una CNN.
- Backbones fundamentales autosupervisados: DINOv3 entrena un ViT de 7.000 millones de parámetros con 1.700 millones de imágenes sin etiquetar, y sus características obtienen buenos resultados en tareas densas, como la segmentación y la estimación de profundidad, con el backbone congelado.
Backbones preentrenados y aprendizaje por transferencia#
Entrenar un backbone desde cero requiere un conjunto de datos grande y un programa largo, por lo que la mayoría de los proyectos empiezan con pesos preentrenados. Este tipo de aprendizaje por transferencia funciona porque los bordes, las texturas y las formas aprendidos con un conjunto de datos son útiles para la mayoría de los demás. Si el conjunto de datos es pequeño y similar al dominio de preentrenamiento, congelar el backbone conserva esas características generales, reduce el sobreajuste y disminuye la memoria necesaria para el entrenamiento, ya que las capas congeladas no almacenan gradientes ni el estado del optimizador. Con un conjunto de datos grande o un dominio muy distinto, como las imágenes de rayos X o térmicas, también conviene ajustar el backbone para que sus características se adapten. En YOLO26, el backbone abarca las capas 0–10 (convoluciones con stride, bloques C3k2, un bloque de agrupación SPPF y un bloque de atención C2PSA), y el argumento de entrenamiento freeze=11 las congela todas para que el entrenamiento solo actualice el neck y el cabezal de detección, una configuración que se explica detalladamente en la guía de ajuste fino.
from ultralytics import YOLO
# Cargar un modelo de detección YOLO26 preentrenado con COCO
model = YOLO("yolo26n.pt")
# Ajustar el modelo con un conjunto de datos pequeño y todo el backbone (capas 0-10) congelado
results = model.train(data="coco8.yaml", epochs=3, imgsz=640, freeze=11)El entrenador registra Freezing layer 'model.0.conv.weight' antes de la primera época, además de una línea equivalente para cada uno de los demás parámetros de las capas 0–10, que permanecen fijos mientras el neck y la cabeza aprenden con los datos nuevos.










