Vision Transformer (ViT)
Descubra el poder de los Vision Transformers (ViTs) en la visión artificial. Aprenda cómo superan a las CNN al capturar el contexto global de la imagen.
Un Vision Transformer (ViT) es un tipo de arquitectura de red neuronal que aplica el exitoso modelo Transformer, diseñado originalmente para el procesamiento del lenguaje natural (PNL), a tareas de visión artificial (CV). Introducidos por investigadores de Google en el artículo "An Image is Worth 16x16 Words", los ViT representan una desviación significativa de las arquitecturas dominantes de Redes Neuronales Convolucionales (CNN). En lugar de procesar imágenes con filtros deslizantes, un ViT trata una imagen como una secuencia de parches, lo que le permite capturar las relaciones globales entre diferentes partes de una imagen utilizando el mecanismo de autoatención.
¿Cómo funcionan los Vision Transformers?
La idea central detrás de una ViT es procesar una imagen de una manera que imite cómo los Transformers procesan el texto. El proceso implica algunos pasos clave:
- Parcheado de Imágenes: La imagen de entrada se divide primero en una cuadrícula de parches de tamaño fijo que no se superponen. Por ejemplo, una imagen de 224x224 píxeles podría dividirse en 196 parches, cada uno de 16x16 píxeles.
- Incrustación de Parches (Patch Embedding): Cada parche se aplana en un solo vector. Estos vectores se proyectan entonces en un espacio de menor dimensión para crear "incrustaciones de parches". Se añade una "incrustación posicional" aprendible a cada incrustación de parche para conservar la información espacial.
- Codificador Transformer: Esta secuencia de embeddings se introduce en un codificador Transformer estándar. A través de sus capas de autoatención, el modelo aprende las relaciones entre todos los pares de parches, lo que le permite capturar el contexto global en toda la imagen desde la primera capa.
- Cabezal de clasificación: Para tareas como la clasificación de imágenes, se añade una incrustación aprendible adicional (similar al token [CLS] en BERT) a la secuencia. La salida correspondiente del Transformer se pasa a una capa de clasificación final para producir la predicción.
ViT Vs. CNNs
Si bien tanto las ViTs como las CNNs son arquitecturas fundamentales en la visión artificial, difieren significativamente en su enfoque:
- Sesgo Inductivo: Las CNN poseen fuertes sesgos inductivos (suposiciones sobre los datos) como la localidad y la equivariancia de traslación a través de sus capas de convolución y pooling. Las ViT tienen sesgos inductivos mucho más débiles, lo que las hace más flexibles, pero también más dependientes del aprendizaje de patrones directamente de los datos.
- Dependencia de los datos: Debido a sus sesgos más débiles, las ViTs generalmente requieren conjuntos de datos masivos (por ejemplo, ImageNet-21k) o un pre-entrenamiento extenso para superar a las CNNs de última generación. Con conjuntos de datos más pequeños, las CNNs a menudo generalizan mejor. Esta es la razón por la que el aprendizaje por transferencia es fundamental para las ViTs.
- Contexto Global vs. Local: Las CNN construyen características jerárquicas a partir de patrones locales a globales. En contraste, los ViT pueden modelar interacciones globales entre parches desde las primeras capas, capturando potencialmente un contexto más amplio de manera más efectiva para ciertas tareas.
- Coste computacional: El entrenamiento de ViTs puede ser computacionalmente intensivo, requiriendo a menudo recursos significativos de GPU. Frameworks como PyTorch y TensorFlow proporcionan implementaciones para el entrenamiento de estos modelos.
Aplicaciones y modelos híbridos
Las ViTs han mostrado un rendimiento excepcional en diversas aplicaciones, especialmente donde la comprensión del contexto global es clave.
- Análisis de imágenes médicas: Los ViT son muy eficaces para analizar exploraciones médicas como resonancias magnéticas (RM) o imágenes de histopatología. Por ejemplo, en la detección de tumores, un ViT puede identificar relaciones entre tejidos distantes, lo que ayuda a clasificar los tumores con mayor precisión que los modelos que se centran solo en texturas locales.
- Conducción Autónoma: En los coches autónomos, las ViT pueden analizar escenas complejas para la detección de objetos y la segmentación. Al procesar toda la escena de forma global, pueden comprender mejor las interacciones entre vehículos, peatones e infraestructura, tal y como se detalla en múltiples estudios de IA automotriz.
El éxito de las ViTs también ha inspirado arquitecturas híbridas. Modelos como RT-DETR combinan un backbone CNN para una extracción de características eficiente con un codificador-decodificador basado en Transformer para modelar las relaciones de los objetos. Este enfoque tiene como objetivo obtener lo mejor de ambos mundos: la eficiencia de las CNN y la conciencia del contexto global de los Transformers.
Para muchas aplicaciones en tiempo real, especialmente en dispositivos edge con recursos limitados, los modelos basados en CNN altamente optimizados como la familia Ultralytics YOLO (por ejemplo, YOLOv8 y YOLO11) a menudo proporcionan un mejor equilibrio entre velocidad y precisión. Puede consultar una comparación detallada entre RT-DETR y YOLO11 para comprender las ventajas y desventajas. La elección entre una ViT y una CNN depende en última instancia de la tarea específica, los datos disponibles y el presupuesto computacional.