Swin Transformer
Descubre cómo la arquitectura Swin Transformer utiliza ventanas desplazadas para una visión artificial eficiente y explora los flujos de trabajo en la Plataforma de Ultralytics.
Presentada por investigadores de Microsoft en el histórico artículo de 2021 «Swin Transformer: Hierarchical Vision Transformer using Shifted Windows», esta arquitectura de aprendizaje profundo (DL) adapta el mecanismo de atención para abordar las complejidades de los datos visuales de alta resolución. A diferencia de los modelos de procesamiento del lenguaje natural, que procesan tokens de texto de longitud uniforme, esta arquitectura reconoce que los elementos visuales varían drásticamente en escala. Mediante la creación de una representación jerárquica y el uso de una técnica de ventanas única, consigue una complejidad computacional lineal con respecto al tamaño de la imagen, lo que la convierte en un backbone muy eficiente para diversas tareas de visión artificial (CV).
Cómo funcionan las ventanas desplazadas y el diseño jerárquico#
La principal innovación reside en cómo el modelo estructura la extracción de características. Comienza dividiendo una imagen de entrada en pequeños parches que no se solapan. Sin embargo, a diferencia de los modelos anteriores, combina progresivamente estos parches vecinos en regiones más grandes en las capas más profundas. Este enfoque jerárquico permite a la red extraer mapas de características enriquecidos que representan el contexto global a distintas escalas, desde pequeños detalles visuales hasta objetos grandes.
Para mantener la eficiencia computacional, la autoatención se calcula únicamente dentro de ventanas locales y aisladas, en lugar de abarcar toda la imagen. Para garantizar que la información fluya a través de estos límites, las ventanas se «desplazan» entre capas sucesivas. Este esquema de ventanas desplazadas conecta eficazmente áreas independientes y proporciona jerarquías espaciales multiescala completas sin la elevada carga computacional asociada a la atención global.
Swin Transformer frente a Transformer de visión (ViT)#
Al comparar arquitecturas modernas, es importante distinguir este modelo del Transformer de visión (ViT) estándar. El ViT original trata las imágenes como una secuencia de parches de tamaño fijo y calcula la atención global sobre todos ellos simultáneamente. Aunque ofrece una precisión muy alta, esto da lugar a una complejidad computacional cuadrática, lo que significa que el tiempo de procesamiento y los requisitos de memoria se disparan a medida que aumenta la resolución de la imagen.
En cambio, el diseño jerárquico y basado en ventanas de la arquitectura Swin mantiene una complejidad lineal. Esto la hace mucho más práctica para tareas de predicción densa que requieren entradas y salidas de alta resolución. En consecuencia, logra resultados de vanguardia en benchmarks como el conjunto de datos COCO test-dev para la detección de objetos multiescala y el conjunto de datos de segmentación semántica ADE20K para la segmentación de imágenes precisa.
Aplicaciones reales en la IA moderna#
Gracias a su flexibilidad y eficiencia, la implementación del repositorio oficial de Microsoft Research en GitHub se ha adaptado a sectores complejos y de alto riesgo.
- Análisis de imágenes médicas: En entornos clínicos, redes como Swin-Unet aprovechan esta arquitectura para escáneres de RM 3D volumétricos y análisis histopatológicos de alta resolución. La capacidad del modelo para conservar jerarquías espaciales densas ayuda a identificar anomalías diminutas, como tumores en fases tempranas. Puedes leer más sobre los avances recientes en la investigación en diagnóstico por imagen.
- Análisis de imágenes satelitales: Para la vigilancia medioambiental y la teledetección, es fundamental captar el contexto geográfico a gran escala. La estructura jerárquica procesa eficazmente enormes conjuntos de datos aéreos para realizar el seguimiento de la deforestación, la planificación urbana y la supervisión del estado de los cultivos.
Integración con PyTorch y Ultralytics#
Para los desarrolladores que crean redes neuronales personalizadas, implementar esta arquitectura es sencillo mediante la documentación oficial de PyTorch. La biblioteca torchvision incluye versiones preentrenadas, como la variante ligera Tiny, optimizadas con ImageNet.
import torch
from torchvision.models import Swin_T_Weights, swin_t
# Load a pre-trained Tiny variant with ImageNet weights
weights = Swin_T_Weights.IMAGENET1K_V1
model = swin_t(weights=weights)
model.eval()
# Run a single batch containing a 3-channel, 224x224 dummy image tensor
dummy_image = torch.randn(1, 3, 224, 224)
output = model(dummy_image)
# The output shape is [1, 1000], representing the 1000 ImageNet classes
print(f"Prediction tensor shape: {output.shape}")Aunque los backbones basados en Transformer ofrecen una representación multiescala excelente, las aplicaciones modernas suelen exigir optimizaciones totalmente de extremo a extremo para dispositivos de IA en el edge. Por ejemplo, Ultralytics YOLO26 proporciona una arquitectura nativa de extremo a extremo, más pequeña, rápida y muy precisa desde el primer momento, que destaca en entornos edge en tiempo real. Tanto si utilizas arquitecturas con muchos Transformers como modelos convolucionales rápidos, puedes gestionar todo tu flujo de trabajo —desde la anotación de datos hasta el entrenamiento— mediante la Ultralytics Platform. Esta completa cadena de herramientas en la nube simplifica y hace más eficiente el despliegue de modelos y la supervisión continua de modelos.









