Glosario

Transformador Visión (ViT)

Descubre el poder de los Transformadores de Visión (ViT) en la visión por ordenador. Descubre cómo superan a las CNN captando el contexto global de la imagen.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

Vision Transformer (ViT) marca un avance fundamental en la visión por ordenador (VC), al aplicar la arquitectura Transformer, de gran éxito, diseñada inicialmente para el procesamiento del lenguaje natural (PLN), a tareas basadas en imágenes. A diferencia de las Redes Neuronales Convolucionales (CNN ) tradicionales, que procesan las imágenes utilizando filtros localizados capa por capa, las ViT dividen una imagen en parches de tamaño fijo, los tratan como una secuencia de tokens (similares a las palabras de una frase) y los procesan utilizando el mecanismo de autoatención del Transformer. Esto permite a los ViT captar el contexto global y las dependencias de largo alcance dentro de una imagen de forma más eficaz que muchas arquitecturas CNN, lo que conduce a resultados de vanguardia en diversas pruebas de referencia, especialmente cuando se entrenan en grandes conjuntos de datos como ImageNet.

Cómo funcionan los Transformadores de Visión

La idea central del ViT consiste en remodelar el paradigma del procesamiento de imágenes. Una imagen de entrada se divide primero en una cuadrícula de parches no superpuestos. Cada parche se aplana en un vector y luego se proyecta linealmente en un espacio de incrustación. Para conservar la información espacial, se añaden incrustaciones posicionales a estas incrustaciones de parches. Esta secuencia de vectores, que ahora representan los parches de la imagen con sus posiciones, se introduce en un codificador Transformer estándar, como se detalla en el artículo original "Una imagen vale 16x16 palabras".

El codificador Transformer, compuesto por múltiples capas, se basa en gran medida en el mecanismo de autoatención. Este mecanismo permite al modelo sopesar la importancia de los distintos parches entre sí de forma dinámica, lo que le permite aprender relaciones entre partes distantes de la imagen. Este campo receptivo global contrasta con el campo receptivo típicamente local de las CNN, lo que da a las ViT una ventaja en la comprensión del contexto global de la escena. Recursos como El Transformador Ilustrado ofrecen explicaciones intuitivas de los conceptos subyacentes de los Transformadores. Frameworks como PyTorch y TensorFlow proporcionan implementaciones de estos componentes.

Relevancia y aplicaciones

Los Transformadores de Visión han adquirido una gran relevancia en el aprendizaje profundo moderno debido a su escalabilidad y a su impresionante rendimiento, especialmente con preentrenamiento a gran escala. Su capacidad para modelar el contexto global los hace adecuados para una amplia gama de tareas de CV más allá de la clasificación básica de imágenes, incluyendo:

  • Detección de objetos: Modelos como RT-DETRque a menudo utilizan componentes transformadores, consiguen una gran precisión en la localización de objetos.
  • Segmentación de imágenes: Los ViT pueden adaptarse para tareas de predicción densa, como segmentar diferentes objetos o regiones dentro de una imagen, como se ve en modelos como el Segment Anything Model (SAM).
  • Análisis de imágenes médicas: Las ViT ayudan a detectar patrones sutiles indicativos de enfermedades en exploraciones como radiografías o resonancias magnéticas, mejorando potencialmente la precisión diagnóstica en la IA en Sanidad. Por ejemplo, pueden identificar formas o distribuciones tumorales complejas que podrían suponer un reto para los modelos de enfoque local.
  • Vehículos autónomos: Comprender toda la escena del tráfico, incluidos los vehículos distantes, los peatones y las señales de tráfico, es crucial para una navegación segura. El modelado de contexto global de ViTs ayuda a la comprensión integral de la escena para aplicaciones de IA en Automoción.

Los ViT están cada vez más integrados en plataformas como Ultralytics HUB y bibliotecas como Hugging Face Transformers, lo que los hace accesibles para la investigación y el despliegue. También pueden optimizarse para el despliegue de Edge AI en dispositivos como NVIDIA Jetson.

ViT Vs. CNNs

Aunque tanto los ViT como las CNN son arquitecturas fundacionales de la visión por ordenador (véase Historia de los modelos de visión), difieren significativamente en su enfoque:

  • Procesamiento: Las CNN utilizan operaciones de convolución con núcleos deslizantes, centrándose en los patrones locales y construyendo características jerárquicas. Los ViT utilizan la autoatención a través de parches de imagen, centrándose en las relaciones globales desde el principio.
  • Sesgo inductivo: las CNN tienen fuertes sesgos inductivos incorporados (como la localidad y la equivocidad de traslación) adecuados para las imágenes, lo que a menudo las hace más eficientes en cuanto a datos en conjuntos de datos más pequeños. Los ViT tienen sesgos inductivos más débiles y suelen requerir conjuntos de datos más grandes (o estrategias sofisticadas de preentrenamiento como las utilizadas por CLIP) para generalizar bien.
  • Arquitectura: Las CNN constan de capas convolucionales, capas de agrupación y capas totalmente conectadas. Las ViT adoptan la estructura estándar del codificador Transformer. Los modelos híbridos, que combinan capas convolucionales con cabezas/cuello Transformer (por ejemplo, las variantesRT-DETR ), pretenden aprovechar los puntos fuertes de ambas.

La elección entre ViT y CNN suele depender de la tarea específica, los datos disponibles y los recursos informáticos. Los ViT suelen sobresalir cuando se dispone de grandes cantidades de datos de entrenamiento, mientras que las CNN como las de Ultralytics YOLO siguen siendo muy eficaces y eficientes, sobre todo para la detección de objetos en tiempo real en dispositivos con limitaciones.

Leer todo