Vision Transformer (ViT)
Explora el potencial de los Vision Transformers (ViT). Aprende cómo la autoatención y la tokenización de parches revolucionan la visión artificial más allá de las CNN con Ultralytics.
Un Vision Transformer (ViT) es una arquitectura de aprendizaje profundo que adapta los mecanismos de autoatención diseñados originalmente para el Procesamiento de Lenguaje Natural (NLP) para resolver tareas visuales. A diferencia de una Red Neuronal Convolucional (CNN) tradicional, que procesa imágenes mediante una jerarquía de cuadrículas de píxeles locales, un ViT trata una imagen como una secuencia de parches discretos. Este enfoque fue popularizado por el innovador artículo de investigación "An Image is Worth 16x16 Words", que demostró que las arquitecturas Transformer puras podían alcanzar un rendimiento de vanguardia en visión artificial (CV) sin depender de capas de convolución. Al aprovechar la atención global, los ViTs pueden capturar dependencias de largo alcance en toda la imagen desde la primera capa.
Link to this sectionCómo funcionan los Vision Transformers#
La innovación fundamental del ViT es la forma en que estructura los datos de entrada. Para hacer que una imagen sea compatible con un Transformer estándar, el modelo descompone la información visual en una secuencia de vectores, imitando cómo un modelo de lenguaje procesa una oración de palabras.
-
Tokenización de parches: La imagen de entrada se divide en una cuadrícula de cuadrados de tamaño fijo, normalmente de 16x16 píxeles. Cada cuadrado se aplana en un vector, convirtiéndose efectivamente en un token visual.
-
Proyección lineal: Estos parches aplanados se pasan a través de una capa lineal entrenable para crear embeddings densos. Este paso mapea los valores de píxeles sin procesar a un espacio de alta dimensión que el modelo puede procesar.
-
Codificación posicional: Dado que la arquitectura procesa secuencias en paralelo y carece de una comprensión inherente del orden o el espacio, se añaden codificaciones posicionales entrenables a los embeddings de los parches. Esto permite al modelo retener información espacial sobre dónde pertenece cada parche en la imagen original.
-
Mecanismo de autoatención: La secuencia entra en el codificador Transformer, donde la autoatención permite que cada parche interactúe con todos los demás simultáneamente. Esto permite a la red aprender el contexto global, entendiendo cómo un píxel en la esquina superior izquierda se relaciona con uno en la inferior derecha.
-
Cabezal de clasificación: Para tareas como la clasificación de imágenes, a menudo se añade un "token de clase" especial al principio de la secuencia. El estado de salida final de este token sirve como la representación agregada de la imagen, que luego se introduce en un clasificador, como un perceptrón multicapa (MLP).
Link to this sectionVision Transformers vs. CNNs#
Aunque ambas arquitecturas buscan comprender datos visuales, difieren significativamente en su filosofía operativa. Las CNN poseen un fuerte "sesgo inductivo" conocido como invariancia a la traslación, lo que significa que asumen inherentemente que las características locales (como bordes y texturas) son importantes independientemente de su posición. Esto hace que las CNN sean altamente eficientes en el uso de datos y efectivas en datasets más pequeños.
Conversely, Vision Transformers have less image-specific bias. They must learn spatial relationships from scratch using massive amounts of training data, such as the JFT-300M or full ImageNet datasets. While this makes training more computationally intensive, it allows ViTs to scale remarkably well; with sufficient data and compute power, they can outperform CNNs by capturing complex global structures that local convolutions might miss.
Link to this sectionAplicaciones en el mundo real#
La capacidad de comprender el contexto global hace que los ViTs sean particularmente útiles para entornos complejos y de alto impacto.
- Análisis de imágenes médicas: En IA para el cuidado de la salud, los ViTs se utilizan para analizar escaneos de alta resolución como resonancias magnéticas o portaobjetos de histopatología. Por ejemplo, en la detección de tumores, un ViT puede correlacionar anomalías texturales sutiles en el tejido con cambios estructurales más amplios a lo largo del portaobjetos, identificando patrones malignos que el procesamiento local podría pasar por alto.
- Imágenes satelitales y teledetección: Los ViTs destacan en el análisis de imágenes satelitales, donde las relaciones entre objetos abarcan grandes distancias. Por ejemplo, conectar un sitio de deforestación con una carretera forestal distante requiere entender la "visión general" de un paisaje, una tarea donde la atención global de un ViT supera el campo receptivo limitado de las CNN estándar.
Link to this sectionUtilizando Transformers con Ultralytics#
La biblioteca ultralytics admite arquitecturas basadas en Transformer, más notablemente el RT-DETR (Real-Time Detection Transformer). Aunque el emblemático YOLO26 es a menudo preferido por su equilibrio entre velocidad y precisión en dispositivos de borde, RT-DETR ofrece una alternativa potente para escenarios que priorizan el contexto global.
El siguiente ejemplo de Python demuestra cómo cargar un modelo preentrenado basado en Transformer y realizar inferencia:
from ultralytics import RTDETR
# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")
# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results
results[0].show()Link to this sectionPerspectivas de futuro#
La investigación evoluciona rápidamente para abordar el alto costo computacional de los ViTs. Técnicas como FlashAttention están haciendo que estos modelos sean más rápidos y eficientes en memoria. Además, las arquitecturas híbridas que combinan la eficiencia de las CNN con la atención de los Transformers se están volviendo comunes. Para los equipos que buscan gestionar estos flujos de trabajo avanzados, la Plataforma Ultralytics ofrece un entorno unificado para anotar datos, entrenar modelos complejos a través de la nube y desplegarlos en diversos puntos finales.






