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

Un Transformador de Visión (ViT) es un tipo de arquitectura de red neuronal adaptada de los modelos Transformer diseñados originalmente para el Procesamiento del Lenguaje Natural (PLN). Presentados por los investigadores Google en el artículo "An Image is Worth 16x16 Words", los ViT aplican el mecanismo de autoatención de Transformer directamente a secuencias de parches de imágenes, tratando el procesamiento de imágenes como una tarea de modelado de secuencias. Este enfoque supuso un cambio significativo respecto al predominio de las Redes Neuronales Convolucionales (RNC ) en la visión por ordenador (VC).

Cómo funcionan los Transformadores de Visión

En lugar de procesar las imágenes píxel a píxel utilizando filtros convolucionales, un ViT divide primero una imagen de entrada en parches de tamaño fijo, no solapados. A continuación, estos parches se aplanan en vectores, se incrustan linealmente y se aumentan con incrustaciones posicionales para conservar la información espacial (de forma similar a como se codifican las posiciones de las palabras en la PNL). A continuación, esta secuencia de vectores se introduce en un codificador Transformer estándar, que utiliza capas de autoatención multicabezal para ponderar la importancia de los distintos parches entre sí. El resultado final del codificador Transformer se suele pasar a un cabezal de clasificación simple (como un Perceptrón Multicapa) para tareas como la clasificación de imágenes. Esta arquitectura permite a los ViT modelar eficazmente las dependencias de largo alcance y el contexto global dentro de una imagen.

Relevancia y aplicaciones

Los Transformadores de Visión han adquirido gran relevancia en el aprendizaje profundo moderno debido a su escalabilidad y a su impresionante rendimiento, especialmente con preentrenamiento a gran escala en conjuntos de datos como ImageNet o conjuntos de datos propios aún mayores. 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, incluyendo:

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 mediante marcos como PyTorch y TensorFlow. También pueden optimizarse para el despliegue de Edge AI en dispositivos como NVIDIA Jetson o la TPU Edge de Google utilizando herramientas como TensorRT.

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:

  • Sesgo inductivo: las CNN poseen fuertes sesgos inductivos hacia la localidad y la equivocidad de traslación a través de sus capas de convolución y agrupación. Los ViT tienen sesgos inductivos más débiles, ya que se basan más en el aprendizaje de patrones a partir de los datos, en particular las relaciones entre partes distantes de una imagen a través de la autoatención.
  • Dependencia de los datos: Los ViT suelen necesitar grandes cantidades de datos de entrenamiento (o un amplio preentrenamiento) para superar a las CNN de última generación. Con conjuntos de datos más pequeños, las CNN suelen generalizar mejor debido a sus sesgos incorporados.
  • Coste computacional: El entrenamiento de los ViT puede ser intensivo desde el punto de vista computacional, y a menudo requiere importantes recursos de GPU . Sin embargo, la velocidad de inferencia puede ser competitiva, especialmente para los modelos más grandes. Los modelosRT-DETR , por ejemplo, ofrecen rendimiento en tiempo real, pero pueden tener mayores necesidades de recursos que los modelos YOLO comparables basados en CNN.
  • Contexto global frente a local: Las CNN construyen características jerárquicas a partir de patrones locales. Los ViT pueden modelar interacciones globales entre parches desde las capas más tempranas, captando potencialmente un contexto más amplio de forma más eficaz para determinadas tareas.

La elección entre ViT y CNN suele depender de la tarea específica, los conjuntos de datos disponibles y los recursos informáticos. Los ViT suelen sobresalir cuando se dispone de grandes cantidades de datos de entrenamiento y el contexto global es primordial. Las CNN, como las que se utilizan como columna vertebral en el programa Ultralytics YOLO de Ultralytics (por ejemplo YOLOv8, YOLOv10YOLO11), siguen siendo muy eficaces y eficientes, sobre todo para la detección de objetos en tiempo real en dispositivos con limitaciones. Las arquitecturas híbridas que combinan características convolucionales con capas transformadoras (como en RT-DETR) también representan una dirección prometedora, intentando aprovechar los puntos fuertes de ambos enfoques. El ajuste fino de los modelos preentrenados, ya estén basados en ViT o en CNN, es una práctica habitual que utiliza técnicas como el aprendizaje por transferencia.

Leer todo